Datenbanksysteme: Übungsblatt3 von Rami Swailem pdfauthor

Werbung
Rami Swailem
FH Gießen-Friedberg
Datenbanksysteme
Übungsblatt3
Übungen Datenbanksysteme Teil 3 (Datenbank-Design)
1. Autowerkstatt ERD
Entwurf des Entity-Relationship-Diagramms in UML-Notation
Kunde
1 gehört *
kundennr {pk}
name
vorname
adresse
strasse
plz
ort
telefonnr
KFZ
1 hat *
fahrgestllnr {pk}
kennzeichen
marke
Reparatur
rechnungsnr {pk}
datum
km_stand
1
1..*
Arbeiten
Bezeichnung
preis
2. Autowerkstatt Datenbankschema
Transformation des vorigen Entity-Relationship-Diagramms in ein Datenbankschema
Kunde
DbSysI.Uebung3.tex,v,1.2,January 14, 2006 at 22:48:28 CET
kundennr:dec(6) {pk} kundennr=
kundennr
name:varchar(40)
vorname:varchar(40)
strasse:varchar405)
plz:char(10)
ort:varchar(40)
Telefon:varchar(20)
KFZ
fahrgestellnr:char(15) {pk} fahrgestellnr=
fahrgestellnr
Kennzeichen:varchar(12)
marke:varchar(20)
kundennr:dec(6)
Reparatur
rechnungsnr:char(9) {pk}
datum:date
fahrgestellnr:char(15)
6
rechnungsnr=
rechnungsnr
Arbeiten
rechnungsnr:char(9) {pk}
LfdNr:dec(2) {pk}
Bezeichnung:varchar(120)
preis:money
Erstellen der SQL-Anweisungen zum Erzeugen der Datenbankstruktur
Listing 1: Kunde
Wintersemester 2005/06
1
Rami Swailem
FH Gießen-Friedberg
Datenbanksysteme
Übungsblatt3
create t a b l e Kunde (
kundennr dec ( 6 ) primary key ,
name varchar ( 4 0 ) not n u l l ,
vorname varchar ( 4 0 ) ,
s t r a s s e varchar ( 4 0 ) ,
p l z char ( 1 0 ) ,
o r t varchar ( 4 0 ) ,
t e l e f o n : varchar ( 2 0 )
)
Listing 2: KFZ
create t a b l e KFZ (
f a h r g e s t e l l n r char ( 1 5 ) primary key ,
kennzeichen varchar ( 1 2 ) ,
marke varchar ( 2 0 ) ,
kundennr dec ( 6 ) r e f e r e n c e s Kunde ( kundennr )
)
Listing 3: Reparatur
create t a b l e Reparatur (
rechnungsnr char ( 9 ) primary key ,
datum date ,
f a h r g e s t e l l n r char ( 1 5 ) r e f e r e n c e s KFZ ( f a h r g e s t e l l n r )
)
Listing 4: Arbeiten
DbSysI.Uebung3.tex,v,1.2,January 14, 2006 at 22:48:28 CET
create t a b l e A r b e i t e n (
rechnungsnr char ( 9 ) r e f e r e n c e s Reparatur ( rechnungsnr ) ,
LfdNr dec ( 2 ) ,
Bezeichnung varchar ( 1 2 0 ) not n u l l ,
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:
1. Bestimmen Sie die Anzahl der Werkstattbesuche eines bestimmten, vom Namen
her bekannten Kunden.
2. Liste mit der Reparaturhäufigkeit der verschiedenen Automarken
Wintersemester 2005/06
2
Rami Swailem
FH Gießen-Friedberg
Datenbanksysteme
Übungsblatt3
3. Liste mit dem Umsatz je Kunde mit Kundennr und Name
4. Liste mit den mittleren Reparaturkosten je Automarke
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
Entwurf des Entity-Relationship-Diagramms in UML-Notation
Dozent
1 macht
Name
Vorname
*
Veranstaltung 1..* besucht 1..*
Wochentag
Block
Raum
Student
MatrikelNr {PK}
Name
Vorname
*
6
beschreibt
1
Modul
DbSysI.Uebung3.tex,v,1.2,January 14, 2006 at 22:48:28 CET
ModulNr
Bezeichnung
CrPoints
Transformation des vorigen Entity-Relationship-Diagramms in ein Datenbankschema
Wintersemester 2005/06
3
Rami Swailem
FH Gießen-Friedberg
Dozent
Datenbanksysteme
Übungsblatt3
Veranstaltung
DozNr =
DozNr
DozNr:int {PK}
Name:varchar(40)
Vorname:varchar(40)
Teilnahme
VeranstNr =
VeranstNr
VeranstNr:int{PK}
Wochentag:char(2)
Block:dec(1)
Raum:char(4)
DozNr:int {not null}
ModulNr:char(6) {not null}
VeranstNr:int{PK}
MatrikelNr:dec(6) {PK}
MatrikelNr =
MatrikelNr
?
Student
6
ModulNr =
ModulNr
Modul
MatrikelNr:dec(6) {PK}
Name:varchar(40)
Vorname:varchar(40)
ModulNr:char(6) {PK}
Bezeichnung:varchar(120)
CrPoints:int
Erstellen der SQL-Anweisungen zum Erzeugen der Datenbankstruktur
Listing 5: Teilnahme
Create t a b l e Teilnahme (
VeranstNr i n t r e f e r e n c e s V e r a n s t a l t u n g ( VeranstNr ) ,
M a t r i k e l N r dec ( 6 ) r e f e r e n c e s Student ( M a t r i k e l N r ) ,
primary key ( VeranstNr , M a t r i k e l N r )
11. Juristisches Informationssystem ERD
DbSysI.Uebung3.tex,v,1.2,January 14, 2006 at 22:48:28 CET
Wintersemester 2005/06
4
Rami Swailem
FH Gießen-Friedberg
Gericht
1
Datenbanksysteme
Übungsblatt3
arbeitet an
Richter
*
Name
Adresse
strasse
plz
Ort
Art
Name
Vorname
........
...
Titel
TelNr
*..1
leitet
*
Ein Richter kann
nur Verfahren seines
Gerichtes leiten
Verfahren
Aktenzeichen {pk}
Sache
Richter
Begin
13. Ausschnitt eines ERD für eine Klinikorganisation
Mitarbeiter
*
arbeitet in
Name
Vorname
1
Abteilung
Name
....
..... .....
..... .....
DbSysI.Uebung3.tex,v,1.2,January 14, 2006 at 22:48:28 CET
14. Artikel in einer betrieblichen Anwendung
„Fehler“ des Diagramms: verletz (den Geist der) 1NF
Wintersemester 2005/06
5
Rami Swailem
FH Gießen-Friedberg
Artikel
1
Datenbanksysteme
Übungsblatt3
*
Verkauf
ArtikelNr {pk}
Menge
Bezeichnung
Jahr
DbSysI.Uebung3.tex,v,1.2,January 14, 2006 at 22:48:28 CET
Wintersemester 2005/06
6
Herunterladen