Einführung 1.

Slides:



Advertisements
Ähnliche Präsentationen
Einführung "Datenbanksysteme"
Advertisements

Einführung 1.
Prof. Dr. T. Kudraß1 Einführung. Prof. Dr. T. Kudraß2 Dateisysteme Datei (File) –Zusammenfassung von Sätzen des gleichen Typs Satz (Record) –Sequenz von.
Datenbanken Einführung.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Das Entity-Relationship-Modell
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Objekt – Relationales – Modell Tomasz Makowski IN
Prof. Dr. Andreas Schmietendorf
Universität Paderborn
Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Datenbanken Christof Rumpf
Das Relationen-Modell
Oberseminar Datenbanken Multimediale Datenbanken Christian Völschow.
Transaktionen in verteilten Datenbanken
Das Relationenmodell 1.
Prof. Dr. T. Kudraß1 Relationen-Algebra. Prof. Dr. T. Kudraß2 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer.
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Einführung Dateisystem <-> Datenbanksystem
Fachbereich Mathematik/Informatik Universität Osnabrück
Informationssysteme SS Informationssysteme Grundvorlesung Informatik Sommersemester 2004 Universität des Saarlandes, Saarbrücken Dr. Ralf Schenkel.
Einführung und Überblick
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
... und alles was dazugehört
Visualisierung objektrelationaler Datenbanken
Datenbanken und Datenbanksysteme
Datenbank-entwicklungsprozess
Überblick über die Datenbankproblematik
Datenbanken und Datenmodellierung
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Allgemeines zu Datenbanken
(D.h. „Hallo MausFans!“ auf Japanisch).
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Vorlesung #10 Physische Datenorganisation
XML und Datenbanken © 2006 Markus Röder
verstehen planen bearbeiten
Lernfeld - Thema Datenbanksystem
Systemsoftware und Betriebssysteme
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
Prof. Dr. T. Kudraß1 Einführung. Prof. Dr. T. Kudraß2 Applikationen mit Dateien einfache Dateioperationen –zur Verwaltung: create/drop, open/close –zum.
Datenbanktechnik 1 Datenbanktechnik II Kapitel 5.0 bis 6.0.
Prof. Dr. T. Kudraß1 Einführung. Prof. Dr. T. Kudraß2 Informationsflut Motivation –Komplexe Datenstrukturen –Aktuelle, richtige, redundanzfreie Daten.
SQL - Structured Query Language  AIFB SS (1|3) 2.1 Allgemeines zu SQL (1|3) Benennung: SQL: „structured query language" ursprünglich: SEQUEL –
Einführung Dateisystem <-> Datenbanksystem
Datenbanken im Web 1.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbank System (DBS) - Warum?
Seminar zur Administration von Datenbankmanagementsystemen 8. 6
Datenbanken Einführung
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
SQL Basics Schulung –
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Kapitel 6: Datenbanksysteme
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Von Wietlisbach, Lenzin und Winter
Datenbanksystem Von Anna und Robin.
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Präsentation von Darleen und Michèle
Datenbanken Von Amed und Alicia.
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Einführung 1

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

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

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)

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)

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 …)

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)

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)

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.

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

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

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

Entwicklung der Datenbanken (1) Vor 1960 1960-65 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

Entwicklung der Datenbanken (2) 1965-70 1970-80 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

Entwicklung der Datenbanken (3) 1980-90 1990-20xx 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)

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)

Datenunabhängigkeit (1) Unter Datenunabhängigkeit versteht man die Unabhängigkeit von Anwendungsprogrammen und den Daten, die die Anwendungsprogramme benötigen.

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

Sprachebenen und Sprachklassen

Kategorien von Datenbankbenutzern

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

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

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

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

Datenbankarchitektur

ANSI-3-Ebenen-Modell

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

Konzeptionelles Schema

Datenbankschema Das Datenbankschema besteht bei einer relationalen Datenbank aus dem Relationenschema, also den Tabellen, die in der Datenbank abgelegt werden sollen. Flug Sitzplatz

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

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

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.

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.

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)