1 / 59

DATENBANKEN

DATENBANKEN. Kurs: Datenmodellierung SQL Johann Eder (eder@isys.uni-klu.ac.at). Inhalt. 1. Einführung, Grundbegriffe 2. Modellierung 3. Relationenmodell 4. Relationale Sprachen (SQL). Ziele. Teilnehmer

serafina
Télécharger la présentation

DATENBANKEN

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 Kurs: Datenmodellierung SQL Johann Eder (eder@isys.uni-klu.ac.at)

  2. Inhalt • 1. Einführung, Grundbegriffe • 2. Modellierung • 3. Relationenmodell • 4. Relationale Sprachen (SQL) Datenbanken:Einführung

  3. Ziele Teilnehmer • verstehen die grundlegenden Funktionsweisen von Datenbanksystemen • Kennen die charakteristischen Eigenschaften von Datenbanken • können kleinere Datenbanken entwerfen • können Daten aus Datenbanken abfragen Datenbanken:Einführung

  4. Literatur Kemper, A; Eickler A.: Datenbanksysteme. 2. Aufl., Oldenbourg Verlag, 1997 Ullmann, J.D.: Principles of Database and Knowledge-Base Systems. Vol. I, Computer Science Press, 1988. Vossen, G.: Datenmodelle, Datenbanksprachen und Datenbankmanagement- Systeme. Oldenbourg Verlag, München, 1999. Atzeni, P.; Ceri, S.; ParaboschiS.; Torlone, R.: Database Systems: Concepts, Languages and Architectures. McGraw-Hill Publishing Company, 1999. Date, C.J.: An Introduction to Database Systems. Vol. I, 6th edition, Addison-Wesley, 1995. Elmasri, R.; Navathe, Sh.B.: Fundamentals of Database Systems. Benjamin Cummings, 3rd ed., 1999. Datenbanken:Einführung

  5. Einführung • Warum Datenbanken? • ANSI / SPARC 3-Schichten Architektur • Charakteristische Eigenschaften • Architektur und Datenmodelle • Schnittstellen • Rollen / Benutzer Datenbanken:Einführung

  6. Warum Datenbanken? • „... kaum eine größere Informatikanwendung ist ohne DB-Unterstützung denkbar“ • „DB-Systeme ... sind heute ein selbstverständliches Hilfsmittel der betrieblichen Organisation und Verwaltung geworden“ • „Datenbanken ... als Schlüsseltechnologie für die Realisierung komplexer Informationssysteme ...“ Datenbanken:Einführung

  7. Kennzeichen der Daten • Lange Lebensdauer (Jahre, Jahrzehnte) • reguläre Strukturen • große Datenobjekte, große Datenmengen • stetig anwachsende, integrierte Bestände (Giga-, Terabyte an Informationen) • immer wiederkehrende Muster in den Objektbeziehungen Datenbanken:Einführung

  8. Warum Datenbanksysteme? Probleme mit Dateisystemen Bsp.: Programm Lohnverrechnung Datei Angestellter (SV#, Name, Adresse, Gehalt) Programm Projekte Datei Mitarbeiter (Projekt#, SV#, Name, Telefon#) Datei Projekt (Projekt#, Projektbeschreibung) Nachteile: Daten-Programm-Abhängigkeit Redundanz, Inkonsistenz Inflexibilität Standards schwer durchsetzbar Angestellter LOHN Projekt PROJEKT Mitarbeiter Datenbanken:Einführung

  9. Warum Datenbanksysteme (2) • F 1.6 Scan Datenbanken:Einführung

  10. ANSI-SPARC3-Schichten Modell Externe Modelle • Externe Modelle: • Sicht von Benutzer(gruppen) • Anwendungsprogrammen • Konzeptuelles Modell • einheitliche Gesamtschau der Unternehmensdaten • Internes Modell • physische Speicherstrukturen ... Konzeptuelles Modell Internes Modell Datenbanken:Einführung

  11. Vorteile von Datenbanken • physische Datenunabhängigkeit • Internes Schema kann geändert werden, ohne Anwendungsprogramme zu ändern • Änderung nur bei Abbildung konzept. Schema - internes Schema • logische Datenunabhängigkeit • konzeptuelles Schema kann geändert werden ohne Anwendungsprogramme zu ändern solange das entspr. externe Modell abgeleitet werden kann • Ändern Abb. Konzeptuelles Schema - externes Schema • integrierte zentrale Verwaltung • Standards • Redundanzen • Konsistenz Datenbanken:Einführung

  12. Eigenschaften von Datenbanken • Persistenz • Management von Sekundärspeichern • Mehrbenutzerfähigkeit • Zuverlässigkeit • Datensicherheit • ad-hoc Abfragesprachen Datenbanken:Einführung

  13. Persistenz • Daten „überleben“ das Ende von Sitzungen, das Ende von Transaktionen • Daten sind z.T. sehr langlebig • Daten können „in situ“ aktualisiert werden Datenbanken:Einführung

  14. Verwaltung von Sekundärspeichern • Verwaltung großer Datenmengen • üblicherweise auf Platten • Datenbanken sind Ein-/Ausgabe-intensiv • Spezifische Techniken zur Erhöhung der Performanz • Pufferung (DB Puffer im Hauptspeicher) • Indexierung, Cluster • Abfrageoptimierung Datenbanken:Einführung

  15. Mehrbenutzerfähigkeit • mehrere Benutzer können gleichzeitig auf den Daten arbeiten • DBMS sorgt dafür, daß keine unerwünschten Wechselwirkungen durch gleichzeitige Manipulation derselben Daten eintreten • Erhaltung der Integrität Lost-update read(X) X:= X+10 write(X) read(X) X:=X-20 write(X) Datenbanken:Einführung

  16. Zuverlässigkeit der Daten • Daten sind teuer und strategisch wichtig - müssen daher zuverlässig sein • DBMS bestätigt jede durchgeführte Änderung • bei Systemfehler: DB-Zustand wiederherstellen, der genau alle bestätigten Änderungen enthält. roll-backward: Eliminieren der Auswirkungen aller unbestätigten Transaktionen roll-forward: Nachziehen der Auswirkungen aller bestätigten Transaktionen auf Sicherungskopie. Datenbanken:Einführung

  17. Datensicherheit • Schutz vor unberechtigtem Zugriff • Berechtigungssystem definieren • Sicherheitssubjekte (Benutzer, Rollen, etc.) • Sicherheitsobjekte (Daten) • Rechte (Lesen, Schreiben - i.e. verändern) • Weitergabe von Rechten • Zugriff durch Nichtberechtigte verhindern • bei jedem Zugriff Berechtigungen überprüfen Datenbanken:Einführung

  18. Ad-hoc Abfragesprachen • Abfrage von Daten ohne eigenes prozedurales Programm schreiben zu müssen • deklarativer Zugriff • SQL, QBE, etc. „Wie hoch ist das Durchschnitts- gehalt der Manager in den einzelnen Städten in denen mindestens 5 Manager beschäftigt sind?“ Select city, avg(salaray) from emp, dept where emp.deptno = dept.deptno and emp.job = “manager“ group by city having count(*) >= 5 Datenbanken:Einführung

  19. Wichtige Begriffe Datenbankmanagementsystem (DBMS) Software, die die DB verwaltet und alle von den Anwendungsprogrammen verlangten Funktionen zentral durchführt Datenbanksystem (DBS) DBMS + DB Datenbank (DB) integriert vom DBMS verwaltete Dateien Datenbanken:Einführung

  20. Schnittstellen • DBMS-Shell • SQL-Befehle eingeben und durchführen • graphische Schnittstellen (Browser) • formularbasierte Schnittstellen (Masken) • natürlichsprachliche Schnittstellen • Schnittstellen für Anwendungsprogramme Sprachen • Datendefinitionssprache (DDL) • formulieren der Schemata • Datenmanipulationssprache (DML) • abfragen, einfügen, löschen, aktualisieren von Daten Datenbanken:Einführung

  21. Dienstprogramme • DB-Loader: Laden von Daten in eine Datenbank • Backup: Erstellen von Sicherungskopien • Reorg: Reorganisation der Datenstrukturen zur Performanzverbesserung • Berichtsgeneratoren (report writer) • formatieren von Berichten (komplexen Abfragen) • Kopf-und Fußzeilen, Text • Seitenumbruch, Zwischensummen, Gruppenwechsel, etc. • Anwendungsgeneratoren (4GL-Sprachen) • Monitor (Performanz, Tuning) • Datenwörterbuch (Data Dictionary) • Kommunikationssubsysteme Datenbanken:Einführung

  22. Personen und Rollen • Datenbankadministrator • verwaltet die Ressource Datenbank • internes Schema • Vergabe von Zutrittsrechten • Tuning und Monitoring • Sicherheit und Zuverlässigkeit • Unternehmensadministrator (Datenbankdesigner) • zuständig für konzeptuelles Schema • externe Schemata • Schnittstelle zu Software-Entwicklung Datenbanken:Einführung

  23. Personen und Rollen (2) • Systemanalytiker, Anwendungsprogrammierer • Anforderungserhebung • Software-Entwicklung • Endbenutzer • gelegentliche Benutzer z.B. Manager • unterschiedliche, z.T. nicht vorhersehbare Informationsbedürfnisse • von „schnell mal nachschauen“ • bis komplexe Analysen • parametrische Benutzer z.B. Sachbearbeiter • Anwendungsprogramme, „canned transactions“ • Power-User z.B. Analytiker • komplexe Anforderungen • gute Kenntnis von DB + Schnittstellen Datenbanken:Einführung

  24. Produkte • Oracle • DB2 • SQL-Server • Access • Informix • Sybase • Ingres • Progress • Adabas • .... Datenbanken:Einführung

  25. Kapitel 2:Modellierung Datenbank-Entwurf Datenbanken:Einführung

  26. Datenbank-Entwurf Ziele: • gutes Abbild der Realität • Konsistenz • keine ungeplanten Redundanzen • niedrige Antwortzeiten • niedriger Speicherplatzbedarf • niedriger Wartungs-/Pflegeaufwand • Einfachheit Datenbanken:Einführung

  27. 5 Phasen der DB-Entwicklung • 1. Informationsbedarfsanalyse • wer braucht welche Daten wann in welcher Qualität • 2. konzeptueller Entwurf • formalisierte Beschreibung des Umweltausschnitts • häufig mit graphischem semantischen Datenmodell • 3. logischer Entwurf • Abbilden des konzeptuellen Modells auf Datenmodell des DBS • 4. physischer Entwurf • Speicherstrukturen, Zugriffspfade festlegen • 5. Verwendung, Wartung, Reorganisation • Tuning • Adaptieren Datenbanken:Einführung

  28. 5 Phasen der DB-Entwicklung (a) Informationsbedarfsanalyse • wer braucht wo? wann? was? • relevante Informationen und Vorgänge aus dem und über das Objektsystem • Zusammenhänge zwischen - Informationen - Informationen und Vorgängen • Vollständigkeit, Redundanz, Konsistenz Was soll im zukünftigen Informationssystem enthalten sein? Wie wird es verwendet? Datenbanken:Einführung

  29. 5 Phasen der DB-Entwicklung b) Konzeptueller Entwurf • formalisierte Beschreibung der ermittelten Informationen und Funktionen • häufig mit graphischem Darstellungsmodell • entweder konzeptueller Entwurf des gesamten Bereiches oder zuerst Formulierung der Modelle der einzelnen Benutzersichten und anschließend Integration (View-Integration) • semantische Datenmodellierung: Definition aller zulässigen Zustände und Zustands- übergänge der Datenbasis des geplanten Informations- systems Ergebnis: konzeptuelles DB-Modell Datenbanken:Einführung

  30. 5 Phasen der DB-Entwicklung (c) Logischer Entwurf Abbildung des konzeptuellen Modells auf das Datenmodell eines konkreten DBS. Ergebnis: logisches DB-Schema Datenbanken:Einführung

  31. 5 Phasen der DB-Entwicklung (d) Physischer Entwurf • Festlegen der Einzelheiten der physischen Darstellung der Daten • Abbildung auf Speicherstrukturen (Datenstrukturen) • Bestimmen der Zugriffspfade • verantwortlich für Antwortzeitverhalten und Speicherplatz- bedarf • erforderlich: Mengengerüst, Transaktionsprofil, Nebenbe- dingungen (z.B. Antwortzeit für bestimmte Trans- aktionen) Ergebnis: physisches DB-Schema Datenbanken:Einführung

  32. 5 Phasen der DB-Entwicklung (e) Verwendung - Wartung - Reorganisation Reorganisation wegen: • veränderter Umweltbedingung (dargestellte Realität hat sich gewandelt) z.B.: - weitere Anwendungen - modifizierte Aufgabenstellung - veränderte gesetzliche Bestimmungen (a) • Revidierung früherer Entwurfsentscheidungen für Leistungsverbesserung - Änderung der logischen Struktur (selten) (c) - Änderung der physischen Struktur (d) Datenbanken:Einführung

  33. SemantischeDatenmodellierung • Beschreibung des betrachteten Ausschnitts der realen Welt • Miniwelt, Universe of Discourse • genaue (eindeutige, vollständige) Beschreibung aller für die Anwendung relevanten strukturellen Eigenschaften • in semantischer Beschreibungssprache • unabhängig von Hardware und Software • Ergebnis: konzeptuelles Datenbankschema • Verständigungsbasis für Entwerfer, Entwickler, Anwender Datenbanken:Einführung

  34. ER-Modellierung • Das Entity-Relationship (E-R) Modell ist ein konzeptuelles Datenmodell • Sprache zur Beschreibung der Datenanforderungen • leicht zu verstehen und zu kommunizieren • unabhängig von der tatsächlichen Realisierung in einem DBMS-Produkt • Graphische Sprache • graphische Repräsentation der Konstrukte • E-R-Diagramme • Ursprung: • P.Chen:´The Entity-Relationship Model -Toward a Unified View of Data´, ACM TODS, Vol1/1, 1976 • viele extended E-R- Modelle Datenbanken:Einführung

  35. UML • Unified Modelling Language • Lingua franca der objektorientierten Softwareentwicklung • sehr großer Sprachumfang • 8 Diagrammarten • hier: Teilmenge der Klassendiagramme Datenbanken:Einführung

  36. Entity, Gegenstand, Objekt • Einheit, Ganzheit, Gegenstand, Objekt • Modell, Abbild eines Gegenstandes, der in der betrachteten Realität erkannt und eindeutig identifiziert wird. • Beisp.: • Kunde Otto Huber • Bankkonto Nr 789.987.123 • Buch Objekt Datenbanken:Einführung

  37. Attribut Attribut • Merkmale, Charakteristik • Bezeichnungen von Eigenschaften, die bei dem betrachteten Entity für die Anwendung relevant sind • Beisp.: Vorname, Saldo, Geburtsdatum, Hausnummer Attributsausprägung • Wert eines Attributes für ein bestimmtes Entity • Beisp.: Mitarbeiter mit der MID 2317 wurde am 16.12.1965 geboren. Wertebereich • Menge von Werten aus denen Ausprägungen eines Attributs stammen dürfen Datenbanken:Einführung

  38. Attribut(2) Attribut ist eine Abbildung von einem Objekt in einen Wertebereich Name Otto Huber M-ID 2317 Geb.Datum 27.8.1965 Datenbanken:Einführung

  39. Klassifikation • Objekte, bei denen dieselben Merkmale relevant sind und die semantisch gleichartig sind, werden zu Klassen zusammengefaßt. Abteilung Buch Exemplar Kunde Mitarbeiter Datenbanken:Einführung

  40. Karl Müller Ottilie Huber Frieda Maier Klassifikation (2) Klasse Instanz Mitarbeiter Datenbanken:Einführung

  41. Assoziation (Relationships) • Repräsentieren logische Verbindungen (Beziehungen) zwischen Objekten M1 P1 M2 M4 P2 M5 M3 P3 M6 P4 Mitarbeiter Projekte Datenbanken:Einführung

  42. Beispiele von Assoziationen Kunde Artikel bestellt zugeteilt Mitarbeiter Projekt leitet Datenbanken:Einführung

  43. Assoziationen • Assoziationen können (mathematisch) als Relationen dargestellt werden • bestellt  Kunde  Artikel • bestellt= {(k1, a1), (k2, a1), (k4, a3), (k4, a5), ...} • Assoziation hat Rollen, die von Objekten gefüllt werden: • bestellt hat die Rollen „Besteller“ und „Bestelltes“ gefüllt von Kunde und Artikel Datenbanken:Einführung

  44. Rekursive Beziehungen Chef Mitarbeiter ist Vorgesetzter von Untergebener ist Freund von Kunde Datenbanken:Einführung

  45. Beziehungen höheren Grades • Beispiel für eine ternäre Beziehung • Grad: Anzahl der Klassen (Rollen), die an einer Beziehung teilnehmen Lieferant liefert Artikel Abteilung Datenbanken:Einführung

  46. Klasse mit Attributen Person PID einfaches Attribut Name mehrfaches Attribut Vorname 1..3 (mehrwertiges) Hobbies 0..10 mengenwertiges Attribut Adresse: zusammengesetztes (strukturiertes) Attribut PLZ Ort Straße Datenbanken:Einführung

  47. Assoziation mit Attributen % Zeit seit Mitarbeiter Projekt ist zugeteilt leitet Datenbanken:Einführung

  48. Beziehungsobjekte bestellt Artikel Kunde Bestellung Mitarbeiter betreut von Datum Datenbanken:Einführung

  49. Multiplizität von Assoziationen • Spezifikation der Zuordnungswertigkeit einer Beziehung i assoz. j A B i: Anzahl der Instanzen der Klasse A, die mit einer Instanz der Klasse B in Beziehung stehen können. Angabe: Zahl, Intervall, *, Kombination Bsp: 1; 0..5; *; 0..3, 7..9, *21, 5..* Datenbanken:Einführung

  50. Multiplizität - m : n • Spezifikation der Zuordnungs-Wertigkeit einer Beziehung Mitarbeiter Projekt zugeteilt 0..n 1..m M1 P1 M2 M4 P2 M5 M3 P3 M6 P4 Datenbanken:Einführung

More Related