1 / 38

Vorlesung DBMS

Vorlesung DBMS. Thema: Datenbanktechnologie - Von der Realwelt zur Datenbank - Michael Andriczka Sommersemester 2003. Inhalt. Einleitung 1.1 Charakteristika 1.2 Vergleich Datenredundanz vs. Datenintegrität 1.3 Prinzipien 1.4 Eigenschaften aktueller DBS

caesar
Download Presentation

Vorlesung DBMS

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. Vorlesung DBMS Thema: Datenbanktechnologie - Von der Realwelt zur Datenbank - Michael Andriczka Sommersemester 2003 DBMS

  2. Inhalt • Einleitung 1.1 Charakteristika 1.2 Vergleich Datenredundanz vs. Datenintegrität 1.3 Prinzipien 1.4 Eigenschaften aktueller DBS 1.5 Einige konkrete Systeme 1.6 Datenbankgrößen 1.7 Gegenwärtiger Entwicklungsstand • Von der Realwelt zum ER-Modell 2.1 Die sogenannte Miniwelt (1) 2.2 Entität 2.3 Attribute 2.4 Schlüssel 2.5 Beziehungen 2.6 Die sogenannte Miniwelt (2) DBMS

  3. Inhalt 3. Vom Modell zur Datenbank 3.1 Umsetzung des ER-Modells in das relationale Datenbankschema 3.2 Normalisierung 4. Schlussbetrachtung DBMS

  4. 1. Einleitung 1.1 Charakteristika von Datenbanken • Eine Datenbank hat die langfristige Aufbewahrung von Daten als Aufgabe • Die Sicherheit vor Verlusten ist eine Hauptmotivation, etwas „auf die Bank zu bringen“. • Eine Bank bietet Dienstleistungen für mehrere Kunden an, um effizient arbeiten zu können. DBMS

  5. 1. Einleitung 1.2 Datenredundanz vs. Datenintegration Ohne Datenbanken: Datenredundanz • Basis- oder Anwendungssoftware verwaltet ihre eigenen Daten in ihren (eigenen) Dateiformaten - Textverarbeitung: Texte, Artikel und Adressen - Buchhaltung: Artikel, Adressen - Lagerverwaltung: Artikel, Aufträge - Auftragsverwaltung: Aufträge, Artikel, Adressen - CAD-System: Artikel, Technische Bausteine • Daten sind redundant: mehrfach gespeichert; Probleme: Verschwendung von Speicherplatz, „Vergessen“ von Änderungen; keine zentrale, „genormte“ Datenhaltung DBMS

  6. 1. Einleitung • Mehrere Benutzer oder Anwendungen können nicht parallel auf den gleichen Daten arbeiten, ohne sich zu stören • Anwendungsprogrammierer/Benutzer können Anwendungen nicht programmieren/benutzen, ohne - interne Darstellung der Daten - Speichermedien oder Rechner zu kennen (Datenunabhängigkeit nicht gewährleistet) • Datenschutz und Sicherheit sind nicht gewährleistet DBMS

  7. 1. Einleitung 1.2 Datenredundanz vs. Datenintegration Mit Datenbanken: Datenintegration • Die gesamte Basis- und Anwendungssoftware arbeitet auf den selben Daten, z.B. Adressen und Artikel werden nur einmal gespeichert - Datenbanksysteme können große Mengen an Daten effizient verwalten (Anfragesprachen) - Benutzer können parallel auf Datenbanken arbeiten (Transaktionskonzept) - Datenschutz (kein unbefugter Zugriff) und Datensicherheit (kein ungewollter Datenverlust) werden vom System gewährleistet DBMS

  8. 1. Einleitung 1.3 Prinzipien Datenbank-Management-System Unter einem Datenbank-Management-System (DBMS) versteht man ein Softwarepaket, welches in der Lage ist, (Anwender-) Daten in einem Computersystem zu verwalten. Spricht man von einem relationalen Datenbank-Management-System, meint man damit, dass dieses DBMS für die Verwaltung der Daten intern eine bestimmte Technologie benutzt und dass es bestimmten Anforderungen genügt. Datenbank-System Unter einem Datenbank-System versteht man ein DBMS mit zusätzlich einer oder mehreren Datenbanken zur Sammlung von nicht redundanten Daten, die von mehreren Applikationen benutzt werden.

  9. 1. Einleitung DB: Strukturierter, von DBMS verwalteter Datenbestand DBS: Datenbanksystem (DBMS + Datenbank) DBMS: Datenbank-Management-System DBMS

  10. 1. Einleitung • Grundmerkmale von DBMS - verwalten persistente (langfristig zu haltende) Daten - verwalten große Datenmengen effizient - Datenmodell, mit dessen Konzepten alle Daten einheitlich beschrieben werden (Integration) - Transaktionskonzept - Datenschutz, Datenintegrität (Konsistenz), Datensicherheit • Grundprinzip moderner DBS - 3-Ebenen-Architektur - Trennung zwischen Schema (Tabellenstruktur) und Instanz (etwa Tabelleninhalt) DBMS

  11. 1. Einleitung 1.4 Eigenschaften aktueller Datenbanksysteme • 3-Ebenen-Architektur nach ANSI-SPARC • Externe Ebene (Benutzersichten) • Konzeptionelle Ebene (Logische Gesamtsicht) • Interne Ebene (Physische Schicht) • Einheitliche Datenbankanfragesprache SQL • Einbettung dieser Sprache in kommerzielle Programmier- sprachen • Diverse Werkzeuge für die Definition, Anfrage und Darstellung von Daten und den Entwurf von Datenbankanwendungsprogrammen und der Benutzer-Interaktion, sowie • Kontrollierter Mehrbenutzerbetrieb, Zugriffskontrolle und Datensicherheitsmechanismen DBMS

  12. 1. Einleitung 1.5 Einige konkrete Systeme • (Objekt-)Relationale DBMS - Oracle 9i, DB2 V.8, Microsoft SQL-Server 2000 - MySQL, PostgreSQL, FireBird • Pseudo DBMS - MS Access • Objektorientierte DBMS - Poet, Versant, ObjectStore • XML-DBMS - Tamino, eXcelon DBMS

  13. 1. Einleitung 1.6 Datenbankgrößen • Slolan Digital Sky Survey 40 TB Himmelsdaten (Bilder und Objektinformationen); • WalMart Data WareHouse 24 TB Produktinfos (Verkäufe, etc.) von 2900 Märkten; 50.000 Anfragen pro Wochen • US Libary of Congress 10-20 TB nicht digitalisiert • Indexierbares WWW (1999) 6 TB ca. 800 Millionen Dokumente • Microsofts TerraServer 3,5 TB unkomprimierte Bilder und Daten (komprimiert: ca. 1 TB) DBMS

  14. 1. Einleitung SAP R/3-Installation der Deutschen Telekom AG (1998) • Financial Accounting: Rechnungen, Lastschriften Zahlungsaufforderung, Mahnungen, etc. • 15 SAP R/3-Systeme; jedes - verarbeitet 200.000 Rechnungen, 12.000 Mahnungen, 10.000 Änderungen von Kundendaten pro Tag - bis zu jeweils 1000 Nutzer gleichzeitig • Über 13.000 Datenbanktabellen DBMS

  15. 1. Einleitung 1.7 Gegenwärtiger Entwicklungsstand • Unterstützung für spezielle Anwendungen - Multimedia-Datenbanken: Verwaltung multimedialer Objekte (Bilder, Audio, Video) - XML-Datenbanken: Verwalten semistrukturierter Daten - Verteilte Datenbanken: Verteilung von Daten auf verschiedenen Rechnerknoten - Förderierte Datenbanken: Multimedia-Datenbanken - Mobile Datenbanken: Datenverwaltung auf Kleinstgeräten (PDA, Handy) DBMS

  16. 2. Von der Realwelt zum ER-Modell 2.1 Die sogenannte Miniwelt (1) Um zu einem geeigneten Modell zu gelangen, muss zunächst durch eine Analyse der realen Welt ein zu modellierender Teilausschnitt dieser realen Welt definiert werden. Diesen Teilausschnitt nennt man auch Miniwelt. Beispiel: Die Firma Mustermann handelt mit PCs und Zubehör. Aus dem Produktkatalog der Firma Mustermann können Kunden per Telefon oder per Bestellkarte ein oder mehrere Artikel zur Bestellung aufgeben. Aufgrund der enormen Nachfrage nach PCs und Zubehör kann das Geschäftsaufkommen mittlerweile nicht mehr über Karteikarten abgewickelt werden. Somit entschließt man sich zur Einführung eines relationalen DBS und der dazu gehörigen Anwendungsprogramme. Beim Betrachten dieser Miniwelt erkennt man gewisse Objekte (sog. Entities) wie Artikelnamen, Kundennamen, Bestellungen usw. Zwischen diesen Objekten existieren Beziehungen (sog. Relationships), die bestimmte Abläufe oder Abhängigkeiten in der Miniwelt darstellen. DBMS

  17. 2. Von der Realwelt zum ER-Modell • Um zu einem Datenmodell zu gelangen, fasst man gleichartige Objekte und • gleichartige Beziehungen zu Klassen zusammen. Somit ergeben sich: • Objekttypen wie Artikel, Bestellung, Kunden und • Beziehungstypen wie Bestellposition, welche die Objekte in eine • gewisse Beziehung bringen. • Jedem Objekttyp oder Beziehungstyp sind gewisse Eigenschaften zu- • geordnet, wie z.B. dem Objekttyp Artikel die Eigenschaften Bezeichnung und • Preis. Man nennt diese Eigenschaften eines Objekttyps oder Beziehungstyps • auch Attribute. • Zur Darstellung von Objekten (Entities) und vor allem der Beziehungen • zwischen den Objekten dienen die sogenannten ER-Diagramme. DBMS

  18. 2. Von der Realwelt zum ER-Modell 2.2 Entität Ausgangspunkt des ER-Modells ist der Begriff der Entität. Eine Entität ist ein individuelles und identifizierbares Exemplar von Dingen, Personen oder Begriffen der realen oder der Vorstellungswelt. Die Entität wird durch Attribute näher beschrieben. Die Entitätsmenge (auch Entitytyp genannt) wird im ER-Modell durch ein Rechteck dargestellt. In dem Rechteck steht der Name der Entität. Der Name beschreibt die Entitätsmenge und steht im Singular. Die Entität (Entity) ist also das konkrete, individuell identifizierbare Objekt bzw. Exemplar von Dingen, Personen oder Begriffen der realen oder der Vorstellungswelt. KUNDE DBMS

  19. 2. Von der Realwelt zum ER-Modell Beispiele: Individuen: Mitarbeiterin Brecht, Student Weber, Kunde Meier Reales Objekt: Maschine 2, Raum 7, Artikel 4711.... Ereignis: Zahlung, Buchung, Mahnung, Start, Landung..... Abstraktes: Unterricht, Dienstleistung, Verarbeitungsart, Zahlungsart.... Der Kunde Meier ist also ein konkretes individuell identifizierbares Objekt, über den Informationen abgespeichert werden müssen. Er gehört zur Gruppe der Kunden. Man kann auch sagen, er ist vom Entitätstyp Kunde. Alle Informationen, die über Kunden abgespeichert werden, sind von der Struktur her gleich. DBMS

  20. 2. Von der Realwelt zum ER-Modell 2.3 Attribute Attribute beschreiben die Entitäten. Beispiel: Kunde (KdNr, KName, KAdresse,...) Man unterscheidet zwischen • identifizierenden Attributen, sog. Schlüssel (z.B.: KdNr, FirmenNr, PersNr...) • beschreibenden Attributen (z.B.: KName, MitarbeiterName, ArtikelBez, ... ) KdNr KUNDE KName DBMS

  21. 2. Von der Realwelt zum ER-Modell 2.4 Schlüssel: Eine minimale Menge von Attributen, deren Werte das zugeordnete Entity eindeutig innerhalb aller Entities seines Typs identifiziert. Man unterscheidet Primärschlüssel und Fremdschlüssel. 2.4.1 Primärschlüssel: Der Primärschlüssel wird benötigt, um Datensätze eindeutig zu identifizieren, also der Datensatz darf nicht doppelt (z.B. in einer Tabelle) vorkommen. Der Primärschlüssel ist in einem ER-Modell anhand des unterstrichenem Attributes zu erkennen. Die Merkmale eines Feldes mit Primärschlüssel sind: • Der Inhalt eines Feldes ist eindeutig • In jedem Datensatz müssen Daten stehen • Ein Primärschlüssel kann sich auch aus mehreren Feldern zusammensetzen DBMS

  22. 2. Von der Realwelt zum ER-Modell 2.4.2 Fremdschlüssel:Der Fremdschlüssel ist ein Attributwert, der einen Schlüsselwert in einer anderen Tabelle darstellt und somit als eindeutiger Verweis auf einen Datensatz in einer anderen Tabelle zeigt. Dies wird auch als referentielle Integrität benannt. Beispiel Fremdschlüssel: FremdschlüsselPrimärschlüssel Referentielle Integrität DBMS

  23. 2. Von der Realwelt zum ER-Modell 2.5 Beziehungen Die Wechselwirkungen und Abhängigkeiten zwischen Entitäten werden durch Beziehungen (relationship) dargestellt. Die Zusammenfassung gleichartiger Beziehungen zwischen Entitäten erfolgt durch Beziehungsmengen. Eine Beziehung wird nach Chen graphisch durch eine Raute dargestellt. In ihr steht der Name der Beziehung. Als Name sollte ein Verb gewählt werden. gibt auf DBMS

  24. 2. Von der Realwelt zum ER-Modell Die Beziehung wird durch eine Verbindungslinie, zwischen der die Raute steht, dargestellt. Zwischen den Entitätstypen KUNDE und BESTELLUNG besteht ein Beziehungstyp „gibt auf“. Wenn es einen solchen Beziehungstyp gibt, so kann (muss) eine konkrete Beziehung zwischen einem Paar der dazu gehörenden Entitäten bestehen 1 n Man liest: KUNDE gibt auf Bestellungen bzw. Bestellungen werden aufgegeben von Kunde. KUNDE gibt auf BESTELLUNG DBMS

  25. 2. Von der Realwelt zum ER-Modell 2.6 Die sogenannte Miniwelt (2) Drei der wichtigsten Objekttypen aus der Miniwelt der Firma Mustermann werden nun mit den dazugehörigen Attributen als Datenmodell dienen. Es handelt sich hierbei um die Objekte Kunden: alle Kunden, die Bestellungen aufgeben Bestellung: die offenen Bestellungen der Kunden Artikel: alle lieferbaren Artikel DBMS

  26. 2. Von der Realwelt zum ER-Modell ER-Modell: KdNr KUNDE KName 1 gibt auf n BestellNr BESTELLUNG Datum n Bestellposition Menge n Bez ARTIKEL ArtikelNr Preis DBMS

  27. 3. Vom Modell zur Datenbank 3.1 Umsetzung des ER-Modells in das relationale Datenmodell Das ER-Modell besitzt zwei grundlegende Strukturierungskonzepte: • Entitytypen und • Beziehungstypen Dem steht im relationalen Modell nur ein einziges Strukturierungskonzept – nämlich die Relation – gegenüber. Also werden sowohl Entitytypen als auch Beziehungstypen jeweils auf eine Relation (Tabelle) abgebildet. Zu den Entitytypen als auch zu den Beziehungstypen aus dem vorherigen ER-Modell werden nun Relationen gebildet. Hierbei werden die Spalten als Attribute (Felder) bezeichnet. Die Attribute müssen innerhalb einer Relation eindeutig benannt sein. Die Zeilen der Tabelle entsprechen den Tupeln der Relation. DBMS

  28. 3. Vom Modell zur Datenbank KUNDE : {KdNr, KName} BESTELLUNG : {BestellNr, Datum, KdNr} BESTELLPOSITION : {BestellNr, ArtikelNr, Menge} ARTIKEL : {ArtikelNr, Bez, Preis} ER-ModellRelationales Modell Entity = Objekt Relation = zweidimensionale Relationship = Beziehung Tabelle Entität Schlüsselattribut Schlüsselattribut Entität KdNr KUNDE KName DBMS

  29. 3. Vom Modell zur Datenbank 3.2 Normalisierung Unter Normalisierung versteht man das Aufteilen der Daten in Relationen in der Art und Weise, dass sie am Ende den Normalisierungsregeln entsprechen. Normalisierungsgründe • Minimierung redundanter Daten • Vermeidung von Änderungsanomalien • Reduzierung inkonsistenter Daten • Entwerfen von Datenstrukturen, die eine einfache Pflege erlauben DBMS

  30. 3. Vom Modell zur Datenbank 3.2.1 0.Normalform Die Normalformenlehre von Codd besagt, dass sich eine Relation nur dann in der ersten Normalform befindet, wenn der Wertebereich der Attribute elementar ist. DBMS

  31. 3. Vom Modell zur Datenbank 3.2.2 1.Normalform Eine Relation ist in der ersten Normalform, wenn alle Attribute nur atomare Werte beinhalten. Eindeutige Identifikation durch Primärschlüssel Redundanzfreiheit Da hier Anomalien in der 1NF auftreten können, ist es sinnvoll, die Relation in die 2NF zu überführen. DBMS

  32. 3. Vom Modell zur Datenbank 3.2.3 2.Normalform Eine Relation ist in der zweiten Normalform, wenn sie sich in der ersten Normalform befindet und jedes Nicht-Schlüssel-Attribut funktional vom Gesamtschlüssel abhängig ist, nicht aber von einzelnen Schlüsselteilen. Vermeidung der Anomalien der 1NF durch Aufteilung der Entitäten in seperate Tabellen. DBMS

  33. 3. Vom Modell zur Datenbank Tabelle Lehrer Wie man sieht, entfallen somit die Zeilen mit unterschiedlichen Kursen derselben Lehrer. Die Kurse wurden in eine andere Tabelle ausgelagert, da sie nicht voll funktional von dem Schlüsselattribut PNR abhängen. Tabelle Kurse DBMS

  34. 3. Vom Modell zur Datenbank Mit den Tabellen Lehrer und Kurse besitzt man nun zwei Tabellen, die nichts miteinander zu tun haben und somit nicht mehr den Zustand der 1NF genügen. Es muss also eine Tabelle geschaffen werden, die beide Tabellen verbindet, jedoch die Redundanzen der Tabelle in der 1NF vermeidet. PNr wurde zur Herstellung der referentiellen Integrität als Fremdschlüssel in die Tabelle Kurse eingefügt. DBMS

  35. 3. Vom Modell zur Datenbank 3.2.4 3.Normalform Beim Betrachten der Tabelle Kurse in der 2NF treten folgende Anomalien auf: • Bereichsnummer hat mehrmals den selben Wert, während sich der Wert des Primärschlüssels ändert • Bereichsnamen treten mehrfach auf und müssten Änderungen in mehreren Datensätzen geändert werden transitive Abhängigkeit Transitive Abhängigkeit: Abhängigkeit zwischen nicht Schlüsselattributen DBMS

  36. 3. Vom Modell zur Datenbank Codd erkannte das Problem oder möglichen Schwachpunkt der 2NF und entwickelte die 3NF. Eine Relation ist in der dritten Normalform, wenn sie sich in der ersten und in der zweiten Normalform befindet. Ferner sind keine funktionalen Abhängigkeiten zwischen Attributen erlaubt, die nicht als Schlüssel definiert sind. DBMS

  37. 3. Vom Modell zur Datenbank 3.2.5 Normalisierte Tabellen: Tabelle Lehrer: Tabelle Kurse: Tabelle Bereich: DBMS

  38. 4. Schlussbetrachtung Jede in der Datenbank gespeicherte Information wird in solchen „einfachen“ Tabellen festgehalten. Eine Tabelle hat immer einen fest strukturierten Aufbau aus Zeilen (Tupeln) und Spalten (Attributen), der einmalig beim Anlegen der Tabelle definiert wird und sich während der gesamten Lebensdauer der Tabelle nur mittels DDL-Befehlen ändern kann. Zur Kommunikation mit dem DBMS wird dem Endbenutzer in der Regel ein Programm zur Verfügung gestellt, welches mit dem DBS kommuniziert. Dieses Anwendungsprogramm bildet die Schnittstelle zwischen dem Benutzer und dem DBMS. DBMS

More Related