Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 2 Dołączył: 17.08.2009 Ostrzeżenie: (0%)
|
Niby case jest banalny, ale mi sprawia sporo problemów. Baza ma obsługiwać kontenerowiec wraz z zawartością - liczba kontenerów jest zmienna (może się zdarzyć, że ktoś doda lub zabierze jakąś ilość kontenerów), każdy kontener może mieć zmienną zawartość (też może przyjść klient i kupić coś lub dołożyć do kontenera jakiś przedmiot), a oprócz tego niezależny opis (również "edytowalny").
Na początku myślałem, żeby stworzyć 2 tabele, jedna z listą kontenerów i ich opisami, druga z ich zawartością, ale to nie bardzo wychodzi (przecież zmienna by była zarówno ilość kolumn jak i wierszy). Może ktoś podpowiedzieć, jak dobrze zaprojektować taką bazę danych? Czy może zrobić tak, że jedna tabela będzie zbierała listę wszystkich kontenerów (id, opis), a dla każdego kontenera będzie tworzona oddzielna tabela wraz z zawartością (dodawanie i odejmowanie wierszy przy stałej liczbie kolumn)? Ja się trochę w tym wszystkim gubię, wdzięczny byłbym za pomoc. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 2 Dołączył: 17.08.2009 Ostrzeżenie: (0%)
|
Ale jak je poprawnie powiązać? Tabele dla każdego kontenera mają się nazywać tak, jak ich identyfikatory w tabeli zbiorczej? Właśnie tu się zacinam, jak to zrobić, żeby potem w prosty sposób móc wyciągnąć zawartość żądanego kontenera wraz z opisem.
Jeszcze tak siedząc po nocy, zacząłem się zastanawiać nad innym rozwiązaniem. Stworzyć 2 tabele: pierwsza będzie zawierać spis wszystkich kontenerów (kolumny: id_kontenera, opis_kontenera), druga będzie "wielką" tabelą przedmiotów z kluczem obcym odwołującym się do konkretnego kontenera (kolumny: id_przedmiotu, nazwa_przedmiotu, id_kontenera) - w końcu dany przedmiot może znajdować się tylko w jednym kontenerze. Które rozwiązanie jest lepsze - to z 2 tabelami, czy z jedną tabelą zbiorczą i osobnymi tabelami dla każdego kontenera? Ten post edytował radabus 25.02.2011, 03:28:31 |
|
|
|
radabus Jak dobrze zaprojektować bazę danych? 24.02.2011, 23:50:04
erix Cytatzbierała listę wszystkich kontenerów (id, opi... 24.02.2011, 23:55:15
cojack radabus - widać że masz problem z zrozumieniem rel... 25.02.2011, 09:53:36
radabus Dzięki, zaczynam już kojarzyć co i jak. Muszę też ... 25.02.2011, 10:02:19
cojack Jest takowa, nazywa się tworzenie baz i ciągła nau... 25.02.2011, 10:39:55 ![]() ![]() |
|
Aktualny czas: 1.01.2026 - 02:21 |