Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prosty projekt bazy
DiH
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 34
Dołączył: 7.01.2010

Ostrzeżenie: (0%)
-----


Witam,

Wiem, że to podstawy, ale cóż... Chcę stworzyć bazę, w której będą umieszczane różne puby, restauracje, pizzerie etc. przy czym ma być potem możliwość sortowania ich wg. kategorii (jeden lokal może należeć do kilku kategorii). Chciałbym prosić o radę, jak zaprojektować tabelki. Jak na razie wpadłem na dość trywialny pomysł, aby stworzyć trzy tabele:
Kod
1. tabela kategorie:
2. tabela lokale
3. tabela w formie:
---1. pub lokal1
---2. pub lokal2
---3. restauracja lokal3
etc.

Nie mam jednak pojęcia czy to dobry pomysł i na jakie pola powinienem nałożyć indeksy. Oprócz samego pomysłu jak to zaprojektować, może ktoś byłby tak dobry, by podlinkować do jakiegoś dobrego artykułu na projektowania baz, z przykładami.

Z góry dzięki.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
rafalp
post
Post #2





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Wystarczą dwie:

  1.  
  2. -- racja za szybko mnie poniosło, sorry za zamieszanie
  3.  


Używając złączeń tych tabel będziesz mógł je sortować tak jak Ci się podoba (ORDER BY) lub po prostu stawiając warunek (..)WHERE kategorie_id = [ID lokalu ktory chcesz uzyskac]

pozdrawiam.

Ten post edytował rafalp 2.03.2010, 14:07:04


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@rafal przeczytaj to zdanie:
Cytat
(jeden lokal może należeć do kilku kategorii


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(rafalp @ 2.03.2010, 13:59:39 ) *
Wystarczą dwie

Nie wystarczą.
Cytat(DiH @ 27.02.2010, 01:14:03 ) *
jeden lokal może należeć do kilku kategorii

Konieczne będą 3 tabele:
kategoria: [id, nazwa...]
lokal: [id, nazwa...]
kategoria_lokal: [id_kategoria, id_lokal].
Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Skoro do kilku to 3 tabele.
Tabela 1 -> Lokale, gdzie masz przynajmniej id jako primary key
Tabela 2 -> Kategorie z przynajmniej 2 kolumnami: id jako primary key i nazwą oraz co tam chcesz (meta tagi, meta opisy czy różne cuda wianki potrzebne winksmiley.jpg )
Tabela 3 -> złączeniowa z 2 kolumnami: id_lokalu i id_kategorii. Na obie zakładasz osobno index.

EDIT: Widzę że z kolegą powyżej pisaliśmy razem posta winksmiley.jpg

Ten post edytował thek 2.03.2010, 14:08:02


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(thek @ 2.03.2010, 14:06:31 ) *
Tabela 3 -> złączeniowa z 2 kolumnami: id_lokalu i id_kategorii. Na obie zakładasz osobno index.

Wypadałoby zdefiniować klucz główny na obu tych kolumnach. Wówczas wystarczy założyć indeks na tej drugiej kolumnie (występującej jako druga w PK). Dwa indeksy są zbędne (mamy przecież PK).
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 08:05