Zum Inhalt springen

(Hilfe!!!) Problem beim Setzen von Primärschlüssel


Empfohlene Beiträge

Geschrieben

hallo,

ich habe ein Problem. Es geht um eine Datenbank, die viele Tabellen beinhaltet, einige von diesen haben keine Primärschlüssel, aber sie haben IDs, ein Beispiel: die Tabelle LU_CRMKunde hat die Spalten Kunden_ID, CRM_ID, Kunde, Dienstleistung und Report. Ich könnte Kunden_ID zusammen mit CRM_ID als PS setzen, aber da entweder die eine oder die andere Spalte NULL Werte beinhalten, weil es sich handelt, um Werte die später eingetragen werden können. Was soll ich in diesem Fall machen, nummerieren kann ich sie auch nicht, damit meine ich einen Index setzen, es gibt 2 IDs. Könnte mir dabei jemand helfen? ich wäre sehr dankbar. Gruß.

Geschrieben

Selbsteinzutragende Kunden_ID ? :floet:

Mach noch ne Spalte mit Kunden_CRM_ID(PK) where Kunden_ID is not NULL

by the way, Wie kann eine Kunden_ID leer sein und trotzdem in der datenbank stehen, das verstehe ich nicht.

Geschrieben
Selbsteinzutragende Kunden_ID ? :floet:

Mach noch ne Spalte mit Kunden_CRM_ID(PK) where Kunden_ID is not NULL

by the way, Wie kann eine Kunden_ID leer sein und trotzdem in der datenbank stehen, das verstehe ich nicht.

Sorry zuerst und danke für die schnelle Antwort, ich habe mich vertippt, die Spalte CRM_ID ist diejenige die NULL Werte beinhaltet, immer noch müßte es nicht so sein, die Beziehung ist die folgende, ein Kunde kann eine oder mehrere CRM_IDs haben, aber eine CRMID kann einem oder mehreren Kunden zugeordnet, also n:m.

Eigentlich sind diese Tabellen nicht von mir gepflegt, sondern von einem Administrator (der, denke ich mal nicht viel über Datenbanken kennt). Meine Aufgabe war sie zu korrigieren, so weit ich kann. Mich hat auch überrascht eine solche Bezeichnung der Spalte zu sehen mit ID, obwohl sie NULL Werte hat (es sind Werte die später eingetragen werden), wenn ich einen zusammengesetzten PS eintragen mit diesen beiden PS geht es nicht, deswegen die Frage, was soll ich in diesem Fall machen?

Geschrieben

... da beide Spalten keine eindeutife Werte haben, dann als mögliche Lösung habe ich gedacht die beiden als zusammengesetzter PS zu setzen.

Geschrieben
... da beide Spalten keine eindeutife Werte haben, dann als mögliche Lösung habe ich gedacht die beiden als zusammengesetzter PS zu setzen.

dann ist schlichtweg das datenmodell falsch.

zumindest die ersten 3 NF sollten schon erfüllt werden. die tabelle verletzt schon mal die 2. weil wo kein PK ist kann nichts davon abhängen.

splitte die tabelle und lagere die m:n relation in eine eigene tabelle aus. achja, und kaufe dem urheber des designs ein buch über db-design :)

-j

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...