Relationale Datenbanken Flashcards
Was ist das Modellelement Entität und welches Datenbankelement stellt es dar?
Klasse gleichartiger Objekte (z.B. Mitarbeiter)
Name einer Tabelle
Was ist das Modellelement Entitätsmenge und welches Datenbankelement stellt es dar?
Menge der Merkmale aller Instanzen einer Entität
alle Zeilen einer Tabelle
Was ist das Modellelement Relation und welches Datenbankelement stellt es dar?
Entität und Entitätsmenge
eine Tabelle
Was ist das Modellelement Tupel und welches Datenbankelement stellt es dar?
Menge der Werte einer Instanz einer Entität
Zeile einer Tabelle
Was ist das Modellelement Attribut und welches Datenbankelement stellt es dar?
Merkmal einer Entität
Spalte einer Tabelle
Was ist das Modellelement Attributwert und welches Datenbankelement stellt es dar?
einzelner Wert eines Tupels (ggf. Nullwert)
Zelle einer Tabelle
Was ist das Modellelement Datenbasis und welches Datenbankelement stellt es dar?
Menge aller Relationen einer Datenbank
Alle Tabellen
Was ist ein Identifikationsschlüssel?
Eine Menge von Attributen einer Relation, deren Werte ein Tupel eindeutig identifizieren
Was ist ein Primärschlüssel?
Die Menge derjenigen Spalten einer Tabelle, die die Attribute des Identifikationsschlüssel repräsentieren.
Was ist ein Fremdschlüssel?
Ein Fremdschlüssel einer Relation ist die Menge ihrer Attribute, welche in einer (anderen) Relation den Identifikationsschlüssel bildet
Welche Beziehungen gibt es zwischen Relationen?
1: 1 - Eindeutiger Fremdschlüssel oder gemeinsame Tabelle
1: N - Fremdschlüssel zu A in Tabelle B (A1 - R - NB)
M:N - Fremdschlüssel zu A und B in Mapping Tabelle (AM - R - NB)
Was muss mit ternären Beziehungstypen passieren, bevor diese in das Relationenmodell überführt werden kann?
Er muss zunächst in Binäre Beziehungstypen aufgelöst werden
Welche drei Möglichkeiten verbleiben, die zu einer Inkonsistenz der Datenbasis führen können wenn die Datenbank normalisiert ist?
Dateneingabe: Inkonsistenzen durch Fehler beim (manuellen) Eingeben der Daten
-> Kann durch Integritätsbedingungen überprüft werden, die z.B. beim Anlegen von Tabellen in SQL für jedes Attribut festgelegt werden können (z.B. UNIQUE, NOT NULL)
Fremdschlüsselattribute: Inkonsistenz durch ungültige Referenzen auf andere Tabellen
-> Wird vom DBMS automatisch verhindert (referenzielle Integrität)
Transaktionen: Inkonsistenzen durch parallele oder unterbrochene DB Transaktionen -> kann durch ACID Eigenschaften des DBMS nicht passieren
Was bedeutet Datenkonsistenz?
Die Freiheit von Widersprüchen in der Datenbasis
Was zählt zur Datenintegrität?
Datenkonsistenz, Datensicherheit und Datenschutz
Was ist Datensicherheit?
Verhinderung der Beschädigung oder des Verlusts von Daten
Technische Mittel: Sicherungskopien, Schutz der Hardware vor Schäden
Organisatorische Mittel: Erteilen von Zugriffsberechtigungen auf Daten und Hardware
Was ist Datenschutz?
Verhinderung des unberechtigten Zugriffs auf Daten
Vergabe von Zugriffsrechten (SQL: GRANT)
Betriebliche Reglung zur Haftung für entstandene Schäden
Was wird unter der Normalisierung einer Datenbank verstanden?
DB muss normalisiert sein um gewährleisten zu können, dass enthaltene Datensätze redundanzfrei sind.
Normalisierung: Alle in der DB gespeicherten Attributwerte kommen nur an einer Stelle innerhalb der Datenbank vor
Wann liegt ein redundanzfreies Datenmodell vor?
Wenn kein Teil der Datenbank weggelassen werden kann, ohne dass das zu Informationsverlusten führt.
Was bringt redundanzfreie Datenspeicherung?
Speicherplatzersparnis
verhindert Mutationsanomalien, also inkonsistente Zustände der DB als Folge von Änderungsoperationen auf den Daten
Welche Schritte enthält die Normalisierung eines relationalen DB Schemas um Redundanzen zu eliminieren?
- NF
- NF
- NF
Boyce Codd Normalform
- NF
Was ist die 1. Normalform?
Die 1 Normalform (1 NF) stellt sicher, dass jede Tabellenzelle nur atomare (einzelne) Werte
beinhaltet
Was ist die 2. Normalform?
Die 2 Normalform (2 NF) stellt sicher, dass der gesamte Primärschlüssel einer Tabelle erforderlich ist, um die Attributwerte der Tupel eindeutig zu bestimmen
Was ist die 3. Normalform?
Die 3 Normalform (3 NF) stellt sicher, dass es in einer Tabelle keine Abhängigkeiten zwischen Attributen gibt, die nicht zum Primärschlüssel der Tabelle gehören
Was ist die Boyce-Codd-Normalform (BCNF)?
Die Boyce Codd Normalform ( stellt sicher, dass eine der Primärschlüssel einer Tabelle keine Attribute beinhaltet, die von Attributen außerhalb des Primärschlüssels abhängen
Was ist die 4. Normalform?
Die 4 Normalform (4 NF) stellt sicher, dass es innerhalb des Primärschlüssels einer Tabelle (sofern dieser aus mindestens drei Attributen besteht) keine Attribute gibt, die voneinander unabhängig sind, was im Umkehrschluss bedeutet, dass ternäre Beziehungen korrekt aufgelöst wurden
Wann gilt eine Relation als normalisiert?
In der Praxis wenn sie in 4. NF vorliegt.
In diesem Fall ist sichergestellt, dass innerhalb der zugehörigen Tabelle keine redundanten Einträge vorliegen, sodass die Nachteile des Dateiansatzes, wie sie in Kapitel 1 identifiziert wurden, überwindet werden
Welche Abhängigkeiten gibt es beim Normalisierungsprozess bezogen auf drei Attributmengen in einer Relation?
Funktional abhängig
Voll abhängig
Transitiv abhängig
Was ist funktional abhängig?
Eine Attributmenge B ist von einer Attributmenge A funktional abhängig wenn zu einem bestimmten Attributwert von A genau ein Attributwert von B gehört
In der Praxis bedeutet das, dass A ein
Identifikationsschlüssel der entsprechenden Relation ist, da es zu jedem möglichen Wert für A innerhalb der Relation nur ein eindeutiges Tupel gibt Wir schreiben dann A ->B
Was ist voll abhängig?
Eine Attributmenge B ist von einer Attributmenge A voll abhängig wenn sie von A funktional abhängig ist, jedoch nicht schon von einem Teil der Attribute aus A.
In der Praxis bedeutet das, dass A ein minimaler Primärschlüssel der entsprechenden Tabelle ist, d h dass kein Attribut aus A weggelassen werden könnte, ohne dass A den Status als Primärschlüssel
verlieren würde.
Dementsprechend ist eine Unterscheidung zwischen funktionaler und voller Abhängigkeit nur relevant, wenn A aus mehreren Attributen besteht.
Wenn B von A voll abhängig ist, schreiben wir A ► B
Was ist transitiv abhängig?
Eine Attributmenge C ist von einer Attributmenge A transitiv abhängig wenn es eine Attributmenge B gibt, sodass C von B funktional abhängig ist und außerdem B von A funktional abhängig ist, dabei jedoch A nicht funktional abhängig von C ist.
In der Praxis bedeutet das, dass zwei Attributmengen B und C innerhalb einer Tabelle, die beide nicht zum
Primärschlüssel A gehören, funktionale Abhängigkeiten zueinander aufweisen
Wir schreiben dann A Symbol C
Was stellt die 2NF sicher?
Dass der Primärschlüssel einer Tabelle so wenige Attribute wie möglich umfasst um Duplikate von Werten in einzelnen Spalten zu vermeiden.
Was stellt die 1NF sicher?
Dass alle ihre Attribute nur einfache Attributwerte aufweisen (NULL ist ok)
Was stellt die 3NF sicher?
Dass alle Attribute einer Tabelle die nicht zum PK gehören ausschließlich vom PK abhängen.
Was ist bei der 3NF wichtig?
Eine Relation befindet sich in der 3 Normalform (3NF) wenn sie sich bereits in der 2 Normalform befindet und außerdem jedes nicht zum Identifikationsschlüssel gehörende Attribut von diesem nicht transitiv abhängig ist.
Wäre die Definition nicht erfüllt, so könnten Zusammenhänge der Form A ->B zwischen zwei oder mehr Nicht Schlüsselattributen A und B redundant in der Tabelle vorkommen, da die Eindeutigkeit der Werte
von A nicht gewährleistet ist.
(A gehört ja nicht zum Primärschlüssel und muss daher nicht eindeutig sein)
Was stell die Boyce-Codd NF sicher?
Die Boyce Codd Normalform ist eine Erweiterung der 3 Normalform, die zusätzlich sicherstellt, dass
es auch keine transitiven Abhängigkeiten über Nichtschlüsselattribute zurück in den Primärschlüssel
einer Tabelle gibt.
Es gilt:
Eine Relation befindet sich in der BCNF wenn sie sich bereits in der 3 Normalform befindet und es außerdem keine sich überlappenden Attributmengen
gibt, die theoretisch alle einen Identifikationsschlüssel der Relation bilden könnten
Was stellt die 4NF sicher?
Eine Relation befindet sich in der 4 Normalform wenn sie sich bereits in der Boyce Codd Normalform befindet und es außerdem keine Attribute im Identifkationsschlüssel gibt, welche unabhängig voneinander sind Das bedeutet, dass es keine disjunkte Zerlegung des
Identifikationsschlüssels in drei Teilmengen X, Y und Z gibt, sodass die Wertekombinationen von X und Y unabhängig von den jeweils zugehörigen Werten von Z sind
Welche Datentypen gibt es in SQL?
INTEGER Ganze Zahl
DECIMAL Dezimalzahl
CHARACTER(x) Zeichenkette der maximalen Länge x oder der Länge 1 falls x nicht spezifiziert wird
VARCHAR(x) Text der maximalen Länge x character varying
DATE Datumsangabe aus Jahr, Monat und Tag
CLOB(x) textuelles Datenobjekt der maximalen Länge x character large object
BLOB(x) binäres Datenobjekt (z B Bilddatei) der maximalen Länge x binary large object
Welche Constraints gibt es in SQL?
NOT NULL Die Spalte darf keine Nullwerte enthalten
DEFAULT Standardwert für das Attribut, falls kein anderer Wert spezifiziert wird
UNIQUE Die Werte in der Spalte müssen zeilenweise eindeutig sein, d h es darf keine Duplikate geben
PRIMARY KEY Die Spalte bildet den Primärschlüssel der Tabelle (Dies impliziert UNIQUE da
Primärschlüsselwerte eindeutig sein müssen)
Welche Constraints kann man ans Ende des Befehls hängen?
PRIMARY KEY Attribut_ 1 Attribut_ 2 Spezifikation eines (ggf zusammengesetzten) Primärschlüssels der Tabelle
FOREIGN KEY Attribut_ 1 Attribut_ 2 REFERENCES Tabellenname Spezifikation eines (ggf
zusammengesetzten) Fremdschlüssels, der die Tabelle Tabellenname referenziert
UNIQUE Attribut_ 1 Attribut_ 2 Spezifikation, dass die Werte einer Kombination aus Attributen eindeutig sein müssen
Welche Operationen gibt es zum Ändern von Tabellen in SQL?
Hinzufügen Spalte - ADD COLUMN Spaltenname
Ändern Spalte - ALTER COLUMN Spaltenname Änderungsoperation
Löschen Spalte - DROP COLUMN Spaltenname [CASCADE | RESTRICT]
Hinzufügen Integritätsbedingung - ADD CONSTRAINT Name COnstraintdefinition
Löschen Integritätsbedingung - DROP CONSTRAINT Name [CASCADE | RESTRICT]
Was bedeutet CASCADE / RESTRICT beim Löschen von Spalten / Tabellen?
CASCADE: Alle Objekte, die vom zu löschenden Objekt abhängen, sollen ebenfalls gelöscht werden
RESTRICT: Falls es noch Objekte gibt, die vom zu löschenden Objekt abhängen, wird die Lösch oder Änderungsoperation unterbunden
Was sind Indexe?
Hilfsobjekte in einer DB die dazu dienen Suchabfragen zu beshcleunigen, indem das DBMS die relevanten Datensätze schneller finden kann.
Änderungen werde aber langsamer!