• Keine Ergebnisse gefunden

Was ist eine „Datenbank“? (1)

N/A
N/A
Protected

Academic year: 2022

Aktie "Was ist eine „Datenbank“? (1)"

Copied!
34
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Einführung

(2)

Informationsflut

Motivation

– Komplexe Datenstrukturen

– Aktuelle, richtige, redundanzfreie Daten – Trennung von Daten und Programmen – Viele Benutzer greifen zeitgleich zu

Aufgaben

– komfortable und sichere Eingabe der Daten

– persistente und Platz sparende Speicherung der Daten – Schneller und komfortabler Zugriff auf die Daten

Grundsätzliches zu Datenbanken

(3)

Datenbank

Oft ungenaue Begriffsverwendung

In der Regel ist ein Datenbanksystem (DBS) gemeint oder auch eine Datenbasis

Datenbasis

die in einem DBS (Datenbanksystem) nach einheitlichen Regeln persistent gespeicherten Daten

die Daten werden in Dateien des File-Systems gespeichert

Was ist eine „Datenbank“? (1)

(4)

Datenbanksystem (DBS)

In einem DBS werden Daten nach einheitlichen Regeln gespeichert (persistente Datenhaltung) und verwaltet.

Alle Benutzer und Anwendungen können nach einheitlichen Regeln auf die gespeicherten Daten zugreifen.

DBS = Datenbasis + DB-Verwaltungssystem (DBMS)

Was ist eine „Datenbank“? (2)

(5)

Prof. Dr. T. Kudraß 5

DBMS (Data Base Management System)

Programme zur Verwaltung persistenter Daten (der sog.

Datenbasis)

liegt in der Funktionalität zwischen Anwendungsprogrammen und

Betriebssystem

effiziente Verwaltung großer Datenmengen

ein einheitliches Datenmodell liegt zugrunde, mit dessen Konzepten

alle Daten einheitlich beschrieben werden.

Operationen und deskriptive Sprachen wie z.B. SQL:

DDL (Data Definition Language), DML (Data Manipulation Language),

DCL (Data Control Language) …

Transaktionskonzepte und Mehrbenutzerbetrieb

Datenschutz und Datensicherheit

Was ist eine „Datenbank“? (3)

(6)

Prof. Dr. T. Kudraß 6

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

enthält die Daten, die den Datenbestand beschreiben/

definieren:

Metadaten/Verwaltungsdaten

(Informationen über: Tabellennamen, Attributnamen, Datentypen,

Beziehungen …)

Metadatenbank arbeitet mit den gleichen Konzepten wie das DBMS

Was ist eine „Datenbank“? (4)

(7)

Ein Datenmodell stellt einen allgemeinen Begriffsapparat zur Verfügung, der es gestattet, Realitätsausschnitte ohne Eingrenzung auf ein bestimmtes Sachgebiet zu modellieren.

Mit dem Datenmodell werden die Datenobjekte und die Operatoren auf diesen Objekten festgelegt.

Das Datenmodell ist somit analog zu einer Programmier- sprache, die Datentypen und Funktionen werden mit Mitteln der Datenbanksprache beschrieben.

(Vossen, 1999)

Was ist ein Datenmodell?

(8)

• Flache Dateien

(vor DB-Zeitalter/ohne DB)

• Hierarchische Datenbanken

• Netzwerkdatenbanken

• Relationale und objektrelationale Datenbanken

• Objektorientierte Datenbanken

Nach dem Typ des Datenmodells:

(und der zeitlichen Entwicklung)

Klassifizierung von Datenbanken

(9)

Die 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. Die Zeilen heißen Tupel und die

Spaltenüberschriften Attribute.

Relationale Datenbank

(10)

Informationssystem vs. Datenbanksystem

Ein Informationssystem (IS) besteht aus Menschen und Maschinen, die Informationen erzeugen und/oder

benutzen und die durch Kommunikationsbeziehungen miteinander verbunden sind.

Ein rechnergestütztes Informationssystem (CIS) ist ein System, bei dem die Erfassung, Speicherung und/oder Transformation von Informationen durch den Einsatz von EDV teilweise automatisiert ist.

Hardware Datenbanksystem Anwendungssysteme

Betriebssystem CIS

IS

(11)

Beispiele für Informationssysteme

Universitätsdatenbank

– Objekte: Fachbereiche, Studenten, Professoren, Mitarbeiter, Vorlesungen, Prüfungen

– Anwendungen:

Immatrikulation

Ausfertigung von Studienbescheinigungen

Stundenplanerstellung

Raumbelegung

Ausstellung von Zeugnissen

Statistiken

Bank-Informationssystem

– Objekte: Partner (Kunden, Geschäftspartner), Produkte (bestehend aus Features), Tarife, Standardkosten, Konten, Finanzinstrumente,

Geschäftsprozesse (Beschreibungen und Logs), Referenzdaten (z.B.

Kalender)

– Anwendungen:

Buchung von Zahlungsvorgängen auf verschiedenen Konten

Einrichten und Auflösen von Konten

Zinsberechnung und Verbuchung

Personalverwaltung (Gehaltsabrechnung)

Bereitstellung von Statistiken über Kundenverhalten zu Marketing- Zwecken

(12)

Typen von Informationssystemen

Information Retrieval (Recherche-Systeme)

Kommerzielle EDV Wiss.-techn.

Anwendungen

große Datenmengen

(unformatiert) große Datenmengen (formatiert)

Einfache Daten-

struktur/Datentypen

Kleine Datenmengen, numerische Daten

Komplexe

Suchalgorithmen Einfache Algorithmen Komplexe Algorithmen Retrieval-orientiert Update-orientiert,

transaktionsorientiert prozeßorientiert

Non-Standard-Anwendungen

große Datenmengen (formatiert und unformatiert) Komplexe Datentypen

Komplexe Algorithmen

Datenbankmanagementsysteme

(13)

Entwicklung der Datenbanken (1)

(14)

Entwicklung der Datenbanken (2)

(15)

Entwicklung der Datenbanken (3)

(16)

Vorteile eines DBMS

Datenunabhängigkeit

Effizienter Zugriff

Verminderte Entwicklungszeit

Kontrolle der Datenintegrität

Zugriffskontrolle auf die Daten

Datensicherheit und Zugriffskontrolle auf die Daten (Korrektheit bei fehlerhaftem Ablauf einzelner

Anwendungen und System-absturz)

Einheitliche Datenadministration

Unterstützung von Nebenläufigkeit (Concurrency Control)

Recovery-Fähigkeiten (Korrektheit bei fehlerhaftem Ablauf einzelner Anwendungen und Wiederherstellung der DB nach System-Crash)

(17)

Unter Datenunabhängigkeit versteht man die Unabhängigkeit von Anwendungsprogrammen und den Daten, die die

Anwendungsprogramme benötigen.

Datenbank

Programm 1 . . . . . Programm x Programm y

Datenunabhängigkeit (1)

(18)

Welche Vorteile hat die Datenunabhängigkeit?

• Weniger Redundanz

• keine inkonsistenten Daten

• Anpassungsfähigkeit

Arten der Datenunabhängigkeit

• vertikal und logisch: Anwenderprogramme von den Daten

• horizontal und logisch: Anwenderprogramme untereinander

• physisch: Unabhängig von der physikalischen Speicherung

Datenunabhängigkeit (2)

(19)

Datenmanipulation (DML)

Datendefinition (DDL)

Physische Datenspeicherung und Administration (DCL) Hardware: Speichermedium

Anwendungs- programm 1

Anwendungs- programm 2

Anwendungs- programm n Anwender

D B M S

...

.

.

Datenabfragesprache (DQL)

Sprachebenen und Sprachklassen

(20)

Datenbankendbenutzer Datenbank-

entwickler

DBA

Kategorien von Datenbankbenutzern

(21)

Datenbankdesign, Anlegen der Datenbank

Softwareinstallation und -wartung

Speicherplatzverwaltung

Implementierung von Sicherheitsmechanismen

Laden von Daten

Backup und Recovery.

Reorganisation von Datenbeständen

Systembeobachtung und-Tuning

Aufgaben des Datenbankadministrators

(22)

Systemanalyse

• Entwurf des konzeptionellen Datenbankmodells, z.B. Erstellung eines ER-Modells

Erstellung einer kompletten Aufgabenbeschreibung

• Abstimmung mit bestehenden Applikationen und Einbindung in eine komplexes Datenmodell

Ad-Hoc-Abfragen

• Beobachtung der Datenbank und der Entwicklung der Datenmenge

Beantwortung von Benutzerfragen, die nicht fest programmiert werden sollen

Bedienung von SQL-Werkzeugen

Aufgaben des Datenbankentwicklers (1)

(23)

Anwendungsentwicklung

• Entwicklung von Masken

Entwicklung von Reports, schriftlichen Dokumenten

• Programmiersprache: 4 GL-Sprachen, wie PL/SQL von ORACLE

Erstellung von Datenbankprozeduren und Datenbanktriggern in Datenbank

Anbindung der Datenbank ans INTERNET, z.B. mit JDBC und Java

Aufgaben des Datenbankentwicklers (2)

(24)

Benutzung der vom Datenbankentwickler erstellten Programme

Benutzung von QBE-Werkzeugen (Query by Example) zur Beantwortung von Ad-Hoc-Abfragen

Aufgaben des Datenbankendbenutzers

(25)

Buffer- manager

Data- Manager

Ebene 5 Seitenschnittstelle

Recordorientierte Schnittstelle

Transaktionsverwaltung

Scheduler Recovery-

Manager Person Person

Benutzerschnittstelle

Mengenorientierte Schnittstelle

Datenbankmanagementsystem

Ebene 4 Code- Erzeugung

Optimierer Zugriffsplan-

erstellung

Query- prozessor Update-

Prozessor Integritäts-

prtüfung

Ebene 2

Ebene 3

Geräteschnittstelle Person

Input/Output- Prozessor

Parser Precompiler

Autorisierungskontrolle

Ebene 1

Datenbankarchitektur

(26)

Anwendung 1

Anwendung n

externe

Datenstruktur externe

Datenstruktur

externe Datenstruktur

konzeptionelles Schema

anwendungs- und datenunabhängige Datenstruktur

Datenbankschema

anwendungsunabhängig / datenbankspezifisch Anwendung

2 ...

ANSI-3-Ebenen-Modell

(27)

Flughafenbetrieb Externe Ebene

Benutzersicht auf den Flugbetrieb, also z.B.

• Unterstützung von Buchung,

• Auswahl und Reservierung der Plätze

• die Ausgabe der Flugscheine

• mehr und mehr über das INTERNET

Beispiel zum ANSI-3-Ebenen-Modell

(28)

S i t z p l a t z

C o u p o n F l u g

F l u g g a s t F l u g z e u g

T i c k e t

.

Konzeptionelles Schema

(29)

Das Datenbankschema besteht bei einer relationalen Datenbank aus dem Relationenschema, also den

Tabellen, die in der Datenbank abgelegt werden sollen.

Nr Position Raucherkennzeichen 1 rechts nein

2 rechts nein 23 links ja

Nr. von nach Uhrzeit Datum 216 Köln München 14.11 2.12.95 217 Köln Paris 15.15 2.12.95 218 Köln Tokio 16.00 2.12.95

Sitzplatz Flug

Datenbankschema

(30)

Physische Speicherstruktur der Daten:

• Indizes (z.B. Baum- Baumstruktur)

• Hash-Zugriff

• Heap

• Indizes

8

5 12 15

1 3 6 7 9 11 13 16 18

Interne Ebene

Beschreibt die Daten in Form von Datensätzen (Records), spezifischen Zugriffspfaden, die Abbildung der logischen

Records auf die Speicherstrukturen (physische Records, Seiten)

(31)

Concurrency Control

Nebenläufige Ausführung von Anwendungsprogrammen wichtig für Performance

–Nebenläufige Arbeit wichtig für gute CPU-Auslastung

Überlappende Aktionen von verschiedenen Programmen können zu Inkonsistenz führen

z.B. Berechnung eines Kontostandes durch eine Transaktion und gleichzeitige Ausführung einer Überweisung

DBMS garantiert Isolation und Konsistenz

Isolation

Illusion einer Transaktion, allein Zugriff auf die Datenbank zu haben. Eine Transaktion sieht nur einen konsistenten Zustand der Datenbank.

Konsistenz

Korrekter Ablauf einer Transaktion

(32)

Transaktionskonzept

Transaktion

– Atomare Sequenz von Datenbank-Aktionen (read / write)

Atomizität = All or Nothing

Jede Transaktion hinterläßt die DB in einem konsistenten Zustand, wenn diese bei Transaktionsbeginn schon

konsistent war.

– Benutzer können Integritätsbedingungen auf den Daten formulieren, die vom DBMS kontrolliert werden.

– Das DBMS “versteht“ nicht die Semantik der Daten  Benutzer ist für den korrekten Ablauf einer Transaktionen verantwortlich

– DBMS garantiert, daß die verschachtelte Ausführung einer Menge von Transaktionen {T1, ..., Tn} äquivalent zu

irgendeiner seriellen Ausführung T1... Tn sind.

(33)

Datensicherheit

DBMS sichert Atomizität auch, wenn das System mitten in einer Transaktion abstürzt

Idee: Protokollierung aller Aktionen (Logging), die vom DBMS ausgeführt werden während der Ausführung der Transaktionen

– Vor dem Ändern der DB wird der entsprechende Log-Eintrag auf einen sicheren Platz geschrieben.

– Nach einem Crash werden die Effekte von teilweise ausgeführten Transaktionen zurückgesetzt (undo)

Logging von

– Write (alter und neuer Wert) durch Ti – Commit oder Abort von Ti

Logs werden oft zusätzlich gesichert auf einem anderen Datenträger

Alle Aktivitäten von Logging und Concurrency Control werden transparent durch das DBMS behandelt.

(34)

Zusammenfassung

Vorteile eines Datenbanksystems

– Integrierter Datenbestand Vermeidung von Redundanz – Konsistenz, höhere Qualität des Datenbestandes

– Einheitliche Mechanismen für Datenschutz, Datensicherheit (Recovery) und Nebenläufigkeit (Concurrency Control)

– Physische und logische Datenunabhängigkeit

– Leichtere und schnellere Programmentwicklung und -wartung durch einheitliche und explizite

Strukturdarstellung, Nutzung von 4GL, Form- und Reportgeneratoren

– Optimierbare Anfragesprache (Query Language)

Nachteile eines Datenbanksystems

– General-Purpose Software oft weniger effizient als spezialisierte Software

– Bei konkurrierenden Anforderungen kann DBS nur für einen Teil der AP optimiert werden

– Kosten: DBMS und zusätzliche Hardware

– Hochqualifiziertes Personal (DB-Administration)

Referenzen

ÄHNLICHE DOKUMENTE

Für welches der Verfahren würden Sie sich entscheiden, wenn Sie in einer Übung relationale Daten in eine festgelegte XML-Form bringen sollen.. Begründen Sie

Ist ein Regelsystem, dass verhindert, dass die Gültigkeit/Verknüpfung zwischen Tabellen sicherstellt und ein versehentliches Löschen und Verändern von Daten verhindert. Will man

| Inklusive neuer intuitiver PC-Software profil-manager XD 6.0 für den optimalen Ablauf in Praxis und Klinik.. | Übersichtliche Darstellung aller ABDM-Daten inklusive Pulsdruck

zu betätigen. Im sich daraufhin öffnenden Dialogfeld ist die E-Mail-Adresse, unter welcher der Benutzer Zugriff auf die Daten bekommen soll, zu hinterlegen und die