· 8 years ago · Jan 16, 2018, 05:32 PM
1DROP DATABASE IF EXISTS testDatabase;
2CREATE DATABASE IF NOT EXISTS testDatabase;
3ALTER DATABASE testDatabase CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
4USE testDatabase;
5
6DROP TABLE IF EXISTS movie_view;
7DROP TABLE IF EXISTS person;
8DROP TABLE IF EXISTS movie;
9DROP TABLE IF EXISTS genre;
10
11CREATE TABLE person (
12 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
13 first_name VARCHAR(255) NOT NULL,
14 last_name VARCHAR(255) NOT NULL
15 );
16
17CREATE TABLE genre (
18 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
19 name VARCHAR(100) NOT NULL UNIQUE
20);
21
22CREATE TABLE movie (
23 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
24 name VARCHAR(100) NOT NULL UNIQUE,
25 genre_id INT NOT NULL,
26 FOREIGN KEY (genre_id) REFERENCES genre(id)
27);
28
29CREATE TABLE movie_view (
30 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
31 person_id INT NOT NULL,
32 movie_id INT NOT NULL,
33 FOREIGN KEY (person_id) REFERENCES person(id),
34 FOREIGN KEY (movie_id) REFERENCES movie(id)
35);
36
37INSERT INTO person
38 (first_name, last_name)
39VALUES
40 ("Mateusz", "Sobolewski"),
41 ("Otylia", "Wesołowska"),
42 ("Karol", "Olszewski"),
43 ("Weronika", "Morawska"),
44 ("Antoni", "Mazur"),
45 ("Paulina", "Wojciechowska"),
46 ("Hubert", "Kurowski"),
47 ("Wiktoria", "Wiśniewska"),
48 ("Marta", "Kucharska"),
49 ("Aleksandra", "Mazur");
50
51INSERT INTO genre
52 (name)
53VALUES
54 ("Komedia"),
55 ("Horror"),
56 ("Science fiction");
57
58INSERT INTO movie
59 (name, genre_id)
60VALUES
61 ("Forrest Gump", 1),
62 ("Monty Python i Święty Graal", 1),
63 ("Chłopaki nie płaczą ", 1),
64 ("Obcy - 8. pasażer \"Nostromo\"", 2),
65 ("Lśnienie", 2),
66 ("Wywiad z wamipirem", 2),
67 ("Dziecko Rosemary", 2),
68 ("Incepcja", 3),
69 ("Interstellar", 3),
70 ("Åowca androidów", 3);
71
72INSERT INTO movie_view
73 (person_id, movie_id)
74VALUES
75 (2, 6), (3, 2), (8, 6), (7, 7), (3, 2), (2, 1), (4, 9), (9, 1), (9, 2), (3, 2), (1, 4), (10, 2), (3, 4), (10, 5), (4, 10), (5, 3), (8, 4), (3, 7), (1, 9), (2, 1), (8, 7), (6, 3), (3, 3), (6, 6), (9, 3), (8, 8), (5, 7), (10, 10), (8, 10), (5, 10), (2, 4), (8, 10), (5, 1), (8, 2), (7, 2), (1, 5), (5, 8), (4, 5), (5, 5), (4, 1), (9, 9), (6, 4), (2, 10), (4, 6), (10, 5), (1, 5), (6, 3), (1, 9), (4, 2), (5, 6), (3, 4), (5, 1), (2, 10), (6, 8), (8, 8), (3, 1), (8, 4), (6, 10), (5, 6), (6, 2);
76
77/*
78Zadanie:
79Baza danych obsługuje mały portal na którym użytkownicy mogą oglądać filmy.
801) W celach statystycznych, potrzebna jest lista filmów wraz z ilością odtworzeń, uporządkowana od najczęściej do najrzadziej oglądanego. Napisz zapytanie, które wygeneruje taki wynik.
812) W celach konkursu potrzebna jest lista dwóch najpopularniejszych gatunków filmowych wraz z ilością odtworzeń, uporządkowana od najpopularniejszego do najmniej popularnego gatunku. Napisz zapytanie, które wygeneruje taki wynik.
823) Użytkownicy sygerowali dodanie nowego filmu "Dracula" z gatunku "Horror". Napisz zapytanie, które doda film do bazy danych. (UWAGA: zakładamy, że id gatunku jest nieznane i należy je wyciągnąć z bazy danych).
834) Użytkownicy stwierdzili, że film: Obcy - 8. pasażer "Nostromo", powinien być oznaczony jako film Science fiction, a nie Horror. Napisz zapytanie, które zmieni gatunek filmu (UWAGA: zakładamy, że nie znamy id gatunku i należy je wyciągnąć z bazy danych)
84*/