Beste Struktur für eine Tabelle

moondancer

Mitglied
Hallo,

ich bin gerade dabei eine Datenbank zu entwerfen und habe folgendes Problem:
Es sollen die Userdaten gespeichert werden und die User sollen sich für 2-stellige Postleitzahlenbereiche (also von 01 - 99) eintragen können. Später sollen dann die User nach PLZ-Bereichen geordnet angezeigt werden, also der Besucher klickt auf einen PLZ-Bereich und dann werden alle in diesem PLZ-Bereich eingetragenen User angezeigt. Wie speichere ich am besten die PLZ-Bereiche? Ich habe hierzu 2 Ideen:
Die erste wäre eine extra Tabelle anzulegen in der Form:
nr | 01 | 02 | 03 | . . . | 09
aber diese hätte ja dann 100 Spalten!
Meine zweite Idee wäre bei den Userdaten eine Spalte einzufügen die die gewählten PLZ-Bereiche als Feld enthält (in der Form 02; 11; 35)
Was haltet Ihr für die beste Variante, auch im Hinblick auf die spätere Suchfunktion die ja möglichst fix sein soll?

Viele Grüße
Christian
 
hmm,

jeder User bekommt eine ID , dann einen Namen und seine PLZ

also so in dieser Art
Code:
ID | Name | PLZ
1  | la   | 89
2  | du   | 34
3  | ich  | 89
usw.

upps, ich sehe gerade jeder kann meherere Bereiche angeben !? Dann machste am besten 3 Tabellen.
Code:
USERID | NAME
  1    |  la
  2    |  lo

Dann eine für die nummern

 PLZID | PLZ
   1   |  01
   2   |  02

use.

naja und in der dritten kombinierst du den Kram

USERID | PLZID
  1    |   1
  2    |   1
  2    |   2

usw.

so bleibste von redundanten Daten verschont.
 
Zuletzt bearbeitet:
mmh nja gut - ich dachte nur da die PLZ identisch mit den ID's sind... Ist aber so sicher schneller?
Ich speichere zu den Userdaten auch das Bundesland. Ist es dann auch sinnvoll eine Tabelle für die 16 Bundesländer anzulegen und nur die ID zu speichern?

Viele Grüße
Christian
 
Jepp so ist es mach einfach eine zusätzlich Tabelle
mit dem Bundesländern und ornde die ID des Landes
deinem User zu.

Ich habe das nochmal überdacht.
Eigentlich brauchst du keine extra Tabelle mit user _id und
plz_id.
trag einfach die plz_id in deine User-Tabelle mit ein.
ES SEI DENN: jemand hat 2 plz.
Dann musst du es so machen wie geschriebn wurde.
 
hmm,

also wenn die PLZ eindeutig sind dann brauchste keine ID dazu, leider gibtes in MySQL keine Fremschlüssel. Du kannst auch die PLZ als ID verwenden, das ist schon richtig.
 
Naja es ist schon erlaubt dass ein User sich für mehrere PLZ-Gebiete einträgt. Ich wollte eine Tabelle mit der Zuordnung User_ID -> 2-stellige PLZ behalten aber auf die Tabelle ID -> PLZ verzichten...

Grüße
Christian
 
Zurück