Martin Notation

Kampfgummibaerlie

Datenbank-Guru
Beiträge
782
Habe heute gegen 16:45 den letzten Datenbank-Test, welcher positiv sein muss, ich denke zwar die Grundprinzipien zu kennen, frage dennoch hier nach, ob ich irgendwelche essentiell wichtigen Dinge wissen muss.

Was ich soweit weiß:
Eine 0 bedeutet, dass dort der Nicht-Wert "Null" vorkommen kann. (Stichwort Kann)
Eine 1 bedeutet, dass dort ein Datensatz einer anderen Tabelle sein muss. (Stichwort Muss und Ein)
Ein "Krähenfuß" bedeutet, dass dort mehrere Datensätze aus einer anderen Tabelle sein müssen. (Stichwort Muss und Mehrere)
Ein "Krähenfuß" mit einer 0 davor bedeutet, dass hier eine "Null", dass dort mehrere Datensätze aus einer anderen Tabelle sein können. (Stichwort Kann und Mehrere)
Tabellen werden in Tabellen mit Spalten als Zeilen dargestellt

EDIT:
haben in dieser Notation Beziehungen, wie auch beim Chen-Modell immer zwei Symbole? (nur so als Probe, dass ich sicher zwei Symbole brauche, wo eine Beziehung ist)

Habe in der letzten Zeit wieder den Spaß am lernen gefunden, wie immer ist in den letzten Schulwochen mit ein wenig Stress verbunden ^^
 
Zuletzt bearbeitet:
Werbung:
Arztbesuch (autowert) 1
Arzt (muss) 1
Assistent (kann) Null
Patient (muss) 1

Auch andere Spalten, aber ja, ...

Ich denke, für solche Fälle gedacht, ...

Edit: Wenn ein Assistent, dann aus anderer Tabelle, klar.

D.h. 0 1 müsste man in dem Fall abbilden.

0 heißt kein primary key constraint oder not null constraint für die Spalte (denke ich)
 
Zuletzt bearbeitet:
Werbung:
Mein Beispiel schnell geschrieben und probiert:
Code:
create table arzt(id serial primary key, name text not null);
create table patient(id serial primary key, name text not null);
create table assistent(id serial primary key, name text not null);
create table arztbesuch(id serial primary key, arzt integer references arzt(id) not null, patient integer references patient(id) not null, assistent integer references assistent(id));
insert into arzt(name) values ('Günther');
insert into patient(name) values ('Raffael');
insert into assistent(name) values ('Werner');
insert into arztbesuch(arzt, patient) values (1, 1);
select * from arztbesuch;

Resultat:
Code:
1    1    1    Null
 
Zurück
Oben