phpbar.de logo

Mailinglisten-Archive

Datenbanklayout

Datenbanklayout

mysql_(at)_lists.phpcenter.de mysql_(at)_lists.phpcenter.de
Mon, 30 Jul 2001 14:10:33 +0200 (MEST)


> Moin allerseits,
> 
> ich grübel hier grad über dem Entwurf für eine Datenbank und brauch
> mal den ein oder anderen Tritt in die richtige Richtung:
> Es geht um eine Adressdatenbank, die regional aufgeteilt werden soll.
> Ich habe z.B. folgende Kategorien: Land - Bundesland - Region - Ort -
> Adresse. Nun soll es zum einen möglich sein, sich durch die Kategorien
> zu hangeln; zum anderen soll durch eine Suchfunktion direkt auf die
> einzelnen Adresse zugegriffen werden können. In jedem Fall soll aber
> auch wieder der Weg zurück möglich sein. Wenn ich also z.B. nach Fritz
> Meyer in Pusemuckel suche und die Adresse angezeigt bekomme, sollen
> die Kategorien oben drüber angezeigt werde. Also z.B. Deutschland -
> Bayern - xyz - Pusemuckel. Diese sollen dann auch wieder als Links zu
> den jeweiligen Kategorien führen.
> Mein Ansatz war es nun jeweils eine Tabelle für Länder, Bundesländer,
> Regionen,...,Adresse anzulegen. Jeder Datensatz bekommt in der Tabelle
> eine ID und einen Verweis auf die ID der übergeordneten Kategorie in
> der übergeordneten Tabelle.
> Ich frag mich jetzt allerdings:
> a) ist die Frage überhaupt verständlich? ;-)
> b) ist der Ansatz eingermaßen brauchbar?
> c) gibt es einen schlaueren?

a) Ich hab sie jedenfalls verstanden :-)
b & c) Ist vielleicht etwas komplizierter als notwendig - Land, Bundesland,
Region haben bei dir sehr wahrscheinlich alle kaum weitere Eigenschaften, die
sich voneinander unterscheiden, könnte man in einer Tabelle verwalten, wobei
die Einträge rekursiv zueinander sind...
Dein Ansatz ist gut, um mit einem (mehr oder minder komplexen) Join alles
einzulesen, aber du müßtest später, wenn du dein Design mal ändern müßtest
(evtl um Kontinente aufzuführen (oder Planeten, Sonnensysteme - wer weiß wie
lange dein Programm läuft)) auch deine Programme ändern.
Hast du alles in einer Tabelle und liest dich dann rekursiv vom aktuellen
Eintrag zur Wurzel durch, kannst du später eine neue Oberwurzel einfügen (etwa
"Europa, Kontinent") und die bisherigen Wurzeln Deutschland, Frankreich usw.
würden auf Europa verlinkt. Dein Programm könnte das ohne weiteres
verkraften...

ciao!
Kai


-- 
GMXler aufgepasst - jetzt viele 1&1 New WebHosting Pakete ohne
Einrichtungsgebuehr + 1 Monat Grundgebuehrbefreiung!
http://puretec.de/index.html?ac=OM.PU.PU003K00717T0492a

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive