Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Więcej tabel, czy rekordów w pojedyńczej tabeli?
banias
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 10:02