Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung 1.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung 1."—  Präsentation transkript:

1 Einführung 1

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)
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/Verwaltungsdaten (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 NoSQL-Datenbanken (Dokumente, Graphen)

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) 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)
Vor 1960 Daten in nicht-magnetischen Medien (z.B. Lochkarten) gespeichert Plattenspeicher und Trommeln: Direktzugriff auf Daten über deren Adressen Daten auf sequentiellen magnetischen Medien (Magnetband) Große Datenmengen weiter auf Magnetband Daten werden als anwendungsspezifische Dateien gespeichert, auch Zugriffsmechanismen in Anwendungen

14 Entwicklung der Datenbanken (2)
Erstes DBMS von Bachman: Integrated Data Store (IDS), Netzwerk-Datenmodelle, CODASYL-Standard Standardisierung IBM: Information Management System (IMS), hierarch. Datenmodell Relationenmodell ERM (Chen, 1976) DB-Systeme Data Dictionary

15 Entwicklung der Datenbanken (3)
xx Kommerzielle relationale Datenbanksysteme (DB2, Oracle, MS-SQL Server, Sybase, Informix) Generische anwendungsorientierte Schichten on top of a DBMS (z.B. SAP, Oracle), die applikationsspezifisch angepasst werden können Objektorientierte Datenbanksysteme (z.B. Objektstore) Data Warehouse Systeme (z.B. SAS) Erweiterbare Datenbanksysteme mit neuen Datentypen für multimediale Anwendungen (z.B. Text, Image) Anbindung von Datenbanken ans Internet (Web 1.0 → Web 2.0) Wissensdatenbanken Zukunft: Steigende Datenmengen in Vielfalt und Umfang → wachsende Anforderungen an DB-Technologie (Big Data)

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 Atomizität = All or Nothing
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)


Herunterladen ppt "Einführung 1."

Ähnliche Präsentationen


Google-Anzeigen