-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLab2.sql
130 lines (100 loc) · 3.99 KB
/
Lab2.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
set foreign_key_checks = 0;
drop table if exists user;
set foreign_key_checks = 1;
create table user
(name varchar(45),
address varchar(45),
telNbr integer,
userName varchar(10),
primary key (userName));
#a uppgift
insert into user (name, address, telNbr, userName)
values ('Osama Menim', 'Rubinvägen 38', 0777777, 'Oze131');
insert into user (name, address, telNbr, userName)
values ('Hamza Abdulilah', 'Malmögatan 3', 0777777, 'Hamzi131');
insert into user (name, address, telNbr, userName)
values ('Henrik Olsson', 'Anujansgata 8', 0777777, 'Henke11');
select *
from user
order by name;
#--------------------------------------------------------------------------------------------------
create table theatre
(theName varchar(45), #Understrukna attribut i IR modellen är PrimaryKeys
seats integer,
primary key (theName));
set foreign_key_checks = 1;
set foreign_key_checks = 0;
drop table if exists theatre;
insert into theatre (theName, seats)
values ('Royal', 540);
insert into theatre (theName, seats)
values ('Entré', 120);
insert into theatre (theName, seats)
values ('Filmstaden', 245);
select *
from theatre
order by theName;
#-----------------------------------------------------------------------------------------------
create table movie( title varchar(45), primary key(title));
set foreign_key_checks = 1;
set foreign_key_checks = 0;
drop table if exists movie;
insert into movie (title)
values ('Gudfadern');
insert into movie (title)
values ('Kalle Anka');
insert into movie (title)
values ('The Watch');
insert into movie (title)
values ('Divergent');
insert into movie (title)
values ('The Town');
insert into movie (title)
values ('Hobbit');
select *
from movie
order by title;
#-----------------------------------------------------------------------------------------------------
set foreign_key_checks = 1;
set foreign_key_checks = 0;
drop table if exists performance;
create table performance
(date varchar(45), #Weak entity, performance tar date, title ochv teaternamn.
title varchar(45), #Date och title utgör en key i detta fallet
theName varchar(45),
primary key (date, title),
foreign key (title) references movie (title), #Foreign keys är nycklar som används från andra "klasser"
foreign key (theName) references theatre (theName));
insert into performance(date, title , theName)
values('2017-01-25', 'Hobbit', 'Royal');
insert into performance (date, title, theName)
values ('2016-01-23', 'Divergent', 'Royal');
insert into performance (date, title, theName)
values ('2016-01-25', 'Divergent', 'Entré');
insert into performance (date, title, theName)
values ('2016-01-17', 'Kalle Anka', 'Royal');
insert into performance (date, title, theName)
values ('2016-02-03', 'Divergent', 'Filmstaden');
select *
from performance
order by date;
#---------------------------------------------------------------------------------------------------------
set foreign_key_checks = 1;
set foreign_key_checks = 0;
drop table if exists reservation;
create table reservation (userName varchar(45),
resNbr integer auto_increment,
date varchar(45), #Enligt modellen, så ska reservation bestå utav grannarna (relationer) höger&vänster. Weak entity.
title varchar(45),
primary key (resNbr),
foreign key (userName) references user (userName), #Foreign keys är nycklar som används från andra "klasser"
foreign key (date, title) references performance (date, title));
insert into reservation (userName, date, title)
values ('Oze131', '2017-01-25' , 'Hobbit');
insert into reservation (userName, date, title)
values ('Henke11', '2016-02-03', 'Divergent');
insert into reservation (userName, date, title)
values ('Hamzi131','2016-01-17', 'Kalle Anka');
select *
from reservation
order by date;