Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.

Slides:



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

Ein- und Ausgabe von Dateien
Datenbanken Einführung.
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
Prof. Dr. Andreas Schmietendorf
Vorlesung: Prof. Norbert Fuhr
Einführung in Informationssysteme
Datenbankzugriff im WWW (Kommerzielle Systeme)
Historische Datenmodelle
Java: Objektorientierte Programmierung
FH-Hof DBS II: Übersicht über die Vorlesung Richard Göbel.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Datenbanken Christof Rumpf
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Einführung Dateisystem <-> Datenbanksystem
Datenmodellierung - Aufbau einer Datenbank -
Fachbereich Mathematik/Informatik Universität Osnabrück
Informationssysteme SS Informationssysteme Grundvorlesung Informatik Sommersemester 2004 Universität des Saarlandes, Saarbrücken Dr. Ralf Schenkel.
Buch S70ff (Informatik I, Oldenbourg-Verlag)
Einführung und Überblick
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
... und alles was dazugehört
Visualisierung objektrelationaler Datenbanken
XML-Archivierung betriebswirtschaftlicher Datenbank-Objekte*
Historische Entwicklung von Datenbanken
Datenbanken?.
Datenbanken und Datenbanksysteme
Vergleich der verschiedenen kommerziellen Datenbanksysteme
Sesame Florian Mayrhuber
Informatik 1 Letzte Übung.
Überblick über die Datenbankproblematik
Datenbanken und Datenmodellierung
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
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.
XML und Datenbanken © 2006 Markus Röder
verstehen planen bearbeiten
Wahlpflicht I INFORMATIK 7. bis 10. Klasse 2010/2011 Informatik WP I.
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Meta Resource Management Projektvorstellung Meta Resource Management a customizable solution René Freude Daniel Sadilek Stephan Weiß
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Neue Speichermedien für Datenbanken
Vorlesung #2 Das relationale Modell (Teil 1)
SQL - Structured Query Language  AIFB SS (1|3) 2.1 Allgemeines zu SQL (1|3) Benennung: SQL: „structured query language" ursprünglich: SEQUEL –
->Prinzip ->Systeme ->Peer – to – Peer
RelationentheorieObjektorientierte Datenbanken  AIFB SS Grenzen relationaler Datenbanksysteme (1/2) Eine Reihe von Anwendungsgebieten, insbesondere.
Einführung Dateisystem <-> Datenbanksystem
Datenbanken im Web 1.
1 Einordnung (1) Elementare Zustandsräume Konstruktoren für Zustandsräume Operatoren Datenmodell Konkreter Zustandsraum Konkrete Konsistenz- bedingungen.
Datenbank System (DBS) - Warum?
Datenbanken Einführung
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Marktanteile RDBS Deutschland ,9% 9,5% 4,4% 4,7% 23,8% 7,7% Quelle: Dataquest Oracle.
Grundlagen Datenbanken (GDB)
Einführung "Datenbanksysteme"
Kapitel 6: Datenbanksysteme
Grundlagen Datenbanken (GDB)
Datenbanksystem Von Anna und Robin.
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Datenbank WI WAHB12 Carolin & Sarah.
(Structured Query Language)
 Präsentation transkript:

Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I

Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems Programming Series. 6th ed. 1995 H.E. Erbs, S. Karczewski and I. Schestag: Datenbanken (Datenmodelle, Objekte, WWW, XML); VDE-Verlag Berlin 2003; 317 pp.; 24 EUR G. Vossen: Datenmodelle, Datenbanksprachen, Datenbank-managementsysteme; Oldenburg-Verlag 2000; 780 pp. A. Heuer, G. Saake: Datenbanken: Konzepte und Sprachen; mitp Verlag 2000; 670 pp.; 35 EUR Karczewski Datenbanken I

1. Von Dateien zu Datenbanken … P1, …, … P2, …, … …, …, … … P1, …, … P2, …, … …, …, … Produkt: Nummer Bezeichnung Funktion P1 Kanne Gebrauch P2 Tasse Karczewski Datenbanken I

Motivation Professionelle Anwendungen benötigen dauerhaft verfügbare, persistent gespeicherte Daten. Datenbank-Systeme bieten die einfache Möglichkeit, Daten persistent zu speichern. Diese Veranstaltung zeigt die wesentlichen Aspekte zur Verwendung von Datenbanken auf: Datenmodellierung zur Strukturierung der Realität Datendefinition und –manipulation Datenbank-Architektur Systeme zur Datenmodellierung Datenbanksysteme Karczewski Datenbanken I

Historische Entwicklung von Datenbanksystemen (1) 1965: Firma IBM entwickelt das DBS: IMS, das auf dem Hierarchischen Datenmodell beruht 1969 Standardisierungsgremium CODASYL schlägt Netzwerkmodell vor 1976: Firma SIEMENS (UDS) u.v.a. entwickeln DBS nach dem Netzwerk-Datenmodell seit 1970: Codd entwickelt das Relationale Datenmodell 1971 –1981: IBM entwickelt Prototyp für Relationale Datenbanken, Name: “System /R” mit Datenbanksprache: SQL Karczewski Datenbanken I

Historische Entwicklung von Datenbanksystemen (2) seit 1980: ORACLE, Relationales DBS mit SQL als Datenbanksprache auf dem Markt seit 1982: SQL/DS der Firma IBM mit SQL auf dem Markt seit 1984: Relationale DBS für PCs auf dem Markt: DBASE, ACCESS auch ORACLE seit Ende der 80-er: Entwicklung Objektorientierter DBS: GEMSTONE, ObjectStore, O2, Jasmine, POET (jetzt: FastObjects) u.v.a. 1992: SQL2-Standard wird verkündet; gleichzeitig Arbeit an einer OO-Erweiterung von SQL. Arbeitsname: SQL3 aktuelle Situation: Client-Server–Prinzip beim Einsatz von Datenbanksystemen und Einsatz von Datenbanksystemen in integrierten Softwaresystemen (hauptsächlich noch immer: Relationale DB-Systeme), z.B. in SAP Karczewski Datenbanken I

Eigenschaften von DB-Systemen im Vergleich zu Dateisystemen Einührung Eigenschaften von DB-Systemen im Vergleich zu Dateisystemen DB-System Dateisystem Abstraktion logisch physisch Abspeicherung in Datenbank in Dateien Beschreibung der Daten im zentralen Data Dictionary im Anwen-dungsprogramm Zugriff Über das Datenbanksystem Über das Betriebssystem Dienstprogramme (zB. Backup, Recovery) Eigene Programmierung Verknüpfung der Daten Zu Abspeicherung / Beschreibung der Daten: Zeichnung an Tafel Karczewski Datenbanken I

Arbeiten mit Dateien Datenstruktur (DS) ist im Programm definiert. Bei Änderung der Datenstruktur muss jedes Anwendungsprogramm angepasst werden Daten werden mehrfach abgespeichert (=Redundanz): Inkonsistenz möglich Jeder Nutzer der Daten muss physische Struktur kennen. Karczewski Datenbanken I

Arbeiten mit einem Datenbanksystem (DBS) Anwendungsprogramme greifen über das DBMS auf die Daten zu DBMS ist Zugriffsfilter Identische Daten werden nur einfach abgespeichert Bei Änderung der Datenstruktur muss nur einmal im DBS geändert werden. Karczewski Datenbanken I

Vergleichendes Beispiel: Ausgabe aller Kunden aus Darmstadt DB-System: SELECT name, plz, ort FROM kunde WHERE ort = ´Darmstadt‘, Dateisystem (in C++): #include <fstream.h> .. typedef struct { char name [30]; int plz; char ort [30]; } kunde_record; kunde_record buffer; fstream kunden_file; file.open (“kunden.dat“, ios::in | ios::binary); while (!file.eof()) { file.read( (char*) &buffer, sizeof(kunde_record) ); if buffer.ort = “Darmstadt“ { cout << buffer.name << … } … Karczewski Datenbanken I

Wesentliche Vorteile von DBS (1) Redundanzvermeidung Ein Fakt in der realen Welt ist nur ein Mal in der DB abgelegt. Vermeidung von Inkonsistenzen keine widersprüchlichen Informationen zum gleichen Objekt: Beispiel: Adresse in Datei Personalstamm und in Datei Bestellinfos gespeichert. Person zieht aus Darmstadt aus. Die Datei Personalstamm wird geändert, die Datei Bestellinfos nicht. Durch redundante Datenhaltung wurde Inkonsistenz (Person hat zwei verschiedene Adressen) provoziert. Einheitliche Sicht auf Daten Standards setzen sich besser durch Karczewski Datenbanken I

Wesentliche Vorteile von DBS (2) Datenunabhängigkeit Anwendungen müssen sich nicht um Details der Speicherstruktur und Zugriffstechniken kümmern. Änderungen von Speicherstrukturen, Attributanzahl etc. sind i.d.R. ohne Auswirkungen auf Anwendungsprogramme. Beispiel: Länge des Nachnamens wird von 30 auf 40 Zeichen gesetzt oder zusätzliches Attribut Qualifikation wird eingeführt. Jedoch: Streichen eines Attributs ohne Auswirkungen auf Anwendungsprogramme nicht möglich! Spontane Anfragen Mit Hilfe einer Sprache der vierten Generation ist eine Formulierung von Anfragen unter dem Motto „Was“ statt „Wie“ möglich Beispiel: Selektiere alle Mitarbeiter, die mehr als 50000 € verdienen. Karczewski Datenbanken I

Wesentliche Vorteile von DBS (2) Zugriffskontrolle bei parallelen Zugriff Benutzung von Daten durch mehrere Programme gleichzeitig mit Kontrolle der Zugriffe und eindeutigen Änderungen Integritätskontrolle Kontrolle von Integritätsbedingungen durch DBS (z. B. Wertebereiche, Existenzabhängigkeiten zwischen Datensätzen, allg. Beziehungen zwischen Werten), dadurch weniger Programmieraufwand Beispiele: Alter von Mitarbeitern muss immer > 14 sein. Nachname ist max. 30 Zeichen lang. Karczewski Datenbanken I

Wesentliche Vorteile von DBS (4) Datenschutz, Datensicherheit Zugriffskontrolle, d. h. Setzen von Sperren durch DBS auch auf Feld- und Satzebene (nicht nur Read-, Write-Sperren ganzer Dateien) Beispiel: Nur Personalabteilung dürfen Gehälter der Mitarbeiter sehen. Beziehungen zwischen Daten können definiert und vom System kontrolliert werden. Beispiel: Bestellung hat Beziehung zu Kunde. Zu Bestellung gibt es immer einen Kunden Verteilung von Daten kann vom DBS verwaltet werden. Karczewski Datenbanken I

Begriffe Datenbank (DB) = Datenbestand Datenmanagementsystem (DBMS) = Software zum Arbeiten mit Datenbanken Datenbanksystem (DBS) = DB + DBMS aber: oft synonym zu DBMS verwendet. Karczewski Datenbanken I

Beteiligte Rollen am Datenbanksystem Daten-Administrator (DA) - Hat zentrale strategische Verantwortung für die Daten - Entscheidet welche Daten für wen gespeichert werden Datenbank-Administrator (DBA) - Hat technische Verantwortung - Entscheidet, wie Daten gespeichert werden Anwendungsentwickler - Entwickelt Anwendung z. B. in Programmiersprache - Arbeitet hinsichtlich der Definition von Daten mit DBA, DA zusammen Endanwender - Hat Zugriff auf Daten über GUIs / Abfragesprache - Zusammenarbeit mit Anwendungsentwickler in Entwicklungsphase Karczewski Datenbanken I

ANSI / SPARC-Modell externe Ebene Datensicht für einzelne User externes Schema 1 externes Schema 2 externes Schema n konzeptionelle Ebene Sicht auf die Gesamtheit aller Daten und ihre Beziehungen untereinander konzeptionelles Schema internes / physisches Schema interne / physische Ebene physische Speicherstrukturen Karczewski Datenbanken I

Komponenten eines DBMS s. Tafel Karczewski Datenbanken I

Metadaten Es gibt die Daten der Anwendung Müller, 64295, Darmstadt, … Ohne Erläuterung ist der Sinn der Daten nicht klar Abhilfe: Man gibt die Bedeutung, Formate etc, immer mit den Daten an: Name: Müller, char(30); PLZ: 64295, int; … besser: - Attribute gehören zusammen und bilden (Daten-)Objekte (Entities). - Objekte gleichen Typs kann man gemeinsam beschreiben. Dies geschieht in der Schemabeschreibung Beispiel: Relation Kunde mit den Attributen Name char(30), PLZ int, … Diese Beschreibungen stehen im Data-Dictionary des DBS. Man nennt diese Daten, die die eigentlichen Daten beschreiben, Metadaten. Karczewski Datenbanken I

Bedeutung der 3 Ebenen bei der ANSI/SPARC-Architektur Änderungen auf einer Ebene können vorgenommen werden, ohne dass eine benachbarte Ebene davon berührt ist. Verarbeitungsprogramme sind physisch als auch logisch datenunabhängig (mit Einschränkungen). d. h. Änderungen auf der physischen, konzeptionellen, externen Ebene haben keine Auswirkungen auf die Verarbeitungsprogramme (mit Einschränkungen, z. B. Löschung eines Attributs hat Auswirkungen, Hinzufügen eines Attributs hat keine Auswirkungen.) Frage: Welche Auswirkungen haben Änderungen in der Datenstruktur von Dateien auf die die Dateien verwendenden Anwendungsprogramme? Karczewski Datenbanken I

Auswirkungen von Änderungen in normalen Dateien Frage: Welche Auswirkungen haben Änderungen in der Datenstruktur von Dateien auf die die Dateien verwendenden Anwendungsprogramme? Änderungen in den Anwendungsprogrammen notwendig, da Dateibeschreibung in allen Programmen, die die Datei verwenden redundant abgelegt sind. Beispiel: 5 Programme arbeiten mit einer Datei, 1 Programm benötigt zusätzliches Feld Trotzdem müssen alle 5 Programme geändert werden. Karczewski Datenbanken I