Re: Glossar(Stammdaten)

  • From: Roland Kruggel <rkruggel@xxxxxxx>
  • To: idefix@xxxxxxxxxxxxx
  • Date: Tue, 17 Jun 2003 19:02:50 +0200

Am Dienstag Juni 17 2003 18:14 schrieb Yevgen Reznichenko:
> 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.

Wie gesagt, ich bin da anderer Meinung.

> > 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".

Was spricht gegen einen ID in jeder Tabelle?

cu

-- 
Roland Kruggel          mailto: rkruggel@xxxxxxx
System: AMD 1200Mhz, Debian woody, 2.4.20, KDE 3.1

-- 
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: