Datenbanken Flashcards
Datenbankfunktionen nach Codd
- Integration
- Operationen
- Katalog
- Benutzersichten
- Konsistenzüberwachung
- Datenschutz
- Transaktionen
- Synchronisierung
- Datensicherung
Probleme eines Dateisystems
- Redundanz und Inkonsistenz
- Beschränkte Zugriffsmöglichkeiten
- Probleme mit Mehrbenutzerbetrieb
- Verlust von Daten im Fehlerfall
- Integritätsverletzung
- Sicherheitsprobleme
- Hohe Entwicklungskosten
-> Mangelt es an Flexibilität
Synonyme für: Spalten, Wertebereiche, Zeilen
Attribute, Domänen, Tupeln
Definition Datenbank
Eine Datenbank ist eine physische Sammlung von Daten, die einen Ausschnitt der realen Welt
beschreiben. Unter Daten verstehen wir bekannte Tatsachen, die aufgezeichnet werden können und
eine implizite Bedeutung haben.
Definition DBMS
Ein Datenbankmanagementsystem ist ein Softwaresystem, welches dem Benutzer das Erstellen und
die Pflege einer Datenbank ermöglicht.
ACID
- Atomicity, d.h. Sequenzen von Operationen werden als einzelne Operation angesehen und damit entweder
vollständig oder gar nicht ausgeführt. - Consistency, d.h. Nebenbedingungen des Universe of Discourse müssen erfüllt sein (z.B. kann das Alter einer
Person nicht negativ sein). - Isolation, d.h. Daten und Zugriffe auf Daten werden voneinander getrennt, so dass auch parallele Zugriffe
koordiniert werden können. - Durability, d.h. nach einer Operation wird sichergestellt, dass die Daten dauerhaft gespeichert sind und nach
einem Systemausfall wiederhergestellt werden können.
ANSI/SPARC Architektur
- Interne Ebene beschreibt physikalische Speicherstrukturen einer
Datenbank - Konzeptuelle Ebene beschreibt die system- und
anwendungsunabhängige Struktur und verbirgt die physische
Speicherung - Externe Ebene beinhaltet Sichten auf die Daten für bestimmte
Benutzergruppen und verbirgt die konzeptuelle Datenhaltung einer
Datenbank
Physische Datenunabhängigkeit
- Die Art der Datenspeicherung auf der Festplatte wird verborgen.
- Benutzer / Anwendungsentwickler müssen die Dateistruktur nicht mehr kennen
- Änderungen an der Dateistruktur haben keinen Einfluss mehr auf die Anwendung
Logische Datenunabhängigkeiten
- Benutzer / Anwendungsentwickler greifen über bereitgestellte Sichten auf die Daten zu und müssen das
konzeptuelle Modell nicht kennen - Änderungen am konzeptuellen Modell haben keinen Einfluss mehr auf die Anwendung
- > Die logische Datenunabhängigeit ist wesentlich schwerer zu erreichen als die physische!
DDL: Fremdschlüssel
FOREIGN KEY (GebaeudeNr) REFERENCES Gebaeude(GebaeudeNr)
DDL: PK
PRIMARY KEY(GebaeudeNr, RaumNR)
Grade eine Beziehung
2 Grad: binäre Beziehung
3 Grad: ternäre Beziehung
Spezielle Beziehungen
- is-a
- part-of
Superschlüssel
Ein Superschlüssel ist eine Menge von einem oder mehreren Attributen, die ein Tupel in einer
Relation garantiert eindeutig identifizieren.
Kandidatenschlüssel
Ein Schlüsselkandidat ist eine minimaler Superschlüssel.
Primärschlüssel
Genau ein Schlüsselkandidat wird als Primärschlüssel festgelegt.
Was ist beim kartesischen Produkt zu beachten?
Die Relationenschemata müssen paarweise disjunkt sein, es dürfen daher keine
gleichnamigen Attribute existieren!
DDL: neue Datenbank erstellen
CREATE SCHEMA ;
DDL: Integriätsbedingungen
- PRIMARY KEY
- UNIQUE
- NOT NULL
- CHECK
- DEFAULT
- REFERENCES
DDL: Tabele ort mit PLZ prüfen ob zwischen 0 und 9999
CREATE TABLE ort(
PLZ int CHECK(VALUE BETWEEN(0 AND 9999))
);
DDL: Lösch- und Updateverhalten
Beispiel:
ON DELETE CASCADE
ON UPDATE SET NULL
DML: Update
UPDATE
SET =
WHERE ;
DML: Join
SELECT *
FROM KUNDE JOIN Auftrag
ON Kunde.KNR = Auftrag.KNR
DML: GROUP
SELECT KNR, count(*) AS AnzahlLief, sum(Betrag) AS Gesamtwert FROM Lieferung GROUP BY KNR HAVING sum(Betrag) > 10000 ;
DML: RETURNING
WITH del AS (
DELETE FROM Spieler RETURNING *
)
SELECT * FROM del;
View erstellen
CREATE VIEW AnzahlGesamtwert AS
1 Normalform
Eine Relation R ist in 1NF genau dann, wenn alle Attribute von R ausschließlich atomare Werte
annehmen können. Mehrwertige oder zusammengesetzte Attribute sind nicht gestattet
2 Normalform
Eine Relation R ist in 2NF genau dann, wenn sie in 1NF ist und jedes Attribut von R, das nicht Teil
der Menge der Kandidatenschlüssel ist, voll funktional von den Kandidatenschlüsseln abhängt.
3 Normalform
Eine Relation R ist genau dann in 3NF, wenn sie in 2NF ist und kein Nicht-Schlüssel-Attribut
transitiv von einem Schlüsselkandidaten abhängt.
BCNF
Kein Attribut transitiv vom Schlüsselattribut abhängig