close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Inhalt: Relationale Datenbanken 8.1 Was ist ein Datenbanksystem

EinbettenHerunterladen
OM – Datenbanken
LE 14
1
Inhalt: Relationale Datenbanken
8.1 Was ist ein Datenbanksystem?
8.2 Relationale Datenbanksysteme
8.3 Abbildung des objektorientierten Modells
auf Tabellen
OM – Datenbanken
LE 14
2
8.1 Was ist ein Datenbanksystem?
? Motivation
? Verschiedene Programme in einer Organisation
(Unternehmen, Behörden) benötigen gemeinsame
Daten
? Eigene Datenhaltung für jedes Programm bedeutet
? Mehrfacherfassungen
? Redundante Speicherung
? Gefahr inkonsistenter Datenbestände
? Datenbanksysteme ermöglichen die integrierte
Verwaltung aller Daten in einer Organisation
OM – Datenbanken
LE 14
3
8.1 Was ist ein Datenbanksystem?
? Architektur eines Datenbanksystems
Programm 1
Programm 2 ... Programm n
DBMS (Datenbankmanagementsystem)
DD
(Data
Dictionary)
DB 1
(Datenbank)
DBn
(Datenbank)
DBS (Datenbanksystem)
OM – Datenbanken
LE 14
4
8.1 Was ist ein Datenbanksystem?
? Eigenschaften eines Datenbanksystems
? Persistente Speicherung der Daten
? Zuverlässige Verwaltung der Daten
? Unabhängige Verwaltung der Daten
? Komfortable Verwendung der Daten
? Flexibler Zugang zu den Daten
? Datenschutz
? Verwaltung großer Datenbestände
? Integrierte Datenbank
? Mehrfachbenutzung der Datenbank
OM – Datenbanken
LE 14
5
8.1 Was ist ein Datenbanksystem?
? Relational vs. objektorientiert
? Relationales Datenbanksystem (RDBS)
?
?
?
Dem Datenbanksystem liegt ein relationales
Datenmodell zugrunde
Heute das am meisten verwendete Datenmodell
Verwendung einer relationalen Datenbank in
vielen objektorientierten Anwendungen
? Objekt-relationale Abbildung (object relational mapping)
? Objektorientiertes Datenbanksystem (ODBS)
?
?
?
Objektorientiertes Datenmodell
Homogene objektorientierte Entwicklung möglich
Alle Objekte der Anwendung lassen sich direkt in
der Datenbank speichern
OM – Datenbanken
LE 14
6
8.1 Was ist ein Datenbanksystem?
? Vergleich von relationalen und
objektorientierten Datenbanksystemen
Objekte
der
Anwendung
Objektrelationale
Abbildung
Relationale
Datenbank
Objektorientierte
Datenbank
OM – Datenbanken
LE 14
7
8.2 Relationale Datenbanken
? Tabelle
? Relationale Datenbanken speichern Daten in
Form von Tabellen (Relationen)
? Jede Zeile der Tabelle (Tupel) repräsentiert ein
Objekt der Klasse
? Alle Tupel einer Tabelle müssen gleich lang
sein
? Die Reihenfolge der Attribute spielt keine Rolle
Schlüssel
Artikel
Artikel
Nummer
Attribut
Bezeichnung
Preis
Nummer
Bezeichnung
Preis
Tupel
OM – Datenbanken
LE 14
8
8.2 Relationale Datenbanken
? Schlüsselattribut
? Identifizierung eines Tupels durch einen
eindeutigen Schlüssel
? Schlüssel (oder Primärschlüssel) kann aus
einem oder mehreren Attributen bestehen
? Hinzufügen eines künstlichen
Schlüsselattributs, wenn kein fachliches
Attribut als Schlüsselattribut verwendet
werden kann
? z.B. eine Nummer
? Grafische Darstellung einer Tabelle
? Schlüssel wird unterstrichen
OM – Datenbanken
LE 14
9
8.2 Relationale Datenbanken
? Schlüssel vs. Objektidentität
? Schlüsselattribute ...
unterscheiden sich äußerlich nicht von
anderen Attributen
? müssen explizit verwaltet werden
? Objektidentität ...
? gehört implizit zu jedem Objekt
(object identifier, OID)
?
OM – Datenbanken
LE 14
10
8.2 Relationale Datenbanken
? Fremdschlüssel
? Realisierung von Assoziationen durch
Schlüssel-Fremdschlüssel-Beziehungen
Lieferant
Firma
An sprechpartner
Artikel
1
* Nummer
Bezeichnung
Pre is
Schlüssel
Lie ferant
Nummer
Firma
Ansprechpartne r
Artikel
Nummer
Beze ichnung
Prei s
Fremdschlüssel
L-Nummer
OM – Datenbanken
LE 14
11
8.2 Relationale Datenbanken
? Fundamentale Integritätsregeln
? Entitäts-Integrität
Schlüsselattribute müssen immer einen
Wert besitzen
? Referentielle Integrität
? Wenn in einer Tabelle ein Fremdschlüssel
vorhanden ist, dann muß der
Fremdschlüsselwert auch als
Primärschlüsselwert in der
korrespondierenden Tabelle vorkommen
?
OM – Datenbanken
LE 14
12
8.2 Relationale Datenbanken
? Normalformen
? In der Theorie
5 Normalformen
? In der Praxis
? Daten sind in der ersten, zweiten oder dritten
Normalform
? Notwendig: Abwägen, »wieviel Normalisierung«
sinnvoll ist
? Erste Normalform: Datenredundanz
? Dritte Normalform: Schlüsselredundanz
?
OM – Datenbanken
LE 14
13
8.2 Relationale Datenbanken
? Erste Normalform
? Alle Attribute einer Tabelle dürfen keine
Wiederholung von Werten (array) und keine
internen Datenstrukturen (struct) enthalten
? Alle Attributwerte müssen von einem
elementaren Typ sein
?
Im objektorientierten Modell
? Normalisierung spielt keine Rolle
? Bildung von Attributtypen erfolgt
ausschließlich unter problemadäquaten
Gesichtspunkten
OM – Datenbanken
LE 14
14
8.2 Relationale Datenbanken
? Logisches Schema
? Menge aller Tabellen bildet die relationale
?
?
?
?
?
Datenbank
Eintrag der Tabellenstrukturen im Data Dictionary
Ablegen aller persistenten Daten in der Datenbank
Realisierung der Funktionalität durch die
Anwendungsprogramme
Keine Kapselung von Daten und Funktionen
Attribute des logischen Schemas sind für den
Benutzer und die Anwendungsprogramme
sichtbar
OM – Datenbanken
LE 14
15
8.2 Relationale Datenbanken
? DDL
? Formale Definition des logischen Schemas durch
?
?
?
?
die Datendefinitionssprache (Data Definition
Language, DDL)
Standard ist SQL (Structured Query Language)
Erzeugung einer Tabelle in SQL durch den create
table-Befehl
? Leere Datenbank wird durch Menge aller
create table-Befehle erzeugt
Eintrag jeder definierten Tabelle in das Data
Dictionary
Löschen einer Tabelle mit dem drop tableBefehl
OM – Datenbanken
LE 14
16
8.2 Relationale Datenbanken
? Für jedes Attribut sind Name und Typ anzugeben
? Attributnamen müssen innerhalb einer Tabelle
?
?
?
?
eindeutig sein
Bezeichnung des Attributs bei
tabellenübergreifender Betrachtung durch
Tabelle.Attribut
Schlüssel- und Fremdschlüsselattribute werden in
SQL nicht speziell gekennzeichnet
Muß-Attribut
? Kennzeichnung eines Attributs mit not null
? Attribut muß bereits beim Erzeugen des Tupels
einen Wert besitzen
Muß-Assoziation
? Fremdschlüssel mit not null kennzeichnen
OM – Datenbanken
LE 14
17
8.2 Relationale Datenbanken
? Beispiel
create table Lieferant
( Nummer
number(5) not null,
Firma
char(30) not null,
Ansprechpartner char(30));
create table Artikel
( Nummer
number(5) not null,
Bezeichnung char (30) not null,
Preis
number (8,2),
L_Nummer
number (5) not null);
OM – Datenbanken
LE 14
18
8.2 Relationale Datenbanken
? DML
? Füllen und Ändern der Datenbank mit Hilfe der
Datenmanipulationssprache (Data Manipulation
Language, DML)
? Auch hier ist SQL Standard
? DML enthält weder Kontrollstrukturen noch
Prozedurkonzepte
? Erstellung umfangreicher Programme ist
problematisch
? Sinnvoll ist Kombination der DML mit einer
klassischen Programmiersprache (z.B. C++)
OM – Datenbanken
LE 14
19
8.2 Relationale Datenbanken
? Generische Operationen
? Semantik ist nicht anwendungsspezifisch
insert into Artikel values
(4711, 'Notizblock', null);
update Artikel
set Preis = 4.95
where Nummer = 4711;
delete from Artikel
where Nummer = 4711;
OM – Datenbanken
LE 14
20
8.2 Relationale Datenbanken
? Select-Befehl für flexible Anfragen (queries)
? Selektion
Wählt Tupel (Zeilen) aus einer Tabelle aus
? Projektion
? Auswahl bestimmter Spalten einer Tabelle
? Häufig Kombination von Projektion und Selektion
? Natürlicher Verbund (natural join)
? Verknüpfung von zwei oder mehrere Tabellen
über gemeinsame Attribute
?
OM – Datenbanken
LE 14
21
8.2 Relationale Datenbanken
? Selektion
? Ergebnis einer Selektion können alle Zeilen der
Tabelle sein
? Im allgemeinen werden Tupel nach einer
Bedingung gefiltert
? Abfragen von Werten oder Überprüfung des
Vorhandenseins von Werten
select * from Artikel;
select * from Artikel
where Preis >= 100;
select * from Artikel
where Preis is null;
OM – Datenbanken
LE 14
22
8.2 Relationale Datenbanken
? Projektion
? Angabe der gewüschten Attribute
? Angabe von distinct
?
Keine Erzeugung von Duplikaten von
Datensätzen
select distinct Bezeichnung, Preis
from Artikel;
select distinct Bezeichnung, Preis
from Artikel
where Preis is not null;
OM – Datenbanken
LE 14
23
8.2 Relationale Datenbanken
? Natürlicher Verbund (natural join)
? Join-Attribute werden in der Ergebnistabelle nur
einmal aufgeführt
select Lieferant.Nummer, Firma,
Bezeichnung, Preis
from Lieferant, Artikel
where Artikel.L_Nummer = Lieferant.Nummer;
select Lieferant.Nummer, Firma,
Bezeichnung, Preis
from Lieferant, Artikel
where Artikel.L_Nummer =
Lieferant.Nummer and Artikel.Preis < 100;
OM – Datenbanken
LE 14
24
8.2 Relationale Datenbanken
? Externe Schemata bzw. Sichten (views)
? Benutzergruppen oder Anwendungsprogramme
?
?
?
?
sollen oft nur definierte Ausschnitte des logischen
Schemas sehen
Ableitung von externen Schemata aus dem
logischen Schema
Ablegen der externen Schemata im Data Dictionary
Definition einer Sicht bedeutet kein mehrfaches
Ablegen der Daten in der Datenbank
Daten werden bei einer Abfrage neu aufgebaut
? Sicherstellen, daß sich jede Sicht (view) stets auf
die aktuellen Daten bezieht
OM – Datenbanken
LE 14
25
8.2 Relationale Datenbanken
? Erzeugen einer Sicht in SQL
? Ableitung aus einer oder mehreren Basistabellen
und vorhandenen Sichten
? Löschen der Sichten mit dem drop view-Befehl
? Befehl hat keinen Einfluß auf die Originaltabelle
create view Billigartikel
as select * from Artikel
where Preis < 100;
create view ArtikelOhnePreis
as select Nummer, Bezeichnung
from Artikel;
OM – Datenbanken
LE 14
26
8.2 Relationale Datenbanken
? Index
? Verwendung
Zur Steigerung der Performance
? Zur Sicherstellung der Eindeutigkeit von
Schlüsselattributen
? Datenbanksystem benutzt bei allen Anfragen den
jeweiligen Index
? Ohne Index durchsucht das DBS eine Tabelle von
Anfang bis Ende, um gewünschte Tupel zu finden
? Daher
? Anlegen von Indizes für alle Attribute, die häufig
in where-Klauseln von select-Befehlen
auftreten
? Anlegen von Indizes für Schlüsselattribute
?
OM – Datenbanken
LE 14
27
8.2 Relationale Datenbanken
? Beispiele
? Index zur Sicherstellung der Eindeutigkeit
von Schlüsselattributen
? Jede Artikelnummer wird nur einmal
vergeben
create unique index Artikelnummer
on Artikel(Nummer);
? Index zur Steigerung der Performance
? Zugriff auf Attribut Firmaoptimieren
create index Lieferantenfirmen
on Lieferant(Firma);
OM – Datenbanken
LE 14
28
8.3 Abbildung des OOA-Modells auf Tabellen
? Objekt-relationale Abbildung
? 1 Klasse ? 1 Tabelle
? 1 Klasse ? n Tabellen
? n Klassen ? 1 Tabelle
?
Grafische Notation für Tabellen
Tabelle1
Schlüssel
Attribut1
Attribut2
Tabelle2-Schlüssel
Tabelle2
Schlüssel
Attribut1
Attribut2
Attribut3
OM – Datenbanken
LE 14
29
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung einer Klasse auf eine Tabelle
? Alle Attribute der Klasse sind vom elementaren
Typ
? Klasse erfüllt die erste Normalform
? Abbildung auf eine einzige Tabelle
Artikel
Artikel
Nummer
Bezeichnung
Preis
OID
Nummer
Bezeichnung
Preis
Object Identifier
= Schlüssel
OM – Datenbanken
LE 14
30
8.3 Abbildung des OOA-Modells auf Tabellen
? OID-Attribut
? Erweiterung jeder Tabelle um ein OID-Attribut,
das die Rolle des Schlüsselattributs spielt
? OID-Attribute dürfen keinesfalls eine
semantische Bedeutung besitzen
? Drei Stufen der Eindeutigkeit beim OID-Attribut
? Eindeutigkeit innerhalb einer Tabelle
? Eindeutigkeit innerhalb einer
Vererbungshierarchie
? Eindeutigkeit innerhalb der Datenbank
? Bietet größte Flexibilität
? Jedes Tupel einer jeden Tabelle in der Datenbank
besitzt einen eindeutigen OID-Wert
OM – Datenbanken
LE 14
31
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung der Attribute
? Vor der Abbildung
?
?
?
Überprüfung, welche Attribute einer Klasse
persistent sein sollen
Abgeleitete Attribute werden meistens
berechnet und sind nicht dauerhaft zu
speichern
Einfache Attribute
? Attribut einer Klasse wird auf ein Attribut
einer Tabelle abgebildet
?
Strukurierte Attribute
? Strukturierte Attribute müssen in
Komponenten zerlegt werden, die vom
einfachen Typ sind
OM – Datenbanken
LE 14
32
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung einer Klasse mit strukturierten
Attributen (elementaren Klassen) auf Tabellen
Kunde
NameT
Nummer: String
Name: NameT
Adresse: AdresseT
Vorname
Nachname
Kunde
OID
Nummer
Vorname
Nachname
Adresse-OID
Adresse
OID
Strasse
PLZ
Ort
AdresseT
Strasse
PLZ
Ort
OM – Datenbanken
LE 14
33
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung einer Klasse mit
Listenattributen (elementaren Klasse) auf
Tabellen
Student
NoteT
Matrikelnr : String
Nachname: String
Noten: list of NoteT
Fach
Wert
Student
OID
Matrikelnr
Nachname
Fach 1
Wert 1
Fach 2
Wert 2
Fach 3
Wert 3
Student
OID
Matrikelnr
Nachname
ODER
Note
OID
Fach
Wert
Student-OID
OM – Datenbanken
LE 14
34
8.3 Abbildung des OOA-Modells auf Tabellen
? Klassenattribut
? Speicherung nur einmal für alle Objekte einer
Klasse
? Daher
? Keine Integration in »normale« Tupel einer
Tabelle
? Eintrag in eine separate Tabelle
OM – Datenbanken
LE 14
35
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung einer Assoziation
? 1:1-Assoziation
?
?
Eintrag je nach benötigter Navigation in einer
oder beiden Tabellen als Fremdschlüssel
not null – bei Muß-Verbindungen
unidirektionale 1:1-Assoziation
A
B
1
a1
a2
0..1
b1
b2
A
B
OID
a1
a2
OID
b1
b2
A-OID
bidirektionale 1:1-Assoziation
A
B
1
a1
a2
0..1
b1
b2
A
B
OID
a1
a2
B-OID
OID
b1
b2
A-OID
OM – Datenbanken
LE 14
36
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung der 1:m-Assoziation
»Verschmelzen« der Assoziation
A
B
1
a1
a2
* b1
b2
A
B
OID
a1
a2
OID
b1
b2
A-OID
Eigene Tabelle für Assoziation
A
a1
a2
B
1
* b1
b2
A
B
OID
a1
a2
OID
b1
b2
A-OID
AB
A-OID
B-OID
OM – Datenbanken
LE 14
37
8.3 Abbildung des OOA-Modells auf Tabellen
? Verschmelzen der Assoziation mit der Tabelle
Weniger Tabellen
? Zugriff auf Objekte erfolgt schneller, weil
weniger Tabellen durchlaufen werden
? Abbilden der Assoziation auf separate Tabelle
? Das Wissen, welche Objekte einander
kennen, ist nicht mit den Objekten selbst
verwoben
? Einfache Änderung, wenn aus der 1:mAssoziation eine m:m-Assoziation wird
? Kombination aus beiden Möglichkeiten
? Vorteil: Reduzierung der Anzahl der joins
? Nachteil: Zusätzliche
Konsistenzmaßnahmen
?
OM – Datenbanken
LE 14
38
8.3 Abbildung des OOA-Modells auf Tabellen
? m:m-Assoziation / Assoziative Klasse
A
B
1..*
a1
a2
*
b1
b2
C
c1
c2
B
A
OID
a1
a2
C
OID
c1
c2
A-OID
B-OID
OID
b1
b2
OM – Datenbanken
LE 14
39
8.3 Abbildung des OOA-Modells auf Tabellen
? m:m-Assoziation
? Immer auf separate Tabelle abbilden
? Primärschlüssel dieser Tabelle setzt sich aus
den Schlüsseln der beteiligten Tabellen
zusammen
? Vorteilhaft ist eigenes OID-Attribut für diese
Tabelle
? Gleichbehandlung aller Tabellen
? Vereinfachung der Implementierung
? Bessere Laufzeit-Effizienz
? Bei einigen Datenbanken können bei joins von
Tabellen mit zusammengesetzten Schlüsseln
Probleme auftreten
OM – Datenbanken
LE 14
40
8.3 Abbildung des OOA-Modells auf Tabellen
? Assoziative Klasse
? Attribute der assoziativen Klasse werden
ebenfalls in eine separate Tabelle eingetragen
? Auch bei einer 1:1- oder einer 1:mAssoziation sollten assoziative Klasse auf
eine eigene Tabelle abgebildet werden
? Sofern sie nicht nur aus einem oder zwei
Attributen bestehen
OM – Datenbanken
LE 14
41
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung der Komposition
? Funktionalität des Ganzen wirkt sich auch auf
seine Teile aus
? Gleiches gilt für das Speichern und Löschen
von Objekten in der Datenbank
? Jedes Ganze muß seine Teile kennen
? Unterschied zwischen einer einfachen
Assoziation und einer Komposition aus Sicht
einer Datenbank
? Stärkere Kopplung zwischen den
beteiligten Objekten bei Komposition
OM – Datenbanken
LE 14
42
8.3 Abbildung des OOA-Modells auf Tabellen
Vererbungsstrukturen
A
OID
a1
a2
b1
b2
c1
c2
1
A
B
a1
a2
2
B
b1
b2
C
OID
a1
a2
b1
b2
OID
a1
a2
c1
c2
C
c1
c2
A
3
OID
a1
a2
B
OID
b1
b2
C
OID
c1
c2
OM – Datenbanken
LE 14
43
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung der Einfachvererbung
1. Eine Tabelle für gesamte
Vererbungshierarchie
? Attribute, die ein Tupel nicht annehmen
kann, müssen auf null gesetzt werden
? Vorteile
? Ad hoc-Anfragen sind einfach
? Keine joins notwendig
?
Nachteile
? Erhöhung der Kopplung innerhalb der Hierarchie
? Bei Erweiterung einer Klasse um ein neues
Attribut sind alle Objekte davon betroffen
? Speicherplatzverschwendung
? Tabelle enthält viele null-Werte
? Vernachlässigbar bei kleinen Hierarchien
OM – Datenbanken
LE 14
44
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung der Einfachvererbung
2. Eine Tabelle für jede konkrete Klasse
? Vorteil
? Ad hoc-Anfragen sind relativ einfach
?
Nachteil
? Attribute der abstrakten Oberklasse sind in
mehreren Tabellen vorhanden
? Bei Modifizierung der Attribute sind alle
betroffenen Tabellen zu aktualisieren
OM – Datenbanken
LE 14
45
8.3 Abbildung des OOA-Modells auf Tabellen
? Abbildung der Einfachvererbung
3. Eine Tabelle für jede Klasse (auch für abstrakte)
? Gemeinsames OID-Attributs stellt Identität
eines Objekts in der Hierarchie sicher
? Vorteile
? Entspricht am besten dem objektorientierten Konzept
? Änderungen in der Oberklasse sind mit minimalem
Aufwand durchführbar
? Neue Attribute können in allen Klassen einfach
ergänzt werden
?
Nachteil
? Viele Tabellen in der Datenbank
? Viele joins (langsamer Zugriff)
? Ad hoc-Anfragen sind schwieriger zu formulieren
OM – Datenbanken
LE 14
46
8.3 Abbildung des OOA-Modells auf Tabellen
? Vergleich von Abbildungsstrategien der
Einfachvererbung
Betrachteter
Faktor
Einfachheit der
Implementierung
Einfachheit des
Datenzugriffs
Kopplung
Geschwindigkeit
des Datenzugriffs
Unterstützung des
Polymorphismus
1Tabelle für 1 Tabelle für
gesamte
jede konkrete
Hierarchie
Klasse
1 Tabelle für
jede Klasse
einfach
mittel
schwierig
einfach
sehr hoch
einfach
hoch
mittel/einfach
gering
schnell
schnell
mittel/schnell
mittel
gering
hoch
OM – Datenbanken
LE 14
47
Aufgabe 1
? Unterschiede des relationalen und
objektorientierten Modells erkennen
a. Erläutern Sie den Unterschied zwischen dem
Schlüsselattribut einer relationalen Datenbank und
der Objektidentität im objektorientierten Modell.
b. Erläutern Sie den Unterschied zwischen einer
Assoziation und der Schlüssel-FremdschlüsselBeziehung.
c. Erläutern Sie, warum bei einem objektorientierten
Modell die erste Normalform nicht eingehalten
werden muß.
d. Was ist ein OID-Attribut und welche Vorteile
ergeben sich durch dessen Verwendung bei einer
relationalen Datenbank?
OM – Datenbanken
LE 14
48
Aufgabe 2
? Wichtige Begriffe von relationalen
Datenbanksystemen kennen
a.
b.
c.
d.
e.
logisches Schema
externes Schema
DDL
DML
SQL
OM – Datenbanken
LE 14
49
Aufgabe 3
? Objekt-relationale Abbildung durchführen
? Bilden Sie die folgende Klasse Studentische
Hilfskraft auf Tabellen ab
? 7-stellige Matrikelnummer
? Name bestehend aus Vorname und Nachname
? Adresse bestehend aus Straße, PLZ und Ort
? Liste aller Arbeitsverträge, wobei für jeden
Arbeitsvertrag Beginn, Ende und vereinbarte
Stundenzahl gespeichert wird
? Aktueller Stundenlohn, der für alle studentischen
Hilfskräfte gleich ist (Klassenattribut)
? Menge der Arbeitsverträge ist unbegrenzt
? Stundenlohn wird nur einmal gespeichert
OM – Datenbanken
LE 14
50
Aufgabe 4
? Objekt-relationale Abbildung durchführen
Lieferant
Name
Adresse:AdresseT
Telefon
Lieferkondition
EK-Preis
Lieferfrist
Bestellung
1
1
*
1..*
*
Artikel
Nummer
Bezeichnung
VK-Preis
Lagerartikel
Mindestmenge
Bestand
AdresseT
Strasse
PLZ
Ort
* Nummer
Datum
Position
1
* Anzahl
OM – Datenbanken
LE 14
51
Aufgabe 5
? DDL und DML (SQL) anwenden können
a. Definieren Sie für die Aufgabe 4 das logische
Schema. Gehen Sie davon aus, daß Bestell- und
Artikelnummern jeweils eindeutig sind.
b. Erstellen Sie folgendes externe Schema:
Liste aller Artikel, auch der Lagerartikel, die in
höchstens einer Woche geliefert werden können.
Das Schema soll enthalten: Artikelnummer,
Artikelbezeichnung, Lieferantenname und EK-Preis
für diesen Lieferanten.
OM – Datenbanken
LE 14
52
Aufgabe 5
c. Formulieren Sie folgende Anfrage:
Benötigt wird eine Liste aller Lagerartikel, bei
denen die Mindestmenge unterschritten ist. Die
Liste soll enthalten: Nummer, Bezeichnung,
Bestand, Mindestmenge.
d. Formulieren Sie folgende Anfrage:
Für jeden Lieferanten ist eine Liste der von ihm
gelieferten Artikel mit EK-Preis und Lieferfrist zu
erstellen. Die Liste soll folgende Angaben
enthalten: Lieferantenname, Artikelbezeichnung,
EK-Preis und Lieferfrist.
Document
Kategorie
Internet
Seitenansichten
9
Dateigröße
80 KB
Tags
1/--Seiten
melden