Zum Inhalt springen

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


stud3

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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