"IST-EIN" Beziehung in SQL realisieren?

Status
Nicht offen für weitere Antworten.

T_Da_Man

Mitglied
Hallo,

ich muss eine Datenbank Modellieren. Jetzt hab ich das Problem mit einer "Ist-ein-Beziehung".
Und zwar hab ich eine Tabelle Kunde und eine Tabelle Lieferant.
Beides sind Spezifikationen aus der Tabelle Person.

Hier meine Tabelle:

Person:
PersonID(Primary Key)
Name
Adresse
Email-Adresse

Brauche ich nun für Kunde einen extra Primarykey, oder auch deie PersonID?
------------------
Weiss jetzt nicht, ob alles von der Syntax her 100%ig passt... :D
Möglichkeit 1:

Kunde:
KundeID (Primary Key)
Kontostand
PersonID (Fremdschlüssel)

Möglichkeit 2:

Kunde: PersonID (Primary Key)
Kontostand
----------------
So, muss ich jetzt PersonID als Fremdschlüssel in meine Tabelle "Kunde" mit reinnehmen?
--> Wie realisiere ich diese Tabellen?

mit:

Code:
CREATE TABLE Kunde (
    KundeID           integer primary Key,
    Kontostand       double,
    PersonID          foreign Key references Person(PersonID)
);

oder mit:

Code:
CREATE TABLE Kunde (
    PersonID          integer primary Key,
    Kontostand       double,
);

Oder wird das anders Realisiert?

D.H. meine Frage ist:

Wie realisiere ich eine IST-EIN-BEZIEHUNG in den Create-Table Statements? Ich habe damit ein Verständnisproblem, ich hoffe mir kann jemand helfen.

Danke!

Gruß Thorsten[/code]
 
S

stev.glasow

Gast
IST-EIN-BEZIEHUNG hat was mit Vererbung zu tun, arbeitest du mit einer Objekt Orientierten Datenbank?
 

T_Da_Man

Mitglied
hmm also wir sollen des ganze mit dem Oracle 10 Realisieren, und es soll eine Relationale Datenbank sein, mehr weiss ich net...
 

T_Da_Man

Mitglied
hast n link, wo es ne gute beschreibung gibt, was ne Objektorientierte DB is?
Dann kann ichs dir sagen ob es eine sein soll :D

Hab schon was bei wikipedia.org gefunden, moooment :)
 
S

stev.glasow

Gast
Dieses references sagt ja nur aus das die spalte y eine beziehung zu spalte x hat.
 

T_Da_Man

Mitglied
Also ich brauch, um die Ist-Ein-Beziehung zu realisieren, einen primary key, und als fremdschlüssel den primarykey der Vererbenden Tabelle?
 
S

stev.glasow

Gast
jo, es geht auch ohne, aber so ist es sauberer, da die einträge von kunde ja abhängig von person sind.
das preferences sichert dir halt nur dass es nicht möglich ist eine person zu löschen auf die ein kunde "zeigt"
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben