Dies ist eine alte Version des Dokuments!
Aufgabe 1
Gegeben sind jeweils zwei Entitytypen und ein Beziehungstyp. Geben Sie die Komplexität des Beziehungstyps an.
Entity-Typ 1 | Entity-Typ 2 | Beziehung |
Vater | Tochter | hat |
Fuß | Zehe | hat |
Onkel | Neffe | hat |
Schüler | Lehrer | hat Unterricht |
Person | Personalausweis | besitzt |
Variable | Block | ist definiert in |
Bruder | Schwester | hat |
Ort | Ort | Straßenverbindung |
Tutorengruppe | Tutorensprecher | wählt |
Überlegen Sie bei jedem Beispiel, ob jedes Entity in einer Beziehung stehen muss. Wenn Ihnen Sonderfälle einfallen, dann nennen Sie diese explizit.
Aufgabe 2
In einer Datenbank soll die gesamte Sommerolympiade erfasst werden (Sportler, Länder, Wettkämpfe, Ergebnisse, usw.) Geben Sie jeweils 4 Beispiele für eine n-m-Beziehung, 4 Beispiele für eine 1-n-Beziehung und 2 Beispiele für eine 1-1-Beziehung an. Überlegen Sie bei jedem Beispiel, ob jedes Entity in einer Beziehung stehen muss.
Aufgabe 3
Gegeben sind jeweils zwei Entitytypen und ein Beziehungstyp. Geben Sie die Komplexität des Beziehungstyps an.
Entity-Typ 1 | Entity-Typ 2 | Beziehung |
Vater | Sohn | hat |
Oma | Enkel | hat |
Person | Abdruck Rechter Daumen | hat |
Funktion | Ableitungsfunktion | gehört zu |
Überlegen Sie bei jedem Beispiel, ob jedes Entity in einer Beziehung stehen muss. Wenn Ihnen Sonderfälle einfallen, dann nennen Sie diese explizit.
Aufgabe 4
Nennen Sie jeweils 3 Beziehungen aus dem Bereich Technik zwischen Entity-Typen von der Komplexität 1:1, 1:n, n:m. Überlegen Sie bei jedem Beispiel, ob jedes Entity in einer Beziehung stehen muss.
Aufgabe 5
Gegeben sind jeweils zwei Entitytypen und ein Beziehungstyp. Geben Sie die Komplexität des Beziehungstyps an.
E-Typ 1 | E-Typ 2 Beziehung | |
Mann | Frau | ist verheiratet mit |
Enkel | Großvater | ist … von |
Abdruck rechter Daumen | Person | gehört zu |
Schüler | Profil | belegt |
Bundesligamannschaft | Bundesligamannschaft | spielt gegen in der Runde |
Schüler | Abiturschnitt | erreicht |
Schule | Direktor | hat als |
Natürliche Zahl | Natürliche Zahlist echter Teiler von | |
Autor Buchtitel | ist … von … |
Überlegen Sie bei jedem Beispiel, ob jedes Entity in einer Beziehung stehen muss. Wenn Ihnen Sonderfälle einfallen, dann nennen Sie diese explizit.
Aufgabe 6
Gegeben sind jeweils zwei Entitytypen und ein Beziehungstyp. Geben Sie die Komplexität des Beziehungstyps an.
E-Typ 1 | E-Typ 2 | Beziehung |
Person | Person | ist Tochter von |
Person | Person | ist Bruder von |
Fahrgestellnummer | Auto | gehört zu |
Schüler | Leistungskurs | belegt |
Variable in JAVA | Datentyp in JAVA | ist vom |
Schüler | Punkte in Informatik | erreicht |
Lehrer | Schule | unterrichtet an |
Zahl | Zahl | ist ein Vielfaches von |
Zahl y | Zahl x | ist Funktionswert von … |
Überlegen Sie bei jedem Beispiel, ob jedes Entity in einer Beziehung stehen muss. Wenn Ihnen Sonderfälle einfallen, dann nennen Sie diese explizit.
Aufgabe 7
Die Computerzubehörfirma Rauchchip möchte ihre Verwaltung auf EDV umstellen. Sie ver¬kauft ein Sortiment von Artikeln, die sie von verschiedenen Herstellern bezieht. Außerdem hat sie einen bestimmten Kundenkreis, der bei ihr Bestellungen aufgibt. Eine Bestellung kann natürlich mehrere Artikel umfassen. Derselbe Artikel kann oft von mehreren Großhändlern bezogen werden, und ein Hersteller liefert natürlich meist mehr als einen Artikel.
Erstellen Sie im Entity-Relationship-Modell ein sinnvolles Datenmodell für die Firma, das Datenredundanz vermeidet. Wählen Sie geeignete Entities mit notwendigen Attributen und geben Sie die zwischen den Entities bestehenden Beziehungen mit ihrem Komplexitätsgrad an.
Aufgabe 8
Für eine Schülerbücherei ist ein Entity-Relationship-Modell zu erstellen. Es gibt Schüler, Kurse, Buchtypen und Bücher (z.B. gibt es den Buchtyp „Metzeler Physik“ und das Buch „Metzeler Physik Nr.89“).
Erstellen Sie geeignet erscheinende Attribute für diese Entitytypen und Beziehungen zwischen ihnen, so dass mit Hilfe dieses Datenmodells der normale Ausleihbetrieb funktioniert (d.h. Ausleihen, Zurückgeben, Mahnungen erstellen, neue Bücher und Buchtypen aufnehmen und löschen, Buchbestand überprüfen, Ranking der ausgeliehenen Bücher für ein bestimmtes Jahr). Kennzeichnen Sie die Attribute, die den Primärschlüssel bilden sollen.
Zusätzliche Aufgaben:
- Überlegen Sie, was sich ändert, wenn man das Buchranking weglässt. Debattieren Sie Vor- und Nachteile beider Lösungen.
- Über einen Buchtyp erfasst man normalerweise mehr als den Titel. Zusätzlich soll jetzt gespeichert werden: Autor (beachten Sie, dass viele Bücher mehrere Autoren haben können), ISBN-Nummer, Verlag, Erscheinungsjahr, Klassifikation (Roman, Sachbuch, usw.), Kurzbeschreibung.Ändern Sie Ihr ER-Modell so ab, dass diese Zusätze berücksichtigt werden und Redundanz möglichst vermieden wird.
- Informieren Sie sich, wie eine ISBN-Nummer aufgebaut ist.
- Informieren Sie sich, was alles über ein Buch in einem kommerziellen Biblio-theksprogramm gespeichert wird.
- Informieren Sie sich über ein professionelles Qualifizierungsschema für Bücher.
- Erstellen Sie ein Ranking der größten drei Bibliotheken in der Welt, in Deutschland. Wie viele Bücher besitzt die Mediothek?
Aufgabe 9
Es werde folgender Ausschnitt aus einer Krankenhausverwaltung betrachtet:
- Es gibt Patienten, von denen man zwingend Name, Vorname und Geburtsdatum speichert, eventuell auch die Adresse mit Telefon-Nummer und die Angabe, ob sie Privatpatienten sind oder nicht.
- Es gibt Ärzte mit Name und Vorname. Die meisten Ärzte sind Fachärzte mit einem oder mehreren Spezialgebieten.
- Es gibt Abteilungen, die natürlich einen Namen sowie eine eigene Telefon-Nummer besitzen. Jede Abteilung wird von einem Arzt geleitet, wenn der Posten im Moment nicht gerade vakant ist.
- Patienten belegen Betten in Abteilungen für einen gewissen Zeitraum in einem bestimmten Zimmer. Zur Vereinfachung nehmen wir an, dass keine Zimmerwechsel stattfinden. Patienten können in mehrere Abteilungen nacheinander aufgenommen werden (in jede aber nur einmal).
- Ärzte behandeln Patienten. Für die Behandlung eines Patienten können auch mehrere Ärzte zuständig sein.
Entwerfen Sie ein Entity-Relationship-Modell des oben geschilderten Krankenhauses.
Aufgabe 10
Ein geografisches Informationssystem soll in Form einer Datenbank entstehen. Erfasst werden sollen Staaten (Name, Größe in km2, Einwohnerzahl in Mio, Flagge), Flüsse (Name, Länge), Städte (Name, Einwohnerzahl in Tausend, Internationaler Flughafen ja/nein), Staatsoberhaupt (Name, Vorname, Geburtsdatum, männlich?, Amtsantrittsdatum).
- Städte liegen in Staaten (nur in einem), Staaten besitzen genau eine Hauptstadt.
- Flüsse fließen durch Staaten, Städte liegen an Flüssen, Flüsse sind (eventuell) Nebenflüsse anderer Flüsse.
- Alle Städte mit internationalem Flughafen haben eine bestimmte Entfernung untereinander.
- Jeder Staat hat nur ein Staatsoberhaupt, es kann aber sein, dass mehrere Staaten das¬selbe Oberhaupt (z.B. die britische Queen) haben.
Erstellen Sie ein ER-Modell für diese geografische Datenbank.
Aufgabe 11
Eine Fluggesellschaft ist mit dem ER-Modell zu beschreiben.
Eine Fluggesellschaft hat Angestellte und Passagiere. Von beiden sollen Name, Vorname, Geschlecht, Geburtsdatum und Adresse gespeichert werden, bei den Passagieren noch zusätzlich, ob Raucher oder Nichtraucher, bei den Angestellten Beruf und Gehaltsklasse. Ist der Angestellte Pilot, dann sollen noch seine Flugstunden und die Art seiner Lizenz erfasst werden. Bei den Flugzeugen der Gesellschaft ist Hersteller, Typ, Anzahl der Sitze, Reichweite, Seriennummer, Flugstunden und letztes Wartungsdatum zu erfassen. Beachten Sie, dass eine Fluggesellschaft durchaus mehrere Maschinen des gleichen Typs haben kann. Piloten dürfen nur bestimmte Flugzeugtypen fliegen. Die Gesellschaft führt Flüge durch, für die Piloten und Flugzeuge eingeteilt werden müssen. Passagiere buchen Flüge. Achten Sie darauf, eindeutige Schlüsselattribute zu verwenden, bzw. einzuführen. Führen Sie weitere, Ihnen sinnvoll erscheinende Attribute Ihrer Entities oder Relations ein. Geben Sie die Komplexität der Beziehungen an.
(a) Was versteht man unter Dateninkonsistenz? Erläutern Sie den Begriff an einem selbst gewählten Beispiel an der Fluggesellschaft.
(b) Entwickeln Sie das ER-Modell für die Fluggesellschaft.
© Welche drei Ebenen unterscheidet man bei einem DBMS (mit kurzer Erläuterung)?
(d) Welche Ebene des DBMS ist bei den folgenden Ebenen primär betroffen (es kann auch keine betroffen sein) ?
(1) In der Datenbank sollen auch noch die Ziele der Fluggesellschaft mit der Entfernung erfasst werden.
(2) Die Gesellschaft kauft zusätzlich drei Airbus A320.
(3) Die Gesellschaft erstellt ein Internet-Programm, das Internetnutzern alle Flüge mit Datum und Ziel anzeigt und die Möglichkeit bietet, Online zu buchen.
(4) Um ein schnelles Suchen nach bestimmten Passagieren zu ermöglichen, wird im DBMS-Programm ein schneller Hash-Algorithmus implementiert.
(5) Bei den Flugzeugen soll zusätzlich noch das Herstellungsdatum und damit das Alter der Maschinen erfasst werden.
Aufgabe 12
Ein Reisebüro verkauft Urlaube auf verschiedenen Inseln. Die Urlaube beginnen immer Samstags und es können auch nur ganze Wochen gebucht (1 Woche, 2 Wochen, usw.) werden. Dazu reservieren sie bei einer Reihe von Flügen Plätze. Diese können in verschie¬denen Flughäfen in Deutschland beginnen. Auf den Inseln gebe es jeweils nur einen Flughafen. Weiterhin reserviert das Reisebüro Plätze in Hotels auf den Inseln auch jeweils wochenweise (mehrere Hotels auf einer Insel). Eine Reservierung könnte so aussehen:
Tel.: 06652-12345|
Ziel: Teneriffa |
Hinflug: 01.04.00 (Woche 13) Flughafen: Düsseldorf FlugNr.: LH 745 |
Rückflug: 15.04.00 (Woche 15) Flughafen: Düsseldorf FlugNr.: LH 638 |
Hotel: Le Purus Elendos, Puerto de la Cruz Kategorie 4 |
Die Firma hat viele Stammkunden. Kommt ein Interessent, dann muss aus der EDV erkennbar sein, ob es noch einen Hinflugplatz zum gewünschten Termin, einen Rückflugplatz nach Ende der gewünschten Wochen und ein Hotelzimmer für den gewünschten Zeitraum gibt. Der Rückflug soll immer zum Startflughafen führen. Als Not-Alternative wäre es denkbar, dass das Hotel nach Wochenfrist gewechselt wird. Entwerfen Sie ein Entity-Relationship-Modell für das oben geschilderte Buchungsproblem.
Aufgabe 13
Ein Supermarkt soll mit einer Datenbank erfasst werden:
- Es gibt Angestellte, für die man Name, Vorname, Geb.-Datum, Geschlecht und Gehalt speichern will. Jeder Angestellte gehört eindeutig zu einer Abteilung.
- Unter den Angestellten gibt es Abteilungsleiter, die jeweils genau eine Abteilung leiten. Für sie speichert man zusätzlich ihr Ernennungsdatum und ihre Diensttelefon-Nummer.
- Es gibt Abteilungen, für die man sich den Namen und ihre Größe (in m2) merkt. Außerdem speichert man die Produktkategorien, wobei eine Abteilung auch mehrere Kategorien umfassen kann. Bsp.: Name „Konfektion“ Kategorien „Herren-Kleidung“, „Damen-Kleidung“.
- Es gibt Artikel mit Nummer, Name, Bestand und Verkaufspreis. Einige Artikel werden in mehreren Abteilungen verkauft.
- Es gibt Lieferanten (Name, Adresse), die mehrere Artikel liefern. Ein Artikel kann aber auch von mehreren Herstellern bezogen werden, wobei auch der Einkaufspreis, der bei verschiedenen Herstellern unterschiedlich sein kann, erfasst wird.
Erstellen Sie für den Supermarkt ein ER-Modell.
Aufgabe 14
Eine Firma soll mit einer Datenbank erfasst werden:
- Es gibt Angestellte, für die man Name, Vorname, Geb.-Datum, Geschlecht und Gehalt speichern will. Jeder Angestellte gehört eindeutig zu einer Abteilung.
- Unter den Angestellten gibt es Abteilungsleiter, die jeweils genau eine Abteilung leiten. Für sie speichert man zusätzlich ihr Ernennungsdatum und ihre Diensttelefon-Nummer.
- Eine Abteilung hat einen Namen und eine Nummer.
- Es gibt Projekte mit Name, Nummer und Startdatum.
- Angestellte können in Projekten mitarbeiten und zwar durchaus in mehreren. Es gibt zu jedem Projekt einen Projektleiter, wobei ein Angestellter auch mehrere Projekte leiten kann.
Erstellen Sie für die Firma ein ER-Modell.
Aufgabe 15
Das Fitness-Studio Muskelschwund will seine Verwaltung auf EDV umstellen. Deshalb lässt der Chef seinen computererfahrenen Angestellten Jim Muskprotz eine Tabelle entwerfen, in der alle relevanten Daten des Studios eingetragen werden. Hier der erste Entwurf der Tabelle mit einigen Musterdaten.
KundenNr | KuName | KuVorname | KursNr | Kursbez. | Kurszeit | TrainerNr | Trainername | KuKlassifizierung | ||
100 | Meyer | Martin | 23 | Spinning | Do, 17.00 Uhr | 2 | Muskprotz | Anfänger | ||
101 | Schulze | Sarah | 23 | Spinning | Do, 17.00 Uhr | 2 | Muskprotz | Anfänger | ||
102 | Müller | Martina | 24 | Spinning | Mi, 19.00 Uhr | 3 | Stiernack | Fortgeschritten | ||
103 | Müller | Manfred | 25 | Tae-Bo | Di, 18.00 Uhr | 4 | Breitkreuz | Profi | ||
100 | Meyer | Martin | 25 | Tae-Bo | Di, 18.00 Uhr | 4 | Breitkreuz | Fortgeschritten | ||
102 | Müller | Martina | 26 | Bodyforming | Fr, 19.00 Uhr | 2 | Muskprotz | Anfänger | ||
104 | Unsport | Uwe | 24 | Spinning | Mi, 19.00 Uhr | 3 | Stiernack | Anfänger |