Datenbankentwicklung und Anpassung - EDV

Werbung
Grundlagen Datenbanken
Datenbankentwicklung und Anpassung
Einführung
-
Daten sind wichtiger Aktivposten eines Unternehmens.
Datenbanksysteme ermöglichen die anwendungsübergreifende Nutzung von Daten.
Stichwort: 'data sharing'.
Ein Datenbanksystem isoliert Anwenderprogramme von Hardware und Betriebssystem
(und deren Änderungen).
Datenbank
Einheitlich beschriebene Darstellung eines Weltausschnittes mittels diskreter Daten auf
externen und persistenten Speichermedien (typischerweise Magnetplatten).
Eine Datenbank ist eine Sammlung von nicht-redundanten Daten, die von mehreren
Applikationen benutzt werden.
Probleme bei der konventionellen Datenverwaltung:
Datei 1
 Redundanz:
dieselben Daten werden mehrfach gespeichert
 Inflexibilität:
wenn Programm1 verändert wird, muß auch
Programm 2 angepaßt werden
 Inkonsistenz:
keine einheitliche Datenspeicherung, jedes
Programm organisiert seine eigene
Speicherung
 Daten-Programm-Abhängigkeit:
Datenveränderungen machen Veränderungen
an den Programmen notwendig und umgekehrt
Programm 1
Programm 2
Datei 2
Programm 3
Datei 3
Seite 1
Grundlagen Datenbanken
Datenbank-Management-System (DBMS)
Durch den Einsatz moderner Datenverarbeitungssysteme (DBMS) werden diese
Probleme minimiert!
Datei 1
Programm 1
DBMS
Datei 2
(Datenbankmanagementsystem)
Programm 2
Programm 3
Datei 3
Unter einem Datenbank-Management-System wird ein Softwarepaket verstanden, welches in
der Lage ist, (Anwender-) Daten in einem Computersystem zu verwalten.
Softwaresystem, das die einheitliche Beschreibung und sichere Bearbeitung einer Datenbank
ermöglicht.
Merkmale eines DBMS:




Daten sind eigenständig (unabhängig von Programmen)
Daten werden einmal definiert und für alle User (Programme) zentral verwaltet
die Kontrolle der Daten liegt allein beim DBMS
das DBMS ist die Software, die die Beziehung zwischen User und Datenbank (im Sinne
von Sammlung der Dateien) organisiert
Vorteile des Einsatzes von DBMS:
 Verringerung der Redundanz
 Datenbankreparatur bei Fehlern möglich
 vereinfachte Anwendungsprogrammierung (Programmierer muß nicht die spezielle
Organisation der Daten kennen)
 Konsistenzprobleme (Einheitlichkeit) entfallen, da kaum Redundanz auftritt
 Abhängigkeiten zwischen Daten und Programmen werden verringert
 Datenauswertung ist flexibler
 DBMS kann Korrektheit der Daten sichern
Seite 2
Grundlagen Datenbanken
Je nach Aufgabe des Anwenders entstehen unterschiedliche Blickwinkel (Sichten) auf
die Datenbank:
Benutzer-Sicht
Lagerbestand
(Formular 1)
Umsätze
(Formular 2)
Logische-Sicht
Lagerbestand
(Abfrage 1)
Umsatz pro Kunde
(Abfrage 2)
Interne Sicht
Artikeltabelle
(Access-DB)
Kundentabelle
(Oracle-DB)
Rechnungen
(Access-DB)
Vorteile der Abgrenzung verschiedener Sichten bei DBMS:
 Benutzer müssen nichts von der physikalischen Anordnung wissen, ihre Änderungen
werden automatisch umgesetzt
 die Datenstruktur der logischen Sicht kann auf den Benutzer zugeschnitten werden
 auf interner Ebene können unterschiedliche Datenbanksysteme (Access, Oracle,
DBASE...) verwendet werden, der Benutzer sieht nur die von ihm benötigten Daten
Sichten:
Jede Anwendung erhält eine eigene Sicht des gemeinsamen Datenbestandes.
DBMS garantiert:
-
Korrektheit der Daten (Einhaltung der definierten Konsistenzregeln).
Korrektheit im Mehrbenutzerbetrieb (concurrency control).
Datensicherheit, d.h. Korrektheit bei fehlerhaftem Ablauf einzelner Anwendungen und
Systemabsturz.
DBMS bietet feinkörnige Zugriffskontrolle.
Die Daten in der Datenbank können nur über das Datenbank-Management-System (DBMS)
eingefügt, gelesen, geändert oder gelöscht werden.
Seite 3
Grundlagen Datenbanken
Datenbank-System
Ein Datenbanksystem besteht aus einem einheitlich definierten Datenbestand, der vom DBMS
(Datenbankmanagementsystem) verwaltet wird. Zugriff ist nur über das DBMS und nach
dessen Korrektheitskriterien für Inhaltskontrolle, Datensicherheit und Parallelität möglich.
DBS = DB + DBMS
DatenModell
Struktur, Operationen und Konsistenzregeln werden durch ein Datenmodell definiert.
Konsistenz = korrekter Ablauf einer Transaktion
Transaktion = minimale Datenbank-Prozesseinheiten
Eigenschaften eines Datenbanksystems
Datenunabhängigkeit
Datenunabhängigkeit (nach Date): "Data independence is the immunity of applications to
change in storage and access strategy."
(Daten Unabhängigkeit ist die Immunität von Anwendungen, um in Lagerung und ZugangStrategie-< zu verändern)
Physische Datenunabhängigkeit:
Änderungen an den Speicherstrukturen und Zugriffspfaden sind für Anwenderprogramme und
ad-hoc Queries (zu diesen Zweck Anfragen) unsichtbar.
Logische Datenunabhängigkeit:
Änderungen an der logischen Sicht sind für AP und Queries (Anfragen) unsichtbar.
Datenbankmodelle bzw. Typen von DBMS
Hierarchisches Datenbankmodell
 die Datenstruktur ist in Baumform strukturiert
 die Daten unterliegen der sequentiellen Datenorganisation
 IMS von IBM ist ein Datenbanksystem, das auf dem hierarchischem Datenmodell aufbaut
Beispiel:
Abteilung
1:n
Mitarbeiter
1:n
Tätigkeit
1:n
1:1
Ausbildung
Seite 4
Gehalt
Grundlagen Datenbanken
Netzwerkdatenbankmodell (Anfang der 80er Jahre)





ist komplexer als das hierarchische Datenbanksystem
es können neben 1 : n und 1 : 1 auch n : m Zuordnungen realisiert werden
durch Vernetzung von Daten kann man auch komplexe Datenstrukturen abbilden
Nachteil: starre, komplexe und verwirrende Gesamtstruktur
Beispielsysteme: UDS, IDMS
Beispiel:
n:m
Abteilung
Tätigkeit
1:n
1:m
Mitarbeiter
(n : m Beziehung)
Abteilung 1
Abteilung 2
Tätigkeit x
Tätigkeit y
Mitarbeiter a
Mitarbeiter b
Mitarbeiter c
Mitarbeiter d
(Netzwerkstruktur)
Relationales Datenbankmodell (wichtigstes Datenbankmodell in der heutigen Zeit)
Beispielsysteme: Oracle, Access, Informix, DBASE, Paradox, Xbase, DB/2
In relationalen Datenbanken werden Daten in gleichartig aufgebauten Datensätzen , die in
Tabellen organisiert sind gespeichert.
Zwischen den Tabellen können Beziehungen (Relationen bestehen)
Aktenschrank-Prinzip:
Seite 5
Grundlagen Datenbanken
Häufig verwendete, gleichwertige Begriffe:



Tabelle,
Datensatz,
Feld,
Relation, Datei, File
Tupel, Zeile, Record
Spalte, Attribut
Beispiel 1: relationale Datenbank
Name
Bleßmann
Dax
............
Vorname Anschrift
Jörg
Altestr. 46
Erwin
Schulstr. 37
PLZ
53173
51147
Ort
Bonn
Köln
Telefon
0228/777200
0221/753159
Fax
0228/777201
0221/753456
Begriffsbestimmung:
Entitätsmenge
Mitarbeiter
Kunden
Produkte
Entitäten
Herr Müller, Frau
Groß,....
Herr Klein, Meier & Co
Mosch-Bohrmaschinen,
Asram.Leuchten,...
Zusammenfassung gleichartiger
Objekte
Attribute, Merkmale
Personal-Nr, Name,
Vorname, GebDatum,...
Kunden-Nr,
Name/Firma, Vorname,
Anschrift
Artikel-Nr., Hersteller,
Bezeichnung,...
Konkrete Objekte, die
Gegenstand der Daten
einer Tabelle sind
Seite 6
1002344, Mosch, el.
Bohrmaschine, 400 W,...
Spaltenüberschriften
Darstellung von Datenbanken mit Hilfsprogrammen ist gut möglich:
Beispiel 2: relationale Datenbank
Attributwerte
1047, Müller, Joseph,
14.05.1955
7145, Meier & Co,
Holzweg 5,....
Grundlagen Datenbanken
MA-Nr Name
()
Vorname
PLZ
Wohnort
Anschrift
Geb-Datum Telefon
1007
1574
1984
3045
2556
4711
Hans
Heinz
Karl
Carola
Laura
Ferdi
53171
50644
57126
40212
57153
51107
Bonn
Köln
Siegen
Düsseldorf
Wilnsdorf
Köln
Friesdorf 2
Kartäuserhof 1
Am Kampen 3
Königsallee 1
Heipel 17
Eiler Str. 1
11.11.1940
12.05.1956
21.04.1949
15.06.1960
15.08.1975
06.12.1948
Riek
Reissdorf
Flick
Quandt
Flick
Mühlens
0228/353796
0221/456411
0211/112233
0271/82345
02739/8866
0221/860001
Folgende Eigenschaften müssen bei der relationalen DB erfüllt sein:
 Tabelle (Entitätsmenge) besitzt eindeutigen Namen (z.B. Mitarbeiter)
 die Bezeichnungen der Attribute (Spaltenüberschriften) sind eindeutig
 eines der Attribute (oder eine Kombination aus mehreren Attributen) identifiziert
eindeutig einen Datensatz (Schlüssel oder Primärschlüssel), hier z.B. MA-Nr
 alle Daten eines Attributs sind aus einem vorgegeben Wertebereich (Domäne),
hier z.B. MA-Nr  ganze Zahl, Name  Text (20), PLZ  Text (8), Geb.Datum
 Datum (8-stellig)
.
Datenschutz
DBMS kontrolliert den Zugriff zu den Daten und deren Sichtbarkeit.
Gesetzgebung regelt erlaubte Nutzung und Veröffentlichung von Daten.
Datensicherheit
DBMS garantiert:
-
daß Datenbank immer in einen konsistenten Zustand gebracht werden kann,
daß Transaktionen (minimale DB-Prozesseinheiten) atomar und dauerhaft verlaufen.
atomar = alles oder gar nichts (Effekte unvollständiger Transaktionen sind nicht sichtbar)
Dauerhaftigkeit = Die Effekte vollständig und korrekt abgelaufener Transaktionen sind
permanent
Concurrency Control
DBMS garantiert, daß parallele Transaktionen isoliert und konsistent abgearbeitet werden.
Isolation = Illusion einer Transaktion, allein Zugriff auf die Datenbank zu haben. Eine
Transaktion sieht nur einen konsistenten Zustand der Datenbank.
Seite 7
Grundlagen Datenbanken
Integritätskontrolle
DBMS garantiert, daß ihm bekannte Integritätsregeln (Konsistenzregeln) eingehalten werden.
Ad-hoc Queries
DBMS unterstützt spontane Anfragestellung. Anfragen werden (meistens) vom System
optimiert.
Verteilte Datenbanksysteme
Client-Server Architektur
Ein Datenbank-Rechner (Server) u. n vernetzte Arbeitsplatzrechner ohne Datenbankspeicher
-
Benutzer sieht volle DBMS Funktionalität im Arbeitsplatzrechner
System verhält sich wie zentrales Datenbanksystem
Kommunikation ist für Benutzer transparent
Homogene verteilte Datenbanksysteme
-
jeder Knoten hat volle Datenbankfunktionalität
Daten können disjunkt oder repliziert gespeichert werden
Verteilung der Daten und Zugriff sind für den Benutzer transparent
Kommunikation ist für Benutzer transparent
alle Datenbankrechner sind stark miteinander gekoppelt
alle Datenbankrechner stehen unter einem verteilten DBMS und befolgen ein Protokoll
alle Transaktionen werden ausschließlich über das verteilte DBMS abgewickelt
wenn ein Knoten ausfällt (oder unerreichbar wird) kann Konsistenz nicht mehr garantiert
werden, daher blockiert das System
Heterogene verteilte Datenbanksysteme
-
Verteilung und Kommunikation wie oben.
Datenbankrechner können unterschiedliche lokale DBMS Software benutzen.
lokale Datenbankrechner können verschiedene Autonomiegrade besitzen
Datenbankrechner sind nur schwach gekoppelt
lokale Transaktionen müssen nicht über das globale DBMS abgewickelt werden
schwer Konsistenz und globale Korrektheit zu wahren.
Die jetzige Entwicklung zeichnet sich z.Z. in dieser Richtung ab.
Seite 8
Grundlagen Datenbanken
Vor- und Nachteile von Datenbanksystemen
Vorteile:
-
-
integrierter Datenbestand --> Redundanzfreiheit, data sharing
Verwaltung der Daten durch DBMS --> Konsistenz, höhere Qualität des Datenbestandes
einheitliche Mechanismen für Datenschutz, Datensicherheit (Recovery) und
Nebenläufigkeit (Concurrency Control)
vom System garantierte Korrektheit bei parallelem Transaktionsablauf und Systemfehlern
anwendungsbezogene Sichten der gleichen physischen Daten
Physische und logische Datenunabhängigkeit
leichtere und schnellere Programmentwicklung und Wartung durch einheitliche und
explizite Strukturdarstellung, geringeren Programmieraufwand, Nutzung von Form- und
Reportgeneratoren
optimierbare Anfragesprachen (query language)
Nachteile:
-
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 (DatenbankAdministrator notwendig , DBA)
Verwundbarkeit durch Zentralisierung --> Verteilung
.
Historischer Überblick Datenverwaltung
1950-1960 "Vorgeschichte"
Daten in nichtmagnetischen Medien (z.B. Lochkarten) gespeichert
Daten in sequentiellen magnetischen Medien (Magnetband)
Daten sind der programmgesteuerten Bearbeitung untergeordnet (z.B. Berechnung von
Flugbahnen)
1960-1965 "Steinzeit"
Plattenspeicher und Trommeln erlauben direkten Zugriff auf Daten über deren Adresse.
Große Datenmengen weiterhin auf Magnetband
Datensätze werden als anwendungsspezifische Dateien gespeichert
Zugriffsmechanismen werden in Anwendungen eingebettet.
Stapelverarbeitung (Batch) dominiert
Erster Dialogbetrieb
Strukturen:
Sätze
feste Länge
variable Länge
Zugriff
sequentiell
direkt mit einem Schlüssel
index sequentiell mit einem Schlüssel
.
Seite 9
Grundlagen Datenbanken
1965-1970 "Altertum"
Datenverwaltung wird wichtiger als Verarbeitung/Berechnung
Datenzugriffscode wird aus Anwendungen entfernt und als Service von Dateisystemen
geboten
Synchronisierung (falls vorhanden) im Anwenderprogramm
Strukturen:
Sätze
feste Länge
variable Länge
Zugriff
sequentiell
direkt mit einem Schlüssel
index sequentiell mit einem Schlüssel
sekundäre Indizes (mehrere Schlüssel)
keine Inhaltskontrolle: unkontrollierte Redundanz
keine Datenunabhängigkeit (Datenstrukturänderung im AP)
keine Datensicherheit (Recovery, Backup im AP)
kein Datenschutz mit feinerer Granularität als vom BS geboten (Anwenderprozess und Datei)
1970- 1980 "Mittelalter"
Dateiverwaltung mit Data Dictionary (Zwischenlösung auf dem Weg zur integrierten
Datenbank)
Gleiche Dateistrukturen wie zuvor, aber Data Dictionary
kontrolliert Redundanz
beschreibt Datensichten im Anwenderprogramm
beschreibt nichtbindende Benutzerberechtigung
1980 - Heute "Moderne"
Standard DBMS
Strukturen:
Sätze
feste Länge
variable Länge
Felder, Records, Recordtypen, Tupel, Relationen
Zugriff
sequentiell
indiziert (verschiedene Indexvarianten)
inhaltsorientiert
mengenorientiert
Stapel und interaktiv
Inhaltskontrolle (durch Schema)
Redundanz größtenteils eliminiert
Integrität (syntaktisch: Format, key-uniqueness,...): minimale semantische Integrität
Korrektheit unter paralleler Nutzung (Nebenläufigkeit - concurrency control)
Datenunabhängigkeit
Seite 10
Grundlagen Datenbanken
Externe Schemata = Benutzersichten
Konzeptuelles Schema = globale (standarisierte) Sicht
Internes Schema = physische Abbildung
.
Datensicherheit
Recovery und Back-up durch System
Datenschutz
Benutzerberechtigung durch System verwaltet
Feine Granularität
Kontrolle von Inhalt, Datensicherheit und Datenschutz durch DBA (Datenbankadministrator)
Ein Datenbanksystem besteht aus einem einheitlich definierten Datenbestand, der vom DBMS
(Datenbankmanagementsystem) verwaltet wird. Zugriff ist nur über das DBMS und nach
dessen Korrektheitskriterien für Inhaltskontrolle, Datensicherheit und Parallelität möglich.
1985 - ? Objektorientierte Datenverwaltung
1. Generation (Prototypen)
2. Generation in Entwicklung, erste Produkte, aktive Forschung
Strukturen:
Objektdarstellungen in Typenhierarchie angeordnet
elementare Objekte
komplexe Objekte
Anwendungsbezogene Objekte
Objekte vereinen Datenstrukturen und objektspezifische Operationen
Inhaltskontrolle
Redundanz und Konsistenz durch Vererbung und Typenhierarchie kontrollierbar.
Bei Mißbrauch besteht Gefahr von unkontrollierter Redundanz durch benutzerspezifische
Objekte.
Datenunabhängigkeit
durch Objektverkapselung und einheitliche externe Schnittstellen, Message-passing.
.
Datensicherheit
Wie bei Standard DBMS mit Potential zu verbesserter oder anwendungspezifischer
Datensicherheit
Datenschutz
Mindestens wie Standard DBMS mit zusätzlicher Kontrolle über Sichtbarkeit von Strukturen
und Operationen.
Tendenz zu höherer Kontrolle durch Eigentümer und weniger durch DBA.
Ausrichtung auf "nichtstandard Anwendungen" (CAD/CAM/CIM, GIS, multimediale
Informationssysteme, etc.)
Wir unterscheiden:
- betriebliche Informationssysteme
- Literaturinformationssysteme (Retrievalsysteme)
- Mathematisch-Naturwissenschaftliche-Technische Datenverarbeitung
- Nicht-Standard Anwendungen.
Seite 11
Herunterladen