![]() |
![]() |
![]()
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: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat 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)? Sam sobie odpowiedziałeś na pytanie. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
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 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
radabus - widać że masz problem z zrozumieniem relacji, jeżeli produkt może należeć tylko do jednego kontenera to mamy relację jeden do jeden, jest to najprostsza relacja jaką świat widział. Także sytuacja Ci się upraszcza. Tworzysz jedną tabelę z listą kontenerów, każdy z kontenerów ma na pewno unikatowy identyfikator w życiu, oprócz tego może mieć i równie dobrze w bazie. Także jak to sobie zaimplementujesz Twoja brocha. Druga tabela będzie tabelą produktów, każdy produkt musi mieć identyfikator kontenera by wiedzieć, który gdzie przynależy. No i nie zapomnij o bazie kontenerowców
![]() Pozdrawiam. -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 2 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, zaczynam już kojarzyć co i jak. Muszę też się doszkolić w podstawach relacyjnych baz danych, bo widać mam spore braki
![]() Przy okazji - jakby ktoś był w stanie polecić porządny manual (w sensie: trochę łopatologiczny), byłoby miło. Na razie jadę z książką w ręku. Ten post edytował radabus 25.02.2011, 10:04:59 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Jest takowa, nazywa się tworzenie baz i ciągła nauka na swoich lub cudzych błędach, polecam jeszcze blog: www.depesz.com.
Pozdrawiam. -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 05:39 |