stud3 Geschrieben 10. Januar 2005 Teilen Geschrieben 10. Januar 2005 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ß. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 10. Januar 2005 Teilen Geschrieben 10. Januar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
stud3 Geschrieben 10. Januar 2005 Autor Teilen Geschrieben 10. Januar 2005 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 10. Januar 2005 Teilen Geschrieben 10. Januar 2005 hmmm, wieso willst du ein PK für beide setzen ? hat das einen tieferen sinn ? PKs können nicht NULL sein, da gibts kein wenn und kein aber Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
stud3 Geschrieben 11. Januar 2005 Autor Teilen Geschrieben 11. Januar 2005 ... da beide Spalten keine eindeutife Werte haben, dann als mögliche Lösung habe ich gedacht die beiden als zusammengesetzter PS zu setzen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jasper Geschrieben 11. Januar 2005 Teilen Geschrieben 11. Januar 2005 ... 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.