Oracle Frage

Gast #4460329
Lesenswert?
• ▲
▼
Hallo,
ich sitze an einer Aufgabe und habe keine Ahnung wo das Problem konkret 
liegt:

Es geht um Oracle DDL:

Kunde hat zu Konto eine 1:1 Beziehung Namens "hat"

Angegeben ist folgendes:
1
CREATE TABLE Kunde (KundenNr INTEGER PRIMARY KEY);
2

3
CREATE TABLE Konto (IBAN VARCHAR(50) PRIMARY KEY);
4

5
CREATE TABLE hat(
6
  KundenNr INTEGER PRIMARY KEY REFERENCES Kunde,
7
  IBAN VARCHAR(50) NOT NULL UNIQUE REFERENCES Konto
8
);

Die Aufgabe lautet:

Vervollständigen Sie die DDL für Kunde und Konto so, dass die 1:1 
Beziehung zwischen diesen Entitäten korrekt abgebildet ist.

Ich frage mich nun wo genau die Problematik liegt.
In der Tabelle hat ist Kunde der Primarykey und kann nur einmal 
vorkommen. IBAN ist Unique und kommt somit auch nur einmal vor.
Demnach ist das doch eine 1:1 Beziehung?

Oder geht es konkret darum, dass wenn ein Kunde angelegt wird, ein CHECK 
erfolgen soll, ob es dazu auch ein Konto gibt?
Also Kunde und Konto bekommen Checks, ob jeweils der andere exisitiert?
Setzt natürlich Deferable und manuelles Committen voraus.

Wäre nett wenn sich das jemand ansehen könnte.

Danke
Persönliche Seite #4460350
Lesenswert?
• ▲
▼
John schrieb:
> Nicht mehr erreichbar zu der Uhrzeit

Und heute um 23:59 ist Abgabe korrekt? ;-)
Dann hilft eigentlich nur in den Lern-Unterlagen zu schauen ob es 
vergleichbare Problemstellungen gab und wie dort die Lösungsstrategie 
war. Hilft dir ja nix wenn du dann sagst 'XYZ aus Forum 
mikrocontroller.net hat aber gesagt das das so zu lösen wäre'. In deinem 
Beispiel ist z.B. nicht sichergestellt das jeder Kunde genau ein Konto 
hat (und umgekehrt). Ich könnte also in Kunde und Konto beliebige 
Datensätze einfügen die nicht in hat Auftauchen...
Gast #4460397
Lesenswert?
• ▲
▼
Die Checks können verzögert werden wie ich bereits schrieb.

Wie kann ein Kunde mehrer Konten haben? Kunde ist in Tabelle hat ein 
Primarykey.

Und es handelt sich um keine Abgabr sondern um alte Klausuraufgaben zur 
Prüfungsvorbereitung.
Gast #4460418
Lesenswert?
• ▲
▼
Naja es heißt ja man soll die Tabelle Kunde und Konto erweitern. Doch 
nicht etwas nur einen Fremdschlüssel auf den Eintrag in hat? Damit kann 
es  keine doppelten Kunden oder Konten geben.
Aber das ist doch absolut blödsinnig oder nicht? Sollte Kunde nicht ein 
einfach ein Attribut KontoId oder ähnliches bekommen?
#4460685
Lesenswert?
• ▲
▼
Was der Lehrer vielleicht will, ist, daß man keinen Kunde bzw. Konto 
einfach so einfügen kann, ohen auch gleichzeitig in hat die Beziehung 
mit reinzunehmen (sonst könnte man Kunden und Konten in den beiden 
Tabellen noch und nöcher definieren, ohne deren Beziehung via hat 
definieren zu müssen)
Also müssen wohl noch paar Foreigne keys in kunde und konto noch mit 
rein, die auf die jeweilige Spalte in hat verweisen.
Ob dieses in alle Richtungen ver-pointerte Konstrukt auch noch Inserts 
zuläßt, kommt auf die Möglichkeiten Oracles an. Kenne mich mit Oracle 
nicht weiter aus, verzögerte Checks wurden aber schon genannt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren