Übungen zu Datenbanksysteme

Ähnliche Dokumente
Redundanz: Dieselben Informationen werden doppelt gespeichert.

Entwurf von Datenbanken

9. Einführung in Datenbanken

Datenbanken Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Relationale Datenbanken Datenbankgrundlagen

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Refactoring relationaler Datenbank. Shaoke Wu

Einführung in Datenbanken

Software-Engineering und Datenbanken

Informatik II Datenorganisation Datenbanken

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf

Datenbanken in der Praxis. Dr. Frank Seifert

Einführung. Kapitel 1 2 / 508

Teil VI. Datenbanken

Inf 12 Übungsarbeit Lösungen /pl

Inhaltsverzeichnis. 1. Fragestellung

Klausur Datenbanksysteme

Datenbanken (WS 2015/2016)

Übungen zu Datenbanksysteme

Fundamentals of Software Engineering 1

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Datenbankentwurf. Entwicklungsprozess Anforderungsanalyse & Miniwelt

Inhalt. 2.1 Datenbankentwurf. 2.2 Relationales Modell. 2.3 Relationale Entwurfstheorie. 2.4 Relationale Algebra. 2.5 Structured Query Language (SQL)

Einführung in Datenbanksysteme. H. Wünsch

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Kapitel DB:II. II. Datenbankentwurf und Datenbankmodelle. Entwurfsprozess Datenbankmodelle

Willkommen zum DBS I Praktikum!

Datenbanken. Einführung. Tobias Galliat. Sommersemester 2012

Datenbanken: ER-Modell

ER-Modell. Entity-Relationship-Model

Datenbanken I - Einführung

Einteilung von Datenbanken

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Vorlesung Informatik II

Die Grundbegriffe Die Daten Die Informationen

Datenbanken. Dateien und Datenbanken:

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Teil 7: Einführung in den logischen Entwurf

Datenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 4 -

Vorlesung Datenbanken II A Klausur

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Christian-Weise-Gymnasium Zittau Fachbereich Informatik M. Hans. Datenmodellierung 1. Inhaltsverzeichnis

Kapitel 04 Strukturiertes Entity-Relationship-Modell. 4 Strukturiertes Entity-Relationship- Modell

Software-Engineering und Datenbanken

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

Einführung. Informationssystem als Abbild der realen Welt

PRÜFUNG. Grundlagen der Softwaretechnik

Datenbanken. Prof. Dr. Bernhard Schiefer.

PRÜFUNG. Grundlagen der Softwaretechnik

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

Gliederung Datenbanksysteme

2. Datenmodellierung mit ERM. Motivation für Datenmodellierung. Begriffsklärung. Kardinalität/Komplexität von Beziehungstypen

Übungen zu Modellierung verteilter Systeme

Datenmanagement in Android-Apps. 16. Mai 2013

Datenbankmodelle 1. Das Entity-Relationship-Modell

Relationale Datenbanken Kursziele

Abschlussprüfung Sommer 2004 Fachinformatiker/-in (Fachrichtung Anwendungsentwicklung) Ganzheitliche Aufgabe II Kernqualifikation

Einführung in das Entity-Relationship-Modell

Software Engineering Übung 4 Architektur, Modulentwurf

Kapitel 3: Datenbanksysteme

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

Das Entity-Relationship-Modell (ERM)

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

Übung 4. Musterlösungen

Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht)

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1

Kap 4: Abbildung des E/R Modells auf das relationale Modell. Entity steht in Bez. Anzahl der a A r b B

Themen. M. Duffner: Datenbanksysteme

Einführung in Datenbanken

Datenbanksysteme II. Vorlesung: PD Dr. Peer Kröger

Kapitel 8: Physischer Datenbankentwurf

Definition Informationssystem

Architekturen im DB-Umfeld

Allgemeines zu Datenbanken

Übung Datenbanksysteme

Relationale Datenbanken Kursziele

Das Entity-Relationship-Modell

Benutzerhandbuch. Produktvorstellung. Grundvoraussetzungen. Installation. AFS Orderman Schnittstelle. AFS Orderman Schnittstelle Benutzerhandbuch 1

Datenbanken für Online Untersuchungen

EDV-GESTÜTZTES ENTWERFEN, BERECHNEN UND KONSTRUIEREN IM BAUINGENIEURWESEN Prof. Dr.-Ing. Klaus Wassermann MODULPRÜFUNG

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten:

Vom Datenmodell zur Datenbank

1 Übungen zu Datenbank-Kategorien

Datenbanken. Allg. Einführung in Datenbanken 1. Ich kenne Datenbanken. Wo werden Datenbanken eingesetzt. Welchen Zweck haben Datenbanken.

Kapitel 2 Die Datenbank Buchausleihe Seite 1

Analysemuster. Marc Monecke

Datenbanken. Günter M. Goetz 1. Inhalt der Veranstaltung. Konzept und Architektur von Datenbanksystemen Datenbankentwurf Datenbankmodelle Schwerpunkt:

Kapitel 2 Business Process Model and Notation (BPMN) II

Transkript:

Institut für Informatik Universität Osnabrück, 21.04.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 27.04.2009, 12:00 Uhr Übungsablauf Übungen zu Datenbanksysteme Sommersemester 2009 Blatt 1 Es wird 10 Aufgabenblätter geben, die jeweils dienstags am Ende der Vorlesung ausgegeben werden. Da in diesem Jahr wegen der Vielzahl der Teilnehmer keine Testate stattfinden, sind die Aufgaben schriftlich in Dreier-Teams zu lösen. Die Lösungen sind bis zum Montag der Folgewoche vor 12 Uhr in die entsprechenden Kästen in der Mathematik (Gebäude 69, Erdgeschoss) einzuwerfen. Die Abgabe erfolgt getrennt nach Übungsleiter. Die korrigierten Lösungen werden in der selben Woche in den Übungen zurück gegeben und besprochen. Zeichnungen sind grundsätzlich mit dem Rechner anzufertigen. Dazu und zum Lösen der Aufgaben steht Ihnen der CIP-Raum 31/145 zur Verfügung. Aufgabe 1.1 (20 Punkte) Erläutern Sie kurz die folgenden Begriffe und legen Sie anhand eines Beispiels dar, wie es dazu kommen und wie ein Datenbanksystem Abhilfe schaffen kann. 1. Datenredundanz 2. Dateninkonsistenz 3. Mehrbenutzerprobleme 4. Sicherheitsprobleme 1. Datenredundanz bedeutet, daß dieselben Daten an zwei (oder mehr) verschiedenen Stellen unabhängig voneinander vorhanden sind. Beispiel: In einer Datei stehen alle Studenten mit ihren Daten drin, die jetzt Informatik B hören. In einer anderen Datei stehen alle Studenten mit ihren Daten drin, die jetzt DBS hören. Wenn ein Student beide LV besucht, dann sind seine Daten redundant. 2. Dateninkonsistenz bedeutet, daß aufgrund von Redundanz zwei (oder mehr) verschiedene Versionen von Daten existieren, die eigentlich identisch sein sollten. Beispiel: In einer von zwei LV wurden die Daten des Studenten falsch erfaßt und in der anderen richtig. Inkonsistenz ist deutlich von Integrität zu trennen, denn darunter versteht man einerseits, daß die Attributwerte der Instanzen einer Entity bestimmten Regeln entsprechen und andererseits, daß Veränderungen an einer Instanz (insbesondere deren Löschung) aufgrund der Beziehungen im DBS Veränderungen an Instanzen anderer Entities (oder gar deren Löschung) hervorrufen.

3. Mehrbenutzerprobleme entstehen, wenn ein Benutzer beginnt, Daten zu editieren die schon von einem anderen Benutzer editiert werden, und zwar bevor der zeitlich erste Benuzter seine Änderungen gespeichert hat. Wenn beide Benutzer anschließend die Daten wieder in das DBS zurückschreiben, gehen die Änderungen desjenigen verloren, der als erster schreibt ( lost update ). Beispiel: Der Dozent einer LV erweitert das Vorlesungsskript um ein Kapitel, während der Übungsleiter einen Druckfehler beseitigt. 4. Sicherheitsprobleme enstehen dadurch daß mehrere Benutzer ein DBS benutzen und nicht jeder Benutzer Zugriff auf alle Daten haben soll. Dabei gibt es zwei Aspekte: Die Art des Zugriffs (lesend/schreibend) soll für jeden Benutzer bzw. jede Benutzergruppe individuell regelbar sein. Nicht alle Benutzer(gruppen) sollen lesenden Zugriff auf die Gesamtheit der gespeicherten Daten haben. Beispiel: Jeder Student darf bei einem Klausurergebnis die Matrikelnummern und die vergebenen Noten einsehen. Der Blick auf die zugehörigen Namen der Studenten bleibt aber verwehrt. Nur der Dozent der LV darf die Noten schreibend ändern. Aufgabe 1.2 (10 Punkte) Erklären Sie den Unterschied zwischen physischer und logischer Datenunabhängigkeit. In welchem Umfang werden beide in einem Datenbanksystem erreicht? Durch die Unterteilung des DBS in drei Ebenen (extern, logisch und intern) wird (mit Hilfe von klar definierten Schnittstellen) die Verbindung der einzelnen Teile gelockert. 1. Physische Datenunabhängigkeit: Die Art und Weise, auf die die Daten gespeichert werden (interne Ebene), kann verändert werden, ohne daß das Datenbankschema (logische Ebene) verändert werden muß. Da die logische Ebene (im Gegensatz zum konzeptuellen Schema) die Implementation berücksichtigt, kann die Einhaltung der Schnittstelle bei einer veränderten Speicherstruktur uneffizient sein. In den meisten heutigen DBS wird die physische Datenunabhägigkeit komplett erreicht. 2. Logische Datenunabhängigkeit: Veränderungen im Datenbankschema (logische Ebene) sollen möglich sein, ohne daß die darauf basierenden Anwendungen (externe Ebene) angepaßt werden müssen. Da jede Anwendung eine spezielle Sicht auf die Daten ermöglicht und da diese Sicht ein Ausschnitt aus der Gesamtsicht ist, ist es fast unmöglich, die Gesamtsicht (das DBSchema) ohne Konsequenzen für die Teilsichten zu ändern. Selbst kleine Änderungen der Entity- oder Relationship-Typen müssen unter Effizienzverlusten nach außen verborgen werden. Deshalb ist die logische Datenunabhängigkeit in heutigen Systemen kaum erreicht. Aufgabe 1.3 (15 Punkte) Erklären Sie die Begriffe 1. Entity und Entity-Typ, 2

2. Attribut und Attribut-Wert, 3. Relationship und Relationship-Typ anhand von Beispielen. Ein Entity-Typ (z.b. Studenten) wird beschrieben durch einen Satz von Eigenschaften und Merkmalen, den sogenannten Attributen (z.b. Studienfach). Jeder konkrete Gegenstand/jedes gedanklich existierende Konzept ist eine Entity (z.b. Erika Musterstudentin). Sie ist eine Instanz oder Ausprägung eines bestimmten Entity-Typen, wenn sie sich durch die Attribute des Typen charakterisieren läßt. Die Attribute einer Entity nehmen konkrete Attribut- Werte an (z.b. das Attribut Studienfach den Wert Informatik ), deren Kombination für jede Entity einzigartig ist. Dadurch werden die einzelnen Entities wohlunterscheidbar. Die Entity-Typen heissen wie die Mehrzahl der Gegenstände, die sie zusammenfassen (z.b. Student Erika ist eine Instanz von Studenten). Zwischen den einzelnen Entities verschiedener oder gleicher Entity-Typen bestehen Relatonships oder Beziehungen. Bisher kennen wir nur binäre Beziehungen. Diese (meist gerichteten) Relationships bestehen jeweils aus einer Entity von der die Beziehung ausgeht und einer Entity, bei der die Beziehung endet (z.b. Erkia Musterstudentin hört Datenbanken). Dazwischen steht mindestens ein Verb, das die Art der Beziehung ausdrückt. Genauso, wie die Entity-Typen die Entities mit gleichen Merkmalen zu abstrakten Klassen zusammenfassen, fassen die Relationship-Typen alle Realtionships mit Anfangs-Entities des gleichen Typs und End-Entities des gleichen Typs, die von derselben Art sind (also mit demselben Verb dazwischen) zusammen. Die Art der Beziehung legt dann den Namen des Relationship-Typen fest - allerdings in der 3. Person Plural (z.b. Studenten hören Vorlesungen). 3

Aufgabe 1.4 (55 Punkte) Erstellen Sie zu folgendem Anwendungsbereich ein möglichst komplettes relationales Datenmodell mit Charakterisierung der Beziehungen in (min, max)-notation. Es sind nicht unbedingt alle Enity- Typen und Attribute aufgeführt. Sie sollten diese ergänzen, falls das für das Modell nötig und sinnvoll ist. In einem Restaurant existieren 27 Tische, die je nach Besucherandrang so auf die 5 Tisch-Kellner verteilt werden, dass keiner von ihnen weniger als drei Tische, aber auch nicht mehr als sieben bedient. Außerdem gibt es drei Kellner, die nur für die Getränke zuständig sind. Jeder Mitarbeiter wird mit seiner Adresse (Straße, Hausnummer, PLZ, Ort) und einem Gehalt (bei Tischkellnern) bzw. Stundenlohn (bei Getränke-Kellnern) in einer Datenbank gespeichert. Für jeden Tisch wird eine Liste von Bestellungen erfasst. Jeder Tisch hat eine feste Anzahl Sitzplätze und eine Liste von Bemerkungen bzgl. seines Standortes (Fensterplatz, Nichtraucherbereich o.ä.). Jede Bestellung besteht aus der Nummer der Speise, dem Preis, dem Zeitpunkt der Bestellung und einer Dringlichkeitsstufe. Alle Speisen und Getränke sind auf der Speisekarte mit einer Nummer versehen. Die Karte enthält außerdem je einen Titel und eine kurze Beschreibung zu jedem Eintrag. Um die Reservierungen verwalten zu können, gibt es zusätzlich ein Liste von Stammgästen (Name, Adresse, Kreditkartennummer) mit je einem persönlichen Lieblingstisch. Welche der hier aufgeführten verbal beschriebenen Tatsachen können Sie nicht in Ihr Modell aufnehmen? Begründen Sie Ihre Aussage! Pers.-Nr. Kellner (1,*) wohnen Straße PLZ Ort Adressen is-a (1,*) wohnen Stundenl ohn Getränke- Kellner Beschrei b. Eigenschaften (1,*) besitzen Tisch-Kellner (3,7) bedient Nummer (0,*) (1,*) Gehalt Tische Anz. Plätze bevorzugen (0,*) reservieren (0,1) (0,1) Stammgäste is-a Gäste Kreditkart ennr Name Titel Speisen Nr. (0,*) (1,*) enthalten bestellen Bestellungen Beschrei b. Preis Anzahl Bestellnr. Zeitpunkt Priorität Folgende Tatsachen können in einem ER-Diagramm nicht modelliert werden: 4

Man kann nicht modellieren, daß es 27 Tische gibt. Man kann nicht modellieren, daß es fünf Tischkellner gibt. Die Zuordnung zwischen Tischen und Kellnern läßt sich nur in der Form jeder Tisch wird - wenn er besetzt ist - von genau einem Kellner betreut modellieren. Welcher Kellner genau welchen Tisch betreut (und insbesondere die Dynamik dieser Zuordnung im Laufe eines Abends) kann man im ER-Diagramm ebenfalls nicht modellieren. Laufkundschaft, die ohne Reservierung an einem Tisch Platz nimmt und etwas bestellt, taucht nur über die Bestellung in der DB auf. Anders läßt sie sich nicht erfassen (vermutlich wäre ihr das auch nicht recht). Alle vier Tatsachen sind Bestandteil einer Ausprägung und nicht Teil des Modells. 5