Skip to content

Commit 0de7b47

Browse files
committed
add files
1 parent a99756c commit 0de7b47

File tree

2 files changed

+152
-0
lines changed

2 files changed

+152
-0
lines changed

09.Table Relations - Lab/camp_db.sql

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
CREATE DATABASE camp;
2+
use camp;
3+
4+
CREATE TABLE rooms(
5+
id INT PRIMARY KEY,
6+
occupation VARCHAR(20) not null,
7+
beds_count int not null
8+
);
9+
10+
CREATE TABLE vehicles(
11+
id int primary key auto_increment not null,
12+
driver_id int not null,
13+
vehicle_type varchar(30) not null,
14+
passengers int not null
15+
);
16+
17+
CREATE TABLE campers(
18+
id INT PRIMARY KEY auto_increment,
19+
first_name varchar(20) not null,
20+
last_name varchar(20) not null,
21+
age int not null,
22+
room int,
23+
vehicle_id int,
24+
CONSTRAINT fk_room_id FOREIGN KEY(room) REFERENCES rooms(id),
25+
CONSTRAINT fk_vehicle_id FOREIGN KEY(vehicle_id) REFERENCES vehicles(id) on delete cascade
26+
);
27+
28+
CREATE TABLE routes(
29+
id INT PRIMARY KEY auto_increment,
30+
starting_point varchar(30) not null,
31+
end_point varchar(30) not null,
32+
leader_id int not null,
33+
route_time TIME NOT NULL,
34+
CONSTRAINT fk_leader_id FOREIGN KEY(leader_id) REFERENCES campers(id)
35+
);
36+
37+
insert into rooms(id,occupation,beds_count) values(101,"occupied",3),
38+
(102,"free",3),
39+
(103,"free",3),
40+
(104,"free",2),
41+
(105,"free",2),
42+
(201,"free",3),
43+
(202,"free",3),
44+
(203,"free",2),
45+
(204,"free",3),
46+
(205,"free",3),
47+
(301,"free",2),
48+
(302,"free",2),
49+
(303,"free",2),
50+
(304,"free",3),
51+
(305,"free",3);
52+
53+
insert into campers(first_name, last_name, age,room) values("Simo", "Sheytanov", 20,101),
54+
("Roli", "Dimitrova", 27,102),
55+
("RoYaL", "Yonkov", 25,301),
56+
("Ivan", "Ivanov", 28,301),
57+
("Alisa", "Terzieva", 25,102),
58+
("Asya", "Ivanova", 26,102),
59+
("Dimitar", "Verbov", 21,301),
60+
("Iskren", "Ivanov", 28,302),
61+
("Bojo", "Gevechanov", 28,302);
62+
63+
insert into vehicles(driver_id,vehicle_type,passengers) values
64+
(1,"bus",20),
65+
(2,"van",10),
66+
(1,"van",10),
67+
(4,"car",5),
68+
(5,"car",5),
69+
(6,"car",4),
70+
(7,"car",3),
71+
(8,"bus",3);
72+
73+
insert into routes(starting_point,end_point,leader_id,route_time) values
74+
("Hotel Malyovitsa", "Malyovitsa Peak", 3, '02:00:00'),
75+
("Hotel Malyovitsa", "Malyovitsa Hut", 3, '00:40:00'),
76+
("Ribni Ezera Hut", "Rila Monastery", 3, '06:00:00'),
77+
("Borovets", "Musala Peak", 4, '03:30:00');
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
-- 1. Mountains and Peaks
2+
3+
CREATE TABLE mountains (
4+
id INT UNSIGNED NOT NULL AUTO_INCREMENT ,
5+
name VARCHAR(50) NOT NULL,
6+
CONSTRAINT pk_mountains PRIMARY KEY(id)
7+
);
8+
9+
CREATE TABLE peaks (
10+
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
11+
name VARCHAR(50) NOT NULL,
12+
mountain_id INT UNSIGNED,
13+
CONSTRAINT pk_peaks PRIMARY KEY(id),
14+
CONSTRAINT fk_peaks_mountains FOREIGN KEY (mountain_id)
15+
REFERENCES mountains (id)
16+
);
17+
18+
-- 2. Trip Organization
19+
20+
SELECT
21+
v.driver_id,
22+
v.vehicle_type,
23+
CONCAT_WS(' ', c.first_name, c.last_name) AS driver_name
24+
FROM
25+
campers AS c
26+
JOIN
27+
vehicles AS v ON c.id = v.driver_id;
28+
29+
-- 3. SoftUni Hiking
30+
31+
SELECT
32+
r.starting_point,
33+
r.end_point,
34+
r.leader_id,
35+
CONCAT_WS(' ', c.first_name, c.last_name) AS leader_name
36+
FROM
37+
campers AS c
38+
JOIN
39+
routes AS r ON c.id = r.leader_id;
40+
41+
-- 5. Project Management DB*
42+
CREATE DATABASE company;
43+
USE company;
44+
45+
CREATE TABLE employees (
46+
id INT UNIQUE NOT NULL AUTO_INCREMENT,
47+
first_name VARCHAR(30) NOT NULL,
48+
last_name VARCHAR(30) NOT NULL,
49+
project_id INT UNIQUE,
50+
CONSTRAINT pk_employees PRIMARY KEY (id)
51+
);
52+
53+
CREATE TABLE clients (
54+
id INT UNIQUE NOT NULL AUTO_INCREMENT,
55+
client_name VARCHAR(100) NOT NULL,
56+
project_id INT UNIQUE,
57+
CONSTRAINT pk_clients PRIMARY KEY (id)
58+
);
59+
60+
CREATE TABLE projects (
61+
id INT UNIQUE NOT NULL AUTO_INCREMENT,
62+
client_id INT UNIQUE,
63+
project_lead_id INT UNIQUE,
64+
CONSTRAINT pk_projects PRIMARY KEY (id)
65+
);
66+
67+
ALTER TABLE employees
68+
ADD CONSTRAINT fk_projects_employees FOREIGN KEY (project_id) REFERENCES projects(id);
69+
70+
ALTER TABLE clients
71+
ADD CONSTRAINT fk_projects_clients FOREIGN KEY (project_id) REFERENCES projects(id);
72+
73+
ALTER TABLE projects
74+
ADD CONSTRAINT fk_clients_projects FOREIGN KEY (client_id) REFERENCES clients(id),
75+
ADD CONSTRAINT fk_emoloyees_projects FOREIGN KEY (project_lead_id) REFERENCES employees(id);

0 commit comments

Comments
 (0)