Skip to content

Commit 7888e4a

Browse files
committed
databases lab1 update
1 parent 8596e63 commit 7888e4a

File tree

9 files changed

+87
-34
lines changed

9 files changed

+87
-34
lines changed

BCS_or_OPD/sem2/lab5/.~lock.1.odt#

Lines changed: 0 additions & 1 deletion
This file was deleted.

BCS_or_OPD/sem2/lab5/1.odt

37 Bytes
Binary file not shown.

databases/sem2/lab1/1.odt

3.07 KB
Binary file not shown.

databases/sem2/lab1/1.pdf

-224 KB
Binary file not shown.
234 KB
Binary file not shown.

databases/sem2/lab1/script.sql

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,39 @@
11
BEGIN;
22

3-
CREATE TABLE IF NOT EXISTS ObjectType
4-
(
5-
TypeName TEXT PRIMARY KEY
6-
);
7-
CREATE TABLE IF NOT EXISTS Object
3+
4+
CREATE TABLE Object
85
(
9-
ObjectId SERIAL PRIMARY KEY,
10-
ObjectName TEXT NOT NULL,
11-
ObjectType TEXT NOT NULL REFERENCES ObjectType(TypeName)
6+
ObjectName TEXT PRIMARY KEY,
7+
IsGroup BOOLEAN NOT NULL DEFAULT FALSE,
8+
RelatedGroup INTEGER REFERENCES Object(ObjectName) DEFAULT NULL,
9+
10+
CONSTRAINT RelatedGroup CHECK (IsGrpop is FALSE OR IsGroup IS TRUE AND RelatedGroup IS NULL)
1211
);
13-
CREATE TABLE IF NOT EXISTS AvilableAction
12+
CREATE TABLE AvilableAction
1413
(
1514
ActionName TEXT PRIMARY KEY,
1615
);
17-
CREATE TABLE IF NOT EXISTS Event
16+
CREATE TABLE Event
1817
(
1918
EventId SERIAL PRIMARY KEY,
2019
Action TEXT NOT NULL REFERENCES AvilableAction(ActionName),
21-
PreviousEvent INTEGER REFERENCES Action(ActionId),
20+
PreviousEvent INTEGER REFERENCES Action(ActionId) DEFAULT NULL,
2221

23-
ActionTargetObject INTEGER REFERENCES Object(ObjectId),
24-
ActionTargetType TEXT REFERENCES ObjectType(TypeName),
25-
ActionInitiator INTEGER REFERENCES Object(ObjectId),
22+
Target INTEGER REFERENCES Object(ObjectName),
23+
Initiator INTEGER REFERENCES Object(ObjectName),
2624

27-
CONSTRAINT EeitherTargetOrInitiator CHECK (ActionTargetObject IS NOT NULL OR ActionTargetType IS NOT NULL OR ActionInitiator IS NOT NULL)
25+
CONSTRAINT EeitherTargetOrInitiator CHECK (Target IS NOT NULL OR Initiator IS NOT NULL)
2826
);
2927

30-
INSERT INTO ObjectType(TypeName)
31-
VALUES
32-
('Глупые питекантропы'),
33-
('Способные питекантропы'),
34-
('Мысли'),
35-
('Природные объекты');
36-
37-
INSERT INTO Object(ObjectName, ObjectType)
28+
INSERT INTO Object(ObjectName, IsGroup, RelatedGroup)
3829
VALUES
39-
('Смотрящий на Луну', 'Способные питекантропы'),
40-
('Кристалл', 'Природные объекты'),
41-
('Видения', 'Мысли'),
42-
('Щупальца', 'Мысли');
30+
('Глупые питекантропы', TRUE),
31+
('Способные питекантропы', TRUE),
32+
('Мысли', TRUE),
33+
('Смотрящий на Луну', FALSE, 2),
34+
('Кристалл'),
35+
('Видения', FALSE, 3),
36+
('Щупальца', FALSE, 3);
4337

4438
INSERT INTO AvilableAction(ActionName)
4539
VALUES
@@ -49,12 +43,12 @@ VALUES
4943
('Шариться в закаулках мозга'),
5044
('Начаться');
5145

52-
INSERT INTO Action(Action, PreviousEvent, ActionTargetObject, ActionTargetType, ActionInitiator)
46+
INSERT INTO Event(Action, Target, Initiator, PreviousEvent)
5347
VALUES
54-
('Оставить в покое', NULL, NULL, 'Глупые питекантропы', 2), -- Крсталл оставил некоторых питекантропов в покое
55-
('Сосредоточить внимание', NULL, NULL, 'Способные питекантропы', 2), -- Кристалл сосредоточил внимание на способных питекантропах
56-
('Почувствовать', NULL, 1, NULL, NULL), -- Смотрящий на Луну почувствовал
57-
('Шариться в закаулках мозга', NULL, 1, NULL, 4), -- Щупальца шарятся в закаулках мозга Смотрящего на Луну
58-
('Начаться', 4, 1, NULL, 3); -- Затем у Смотрящего на Луну начались видения
48+
('Оставить в покое', 'Глупые питекантропы', 'Кристалл'), -- Крсталл оставил некоторых питекантропов в покое
49+
('Сосредоточить внимание', 'Способные питекантропы', 'Кристалл'), -- Кристалл сосредоточил внимание на способных питекантропах
50+
('Почувствовать', 'Смотрящий на Луну', NULL), -- Смотрящий на Луну почувствовал
51+
('Шариться в закаулках мозга', 'Щупальца', NULL, 3), -- Щупальца шарятся в закаулках мозга Смотрящего на Луну
52+
('Начаться', 'Видения', NULL, 4); -- Затем у Смотрящего на Луну начались видения
5953

6054
END;

databases/sem2/lab1/v1/1.odt

264 KB
Binary file not shown.
286 KB
Binary file not shown.

databases/sem2/lab1/v1/script.sql

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
BEGIN;
2+
3+
CREATE TABLE ObjectType
4+
(
5+
TypeName TEXT PRIMARY KEY
6+
);
7+
CREATE TABLE Object
8+
(
9+
ObjectId SERIAL PRIMARY KEY,
10+
ObjectName TEXT NOT NULL,
11+
ObjectType TEXT NOT NULL REFERENCES ObjectType(TypeName)
12+
);
13+
CREATE TABLE AvilableAction
14+
(
15+
ActionName TEXT PRIMARY KEY,
16+
);
17+
CREATE TABLE Event
18+
(
19+
EventId SERIAL PRIMARY KEY,
20+
Action TEXT NOT NULL REFERENCES AvilableAction(ActionName),
21+
PreviousEvent INTEGER REFERENCES Action(ActionId),
22+
23+
ActionTargetObject INTEGER REFERENCES Object(ObjectId),
24+
ActionTargetType TEXT REFERENCES ObjectType(TypeName),
25+
ActionInitiator INTEGER REFERENCES Object(ObjectId),
26+
27+
CONSTRAINT EeitherTargetOrInitiator CHECK (ActionTargetObject IS NOT NULL OR ActionTargetType IS NOT NULL OR ActionInitiator IS NOT NULL)
28+
);
29+
30+
INSERT INTO ObjectType(TypeName)
31+
VALUES
32+
('Глупые питекантропы'),
33+
('Способные питекантропы'),
34+
('Мысли'),
35+
('Природные объекты');
36+
37+
INSERT INTO Object(ObjectName, ObjectType)
38+
VALUES
39+
('Смотрящий на Луну', 'Способные питекантропы'),
40+
('Кристалл', 'Природные объекты'),
41+
('Видения', 'Мысли'),
42+
('Щупальца', 'Мысли');
43+
44+
INSERT INTO AvilableAction(ActionName)
45+
VALUES
46+
('Оставить в покое'),
47+
('Сосредоточить внимание'),
48+
('Почувствовать'),
49+
('Шариться в закаулках мозга'),
50+
('Начаться');
51+
52+
INSERT INTO Event(Action, PreviousEvent, ActionTargetObject, ActionTargetType, ActionInitiator)
53+
VALUES
54+
('Оставить в покое', NULL, NULL, 'Глупые питекантропы', 2), -- Крсталл оставил некоторых питекантропов в покое
55+
('Сосредоточить внимание', NULL, NULL, 'Способные питекантропы', 2), -- Кристалл сосредоточил внимание на способных питекантропах
56+
('Почувствовать', NULL, 1, NULL, NULL), -- Смотрящий на Луну почувствовал
57+
('Шариться в закаулках мозга', NULL, 1, NULL, 4), -- Щупальца шарятся в закаулках мозга Смотрящего на Луну
58+
('Начаться', 4, 1, NULL, 3); -- Затем у Смотрящего на Луну начались видения
59+
60+
END;

0 commit comments

Comments
 (0)