-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.sql
66 lines (48 loc) · 2.46 KB
/
test.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
---Aufgabe 1---
/*Realisieren Sie die fortlaufende Nummerierung des Attributs SID der Relation Schriftstueck
mit Hilfe einer Sequence. Die Sequence soll bei 1 beginnen und in Einerschritten erhöht werden.*/
INSERT INTO Schriftstueck(Titel, Seiten) VALUES
('Fahrenheit 451', 192); --SID = 21
/*Realisieren Sie die fortlaufende Nummerierung des Primärschlüssel-Attributs AID in der Tabelle
Autorin mit Hilfe einer Sequence. Die Sequence soll bei 10.000 beginnen und in Siebenerschritten erhöht werden.*/
INSERT INTO Autorin(Name, GebDat) VALUES
('George Orwell', '1903-06-25'); --AID = 10077
/*Das Budget jedes Verlages muss zwischen 10 und 1.000.000 liegen (inklusive 10 und 1.000.000).*/
INSERT INTO Verlag VALUES
('Spongebob Verlag', 7.00, 'ab000', 'Amsterdam'); --Budget <= 10.00 und somit abgelehnt.
---Aufgabe 3---
--- Query 1 --- Anzahl der dicken Buecher (> 200 Seiten) pro Autorin
SELECT * FROM Schriftstueck;
SELECT * FROM NumberOfLargeBooks;
--- Query 2 --- Transitivitaet von Alliasen
SELECT * FROM aka;
SELECT * FROM AllAliases;
--- Query 3 --- Wenn Roman X auf Y basiert und Y auf Z (mit selben Genres), dann basiert X ueber 2 Schritte auf Z
SELECT * FROM basiertAuf;
SELECT * FROM NovelDistance;
---Aufgabe 4---
--- Trigger 1 --- Autorin.GebDat < schrieb.StartDatum
INSERT INTO schrieb VALUES
(10000, 18, '1800-10-11');
INSERT INTO schrieb VALUES
(10000, 18, '2000-10-11');
--- Trigger 2 --- Budget ändert sich mit den Kosten, d.h. Budget = Budget - Kosten
SELECT name, Budget, KName, Kosten
FROM Verlag, wirbt, MarketingKanal
WHERE name = verlagsname AND kanal = kname
ORDER BY name;
UPDATE MarketingKanal SET Kosten = 1000 WHERE Kname = 'Goethe';
UPDATE MarketingKanal SET Kosten = 1500 WHERE Kname = 'Goethe';
UPDATE MarketingKanal SET Kosten = 0 WHERE Kname = 'Goethe';
UPDATE MarketingKanal SET Kosten = 25 WHERE Kname = 'Zeus';
UPDATE MarketingKanal SET Kosten = 25 WHERE Kname = 'Leibniz';
--- Trigger 3 --- Falls eine Zielgruppe eine Autorin liebt, dann liebt sie auch ihre Aliasse
SELECT zielgruppe, autorin, name
FROM zielgruppe, liebt, autorin
WHERE zielgruppe = bez AND autorin = aid
ORDER BY zielgruppe, autorin;
INSERT INTO liebt VALUES
('Cool kids', 10000),
('War veterans', 10021);
--- Trigger 4 --- Eine AutorIn erstellen
SELECT fCreateAutorin(6, 'Joanne Rowling', '1965-07-31');