IDBS
Datenstrukturen und Datenbanksysteme
Datenstrukturen und Datenbanksysteme
-
- 1 / 26
-
Lernkarten
1:1 Beziehung?
Eine Entität genau einer zugeordnet und andersrum.
Martin: I------------I
UML: 1_______1
1:C Beziehung?
Entität 1 kein bis eine Entität 2, Entität 2 genau einer Entität 1.
Martin: -I--------------OI-
UML: 1__________0..1
C:C Beziehung?
Jede Entität 1 genau eine oder keine Entität 2, jeder Entität 2 genau eine oder keine Entität 1.
Martin: -IO---------------OI-
UML: 0..1_____________0..1
1:N Beziehung?
Jede Entität 1 eine oder mehrere Entitäten 2, jeder Entität 2 einer Entität 1.
Martin: -I------------I<-
UML: 1_________1..*
1:CN Beziehung?
Entität 1 beliebig vielen Entitäten 2, jede Entität 2 genau einer Entität 1.
Martin: -I------------O<-
UML: 1______0..*
C:CN Beziehung?
Entität 1 beliebig vielen Entitäten 2, Entität 2 einer oder keiner Entität 1.
Martin: IO---------OI<-
UML: 0..1______0..*
C:N Beziehung?
Jede Entität 1 mindestens einer Entität 2, jede Entität 2 zu einer oder keiner Entität 1.
Martin: -IO--------I<-
UML: 0..1__________1..*
N:M Beziehung?
Jede Entiät 1 mindestens eine Entität 2, jede Entität 2 mindestens zu einer Entität 1.
Martin: ->I------------I<-
UML: 1..*________1..*
N:CM Beziehung?
Jede Entität 1 zu beliebig viele Entitäten 2, jede Entität 2 zu mindestens einer Entität 1.
Martin: ->I-----------OI<-
UML: 1..*___________0..*
CN:CM Beziehung?
Jede Entität 1 zu beliebig vielen Entitäten 2, jeden Entität 2 zu beliebig vielen Entitäten 1.
Martin: ->IO-----------OI<-
UML: 0..*_________0..*
Aktivitäten im Entwurfsprozess für Datenbanken?
- Entitäten identifizieren
- Beziehungen festlegen
- Primärschlüssel festlegen
- Umwandlung in physikalisches Datenmodell
- Attribute festlegen und normalisieren
- Konsistenzbedingungen festlegen
- Transaktionen formulieren
Physikalisches Datenmodell für 1:1 Beziehung?
Zusammenfassung in einer Tabelle, oder einfacher Fremdschlüsselverweis. Jede Fremdschlüssel-ID von Entität 2 muss mindestens 1 mal in Entität 1 vorkommen.
Physikalisches Datenmodell für 1:C Beziehungen?
Fremdschlüsselverweis, Fremdschlüssel darf höchstens 1 mal vorkommen und darf nicht NULL sein.
Physikalisches Datenmodell für C:C Beziehungen?
Referenztabelle mit den beiden PK als Verweis (Attribute), sowie surrogatekey ID.
Referenztabelle darf keine NULL Wert enthalten, jeder FK darf maximal 1 mal vorkommen.
Physikalisches Datenmodell für 1:N Beziehungen?
Entität 1 ID 1_________1..* Entität 2 (FK, ID->Entität 1)
Attribut ID in Entität 2 != NULL und muss jede ID mindestens 1x enthalten.
Physikalisches Datenmodell für 1:CN Beziehungen?
Entität 1 (ID) 1____0..* Entität 2 ( ID (FK, ID ->Entität 1))
Attribut ID ID darf nicht NULL sein.
Physikalisches Datenmodell für C:CN Beziehungen?
Entität1 (ID2) 1___0..* Referenztabelle (ID1, ID2) 0..*_____1 Entität2 (ID2)
Physikalisches Datenmodell für C:N Beziehungen?
Entität 1(ID1) 1_____1..* Referenztabelle 0..*______1 Entität2 (ID2)
Jede ID1 muss mindestens einmal in der Referenztabelle vorkommen.
Physikalisches Datenmodell für N:M, N:CM, CN:CM Beziehungen?
Entität1(ID1) 1_____0..* Referenztabelle(ID1, ID2) 0..*______1 Entität 2(ID2)
Mögliche Vererbungsstrategien?
- Single Table
- Joined Subclass Table
- Table per Class
Datentypen in SQL?
- char(n)
- varchar(n)
- TEXT
- INTEGER (INT)
- DECIMAL(n,m)
- REAL
- DATE
- TIME
- TIMESTAMP
- VARBINARY(n)
- BOOLEAN
Mögliche Aktionen zur Erhaltung der referentiellen Integrität?
- CASCADE
- SET NULL
- RESTRICT
- NO ACTION
- SET DEFAULT
Jeweils für ON DELETE oder ON UPDTAE
INNER JOIN?
Zusammenführung aller Datensätze mit erfülltem Verbundkriterium.
NATURAL JOIN?
Vergleicht die Datensätze aller Spalten mit dem gleichen Spaltennamen. Nur bei vollständiger Übereinstimmung werden die Datensätze vereint
LEFT JOIN?
Führt alle Datensätze mit erfüllten Kriterien zusammen, enthält alle Spalten beider Tabellen, enthält alle Datensätze der links vom JOIN Statement genannten Tabelle. Spalten von der rechten Tabelle werden mit NULL Werten gefüllt. Gleiches gilt für den RIGHT JOIN mit der Tabelle rechts vom JOIN Statement.
Möglichen Mengenoperationen?
- UNION (duplikatfrei)
- UNION ALL (Mit Duplikaten)
- INTERSECT (Schnittmenge)
- MINUS (Differenzmenge)