Aufgabe 1 - FH Dortmund

Werbung
Aufgabe 1: (30 Punkte)
a) Was versteht man unter physikalischer Datenabhängigkeit ? (3P)
Quellcode abhängig von der physikalischen Organisation
b) Wie ist ein Bulk-Join definiert ? (3P)
Kreuzprodukt zweier Relationen ohne on-Bedingung
c) Was bedeutet die Aussage: Das Data-Dictionary ist relational strukturiert ?
(3P)
Alle Informationen in Form von Relationen gespeichert.
d) Erläutern Sie die Bedeutung der externen Ebene im ANSII-3 Ebenen Konzept.
(6 P)
Sichten, eigene Strukturen für Nutzer, Nutzer angepasst. DBMS setzt um.
e) Datenbanksprachen werden anhand von Kriterien bewertet. Bewerten Sie
SQL gemäß folgender Eigenschaften (4 P)

formale Sprache

deskriptiv

mengenorientiert

einfache Verknüpfung mehrerer Satztypen („typübergreifende“
Operationen) möglich
ja
f) In welcher Weise widersprechen SQL-Implementierungen dem
mathematischen Modell einer Relation ? (4 P)
Identische Tupel erlaubt, Reihenfolge der Tupel von Bedeutung
g) Was ist der Unterschied zwischen
Select count(*) from artikel
und
Select count(artikel_nr) from artikel ? (3 P)
Tupel werden gezählt, Vorkommnisse von artikel_nr <> NULL werden gezählt.
(Gibt keine, da Primärschlüssel)
auftrag-nr nicht eindeutig, month fehlt in group, b statt auftragspositionen,
menge nicht in having
Aufgabe: (15 Punkte)
Erweitern sie die Relation kunden um das Datenfeld
“summe_rechnungsbetraege_laufendes_jahr”. Schreiben Sie anschließend ein updatestatement, dass dieses Datenfeld mit den jeweils gültigen Werten aus der Relation
rechnungen füllt.
Alter table kunden add summe_rechnungsbetraege_laufendes_jahr number
Update kunden set summe_rechnungsbetraege_laufendes_jahr = (select sum(rechnung_betrag) from
rechnungen a where a.kunde_nr=kunden.kunde_nr and year(rechnung_datum)=year(current_date)
Aufgabe:
Sei folgender View gegeben (5 P)
Create view kundenview as select * from kunden where kundengruppe < 50
Was geschieht, wenn man per „insert into kundenview“ einen Kunden mit der Gruppe
55 eingibt ?
Daten werden angenommen, sind aber nicht sichtbar
Was geschieht bei der Eingabe des insert-statements aus Aufgabe d), wenn man
den view mit einer „with check option“ versieht ? (5 P)
Daten werden abgewiesen, Fehler
Aufgabe :
a) Was ist in folgender SQL-Anweisung syntaktisch falsch (unabhängig von
Attributnamen) ?:
„Select * from kunden where kunde_nr not in (select kunde_nr from auftraege
order by kunde_nr)“
order by in Subquery nicht erlaubt.
b) Was ist an folgender SQL-Anweisung falsch ?:
„alter table artikel add gewicht numeric(6,2) not null „
NOT NULL bei Hinzufügen eines Attributes nicht möglich.
Aufgabe
Welche Artikel haben die größte Gewinnspanne ihrer Gruppe (Differenz:
Verkaufspreis - Einkaufspreis)? Listen Sie den Artikel, die Gruppe, die
Gewinnspanne. Ausgabe sortiert nach Spanne.
select
from
where
(select
from
where
order by
artikel_nr, a.warengruppe, verkaufspreis-einkaufspreis
artikel a
verkaufspreis-einkaufspreis =
max(verkaufspreis-einkaufspreis)
artikel b
a.warengruppe = b.warengruppe)
verkaufspreis-einkaufspreis;
Seite 2
Herunterladen