Datenbanksysteme Themen Themen Themen

Werbung
Themen
1 Grundlagen
• Definition und Bedeutung von DB’s
• Klassifikation von DB-Systemen
Datenbanksysteme
• Relationale Datenbanken
• Einführung in SQL
• Clientseitige Programmierung
Prof. Dr. Christoph Dalitz
2 Datenmodelle
Hochschule Niederhein - Bachelor Informatik
• Drei Schichten Modell und Entwurfsmethodik
Lehrveranstaltung im Sommersemester 2017
• Relationales Modell
• Abhängigkeiten und Normalformen
• relationale Algebra
• Semantische Modelle (z.B. Entity-Relationship)
Hochschule Niederrhein
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Themen
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -2-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Themen
3 Fortgeschrittene Themen
Praxis−
Anforderungen
• Weitere Datenobjekte (Sequence, View...)
• Serverseitige Programmierung (PL/SQL, Trigger)
• Datenbank Tuning
Anwendungs−
programm
Verwal−
tung
Speich−
erung
• Datensicherheit und Transaktionen
DBS
1
Datenbankpraxis
Was bietet ein DBS? Wie nutzt man es?
2
Datenmodellierung
Umsetzung realer Datenstruktur in relationale DB
3
DBS-Implementierung
Wie ist ein DBS intern implementiert?
• Interne Implementierung von Datenbanksystemen
I Speicherstrukturen und Indizes
I Recovery bei Systemabsturz
I Abfrageverarbeitung
• verteilte Datenbanken
• objektorientierte Datenbanken
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -1-
Nicht behandelte Themen
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -3-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Literatur
1.1 Definition, Bedeutung
DBS-Architektur
Vorlesung
Elmasri, Navathe: Grundlagen von Datenbanksystemen.
Pearson Studium 2005 (3. Auflage, Grundstudiumsausgabe)
Abfrage,
Manipulation
Struktur−
definition
DML
Prozessor
DDL
Prozessor
Garcia-Molina, Ullman, Widom: Database Systems - The
Complete Book. Prentice Hall 2002
Optimizer
D
B
S
Praktikum
PostgreSQL Online-Dokumentation:
http://www.postgresql.org/docs/
Datenbank
Manager
Mehrbenutzer
Synchronisation
RDBMS
Matthew, Stones: Beginning Databases with PostgreSQL.
Apress 2005
Logbuch
Indizes
Daten−
basis
System
Katalog
Speicher
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -4-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.1 Definition, Bedeutung
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.2 Klassifikation
Aufgaben eines DBS
Einteilung von Datenbank-Systemen“
”
nach verschiedenen Kriterien
• Datendefinition
I Data Definition Laguage (DDL)
I System Catalog (Data Dictionary)
• Leistungsumfang
• Datenmanipulation
I Data Manipulation Language (DML)
I Abfrageoptimierung
Welche Aufgaben eines DBS sind implementiert?
⇒ Desktop, Client-Server, verteilte Datenbank
• Datenschutz
I Benutzerrechte und Zugriffsbeschränkung
• logische Datensicht (”Datenmodell”)
Wie präsentieren sich Daten aus Sicht des Anwenders?
⇒ hierarchisch, relational, objektorientiert
• Datensicherheit
I Konsistenzprüfung, Integrity Constraints
I Transaktionen
I Concurrency Control
I Recovery bei Systemfehlern
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -5-
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -6-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -7-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.2 Klassifikation
1.2 Klassifikation
Pgm2
KD# Kunde
Pgm1
BSD
Sockets
Client 1
Domain Sockets
VS# Versicherg.
BK# Bankverb.
DBMS
KS# Klausel
BSD
Sockets
Pgm1
Hierarchisches Modell
DB
Server
Client 2
• 1969 von IBM mit IMS eingeführt
• Datensätze in geordnetem Baum gespeichert
Client-Server DBS
• Zugriff durch Direktzugriff über Schlüssel
und Manövrieren in Baumhierarchie
• DBS eigenständiger Prozess
• Zugriff über IPC-Mechanismen
⇒ Abhängigkeit von physischer Datenstruktur
• Multi-User Systeme
Hochschule Niederrhein
University of Applied Sciences
Dalitz: Datenbanksysteme Kap1.1-3. -8-
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.2 Klassifikation
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -10-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.2 Klassifikation
Pgm
Pgm
Pgm
DB−Lib
DB−Lib
DB−Lib
KD# Kunde
VS# KD# Versicherg.
BK# KD# Bankverb.
KD# Kunde
Client 1
DB
Desktop
Rechner
Client 2
VS# KD# Versicherg.
KS# VS# Klausel
Fileserver
Relationales Modell
• 1970 von Codd vorgeschlagen
• Daten in Tabellen gespeichert
Desktop Datenbank
• Direktzugriff auf Daten über dazugelinkte Library-Routinenen
• Mehrbenutzersynchronisation nur über primitives Filelocking
• Single-User Systeme
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -9-
VS# KD# Versicherg. Kunde
DB
University of Applied Sciences
• Zugriff durch Erzeugung von neuen Tabellen aus alten
⇒ physische Datenunabhängigkeit
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -11-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.2 Klassifikation
1.3 Relationale Datenbanken
Objektorientierte Datenbanken
Aspekte des relationalen Modells
• seit 1985 für komplexe Anforderungen (z.B. CAD) entwickelt
• Daten in benutzerdefinierten Strukturen gespeichert
• Daten-Struktur:
Anwender sieht Daten als Tabellen
• Zugriff über benutzerdefinierte Funktionen
• DBS ist Bausatz“ für eigene DB-Implementierung
”
⇒ Abhängigkeit von Klassenimplementierung
• Daten-Integrität:
Tabellen erfüllen Integritätsbedingungen
Objekt-Relationale Datenbanken
• Daten-Manipulation:
• relationales Modell
Operatoren werden auf Tabellen angewendet
Output ist wieder eine Tabelle
• objektorientierte Erweiterungen:
benutzerdefinierte Datentypen + Operatoren, Vererbung
⇒ beide Welten vereinigt
Hochschule Niederrhein
University of Applied Sciences
Dalitz: Datenbanksysteme Kap1.1-3. -12-
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.2 Klassifikation
Name
Oracle
Hersteller
Oracle
Informix
DB2
Interbase
Sybase
Access
(Informix)
IBM
Borland
Sybase
Microsoft
MS SQL-Server
mySQL
Microsoft
freie Software
PostgreSQL
SQLite
freie Software
freie Software
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.3.1 Struktur
Bemerkung
Marktführer, sehr teuer, viele
Highend-Features, alle Plattformen (AS400, Unix, Windows)
von IBM gekauft
jetzt als “Firebird” OpenSource
Desktop-Datenbank mit umfangreicher Benutzeroberfläche
nur Windows
Teilfunktionalität, speziell für
manche Web-DB’s hinreichend
Das relationale Modell
• Aus Benutzersicht besteht DB aus Tabellen
(logische Struktur). Physische Struktur bleibt
dem Benutzer verborgen.
• Kompletter Informationsgehalt dargestellt
in einer Form: als Feldwerte in Tabellenzeilen.
(Date: The Information Principle“)
”
verbreitet als embedded
SQL Datenbank
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -13-
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -14-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -15-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.3.1 Struktur
1.3.3 Manipulation
nr# :int4
name :char(30)
stadt :char(30)
Erfolgt in relationaler Datenbanksprache
Internationaler Standard ist SQL
11
Thyssen
Duisburg
Daten-Auswertung
12
Siemens
München
• erzeugt aus bestehenden Tabellen neue Tabellen
⇒ Ausgabe kann wieder Input für weitere
Auswertung sein
Eigenschaften einer Tabelle:
• SQL-Befehl: select
• alle Spalten haben skalaren Typ
• alle Spaltenbezeichner sind verschieden
Daten-Änderung
• jede Zeile hat eindeutigen Primary Key
• weist bestehenden Tabellen neue Werte zu
• Felder können leer (NULL) sein
• SQL-Befehle: insert, update, delete
(Ausnahme: Primary Key)
Hochschule Niederrhein
University of Applied Sciences
Dalitz: Datenbanksysteme Kap1.1-3. -16-
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.3.2 Integrität
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.3.4 weitere Objekte
weitere Datenbankobjekte zur Verwaltung
Integrity Constraints
Objekt
index
sequence
trigger
user
group
Bedingungen, die unzulässige Einträge verhindern
• Primary Key
eindeutiges Zeilenmerkmal; verhindert doppelte Zeilen
• Foreign Key
Verweis auf andere Tabelle; verhindert Verweis ins Leere
Hersteller
Produkt
nr#
nr#
name
name
database
schema
Hochschule Niederrhein
University of Applied Sciences
Bedeutung
beschleunigter Zugriff
automatische Schlüsselgenerierung
Callback Mechanismus
Datenbankbenutzer
Benutzergruppe
(vereinfacht Rechteverwaltung)
logische Speichereinheit
Namespace
Die verfügbaren Objekttypen können je DBS variieren.
Z.B. unterstützt Postgres schema erst in Version 7.3
herstellernr
Dalitz: Datenbanksysteme Kap1.1-3. -17-
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -18-
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -19-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.3.4 weitere Objekte
1.3.5 System Catalog
Index
System Catalog PostgreSQL:
• ermöglicht Direktzugriff über Spaltenwert(e)
Catalog Name
pg attribute
pg class
pg database
pg group
pg index
pg relcheck
pg trigger
pg type
pg user
• beschleunigt Zugriff, aber verlangsamt Änderungen
• sinnvoll insbesondere bei Foreign Keys (häufige Joins)
Produkt
pnr#
automatischer Index
durch Primary Key
name
preis
zusätzlicher Index
auf hnr sinnvoll
hnr
Bemerkung:
Zugriff über Index nicht notwendig schneller als sequentiell.
Bei Postgres Statistikauswertung mit (vacuum) analyze nötig.
Hochschule Niederrhein
University of Applied Sciences
Dalitz: Datenbanksysteme Kap1.1-3. -20-
Purpose
table columns (“attributes”, “fields”)
tables, indexes, sequences (“relations”)
databases within this database cluster
groups of database users
additional index information
check constraints
triggers
data types
database users
In psql können Beschreibungen mit \d abgefragt werden.
\set ECHO HIDDEN (oder psql -E) gibt Abfragen mit aus.
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.3.5 System Catalog
Hochschule Niederrhein
University of Applied Sciences
Dalitz: Datenbanksysteme Kap1.1-3. -22-
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
1.3.5 System Catalog
Data Dictionary Oracle:
• Strukturinformationen werden vom DBS
in Tabellen gespeichert
• statt Tabellen Views, die Benutzerrechte berücksichtigen
• Präfix USER ⇒ eigene Objekte
• Sammlung dieser Tabellen heißt System Catalog
• Präfix ALL ⇒ alle Objekte auf die User zugreifen darf
oder Data Dictionary
• Präfix DBA ⇒ alle Objekte
Beispiel:
View
* tables
* tab columns
* sequences
* indexes
* ind columns
* users
* role privs
pg attribute: PostgreSQL column meta data
attrelid
attname
atttypid
...
The table this column belongs to
(references pg class.oid)
Column name
The data type of this column
(references pg type.oid)
...
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -21-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Purpose
Shows all relational tables
Shows all table and view columns
Lists all sequences in the database
Lists all indexes
Lists all indexed columns
Lists all users
Lists all roles granted to users and other roles
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap1.1-3. -23-
University of Applied Sciences
Elektrotechnik
und Informatik
Faculty of Electrical Engineering
and Computer Science
Herunterladen