Datenbanksysteme Datenbanksysteme verwalten große Mengen strukturierter Daten. Typische Eigenschaften: Schema-Definition für die abgelegten Datensätze.

Slides:



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

Datenbankdesign mit ACCESS.
Datenbanken Beispiel: Musikverwaltungsdatenbank Daten: Musikstück
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Datenbanken Einführung.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Relationaler Datenbankentwurf (II)
Objekt – Relationales – Modell Tomasz Makowski IN
Unter- und Oberklassen: Beispiel
Warum Objektorientierung?
der Universität Oldenburg
Datenbankzugriff im WWW (Kommerzielle Systeme)
MS Office-Paket: Access
Lightweight Directory Access Protocol
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Datenbankdesign und Normalisierung
Daten bank St. Wiedemann.
Datenbanken Christof Rumpf
Delphi-Datenbankkomponenten
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Datenintegrität Referentielle Integrität create table
Einführung Dateisystem <-> Datenbanksystem
JDBC EDV JDBC.
Einführung und Überblick
Relationale Datenbankmodelle
... und alles was dazugehört
Datenbanken?.
Datenbank.
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
18 IndizierungInhalt 8Indizierung 8.1Grundlagen 8.2Besonderheiten des Primärschlüssels 8.3Einfachen Index erstellen 8.4Zusammengesetzten Index erstellen.
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Überblick über die Datenbankproblematik
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)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Allgemeines zu Datenbanken
(D.h. „Hallo MausFans!“ auf Japanisch).
Access Einführung in das Datenbank-Management-System Grundlagen.
Freiwillige Feuerwehr der Stadt Perg
Esprit Database Suite Eine leistungsfähige Java-Persistzenzschicht zur einfachen Programmierung von Datenbankapplikation.
Das relationale Modell
verstehen planen bearbeiten
Normalisierungsprozess
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
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 –
Einführung Dateisystem <-> Datenbanksystem
ArcView als SDE - Client SDE Client inklusive! ArcViewGIS: ArcView GIS: Michael Jacobi ESRI GmbH ESRI EUROPEAN USER CONFERENCE.
Datenbanken Eine Einführung.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Modellierung der Wirklichkeit
Datenbanken Maya Kindler 6c.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken Einführung
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Verknüpfung von Tabellen in MS-Access BHAK/BHAS 1 Salzburg WI II Schuljahr 2004/05.
SQL Basics Schulung –
Von Wietlisbach, Lenzin und Winter
Datenbanksystem Von Anna und Robin.
Präsentation von Darleen und Michèle
Datenbanken Von Amed und Alicia.
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Datenbanksysteme Datenbanksysteme verwalten große Mengen strukturierter Daten. Typische Eigenschaften: Schema-Definition für die abgelegten Datensätze Einlesen und Ausgeben großer Mengen von Datensätzen Abfragesprache zur gezielten Abfrage bestimmter Daten Manipulationssprache zur kontrollierten Änderung bestimmter Daten Transaktionskonzept zum Zusammenfassen logisch zusammengehöriger Modifikationen Maßnahmen zur Sicherung der Integrität des Datenbestandes Schnittstellen zu Programmiersprachen und -systemen Oft: Mehrbenutzerbetrieb, Zugriffsrechteverwaltung

Typen von Datenbanksystemen 1. Generation: Spezielle Dateitypen ISAM, VSAM 2. Generation: Hierarchische Datenbanksysteme Baumstrukturen 3. Generation: Netzwerk-Datenbanksysteme CODASYL 4. Generation: Relationale Datenbanksysteme Tabellen als Repräsentation von Relationen Abfragen durch Operationen auf Relationen 5. Generation: Objektorientierte Datenbanksysteme Dauerhaft bestehende (persistente) Objekte Praktische Nutzung (derzeit): überwiegend relationale Datenbanksysteme gelegentlich: hierarchisch (Altsysteme), objektorientiert (Neusysteme)

Relationale Datenbanksysteme Verteilungsarchitektur: lokal Client-Server verteilt Bekannte lokale Datenbanksysteme für Windows: Access Paradox dBase Bekannte Client-Server-Datenbanksysteme für Unix und Großrechner (Mainframes): Oracle Sybase Informix DB2 (IBM) ADABAS (Software AG)

Relationen Beispiel für Datensatz-Schema: Stadtname (String15), Postleitzahl (String5), Einwohnerzahl (Integer) Mathematisches Modell: Relation Datenbestand D ist Relation: D  String15  String5  Integer Konkreter Beispiel-Datenbestand (3 Datensätze): { ("Jena", "07743", 105000), ("Lübeck", "23552", 150000), ("Pirna", "01796", 50000) } Mathematische Operationen auf Relationen: z.B. Projektion, Vereinigung, Komposition

Tabellen Tabellen dienen als effiziente Implementierung von Relationen. Beispiel "Städte": Zeilen sind Datensätze des aktuellen Schemas. Spalten sind Datenfelder des aktuellen Schemas. Alle Einträge in einer Spalte (einem Datenfeld) sind vom selben, im Schema festgelegten Datentyp. Name (String15) PLZ (String5) EWZ (Integer) Jena 07743 105000 Lübeck 23552 150000 Pirna 01796 50000

Relationale Datenbanken und Delphi Delphi bietet ausgereifte und umfangreiche Unterstützung der Datenbankprogrammierung. Unterstützte Datenbanksysteme: dBase Access Paradox (Inprise) einfache Version von Paradox wird mit Delphi geliefert "Datenbankoberfläche" SQL-basierte Client-Server-Systeme SQL = Standard-Abfragesprache für relationale Datenbanken Hinweis: Der Übergang zu einem anderen Datenbanksystem ist im allgemeinen nicht einfach! Auch unter Delphi bestehen Differenzen zwischen Datenbanken: z.B. bezüglich unterstützter Datentypen, Integritätsprüfungen. Delphi bietet aber einheitliche Entwicklungsumgebung.

Sichten auf Datenbanktabellen Struktursicht: Anlegen oder ändern des Schemas der Tabelle Führt bei vorhandenen Datenbeständen u.U. zu Problemen Datenverlust Konversion Datensicht (lesend): Abfrage von Daten aus den Tabellen Datensicht (schreibend/editierend): Modifizieren von Daten in den Tabellen Läßt Struktur unverändert Beschränkung des Modifikationsmöglichkeiten sinnvoll Integritätserhaltung !

Sortierung und Schlüssel Sortieroperation auf Tabelle: Einmaliges physisches Sortieren des Tabelleninhalts Später eingefügte Datensätze können Sortierung zerstören Schlüssel (=Kombination von Datenfeldern): Automatisches laufendes Sortieren der Tabelle nach dem Schlüssel Zusatzbedingung: Eindeutigkeit Keine zwei Datensätze mit gleichem Schlüsselwert! Ermöglicht einfachen Zugriff auf Datensätze Primärschlüssel: Fest der Tabelle zugeordnet, definiert Speicherorganisation Existenz für viele Operationen vorausgesetzt Sekundärschlüssel: Zusätzliche Indizes zum schnellen Suchen in der Tabelle

Normalformen für Datenbankschemata Regeln für saubere, redundanzfreie Datenbankschemata: 1. Normalform: Keine zusammengesetzten Datentypen (z.B. record) für Datenfelder 2. Normalform: Jede Tabelle hat einen Schlüssel, von dem alle Datenfelder abhängig sind. 3. Normalform: Es gibt keine Abhängigkeiten zwischen zwei Datenfeldern der Tabelle (außer der Abhängigkeit vom Schlüssel) Beispiel: In der Stadt-Tabelle des Lehrbriefs hängt das Feld "NEU" vom Feld "LAND" ab. - Keine 3. Normalform. Abhilfe ("Normalisierung"): Einführen von zusätzlichen Tabellen und Fremdschlüsseln Nachteile von Normalisierung: Viele Tabellen Viele Schlüssel Praxis: Normalisierung maßvoll betreiben

Beispiel für Normalisierung Vorher: Nachher: Tabelle Stadt: Datentyp von LAND: Alphanumerisch (String) (Beispiel: "Sachsen") STADT LAND NEU PLZ EWZ Tabelle Stadt: Datentyp von LAND: Schlüssel für andere Tabelle (Fremdschlüssel) z.B.: Ländercode (2 Buchstaben) (Beispiel: "SN") STADT LAND PLZ EWZ Tabelle Land: Datentyp von LANDCODE: Schlüssel für Land-Tabelle (Primärschlüssel) z.B.: Ländercode (2 Buchstaben) LANDCODE NEU

Verbinden von Tabellen Fremdschlüssel einer Tabelle verweist auf Primärschlüssel anderer Tabelle Delphi: Referentielle Integrität nutzen Inkonsistenzen automatisch vermeiden Löschen indirekt zugänglicher Daten verhindern Als Verweis genutzte Schlüsselfelder konsistent halten Abfragen: Delphi: Query-by-Example erfordert weitere Arbeitsschritte: Hinzufügen weiterer Tabellen Verbinden der Schlüsselattribute SQL: "Join"-Operation

Programmierung mit Datenbanken Direkte Nutzung des Datenbanksystems: eigene Benutzungsoberfläche arbeitet auf Datenbank-Dateien Beispiele: (1) Delphi-Datenbankoberfläche, "Query by Example" (QBE) (2) SQL-Kommandoschnittstellen Datenbankanbindung in konventionellen Programmen insbesondere Einbettung von SQL-Code verbreitet für COBOL- und C-Programme Verwendung spezieller Programmbibliotheken Beispiel: Datenbank-Komponenten in Delphi "Verstecken" der Datenbankspeicherung durch geeignete Softwarearchitektur "Persistenzdienst" für Objekte Beispiele: CORBA, Enterprise Java Beans

Satzzeiger-Prinzip In Delphi werden Tabellen ähnlich behandelt wie Dateien von Record-Daten: type Stadt = file of record name: String15; PLZ: String5; EWZ: Integer; end; Wie bei einer Datei gibt es einen Zeiger auf das aktuelle Element (den aktuellen Datensatz). Der Zugriff auf Datenbankdaten erfolgt durch spezielle Funktionen. First: Setzen des Zeigers auf Anfang (erster Datensatz) Next: Weiterschalten des Zeigers auf nächsten Datensatz EOF: Abfrage, ob Zeiger am Ende Last: Setzen des Zeigers auf Ende (letzter Datensatz) Prior: Weiterschalten des Zeigers auf vorherigen Datensatz BOF: Abfrage, ob Zeiger am Anfang