![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Zastanawiam sie, jak zaprojektowac baze danych.
Mam tabele produkty id nazwa firmy id nazwa firmy_produkty id id_firmy id_produktu 1 rekord w tabeli firmy_produkty to 1 produkt wyprodukowany przez dana firme. Zakladajac, ze firm jest bardzo duzo i produktow tez, a firmy sie szybko rozwijaja i produkuja duze ilosci produktow liczba 100 000 000 000 szybko zostanie osiagnieta. Czy ta struktura jest dobra? Moze jest jakas lepsza do przechowywania tego typu danych? Samo zliczanie produktow poszczegolnych firm bedzie trwalo dosc dlugo. Z gory dziekuje za pomoc (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przekombinowales. Skoro produkt jest produkowany przez jedną firmę to dwie tabele w zupelnosci wystarcza
firmy id nazwa produkty id nazwa id_firmy |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
firmy, czyli duzo (IMG:style_emoticons/default/tongue.gif) duzo firm i duzo roznych produktow, kazda firma moze produkowac kazdy produkt
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
100 miliardów produktów.... czy ty piszesz aplikacje dla Stanów zjednoczonych? No nie sądzę (IMG:style_emoticons/default/smile.gif)
100 miliardów produktów.... czy u ciebie produkt to pojedyncza zapałka? Czy może ogólnie produkt zapałka i już. Jak ktoś wyprodukuje milion zapałek to u Ciebie w bazie pojawi się milion rekordów zapałek, czy może jednak jeden produkt zapałka? Jesli pojawi ci się milion rekordów zapałek - źle zaplanowałes baze. Jesli pojawi ci się jeden produkt zapałka - jakim cudem chcesz osiągnąc 100 miliardów produktow (IMG:style_emoticons/default/smile.gif)
Powód edycji: [nospor]:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
produkt to na przyklad paczka ciastek
10000 firm produkujacych dziennie 1000 paczek akzda to sie szybko uzbiera, dlatego pytam czy dobrze to zrobilem. Nie zrobie tak: firmy_prodykty id_firmy ciastka (int) batoniki(int) bo typow produktow moga byc setki, chipsy, czekolady itp |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Czy kilka firm produkuje tę jedną paczke ciastek? No raczej nie.
2) po co ci kazdy oddzielny rekord na kazda paczke ciastek? Sledzisz losy kazdej pojedynczej paczki ciastek? tabela firma id nazwa tabela produkt id nazwa id_firma ilosc |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
2 rozne firmy moga produkowac ten sam produkt, np. batonik. Batoniki moze produkowac dowolna ilosc firm, jednak dalej chodzi o batonik, ktorego cena sprzedazy wynosi 1,5zl
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Nie, dwie firmy nie mogą produkować tego samego batonika. To będą 2 różne batony. A poza tym jak mówi nospor, po co ci każdy egzemplarz produktu w bazie? Chcesz ich ilość? Dodaj takie pole do tabeli.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tak na początek. Tabele łączące relacje wiele-do-wielu (czyli firmy_produkty z Twojego przykładu) nie wymagają kolumny id. id_a, id_b w zupełności wystarcza. To tak swoją drogą.
Co do tych produktów. Jeżeli firma A, B, C i D produkują batoniki (nawet dokładnie takie same) powinny Ci się pojawić 4 nowe rekordy w tabeli produktów, bo z logicznego punktu widzenia są to 4 różne produkty. Natomiast fakt, że firma A wyprodukowała 1000, B 10000 a C i D po 500 batoników powinieneś uwzględnić zmieniając jedynie wartość "ilość" przy każdym produkcie. Bo to już jest ten sam produkt. To jest standardowy model, ale może on w zależności od Twoich potrzeb wyglądać inaczej. Baza może wymagać zmiany struktury jeżeli przykładowo będziesz miał różną ilość tego samego produktu w różnych terminach albo będziesz śledzić losy pojedynczego produktu (o czym wspomniał nospor). Jeżeli masz jakieś niestandardowe wymagania, to podaj je najpierw. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 12:45 |