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)