![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Od niedawna zajmuję się PHPem i MySQLem.
Mam problem, mianowicie mogę zaprojektować bazę na dwa sposoby. W bazie mam kilka głównych tabel. Jedna z tabel zawiera elementy "A", inna "B". Każdy element "B" nawiązuje (należy) do jakiegoś elementu "A". Zastanawiam się, czy lepiej wszystkie elementy "B" trzymać w jednej tabeli, czy tworzyć osobne tabele dla każdego rekordu "A", które by zawierały te elementy, czyli: TABELA B |pole1 | pole2 | pole3 .... | A | czyli są wszyskie pola + pole A które mówi, do jakiego elementu A należy dany rekord drugi sposób: TABELA B1 |pole1 | pole2 | pole3 .... | TABELA B2 |pole1 | pole2 | pole3 .... | itd. czyli wszystkie pola, bez pola A: zamiast tego id rekordu z A dodaje do nazwy. Takie tabele "B" byłyby (chyba) dwie dla każdego rekordu "A". Oprócz tego inny problem: Rekordy "A" trzymają też pewną listę id i znów dwa sposoby, jak to robić: dodatkowe pole w "A" 'pewne_id' które zawiera: "id1;id2;id3;id4;...;idn" gdzie idx to wartość id, a ; to seperator. drugi sposób: Dla każdego rekordu w "A" nowa tabela: TABELA pewne_id1 której rekordami są id1 id2 id3 itd (jedno pole zawiera) Te listy id też (chyba) są dwie dla każdego rekordu w "A". Mam nadzieję, że dosyć zrozumiale opisałem (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat I powiedzmy mamy jakąś tabelę wyposażenia, każdy rekord ma tam ID. Każda marak (nie typ) może korzystać z jakichś elementów wyposażenia. Kilka marek może z jednego korzystać, więc zapisujemy ID wyposażeń z których może korzystać: TABELA wyposazenie ID| p#2 | p#3 itd 1 | ABS | .... .... W polu "wyposazenie" trzymać te id oddzielone separatorami, czyli jak jakaś marka może mieć ABS to dodajemy to pola "1;" jak element wyposażenia o ID 7 to dodajemy "7;" Czy trzymać w osobnej tabeli, czyli wyposażenie dla Fiata o ID = 3 (ID marki, nie wyposażenia) w: TABELA wypisazenie3 |ID| |1 | |x | itd. Ma byc jedna tabela wiązaca: ID_MARKI | ID_WYPOSAZENIA marka 3 z wyposazeniem 1,4,6 marka 6 z wyposazeniem 4,5 3 | 1 3 | 4 3 | 6 6 | 4 6 | 5 a tego pierwszego chyba nadal nie kumam wiec sie nie bede wypowiadal |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 10:02 |