Übungen Teil 3 (Datenbank-Design Autowerkstatt ERD Kunde gehört KFZ hat Reparatur kundennr {pk} name vorname adresse strasse plz ort telefonnr fahrgestllnr {pk} kennzeichen marke rechnungsnr {pk} datum km_stand Arbeiten preis 2 Autowerkstatt Datenbankschema Transformation des vorigen Entity-Relationship-Diagramms in ein Datenbankschema Erstellen der SQL-Anweisungen zum Erzeugen der Datenbankstruktur DbSysIUebung3tex,v,2,January 4, 2006 at 22:48:28 CET create table Kunde ( kundennr dec ( 6 primary key, name varchar (40 not null, vorname varchar ( 4 0, strasse varchar ( 4 0, p l z char ( 0, o r t varchar ( 4 0, t e l e f o n : varchar (20 create Listing : Kunde Listing 2: KFZ table KFZ( f a h r g e s t e l l n r char (5 primary key, kennzeichen varchar ( 2, marke varchar ( 2 0, kundennr dec ( 6 references Kunde ( kundennr
Listing 3: Reparatur create table Reparatur ( rechnungsnr char ( 9 primary key, datum date, f a h r g e s t e l l n r char (5 references KFZ( f a h r g e s t e l l n r Listing 4: Arbeiten create table Arbeiten ( rechnungsnr char ( 9 references Reparatur ( rechnungsnr, LfdNr dec ( 2, varchar (20 not null, p r e i s money, primary key ( rechnungsnr, LfdNr 3 Autowerkstatt SQL Formulieren Sie SQL-Anweisungen für die folgenden Anfragen an die Datenbank der Autowerkstatt: Bestimmen Sie die Anzahl der Werkstattbesuche eines bestimmten, vom n her bekannten Kunden 2 Liste mit der Reparaturhäufigkeit der verschiedenen Automarken 3 Liste mit dem Umsatz je Kunde mit Kundennr und 4 Liste mit den mittleren Reparaturkosten je Automarke DbSysIUebung3tex,v,2,January 4, 2006 at 22:48:28 CET 5 Liste der Kunden mit Angabe der Anzahl ihrer KFZ 4 Autowerkstatt Diskussion Die Fakten über die Autowerkstatt, die dem Entity-Relationship zugrundeliegen, sind stark vereinfacht Finden Sie 3 Gegebenheiten, die in einer wirklichen Autowerkstatt anders sind und stellen Sie dar, wie diese Gegebenheiten einbauen könnten 5 Belegsystem einer Hochschule ERD 2
Dozent macht Veranstaltung besucht Wochentag Block Raum beschreibt Modul ModulNr CrPoints MatrikelNr {PK} Transformation des vorigen Entity-Relationship-Diagramms in ein Datenbankschema Dozent DozNr = DozNr DozNr:int {PK} :varchar(40 :varchar(40 Veranstaltung VeranstNr:int{PK} Wochentag:char(2 Block:dec( Raum:char(4 DozNr:int {not null} ModulNr:char(6 {not null} ModulNr = ModulNr Modul VeranstNr = VeranstNr Teilnahme VeranstNr:int{PK} MatrikelNr:dec(6 {PK} MatrikelNr = MatrikelNr MatrikelNr:dec(6 {PK} :varchar(40 :varchar(40 DbSysIUebung3tex,v,2,January 4, 2006 at 22:48:28 CET ModulNr:char(6 {PK} :varchar(20 CrPoints:int Erstellen der SQL-Anweisungen zum Erzeugen der Datenbankstruktur Listing 5: Teilnahme Create table Teilnahme ( VeranstNr i n t references Veranstaltung ( VeranstNr, M a t r i k e l N r dec ( 6 references ( M a t r i k e l N r, primary key ( VeranstNr, M a t r i k e l N r 3
6 KFZ-Zulassung ERD Halter KFZ Zulassung GebDatum Strasse PLZ FahgestellNr {pk} Baujahr Typ Typcode Hesteller Modell Schadstoffkl Kennzeichen {pk} Datum AbmeldeDatum KFZ kann erst einen Tag nach der Zulass abgemeldet werden! 7 Bankniederlassung ERD Niederl zuständig Zweigstelle Kunde für ist bei hat NiederlNr {pk} KundenNr {pk} Strasse GebDatum Konto KtoNr {pk} Datum Saldo DbSysIUebung3tex,v,2,January 4, 2006 at 22:48:28 CET 8 Bibliothek einer Hochschule ERD 4
BuchTitel ISBN {pk} Autor Titel Verlag Jahr Vormerkung Vormerkdatum MatrikelNr {pk} E-Mail beschreibt BuchExemplar Ausleihe Signatur {pk} Kaufsdaturm Ausleihedatum Rückgabedatum Transformation des vorigen Entity-Relationship-Diagramms in ein Datenbankschema BuchTitel ISBN= ISBN ISBN:char(3 {pk} Autor:varchar(80 Titel:varchar(80 Verlag:varchar(40 :varchar(40 Jahr:char(4 ISBN= ISBN Vormerkung Vormerkdatum ISBN:char(3 {pk} MatrikelNr:dec(6 {pk} MatrikelNr= MatrikelNr MatrikelNr:dec(6 {pk} :varchar(40 :varchar(40 :varchar(20 E-Mail:vsrchar {unique} MatrikelNr= MatrikelNr DbSysIUebung3tex,v,2,January 4, 2006 at 22:48:28 CET BuchExemplar Signatur:char(0 {pk} Kaufsdaturm:date ISBN:char(3 Signatur= Signatur Ausleihe Ausleihedatum:date {pk} Rückgabedatum:date MatrikelNr:dec(6 {pk} Signatur:char(0 {pk} Erstellen der SQL-Anweisungen zum Erzeugen der Datenbankstruktur Listing 6: Tabelle Vormerkung Create t a b l e Vormerkung ( vormerkdatum date not n u l l, 5
ISBN char (3 references BuchTitel ( ISBN, M a t r i k e l N r dec ( 6 references ( M a t r i k e l N r, primary key ( ISBN, M a t r i k e l N r Juristisches Informationssystem ERD Gericht arbeitet an Richter strasse plz Art Titel TelNr Verfahren leitet Ein Richter kann nur Verfahren seines Gerichtes leiten Aktenzeichen {pk} Sache Richter Begin DbSysIUebung3tex,v,2,January 4, 2006 at 22:48:28 CET 3 Ausschnitt eines ERD für eine Klinikorganisation 6
Mitarbeiter arbeitet in Abteilung 4 Artikel in einer betrieblichen Anwendung Fehler des Diagramms: verletz (den Geist der NF Artikel ArtikelNr {pk} Jahr Verkauf Menge DbSysIUebung3tex,v,2,January 4, 2006 at 22:48:28 CET 7