Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 DATENBANKEN Kurs: Datenmodellierung SQL Johann Eder

Ähnliche Präsentationen


Präsentation zum Thema: "1 DATENBANKEN Kurs: Datenmodellierung SQL Johann Eder"—  Präsentation transkript:

1 1 DATENBANKEN Kurs: Datenmodellierung SQL Johann Eder

2 ©2001 Johann EderDatenbanken:Einführung2 Inhalt 1. Einführung, Grundbegriffe 2. Modellierung 3. Relationenmodell 4. Relationale Sprachen (SQL)

3 ©2001 Johann EderDatenbanken:Einführung3 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

4 ©2001 Johann EderDatenbanken:Einführung4 Literatur Atzeni, P.; Ceri, S.; ParaboschiS.; Torlone, R.: Database Systems: Concepts, Languages and Architectures. McGraw-Hill Publishing Company, Date, C.J.: An Introduction to Database Systems. Vol. I, 6th edition, Addison-Wesley, Elmasri, R.; Navathe, Sh.B.: Fundamentals of Database Systems. Benjamin Cummings, 3rd ed., 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, Vossen, G.: Datenmodelle, Datenbanksprachen und Datenbankmanagement- Systeme. Oldenbourg Verlag, München, 1999.

5 ©2001 Johann EderDatenbanken:Einführung5 Einführung Warum Datenbanken? ANSI / SPARC 3-Schichten Architektur Charakteristische Eigenschaften Architektur und Datenmodelle Schnittstellen Rollen / Benutzer

6 ©2001 Johann EderDatenbanken:Einführung6 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...

7 ©2001 Johann EderDatenbanken:Einführung7 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

8 ©2001 Johann EderDatenbanken:Einführung8 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) LOHN PROJEKT Mitarbeiter Projekt Angestellter Nachteile: Daten-Programm-Abhängigkeit Redundanz, Inkonsistenz Inflexibilität Standards schwer durchsetzbar

9 ©2001 Johann EderDatenbanken:Einführung9 Warum Datenbanksysteme (2) F 1.6 Scan

10 ©2001 Johann EderDatenbanken:Einführung10 ANSI-SPARC 3-Schichten Modell Externe Modelle: Sicht von Benutzer(gruppen) Anwendungsprogramm en Konzeptuelles Modell einheitliche Gesamtschau der Unternehmensdaten Internes Modell physische Speicherstrukturen Internes Modell Konzeptuelles Modell Konzeptuelles Modell... Externe Modelle

11 ©2001 Johann EderDatenbanken:Einführung11 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

12 ©2001 Johann EderDatenbanken:Einführung12 Eigenschaften von Datenbanken Persistenz Management von Sekundärspeichern Mehrbenutzerfähigkeit Zuverlässigkeit Datensicherheit ad-hoc Abfragesprachen

13 ©2001 Johann EderDatenbanken:Einführung13 Persistenz Daten überleben das Ende von Sitzungen, das Ende von Transaktionen Daten sind z.T. sehr langlebig Daten können in situ aktualisiert werden

14 ©2001 Johann EderDatenbanken:Einführung14 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

15 ©2001 Johann EderDatenbanken:Einführung15 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)

16 ©2001 Johann EderDatenbanken:Einführung16 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.

17 ©2001 Johann EderDatenbanken:Einführung17 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

18 ©2001 Johann EderDatenbanken:Einführung18 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

19 ©2001 Johann EderDatenbanken:Einführung19 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

20 ©2001 Johann EderDatenbanken:Einführung20 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

21 ©2001 Johann EderDatenbanken:Einführung21 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

22 ©2001 Johann EderDatenbanken:Einführung22 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

23 ©2001 Johann EderDatenbanken:Einführung23 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

24 ©2001 Johann EderDatenbanken:Einführung24 Produkte Oracle DB2 SQL-Server Access Informix Sybase Ingres Progress Adabas....

25 ©2001 Johann EderDatenbanken:Einführung25 Kapitel 2: Modellierung Datenbank-Entwurf

26 ©2001 Johann EderDatenbanken:Einführung26 Datenbank-Entwurf Ziele: gutes Abbild der Realität Konsistenz keine ungeplanten Redundanzen niedrige Antwortzeiten niedriger Speicherplatzbedarf niedriger Wartungs-/Pflegeaufwand Einfachheit

27 ©2001 Johann EderDatenbanken:Einführung27 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

28 ©2001 Johann EderDatenbanken:Einführung28 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?

29 ©2001 Johann EderDatenbanken:Einführung29 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

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

31 ©2001 Johann EderDatenbanken:Einführung31 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

32 ©2001 Johann EderDatenbanken:Einführung32 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)

33 ©2001 Johann EderDatenbanken:Einführung33 Semantische Datenmodellierung 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

34 ©2001 Johann EderDatenbanken:Einführung34 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

35 ©2001 Johann EderDatenbanken:Einführung35 UML Unified Modelling Language Lingua franca der objektorientierten Softwareentwicklung sehr großer Sprachumfang 8 Diagrammarten hier: Teilmenge der Klassendiagramme

36 ©2001 Johann EderDatenbanken:Einführung36 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 Buch Objekt

37 ©2001 Johann EderDatenbanken:Einführung37 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 geboren. Wertebereich Menge von Werten aus denen Ausprägungen eines Attributs stammen dürfen

38 ©2001 Johann EderDatenbanken:Einführung38 Attribut(2) Attribut ist eine Abbildung von einem Objekt in einen Wertebereich Name Otto Huber M-ID 2317 Geb.Datum

39 ©2001 Johann EderDatenbanken:Einführung39 Klassifikation Objekte, bei denen dieselben Merkmale relevant sind und die semantisch gleichartig sind, werden zu Klassen zusammengefaßt. Buch Kunde Mitarbeiter Exemplar Abteilung

40 ©2001 Johann EderDatenbanken:Einführung40 Klassifikation (2) Klasse Instanz Mitarbeiter Karl Müller Frieda Maier Ottilie Huber

41 ©2001 Johann EderDatenbanken:Einführung41 Assoziation (Relationships) Repräsentieren logische Verbindungen (Beziehungen) zwischen Objekten M1 M5 M4 M3 M6 M2 P1 P2 P3 P4 Mitarbeiter Projekte

42 ©2001 Johann EderDatenbanken:Einführung42 Beispiele von Assoziationen MitarbeiterProjekt ArtikelKunde bestellt zugeteilt leitet

43 ©2001 Johann EderDatenbanken:Einführung43 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

44 ©2001 Johann EderDatenbanken:Einführung44 Rekursive Beziehungen Mitarbeiter Kunde Chef Untergebener ist Freund von ist Vorgesetzter von

45 ©2001 Johann EderDatenbanken:Einführung45 Beziehungen höheren Grades Beispiel für eine ternäre Beziehung Grad: Anzahl der Klassen (Rollen), die an einer Beziehung teilnehmen ArtikelLieferant liefert Abteilung

46 ©2001 Johann EderDatenbanken:Einführung46 Klasse mit Attributen Person PIDeinfaches Attribut Namemehrfaches Attribut Vorname 1..3(mehrwertiges) Hobbies 0..10mengenwertiges Attribut Adresse:zusammengesetztes (strukturiertes) Attribut PLZ Ort Straße

47 ©2001 Johann EderDatenbanken:Einführung47 Assoziation mit Attributen MitarbeiterProjekt % Zeit seit leitet ist zugeteilt

48 ©2001 Johann EderDatenbanken:Einführung48 Beziehungsobjekte Kunde Artikel Mitarbeiter bestellt Bestellung Datum betreut von

49 ©2001 Johann EderDatenbanken:Einführung49 Multiplizität von Assoziationen Spezifikation der Zuordnungswertigkeit einer Beziehung A B i assoz. j 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..*

50 ©2001 Johann EderDatenbanken:Einführung50 Multiplizität - m : n Spezifikation der Zuordnungs-Wertigkeit einer Beziehung M1 M5 M4 M3 M6 M2 P1 P2 P3 P4 ProjektMitarbeiter 1..m 0..n zugeteilt

51 ©2001 Johann EderDatenbanken:Einführung51 totale vs. partielle Assoziation totale Beziehung: jede Instanz muß an einer Beziehung teilnehmen partielle Beziehung: jede Instanz kann an einer Beziehung teilnehmen MitarbeiterProjekt Abteilung 1..* * * zugeteilt arbeitet in

52 ©2001 Johann EderDatenbanken:Einführung52 Multiplizität - 1:n M1 M5 M4 M3 M6 M2 P1 P2 P3 P4 ProjektMitarbeiter * leitet

53 ©2001 Johann EderDatenbanken:Einführung53 Multiplizität - 1 : 1 M1 M5 M4 M3 M6 M2 A1 A2 A3 A4 AbteilungMitarbeiter 0..1 leitet

54 ©2001 Johann EderDatenbanken:Einführung54 Konsistenzbedingung Mitarbeiter Gehalt MNr Das (geplante) Ende eines Projektes darf nicht vor dem Start liegen. Der Leiter eines Projektes muß auch am Projekt mitarbeiten. Die Gesamtarbeitszeit eines Mitarbeiters an Projekten darf 100% nicht übersteigen. Kein Mitarbeiter eines Projektes darf mehr verdienen als der Projektleiter. Projekt Start Ende PNr leitet arbeitet an 11 m n Prozent

55 ©2001 Johann EderDatenbanken:Einführung55 Multiplizität bei mehrstelligen Assoziationen C A B i k j i: Anzahl der Instanzen von A, die mit einem Paar von Instanzen von B und C in Bezug stehen.

56 ©2001 Johann EderDatenbanken:Einführung56 Multiplizität Beispiel ÜbungStudent Assistent m 1 1 möglich: ein Student kann eine bestimmte Übung nur bei einem Assistenten besuchen und bei einem bestimmten Assistenten nur eine Übung d.h.: f1: Student x Assistent Übung f2: Student x Übung Assistent aber nicht: g1: Student Übung x Assistent g2: Assistent x Übung Student

57 ©2001 Johann EderDatenbanken:Einführung57 Identifikation Konzepte (Attribute, Entities), die ein Entity (Instanz) eindeutig identifizieren besteht häufig aus einem oder mehreren Attributen (Schlüssel, interne Identifikatoren) Manchmal sind Attribute allein nicht ausreichend und Entities müssen über ihre Beziehung zu anderen Entities identifiziert werden - (externe) Identifikatoren Beisp.: BLZ ist Schlüssel für Bank KontoNr nur innerhalb einer Bank eindeutig Konto wird über BLZ + KontoNr idenitifiziert

58 ©2001 Johann EderDatenbanken:Einführung58 Beispiel Klassendiagramm Mitarbeiter MNr. key Name Job Projekt Proj.Nr. key Bezeichnung Kunde KNr. key Name Anschrift Bestellung Best.Nr. key Daten Produkt Preis Prod.Nr. key Bezeichnung Anteil berichtet an Mitarbeiter Chef arbeitet in gibt auf umfaßt 0..1 * 1 * * * * leitet betreut 0..1 *

59 ©2001 Johann EderDatenbanken:Einführung59 textuelle Beschreibung Mitarbeiter haben eine MNr, einen Name und einen Job. Kunden haben eine KNr, einen Namen und eine Anschrift. Ein Mitarbeiter kann mehrere Kunden betreuen, ein Kunde wird von maximal einem Mitarbeiter betreut. Ein Produkt kann mehrfach bestellt werden. Eine Bestellung umfasst mehrere Produkte. Das Berichtswesen ist streng hierarchisch aufgebaut, jeder Mitarbeiter kann nur an einen Chef berichten. Ein Projekt wird von maximal einem Mitarbeiter geleitet, ein Mitarbeiter darf maximal ein Projekt leiten. An Projekten können mehrere Mitarbeiter arbeiten, ein Mitarbeiter kann an mehreren Projekten beteiligt sein.


Herunterladen ppt "1 DATENBANKEN Kurs: Datenmodellierung SQL Johann Eder"

Ähnliche Präsentationen


Google-Anzeigen