Download - W7 57-010126-2009-8
![Page 1: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/1.jpg)
Week 757-01012-62009-8 Thanaphat Kalaya
![Page 2: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/2.jpg)
Task 1Implement last week relations to database using selected DBMS
![Page 3: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/3.jpg)
Solution
RelationsCinemas
Theaters
show
Movies
c_id
t_id seat_cap c_id
t_id m_id time_slot price num_adult num_child
m_id
![Page 4: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/4.jpg)
Solution
RelationsCinemas
Theaters
show
Movies
c_id
t_id seat_cap c_id
t_id m_id time_slot price num_adult num_child
m_id
![Page 5: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/5.jpg)
Solution
RelationsCinemas
Theaters
show
Movies
c_id
t_id seat_cap c_id
t_id m_id time_slot price num_adult num_child
m_id
![Page 6: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/6.jpg)
Note : foreign keys
![Page 7: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/7.jpg)
Solution
RelationsCinemas
Theaters
show
Movies
c_id
t_id seat_cap c_id
t_id m_id time_slot price num_adult num_child
m_id
![Page 8: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/8.jpg)
Solution
code : cinemasCREATE TABLE `cinemas` (
`c_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`c_name` CHAR(50) NOT NULL DEFAULT '0',
PRIMARY KEY (`c_id`)
);
![Page 9: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/9.jpg)
Solution
code : theatersCREATE TABLE `theaters` (
`t_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`t_num` INT(10) NOT NULL,
`seat_cap` INT(10) UNSIGNED NOT NULL,
`c_id` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`t_id`),
INDEX `c_id` (`c_id`),
CONSTRAINT `c_id` FOREIGN KEY (`c_id`) REFERENCES `cinemas` (`c_id`)
);
![Page 10: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/10.jpg)
Solution
code : theatersCREATE TABLE `movies` (
`m_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`m_name` CHAR(50) NULL DEFAULT '0',
`m_release` DATE NOT NULL,
PRIMARY KEY (`m_id`)
);
![Page 11: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/11.jpg)
Solution
code : theatersCREATE TABLE `shows` (
`t_id` INT(10) UNSIGNED NOT NULL,
`m_id` INT(10) UNSIGNED NOT NULL,
`time_slot` DATETIME NOT NULL,
`price` INT(11) UNSIGNED NOT NULL,
`num_adult` INT(11) UNSIGNED NOT NULL,
`num_child` INT(11) UNSIGNED NOT NULL,
INDEX `t_id` (`t_id`),
INDEX `m_id` (`m_id`),
CONSTRAINT `m_id` FOREIGN KEY (`m_id`) REFERENCES `movies` (`m_id`),
CONSTRAINT `t_id` FOREIGN KEY (`t_id`) REFERENCES `theaters` (`t_id`)
);
![Page 12: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/12.jpg)
Task 2Insert random data into your designed database using selected DBMS
![Page 13: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/13.jpg)
Solution
random_to_theaterDB.py
![Page 14: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/14.jpg)
Solution
random_to_theaterDB.py
![Page 15: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/15.jpg)
run the code
![Page 16: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/16.jpg)
…
![Page 17: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/17.jpg)
… (1 hrs. later)
![Page 18: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/18.jpg)
…
![Page 19: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/19.jpg)
… (6 hrs. later)
![Page 20: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/20.jpg)
…
![Page 21: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/21.jpg)
okey I think I should stop by now.(8 hrs. later)
![Page 22: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/22.jpg)
Result
![Page 23: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/23.jpg)
Result
![Page 24: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/24.jpg)
Result
![Page 25: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/25.jpg)
Result
![Page 26: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/26.jpg)
Result
![Page 27: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/27.jpg)
Result
The program generated
- 19 rows of data for table “cinemas”
- 530 rows of data for table “movies”
- 541,457 rows of data for table “shows”
- 208 rows of data for table “theaters”
![Page 28: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/28.jpg)
Task 3Write 5 meaningful/practical SQL queries
![Page 29: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/29.jpg)
#1 Query
select
cinemas.c_name,
movies.m_name,
theaters.t_num,
shows.time_slot,
shows.price
from shows
inner join movies on shows.m_id = movies.m_id
inner join theaters on theaters.t_id = shows.t_id
inner join cinemas on cinemas.c_id = theaters.c_id
order by c_name,m_name,time_slot,t_num,price;
![Page 30: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/30.jpg)
#1 Query Result (2.360 sec.)
![Page 31: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/31.jpg)
#2 Query
select
cinemas.c_name,
movies.m_name,
theaters.t_num,
shows.time_slot,
round((shows.num_adult / (shows.num_adult + shows.num_child)) * 100) as percent_adult,
round((shows.num_child / (shows.num_adult + shows.num_child)) * 100) as percent_child,
shows.price*(shows.num_adult + shows.num_child) as income
from shows
inner join movies on shows.m_id = movies.m_id
inner join theaters on theaters.t_id = shows.t_id
inner join cinemas on cinemas.c_id = theaters.c_id
order by c_name,m_name,time_slot,t_num,price;
![Page 32: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/32.jpg)
#2 Query Result (2.766 sec.)
![Page 33: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/33.jpg)
#3 Query
select
cinemas.c_name,
movies.m_name,
theaters.t_num,
shows.time_slot,
shows.price,
round((shows.num_adult / (shows.num_adult + shows.num_child)) * 100) as percent_adult,
round((shows.num_child / (shows.num_adult + shows.num_child)) * 100) as percent_child,
shows.price*(shows.num_adult + shows.num_child) as income
from shows
inner join movies on shows.m_id = movies.m_id
inner join theaters on theaters.t_id = shows.t_id
inner join cinemas on cinemas.c_id = theaters.c_id
order by c_name,m_name,time_slot,t_num,price;
![Page 34: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/34.jpg)
#3 Query Result (2.782 sec.)
![Page 35: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/35.jpg)
#4 Query
select
cinemas.c_name,
movies.m_name,
theaters.t_num,
shows.time_slot,
shows.price,
shows.num_adult,
shows.num_child,
shows.num_adult + shows.num_child as num_customers,
theaters.seat_cap,
round((shows.num_adult / (shows.num_adult + shows.num_child)) * 100) as percent_adult,
round((shows.num_child / (shows.num_adult + shows.num_child)) * 100) as percent_child,
shows.price*(shows.num_adult + shows.num_child) as income
from shows
inner join movies on shows.m_id = movies.m_id
inner join theaters on theaters.t_id = shows.t_id
inner join cinemas on cinemas.c_id = theaters.c_id
order by c_name,m_name,time_slot,t_num,price;
![Page 36: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/36.jpg)
#4 Query Result (3.063 sec.)
![Page 37: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/37.jpg)
#5 Query
select distinct
movies.m_name,
sum(shows.price*(shows.num_adult + shows.num_child)) as total_income
from shows
inner join movies on shows.m_id = movies.m_id
group by movies.m_id
order by total_income desc;
![Page 38: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/38.jpg)
#5 Query Result (0.406 sec.)
![Page 39: W7 57-010126-2009-8](https://reader031.vdocuments.site/reader031/viewer/2022020410/58ce5c261a28ab2f268b4d37/html5/thumbnails/39.jpg)
End of week 7