1 / 100

Datenbanken I

Datenbanken I. Aufbau von Datenbankmanagementsystemen Relationale Datenbanksysteme Normalisierung Entity- Relationship -Diagramme Praxis: Datenbanksystem MySQL SQL-Abfragen mit MySQL. 4. Quartal Einführung in Oracle komplexe SQL-Abfragen mit Oracle Einführung in Transaktionen

luke-owen
Télécharger la présentation

Datenbanken I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datenbanken I • Aufbau von Datenbankmanagementsystemen • Relationale Datenbanksysteme • Normalisierung • Entity-Relationship-Diagramme • Praxis: Datenbanksystem MySQL • SQL-Abfragen mit MySQL Datenbanken I

  2. 4. Quartal Einführung in Oracle komplexe SQL-Abfragen mit Oracle Einführung in Transaktionen Optimierung von Abfragen Datenzugriffsstrukturen Trigger Sicherheit 5. QuartalTransaktionen Recoverymechanismen Recovery und Datensicherheit in Oracle Transaktionen Probleme der parallelen Transaktionsausführung Transaktionen in vernetzten Datenbanksystemen 2-Phasen-Commit 6. Quartal Data Warehouses Was ist ein Data Warehouse? Prinzipien und Abgrenzungen zu transaktionsgesteuerten Datenbanksystemen Datenstrukturen in Data Warehouses Optimierung der Datenzugriffe Data Warehouses mit SAP BW Data Mining Datenbanken Folgequartale Datenbanken I

  3. Literatur • Kemper, A., Eickler, A.: Datenbanksysteme. Oldenbourg • Heuer, A.; Saake, G.: Datenbanken: Konzepte und Sprachen. mitp-Verlag • Vossen, Gottfried: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme. Oldenbourg • Date, Chris J.: An Introductionto Database Systems. Addison Wesley einfachere Einführungen, diese decken den Lehrstoff jedoch nicht vollständig ab: • Geisler, Frank: Datenbanken. Grundlagen und Design. mitp • Cordts, Sönke: Datenbankkonzepte in der Praxis. Addison Wesley Datenbanken I

  4. Aufbau von Datenbankmanagement-Systemen Datenbanken I

  5. Beispiele für datenintensive Anwendungen • Auftragsabwicklung in einem Unternehmen, Erfassen von Bestellungen, Angeboten, Warenaussendungen, Lagerhaltung • Universitätsverwaltung erfasst Studenten, Lehrkräfte, Räume, Vorlesungen, Angestellte • Bibliothek: Verwalten von Büchern, verliehenen Büchern, Nutzern Datenbanken I

  6. Aufgaben von Datenbank-managementsystemen • Speicherung u. Verwaltung großer Datenbestände • Speicherung dauerhaft, frei von Redundanzen, Konsistenzbedingungen genügend • Daten vor unberechtigtem Zugriff geschützt • Anfragen sowie Aktualisierungen möglich • effizienter / schneller Zugriff auf die Daten • mehrere Benutzer gleichzeitig aktiv • Zugriffe über Netz oder auf mehrere Datenbanken • mit Anwendungs-Software koppelbar Datenbanken I

  7. Datenbanksystem-Generationen • 50er J. Dateisystem auf Band, nur sequentieller Zugriff, Batchbetrieb • 60er J. Dateisystem auf Platte, Random Access, Dialogbetrieb, Indexdateien, Dateiverwaltungssystem • 70er J. Prärelationale Systeme (Netzwerk-, hierarchische Systeme) • 80er J. Relationale Systeme • 90er J. objektbasierte Systeme Datenbanken I

  8. 1. Generation (50er J.) Anwendung 1 – Dateiorganisation 1 ... Anwendung n – Dateiorganisation n primitiveEin-/Ausgabe-Software Datei 1... Datei n anwendungsspezifische Datenorganisation auf Bändern Geräteabhängigkeit der Programme Redundanz, Inkonsistenz der Daten Datenbanken I

  9. Bandlaufwerke bei der NASA • 1962 • IBM 7090 • Band:IBM 729 • 730 m lang • 3 MByte • 2.95 m/s Datenbanken I

  10. 50er Jahre: Dateisysteme • Daten speichern in einzelne Dateien • Dateiorganisation ist anwendungsspezifisch: • Öffnen von Dateien zum Lesen und/oder Schreiben • Positionieren innerhalb von Dateien auf bestimmte Sätze mit Hilfe von Dateizeigern • Lesen von Sätzen aus einer Datei • Schreiben von Sätzen in eine Datei • Erkennen des Dateiendes • Schließen von Dateien. Datenbanken I

  11. Beispiel Dateisystem begin maxgehalt = 0 öffne Datei Personal solange nicht Dateiende lies nächsten Satz falls (Abteilung = 20 und gehalt > maxgehalt) maxgehalt = gehalt schließe Datei Personal gib maxgehalt aus end Datenbanken I

  12. 2. Generation (60er J.) Datei(en) 1 ... mit gemeinsamem Zugriff Datei(en) n Dateiverwaltungs-system Anwendung 1 ... Anwendung n Programmbibliothek • teilw. standardisierte Datenorganisation • Dienstprogramme wie z. B. Sortierer • Geräteunabhängigkeit • jedoch: Abhängigkeit von Speicherstruktur und Zugriffspfaden Datenbanken I

  13. Die erste Festplatte: IBM 350 • 1956 vorgestellt • 5 MB Speicherplatz • 1 Tonne Gewicht • 50 Scheiben • 1 Schreib-/Lesekopf Datenbanken I

  14. Festplatten-Größenvergleich Datenbanken I

  15. Datenbanksysteme (seit 70er J.) Datenbanksystem (DBS) besteht aus: • Datenbankmanagementsystem (DBMS) • Software zur Verwaltung von Datenbeständen • Schnittstelle zwischen Benutzer und Datenbank, hierzu DB-Sprache, z.B. SQL • realisiert Konsistenz und Datenunabhängigkeit • Datenbank (DB) • integrierter Datenbestand • einheitlich gemäß Datenmodell strukturiert Datenbanken I

  16. Aufbau von Datenbanksystemen Anwendungs-programme Benutzer, Administratoren Benutzer-schnittstelle Betriebssystem Hauptspeicher Sekundärspeicher Datenbank- management- system (DBMS) Datenbank-system (DBS) Daten- bank (DB) Datenbanken I

  17. Datenmodelle • Hierarchisches DatenmodellIMS (Information Management System) IBM • NetzwerkmodellUDS von Siemens • Relationales DatenmodelldBase, MySQL, Access, SQL-Server, ... • Objektorientiertes Datenmodellteilw. Oracle, O2 von O2 Technology Datenbanken I

  18. Hierarchisches Datenmodell • 1960 entwickelt • Baumstruktur mit einem Ausgangselement (Root) • Jedes Element hat maximal einen Vorgänger (Parent) • Jedes Element hat beliebig viele Nachfolger (Children) Datenbanken I

  19. Beispiel Hierarchisches Modell Datenbanken I

  20. Ausprägung Hierarchisches Modell Datenbanken I

  21. Hierarchisches Modell heute • LDAP (Lightweight Directory Access Protocol) organisiert Verzeichnisdienst • Verzeichnis- und Dateistrukturen von Betriebssystemen • HTML / XML • IMS (Information Management System) von IBM Datenbanken I

  22. Netzwerkmodell • Ab etwa 1970 fand das hierarchische Datenmodell seine Erweiterung im Netzwerkmodell, das nun auch Querverbindungen zwischen Baumstrukturen zuließ. • Jeder Knoten kann mehrere übergeordnete Knoten haben. • Jede Netzwerkstruktur lässt sich durch Einführung redundanter Knoten als hierarchische Baumstruktur darstellen. Datenbanken I

  23. Wacker Student Mustermann ss SV vs Vorlesung Java Stochastik Zahlentheorie Beispiel Netzwerk-Modell Datenbanken I

  24. Relationale Datenbanksysteme Datenbanken I

  25. 3-Ebenen-Architektur Nach ANSI-SPARC Views, Nutzerzugriffsrechte. Zugriff über DB-Anwendung oder Abfragesprache logische Struktur der DB: Tabellen, Integritätsbedingungen, Prozeduren...Wird vom Admin mittels Abfragesprachen verwaltet physikalische Struktur der DB: Dateien, Ablageort. Wird verwaltet vom DBMS, nicht vom Admin. Ziel: Erfüllung der Codd-Regeln, Trennung DB-Anwendung und Datenbank Datenbanken I

  26. Beispiel 3-Ebenen-Architektur Bundesbahn: externe Ebene Städteverbindungen konzeptionelle Ebene Kursbuch interne Ebene Abbildung auf Dateisystem Personaldatei: externe Ebene Angestellte mit Namen, Wohnorten und Geburtstag konzeptionelle Ebene Geburtstagsliste mit Name, Datum, Alter interne Ebene Abbildung auf Dateisystem Datenbanken I

  27. Datenunabhängigkeit Physische Datenunabhängigkeit: keine Änderung des externen Schemas (auf der externen Ebene) bei Änderung des internen Schemas Logische Datenunabhängigkeit: keine Änderung des externen Schemasbei Änderungen des konzeptionellen Schemas Datenbanken I

  28. Codds 12 Regeln für relationale DBS • 1. InformationsregelDaten in Tabellen • ZugriffsgarantieJedes Feld eindeutig adressierbar • NULL-Werteunabh. vom Datentyp existiert Wert f. nichtvorh. Daten • MetadatenMetadaten in Tabellen • 5. Allumfassende Sprachefür alle User einheitlich, z. B. DML, DDL, DCL, TCL • 6. Datenänderung in Views • 7. Mengenorientierte ÄnderungsoperationenMengenoperationen nicht nur für Abfragen Datenbanken I

  29. Codds 12 Regeln für relationale DBS • 8. Physische Datenunabhängigkeit Anwendungsprogramme unabh. vom Speicherort • Logische DatenunabhängigkeitAnwendungsprogramme logisch unabhängig v. Tabellen, ermöglicht durch Views • 10. Deklarative DatenintegritätFür Einhaltung der Integritätsregeln sorgt DBMS, nicht Anwendungsprogramm • 11. VerteilungsunabhängigkeitDatenbank kann physikalisch auf mehrere Speicherorte verteilt sein. Für Anwendungsprogramme unabhängig. • 12. UnterwanderungsverbotZugriff auf Daten nur über eine relationale Sprache Datenbanken I

  30. Gemeinsame Merkmale relationaler DBMS • Erfüllung der Codd-Regeln • 3-Ebenen-Architektur • standardisierte Datenbanksprache SQL (structured query language) • Einbettung von SQL in kommerzielle Programmiersprachen • Werkzeuge für interaktive Definition, Anfrage und Darstellung von Daten, Entwurf von Benutzeroberflächen Datenbanken I

  31. Aufbau relationaler Datenbanken Die grundlegende Struktur einer relationalen Datenbank ist die Tabelle. Eine Tabelle ein Objekt, das Daten in Datensätzen (Zeilen) und Feldern (Spalten) speichert. In der Regel besteht eine relationale Datenbank aus mehreren voneinander unabhängigen Tabellen, die über Relationen verknüpft werden. Datenbanken I

  32. Relationale Datenbanktabelle Tabelle Zeile Feld Spalte Primärschlüssel Datenbanken I

  33. Schlüssel Schlüssel dienen der Beschleunigung von Zugriffen auf die Daten. Nur mit Hilfe von Schlüsseln ist eine relationale Verknüpfung von Tabellen möglich. Schlüssel ermöglichen eine Überwachung von Integritätsregeln. Datenbanken I

  34. Primärschlüssel Der Primärschlüssel ermöglicht die eindeutige Identifizierung eines Datensatzes dadurch, dass sein Wert in einer Tabelle nur ein einziges Mal vorkommt. Er setzt sich aus einem oder mehreren Datenfeldern zusammen. Jede Tabelle sollte einen Primärschlüssel besitzen. Datenbanken I

  35. Fremdschlüssel Ein oder mehrere Tabellenfelder, das auf das Primärschlüsselfeld in einer anderen Tabelle Bezug nehmen. Ein Fremd-schlüssel gibt an, in welcher Beziehung die Tabellen zueinander stehen; die Daten des Fremdschlüssels müssen mit denen der Primärschlüsselfelder übereinstimmen. Datenbanken I

  36. 1:n-Beziehung • Eine Beziehung zwischen zwei Tabellen, bei der gilt:  • 1. Der Primärschlüsselwert jedes Datensatzes in der Mastertabelle („1“) entspricht dem Wert des jeweiligen Feldes bzw. der jeweiligen Felder in einem oder mehreren Datensätzen der Detailtabelle. • 2. Der Primärschlüsselwert jedes Datensatzes in der Detailtabelle („n“) entspricht dem Wert des jeweiligen Feldes bzw. der jeweiligen Felder in genau einem Datensatz der Mastertabelle. Datenbanken I

  37. m:n-Beziehung • Eine Beziehung zwischen zwei Tabellen, bei der gilt:  • 1. Der Primärschlüsselwert jedes Datensatzes in der Tabelle M entspricht dem Wert des jeweiligen Feldes bzw. der jeweiligen Felder in einem oder mehreren Datensätzen der Tabelle N. • 2. Der Primärschlüsselwert jedes Datensatzes in der Tabelle N entspricht dem Wert des jeweiligen Feldes bzw. der jeweiligen Felder in einem oder mehreren Datensätzen der Tabelle M. Datenbanken I

  38. Relationenmodell • Relation ~ Tabelle • Tupel ~ Datensatz • Attribut ~ Feld Datenbanken I

  39. Normalisierung Datenbanken I

  40. Anomalien Löschanomalie Einfügeanomalie Änderungsanomalie Datenbanken I

  41. Anomalien vermeiden Um Anomalien zu vermeiden, wurden • Normalformen, • Entwurfstheorie und • Entwurfsregeln formuliert. Datenbanken I

  42. Normalisierung Normalformen: Regeln des Tabellenentwurfs. Beim Normalisierungsprozess werden die Daten auf mehrere Tabellen verteilt. Ziel ist eine • konsistente Datenhaltung • ohne Redundanzen • ohne Anomalien. Datenbanken I

  43. Normalformen-Historie • Ursprünglich wurden 1973 von Edgar F. Codd 3 Normalformen (1NF, 2NF, 3NF) vorgeschlagen. • Jede Stufe beinhaltet die vorhergehende 1NF->2NF->3NF • 3NF wurde 1974 revidiert -> Boyce-Codd-NF (BCNF) • Später weitere (4NF, 5NF) Normalformen, eher weniger bedeutend • Weg: Aufspaltung in Relationen Datenbanken I

  44. Normalformen beinhalten einander Datenbanken I

  45. Anforderungen an NF • Aufspaltung in Relationen muss verlustfrei geschehen • kein Verlust von Informationen • keine falschen Informationen • kein Verlust an Integritätsbedingungen Datenbanken I

  46. Hinweise zur Normalisierung • NF sind Richtlinien für guten DB-Entwurf. Sie sind kein Zwang! • Strikte Normalisierung führt zu größerer Anzahl von Relationen • Normalisierung nie losgelöst vom konkreten Kontext der DB betreiben! • Je weiter normalisiert werden soll, desto größer die Anforderung an das Hintergrundwissen über die Daten • Normalisierung • nicht immer erforderlich • nicht immer machbar (-> Performanz) • nicht immer sinnvoll (zu viele Relationen...) Datenbanken I

  47. Erste Normalform • atomar: Der Wert eines Attributs lässt sich nicht weiter teilen oder muss (für diesen Anwendungsfall) nicht weiter geteilt werden. • Mengenwertige Attribute sind verboten. • Spalten mit gleichartigem Inhalt müssen zusammengefasst werden. Eine Relation ist dann in der ersten Normal-form, wenn alle ihre Attribute atomar sind. Datenbanken I

  48. Vater Mutter Kinder Johann Martha {Else, Lucia} Johann Maria {Theo, Josef} Heinz Martha {Cleo} Vater Mutter Kind Johann Martha Else Johann Martha Lucia Johann Maria Theo Johann Maria Josef Heinz Martha Cleo Erste Normalform Beispiel Spalten mit gleichartigem Inhalt eliminierenVerboten sind mengenwertige Attribute: Verlangt werden atomare Attribute: Datenbanken I

  49. Funktionale Abhängigkeiten • sind eine Form der Integritätsbedingungen. • A und B seien Attribute. B ist von A funktional abhängig ( A -> B), genau dann, wenn für jeden Wert von A genau ein Wert von B existiert. Gleiche A-Werte ergeben somit gleiche B-Werte. • Sprechweise: B hängt von A ab. (oder: B ist funktional abhängig von A) • Die Schlüsselabhängigkeit ist ein Spezialfall von funktionaler Abhängigkeit. Der Wert von B muss jedoch nicht nur einmal in einer Relation vorkommen. • Abkürzung: FD (functional dependency) Datenbanken I

  50. Definition funktionale Abhängigkeit [X] ist der Wert von Attribut X im Tupel  z.B. Datensatz12[Kundennr]=123 Datenbanken I

More Related