Kapitel 2 Flashcards
Was sind die Merkmale relationaler DBMS
- Erfüllung der Codd-Regeln
- 3 Ebenen Architektur
- Standardisierte Datenbanksprache SQL
- Einbettung von SQL in kommerzielle Programmiersprachen
- Werkzeuge für interaktive Definitionen, Anfragen und Darstellung von Daten, Entwurf von Benutzeroberflächen
Was ist der Aufbau einer relationalen Datenbank
- Grundlegende Struktur einer relationalen Datenbank ist die Tabelle
- Tabelle ist ein Objekt, das Daten in Datensätzen (Zeilen) und Feldern (Spalten) speichert
- In der Regel besteht eine relationale Datenbank aus mehreren voneinander unabhängigen Tabellen, die über Relationen verknüpft werden
Was ist ein Schlüssel
- dient zur Beschleunigung von Zugriffen auf die Daten
- nur mit Hilfe der Schlüssel ist relationale Verknüpfung von Tabellen möglich
- Schlüssel ermöglichen Überwachung von Integritätsregeln
Was sind die Ziele des Relationenmodells
- Geringe Redundanz -> keine doppelten Einträge
- Gute Handhabbarkeit -> einfache Befehle
- Einfache und schnelle Zugriffe -> Zugriffe über wenige Tabellen
- Sicherstellung von Konsistenz und Integrität -> Regelwerk
Was ist ein Tupel in Relationenmodell
Datensatz, die Zeile einer Tabelle
Was ist ein Attribut in Relationenmodell
Feld, die Spalte einer Tabelle
Was ist eine Kardinalität in Relationenmodell
Anzahl der Zeilen der Tabelle
Was ist ein Grad in Relationenmodell
Anzahl der Spalten der Tabelle
Was ist ein Primärschlüssel in Relationenmodell
Eindeutiger Bezeichner
Was ist die Definition einer Relation
- (normalisierte) Relation ist eine Tabelle, die aus einem Kopf (Schema) und einem Rumpf (Werte) besteht und 4 Eigenschaften hat
1. keine doppelten Tupel (Zeilen)
2. Tupel sind nicht geordnet
3. Attribute sind nicht geordnet
4. Alle Attribute sind atomar
Warum sind die Tupel einer Relation nicht geordnet?
- das Eintragen neuer Zeilen wird erleichtert, das DBMS entscheidet wohin die Daten geschrieben werden
- das Löschen der Zeilen wird vereinfacht, das DBMS entscheidet was mit dem Speicherplatz passiert
- Performancevorteile
- Maschinen brauchen keine Ordnung
Warum sind Attribute einer Relation nicht geordnet?
- Selten Änderungen an Attributen
- logische und physische Datenunabhängigkeit, jedes Einfügen einer neuen Spalte würde alle anderen Zugriffe ungültig machen
Was bedeutet Attribute sind atomar?
- jeder Attributeintrag erhält nur einen Wert aus dem Definitionsgebiet
- Aufzählungen und Listen sind verboten
Was ist eine relationale Datenbank?
Eine Datenbank die nur aus Relationen besteht, die der Benutzer ausschließlich als Sammlung zeitlich variierender und normalisierter Relationen entsprechenden Grades erkennt
Was versteht man unter einer Basisrelation?
- real existierende Relation, persistenter Bestandteil der Datenbank
Was versteht man unter Sichten
- virtuelle Relationen, abgeleitet aus den Basisrelationen, erscheinen dem Nutzer als normale Relation
Was versteht man unter Abfrageergebnissen?
Relationen, die temporär im Arbeitsspeicher während einer Ausgabe/Verarbeitung existieren
Was versteht man unter temporären Relationen?
Relation die temporär existiert, wird bei bestimmten Ereignissen (Transaktionen) zerstört
Was ist die Definition eines Primärschlüssels?
- identifiziert jedes Tupel eindeutig
- jede Relation besitzt einen Primärschlüssel
Was ist die Definition eines Superschlüssels?
- ein aus mehreren Attributen zusammengesetztes Attribut heißt Superschlüssel, wenn es eindeutig jedes Tupel identifiziert
Was ist die Definition eines Schlüsselkandidaten?
- ein evtl. aus mehreren Attributen zusammengesetztes Attribut heißt Schlüsselkandidat, wenn es ein Superschlüssel ist und minimal ist
- wenn eine Relation mehrere Schlüsselkandidaten hat, wird einer als Primärschlüssel gewählt, die anderen heißen alternative Schlüssel
Was bedeutet Integrität im Zusammenhang von DB?
- Korrektheit der in der DB gespeicherten Daten, dazu gehören
1. Physische Integrität -> Vollständigkeit physische Speicherstruktur (verantwortlich DB und OS)
2. Ablaufintegrität -> Korrektheit der Programme (verantwortlich Anwendungsprogrammierer und DB-Designer)
3. Zugriffsberechtigung -> korrekte Zugriffsrechte (verantwortlich DB-Admin)
4. Semantische Integrität -> Übereinstimmung der Daten aus der nachzubildenden realen Welt mit abgespeicherten Informationen (verantwortlich DB-Designer, Programmierer und Anwender)
Welche Folgerungen gibt es aus der semantischen Integrität?
- Bereichsintegrität: jedes Attribut einer Relation hat einen definierten Wertebereich
- Intra-Relationale Integrität: korrektheit der Beziehungen zwischen Attributen einer Relation -> Schlüsseleindeutigkeit
- Entitätsintegrität: keine NULL-Werte im Primärschlüssel, kein Teilattribut des Primärschlüssels ist leer
- Beziehungsintegrität: jedem Fremdschlüssel steht ein entsprechender Primärschlüssel zur Verfügung
Was versteht man unter Constraints und Trigger?
- Constraints sind Integritätsregeln im Rahmen der Datendefinition bei Erstellung des DB-Schemas
- Trigger sind Programme die komplexe Fälle, welche nicht mit Constraints gelöst werden können, beschreiben
- beide Fälle sorgen für das Ausführen einer Integritätsregel, Ändern, Einfügen oder Löschen sorgen für die Ausführung der Integritätsprüfung
Was ist ein Fremdschlüssel
- wenn eine Datenstruktur mehrere Relationen hat, muss zwischen den Relationen eine Beziehung hergestellt werden, dazu dient der Fremdschlüssel
- ist ein Tabellenfeld, was Bezug nimmt auf den Primärschlüssel einer anderen Relation
- gibt an, in welcher Beziehung die Relationen zueinander stehen
- Daten im Fremdschlüssel müssen mit denen des entsprechenden Primärschlüssels übereinstimmen
Was für Integritätsregeln kennen wir?
Entitäts-Integritätsregel:
- keine Komponente eines Primärschlüssels einer Basisrelation darf nichts enthalten
Referenz-Integritätsregel:
- relationale Datenbank enthält keinen Fremdschlüsselwert (ungleich Null), der im dazugehörigen Primärschlüssel nicht existiert
Welche grundlegenden Kardinalitäten gibt es?
1: 1 Beziehung -> jede Entität eines Entitätstypes steht mit der Entität eines anderen Entitätstyps in Beziehung
1: n Beziehung -> jede Entität eines Entitätstypes steht mit beliebig vielen Entitäten des anderen Entitätstypes in Beziehung
n: m Beziehung -> jede Entität eines Entitätstypes steht mit beliebig vielen Entitäten des anderen Entitätstypes in Beziehung, gleiches gilt für die Gegenrichtung