DB1-Datenbanksysteme

Werbung
DB1-Datenbanksysteme
Datenbanken: Grundlagen und Überblick
Terminologie
Datenbankmodelle / Historische Entwicklung
Grundlegende Eigenschaften von DBs (Codd)
Existierende Datenbanksysteme
Datenbankarchitektur
Sicht der Systemarchitektur
Sicht der Anwendungsentwicklung
Datenunabhängigkeit
Sprachebenen
DB-Anwendungsentwicklung
Kategorien der DB-Nutzer – Benutzerrollen
Informationsmodellierung
Relationales Datenbankmodell
Datenbanksprache SQL
DB1-12
01-Einführung
1
Thomas Franke
Terminologie: Daten / Informationen / Wissen
Beispiel – Wissen, Information, Daten
Begriff
Wert
Daten
39.7
Information
Körpertemperatur = 39.7°
Kontextwissen
Körpertemperatur > 39.0°  Fieber
Wissen
Fieber
Problemlösung
Fieberbehandlung
Daten
FRUEFPUJRERFCEBOYRZ
Information
FRUE… unverständlich, wahrscheinlich Verschlüsselt
Kontextwissen
Chiffrierverfahren, Buchstabenhäufigkeit
Wissen
FRUE… nach …-Verfahren verschlüsselte Nachricht mit
Schlüssel …
Problemlösung
…
DB1-12
01-Einführung
2
Thomas Franke
Terminologie: Daten / Informationen / Wissen
Daten:
Darstellungsform (Syntax)
Information:
Bedeutung der Daten (Semantik)
Wissen
Information mit einem Nutzen
Trägt zur Lösung eines Problems bei
Nutzen vom vorhandenen
Kontextwissen abhängig
Informationen =
interpretierte Daten
Informationen
Daten =
repräsentierte Informationen
Daten
DB1-12
01-Einführung
3
Thomas Franke
Terminologie
Programm 1
User1
Programm 2
User2
Programm n
User3
DBMS - Datenbankmanagementsystem
Data
Dictionary
DatenBasis 1
DatenBasis 2
DatenBasis n
DB Datenbanksystem
jede einzelne Datenbasis ist ein Abbild
einer Miniwelt – universe of discourse
DB1-12
01-Einführung
4
Thomas Franke
Terminologie: Datenbasis
Datenbasis:
die in einem Datenbanksystem nach einheitlichen Regeln persistent
gespeicherten Daten
die Daten werden in Dateien des File-Systems gespeichert
 Anwendungsdaten + Data Dictionary
DBMS - Datenbankmanagementsystem
Data
Dictionary
DatenBasis 1
DatenBasis 2
DatenBasis n
DB Datenbanksystem
DB1-12
01-Einführung
5
Thomas Franke
Terminologie: DBMS
Datenbankmanagementsystem (DBMS)
….ist die Gesamtheit aller Programme zur Definition, Konstruktion und
Manipulation einer Datenbank.
Definition:
Spezifikation der Datentypen, Strukturen und Einschränkungen für die in
der Datenbank zu speichernden Informationen
Konstruktion:
Daten-Speicherung-Prozess auf einem Speichermedium
Manipulation:
Abfragen zum Abrufen spezifischer Daten aus der DB
Fortschreiben der DB-Änderungen in der Miniwelt
Erzeugen von Berichten aus den Daten
DBMS - Datenbankmanagementsystem
Data
Dictionary
DatenBasis 1
DatenBasis 2
DatenBasis n
DB Datenbanksystem
DB1-12
01-Einführung
6
Thomas Franke
Terminologie: Data Dictionary
Data Dictionary
Informationsbasis des DBMS zur Speicherung und Verwaltung der
,Anwendungsdaten‘
Informationsbasis für DB-Benutzer zur Suche nach gespeicherten
,Anwendungsdaten‘
 Gewinnung von Strukturdaten und Diagnose von Leistungsproblemen
Daten, die den Datenbestand beschreiben/ definieren:
Metadaten/Verwaltungsdaten
 Informationen über: Tabellennamen, Attributnamen, Datentypen, Beziehungen …
Metadatenbank arbeitet mit den gleichen Konzepten wie das DBMS:
 Tabellen, Attribute, Beziehungen, gleiche Anfragesprache …
DBMS - Datenbankmanagementsystem
Data
Dictionary
DatenBasis 1
DatenBasis 2
DatenBasis n
DB Datenbanksystem
DB1-12
01-Einführung
7
Thomas Franke
Terminologie: Datenbanksystem
Datenbanksystem - DBS
Speicherung und Verwaltung von Daten nach einheitlichen Regeln
(persistente Datenhaltung)
Benutzer und Anwendungen können nach einheitlichen Regeln auf die
gespeicherten Daten zugreifen.
Anwendungsdaten +
Data Dictionary
besteht aus:
DBS =
DB-Verwaltungssystem (DBMS) + Datenbasis
 der Begriff Datenbank wird meist synonym verwendet
DBMS - Datenbankmanagementsystem
Data
Dictionary
DatenBasis 1
DatenBasis 2
DatenBasis n
DB Datenbanksystem
DB1-12
01-Einführung
8
Thomas Franke
Terminologie: Miniwelt
Miniwelt oder Diskursbereich (universe of discourse - UoS)
Ausschnitt der realen Welt, der durch die DB dargestellt wird.
DB1-12
01-Einführung
9
Thomas Franke
DB-Einsatz-Beispiele
Produktionsbetrieb
Krankenhausverwaltungssystem (KIS)
Hochschuldatenbank
Datenbank einer Fluggesellschaft
Datenbank einer Bank
DB1-12
01-Einführung
10
Thomas Franke
DB1-Datenbanksysteme
Datenbanken: Grundlagen und Überblick
Terminologie
Datenbankmodelle / Historische Entwicklung
Grundlegende Eigenschaften von DBs (Codd)
Existierende Datenbanksysteme
Datenbankarchitektur
Sicht der Systemarchitektur
Sicht der Anwendungsentwicklung
Datenunabhängigkeit
Sprachebenen
Kategorien der DB-Nutzer – Benutzerrollen
Informationsmodellierung
Relationales Datenbankmodell
Datenbanksprache SQL
DB1-12
01-Einführung
11
Thomas Franke
Datenbankmodell - DBM
Datenbankmodell (ev. auch nur Datenmodell)
allgemeiner Begriffsapparat
erlaubt die Modellierung von Realitätsausschnitten ohne Eingrenzung auf
bestimmte Sachgebiete
Datenobjekte und die Operatoren auf diesen Objekten werden festgelegt
 ähnlich wie bei Programmiersprachen, in der Ausdrücke und Regeln festgelegt sind, die in
der Programmiersprache benutzt werden dürfen.
Ein Datenmodell hat
Basisdatentypen
Typkonstruktoren
Konstruktion von komplexen Daten aus einfachen Datentypen
Typkonstruktionsregeln
legen fest, in welcher Form sich Basisdatentypen und
Typkonstruktoren miteinander kombinieren lassen
DB1-12
01-Einführung
12
Thomas Franke
DBM: DB-Schema/Ausprägung
Datenbankschema  intensionale Ebene der DB
ist die konkrete Ausprägung eines bestimmten Datenmodells, die einen
Ausschnitt aus der Wirklichkeit ( Miniwelt) modelliert
legt die Struktur der abgespeicherten Datenobjekte fest  Meta-Daten
Datenbankinstanz  extensionale Ebene der DB
Ausprägung des Datenbankschemas mit konkreten Daten
 der aktuell abgespeicherte Zustand der Datenbasis
muss dem Schema entsprechen
Reale Welt
Datenbank
MatNr
Schema
Plan für ein
Norm-Haus
Instanzen
fertig gebaute Norm-Häuser
DB1-12
01-Einführung
Name
….
‚Vorlage‘ für eine Tabelle
MatNr
Name
123
Anton
234
Berta
….
MatNr
Name
456
Otto
678
Paul
….
mit Daten gefüllte Tabellen
13
Thomas Franke
DBM
Flache Dateien  einfachste Datenmodell
Daten werden in Dateien gespeichert, die nur von einem Programm
genutzt werden
Datenbankmodelle:
Hierarchische DBMS
Netzwerk-DBMS
 ältere Typen von DBMS („Auslaufmodelle“)
Relationales Datenbankmodell
 bekanntestes Datenbankmodell
Objektorientierte DBMS
 für Spezialanwendungen in Gebrauch
Objektrelationale DBMS
 um objektorientierte Merkmale erweiterte RDBMS, aktueller Trend
DB1-12
01-Einführung
14
Thomas Franke
Historische Entwicklung der DB-Modelle
Key/Value-DBs
Columnoriented-DBs
Graphen-DBs
Dokumenten-DBs
XML
Hierarchisch
Netzwerk
Relational
Objektorientiert
Objektrelational
Semi-Strukturiert
NoSQL
1960
DB1-12
1970
01-Einführung
1980
1990
2000
15
2010
Thomas Franke
DBM: Hierarchische Systeme
70er Jahre
ist das älteste Datenmodell
hervorgegangen aus Informationsmanagementsystemen der 50er Jahre
häufig in Banken und Versicherungsunternehmen eingesetzt
die reale Welt wird durch eine hierarchische Baumstruktur abgebildet
Eigenschaften:
jeder Datensatz hat genau einen Vorgänger, mit Ausnahme der Wurzel
Eltern-Kind-Beziehungen
Firma X
Abt. F&E
Projekt AA
Anna
Berta
Abt. Einkauf
Projekt BB
Clara
Anna
Clara
Heide Faeskorn - Woyke
DB1-12
01-Einführung
16
Thomas Franke
DBM: Netzwerk Systeme
70er Jahre
ist komplexer als das hierarchische Datenbanksystem
es können neben 1:1 und 1:n auch n:m Zuordnungen realisiert werden
durch Vernetzung von Daten können komplexe Datenstrukturen
abgebildet werden
Nachteil: starre, komplexe und verwirrende Gesamtstruktur
Bsp.: UDS (Universelles DB-System von Siemens)
Firma X
Abt. F&E
Projekt AA
Anna
DB1-12
01-Einführung
Abt. Einkauf
Projekt BB
Berta
Clara
17
Thomas Franke
DBM: Relationale Systeme - RDBMS
80er Jahre
Daten und ihre Beziehungen werden in Tabellen (Relationen) abgebildet
eine Tabelle ist horizontal in Zeilen und vertikal in Spalten aufgeteilt
jeder Datensatz wird als Zeile dargestellt ( heißen Tupel)
 die Spaltenüberschriften sind die Namen der Attribute.
Tabellen können über Schlüssel (Primärschlüssel, Fremdschlüssel)
miteinander verknüpft werden
Abbildung der Mitarbeit einzelner Studenten an bestimmten Projekten
Student
MatNr
104
301
203
103
DB1-12
Student_Projekt
StudFaNa
Anger
Bauer
Cieser
Dorer
01-Einführung
MatNr
104
104
203
103
ProjNr
12
23
12
24
18
Projekt
ProjNr
12
23
24
ProjName
DB-Entwicklung
Anw-Erstellung
….
Thomas Franke
DBM: Objektorientierte Systeme - OODBS
90er Jahre
Daten werden als Objekte mit ihren Methoden und Attributen in der
Datenbank gespeichert
die Definition eigener Objekte ist sehr eng an eine objektorientierte
Programmiersprache angelehnt
ein Objekt modelliert einen Gegenstand der realen Welt und enthält
zugehörige Attribute
große DBMS-Hersteller
haben ihren relationalen Systemen
objektorientierte Eigenschaften
hinzugefügt
Heide Faeskorn - Woyke
DB1-12
01-Einführung
19
Thomas Franke
DBM: Objektrelationale Systeme
90er Jahre
bauen auf relationalen Datenbanken auf
erlauben die Definition eigener Datentypen
typisierte Tabellen und Tupeltabellen
Vererbung und Methoden
in vielen großen Datenbanken heute Stand der Technik,
z.B. ORACLE seit Version 9i
haben im Gegensatz zu objektorientierten Datenbanken eine große
Verbreitung gefunden
DB1-12
01-Einführung
20
Thomas Franke
Datenbanken
Datenbanken: Grundlagen und Überblick
Terminologie
Datenbankmodelle / Historische Entwicklung
Grundlegende Eigenschaften von DBs (Codd)
Existierende Datenbanksysteme
Datenbankarchitektur
Sicht der Systemarchitektur
Sicht der Anwendungsentwicklung
Datenunabhänigkeit
Sprachebenen
Kategorien der DB-Nutzer – Benutzerrollen
Informationsmodellierung
Relationales Datenbankmodell
Datenbanksprache SQL
DB1-12
01-Einführung
21
Thomas Franke
DB-Eigenschaften: Codds 12+1 Regeln
E. F. Codd, einer der Begründer der relationalen Datenbanken, beschreibt
zwölf Basisregeln, die eine RDB auszeichnen.
0. Grundregel:
jedes RDBMS muss die gesamte Datenbank entsprechend dem
relationalen Datenmodell verwalten.
DB1-12
01-Einführung
22
Thomas Franke
DB-Eigenschaften: Codds 12+1 Regeln
1. Informationsregel
 Information Rule
Jede Information einer RDB wird in genau einer Weise durch Werte in
Relationen dargestellt und damit redundanzfrei und einheitlich verwaltet.
Dazu gehören Anwendungsdaten und Metadaten
2. Garantierter Zugriff
 Guaranteed Access Rule
Jeder gespeicherte Wert muss über
 Tabellenname, Spaltenname und Wert des Primärschlüssels
zugreifbar sein, wenn der zugreifende Anwender über hinreichende
Zugriffsrechte verfügt.
DB1-12
01-Einführung
23
Thomas Franke
DB-Eigenschaften: Codds 12+1 Regeln
3. Systematische Behandlung von fehlenden Informationen
 Systematic Treatment of Null Values
Nullwerte müssen datentypunabhängig zur Darstellung fehlender Werte
unterstützt werden. Systematisch drückt hierbei aus, dass Nullwerte
unabhängig von denjenigem Datentyp für den sie auftreten gleich
behandelt werden.
4. Relationale Kataloginformation
 Dynamic On-line Catalog Based on the Relational Model
Ein Datenbankschema wird in derselben Weise wie die gespeicherten
Daten selbst beschrieben.
 in Tabellen, dem sogenannten Data Dictionary.
Autorisierte Benutzer können das Data Dictionary in gleicher Weise
abfragen wie die eigentliche Datenbasis.
DB1-12
01-Einführung
24
Thomas Franke
DB-Eigenschaften: Codds 12+1 Regeln
5. Allumfassende Sprache
 Comprehensive Data Sublanguage Rule
Ein RDBMS muss eine Sprache unterstützen, die allumfassend im
folgenden Sinne ist. Diese Sprache erfüllt die folgenden Aufgaben:
Definition und Manipulation der Benutzerdaten
Definition von Sichten als virtuelle Tabellen
Überprüfung von Integritätsregeln
Vergabe von Benutzerrechten und Autorisierung
Transaktionskontrolle und Transaktionshandling
6. Benutzersicht und Datenänderungen
 View Updating Rule
Für unterschiedliche Benutzergruppen und Anwendungen sind
unterschiedliche Sichten (Views) auf die Datenbank notwendig.
In einfachen Views, z.B. Teilansichten einer Tabelle, sollen auch
Datenänderungen möglich sein.
DB1-12
01-Einführung
25
Thomas Franke
DB-Eigenschaften: Codds 12+1 Regeln
7. High-Level Insert, Update, Delete
In der Datenbank muss das Einfügen, Ändern und Löschen von Daten
möglich sein. Dabei soll das System sich den optimalen Zugriffspfad zur
schnellen Durchführung der Transaktion selbst suchen.
8. Physische Datenunabhängigkeit
 Physical Data Independence
Anwendungsprogramme und Anwenderoberflächen bleiben unverändert,
wenn Veränderungen an der Speicherstruktur oder der Zugriffsmethode in
der Datenbank vorgenommen werden  Änderungen der internen Ebene
DB1-12
01-Einführung
26
Thomas Franke
DB-Eigenschaften: Codds 12+1 Regeln
9. Logische Datenunabhängigkeit
 Logical Data Independence
Anwendungsprogramme und Anwenderoberflächen bleiben unverändert,
wenn sich Basisrelationen verändern, die nicht direkt die
Anwendungsprogramme betreffen. Es können z.B. Spalten in Relationen
ergänzt oder neue Relationen hinzugefügt werden
 Änderungen des konzeptuellen Schemas
10. Integritätsunabhängigkeit
 Integrity Independence
Integritätsbedingungen für eine Datenbank müssen mit Hilfe der
Datenbeschreibungssprache definierbar sein und im Systemkatalog und
nicht in den Anwendungsprogrammen abgelegt sein.
Mindestforderungen die verfügbare Systeme unterstützen sollten:
Kein Attribut welches Teil eines Primärschlüssels ist darf NULL sein.
Ein Fremdschlüsselattribut muß als Wert des zugehörigen
Primärschlüssels existieren.
DB1-12
01-Einführung
27
Thomas Franke
DB-Eigenschaften: Codds 12+1 Regeln
11. Verteilungsunabhängigkeit
 Distribution Independence
Die Anfragesprache muss so ausgelegt sein, dass Zugriffe auf lokal
gehaltene Daten identisch denen auf verteilt gespeicherte Daten formuliert
werden können.
 Forderungen nach logischer und physischer Datenunabhängigkeit für
verteilte Datenbanken
12. Unterwanderungsverbot
 Nonsubversion Rule
Definiert ein DBMS neben der High-Level Zugriffssprache auch eine
Schnittstelle mit niedrigerem Abstraktionsniveau, dann darf durch diese
keinesfalls eine Umgehung der definierten Integritätsregeln möglich sein.
Derzeit existiert kein am Markt verfügbares kommerzielles System welches
alle zwölf Regeln vollständig umsetzt. Insbesondere sind die Regeln 6, 9,
10, 11 und 12 in der Praxis schwer umzusetzen.
DB1-12
01-Einführung
28
Thomas Franke
DB-Eigenschaften: Codds 12+1 Regeln
Zusammenfassung:
Integration:
einheitliche, nichtredundante Datenverwaltung
Operationen:
Definieren, Speichern, Abfragen, Ändern
Katalog:
Datenbankbeschreibungen im Data-Dictionary
Benutzersichten: unterschiedliche Sichten auf Datenbankausschnitte
Integritätssicherung: Korrektheit + Konsistenz des Datenbankinhalts
Datenschutz:
Ausschluss nicht-autorisierter Zugriffe
Transaktionen:
mehrere DB-Operationen als Funktionseinheit
Synchronisation:
parallele Transaktionen koordinieren
Datensicherung:
Wiederherstellung von Daten nach Systemfehlern
DB1-12
01-Einführung
29
Thomas Franke
DBMS: Beispiele
Beispiele für gebräuchliche DBMS und ihre Hersteller:
DBMS
Hersteller
Modell/Charakteristik
Cache
InterSystems
„postrelational“
DB2
IBM
objektrelational
Firebird
Open-Source
relational, basiert auf InterBase
IMS
IBM
hierarchisch, Mainfraim-DBMS
Informix
IBM
objektrelational
InterBase
BorlandEmbarcadero relational
MS Access
Microsoft
relational, Desktop-System
MS SQL Server
Microsoft
objektrelational
MySQL
SUN  Oracle(2008)
relational
Oracle
ORACLE
objektrelational
PostgreSQL
-
objektrelational, aus Ingres+Postgres entst.
Sybase ASE
Sybase  SAP(2010)
relational
DB1-12
01-Einführung
30
Thomas Franke
DBMS: Beispiele
http://www.computerwoche.de/a/da
tenbankeinsatz-im-sapumfeld,2369870
DB1-12
01-Einführung
31
Thomas Franke
Datenbanken
Datenbanken: Grundlagen und Überblick
Terminologie
Datenbankmodelle / Historische Entwicklung
Grundlegende Eigenschaften von DBs (Codd)
Existierende Datenbanksysteme
Datenbankarchitektur
Sicht der Anwendungsentwicklung
Datenunabhängigkeit
Sprachebenen
Kategorien der DB-Nutzer – Benutzerrollen
Informationsmodellierung
Relationales Datenbankmodell
Datenbanksprache SQL
DB1-12
01-Einführung
32
Thomas Franke
DB-Architektur
die Datenbankarchitektur kann aus folgenden Sichten betrachtet werden:
Sicht der Systemarchitektur
 grundsätzlicher Aufbau von Datenbanksystemen
 5-Ebenen-Modell
Sicht der Anwendungsentwicklung
 ANSI-3-Ebenen-Modell
DB1-12
01-Einführung
33
Thomas Franke
DB-Architektur - Anwendungssicht
ANSI: American National Standards
SPARC: Standards Planning and Requirements Committee
ANSI-SPARC*-Modell / Drei-Schema-Architektur / ANSI-3-Ebenen-Modell
… zeigt die verschiedenen Sichten auf eine Datenbank.
Externe
Externe
Ebene
Ebene
Anwendung 1
beschreibt, wie der
Nutzer die Daten
sieht
externe
Datenstruktur
Anwendung 2
externe
Datenstruktur
Anwendung n
externe
Datenstruktur
Externe
Konzeptionelle
Ebene
Ebene
Konzeptionelles Schema
anwendungs- und datenunabhängige Datenstruktur
beschreibt, wie die
Daten strukturiert
sind
Datenbankschema
anwendungsunabhängig / datenbankspezifisch
CREATE TABLE
DROP TABLE
Modell der
Realwelt
Interne
Externe /
physische
Ebene
Ebene
physische Datenstruktur
beschreibt, wie die
Daten gespeichert
sind
DB1-12
CREATE VIEW
DROP VIEW
01-Einführung
CREATE INDEX
DROP INDEX
34
Thomas Franke
3-Ebenen-Architektur /1
externe Ebene (auch Anwendungs-Sichten)  Benutzersicht auf die Daten
Wie werden die Daten dem Benutzer präsentiert?
(Teil-)Sichten auf den Datenbestand je nach Anforderung
 in relationalen DBS als View realisierbar
Externe
Externe
Ebene
Ebene
Anwendung 1
beschreibt, wie der
Nutzer die Daten
sieht
externe
Datenstruktur
Anwendung 2
externe
Datenstruktur
Anwendung n
externe
Datenstruktur
CREATE VIEW
DROP VIEW
Bsp. Benutzersicht auf den Flugbetrieb, also z.B.
Unterstützung von Buchung
Auswahl und Reservierung der Plätze
die Ausgabe der Flugscheine
DB1-12
01-Einführung
35
Thomas Franke
3-Ebenen-Architektur /2
konzeptionelle Ebene (auch Implementations-Ebene)
Wie sind die Daten strukturiert?
Gesamtdarstellung des Datenmodells auf logischer, system- und
anwendungsunabhängiger Ebene z.B. ERM
verbirgt die Details der physischen Speicherung
 Beschreibung der Objekte, Datentypen, Beziehungen, Operationen
und Constraints
Externe
Konzeptionelle
Ebene
Ebene
Konzeptionelles Schema
anwendungs- und datenunabhängige Datenstruktur
beschreibt, wie die
Daten strukturiert
sind
Datenbankschema
anwendungsunabhängig / datenbankspezifisch
DB1-12
01-Einführung
CREATE TABLE
DROP TABLE
36
Thomas Franke
3-Ebenen-Architektur /3
konzeptionelle Ebene
Bsp.:
konzeptionelles Schema
Sitzplatz
Coupon
Flug
Flugzeug
Ticket
Fluggast
Datenbankschema
Sitzplatz
Nr
Position
Gang
Flug
Nr.
von
1
rechts
nein
216
Köln München
14.11
2.12.95
2
rechts
nein
217
Köln Paris
15.15
2.12.95
23
links
ja
218
Köln Tokio
16.00
2.12.95
DB1-12
01-Einführung
nach
37
Uhrzeit Datum
Thomas Franke
3-Ebenen-Architektur /4
interne Ebene (auch physische Ebene)
Wie werden die Daten gespeichert/persistiert?
DBMS-spezifische Beschreibung der internen, physischen Darstellung
der Daten
 wie und wo genau abgelegt, internes Satzformat, Zugriffspfade
Bsp.
Physische Speicherstruktur der Daten:
B- Baum- Baumstruktur
Hash-Zugriff
HEAP
Indizes
8
5
1
DB1-12
01-Einführung
3
12
6
7
9
11
38
15
13
16
18
Thomas Franke
Datenbanken
Datenbanken: Grundlagen und Überblick
Terminologie
Datenbankmodelle / Historische Entwicklung
Grundlegende Eigenschaften von DBs (Codd)
Existierende Datenbanksysteme
Datenbankarchitektur
Sicht der Systemarchitektur
Sicht der Anwendungsentwicklung
Datenunabhängigkeit
Sprachebenen
Kategorien der DB-Nutzer – Benutzerrollen
Informationsmodellierung
Relationales Datenbankmodell
Datenbanksprache SQL
DB1-12
01-Einführung
39
Thomas Franke
Datenunabhängigkeit
… drückt die Möglichkeit aus, das Schema auf einer Ebene zu ändern, ohne
das Schema der nächst höheren Ebene modifizieren zu müssen.
Ziel:
.. eine oft langlebige Datenbank von notwendigen Änderungen der
Anwendung abzukoppeln und umgekehrt.
Zwei Arten:
Logische Datenunabhängigkeit
Physische Datenunabhängigkeit
externes Schema
logische
Datenunabhängigkeit
konzeptuelles Schema
physische
Datenunabhängigkeit
internes Schema
DB1-12
01-Einführung
40
Thomas Franke
Datenunabhängigkeit: Logisch
… besagt, dass das konzeptuelle Schema geändert werden kann, ohne
externe Schemata oder Anwendungsprogramme anpassen zu müssen.
Bsp.:
das konzeptuelle Schema der DB kann durch das Hinzufügen/Entfernen
eines Datentyps oder Datenfeldes verändert werden
 Anpassung sind nur für die externen Schemata notwendig, die sich auf
ein entferntes Element beziehen
externes Schema
logische
Datenunabhängigkeit
konzeptuelles Schema
physische
Datenunabhängigkeit
internes Schema
DB1-12
01-Einführung
41
Thomas Franke
Datenunabhängigkeit: Physisch
… bedeutet, dass das interne Schema modifiziert werden kann, ohne dass
Schemaänderungen auf der konzeptuellen Ebene erforderlich sind.
Änderungen des internen Schemas könnten z. B. sein
Reorganisation physischer Dateien
Erstellung zusätzlicher Indexe zur Zugriffsbeschleunigung.
externes Schema
logische
Datenunabhängigkeit
konzeptuelles Schema
physische
Datenunabhängigkeit
internes Schema
DB1-12
01-Einführung
42
42
Thomas Franke
Datenbanken
Datenbanken: Grundlagen und Überblick
Terminologie
Datenbankmodelle / Historische Entwicklung
Grundlegende Eigenschaften von DBs (Codd)
Existierende Datenbanksysteme
Datenbankarchitektur
Sicht der Systemarchitektur
Sicht der Anwendungsentwicklung
Datenunabhängigkeit
Sprachebenen
Kategorien der DB-Nutzer – Benutzerrollen
Informationsmodellierung
Relationales Datenbankmodell
Datenbanksprache SQL
DB1-12
DB-1
- RDM - Grundbegriffe
01-Einführung
43
Thomas Franke
Benutzerrollen
Benutzerrollen bei Entwurf, Betrieb und Pflege von Datenbanken
eine Person kann mehrere Rollen haben
eine Rolle kann auf mehrere Personen verteilt sein
Rollen:
Datenbankadministrator
DBMS-Entwickler
Endbenutzer
Anwendungsprogrammierer
Softwarearchitekten
Datenbankdesigner
DB1-12
01-Einführung
44
Thomas Franke
Benutzerrollen: DB-Admin /1
Datenbankadministrator
inzwischen eigene Berufsbezeichnung mit guten Berufschancen
Hauptaufgaben des Datenbankadministrators sind:
Datenbankdesign
Anlegen von Tabellen, Indizes, Views usw.,
 Planung des logischen und physischen Designs der DB
Softwareinstallation und -wartung
Auswahl und Einspielung der benötigten Software-Komponenten
Festlegung der Systemarchitektur
(verteilte Datenbanken, Netzwerkkomponenten, Betriebssystem)
Speicherplatzverwaltung
Bereitstellung und Verwaltung des für die DB benötigten Plattenbedarfs
(Planungsphase / laufender Betrieb)
DB1-12
01-Einführung
45
Thomas Franke
Benutzerrollen: DB-Admin /2
Implementierung von Sicherheitsmechanismen
Benutzereinrichtung, Verwaltung von Benutzerrechten (Rollen)
Laden von Daten
Daten aus Altbeständen
Bereitstellung von Daten für andere Systeme  ODBC/JDBC
Backup und Recovery
Datensicherungen
Wiederherstellung von Datenbeständen nach einem Systemausfall
Reorganisation von Datenbeständen
Systembeobachtung und Tuning
permanente Überwachung des Datenbanksystems
DB1-12
01-Einführung
46
Thomas Franke
Benutzerrollen: DB-Entwickler
Datenbankentwickler
Systemanalyse
 Entwurf des konzeptionellen Datenbankmodells
Erstellung der Aufgabenbeschreibung (Lasten- und Pflichtenheft)
Erstellung eines ER-Modells
Abstimmung mit bestehenden Applikationen
Ad-hoc-Abfragen
Datenbestand beobachten, analysieren
nicht fest programmierte Benutzeranfragen auszuwerten
Anwendungsentwicklung
Entwicklung von Masken und Reports
 Programmiersprachen der 4. Generation, wie PL/SQL, Java oder C
DB1-12
01-Einführung
47
Thomas Franke
Benutzerrollen: DB-Endnutzer
Datenbankendbenutzer
zahlenmäßig gesehen die größte Klasse von Benutzern
 vom Aufgabenumfang sehr stark eingeschränkt
Benutzung der vom Datenbankentwickler erstellten Programme
Benutzung von QBE-Werkzeugen (Query By Example) zur Befriedigung
von Ad-hoc-Abfragen ohne SQL-Kenntnisse
DB1-12
01-Einführung
48
Thomas Franke
Heutige Entwicklungslinien
Unterstützung spezieller Anwendungen
Multimediadatenbanken
Verwaltung multimedialer Objekte (Bilder, Audio, Video)
XML-Datenbanken
Verwaltung semistrukturierter Daten (XML-Dokumente)
Verteilte DBs*
Verteilung von Daten auf verschiedenen Knoten
Föderierte DBs*
Integration von Daten aus heterogenen Quellen
Mobile Datenbanken
Datenverwaltung auf Kleinstgeräten (PDA, Handy, ...)
NoSQL / z.B. BigTables
Key/Value-DBs
Columnoriented-DBs
Graphen-DBs
Dokumenten-DBs
DB1-12
01-Einführung
49
Thomas Franke
Herunterladen