Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in Datenbanken. Was sind Datenbanken? In einer Datenbank soll ein Ausschnitt der realen Welt in Daten abgebildet werden. Die Struktur des zu.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in Datenbanken. Was sind Datenbanken? In einer Datenbank soll ein Ausschnitt der realen Welt in Daten abgebildet werden. Die Struktur des zu."—  Präsentation transkript:

1 Einführung in Datenbanken

2 Was sind Datenbanken? In einer Datenbank soll ein Ausschnitt der realen Welt in Daten abgebildet werden. Die Struktur des zu bearbeitenden Teilausschnittes soll in ein möglichst getreues Modell überführt werden.

3 Wozu Datenbanken? dienen zur Erfassung von Massedaten verwalten Daten effizienteffizient sind immer dann gefragt, wenn viele Benutzer auf Daten zugreifen wollen stellen Datenintegrität und -konsistenz sicherDatenintegritätkonsistenz

4 Arten von Datenbankmodellen Hierarchisches Modell Netzwerkmodell Relationales Modell Objektorientiertes Modell

5 Aufbau von Datenbanken I Woraus bestehen Datenbanken? Datenbank- management- system Datenbanksystem enthält Daten Steuert schreibenden und lesenden Zugriff

6 Aufbau von Datenbanken II Systembereich Eine Datenbank ist aufgeteilt in Benutzer- und Rechteverwaltung Transaktions- protokolle Datenverwaltung Datenbereich Speicherort der Daten

7 Aufgaben des DBMS das DBMS ist die Schnittstelle zwischen Benutzer und Datenbank es hat den alleinigen physikalischen Zugriff auf den Datenbereich es dient der Umsetzung des Datenmodells Das Datenbankmanagementsystem bietet einen Abfragemechanismus, um dem Benutzer die Möglichkeit des Datenzugriffs zu bieten. Eine gängige Abfragesprache, die 1982 erstmals und 1995 letztmalig standardisiert wurde ist SQL (92/95) = Structured Query Language

8 Die Drei-Ebenen-Modell I 1972 entwickelt zur Standardisierung von Datenbank- architekturen vom Standard Planing Requirement Committee dient der Gewährleistung eines hohen Maßes an Datenunabhängigkeit Damit können Änderungen auf einer Ebene vorgenommen werden, ohne dass andere Ebenen beeinträchtigt werden.

9 Die Drei-Ebenen-Modell II Benutzerebene physikalische Ebene konzeptionelle Ebene erzeugt Sichten (Views) um Benutzern die Daten darzustellen Wie kann ich mit welchen Daten den Benutzer bei seiner Arbeit unterstützen? Welche Daten werden gespeichert? In welcher Beziehung stehen sie zueinander? Wer darf auf welche Daten zugreifen? Wie wir die Datenintegrität hergestellt und geschützt? Wie werden Redundanzen verhindert? Abbildung der Wirklichkeit in Tabelle Speicherstruktur Zugriffsverfahren

10 Datenbankdesign In einer Datenbank sollen Daten einer realen Welt abgebildet werden. Dazu ist es notwendig, die Struktur des zu bearbeitenden Teilaus- schnittes in ein möglichst getreues Modell zu übertragen. Es gibt zwei Methoden diese Teilausschnitte zu modellieren und für eine Darstellung in einer Datenbank aufzubereiten: die Entity-Relationship-Modellierung und die Normalisierung.Entity-Relationship-ModellierungNormalisierung

11 An dieser Stelle verlassen wir die theoretischen Überlegungen und wenden uns dem Datenbankdesign anhand eines praktischen Beispiels zu. Entwickelt werden soll die Datenbank eines kleinen Online- Computerladens, in dem Kunden Preisanfragen stellen-, Waren in einen Warenkorb legen und später bestellen können.

12 Planung einer Datenbank Die Planung einer Datenbank gliedert sich unter Anwendung des ER-Modells grob in fünf Teilschritte – Entwicklung des Semantischen Modells Entwicklung des Semantischen Modells – Definition der Objekte Definition der Objekte – Zuordnung der Attribute Zuordnung der Attribute – Analyse der Entitätsbeziehungen Analyse der Entitätsbeziehungen – Erstellung eines ER-Diagramms Erstellung eines ER-Diagramms

13 Entwicklung des semantischen Modells Im Rahmen der Entwicklung der semantischen Modells soll festgestellt werden, welche Anforderungen an die Datenbank gestellt werden. In unserem Konkreten Beispiel bedeutet das: Die Besucher unserer Seite wählen Produkte aus und legen sie in den Warenkorb. Aus Produkten des Warenkorbes können - müssen nicht -Produkte im Warenkorb werden. Die Produkte des Warenkorbes können in eine Bestellung übergehen. Besucher können keine Produkte bestellen, ohne Kunde zu sein Die bestellten Produkte führen zu einem Auftrag

14 Definition der Objekte Ein Objekt bzw. Entität (letztlich eine Tabelle) beschreibt ein abgrenzbares Phänomen des Weltausschnittes der modelliert werden soll. In unserem Webshop sind folgende Objekte denkbar: Besucher Kunde Produkt Warenkorb Bestellung und Auftrag

15 Zuordnung der Attribute Jedes Objekt weist bestimmte Eigenschaften auf, mit denen es charakterisiert werden kann. Um optimale Funktionstüchtigkeit zu gewährleisten, müssen alle notwendigen Attribute erfasst werden. Um eine Eindeutigkeit der Datensätze zu herzustellen, werden regelmäßig durchlaufende Nummer pro Datensatz vergeben. Diese Nummern werden zu Primärschlüsseln verarbeitet. BESUCHERBesucherNr, Datum, Uhrzeit KUNDEKundenNr, Name, Adresse PRODUKTProduktNr, BestellNr, Produktname, Beschreibung, Preis WARENKORB KorbProdNr, Datum, BesucherNr, ProduktNr, Menge BESTELLUNG KundenNr, ProduktNr, Menge AUFTRAGAuftragNr, AuftragDatum, KundenNr

16 Analyse der Entitätsbeziehungen I Beziehungen zwischen Entitäten sind Kernbestandteil des ER-Modells. So kann z.B. die Kundennummer die Entitäten AUFTRAG und KUNDE miteinander verknüpfen. (Sie ist in der Tabelle Kunde Primär- und in der Tabelle Auftrag Fremdschlüssel). Bei den gegebenen Tabellen KUNDE, BESUCHER, PRODUKT, AUFTRAG, WARENKORB und BESTELLUNG ergeben sich folgende Assoziationen:

17 Analyse der Entitätsbeziehungen II KUNDE KundenNr Adresse… BESUCHER BesucherNr Zeit… PRODUKT ProduktNr Name… AUFTRAG AuftragNr AuftragsDatum… WARENKORB KorbProdNr BesucherNr… BESTELLUNG KundenNr ProduktNr… WARENKORB KorbProdNr BesucherNr… wählt 1:n befindet sich 1:n erteilt 1:n gewählt 1:n

18 Erstellung eines Entitätsdiagramms BESTELLUNG KUNDE WARENKORB BESUCHER PRODUKT AUFTRAG KundenNr Adresse KorbProduktNr BesucherNr Zeit BestellNr BeschreibungPreis Name ProduktNr Preis KundenNrEndsummeBesucherNrAuftragsNrAuftragsdatumProduktNr 1:n 1n 1:n

19 Umsetzung der Planung Die Umsetzung der Planung im Rahmen des Datenbankdesigns vollzieht sich dann in vier Schritten: – Umwandlung der Objekte in die notwendigen Tabellen und Feldnamen – Transformation etwaiger n:m Beziehungen in 1:1 bzw. 1:n Beziehungen – Normalisierung des Datenmodells

20 Tabellen zur Programmierung BESUCHER: BesucherNr, Datum, Uhrzeit KUNDE: KundenNr, Vorname, Name, Strasse, PLZ, Stadt, Telefon PRODUKT: ProduktNr, BestellNr, Produktname,Familie, Beschreibung, Verpackungsmenge, Preis WARENKORB: KorbProduktNr, Datum, BesucherNr, ProduktNr, Menge BESTELLUNG: KundenNr, ProduktNr, Menge AUTRAG: AuftragNr, AuftragDatum, KundenNr

21 Jetzt haben wir es geschafft und können an die Umsetzung gehen!!

22 Entity-Relationship-Modell - Beziehungskisten Das ER-Modell gibt Regeln vor, mit denen sich Daten so strukturieren lassen, dass keine Redundanzen auftreten und die Datenkonsistenz gewährleistet ist. Im ER Modell werden regelmäßig zwei Tabellen in eine Beziehung zueinander gesetzt wobei sich vier Assoziationstypen verwenden lassen. 1 = einfache Assoziation c = konditionelle Assoziation (eine oder keine) m = multiple Assoziation (mehrere) und mc= multiple-konditionelle (mehrere oder keine) Assoziation aber dazu Einführung und ein vertiefendes Beispiel…EinführungBeispiel

23 Normalisierung Unter Normalisierung versteht man das Aufteilen von Attributen in Relationen (Tabellen), so dass sie den Normalisierungs- regeln entsprechen Eine Methode, die reale Welt in ein Modell innerhalb einer Datenbank zu definieren ist das Normalformenmodell nach Dr. Edgar F. Codd, welches von ihm 1970 (1) entwickelt wurde.Normalformenmodell Es basiert auf den Regeln der Mengenlehre über Beziehungen zwischen Relationen. (1) Dr. Edgar F. Codd, A Relational Model of Data for Large Shared Data Banks IBM 1970; The Relation Model for Database Management Version , Addison-Wesley, 400 Seiten,

24 Wozu Normalisierung? Vermeidung redundanter Daten Eine Veränderung in einer Tabelle hat keine unerwünschten Seiteneffekte auf andere Tabellen. Wird eine Relation (Tabelle) in ihrer Struktur geändert, so soll der Änderungsaufwand in den anderen Tabellen möglichst minimiert werden. Entwickelt wurde die Normalisierung von E. F. Codd Anfang der 70er Jahre des letzten Jahrhunderts.

25 Normalformen Eine Relation ist in der ersten Normalform (NF 1), wenn alle Attribute nur einen Wert enthalten (damit atomar sind). Eine Relation ist in der zweiten Normalform (NF 2), wenn sie sich in der ersten Normalform befindet und jedes Feld (Attribut), das nicht zu einem Schlüssel gehört, vom gesamten Schlüssel abhängig ist. Eine Relation ist in der dritten Normalform (NF 3), wenn sie sich in der zweiten Normalform befindet und es keine Abhängigkeiten zwischen Attributen gibt, die nicht Schlüssel sind. Dazu gibt es hier Beispiele.hier

26 Einführung in Beziehungen I Ehemann Ehefrau 1 : n Beziehung (problematisch) 1 : 1 Beziehung: EhemannFreundinnen

27 Einführung in Beziehungen II m : m Beziehung: (noch problematischer) Ehemann Freundinnen Hier kann ein Ehemann mehrere Freundinnen- und eine Freundin mehrere Ehemänner ausgespannt haben…

28 Was bedeutet effizient? In erster Linie meint Effizienz im Rahmen von Datenbanken Redundanzfreiheit. Jedes Datum sollte es im Rahmen der Datenbank nur einmal geben.

29 Was bedeutet Datenintegrität? Datenintegrität meint Widerspruchsfreiheit der Daten unter- einander. Man unterscheidet Physische und Semantische Integrität. Physische Integrität behandelt alle Aspekte der physikalischen Speicherung von Daten, hier werden Hard- und Softwarefehler berücksichtigt. (spielt auch eine wichtige Rolle bei der Konsistenz von Datenbanken) Konsistenz von Datenbanken Im Rahmen der Semantischen Integrität unterscheidet man wiederum Entitäts- und referenzielle Integrität.Entitäts- referenzielle Integrität

30 Datenbankkonsitenz Datenbankkonsistenz ist immer dann gewährleistet, wenn alle Daten untereinander stimmig, also widerspruchsfrei sind. Besonders gefährdet ist die Konsistenz, wenn schreibend auf die Daten zugegriffen wird. Hier muss sichergestellt sein, dass alle möglichen Hard- und Softwarefehler die Konsistenz nicht beeinträchtigen. (s.a. Transaktionsprotokollierung)Transaktionsprotokollierung

31 Transaktionen Das Transaktion wird als Mechanismus zur Sicherung der Datenbankkonsistenz eingesetzt. Die Datenbank protokolliert jede Veränderung in den betroffenen Tabellen. Das Protokoll wird erst nach Abschluss der letzten Änderung gelöscht. Sollte ein Hard- oder Softwarefehler während der Transaktion eintreten, können anhand des noch gespeicherten Protokolls entweder alle Änderungen rückgängig gemacht- oder die noch nötigen Schritt durchgezogen werden.

32 Entitätsintegrität Vor Entitätsintegrität kann man ausgehen, wenn jeder Datensatz innerhalb einer Tabelle nur einmal vorkommt und einen eineindeutigen Schlüssel besitzt und dieser nicht leer (NULL) ist.

33 Referenzielle Integrität Die Referenzielle Integrität bezieht sich auf Abhängigkeiten zwischen Tabellen. Existiert ein Fremdschlüssel in einer Tabelle A, die Primärschlüssel in einer anderen Tabelle B ist, so muss folgendes sichergestellt sein:Primärschlüssel die Spalten des Fremdschlüssels müssen in Anzahl und Inhalt mit dem Primärschlüssel der Tabelle B übereinstimmen,Fremdschlüssels die in der Fremdschlüsselspalte in A einzutragenden Werte müssen in B bereits vorhanden sein, und Aus der Referenztabelle können nur dann Datensätze gelöscht werden, wenn es zu diesen keine Werte mehr in A gibt.

34 Relationales Datenbankmodell I Organisation in Tabellen (Relations), die voneinander weitgehend unabhängig sind. eine Tabelle ist ein Konstrukt aus Zeilen (Reihen, rows, auch Tupel genannt) und Spalten (columns) eine Zeile ist eine Sammlung von Attributen eines Datensatzes (Objekt, auch Entität), die Spalten stellen Attribute gleicher Art (z.B. Name, Vorname) dar. Tabellen können dadurch miteinander verknüpft werden, dass sie (mindestens) ein gleiches Attribut beinhalten. Es können beliebig viele Sichtweisen (views) erzeugt werden, die eine Zusammenstellung verschiedener Attribute verschiedener Tabellen beinhalten. Der Bereich der Werte, die ein Attribut (d.h. ein Eintrag in einer bestimmten Spalte) annehmen kann, nennt man Wertebereich (domain) des Attributes. Dieser Wertebereich wird durch Einschränkungen (constraints) näher bestimmt. Und hier noch mal das ganze grafisch aufbereitet…hier

35 Relationales Datenbankmodell II Enthält ein Datensatz ein Attribut, welches ein Objekt eindeutig charakterisiert, z.B. Kundenummer) kann dieses Objekt als Primärschlüssel definiert werden.Primärschlüssel Wird der Primärschlüssel in einer anderen Tabelle ebenfalls als Attribut verwendet, so spricht man im Rahmen dieser Tabelle von Fremdschlüssel.Fremdschlüssel Mit Hilfe dieser Schlüssel können die Tabellen in Beziehungen zueinander gesetzt werden.

36 Hierarchisches Modell

37 Primärschlüssel Jede Reihe in einer Tabelle sollte eindeutig identifizierbar sein, d.h. in einer Spalte der Tabelle sollten Werte eingetragen sein, die einmalig sind und die betreffende Reihe eindeutig identifizieren (z.B. Identifikationsnummer). Eine solche Spalte nennt man Primärschlüssel (primary key). Mittels des Primärschlüssels ist die Verknüpfung mit anderen Tabellen einfach: in der anderen Tabelle muss nur ein Attribut vorhanden sein, in das der entsprechende Primärschlüssel der ersten Spalte eingetragen ist. Eine solche Spalte nennt man auswärtigen Schlüssel oder Fremdschlüssel (foreign key).

38 Aufgaben von Datenbanken beinhaltet die Daten an sich greift auf die Daten physikalisch zu benutzt dazu ein eigenes Dateisystem (propietär, aber mit Sonderfunktionen und schnell) oder verwendet Dateisystem des Betriebssystems (langsamer, keine Sonderfunktionen, kann aber z. B. mit Bordmitteln gesichert werden)

39 Elemente einer Datenbank KNrNameVornamePLZOrtStrasse 1HugenbubelHerbärt12345SteinhausenTomatenweg 10 2SpitzwegCarl81526HimmelhausenSternenweg 18 3CronMaria36645BlaupausenKopierstr. 18 Tabelle = Relation Spalten=Colums Rows(Tupel) Feld, alle Felder einer Zeile bilden einen Datensatz, der alle Attribute eines Objektes (Entität) umfasst. Die Spalte KNr. eignet sich dazu, als Primärschlüssel definiert zu werden, weil alle Werte eineindeutig sind, nur einmal vorkommen. Sammlung gleicher Attribute Sammlung aller Attribute eines Datensatzes

40 Relationales Modell


Herunterladen ppt "Einführung in Datenbanken. Was sind Datenbanken? In einer Datenbank soll ein Ausschnitt der realen Welt in Daten abgebildet werden. Die Struktur des zu."

Ähnliche Präsentationen


Google-Anzeigen