Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name...
Transcript of Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name...
![Page 1: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/1.jpg)
DatenbanksystemeEinführung und Grundlagen
Burkhardt Renz
Fachbereich MNITechnische Hochschule Mittelhessen
Sommersemester 2020
![Page 2: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/2.jpg)
Gliederung der Veranstaltung
GrundlagenÜberblick über das Datenbank-ManagementDatenbankarchitektur und DatenunabhängigkeitDatenmodelle
Das relationale ModellSQLRelationen und relationale AlgebraDatenbankintegrität
Datenbank-EntwurfSemantische Modellierung – Entity/Relationship-ModellSchema-EntwurfFunktionale Abhängigkeiten und Normalformen
![Page 3: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/3.jpg)
Gliederung der Veranstaltung
Transaktionen und Synchronisation konkurrierender ZugriffeTransaktionenRecoveryIsolationslevel in SQL
Verwendung von DatenbanksystemenProgrammierung von Datenbank-Zugriffen mit JDBCZugriffsrechte und Datensicherheit
![Page 4: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/4.jpg)
Ziele
Konzepte von DBMS – was steckt dahinter?– keine speziellen ProdukteSQL anwenden könnenInformationen strukturieren könnenProgrammieren mit Datenbanken – erste Schritte
![Page 5: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/5.jpg)
Literatur
Gunter Saake, Kai-Uwe Sattler, Andreas Heuer: Datenbanken– Konzepte und Sprachen mitpThomas Studer: Relationale Datenbanken Springer ViewegRamez Elmasri, Shamkant B. Navathe: Grundlagen vonDatenbanksystemen – Bachelorausgabe Pearson StudiumMatthias Schubert: Datenbanken – Theorie, Entwurf undProgrammierung relationaler Datenbanken TeubnerWolfgang Gerken: Datenbanksysteme für DummiesWiley-VCHLehrbücher von Kifer, Bernstein und LewisElmasri und NavatheC.J. DateSilberschatz, Korth und SudarshanUllman, Garcia-Molina und Widom . . .
![Page 6: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/6.jpg)
Internet-Quellen
Jennifer Widom: Introduction to Databases Online-Kurs derStanford University https://www.youtube.com/playlist?list=PLroEs25KGvwzmvIxYHRhoGTz9w8LeXek0
GNU: SQLtutor Interaktiver Web-basierter Tutor für SQLhttp://sqltutor.fsv.cvut.cz
Spiel zum Erlernen von SQL: http://www.sql-island.de/
SQL-Tutorial: https://sqlbolt.com/
Übungen zu SQL: https://www.pgexercises.com/
![Page 7: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/7.jpg)
Übersicht
Warum Datenbankmanagementsysteme?Eine kleine GeschichteWas ist ein DBMS?Begriffe
Datenunabhängigkeit und DatenbankarchitekturModell, Schema, ZustandANSI/SPARC-Architektur & DatenunabhängigkeitDatenbanksprache
Datenmodelle
![Page 8: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/8.jpg)
Ein erfolgreicher Web-Shop
Wir machen einen Web-Shop zum Verkauf von Spitzenweinenauf.Speichern von Daten wird notwendig: Artikel, Kunden,Aufträge. . .Speichern der Daten im Dateisystem, also: eine Datei fürArtikel, eine Datei für Kunden, eine Datei für Bestellungenusw.Welche Probleme treten auf?
DatenredundanzAnwendungen müssen Navigation programmierenAbhängigkeit aller Verwender von der Repräsention der DatenWenn mehrere Verwender die Daten gleichzeitig verändernwollen, können die Daten inkonsistent werden
Das kann ja doch nicht die Wahrheit sein!
![Page 9: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/9.jpg)
Ein Zitat
Das Problem wurde schon vor langer Zeit erkannt und auch gelöst:
Future users of large data banks must be protected fromhaving to know how the data is organized in the machine(the internal representation). ... Activities of users at ter-minals and most application programs should remain unaf-fected when the internal representation of data is changedand even when some aspects of the external representationare changed. Changes in data representation will often beneeded as a result of changes in query, update, and reporttraffic and natural growth in the types of stored informa-tion.
– E.F. CoddQuelle: E. F. Codd: A Relational Model of Data for Large SharedData Banks Communications of the ACM Juni 1970
![Page 10: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/10.jpg)
Wie sieht dann so eine relationale Datenbank aus?
Artikel:ArtNr Bez Weingut Jahrgang Farbe Preis
100001 Les Châteaux Louis Max 2002 rot 17.90100002 Chablis Louis Max 2005 weiß 15.50100003 Château Caraguilhes Louis Max 2005 rosé 14.90604851 Prosecco Val Monte Cave Bellenda <null> weiß 7.60145119 Le Cop de Cazes Domaine Cazes 2004 rot 6.90
![Page 11: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/11.jpg)
Weiter die Beispieldatenbank Wein
Lieferant:LftNr Firma Postfach PLZ Ort
1 Weinimport Lehr 45367 F-68567 Colmar2 Bremer Weinkontor 56 28195 Bremen
LieferBez:LftNr ArtNr
1 1000011 1000021 1000032 1000022 1451192 604851
![Page 12: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/12.jpg)
Weiter die Beispieldatenbank Wein
Kunde:KndNr Name Vorname Str PLZ Ort
100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl100102 Kehl Thomas Im Riesling 3 68734 Eltville100105 Riesling Karin 67, Rue du Château F-68567 Colmar
Auftrag und AuftrPos:AuftrNr Datum KndNr
1003 2007-03-01 1001011001 2006-10-12 1001011002 2006-02-12 1001021004 2006-02-12 <null>
AuftrNr Anzahl ArtNr
1003 12 1000011003 12 1000021003 12 1000031001 1 1000011001 1 1000021001 1 1000031001 1 1451191002 48 100003
![Page 13: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/13.jpg)
Definition
Ein Datenbankmanagementsystem (DBMS) ist eine Soft-ware, die große Mengen von persistenten Daten für Spei-cherung und Zugriff verwaltet, und zwar
effizient,zweckmäßig,sicher undfür den parallelen Zugriff vieler Anwender undAnwendungen.
![Page 14: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/14.jpg)
Diskussion, 1
große Menge von Datenviel zu groß für den Hauptspeicherpersistente DatenDaten bleiben erhalten, auch wenn Programme, die sieverwenden, beendet werdenMultiuser-ZugriffSynchronisation der ZugriffeVerschiedene Sichten für verschiedene Anwendungen
![Page 15: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/15.jpg)
Diskussion, 2
sicherin Bezug auf Systemausfällein Bezug auf Berechtigungen von Anwendernzweckmäßigeinfache „Kommandos“ für den Zugriffaber auch: es ist einfach möglich, neue, bisher nichtvorgesehene Abfragen zu macheneffizientGeschwindigkeit eines ZugriffsZahl der Transaktionen in einer bestimmten Zeit
![Page 16: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/16.jpg)
Arten von Datenbanksystemen
Informations- und Verbuchungssysteme, z.B. Reisebuchung,Finanzielle Transaktionen etc.OLTP = Online Transaction ProcessingMultimedia-DatenbankenGeografische Informationssysteme (GIS)Data Warehouses, Informationssysteme für strategischeEntscheidungenOLAP = Online Analytic ProcessingEchtzeit-Datenbanksysteme, z.B. zur ProduktionssteuerungInternet-Suchmaschinen, Information Retrieval
Schwerpunkt der Vorlesung: klassische Informationssysteme
![Page 17: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/17.jpg)
Einige Begriffe
Daten = bekannte Tatsachen über die interessierendeDomäne (Miniwelt)Datenbank = strukturierte Sammlung von Daten über eineMiniwelt, d.h.
logisch zusammenhängendsystematisch aufgezeichnetgespeichert und gepflegtzweckmäßig für (evtl. verschiedene) Anwender
Datenbankmanagementsystem (DBMS) = Software zumErstellen und Pflegen von Datenbanken; generisch, d.h.unabhängig von einem bestimmten AnwendungsgebietDatenbanksystem = Einsatz eines DBMS für eine bestimmteDatenbank und bestimmte Anwendungen
![Page 18: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/18.jpg)
Was leistet ein DBMS?
Datenbank definierenTabellen, Struktur der Datensätze in den Tabellen,Datentypen, IntegritätsbedingungenDatenbank konstruierenDaten in die Datenstruktur einbringen und speichern, oft ausanderen elektronischen QuellenDatenbank verwendenAnfragen stellen = neue zutreffende Aussagen aus bekanntenFakten herleitenDaten pflegen = Aktualisieren der Daten, damit sie dem„Zustand“ der (Mini-)Welt immer entsprechen
![Page 19: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/19.jpg)
Merkmale des Datenbankansatzes
Gemeinsamer Datenbestand, integrierte Daten fürverschiedene Anwendungen, gemeinsame Nutzung derselbenDatenDatenunabhängigkeit = Immunität von Anwendungen inBezug auf Änderungen der physischen Repräsentation derDaten und von ZugriffstechnikenUnterstützung spezifischer Sichten auf die Daten, auchverschiedener BerechtigungenSteuerung des Mehrbenutzerbetriebs = Synchronisationkonkurrierender Zugriffe.
![Page 20: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/20.jpg)
Akteure im Zusammenhang mit Datenbanksystemen
Akteure auf der BühneDatenadministrator/Datenbankdesigner, auch DatenarchitektDatenbankadministratorEndbenutzerAnwendungsentwickler
Akteure hinter der BühneDesigner und Entwickler eines DBMSWerkzeug-EntwicklerOperateure und Wartungsingenieure
![Page 21: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/21.jpg)
Erstes Fazit
Vorteile von DBMS1 Gemeinsame Nutzung von Daten2 Kontrolle von Redundanz3 Überwachung der Konsistenz der Daten4 Sicherheit bzgl. von Berechtigungen5 Sicherheit bzgl. der Persistenz der Daten6 Synchronisation konkurrierender Datenzugriffe7 Ausbalancieren konfligierender Anforderungen8 Einhalten von Standards
![Page 22: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/22.jpg)
Übersicht
Warum Datenbankmanagementsysteme?Eine kleine GeschichteWas ist ein DBMS?Begriffe
Datenunabhängigkeit und DatenbankarchitekturModell, Schema, ZustandANSI/SPARC-Architektur & DatenunabhängigkeitDatenbanksprache
Datenmodelle
![Page 23: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/23.jpg)
Datenmodell
Anwender und Anwendungen sollen die Datenbank unabhängig vonihrer physischen Repräsentation, ihrer Implementierung sehen. Wiesollen sie sie dann sehen?
Erster Begriff von DatenmodellA data model is an abstract, self-contained, logical defini-tion of the objects, operators, and so forth, that togetherconstitute the abstract machine with which the users in-teract.The objects allow us to model the structure of data. Theoperators allow us to model its behavior.
– C.J. DateBeispiel: das relationale Datenmodellkonkret: Wir organisieren die interessierenden Informationen als Werte in Tupeln (=Datensätzen), die Relationen (= Tabellen) bilden und geben an, wie diese Relationenzusammenhängen.
![Page 24: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/24.jpg)
Datenbankschema
Beschreibung der Struktur der Daten für ein bestimmtesAnwendungsgebiet.Metadaten sind die Informationen über den Aufbau der Daten – siewerden im relationalen Modell selbst wieder in Relationengespeichert – Systemkatalog
Zweiter Begriff von Datenmodell (= Datenbankschema)A data model is a model of the persistent data of someparticular enterprise.
– C.J. Date
Beispiel: die Struktur unserer Datenbank für den Weinhandel
![Page 25: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/25.jpg)
Datenbankzustand
Der Datenbankzustand istder konkrete Inhalt der Datenbank zu einem bestimmtenZeitpunktabgelegt in den Tabellen der Datenbank und dort gespeichert
Beispiel: der Inhalt unserer Datenbank für den Weinhandel
![Page 26: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/26.jpg)
Fazit
Datenmodell = Konzept der Strukturierung von DatenDatenbankschema = Struktur einer bestimmten Miniwelt(auch: Intension)Datenbankzustand = Inhalt einer Datenbank, also Faktenüber eine Miniwelt (auch: Extension)
![Page 27: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/27.jpg)
Wie erreicht man Datenunabhängigkeit?
Verwendungder Daten
Sicht der Anwenderund Anwendungen
Speicherungder Daten
trennen
1. Schlussfolgerung
Wir brauchen Schichten=
die Belange trennen
2. Schlussfolgerung
Wir brauchen eine Sprache=
Verbindung der Schichtennormiert herstellen
ANSI/SPARC-Architektur Datenbanksprachen wie SQL
Sicht derImplementierung
![Page 28: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/28.jpg)
Die ANSI/SPARC-Architektur
Internes Schema
ExternerView
Anwendungs-programm
ExternerView. . . . . .
KonzeptuellesSchema
gespeicherte Datenbank
Externe Ebene
Konzeptuelle Ebene
Interne Ebene
![Page 29: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/29.jpg)
Datenunabhängigkeit
Datenunabhängigkeit Die Immunität von Anwendungsprogrammengegenüber Änderungen desDatenbankmanagementsystems.Änderungen des DBMS entkoppeln von denAnwendungen, die es benutzen.
Physische Datenunabhängigkeit Änderungen an der Art derDatenspeicherung und den Zugriffstechniken habenkeinen Einfluss auf Anwendungsprogramme.
Logische Datenunabhängigkeit Änderungen am konzeptuellenSchema haben nur erwünschten Einfluss aufAnwender und Anwendungsprogramme.
![Page 30: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/30.jpg)
Komponenten eines DBMS
Administrations-Werkzeuge
Anfrage-Werkzeuge
AnwendungenApp Front Ends
Loggingund
Recovery
Zugriffssystem
DML-ÜbersetzerQuery Compiler
ZugriffsmaschineExecution Engine
DDL- undDCL-Prozessor
Puffer-verwaltung
Speicher-verwaltung
Synchronisations-kontrolle
Concurrency Control
Transaktions-verwaltung
SperrverwaltungLock Manager
Datenspeicher
DatenIndexeSystemkatalogStatistikdaten
DML-Anweisungen DDL- und DCL-Anweisungen
DBMS
![Page 31: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/31.jpg)
Anwendungsarchitektur
Benutzerschnittstelle
Anwendungslogik
DBMS-Schnittstelle
DB-Server DB-Server
Benutzerschnittstelle
Anwendungslogik
DBMS-Schnittstelle
R
![Page 32: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/32.jpg)
Die Datenbanksprache SQL
Parsen
Validieren
Optimieren
Ausführen
select name from Kunde where ...
BinärerZugriffsplan
WAS
WIE
SQL-Grammatik
Systemkatalog
regel- undkostenbasiert
![Page 33: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/33.jpg)
Sprachumfang
DDL Data Definition LanguageDatendefinitionSQL: create table..., alter table...
DML Data Manipulation LanguageDatenverwendungSQL: select..., insert..., update...,delete...
DCL Data Control LanguageDatenberechtigungenSQL: grant..., revoke...
![Page 34: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/34.jpg)
Übersicht
Warum Datenbankmanagementsysteme?Eine kleine GeschichteWas ist ein DBMS?Begriffe
Datenunabhängigkeit und DatenbankarchitekturModell, Schema, ZustandANSI/SPARC-Architektur & DatenunabhängigkeitDatenbanksprache
Datenmodelle
![Page 35: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/35.jpg)
Diskussion der Datenmodelle
Warum?Wir brauchen logisches Modell, wie wir über Daten und ihreStruktur sprechen können wegen Datenunabhängigkeit.→ Datenmodelle
LeitbeispielEin Lieferant (S = Supplier) hat eine Nummer <SNo>, einenNamen <SName> und einen Firmensitz <City>.Ein Teil (P = Part) hat eine Nummer <PNo>, einen Namen<PName>, ein Gewicht <Weight> und wird in der Stadt <City>gelagert.Ein Lieferant liefert Teile, ein Teil kann von verschiedenenLieferanten kommen. Wir verzeichnen die Menge <Qty> des voneinem Lieferanten gelieferten Teils.
![Page 36: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/36.jpg)
Hierarchisches Datenmodell
Geschichtespäte 60er Jahre1968 IBM erste Version von IMS (Information ManagementSystem)heute Version 15
KonzeptRecord Type = Struktur eines Datensatzes mit benanntenFelder und definierten WertebereichenJeder Record hat einen eindeutigen KeyAlle Records sind in einem Baum organisiert durch sogenannteParent-Child-Relationships, PCR
![Page 37: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/37.jpg)
Netzwerk-Datenmodell
Geschichte1971 CODASYL (Committee on Data System Languages)Implementierung z.B. UDS/SQL von Siemens/Fujitsu aufBS2000Datenmodell erlebt eine gewisse Renaissance durch dassemantische Web (semantisches Netz, Graphdatenbanken)
KonzeptRecord Type – DatensatzstrukturJeder Record hat einen eindeutigen KeyRecords sind organisiert als zusammenhängender Graph durchsogenannte Owner-Child-RelationshipsFür jede Datenbank gibt es einen oder mehrere Entry Points
![Page 38: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/38.jpg)
Relationales Modell
Geschichte1970 Edgar Frank „Ted“ Codd: Publikation des Modellserste Implementierungen etwa 1980: Oracle, INGRESIBM kündigt 1984 DB2 anheute vorherrschendes Datenmodell
KonzeptRelation – Mengen von Tupeln von WertenInformationsprinzip – Die Daten sind in genau einer Weiseorganisiert, als Werte in Tupeln in RelationenZugriff durch eine deklarative Sprache
![Page 39: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/39.jpg)
Entity-Relationship-Modell
Geschichte1974 Peter Chen Publikation des ModellsIdee: Vereinheitlichung von Hierarchie – Netz – Relational
KonzeptEntitätstypen – Klassen von „Dingen“, Objekten der WeltAttribute – Eigenschaften dieser ObjekteBeziehungstypen zwischen den EntitätstypenAbbildung des ER-Modells in die anderen Datenmodelle
![Page 40: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/40.jpg)
Objektorientiertes Datenmodell
Geschichteab Mitte der 80er Jahre im Zuge der OO-SprachenZiel: Überwindung des Konzeptbruchs (impedance mismatch)ODMG (Object Data Management Group) Spezifikation 3.02000
KonzeptObjektmodell – Objekte mit Methoden, PolymorphismusObject Definition Language ODLObject Query Language OQL – Sprache, die Navigation inObjektstruktur unterstütztSprachbindung – für C++, Java, SmallTalk . . .
![Page 41: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/41.jpg)
Objekt-relationales Datenmodell
GeschichteAnfang der 80erSQL-Erweiterung in SQL:1999, SQL:2003, SQL:2008,SQL:2011Geografische Informationssysteme (PostGIS)
KonzeptFüge zu (klassischem) SQL hinzu:
benutzerdefinierte Datentypen samt Methodeninklusive Vererbung und Polymorphismusbenutzerdefinierte Operatorenbenutzerdefinierte Zugriffsmethoden
![Page 42: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/42.jpg)
Semistrukturierte Daten/XML
GeschichteHTML – Dokumentenstruktur auf Basis von SGMLÜbertragung auf Datenstruktur
KonzeptMetadaten durch Tags mit Daten kombiniertSemantische Heterogenität möglichHierarchische StrukturLinks möglich – Netz-DatenmodellXML Schema – Vererbungsmechanismen aller CouleurXPath, XQuery – Navigation und Anfragesprache
![Page 43: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/43.jpg)
NoSQL, Big Data
GeschichteXML – XML-DatenbankenSuchmaschinen im InternetCloud
KonzeptVerschiedene DatenmodelleThema 0: Performanz bei großen Datenmengen für spezielleAnwendungenThema 1: Verteilung der DatenThema 2: Parallele VerarbeitungThema 3: KonsistenzThema 4: Heterogenität der Daten
![Page 44: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/44.jpg)
NoSQL – Arten
Datenmodelle in NoSQLMapReduce Framework (z.B. Hadoop)Key-Value Store (z.B. Google Big Table, Amazon Dynamo,Cassandra)Dokumentenorientierte Datenbanken (z.B. Apache CouchDB,MongoDB)Graphendatenbanken (z.B. Neo4j)
![Page 45: Datenbanksysteme - Einführung und GrundlagenWeiterdieBeispieldatenbankWein Kunde: KndNr Name Vorname Str PLZ Ort 100101 Kehl Thomas Weinstr. 3 79675 Kaiserstuhl 100102 Kehl Thomas](https://reader034.fdokument.com/reader034/viewer/2022042918/5f5fa84ebb3b964ed82e3514/html5/thumbnails/45.jpg)
Literatur und Links zum Thema Datenmodell
Michael Stonebraker und Joseph M. Hellerstein: What GoesAround Comes Around https://people.cs.umass.edu/~yanlei/courses/CS691LL-f06/papers/SH05.pdf
Jeffrey Dean und Sanjay Ghemawat: MapReduce: SimplifiedData Processing on Large Clusters https://static.googleusercontent.com/media/research.google.com/de//archive/mapreduce-osdi04.pdf
Pramod J. Sadalage und Martin Fowler: NoSQL Distilled,Addison-Wesley Professional, 2012Präsentation des Buchs https://youtu.be/ASiU89Gl0F0