Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zarządzanie zdjęciami w bazie - kilka pytań
nowy_pehapowiec
post
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

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Ad. 1.
  1. DROP TABLE IF EXISTS `PRODUCT_CATEGORY`;
  2. CREATE TABLE `PRODUCT_CATEGORY` (
  3. `PRODUCT_ID` int(11) NOT NULL,
  4. `CATEGORY_ID` int(11) NOT NULL,
  5. PRIMARY KEY (PRODUCT_ID, CATEGORY_ID)
  6. ) type = MyISAM
  7. CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT CHARSET=utf8;


Ad. 2. Tak, rozdzielam. Dla mnie kategoria to kategoria, a produkt to produkt. Ale Ty nie musisz, jeśli Tobie jest wygodniej tak jak masz, łatwiej na tym pracować, mniej komplikacji to na prawdę zostań przy swojej wersji, po co masz się męczyć z czymś co Ci nie leży.

Nie trzeba robić tabeli product_category, można kategorie wypisać po przecinku w tabeli PRODUCT.

Ad. 3. Czyli tu chodzi o opisy produktu, a nie o strukturę tabel samej bazy

Ad. 4. Ważne, żebyś miał stały, konkretny system, którego się będziesz trzymał. Ten sam język, ustalona wielkość liter, używanie podkreślników, myślników etc. Później jak ktoś do tego będzie musiał się dobrać, albo nawet Ty sam, żeby nie trzeba było się zastanawiać pół dnia jak to jest zorganizowane.

Ad. 5. PRODUCT (PRODUCT_ID, NAME, TYPE)
Ja nie lubię takiego zapisu, bo gdy wyciągasz id z tabeli product to musisz pisać: PRODUCT.PRODUCT_ID - co jest wg mnie masłem maślanym (IMG:style_emoticons/default/winksmiley.jpg) PRODUCT.ID jest bardziej zwięzłe a i tak zachowuje swoje znaczenie i wiadomo co z czego.

Cytat
A z tym
tabela_kolumna, czy kolumna_tabela to zawszę się mylę i nigdy nie wiem czy mam PRODUCT_CATEGORY czy CATEGORY_PRODUCT.
Ustal sobie raz konkretnie z którego sposobu korzystasz i się tego trzymaj wszędzie, z czasem się przestaniesz zastanawiać.

Ad. edit
Tak jak pisałem wyżej, jeśli wolisz swoje rozwiązanie to zostań przy nim, na prawdę, nie ma sensu zmieniać rozwiązania, które się sprawdza, które dobrze rozumiesz, znasz na pamięć.

Nie wiem, czy wszystkie pozwalają, nie sprawdzałem we wszystkich, nawet nie potrafię wszystkich wymienić. Ja osobiście używam zestawów [a-zA-z_] i nigdy nie miałem z tym problemów (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował vokiel 21.09.2009, 07:44:44
Go to the top of the page
+Quote Post

Posty w temacie
- 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
- - nowy_pehapowiec   No się rozkręciłem 1 Właśnie nie wiem jak założy...   20.09.2009, 18:20:21
- - 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


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 22:36