1. Einf ¨uhrung und Wiederholung

Werbung
1. Einführung und Wiederholung
Wiederholung
1. Einführung und Wiederholung
Notwendige Vorkenntnisse:
•
•
•
•
•
•
Elementare Datenbankkonzepte, Datenbankarchitektur
Datenmodelle: Entity-Relationship-Modell, UML
Relationales Modell: Relationen (Tabellen), Attribute, Schlüssel
Datenbankentwurf: Integritätsbedingungen, Normalformen
Datenbanksprachen: Relationale Algebra, SQL
Transaktionen: ACID-Konzept
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
11
1. Einführung und Wiederholung
Wiederholung
Datenabstraktion/3-Ebenen-Architektur
Physische Ebene. The unterste Ebene der Abstraktion beschreibt, wie die Daten
gespeichert werden.
Logische Ebene. Hier wird beschrieben, welche Daten in einer Datenbank gespeichert werden und welche Beziehungen zwischen den Daten bestehen.
Sichtenebene. Anwendungsorientierte vereinfachte Sichten auf die logische Ebene
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
12
1. Einführung und Wiederholung
Wiederholung
ANSI/SPARC-Datenbankarchitektur
view level
view 1
physical level
Tables, Attributes, Keys, Foreign Keys
Query Processing
logical level
view N
Data Abstraction
. . .
Views
Indexes, Table Spaces, Segments
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
13
1. Einführung und Wiederholung
Wiederholung
Datenunabhängigkeit
Physische Datenunabhängigkeit beschreibt die Möglichkeit,
• Änderungen auf der physischen Ebene vornehmen zu können,
• ohne Änderungen in Anwendungsprogrammen vornehmen zu müssen.
Modifikationen auf der physischen Ebene sind z.B. notwendig, um die Performanz
eines Datenbanksystems zu verbessern.
Logische Datenunabhängigkeit beschreibt die Möglichkeit,
• Änderungen auf der logischen Ebene vornehmen zu können,
• ohne Änderungen in Anwendungsprogrammen vornehmen zu müssen.
Solche Modifikationen sind z.B. notwendig, wenn die logische Beschreibung um
zusätzliche Aspekte erweitert wird.
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
14
1. Einführung und Wiederholung
Wiederholung
Entity-Relationship-Modell
• Ein ER-Diagramm definiert die logische Struktur einer Datenbank in graphischer
Form.
• Eine Entität ist ein Gegenstand der realen Welt, der von anderen Gegenständen
unterscheidbar ist. Im ER-Diagramm beschreibt man Arten von Entitäten (Rechteck).
• Die Eigenshcaften der Arten von Entitäten werden in einer Datenbank durch eine
Menge von Attributen beschrieben (Ellipse).
• Zwischen Entitäten kann eine Beziehung bestehen (Raute). Auch Beziehungen
können Attribute haben.
• Kardinalitätsangaben geben die Anzahl an Entitäten an, zu der eine Entität in Beziehung stehen kann.
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
15
1. Einführung und Wiederholung
Wiederholung
name
customer
account−id
address
customer−id
mc
1
balance
account
depositor
• Unterstrichene Attribute kennzeichnen Schlüsselattribute
• Es existieren viele verschiedene Varianten von ER-Diagramm-Notationen.
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
16
1. Einführung und Wiederholung
Wiederholung
Relationales Modell
• Im relationalen Modell werden die Daten einer Datenbank und die Beziehungen
zwischen den Daten durch eine Menge von Relationen (Tabellen) repräsentiert.
• Jede Tabelle (Relationen) hat eine oder mehrere Spalten (Attribute), und jede Spalte hat einen eindeutigen Namen.
• Ein Datenbankschema ist eine Menge von Relationenschemata, eine Datenbank
eine Menge von Relationen.
• Eine Zeile einer Tabelle wird als Tupel bezeichnet. Solch ein Tupel repräsentiert
eine Entität oder stellt eine Beziehung zwischen Entitäten dar.
• Ein Schlüssel ist eine Menge von Attributen, deren Werte Tupel in einer Relation
eindeutig identifizieren. Jede Relation hat einen ausgezeichneten Primärschlüssel
(primary key).
• Beziehungen zwischen Tupeln werden durch Fremdschlüssel (foreign keys) repräsentiert.
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
17
1. Einführung und Wiederholung
Wiederholung
customer-id
customer
name
address
4711
4712
4713
Johnson, Bill
Smith, Joseph
Turner, Peter
Palo Alto
Stanford
Carmel
account-id
12345
34343
77777
account
customer-id
4711
4712
4712
balance
500
700
900
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
18
1. Einführung und Wiederholung
Wiederholung
Datenbankentwurf
• Integritätsbedingung: funktionale Abhängigkeit
Attribut b is funktional anhängig von Attribut a (a → b) in Relation r genau dann,
wenn:
∀t1 , t2 ∈ r : t1 .a = t2.a ⇒ t1.b = t2 .b
• 1. Normalform: flache Relationen, alle Attributwerte müssen atomar sein
• 2. Normalform: Jedes Nichtschlüsselattribut ist voll funktional abhängig von jedem
Schlüssel.
• 3. Normalform: Es existiert kein Nichtschlüsselattribut, das von einem Schlüsselattribut transitiv abhängig ist.
• Normalisierung: Datenbankentwurf, so dass
– jede Relation in 3. Normalform ist,
– alle funktionalen Abhängigkeiten erhalten bleiben und
– der natürliche Verbund der Relationen verlustfrei ist.
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
19
1. Einführung und Wiederholung
Wiederholung
Datenbankabfragen
Operationen der relationalen Algebra ausgedrückt in SQL:
• Projektion πAttribute : Name und Adresse von allen Kunden
select name, address
from customer
• Selektion σBedingung : Welche Kunden leben in Stanford?
select *
from customer
where address = ’Stanford’
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
20
1. Einführung und Wiederholung
Wiederholung
• Verbund R ⊲⊳ S : Liste alle Kunden mit ihren Konten auf.
select *
from customer c, account a
where c.customer_id = a.customer_id
• SQL bieten weitere Funktionalitäten für Abfragen an:
– subquery
– exists, in, all, any
– dynamic views
– grouping
– column aggregation
– update/delete
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
21
1. Einführung und Wiederholung
Wiederholung
Transaktionen
Eine Transaktion ist eine Folge von Datenbankoperationen, die eine einzelne logische
Operation einer Datenbankanwendung ausführen.
ACID-Prinzip für Transaktionen:
Atomicity: Entweder müssen alle oder keine der Datenbankoperationen einer Transaktion ausgeführt werden.
Consistency: Übergang von einem konsistenten in einen konsistenten Zustand.
Isolation: Parallel laufende Transaktionen werden logisch serialisiert.
Durability: Nach dem erfolgreichen Ende einer Transaktion muss der Zustand dauerhaft gespeichert sein.
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
22
1. Einführung und Wiederholung
Übersicht über objektrelationale Konzepte
Objektrelationale Datenbanksysteme
• Weiterentwicklung relationaler Datenbanksysteme
• unterstützen eine Reihe von neuen Konzepten, die ihren Ursprung in der Objektorientierung haben
• Ziel: Datenbanktechnologie auf die Verwaltung beliebiger Arten von Daten ausdehnen
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
23
1. Einführung und Wiederholung
Übersicht über objektrelationale Konzepte
Vorteile objektrelationaler Datenbanksysteme
• vereinfachte Abbildung und Darstellung komplexer Objekte und komplexer Operationen: mehr Semantik in der Datenbank
• Wiederverwendung auf Datenbankebene
• Höherer Abstraktionsgrad, zentrale Verwaltung
• strengere Typisierung
• höhere Effizienz, z.B. durch angepasste Indexstrukturen
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
24
1. Einführung und Wiederholung
Übersicht über objektrelationale Konzepte
Typische objektrelationale Konzepte
•
•
•
•
•
•
Typkonstruktoren
Benutzerdefinierte Datentypen
Typhierarchien
Erweiterte Tabelle
Typisierte Tabellen und Tabellenhierarchien
Datenbankerweiterungen
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
25
1. Einführung und Wiederholung
Übersicht über objektrelationale Konzepte
Typkonstruktoren
Konstruktion neuer Datentypen für Kollektionen auf Basis bestehender Datentypen,
z.B.
•
•
•
•
•
Tupel
Menge
Multimenge
Liste
Array
• Möglichkeit zur Verschachtelung der Typkonstruktoren
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
26
1. Einführung und Wiederholung
Übersicht über objektrelationale Konzepte
Benutzerdefinierte Datentypen
Erweiterung des Vorrats an bestehenden Datentypen; man unterscheidet:
Distinct-Typen: neue Datentypen werden durch bestehende einfache Datentypen
repräsentiert
Ziel: Semantische unzulässige Vergleiche und Zuweisungen ausschließen
Prinzip der strengen Typisierung
Strukturierte Typen: Objekttyp, der Eigenschaften und Verhalten definiert, analog
einer Klasse in der objektorientierten Programmierung:
• Strukturierung, Kapselung
• zustandsunabhängige Objektidentifikation
• Vererbung, Typhierarchien
• Substituierbarkeit
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
27
1. Einführung und Wiederholung
Übersicht über objektrelationale Konzepte
Erweiterte Tabellen
Aufweichung der ersten Normalform, Tupel-Attribute können nicht atomare Werte aufweisen:
•
•
•
•
•
Kollektionen: Mengen, Arrays, etc.
strukturierte Werte
Relationen
Referenzen (Objektidentifikationen, OID)
Large Objects (LOBs)
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
28
1. Einführung und Wiederholung
Übersicht über objektrelationale Konzepte
Typisierte Tabellen und Tabellenhierarchien
• Eine typisierte Tabelle wird auf Basis eines benutzerdefinierten strukturierten Typs
definiert.
• strukturierter Typ entspricht einer Klasse, die Tupel der typisierten Tabelle den Instanzen der Klasse
• Typhierarchie überträgt sich auf Tabellenhierarchie, dort entsteht dann automatisch
eine Teilmengenbeziehung zwischen den Tabellen.
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
29
1. Einführung und Wiederholung
Übersicht über objektrelationale Konzepte
Datenbankerweiterungen
• Semantik ist schön, aber eine Datenbank benötigt auch Effizienz.
• Das DBMS weiß zunächst nicht, wie Operationen bei selbst definierten Typen für
Abfragen effizient unterstützt werden können.
• Hierfür bieten viele DBMS Erweiterungsmöglichkeiten an, z.B. die Integration spezieller Indextypen.
Objektrelationale Datenbanksysteme — Hochschule Bonn-Rhein-Sieg, WS 2012/13
30
Herunterladen