mahlzeit,
Eine ID wird zumeist nur Programm intern verwendet und nicht angezeigt
nö, id=identifier wird auch unabhängig von programmen benutzt, zum beispiel lateinische namen und bestimmte lebewesen zu benennen.
(Typ <Zahl> - Autoincrement), um einen Datensatz wieder korrekt zusammenzufügen, wenn sich die Daten über mehrere Tabellen verteilen.
nö, ein Datensatz verteilt sich nicht über mehrere tabelle, sondern steht in einer. sonst wäre es ja nicht ein datensatz.
Diese verteilung wird immer dann gemacht, wenn Werte Mehrfach vorkommen können.
nö, die aufteilung in mehrere tabellen (normalisierung) ergibt sich aus den abhängigkeiten zum primary key und ist somit unabhängig von dem inhalt der datenfelder.
Als Beispiel es Wohnen 500 Kunden von <Firma> in Hamburg. Eine durchdachte Datenbank lösung hätte jetzt nur ein einziges mal den String "Hamburg" im System - und keine 500 mal.
nö, würde ich so nicht machen. das kann man machen, aber ich würde in diesem falle darauf verzichten. stell dir mal vor, es gibt viele kunden aus kleinen orten in der nähe von hamburg. aus diesen kleinen orten sind jeweils nur 1 bis 3 kunden. warum sollte ich dann diese in eine extra tabelle aufteilen und damit meine datenbank langsamer machen, nur um jedes kleine pupdorf in einer extra tabelle aufzulisten ?
oder anders ausgedrückt, der name müller kommt bei den 500 kunden 50 mal vor, ziehst du den dann auch in eine extra tabelle ?
Eine ID, die in einer Software angezeigt wird, wäre sowas wie die Artikelnummer, die dann zu einen Artikelsatz gehört, wo die zugehörige Bezeichnung, sowie eine Beschreibung und der Preis (unter umständen) drinn steht. Auch das wäre eine eigene Tabelle.
eine artikelnummer kann auch der eindeutige bezeichner einer tabelle sein und man benötigt nicht immer eine zahl als id. das nennt sich dann ein natürlicher schlüssel. solange er die bedingungen eines primary keys erfüllt (eindeutig ist, was artikelnummer von defintion her an sich haben), ist alles roger.
Jedoch einen Bezeichner, wie z.B. "Mercedes SLK" als ID zu verwenden,
ist nicht sehr Schick.
der einzige, der von solchen ids spricht bist du und nicht ich. artikelnummern ist generell etwas anderes als dein mercedes und erfüllt alle anvorderungen eines schlüssels. lies dir noch einmal die anvorderungen an einen primary key durch. da wirst du nichts von "nur zahlen" finden.
Eine ID wird als Schlüssel verwendet - eine ID , die nicht irgendwo als Schlüssel verwendet wird, ist dann eigentlich keine ID mehr - aus Sicht der Datenbank natürlich.
und was willst du damit ausdrücken ?
amen
Ilja