Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Projekt bazy danych
symonides
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 12.11.2010

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


Cześć,
mam do zaprojektowania bazę danych, która będzie tyczyła się nieruchomości, czyli np. domy, mieszkania, działki. Każdy z tych typów nieruchomości ma jakąś część danych wspólną, np. kraj, województwo, miasto, cenę, itp. Czyli to by była tabela główna o przykładowej nazwie realestates. Co dalej ? Każdy następny typ to kolejna tabela (czyli osobna na dodatkowe informacje o mieszkaniach, domach, czy działek)? Wydaje mi się to troszkę niewygodne, bo gdy dojdzie kolejny typ, np. magazyny to trzeba dodać kolejną tabelę + oczywiście jakieś zmiany w kodzie. Drugi pomysł to prócz tabeli realestates, tabela details, która będzie przechowywać wszystko to co miało być w tych dodatkowych tabelach (np. kolumna media - tylko działki, piwnica - tylko mieszkania, itd. w jednej tabeli).

Dodam, że operacje będą wykonywane na kilku/kilkunastu tysiącach rekordów.

Który pomysł jest waszym zdaniem lepszy? Może macie jakieś propozycje?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bww
post
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 3
Dołączył: 14.02.2012

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


Jedna miejscowość może mieć tylko jeden kod pocztowy, jeden kod pocztowy może być przypisany tylko do jednej miejscowości. Mamy relację 1:1, a więc rezygnujemy z tabeli postcodes i kody wrzucamy do towns.
Z oddzielnej tabeli dotyczącej ulic zrezygnował bym i wrzucił kolumnę adres (ulica i numer lokalu) do tabeli opisującej nieruchomość, ewentualnie można podzielić na ulica, numer domu, numer lokalu. Co prawda warto normalizować, ale osobna tabela dotycząca ulic chyba nie przyniesie korzyści.

countries -> provinces -> towns -> customers

CUSTOMERS
--------------
id_custmomer
id_provinces
name
(...)


Jeżeli chcesz zobaczyć z jakiego jest kraju to robisz JOINA tych kilku tabel

  1. SELECT * FROM customers cu
  2. JOIN towns t ON cu.id_town = t.id_town
  3. JOIN provinces p ON t.id_provinces = p.id_provinces
  4. JOIN countries co ON p.id_countries = co.id_countries


Ten post edytował bww 21.02.2012, 09:16:35
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 02:08