Re: Glossar(Stammdaten)

  • From: Yevgen Reznichenko <yevgen.r@xxxxxx>
  • To: idefix@xxxxxxxxxxxxx
  • Date: Tue, 17 Jun 2003 18:14:54 +0200

Hallo,

Am 06/17/2003 04:38 PM schrieb Roland Kruggel:

Sollen alle Stammdaten eine eindeutige ID haben?

Zur Definition. Eine ID ist eine eindeutige Kennzeichnung eines Datensatzes.

Diese Definition passt mahr an einen Primarykey einer Tabelle, aber ID != Primarykey, obwohl sie meistens als solche genommen wird, aber ...


D.h. _Jede_ Tabelle bekommt eine ID. Diese ID wird von der Datenban
eindeutig und selbstständig erzeugt und gespeichert.

Jede Tabelle muss ein Primarykey (deut. Primärschlüssel) besitzen, aber nicht ID. Nehmen wir uns dein Beispiel mit Zuordnung von Adressen vor, du wolltest in einer Extratabelle die Kunden-ID und die entsprechende Adresse-ID ablegen. Was ist dann die eindeutige ID die automatisch erzeugt wird? In solchen Fällen erzeugt man keine extra-ID man legt einfach Kunden-ID zusammen mit Adressen-ID als Primarykey fest und das ist alles.


Reden wir hier wirklich von dem selben?
Die ID ist keine Adress-, Kunden- etc Nummer. Die ID tritt nicht ach aussen zum Anwender. Sie diehnt nur der Internen Verwaltung der Tabellen und der Eindeutigen Verweise untereinander.


Du brauchst wirklich nicht in jeder Tabelle einen ID. Das ist richtig. Aber: Da due dich nicht um die ID in der Tabelle kümmern mußt, das macht MySQL alleine, und da die ID immer eine eindeutige Nummer ist,

Kundennummer und Lieferantennummer sind auch eindeutig und aus diesem Grund ausreichend. Es gibt natürlich Fälle in denen es sinnvoll ist eine eindeutige ID einzuführen, aber das ist kein Regelfall. So eine ID wird z.B. die Adressnummer, da diese weder im Program noch vom Benutzer benötigt wird und dient nur der Vereinfachung des Primarykeys. Allerdings Kundennummer und Lieferantennummer sind nicht solche, da diese auch von Benutzern benötigt werden und sind eindeutig, so reicht es aus Kundennummer als Primarykey festzulegen, dann braucht man keine weitere *unnötige* Kennzahlen.


ist es für spätere Erweiterungen bei Tabellenverknüpfungen immer von Vorteil diese ID zu haben.

Ich plädiere also darauf: in _JEDER_ Tabelle eine ID zu halten.

Wie gesagt nicht jede Tabelle benötigt diese von dir gemeinte ID. Die Tabelle "Kundennummer | Adress-ID" benötigt diese nicht und auch Tabellen "Kunde" und "Lieferant" benötigen diese auch nicht. Die ID soll nur in solche Tabellen aufgenommen werden in denen sie wirklich gebraucht wird z.B. "Adresse".


cu

Yevgen.


--
Please do *not* send "Security Patch Notifications" or "Security
Updates"; this system isn't running a Micro$oft operating system.
And don't annoy me <mailto:postmaster@[127.0.0.1]> please :-D


-- Projekt: Warenwirtschaft. Projektname: Jana Infos: http://jana.bbf7.de

--------------------------------------------------------------------
Zum AUSTRAGEN schicken Sie eine Mail an idefix-request@xxxxxxxxxxxxx
mit dem Subject "unsubscribe". 
mailto:idefix-request@xxxxxxxxxxxxx?subject=unsubscribe

Mailarchive: //www.freelists.org/archives/idefix
Probleme? Mail an mailto:rkruggel@xxxxxxx (deutsch)

Other related posts: