Normalisierung der Tabellen richtig?

SaFu31

Neuer Benutzer
Beiträge
3
Schönen Abend an alle,

seit einer Woche arbeite ich mich im Selbststudium an eine Datenbank heran. Obwohl ich jetzt viel gelesen und mir viele Lernvideos angeguckt habe bin ich mir nicht ganz sicher ob ich die Tabellen richtig organisiert (Normalisiert habe)

Ich habe eigentlich alles wo Datensätze doppel vorkommen könnte in eine eigne Tabelle geräumt. z.b. PLZ, Telefonnummer, Portnummern Vornamen, Nachnamen usw.

Eventuell kann mir jemand Tipps geben.

Im Anhaang mal ein PDF mit meiner Planung.

Gruß
SaFu
 

Anhänge

  • Datenbank PlanungNormalisierung NF3.pdf
    240,2 KB · Aufrufe: 7
Werbung:
Deine Datentypen sind für den Eimer. Für IP-Adressen z.B. hat PG spezielle Datentypen - da muß man kein TEXT nehmen. Was machst Du, wenn ein Carrier 2 oder mehr eMail-Adressen hat? Oder Handynummern? Oder Festnetznummern? Andererseits, Portnummern so auszugliedern (reden wir von TCP/IP - Ports?) macht auch wenig Sinn IMHO. Länderkennungen sind ein gutes Ding für PK/FK-Einsatz, da muß man nicht unbedingt noch einen extra künstlichen Schlüssel erzeugen - Geschmacksfrage.
 
Hallo, danke erstmal das du es dir angeguckt hast.

Es handelt sich um TCPip Ports habe gedacht ich lege es in eine extra tabelle da mehrere Ports von mehreren Geräten verwendet werden sodass ich keine Redundanzen habe.

Wie legt man das mit der 2ten rufnummer an, benötigt man dafür keine extra tabellen da Telefonnummern sowieso eindeutig sind?

danke schonmal.
 
Die Eindeutigkeit ist ja nicht das Problem - das Problem ist, daß Du nicht wissen kannst, ob Dein Partner 1, 2 oder 47 Telefone besitzt.
 
Das mit den Ports ist so ne Sache, du verbrauchst viel mehr Speicher für eine eigene Tabelle mit Portnummer, ID und einer Zwischentabelle zwischen Ports und Geräten als wenn du die Ports direkt in die Geräte Tabelle packst. Natürlich ist es normalisiert, macht aber mehr Arbeit und hat keine nennenswerten Vorteile. Wenn der Port jetzt noch einen Namen oder eine Beschreibung zwischen 0 und 8000 Zeichen hätte sähe die Welt anders aus.

Telefonnummern sollte man tatsächlich in eine eigene Tabelle auslagern.
 
Dank für die Antworten.
Das mit dem Ports habe ich nicht so richtig überdacht ich brauche vielleicht 10-20 Ports auf Hunderten Geräten. Werde es nochmal überarbeiten. Schiebt man die Telefonnummern dann in eine Tabelle etwa so.

Tab_Telefonnummern
ID_Telefonummer
Handynummer
Festnetznummer
Notfallnummer
Zweitenummer
ZweiteHandnummer
Drittenummer
DritteHandynummer

Gruß
SaFu
 
Werbung:
Nein.

Der Trend geht zum Vierthandy. So what?

Code:
test=# create table leute (id int primary key, name text);
CREATE TABLE
test=*# create table telefone (wer int references leute, was text, nummer text);
CREATE TABLE
test=*#

Nun kannst Du jedem beliebig viele Telefone zuordnen. Einen PK kannst Du auch so noch bei Telefone bilden:

Code:
test=# create table leute (id int primary key, name text);
CREATE TABLE
test=*# create table telefone (wer int references leute, was text, nummer text, primary key(wer, was));
CREATE TABLE

Rollback und Kaffee.
 
Zurück
Oben