Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Datenbanksysteme Datenbanksysteme verwalten große Mengen strukturierter Daten.

Ähnliche Präsentationen


Präsentation zum Thema: "Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Datenbanksysteme Datenbanksysteme verwalten große Mengen strukturierter Daten."—  Präsentation transkript:

1 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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

2 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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)

3 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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)

4 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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", ), ("Lübeck", "23552", ), ("Pirna", "01796", 50000) } Mathematische Operationen auf Relationen: –z.B. Projektion, Vereinigung, Komposition

5 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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 Lübeck Pirna

6 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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.

7 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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 !

8 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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

9 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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

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

11 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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

12 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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

13 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) 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


Herunterladen ppt "Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Datenbanksysteme Datenbanksysteme verwalten große Mengen strukturierter Daten."

Ähnliche Präsentationen


Google-Anzeigen