DB 04/04/02 Mitschrift Sven Lehnen Unter Datenbanken versteht man ein System zur Beschreibung, Speicherung und Wiedergewinnung von Datenmengen Datenbanken bestehen aus (externen, konzeptionellen, internen) Schemata und Dateninhalten www.med-inf.net umfangreichen DD= Data Dictionary (Enthält die Daten über Tabellen und DB-Eigenschaften) Datenbankaufbau mit Schnittstelle zu anderen Programmen. Ein Datenbanksystem greift auf die richtigen Spalten einer Tabelle über die im DD definierten Bitstellen zu. DB 04/04/02 Mitschrift Sven Lehnen www.med-inf.net Interne, Externe, Konzeptionelle Sicht Programm 3 Logische Datenstruktur Physische Datenorganisation Datenbankverwaltungssystem Programm 2 DML= Data Manipulation Language und QL= Query Language (SQL) Programm 1 DDL = Data Definition Language, DCL =Data Control Language Benutzer 3 DSDL =Data Storage Description Language Benutzer 2 Konzeptionelle Sicht Benutzer 1 Interne Sicht Externe Sicht Datenbankarchitekturmodell nach ANSI/SPARC (17) Die Externe Sicht ist die Sicht des Users auf die DB. Es werden Nutzerabhängig Funktionen zur Verfügung gestellt (Nutzer-Rollen-Konzept), sowie Eingabemasken und Applikationen zur Verfügung gestellt. Benutzerspezifische Sicht auf die Daten und ergibt sich aufgrund von speziellen Informationsbedarf jeder Anwendung und aus den Anforderungen an den Datenschutz. (18) So kann der Geschäftsführer Zugriff auf andere Datensätze und Tabellen mit anderen Nutzungsrechten erhalten als Beispielsweise die Lohnbuchhaltung. Mittels des Nutzer-RollenKonzepts wird der Datenschutz und die Geheimhaltung sensibler Daten realisiert. Die Konzeptionelle Schicht beschreibt das Datenmodell, Schlüssel sowie die logische Datenstruktur. Gesamtschema der Datenbank (Data Dictionary) und enthält alle zu verwaltenden Objekte wie Integritätsbedingungen, die festlegen, unter welchen Voraussetzungen Daten eingefügt, geändert oder gelöscht werden dürfen. Entwurf erfolgt unabhängig von einzelnen Benutzeranforderungen Entwurf erfolgt unabhängig von der Form der physikalischen Speicherung Entwurf des konzeptionellen Schemas ist die kreative Aufgabe im gesamten Datenbankentwicklungsprozess (18) Zur logischen Modellierung von DBS benutzt man heute grafische Modellierungstools. Die Ablage der konzeptionellen Schicht steht bzw. ist das Data Dictionary DB 04/04/02 Mitschrift Sven Lehnen www.med-inf.net (Access bietet beispielsweise Möglichkeiten, Masken, Tabellen und Verknüpfungen grafisch anzulegen. Die Generierung geschieht jedoch weiterhin mittels den SQL-Befehlen.) Das Interne Schema beschreibt die physische Speicherung der Daten. Hierbei unterscheidet man nach - - Sequentiell: Tabellen werden von oben nach unten oder ähnlichen Algorithmen durchsucht Index-Sequentiell: Es wird ein Schlüsselindex angelegt, anhand dessen die Tabelle leichter durchsucht werden kann. Der Index wird in einer separaten Datei abgespeichert. Die Indextabelle ist etwas größer gehalten, als benötigt, um den Index erweitern zu können (Überlaufbereich)) Hash: (Heute ohne weitere Bedeutung) Der Datensatz wird physisch mit der logischen Tabelle verbunden. Festlegung, wie das konzeptionelle Schema auf externen Speichern abzulegen ist und welche Zugriffsmöglichkeiten bestehen. Folie Funktionen des DMS Einrichtung und Verwaltung der Datenbank Gewährleistung der Datenunabhängigkeit zwischen Daten und Programmen Bereitstellung von Zugriffsmethoden Verwaltung des Mehrbenutzerbetriebs Gewährleistung der Datenintegrität Gewährleistung der Datensicherheit Sicherstellung des Datenschutzes Trotz dem allgemeinen Trend zur Objektorientierung findet immer noch eine strikte Trennung zwischen Anwendung und Daten statt. Record Lock: Verhinderung von gemeinsamen, gleichzeitigem Zugriff (Veränderung) auf einen Datensatz. Sprackomponenten eines DBMS Sprachkomponente Ebene Aufgabe DML (Data Manipulation Language) Extern Formulierung von ADHOC-Anfragen oder Änderungen DDL (Data Description Language) Konzeptionell, Extern Definition des konzeptionellen und externen Datenbankschemas DSDL (Data Storage Description Language) Intern Definition der Zugriffsverfahren, Zugriffspfade und Speicherverwaltung DB 04/04/02 Mitschrift Sven Lehnen www.med-inf.net Sprachkomponenten Kommando Beschreibung DML CREATE (DROP) SCHEMA Definition (Entfernen) eines Datenbankschemas CREATE (DROP)DOMAIN Definition (Entfernen) eines Datentyps CREATE (DROP) TABLE Definition (Entfernen) Tabelle CREATE (DROP) VIEW Definition (Entfernen) eines VIEWS GRANT, REVOKE Vergabe und Entzug von Zugriffsrechten INSERT INTO Einfügen von Zeilen DELETE FROM Löschen von Zeilen UPDATE Aktualisierung von Zeilen SELECT Datenbankabfrage DECLARE (OPEN, CLOSE) CURSOR Definition (Öffnen, Schließen) eines Cursors (enbedded SQL) FETCH Übergabe der nächsten Zeile (enbedded SQL) CREATE (DROP) INDEX Definition (Entfernen) eines Index zur Beschleunigung des Datenzugriffs (22) DDL DSDL weiteres Beispiel: create Index create table Kunde(kuNr,Name,Ort); create table KundenAnsprech(KuNr,LFN,Pname,Port); Abfrage erfolgt entweder über den Select Befehl oder mittels create view (KuNr,Name,Pname,Port) Das Problem bei Datenbankzugriffen über Programmiersprachen liegt darin, daß zum Zugriff auf DBs ein Sequentieller Zugriff nötig ist. OoOrientierte Programmiersprachen dagegen lesen die Datensätze jedoch Prozedural, also einzeln ein. DB 04/04/02 Mitschrift Sven Lehnen www.med-inf.net Geschichtliche Datenbankentwicklung (24) Programmorientierte Datenhaltung (ab 50er Jahre) Dateiintegrierteen Datenhaltung (ab 60er Jahre) Datenbankorientierte Datenhaltung (ab 70er Jahre) Prärelationale Datenbanksystem (hierarchische und netzwerkartigen Datenbanksysteme) (70er Jahre) Relationale Datenbanksysteme (80er Jahre) Postrelationale Datenbanksysteme(90er Jahre) Objektorientierte Datenbanken Mehrdimensionale Datenbanken Verteilte Datenbanken Zeitorientierte Datenbanken