DBM Flashcards
Entwicklung relationale Datenmodell:
- Edgar F. Codd 1970,
- Datensicht als zweidimensionale Tabelle
- Basierend auf der mathematischen Theorie der Relationen und Prädikatenlogik 1. Ordnung
- Anwendung von systematischen Methoden
Mathematische Grundlage relationale Datenmodell (1):
Gegeben sind nicht notwendigerweise disjunkte Mengen (Domänen)
Mathematische Grundlage relationale Datenmodell (2):
R wird als Relation auf diesen Mengen bezeichnet, wenn R eine Menge von geordneten n-Tupeln ist
Mathematische Grundlage relationale Datenmodell (3):
Di wird als Wertebereich von R bezeichnet
Mathematische Grundlage relationale Datenmodell (4):
n wird als Grad von R bezeichnet (Grad: Anzahl der Attribute (n))
Mathematische Grundlage relationale Datenmodell (5):
- Darstellung der Relation erfolgt in Form von Spalten und Zeilen (Tabelle)
- Spalten werden als Attribute bezeichnet
- Zeilen bilden die n-Tupel
relationale Datenmodell (1):
- Relationenschema R(A1, A2, …, An):
- Relationenname R und Attributliste
relationale Datenmodell (2):
relationales Schema beschreibt Relation
relationale Datenmodell (3):
Relation r(R) eines Relationenschemas R(A1, A2, …, An)
relationale Datenmodell (4):
Menge von n-Tupeln: r = {t1, t2, …, tm}
relationale Datenmodell (5):
Kardinalität: Anzahl der Tupel (m)
relationale Datenmodell (6):
n-Tupel t = (v1, v2, …, vn): geordnete Liste von n Werten
Definition - relationale Datenmodell (1):
Jedes Attribut besitzt einen eindeutigen Namen
Definition - relationale Datenmodell (2):
Jedes Attribut wird durch seinen Namen referenziert
Definition - relationale Datenmodell (3):
Attribute unterliegen keiner Ordnung
Definition - relationale Datenmodell (4):
Attribute in einer Tabelle müssen atomar sein
Definition - relationale Datenmodell (5):
Jede Zeile in einer Tabelle ist eindeutig
Definition - relationale Datenmodell (6):
Die Kardinalität ist die Anzahl der Zeilen zu einem Zeitpunkt
Eindeutigkeit ?
je Zeile ein Schlüssel
Schlüsselarten ?
- Primärschlüssel
- Fremdschlüssel
- Zusammengesetzter Primärschlüssel
- Zusammengesetzter Fremdschlüssel
- Schlüsselkandidat
IBM - SEQUEL ?
Structured English Query Language
1971 (Prototyp System R)
SQL - Sprachtyp?
deklarative Sprache
SQL implementierungsmethoden
- Direktes SQL - SQL-Anweisungen interaktiv
- Modulsprache - SQL-Anweisungen in Programmen in getrennter Form
- Call Level Interface (CLI) SQL-Anweisungen eingebettet durch SQL-Implementierung mittels einer Bibliothek für Programmiersprachen
- Embedded SQL - SQL-Anweisungen innerhalb der Programmiersprache
Sprachbestandteile ?
- Data Definition Language (DDL): Befehle zur Definition des Datenbankschemata -
- Data Manipulation Language (DML): Befehle zur Datenmanipulation = Projektion und Abfrage sowie Ändern, Einfügen, Löschen -
- Data Control Language (DCL): Befehle für die Rechteverwaltung
SQL92 (Bestandteile)
- Erweiterte Datentypen
- Auf-/Abbau von Client-/Server-Verbindung
- Dynamisches SQL
- Cursor (scrollable)
- Outer-Joins
- Intersection-, Minus-Operator
Datentypen von SQL92 (numerisch)
- integer (integer4)
- integer (integer2)
- numeric (p, q) Dezimalzahl mit genau p Stellen, davon q hinter dem Dezimalzeichen
- decimal (p, q) Dezimalzahl mit mindestens p Stellen, davon q hinter dem Dezimalzeichen
- real
- float (p)
- double
Datentypen von SQL92 (Zeichen)
- char{acter} (n): Zeichenkette mit genau n Zeichen - Speicherbedarf: n Byte
- char{acter} varying (n)/varchar (n) : Zeichenkette mit höchstens n Zeichen Speicherbedarf: Länge der Zeichenkette
Datentypen von SQL92 (Erweitert)
- bit (n)
- bit varying (n)
- date
- time
- timestamp
- datetime
- blob
- clob
- stream
Operatoren (Zahlen)
+, -, *, /, %
Operatoren (Datum-/Zeitangaben)
+, -
Operatoren (Boolesche Verknüpfung)
and, or, not
Operatoren (Vergleiche)
=, >, <, >=, <=, <>
SQL92 Abfrage?
SELECT < expression >
FROM < table-name >
[WHERE < search-condition >]
[GROUP BY … [HAVING …]
[ORDER BY …]
SQL 92 Bestandteile einer Abfrage
- Projektion
- Source/Quelle
- Restriktion
- Groupierung / Having-Restriktion
- Sortierung
Mit welcher Erweiterung wird in der Projektion eine Mehrfachnennung unterbunden?
DISTINCT
Mit welcher Erweiterung wird in der Projektion ein Attribut-Name geändert?
AS ‘neuerAttributname’
Wie wird die Ergebnismenge Aufsteigend sortiert
ORDER BY <attributname> ASC</attributname>
Wie wird die Ergebnismenge Absteigend sortiert
ORDER BY <attributname> DESC</attributname>