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: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
Odnośnie języka to najlepiej w oddzielnych katalogach pl, en itd. Najłatwiej się później tym operuje, bo po prostu dostawiasz do ścieżki $lang.
Sprawa wydajności listowania katalogów z tysiącami plików. Na pewno będzie szybciej jeśli tych plików będzie mniej. Ale też, jeśli będzie bardzo dużo katalogów to się w rezultacie sprowadzi do tego samego - listowania dużej ilości, z tym, że katalogów. Opcja 1. Katalog na każdy produkt, a w nim wszystko wrzucone jak leci (oznaczenie języka przez postfiks: opis_pl.pdf) Opcja 2. Katalogi językowe /pl /en, a w nich katalogi na produkty, dalej jw Opcja 3. Katalogi językowe jw, w nich katalogi na poszczególne rodzaje danych (pliki pdf, pliki doc, zjecia etc) Każda z tych opcji powoduje, że na którymś etapie będzie albo dużo plików w katalogu, albo dużo katalogów. No i tak dochodzimy do pomysłu (IMHO) najbardziej optymalnego. Podział katalogów w jakiś bardziej ogólny sposób (wg daty dodania, liter alfabetu) tak, aby dało się to podzielić na niezbyt duże (pod względem zawartości elementów) grupy. Wybór zależy od kilku czynników: - produkty dodawane stale, coraz nowsze - produkty dodane raz, na początku, następnie tylko kosmetyczne zmiany, lub niewielka ilość nowych - produkty, których nazwy są różnorodne, dają w miarę równomierny rozkład alfabetyczny Analizując powyższe łatwiej jest się zdecydować na formę przechowywania. I tu, jako, że już i tak sporo napisałem, pozwolę sobie na własną opinię: 1. Nazwy różnorodne - wtedy podział na litery alfabetu czyli: Kod -/pl -- /a --- asus_adfadadfasadf.jpg --- ati_adfasdfasdasf.jpg -- /b --- benq_adfadads.jpg 2. Nazwy jakkolwiek, dużo na literę A, prawie brak na R - katalogowanie na podstawie daty dodania Kod -/pl --/2008 ---/12 ---- asus_adfadadfasadf.jpg ---- benq_adfadads.jpg --/2009 ---/01 ---- benq_aasfawrwerwdfadads.jpg ---- ati_aasfawrwerwdfadads.jpg ---/02 ---- benq_aasfawrwerwdfadads.jpg ---- ati_aasfawrwerwdfadads.jpg Każdy produkt kiedyś tam został dodany. Dobrze mieć datę dodania w bazie, i na jej podstawie określamy położenie plików: /pl/2009/01/img/md5_z_nazwyproduktu.jpg BTW. Dodatkowo można zastosować podział na rodzaj pliku (pdf, doc, img etc). Dzięki temu nie będziemy mieli w jednym katalogu np 2k plików, ani nie będziemy mieli 2k katalogów. Podział będzie logiczny, tak, że nawet nie znając algorytmu można będzie z palca coś odnaleźć. Pozdrawiam (IMG:style_emoticons/default/smile.gif) Ten post edytował vokiel 15.09.2009, 18:08:09 |
|
|
|
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
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 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 09:12 |