Vorlesung mit Übung Datenbanken und Informationssysteme (DBIS)

Werbung
Vorlesung mit Übung
Datenbanken und Informationssysteme (DBIS)
für WiMa-Studenten, B.A.-Studenten mit Ergänzungsfach Informatik u.a.
Wintersemester 2011/12
Institut für Informatik
Lehrstuhl für Datenbanken und Informationssysteme
[http://www.minet.uni-jena.de/dbis]
Prof. Dr. Klaus Küspert (V3)
Dipl.-Inf. Matthias Liebisch (Ü1)
19.10.2011
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 1
Organisatorisches
 Ort/Termine:
- Jeweils Di, 12.15-13.45 Uhr abwechselnd V/Ü in SR 225 CZ3
- Jeweils Mi, 18.00-19.30 Uhr V in SR 315 CZ3
 Erster Ü-Termin wird der 1.11. sein, danach i.w. vierzehntäglich 6 weitere Ü-Termine im
Semester
 Modulprüfungen mündlich oder schriftlich am Semesterende
(Woche vom 06.02.12)
 Folien werden schrittweise im Netz bereitgestellt
- Spätestens 1 Tag vor dem Vorlesungstermin
- http://www.minet.uni-jena.de/dbis/
 Lehrveranstaltungen
 Materialien
 oder Link aus Friedolin
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 2
Literatur
 Vorlesung wird aus verschiedenen Quellen gespeist
 Beispiele für gute, nette Lehrbücher sind:
- Andreas Heuer, Gunter Saake, Kai-Uwe Sattler: Datenbanken:
Konzepte und Sprachen. mitp-Verlag, Bonn, 3. Auflage, 2007
- Andreas Heuer, Gunter Saake, Kai-Uwe Sattler:
Datenbanken kompakt. mitp-Verlag, Bonn
- Stefan Lang, Peter Lockemann:
Datenbank-Einsatz. Springer-Verlag, Berlin Heidelberg
- Werner Kießling, Gerhard Köstler:
Multimedia-Kurs Datenbanksysteme. Springer-Verlag, Berlin Heidelberg
- Karl Neumann:
Datenbanktechnik für Anwender. Hanser Verlag, München
- Alfred Moos, Gerhard Daues:
Datenbank-Engineering. Vieweg Verlag, Braunschweig Wiesbaden
- Günter Matthiesen, Michael Unterstein:
Relationale Datenbanken und SQL. Addison-Wesley Verlag Deutschland,
Bonn
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 3
Inhalt
1. Einleitung und Motivation
- Warum braucht man Datenbanksysteme; welchen Nutzen verspricht
man sich von Datenbanksystemen; welche Probleme sollen sie lösen?
-
Datenverwaltung mit Dateisystemen: Möglichkeiten, Varianten,
Limitationen
-
Datenbanksysteme und ihre Eigenschaften im Überblick:
Was sind die entscheidenden Funktionalitäten von
Datenbanksystemen?
-
Begriffe, die im Zusammenhang mit Datenbanksystemen eine Rolle
spielen, im „Schnelldurchlauf“
2. Datenmodellierung mit Entity-Relationship-Modell
- Was versteht man unter dem ERM?
-
Welche Konstrukte bietet ERM und wie setzt man diese ein?
-
Varianten des ERM, Mächtigkeit und Nutzen dieser Varianten
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 4
Inhalt
3. Relationales Daten(bank)modell
- Exkurs in die Historie: Hierarchisches/Netzwerk-Datenmodell
- Datendarstellung/-modellierung, Konstrukte
- Vom Entity-Relationship-Modell zum relationalen Modell:
Vorgehen/Umsetzung
4. Relationen-Algebra
- Sprachen für das relationale Modell
- Umgang mit zugehörigen relationalen Datenbanksystemen
5. SQL
- SQL (Structured Query Language) als die Datenbanksprache
- Historie und Normierung
- Funktionalität
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 5
1. Einleitung und Motivation

Datenhaltungsfragestellungen

Datenhaltungsanforderungen

Größenordnungen

Datenverwaltung mit Dateisystemen

Dateien vs. Datenhaltungsanforderungen

Datenbanksysteme – Terminologie & Eigenschaften

Architekturen im DB-Umfeld
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 6
1.1 Datenhaltungsfragestellungen
 In sehr vielen Informatik-Anwendungen (Anwendungssystemen) stehen –
teils sehr große – Datenbestände im Mittelpunkt der Betrachtungen.
 Beispiele aus dem betriebswirtschaftlichen Bereich:
- Personaldatensysteme, Lagerverwaltung/Bestandsverwaltung
- Buchungssysteme (Hotel, Flug, Reise, Bahn, Mietwagen ...) und
Abrechnungssysteme
- Kontenführung (Banken etc.)
- Vertragsbestandsverwaltung (Versicherungen, Bausparkassen etc.)
- Auftragsverwaltung (jedes Unternehmen!)
 z.B. SAP R/3 (mySAP ERP)
 Beispiele aus dem technischen Bereich:
- Konstruktionsdatenverwaltung für CAD-Systeme (Computer Aided
Design)
- Verwaltung von Millionen chemischer Verbindungen
- Messdatenerfassung/-verwaltung
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 7
1.1 Datenhaltungsfragestellungen
 Beispiele aus dem „bürokratischen“ Bereich:
- Textverwaltung/Dokumentverwaltung
- Mail-Ablage und -Verwaltung
- Telefonverzeichnisse
 Beispiele aus dem wissenschaftlichen Bereich:
- Regel- und Faktenablage sowie -verwaltung bei Expertensystemen
- Ablage/Verwaltung von Formelsammlungen in der Mathematik
 In allen diesen Fällen sollen Datenbestände zum Zugriff (Lesen) und zur
Veränderung bereitgestellt werden
- meist über eine Anwendung
- teils aber auch zum direkten „Ad-hoc-Zugriff“ seitens des Benutzers
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 8
1.2 Datenhaltungsanforderungen
 Persistente Datenhaltung, d.h. auf nichtflüchtigem Speicher (Magnetplatte, band, optischem Speicher)
 Ggf. sehr große („beliebig große“) Datenmengen: (Giga-/Terabytes/mehr)
 Sehr schneller Zugriff auf die Daten beim Lesen/Einfügen/Ändern/Löschen
i.d.R. keine sequentielle Suche akzeptierbar, „hohe Performance“!!!
 Hohe Verfügbarkeit der Daten: eventuell 24*7, d.h. 24-Stunden-Betrieb 365
Tage im Jahr (Bsp.: Flugbuchungssysteme, Bankensysteme)
 Hohe Flexibilität beim Datenzugriff / der Datenauswertung, integrierte
Auswertbarkeit verschiedener Datenbestände
- Bsp: Welche Mitarbeiter der Firma sind seit über 10 Jahren im
Unternehmen, haben Kurse zu Unix und Windows besucht und haben
schon in mindestens drei Projekten Leitungserfahrung gesammelt?
- hierfür kann man eigens eine Anwendung schreiben (Anfrage
„ausprogrammieren“, will man aber vielleicht nicht)
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 9
1.2 Datenhaltungsanforderungen
 Hohe Flexibilität bzgl. der Datenverteilung:
- Bsp: Mitarbeiterstammdaten auf Rechner in Hamburg, Kursdaten in
Stuttgart, Projektdaten in Dresden; trotzdem integrierte Auswertbarkeit
(„regionale Verteilung“) gewollt (Transparenz)
 Hohe Flexibilität bzgl. der Lastverteilung:
- Bsp.: Von mehreren nahe beieinander befindlichen Rechnern (RechnerCluster) soll auf einen Datenbestand zugegriffen werden können in für
den Benutzer / die Anwendung transparenter Weise
 Hohe Benutzerfreundlichkeit des Datenhaltungssystems
- einfacher Zugriff auf die Daten, leichte Erlernbarkeit der Abfragesprache
bei gleichzeitig großer Mächtigkeit der Sprache
- „Quadratur des Kreises“?  Jein
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 10
1.2 Datenhaltungsanforderungen
 Sicherheit vor Datenverlust:
- Auch bei plötzlich auftretendem Systemausfall („Absturz“) bzw. sogar bei
Versagen eines Externspeichermediums soll kein irreversibler
Datenverlust eintreten bzw. dieser sich in wohldefinierten Grenzen halten
 Sicherheit vor unberechtigtem (änderndem) Zugriff zu den Daten:
- Dies soll möglichst fein und präzise spezifizierbar sein
- Bsp: Personalsachbearbeiter Müller soll nur auf jene Personalstammsätze
zugreifen können, wo Gehalt < 7000. Oder: Änderungen des Gehalts im
Personalstammsatz soll nur der Personalleiter Müller-Meerschwein
vornehmen können.
 Paralleler Zugriff mehrerer („beliebig vieler“) Benutzer auf einen
Datenbestand und zwar ohne dass „Konflikte“ auftreten  logischer
Einbenutzerbetrieb bei physischem Mehrbenutzerbetrieb
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 11
1.2 Datenhaltungsanforderungen
 Hoher Grad an semantischer Integrität im Datenbestand vom
Datenhaltungssystem automatisch garantiert
- Bsp: Datenhaltungssystem garantiert,
• dass Personalnummern nicht mehrfach vergeben werden (Angest. MüllerLüdenscheid und –Meerschwein haben beide Personalnummer 4711  )
• dass Gehalt stets < 10000, falls dies in der Firma so sein soll
semantische Integritätsbedingung
• dass Durchschnittsgehalt einer Abteilung stets < 7000, falls . . .
• dass jeder Mitarbeiter auch wirklich einer Abteilung zugeordnet ist (keine
„Waisenkinder“)
- Datenhaltungssystem überwacht selbständig Integritätsregeln bzw. sorgt
sogar durch „aktive Mechanismen“ dafür, dass Integrität automatisch
wiederhergestellt wird
• Bsp: Abteilungsdaten werden aus Bestand gelöscht, Datenhaltungssystem
löscht autom. alle zugehörigen Angestelltendaten (falls man das so will ...)
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 12
1.2 Datenhaltungsanforderungen
 Hoher Grad an Datenunabhängigkeit (Vertiefung später)
- (Strukturelle) Änderungen im Datenbestand sollen sich möglichst nicht
unmittelbar auf die Anwendungsprogramme auswirken
- Bsp: Angestelltenstammsatz wird um neues Feld „Haarfarbe“ erweitert,
nur ein Anwendungsprogramm (APx) nutzt zunächst dieses neue Feld
alle anderen Anwendungsprogramme sollten von dieser strukturellen
Änderung am besten überhaupt nichts mitbekommen
- Bsp: Gehaltsfeld (INTEGER) wird von 3 auf 4 Bytes erweitert, um auch
Monatsgehälter > 16... Mio darstellen zu können
Alle AP's sollten
davon unberührt bleiben
AP1
AP2
AP3
...
APn
n sehr groß
Betriebssystem + Datenhaltungssystem
Datenbestand
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 13
1.2 Datenhaltungsanforderungen
 Datenbanksysteme sollen bzgl. aller vorgenannten Anforderungen und
Vorstellungen Lösungen bieten
- Funktionalität soll nicht nur „irgendwie“ bereitgestellt werden, sondern
vorallem unter Performance-Gesichtspunkten
- Sonst ist man bei großen Datenbeständen, vielen parallelen
Benutzern, komplexen Anfragen/Auswertungen verloren!!
 Praxis trennt sorgfältig zwischen
- OLTP-Betrieb
unser Thema vorwiegend
• Online Transaction Processing (Bsp: Flugbuchung)
• viele (kurze) Verarbeitungsvorgänge (Transaktionen)
• viele parallele Benutzer, schnelle Antwortzeiten
- OLAP-Betrieb
Thema Data Warehouses
• Online Analytical Processing, auch DSS (Decision Support System)
• komplexe (lange) Verarbeitungsvorgänge
• wenige parallele Benutzer, relativ unkritische Antwortzeiten
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 14
1.3 Größenordnungen
 Datenbestände in GB-/TB-/PB-Größenordnungen
 Hunderte/Tausende gleichzeitig aktive Nutzer auf einem Datenbestand
 Dutzende/Hunderte von angeschlossenen Externspeichermedien
(Magnetplatten)
 Hunderte von „Verarbeitungsvorgängen“ (Transaktionen) pro Sekunde auf
einem Datenbestand, z.B. der Art:
- Umbuchung von einem Konto auf ein anderes
- Durchführung einer Platzreservierung
- Anfrage an ein Auskunftssystem
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 15
1.4 Datenverwaltung mit Dateisystemen
 Dateiverwaltung (Dateisystem) in der einen oder anderen Weise Bestandteil
eines jeden Betriebssystems
 Datei = geordnete Sammlung von Datensätzen (auf Externspeicher), wobei
- Datensätze sich aus Feldern zusammensetzen ( Struktur des
Datensatzes)
- Alle Datensätze einer Datei i.d.R. die gleiche Struktur aufweisen
„homogene Sammlung“ von Datensätzen
 Geordnet heißt nicht unbedingt sortiert, sondern dass irgendeine
Reihenfolge der Datensätze auf Externspeicher vorliegt und diese
Reihenfolge von Anwendungen „gesehen“ und ausgenutzt werden kann
beim Lesen der Daten (gib mir ersten/nächsten Datensatz); Unterscheidung:
- „entry sequenced“: Einfügereihenfolge bestimmt Ordnung
- „key sequenced“: „Schlüsselwert“ bestimmt Ordnung, sortiert nach
bestimmtem (Schlüssel-)Feld, etwa nach Personalnummer
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 16
1.4 Datenverwaltung mit Dateisystemen
 Externspeicher gliedert sich in
- Magnetplatte (Sekundärspeicher)
- Magnetband, opt. Speicher o.ä. (Tertiärspeicher)
- Dateien, für die ein schneller (u. ggf. wahlfreier) Zugriff („random
access“) benötigt wird, müssen auf Magnetplatte stehen, andernfalls
können auch (kostengünstigere) Tertiärspeicher Verwendung finden
 Homogene Sammlung von Datensätzen heißt
- Aus Sicht der Anwendungsprogramme
• Im wesentlichen gleichstrukturierte Datensätze innerhalb einer
Datei
• Gewisse variante Strukturen bzgl. der Felder möglich (z.B.:
Buchungsnr. < 1000000 wird Ktonr. als 2-Byte-Integer interpretiert,
sonst als 2-Byte-Character-Feld).
- Aus Sicht des Betriebssystems/Dateisystems alles nur „byte strings“,
hier Homogenität ohnehin gegeben
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 17
1.4 Datenverwaltung mit Dateisystemen
 Felder / Struktur heißt, dass ein Datensatz sich aus Sicht der
Anwendung(!) nicht einfach als „byte string“ darstellt, sondern als
strukturiertes Gebilde
- Bsp.:
Buchungs- Betrag Kto- Zahlungsnr.
nr. empfänger
3 Bytes
4 Bytes 2 Bytes
...
16 Bytes
Felder 1 ... 4
- So sieht das Anwendungsprogramm bzw. interpretiert Benutzer den
Datensatz; das Betriebssystem (Dateisystem) ist u.U. viel „dümmer“, hat
doch nur die Sicht des langen „byte strings“ und kennt keine Felder
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 18
1.4.1 Sequentielle Datei
 Datensätze sequentiell (fortlaufend) z.B. auf Platte oder Band abgelegt,
Ordnung entstanden durch Einfügereihenfolge; z.B. Angestelltendatei
Stammdaten Stammdaten Stammdaten
Mitarbeiter
Mitarbeiter
Mitarbeiter
Späth
Müller
Meier
 Felder fest oder variabel lang
...
Datensätze ebenfalls fest oder variabel lang
 Zugriff auf die Datensätze (vereinfachend lesender Zugriff):
- Bei variabler Länge nur sequentieller Zugriff möglich („lies einen
Datensatz nach dem anderen“)
- Bei fester Länge und Ablage auf Platte auch wahlfreier Zugriff möglich
(„lies Datensatz 37“)
- Bei fester Länge und Ablage auf Platte und sortierter Speicherung (z.B.
nach Personalnr. oder Name) auch binäre Suche möglich
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 19
1.4.2 Indexsequentielle Datei
 Blätter eines (Zugriffs-)Baums enthalten Datensätze oder Verweise zu den
außerhalb des Baums abgelegten Datensätzen
 Implementierungsform i.d.R. B*-Baum (balancierter Baum mit mindestens
2/3-gefüllten Knoten), Datensätze nach bestimmtem (Schlüssel-)Feld sortiert
abgelegt
 Implementierungsbezeichnungen z.B. ISAM (Index Sequential Access
Method) oder VSAM (Virtual Storage Access Method)
 Zugriff auf die Daten
- Sequentieller Zugriff liefert Datensätze in der Wertereihenfolge des
Schlüsselfelds
- Wahlfreier Zugriff unter Verwendung der Indexstruktur des Baums bei
gegebenem Schlüsselfeldwert
eingebettete
Datensätze
Satz 1 ... 2 ... 3
Datenbanksysteme
Verweis auf
Datensätze
Höhe h
Satz 1
Friedrich-Schiller-Universität Jena
... 2
... 3
Seite 20
1.4.3 Hash-Datei
 Festlegung eines Feldes als Schlüsselfeld (wie bei indexsequentieller Datei),
die Schlüsselfeldwerte werden über Hashfunktion (z.B. Quersumme) in
Speicheradressen umgerechnet
 Zugriff auf die Daten:
- Wahlfreier Zugriff auf die Daten (unter Verwendung der Hashfunktion bei
gegebenem Schlüsselfeldwert („Suchwert“))
- Sequentieller Zugriff abhängig von Implementierungsdetails (vor allem
Überlaufbehandlung / Konfliktauflösung)
 Grundsätzlich auch bei Hash-Datei Unterscheidung möglich zwischen
eingebetteten und nichteingebetteten Datensätzen
Hashtabelle
Datenbanksysteme
Hashtabelle
Friedrich-Schiller-Universität Jena
Seite 21
1.5 Dateien vs. Datenhaltungsanforderungen
 Persistente Datenhaltung
o.k.; Magnetplatte/-band und weitere (Tertiär-)Speichermedien unterstützt je
nach vorgenannter Dateiorganisationsform (z.B. Band verträgt sich nur mit
sequentieller Datei)
 Sehr große Datenmengen (GB, TB)
im Prinzip o.k., aber Obergrenzen für Dateigrößen beachten (z.B. 2 GB);
größere Datenbestände müssen „künstlich zerhackt“ und auf mehrere, ggf.
viele Dateien aufgeteilt werden
erschwert Handhabung
 Sehr schneller Zugriff auf die Daten
Nur bei indexsequentiellen und Hash-Dateien gegeben und auch dort nur
bei Zugriff über das Schlüsselfeld (gegebener Schlüsselfeldwert), ansonsten
Zugriff sehr langsam
- Zudem: Anwendung muss Form der Datenabspeicherung kennen
(sequentiell, indexsequentiell, Hash) beim Zugriff berücksichtigen
- Probleme bei Änderung der Art der Abspeicherung!
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 22
1.5 Dateien vs. Datenhaltungsanforderungen
 Hohe Verfügbarkeit der Daten
nicht o.k., weil:
- Was passiert bei Datenverlust auf der Platte („Datei/Platt kaputt“)?
- Was passiert im Fall der Datenreorganisation, wenn z.B. Hashdatei
vergrößert werden muss?
 Hohe Flexibilität bei Datenzugriff / Integrierte Auswertbarkeit
- Bei Nutzung von Dateisystemen definitiv nicht gegeben, jeweils neue
und eigens zugeschnittene Anwendung erforderlich
- Auswertung „Alle Personalstammsätze, wo Name = Müller“ mag schnell
gehen (falls Index/Hash-Zugriff), „Alle Personalstammsätze, wo Gehalt >
500“ dagegen u.U. gar nicht oder nur sehr langsam
- Integrierte Auswertungen über mehrere Dateien muss ein Programm
„zu Fuß“ machen
 Hohe Flexibilität bzgl. der Datenverteilung
Betriebssystem kann ggf. physische Lokation der Dateien im Netz verbergen
( Transparenz), aber Problem der integrierten Auswertbarkeit ohnehin hier
ungelöst, somit erst recht bei Verteilung
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 23
1.5 Dateien vs. Datenhaltungsanforderungen
 Hohe Flexibilität bzgl. der Lastverteilung
Zugriff zu einem Datenbestand i.d.R. über einen Rechner ("hot spot"-Gefahr)
 Hohe Benutzerfreundlichkeit
Bei Dateisystem in keiner Weise gegeben, keine leicht erlernbare
"Abfragesprache“ vorhanden
 Sicherheit vor Datenverlust
Verwendung der letzten Sicherungskopie der Datei („backup“) soweit
vorhanden
unbefriedigend
 Sicherheit vor unberechtigtem Zugriff/Verändern
Rechtevergabe nur für Datei insgesamt möglich, nicht aber werteabhängig
Kenntnis an Datensemantik fehlt im Dateisystem
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 24
1.5 Dateien vs. Datenhaltungsanforderungen
 Paralleler Zugriff mehrerer Benutzer
- Lesend (natürlich) kein Problem
- modifizierend wird entweder durch Sperren der gesamten Datei
(zuständig: Dateisystem) unterbunden oder liefert potentiell Chaos
unkontrolliertes Überschreiben von Datensätzen
- Es fehlen Transaktionskonzepte & Synchronisationsmechanismen
 Hoher Grad an semantischer Integrität
Dateisysteme kennen fast keine Datensemantik, können somit auch nichts
bieten hinsichtlich Fehlererkennung / „aktive Mechanismen“
 Hoher Grad an Datenunabhängigkeit
Problemszenarien bereits angesprochen:
- Strukturelle Änderung im Datenbestand
Anpassung der Anwendungen
- Abhängigkeit vom (Nicht-)Vorhandensein einer bestimmten
Dateiorganisationsform
- Abhängigkeit/Vertrauen bzgl. einer bestimmten Sortierfolge in der Datei
 Dateisysteme bieten keine Datenunabhängigkeit!
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 25
1.5 Dateien vs. Datenhaltungsanforderungen
 Fazit: Datenhaltung in Dateisystemen eignet sich nur sehr beschränkt zur
Verwaltung großer Datenbestände unter Gesichtspunkten wie
Flexibilität, (Effizienz), Benutzerfreundlichkeit, Fehlertoleranz, Datensicherheit,
Datenunabhängigkeit, parallele Verarbeitung usw.
 Datenbanktechnologie soll die Antwort auf diese
Fragestellungen / Anforderungen liefern
 Aber: bezüglich Effizienz kann eine zugeschnittene, dateibasierte Lösung
einer (allgemeineren) datenbankbasierten Lösung überlegen sein: manche
CAD-Systeme, Geodatenverwaltungssysteme etc. verwenden nach wie vor
dateibasierte Datenverwaltung!
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 26
1.6 Datenbanksysteme – Terminologie & Eigenschaften
 Begriffliche Abgrenzung und Einordnung
- Datenbank/Datenbanksystem/Datenbankverwaltungssystem (DBVS)
- DBVS = DBMS (Database Management System)
- DBVS verwaltet den Datenbestand, alle Zugriffe zum Datenbestand
(lesen, einfügen, ändern, löschen) gehen ausschließlich über das DBVS,
welches die vollständige Kontrolle über Datenbestand hat
Benutzer
Client
Server
liegt üblicherweise auf
separatem
DB-Server
DatenbankVerwaltungssystem
(DBVS)
BS
Datenbanksystem
Dateiverwaltung
Datenbank
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 27
1.6 Datenbanksysteme – Terminologie & Eigenschaften
 Datenbank = strukturierte Sammlung von „Datensätzen“
- Üblicherweise auf Magnetplatte gespeichert
- Ablage entweder in vom Betriebssystem verwalteten Dateien (Standard)
oder auch – unter Umgehung des Dateisystems – auf sog. „raw devices“
- Neben den Primärdaten enthält die Datenbank – abhänging vom
Entwicklungsstand der Technologie – noch weitere Informationen (hier nur
nur kurz angedeutet)
 Indexe (Zugriffspfade auf die Daten)
 Beschreibungsinformation zu den Daten
- Metadaten, Datenbankkatalog (Data Dictionary)
- Feldlängen, -namen, -typen, Datensatz(typ)namen, Informationen über
Zugriffsberechtigungen usw.
- Datenbankinhalt somit weitgehend selbstbeschreibend, DBVS
interpretiert Datenbankinhalt mittels des Datenbankkatalogs, Benutzer
darf ebenfalls (zumindest bei relationalen Datenbanksystemen) auf den
Katalog zugreifen und diesen lesen
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 28
1.6 Datenbanksysteme – Terminologie & Eigenschaften
 Integritätsbedingungen
- Definierten Bedingungen, die für die Daten gelten und deren Einhaltung
vom DBVS überwacht werden soll ("system enforced integrity")
- Beispiele:
• Das Feld <Personalnr> im Personalstammsatz muss stets einen Wert
besitzen, darf also nicht undefiniert/unbekannt („null“) sein
• Das Feld <Gehalt> muss stets 6000 sein
• Für jede <Abteilungsnr> im Personalstammsatz muss es stets (genau)
einen Abteilungsstammsatz mit gleicher Nummer geben
Abteilungsstammsatz
(Typ)
1:n-Beziehung (Vater-Sohn-Beziehung)
Personalstammsatz
(Typ)
• Das Durchschnittsgehalt aller Mitarbeiter einer jeden Abteilung muss
stets 5000 sein
• usw.
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 29
1.6 Datenbanksysteme – Terminologie & Eigenschaften
 "Aktive Elemente"
- Aktionen, die es ermöglichen, automatisch (Folge-)Änderungen auf der
Datenbank durchzuführen in Abhängigkeit von bestimmten, definierten,
eingetretenen Ereignissen
- Passives Datenbanksystem entwickelt sich weiter zu aktivem
Datenbanksystem (erst in jüngerer Zeit anzutreffen)
- Beispiele:
• Immer wenn ein Abteilungsstammsatz gelöscht wird, sollen auch
automatisch die Personalstammsätze der zugehörigen Mitarbeiter
gelöscht werden (ohne dass der Benutzer dies explizit veranlassen
muss, sondern Folgeänderungen automatisch/implizit)
• Immer wenn eine Änderung an Personalstammsätzen (durch den
Benutzer) geschieht, soll automatisch ein Protokollsatz erstellt und
geschrieben werden ( zu Revisionszwecken)
• Immer wenn eine Gehaltsänderung (durch den Benutzer) geschieht im
Personalstammsatz oder ein neuer Personalstammsatz hinzukommt
oder einer gelöscht wird, soll das Feld <DurchschnittsgehaltAbteilung>
im Abteilungsstammsatz automatisch aktualisiert werden
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 30
1.6 Datenbanksysteme – Terminologie & Eigenschaften
 Programme, gespeicherte Prozeduren („stored procedures“)
- Sind in der Datenbank hinterlegt und laufen bei Aufruf auf der Datenbank
 Datenbanksystem = konkrete Datenbank + DBVS
- Begriffe sollten korrekt verwendet werden
- In der Literatur / im umgangssprachlichen Gebrauch wird's nicht immer so
genau unterschieden, vor allem Datenbanksystem und DBVS oftmals
synonym verwendet (gerade noch akzeptabel)
- Beispiele:
• Falsch: "Welche Datenbank setzen Sie ein?"  Richtig: "Welches
Datenbank-Verwaltungssystem/Datenbanksystem setzen Sie ein?"
• Falsch: "Wir haben letzte Woche die Oracle-Datenbank bei uns im
Unternehmen implementiert."  Richtig: " Wir haben letzte Woche
das DBVS Oracle installiert."
Datenbanksysteme
Friedrich-Schiller-Universität Jena
Seite 31
Herunterladen