Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in Datenbanken

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in Datenbanken"—  Präsentation transkript:

1 Einführung in Datenbanken
Weiter mit was sind 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. Weiter mit „Wozu sind Datenbanken“

3 Wozu Datenbanken? dienen zur Erfassung von Massedaten
verwalten Daten effizient sind immer dann gefragt, wenn viele Benutzer auf Daten zugreifen wollen stellen Datenintegrität und -konsistenz sicher Erst die einzelnen Verzweigungen abfahren! Weiter mit „Was bedeutet Effizienz“?

4 Arten von Datenbankmodellen
Hierarchisches Modell Netzwerkmodell Relationales Modell Objektorientiertes Modell

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

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

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 erzeugt Sichten (Views) um Benutzern die Daten darzustellen Wie kann ich mit welchen Daten den Benutzer bei seiner Arbeit unterstützen? konzeptionelle Ebene 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 physikalische Ebene Zugriffsverfahren Speicherstruktur

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.

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 Definition der Objekte Zuordnung der Attribute Analyse der Entitätsbeziehungen 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. BESUCHER BesucherNr, Datum, Uhrzeit KUNDE KundenNr, Name, Adresse PRODUKT ProduktNr, BestellNr, Produktname, Beschreibung, Preis WARENKORB KorbProdNr, Datum, BesucherNr, ProduktNr, Menge BESTELLUNG KundenNr, ProduktNr, Menge AUFTRAG AuftragNr, 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… AUFTRAG AuftragNr AuftragsDatum… erteilt 1:n BESUCHER BesucherNr Zeit… wählt 1:n WARENKORB KorbProdNr BesucherNr… PRODUKT ProduktNr Name… BESTELLUNG KundenNr ProduktNr… gewählt 1:n PRODUKT ProduktNr Name… befindet sich 1:n WARENKORB KorbProdNr BesucherNr…

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

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…

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. 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. Beispiel: In einer großen Tabelle sind in einem Datensatz Bankleitzahl und Name des Institutes gespeichert. Jetzt ändert sich die Bankleitzahl… Besser: die Bankleitzahl und der Name einer Bank sowie eine Ordnungszahl werden in einer Tabelle gespeichert. Die Ordnungszahl (hier Primärschlüssel) in der anderen Tabelle Fremdschlüssel bleibt gleich, nur die Werte in der ersten Tabelle werden verändert.

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.

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

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) Im Rahmen der Semantischen Integrität unterscheidet man wiederum Entitäts- und 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)

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: die Spalten des Fremdschlüssels müssen in Anzahl und Inhalt mit dem Primärschlüssel der Tabelle B übereinstimmen, 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. Beispiel: Tabelle B: KNr. Name Vorname 1 Baumann Ronald hier KNr. Primärschlüssel Tabelle A: AuftragNr. Gesamtsumme KNr. ,00 € 1 hier AuftragNr. Primärschlüssel und KNr. Fremdschlüssel

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…

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. Wird der Primärschlüssel in einer anderen Tabelle ebenfalls als Attribut verwendet, so spricht man im Rahmen dieser Tabelle von 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
Tabelle = Relation Spalten=Colums KNr Name Vorname PLZ Ort Strasse 1 Hugenbubel Herbärt 12345 Steinhausen Tomatenweg 10 2 Spitzweg Carl 81526 Himmelhausen Sternenweg 18 3 Cron Maria 36645 Blaupausen Kopierstr. 18 Rows(Tupel) Sammlung aller Attribute eines Datensatzes 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

40 Relationales Modell


Herunterladen ppt "Einführung in Datenbanken"

Ähnliche Präsentationen


Google-Anzeigen