![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 25.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem jak wymyślić strukturę bazy danych.
Moim założeniem jest stworzenie systemu opisów produktów w sposób elastyczny. Założenia: * Stworzenie formatki opisów tzn np inaczej będzie wyglądała formatka dla dezodorantów a inaczej dla szamponów. Chodzi i inne nazwy tytułów pól produktów. Po stworzeniu takiej formatki nie będę musiał za każdym razem dodawać tytułów pól od nowa. Tylko już przy dodawaniu opisu wybieram formatkę i uzupełniam dane produktu. * Formatka z nazwami pól do opisów ma mieć te pola stworzone w grupach, tzn. jeśli mam już jakąś grupę to w jednej z nich mam kilka nazw z pól opisów do których każdy jeden odpowiada jednej zmiennej w opisie produktu. Ma to działaś tak, że w każdej chwili mogę dodać nową grupę w której mogę dodać ww. I bez kolizji i ingerencji w bazie robić wszystko z panelu. * nieskończona ilość grup, nazw pól grup i przypisanych do nich zmiennych produktów (i każdy produkt będzie miał inną ilość danych - jeden będzie 50 zmiennych w 8 grupach a inny tylko 2 zmienne w jednej grupie) Ja myślałem nad czymś takim: 1. Tworzymy po jednej tabeli z kategoriami, grupami, nazwami pól, nazwami produktów i zmiennymi produktów 2. Najpierw tworzę kategorię 3. Następnie tworzę Grupy produktowe w danej kategorii 4. Następnie mogę tworzyć nazwy pól do opisów przypisując je do konkretnej grupy 5. Następnie dodaję nazwę produktu i jego nr katalogowy 5. Następne dodaję zmienne produktu wybierając kategorię i w formularzu ma mi się wyświetlić np. jeden akapit w nazwą grupy i pod nią przypisane do niej nazwy pól i w każdym kolejnym akapicie to samo by się powielało. Teraz jakś stworzyć strukturę bazy aby móc łatwo dodać "W KAŻDYM MOMENCIE" nową grupę, produkt lub zmienną bez kolizji z wcześniejszymi danymi i aby w końcowym wyświetleniu produktu te dany były posortowane w grupach coś na wzór. Kod [u][b]kategoria produktu Nazwa produktu: Opis produktu:[/b][/u] Grupa 1 Nazwa pola produktu 1 zmienna produktu 1 zmienna produktu 5 Nazwa pola produktu 4 zmienna produktu 8 zmienna produktu 55 Grupa 15 Nazwa pola produktu 157 zmienna produktu 65 zmienna produktu 78 Nazwa pola produktu 527 zmienna produktu 36 zmienna produktu 2 Robię to czysto amatorsko bo jestem samoukiem więc proszę o podejście jak do amatora ![]() Odswiezam temat, nikt nie ma pomysłu dobrego? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 340 Pomógł: 46 Dołączył: 31.07.2009 Skąd: A Ostrzeżenie: (0%) ![]() ![]() |
wrzuć tutaj definicje tabel, to pociągniemy dyskusje, potrafisz to opisać za pomocą MySQL?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 25.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Masz na myśli coś takiego? Wygenerowałem z phpmyadmin
Kod CREATE TABLE IF NOT EXISTS `kategorie` ( `id` int(11) NOT NULL auto_increment, `rodzic_id` int(11) NOT NULL, `nazwa` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=58; reszty jeszcze nie mam jeśli o to chodzi. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 340 Pomógł: 46 Dołączył: 31.07.2009 Skąd: A Ostrzeżenie: (0%) ![]() ![]() |
wygenerowałem to na szybko za pomocą RedBean'a (SQLLite, nie sprawedzalem pod MySQL, ENGINE=InnoDB )
- trzeba poprawić typy kolumn - trochę sieczka wyszła, mało czytelne ![]()
Wprowadziłem jednak pewne modyfikacje, możliwe ze brakuje gdzieniegdzie indeksów Ten post edytował aniolekx 31.10.2014, 09:21:02 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 09:55 |