Einf - PowerPoint PPT Presentation

About This Presentation
Title:

Einf

Description:

Title: The Relational Model Last modified by: FbIMN Document presentation format: Overheadfolien Other titles: Times New Roman Helmet Monotype Sorts Wingdings Book ... – PowerPoint PPT presentation

Number of Views:98
Avg rating:3.0/5.0
Slides: 35
Provided by: htwk6
Category:

less

Transcript and Presenter's Notes

Title: Einf


1
Einführung
2
Grundsätzliches zu Datenbanken
  • 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

3
Was ist eine Datenbank? (1)
  • 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

4
Was ist eine Datenbank? (2)
  • 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)

5
Was ist eine Datenbank? (3)
  • 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

  • (vgl. Heuer/Saake
    Datenbanken, 1995)



6
Was ist eine Datenbank? (4)
  • 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/Verwaltung
    sdaten (Informationen über Tabellennamen,
    Attributnamen, Datentypen, Beziehungen )
  • Metadatenbank arbeitet mit den gleichen
    Konzepten wie das DBMS selbst (Tabellen,
    Attribute, Beziehungen, gleiche Anfragesprache )

7
Was ist ein Datenmodell?
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)
8
Klassifizierung von Datenbanken
Nach dem Typ des Datenmodells(und der
zeitlichen Entwicklung)
  • Flache Dateien (vor DB-Zeitalter/ohne DB)
  • Hierarchische Datenbanken
  • Netzwerkdatenbanken
  • Relationale und objektrelationale Datenbanken
  • Objektorientierte Datenbanken

9
Relationale Datenbank
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.
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.

IS
CIS
Anwendungssysteme
Datenbanksystem
Betriebssystem
Hardware
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
Datenbankmanagementsysteme
Non-Standard-Anwendungen
große Datenmengen (formatiert und unformatiert)
Komplexe Datentypen
Komplexe Algorithmen
Komplexe Transaktionen
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
Datenunabhängigkeit (1)
Unter Datenunabhängigkeit versteht man die
Unabhängigkeit von Anwendungsprogrammen und den
Daten, die die Anwendungsprogramme benötigen.
18
Datenunabhängigkeit (2)
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

19
Sprachebenen und Sprachklassen
20
Kategorien von Datenbankbenutzern
21
Aufgaben des Datenbankadministrators
  • Datenbankdesign, Anlegen der Datenbank
  • Softwareinstallation und -wartung
  • Speicherplatzverwaltung
  • Implementierung von Sicherheitsmechanismen
  • Laden von Daten
  • Backup und Recovery.
  • Reorganisation von Datenbeständen
  • Systembeobachtung und-Tuning

22
Aufgaben des Datenbankentwicklers (1)
  • 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

23
Aufgaben des Datenbankentwicklers (2)
  • 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

24
Aufgaben des Datenbankendbenutzers
  • Benutzung der vom Datenbankentwickler
    erstellten Programme
  • Benutzung von QBE-Werkzeugen (Query by
    Example) zur Beantwortung von
    Ad-Hoc-Abfragen

25
Datenbankarchitektur
26
ANSI-3-Ebenen-Modell
27
Beispiel zum ANSI-3-Ebenen-Modell
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

28
Konzeptionelles Schema
29
Datenbankschema
Das Datenbankschema besteht bei einer
relationalen Datenbank aus dem Relationenschema,
also den Tabellen, die in der Datenbank abgelegt
werden sollen.
Flug
Sitzplatz
30
Interne Ebene
Beschreibt die Daten in Form von Datensätzen
(Records), spezifischen Zugriffspfaden, die
Abbildung der logischen Records auf die
Speicherstrukturen (physische Records, Seiten)
  • Physische Speicherstruktur der Daten
  • Indizes (z.B. Baum- Baumstruktur)
  • Hash-Zugriff
  • Heap
  • Indizes

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)
  • Verwundbarkeit durch Zentralisierung (Ausweg
    Verteilung)
Write a Comment
User Comments (0)
About PowerShow.com