Zusammenfassung Datenbanken PDF

Title Zusammenfassung Datenbanken
Course Datenbanktechnik
Institution Duale Hochschule Baden-Württemberg
Pages 27
File Size 1.7 MB
File Type PDF
Total Downloads 119
Total Views 608

Summary

Zusammenfassung Datenbanken Martin Gatzemeier Sven Guthe Angewandte Informatik 1 1 GRUNDLAGEN Datenbank Eine Datenbank, auch Datenbanksystem (DBS) genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, Datenmengen effizient, widerspruchsfrei und dauerha...


Description

Zusammenfassung Datenbanken Martin Gatzemeier

Sven Guthe

Angewandte Informatik

1

1 GRUN RUND DLA LAG GEN Datenbank Eine Datenbank, auch Datenbanksystem (DBS) genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen. Datenbankmanagementsystem Ein Datenbankmanagementsystem ist ein Softwaresystem, welches dem Benutzer das Erstellen und die Pflege einer Datenbank möglich macht. Verantwortlichkeiten -

Definition der Daten Konstruktion der Daten Manipulation der Daten

Ein DBMS ist essentieller Bestandteil einer Datenbank ACID A: Atomicity C: Consistency I: Isolation D: Durability Schema Die strukturelle Beschreibung einer Datenbank wird als Schema bezeichnet. Darunterfallen sowohl die Daten selbst als auch Beziehungen zwischen Daten, Semantik der Daten und Konsistenzbedingungen. Datenmodell Datenmodelle sind Formalismen zur Beschreibung von Datenbankschemata Entity Relationship Modell (Entitäten, Beziehungen) Relationales Datenmodell (Tabellarisch, Beziehungen) Physisches Schemata (Definieren wie Daten auf Festplatte gespeichert werden) Datenbanksprachen SQL (Structured Query Language) – DDL und DML Aufgaben DDL (Data Definition Languages) – Datenstrukturen beschreiben DML (Data Manupulation Languages) – Daten lesen, schreiben, ändern, löschen Hierarchische Datenbanksysteme Logischer Aufbau entspricht Baumstruktur Sven Guthe

Angewandte Informatik

2

Zugriff über Wurzel Kurze Zugriffszeiten Manipulation schwer Netzwerkartige Datenbanksysteme Höhere Flexibilität dennoch unflexibel in Strukturveränerungen Schnell Komplex Relationale Datenbanksysteme Ausschließlich Tabellen – sehr flexibel Durch SQL weit verbreitet und einfach Zusammenhänge zwischen Tabellen werden über Relationen hergestellt Relationenname, Attribute, Relationsschema, Relation, Tupel Objektorientierte Datenbanksysteme Im Unterschied zur relationalen Datenbank werden Daten hier als Objekte im Sinne der Objektorientierung verwaltet. Vorteile bei der Programmierung mit Java Nachteil bei Performance durch hohe Komplexität Datenbankakteure DB-Administrator (Verantwortlich für Betrieb) DB-Designer (Festlegung Schema) Systemanalytiker/Anwendungsentwickler (Ermittlung der Anforderungen seitens der Endbenutzer) Endbenutzer (Zugriff auf die Daten)

Sven Guthe

Angewandte Informatik

3

2 ENTI NTITY TY-RELA ELAT TIO IONS NS NSH HIP-MODELL Fachbegriffe Entität – stellen Objekte der realen Welt dar. Attribute – Teil einer Entität, der diese beschreibt. Beziehung – Kann zwischen Entitäten exestieren. Entitätstyp – Entitäten mit den gleichen Attributen. Entitätsmenge – Die Sammlung von Entitäten eines Entitätstyps. Entwurfsfragen In ER-Diagrammen liegt der Fokus auf der Darstellung des Schemas, nicht der Instanzen. Entitätstypen werden mit Substantiven im Singular benannt. Stufenweise: -

Erstes Konzept mit grundlegenden Entitätstypen und Attributen Einfügen von Beziehungstypen und Kardinalitäten Attribute, die in mehreren Entitätstypen vorkommen, können auf einen eigenen Entitätstyp verfeinert werden Zusammenlegung von Entitätstypen

Notation Chen-Notation UML-Notation (Klassendiagramme, Vererbung, keine Beziehung vom Grad n>2) Crow’s Feet Notation Entitätstypen

Attributtypen können Atomar, Zusammengesetzt, Einwertig, Mehrwertig, Abgeleitet und Null sein. Notation von Attributstypen

Sven Guthe

Angewandte Informatik

4

Identifizierbarkeit von Entitäten Ein Schlüssel ist ein Attribut oder eine Attributkombination, mit dem eine Entität eines Entitätstyps eindeutig identifiziert werden kann.

Beziehungstypen

Grad einer Beziehung

Rekursive Beziehung

Sven Guthe

Angewandte Informatik

5

Kardinalitäten 1:1, 1:n, n:m

Totale Teilnahmeeinschränkung Der Professor muss zwingend einen Studiengang leiten.

Spezielle Beziehungen Für die Abbildung von Generalisierungen, Vererbungen oder Aggregationen gibt es is-a und part-of Beziehungen.

Schwache Entitäten Schwache Entitäten können nicht ohne eine weitere Entität identifiziert werden.

Sven Guthe

Angewandte Informatik

6

3 RELA LATI TI TION ON ONAL AL ALE ES MODELL U UND ND ALGEB EBRA RA Relationales Modell Tabelle mit einem eindeutigen namen, Attributen und Tupeln. Entwickelt von Frank Codd. (IBM) Datenstruktur Einzige Datenstruktur ist die Relation (Tabelle). Tabelle repräsentieren Entitätstypen. Zeilen repräsentieren Objekte. Spalten repräsentieren Attribute. Relation

Definition und Notation Relationsschema setzt sich aus Relationsnamen und einer Liste von Attributen zusammen. Relationsschema R, R (A1, A2, ..., An). Wertebereich (Domäne) D ist eine Menge atomarerer Werte (PLZ, Geburtstag). Attribute sind Rollenbezeichnungen einer Domäne. Grad einer Relation ist die Anzahl der Attribute einer Relation. Tupel t ist eine geordnete Liste von Werten t=. Implikationen aus en Definitionen Es exestiert keine Reihenfolge von Tupeln Die Relationen müssen sich unterscheiden Schlüssel Superschlüssel (Menge von einem oder mehreren Attributen, die ein Tupel garantiert eindeutig identifizieren) Schlüsselkandidat (ist ein minimaler Superschlüssel) Primärschlüssel (Genau ein Schlüsselkandidat wird als Primärschlüssel festgelegt)

Sven Guthe

Angewandte Informatik

7

Fremdschlüssel Ein Fremdschlüssel ist eine Menge von Attributen in einer referenzierenden Relation (im Beispiel Auftrag), deren Werte garantiert als Primärschlüssel in der referenzierten Relation (im Beispiel Kunde) vorkommen. Beziehungen Hierarchische Beziehungen werden durch Fremdschlüssel dargestellt. Nicht – hierarchische Beziehungen werden durch assoziative Tabellen dargestellt. Relationale Algebra Basismenge relationaler Operationen für das relationale Modell. Ermöglichen die Spezifizierung grundlegender Suchanfragen. Das Ergebnis solcher Suchanfragen ist wieder eine neue Relation. Diese Ergebnis-Relation kann wiederum für weitere Operationen genutzt werden. Eine Sequenz relationaler Algebra-Operationen wird als relationaler Algebra-Ausdruck bezeichnet. Man unterscheidet zwischen Mengenoperationen und speziellen DB-Operationen. Notation

Select

Sven Guthe

Angewandte Informatik

8

Projektion

Umbenennung

Mengenoperation Union (Vereinigung) Intersection (Schnitt) Difference (Differenz) Division

Das kartesische Produkt Kombiniert alle Tupel in S mit allen weiteren Tupeln in T (Tupelkonkatenation). Keine Schemagleichheit gefordert: Schemata müssen paarweise disjunkt sein (besitzen kein gemeinsames Element).

Sven Guthe

Angewandte Informatik

9

Kartesisches Produkt – Verbund / Join Das Problem der doppelten Attributnamen ist gelöst. Nach wie vor werden aber unechte Tupel erzeugt, die logisch nicht zusammenpassen. Auch hierfür muss es eine Operation geben, die diesem Umstand begegnet.

THETA JOINs geben keine Tupel zurück, deren JOIN-Attribute Null sind. Ist der Gleichheitsoperator (z.B. a = b), so wird der Join auch Equijoin genannt (spezielle Form des Theta Joins). Eine weitere Vereinfachung besteht im Weglassen der Bedingung: Natural Join. Left-Outer-Join

Sven Guthe

Angewandte Informatik

10

4 DIE SPR PRA ACH CHE E SQ SQLL Grundlagen SQL ist eine deskriptive Sprache Datentypen

Besondere Datentypen Enum, gemometrische Datentypen, Netzwerktypen, uuid, XML DDL (Data Definition Language) -

Create Schema Create Table Drop Table Alter Table

Anlegen einer Datenbank CREATE SCHEMA ; Anlegen einer Relation CREATE TABLE ( ) Integritätsbedingungen

Anlegen mit Primärschlüssel

Sven Guthe

Angewandte Informatik

11

Automatisch inkrementierter Primärschlüssel

Fremdschlüssel

Löschen einer Tabelle mit abhängigen Objekten DROP TABLE Professoren CASCADE; Ändern einer Tabellendefinition ALTER TABLE Professoren ADD COLUMN Raum INTEGER; DML (Data Manipulation Language) -

INSERT DELETE UPDATE SELECT JOINS Mengenoperationen, Unteranfragen, Null Werte, ...

Einfügen von Tupeln INSERT INTO [(attributliste)] VALUES (werteliste); Löschen von Tupeln DELETE FROM WHERE ; Ändern von Tupeln UPDATE SET = WHERE ; Selektion von Tupeln

Sortierung SELECT PersNr, Name, Rang FROM Professoren ORDER BY Rang desc;

Sven Guthe

Angewandte Informatik

12

Umbenennung SELECT PersNr AS Nummer, Name from Professoren Duplikat-Eliminierung SELECT DISTINCT Rang from Professoren Mehrere Relationen

Allgemeiner Join

Ähnlich auch bei den anderen Joins (left outer join, right outer join, ...) Mengenoperationen

Verschachtelung mit EXISTS

Verschachtelung mit IN

Aggregation und Gruppierung Aggregatfunktionen: avg, max, min, count, count(distinct), sum Übersetzung Aggregation

Sven Guthe

Angewandte Informatik

13

SQL: Unteranfragen Verschachtelungen in allen Sprachkonstrukten möglich.

Spezielle Sprachkonstrikte between und in

Spezielle Sprachkonstrukte Patternvergleiche mit Like

Spezielle Sprachkonstrukte case ... when

Sven Guthe

Angewandte Informatik

14

5 NOR ORMA MA MALLISIE ISIER RUN UNG G Anomalien Einfügeanomalie: Falsche Daten führen zu inkonsistenten Daten Modifikationsanomalie: Änderung eines Attributwertes müssen in allen Tupeln durchgeführt werden Löschanomalie: Das Löschen eines Datensatzes vernichtet Informationen über andere Sachverhalte Breite Relationen Bei Abfragen einfach zu handhaben aber leiden an Anomalien. Vermischung unterschiedlicher Entitäten führt zu Unsauberkeiten. Schmale Relationen Sind extrem unhandlich. Semantische Einheiten werden zerschlagen und müssen mit viel Aufwand zusammengefügt werden. Funktionale Abhängigkeiten Ich kann mir ein oder mehrere Attributwerte durch ein oder mehrere Attribute ableiten. Eine Funktion erzeugt für gleiche Eingabewerte auch identische Ausgabewerte.

Normalisierung Die Datennormalisierung ist der Zerlegungsprozess einer Relation in Teilrelationen anhand von Regeln, die die funktionalen Abhängigkeiten sowie Schlüsseleigenschaften analysieren. Die Zerlegung unterliegt der Verbundtreue, es muss nach der Zerlegung wieder rekonstruierbar sein. Die Zerlegung muss abhängigkeitstreu sein, die funktionalen Abhängigkeiten bleiben erhalten. Die Normalisierung ermöglicht eine Vermeidung von Redundanz- und Integritätsproblemen. Die 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.

Sven Guthe

Angewandte Informatik

15

Die 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. Die 2NF eliminiert alle partiellen funktionalen Abhängigkeiten, d.h. kein Nichtschlüsselattribut ist funktional abhängig von Teilen des Schlüsselkandidaten.

Vorteile: Es konnten einige Redundanzen, die potentiell für Anomalien verantwortlich sind, beseitigt werden. Die 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. Ein Nichtschlüsselattribut darf nicht von einer Menge aus Nichtschlüsselattributen abhängig sein. Ein Nichtschlüsselattribut darf also nur direkt von einem Primärschlüssel (bzw. einem Schlüsselkandidaten) abhängig sein. Sven Guthe

Angewandte Informatik

16

Zusammenfassung 1NF: Alle Attribute müssen Atomar sein 2NF: Volle funktionale Abhängigkeit der Nicht-Schlüssel-Attribute 3NF: Kein Nicht-Schlüssel-Attribut transitiv von Schlüsselattribut abhängig

Sven Guthe

Angewandte Informatik

17

6 DAT ATEN EN ENBA BA BANK NK NKE ENT NTWU WU WUR RFSP FSPR ROZE OZESS SS Überführung von ER-Modelle in das relationale Modell Entitäten repräsentieren Objekte der realen Welt. Attribute repräsentieren Merkmale von Entitäten. Beziehungen verknüpfen Entitäten untereinander.

Entitätstypen entsprechen Relationenschemata. Entitäten entsprechen einem Tupel einer Relation. Beziehungen können durch Fremdschlüssel ausgedrückt werden. Entitäten und Attribute Entitäten und deren Attribute können direkt in ein Relationsschema überführt werden.

Mehrwertige und zusammengesetzte Attribute Hierfür gibt es im relationalen Datenmodell keine Entsprechung, diese Attribute müssen daher in atomare Attribute aufgelöst werden: Erzeugen von mehreren Attributen direkt in der Hauptrelation; Erzeugen einer eigenen Entität für das zusammengesetzte Attribut 1:1 Beziehungen Beim Überführen von 1:1 - Beziehungen wird eine beteiligte Relation um das Fremdschlüsselattribut auf die jeweils andere beteiligte Relation erweitert.

Sven Guthe

Angewandte Informatik

18

1:n Beziehungen Beim Überführen von 1:n - Beziehungen wird die Relation bzw. Entität auf der n-Seite der Beziehung um einen Fremdschlüssel erweitert.

N:m Beziehungen Beim Überführen von n:m - Beziehungen muss eine eigene Relation für die Beziehung gebildet werden. Der Primärschlüssel der neuen Relation wird aus beiden Primärschlüsseln der Ursprungsrelationen zusammengesetzt.

Schwache Entitäten Für den schwachen Entitätstyp wird eine Relation erzeugt, die um einen Fremdschlüssel auf die identifizierende Relation erweitert wird. Der Schlüssel wird zusammengesetzt.

Sven Guthe

Angewandte Informatik

19

Beziehung vom Grad > 2 Für jeden n-ären Beziehungstyp B mit n > 2 wird eine eigene Relation R erzeugt. Diese Relation R beinhaltet die Primärschlüssel-Attribute der beteiligten n Relationen, die die n beteiligen Entitäten repräsentieren, als Fremdschlüssel. Weiterhin beinhaltet R alle eventuellen Beziehungstyp-Attribute. Der Primärschlüssel wird normalerweise aus den Fremdschlüsseln zusammengesetzt. Ist die Kardinalität eines beteiligten Entitätstyps 1, so wird dessen Fremdschlüsselattribut nicht in den Primärschlüssel aufgenommen. Is-a Beziehung

One Table per Class Hierarchy: Alle Attribute der Klassenhierarchie werden in eine gemeinsame Relation überführt und durch ein Diskriminator-Attribut unterschieden.

One Table per Concrete Class: Alle konkreten Klassen werden in einer eigenen Relation abgebildet.

Sven Guthe

Angewandte Informatik

20

One Table per Class: Alle Klassen (auch die abstrakten) werden in einer eigenen Relation abgebildet.

Einschränkungen und Integritätsregeln Wertebreich (müssen atomar sein, können über Datentyp festgelegt werden, können Unter- und Obergrenzen haben) Schlüsseleinschränkungen (Menge aller Attribute ist der Default-Schlüssel) Einschränkung auf Null (NOT NULL oder Standard) Datenbankzustand (enthält viele Relationen die in unterschiedlicher Weise in Verbindung stehen. Dann hat das Relationale Datenbankschema eine Integritätseinschränkung) Integrität und Fremdschlüssel (Entitätsintegrität – Primärschlüssel dürfen nicht NULL sein, Referenziele integrität – Dient Wahrung der Konsistenz zwischen Tupeln zweier Relationen, Fremdschlüssel – Referenziert auch wirklich auf etwas) Einschränlungen bei CRUD-Operationen (Die Integritätseinschränkungen dürfen durch keine der CRUD-Operationen verletzt werden) -

Insert (Beachtung Wertebereich – Datentyp, Schlüsseleinschränkungen – mehrfach vergeben, Referenzielle Integrität – FK muss sich auf PK beziehen) Update (Wie Insert) Delete (Referenzielle Integrität)

Sven Guthe

Angewandte Informatik

21

7 DAT ATEN EN ENSI SI SICHE CHE CHER RHE HEIT IT UN UND D –IN INTE TE TEGR GR GRIT IT ITÄT ÄT Transaktion Entsteht in Folge von INSERT, UPDATE, DELETE Befehlen, die als atormare Einheit ausgeführt werden. Eine Transaktion überführt einen konsistenten DB-Zustand in einen wiederum konsistenter DBZustand. Lesende Zugriff parallel – schreibende Zugriff lediglich einer (Lesen nur geblockt, wenn gerade geschrieben wird) Basis für Datensicherheit und Concurrency Control Definiert durch ACID – Umgesetzt durch Logging und Locking Logging Mitprotokollieren aller Änderungen (System-Log-Dateien) Nach Commit können Checkpoints für Rollback wieder aus den Logs gelöscht werden Locking Sperren von Daten im Mehrbenutzerbetrieb LOCK-Ebenen (Datenbank, Tabelle, Seite einer Tabelle, Tupels, Felder) Schreibende Zugriffe – X LOCKS (bis Transaktionsende) Optimistische Lockverfahren (wenig schreibende DB-Zugriffe) Pessimistische Lockverfahren (viel schreibende DB-Zugriffe) ACID (Atomicity, Consistency, Isolation, Durability) Atomarität: -

Eine Transaktion wird ganz oder gar nicht durchgeführt Gewährleistet durch: o Logging: Protokollierung ermöglicht Rollback o Locking: Synchronisation konkurrierender Zugriffe durch Sperren verhindert parallele Zugriffe

Konsistenz: -

Konsistenz vor der Transaktion – Konsistenz nach der Transaktion Während Transaktion konsistente Sicht auf Daten Konsistenz = Einhaltung aller Integritätsbedingungen (Referentielle, Entität) Gewährleistet durch: o Logging: sorgt für Konsistenzerhaltung im Fehlerfall o Locking: unterstützt Konsistenzerhaltung bei konkurrierenden Zugriffen

Isolation: -

Zugriff auf Daten ohne Information konkurrierender Zugriffe Einstellungen der Isolation – READ COMMITED, REPEATABLE READ, READ UNCOMMITED, SERIALIZABLE (Transaktionaler Isolationsgrad)

Sven Guthe

Angewandte Informatik

22

-

READ UNCOMMITED (Eine Transaktion kann Daten lesen, die von einer anderen, noch nicht abgeschlossenen Transaktion geschrieben wurden) READ COMMITED (erst durch commit bestätigt) REPEATABLE READ (unbeabsichtigtes Lesen wird verhindert) SERIALIZABLE (Transaktion verhalten sich so, als würden sie nacheinander ausgeführt werden) Dirty-Read-Problem: Transaktion (lesen) erkennt nicht, dass Daten von anderer Transaktion zwar geschrieben aber noch nicht commitet wurden. Phantome: Lesen während Daten eingefügt werden Non-Repeatable-Read: Lesen während Daten gelöscht und modifiziert werden Lost Updates: Zwei Transaktionen bearbeiten denselben Datensatz

Dauerhaftigkeit: -

Daten stehen nach Transaktionen zur Verfügung Daten stehen auch nach einem Ausfall des Arbeitsspeichers zur Verfügung

Backup und Recovery Backup: Sicherung der Datenbank, Komplett vs. Inkrementell, Redundantes System Recovery: Kurzzeit Recovery (Stromausfall), Langzeit Recovery (Festplatten Crash) Backup Komplett- / Vollsicherung Inkrementelle Sicherung Redundantes System Kurzzeit Recovery Wird vom DBS automatisch durchgeführt, d.h., es ist kein Eingriff des Datenbankadministrators (DBA) notwendig Vorraussetzung: persistent gespeicherte before Images, Der Zeitpunkt, bis zu den Änderungen in die DB geschrieben wurden, muss persistent festgehalten werden (Checkpoint) Durchführung: Alle offenen Transaktionen zum Zeitpunkt des Crashs werden anhand der Log-Dateien zurückgesetzt. Langzeit Recovery Notwendig, wenn DB ausfällt, nicht nur die Instanz. Das Backupkonzept muss vom DBS -Administrator (DBA) implementiert werden. Die Recovery ist vom DBA durchzuführen, sollte aber weit...


Similar Free PDFs