Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%)
|
Cześć
Jak najlepiej zarządzać zdjęciami w bazie danych? Powiedzmy, że chodzi o sklep, w którym są produkty poukładane w różnych kategoriach. Każdy produkt może mieć zdjęcia (albo ulotki pdf). Oczywiście produkt ma też opis, nazwę. Jak zaprojektować taką bazę w której każdy produkt może mieć różną liczbę zdjęć? Wymyśliłem sobie takie proste rozwiązanie tabela zdjecia PRODUCT_ID | FOTO_NAME i jeśli produkt ma kilka zdjęć to kilka razy pojawi się jego id w tej tabeli ale różne będą nazwy zdjęć. Jest jeszcze sprawa kolejności zdjęć. Jedyne na co wpadłem to dodatkowa kolumna ORDER. Pobierałbym nazwę zdjęć dla danego PRODUCT_ID i sortował według kolumny ORDER. Ale może macie jakiś lepszy pomysł? I na koniec, czy zdjęcia trzymać w folderze danego produktu, czy jakoś inaczej to poukładać? Teraz mam folder BASE/XXXX i każdy produkt ma swój własny folder (taki jak PRODUCT_ID). Tylko, że jeśli produkty mają takie samo zdjęcie to musiałbym je mieć powtórzone w każdym folderze - spory minus. Jak to rozplanować, żeby było lepiej. pozdro |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%)
|
No się rozkręciłem (IMG:style_emoticons/default/smile.gif)
1 Właśnie nie wiem jak założyć klucz główny na dwie kolumny? Przy definicji w obu kolumnach pisze PRIMARY KEY? 2 Czyli rozróżniasz kategorie od produktów? Ja do tej pory tego nie robiłem. Stosowałem drzewiasta strukturę do produktów (produktem też była kategoria). Mówisz, że lepiej zrobić tabelę category( id, name, parent_id ), tabelę product_category( product_id, category_id) i oczywiście tabelę products(id i inne) (IMG:style_emoticons/default/questionmark.gif) Faktycznie jest w tym logika. Trochę mi się skomplikują zapytania, ale chyba tak będzie lepiej (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ? 3 Spokojnie baza jest oparta o SQL. Ale niektóre z produktów mają jakieś tabelaryczne opisy dostarczane w plikach excela. I niestety muszą być na stronie. Stąd moje zmagania z kolumnami w excelu. Dostaje plik xls/csv i szefuńcio chce go widzieć jako tabelkę na stronie. Ale za tydzień przybiega, że może by zamienić kolumny. Albo dodać coś do tej tabeli. Rozumiesz? 4 Ja właśnie się waham, teraz używam polskich (bez ą, ę i innych) nazw i nawet mi pasuje. Ale co jakiś czas myślę czy nie przejść na anglojęzyczne nazwy. 5 PRODUCT (ID, NAME, TYPE) CATEGORY (ID, NAME) PRODUCT_CATEGORY (PRODUCT_ID, CATEGORY_ID) Ja staram się o to aby nazwy kolumn były wszędzie takie same: PRODUCT (PRODUCT_ID, NAME, TYPE) CATEGORY (CATEGORY_ID, NAME) PRODUCT_CATEGORY (PRODUCT_ID, CATEGORY_ID) Ale nie wiem czy to nie przesada, jak uważasz? A z tym tabela_kolumna, czy kolumna_tabela to zawszę się mylę i nigdy nie wiem czy mam PRODUCT_CATEGORY czy CATEGORY_PRODUCT. pozdro edit 2 Po chwili zastanowienia mam poważne wątpliwości co do sensu rozróżniania produktów i kategorii. Oczywiście stworzenie struktury w osobnej tabeli jest dobre i kolumna parent_id powinna być tylko tam a nie w głównej tabeli z produktami. Ale jaki jest sens rozdzielania produktów od kategorii? Widzę natomiast już jedną wadę, przy drzewkach IP albo podobnych strukturach nawigowanie po dwóch tabelach jest trudniejsze. Np chce wypisać wszystkich przodków danego produktu (coś w rodzaju adresu IP) to mając nierozróżnialne produkty i kategorie zrobię to łatwo. A jeśli je rozróżniam, to najpierw muszę pobrać adres IP kategorii i potem dokleić id produktu. Niby niewielka komplikacja ale jednak. Jaki zatem zysk z tego rozdziału? Przecież i tak kolumny będą identyczne w obu tabelach ( name, description ). I będzie trzeba zrobić podobne tabele łącznikowe product-img, category-img, product-pdf, category-pdf. Może ja ślepy jestem ale strasznie się zagęści liczba podobnych tabel. Warto? pozdro btw a znak myślnika jest dozwolony w nazwach tabel/kolumn we wszystkich bazach SQL? |
|
|
|
nowy_pehapowiec zarządzanie zdjęciami w bazie - kilka pytań 14.09.2009, 12:03:33
vokiel Tworzysz tabelę zdjęć:
ID | NAZWA | URL | czy coko... 14.09.2009, 12:22:58
nowy_pehapowiec vokiel no właśnie o czymś takim myślałem.
1 tabel... 15.09.2009, 09:25:33
fly474 Hej
Widzę 2 rozwiązania:
Umieszczenie plików dla ... 15.09.2009, 10:28:11
nowy_pehapowiec Z doklejaniem nazw do plików wolę uważać, żeby nie... 15.09.2009, 15:54:13
vokiel Odnośnie języka to najlepiej w oddzielnych katalog... 15.09.2009, 18:07:08
nowy_pehapowiec vokiel bardzo dziękuję za wyczerpującą odpowiedź. ... 16.09.2009, 09:33:27
vokiel Ad. 1
Najlepiej to sprawdzić, porównać sobie czas ... 16.09.2009, 09:51:14
nowy_pehapowiec vokiel wiem, że jest późno i mogę bredzić ale czy ... 17.09.2009, 23:17:23
vokiel Uciekające kurczaki? Chyba nie, zresztą już nie pa... 18.09.2009, 09:19:59
nowy_pehapowiec o właśnie o uciekających kurczakach myślałem
4 I... 18.09.2009, 12:36:44
vokiel Grillowane udko - z chęcią mam parę browarków pod ... 18.09.2009, 21:03:23
nowy_pehapowiec vokiel jeszcze 3 pytanka mam do ciebie, jeśli możn... 19.09.2009, 16:36:03
vokiel Tylko 3?
1.
Tabela kategorii (id, nazwa, etc)
... 20.09.2009, 11:27:04
nowy_pehapowiec Sorry przepraszam za te pytania ale widzę, że znas... 20.09.2009, 15:05:13
vokiel Widzę, że się rozkręciłeś
Klucz główny zakładasz... 20.09.2009, 15:42:07
vokiel Ad. 1. [SQL] pobierz, plaintext DROP TABLE IF EXIS... 21.09.2009, 07:44:12
thek Ja osobiście staram unikać myślnika z prostej przy... 21.09.2009, 10:58:44
nowy_pehapowiec ad 1 już wiem
ad 2 po namyśle zostaje przy swo... 21.09.2009, 12:23:27
vokiel Ad. ad 3.
Co do opisów produktów dodaj może sobie ... 21.09.2009, 13:21:15
nowy_pehapowiec Ale one chyba nie zapewniają nawet podstawowych fu... 22.09.2009, 20:18:03 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 23:18 |