przykladowe-projekty/Baza sql

725 lines
26 KiB
Plaintext
Raw Normal View History

kina.sql =================================================== KONCEPCJA PROJEKTU BAZY DANYCH =================================================== --------------------------------------------------- 1. Nazwa bazy danych: --------------------------------------------------- -Kina --------------------------------------------------- 2. Nazwa tabeli transakcyjnej (dynamicznej, faktów): --------------------------------------------------- -Seanse(nazwa filmu, czas trwania, godzina rozpoczęcia, sala) --------------------------------------------------- 3. Nazwy pozostałych tabel (co najmniej czterech): ---------------------------------------------------- -Filmy(nazwa filmu, podział na krótkometrażowe i długometrażowe) -Produkcja -Kina -Odwiedzający(kto, kiedy, jaki seans wybrał) ----------------------------------------------------------------- 4. Nazwy pięciu raportów zbudowanych na tabeli transakcyjnej (co najmniej dwa z parametrem): ------------------------------------------------------------------ -Ilość odwiedzających w danym miesiącu w danej sieci kin(parametr: miesiąc) -Najczęściej wybierany film w danym miesiącu(parametr: miesiąc) -Popularność gatunku filmowego w poszczególnych kinach(parametr: gatunek) -Liczba seansów w konkretnym języku -Najczęściej odwiedzający kino gość Opis bazy danych Celem bazy danych jest przechowywanie danych przydatnych w analizie zainteresowania klientów w wybranych kinach. Baza przechowuje informacje o seansach, filmach, producentach filmowych, wybranych kinach oraz odwiedzających je gościach. Opis tabel: • Produkcja – przechowuje informacje o producentach filmowych. • Filmy – przechowuje informacje na temat filmów dostępnych w kiach. • Seanse – jest to tabela główna, przechowuje informacje na temat seansów dostępnych w kinach, czasie trwania i godzinie rozpoczęcia, czas trwania to czas trwania filmu oraz czas trwania bloku reklamowego przed filmem(22min). • Kino – informacje na temat poszczególnych kin. • Odwiedzający – najliczniejsza z tabel, są tam informacje na temat odwiedzin klientów, jaki seans wybrali oraz w którym kinie to było.
2021-11-29 16:57:57 +01:00
USE master
GO
IF DB_ID('Kina') IS NULL
CREATE DATABASE Kina
GO
USE Kina
-- ------------------------------------------------------
-- Usuwanie tabel (w odwrotnej kolejności do tworzenia!)
-- ------------------------------------------------------
IF OBJECT_ID('Odwiedzajacy','U') IS NOT NULL
DROP TABLE Odwiedzajacy
IF OBJECT_ID('Kino','U') IS NOT NULL
DROP TABLE Kino
IF OBJECT_ID('Seanse','U') IS NOT NULL
DROP TABLE Seanse
IF OBJECT_ID('Filmy','U') IS NOT NULL
DROP TABLE Filmy
IF OBJECT_ID('Produkcja','U') IS NOT NULL
DROP TABLE Produkcja
GO
-- --------------------------------
-- Tworzenie tabel
-- --------------------------------
IF OBJECT_ID('Produkcja','U') IS NULL
CREATE TABLE Produkcja (
producent VARCHAR(40) PRIMARY KEY,
pochodzenie VARCHAR(20),
jezyk VARCHAR(2)
)
IF OBJECT_ID('Filmy','U') IS NULL
CREATE TABLE Filmy (
nazwa_filmu VARCHAR(50) PRIMARY KEY,
dlugosc_filmu VARCHAR(10),
gatunek VARCHAR(30),
produkcja VARCHAR(40) FOREIGN KEY REFERENCES Produkcja(producent),
rok_produkcji INT,
kategoria_wiekowa INT,
)
IF OBJECT_ID('Seanse','U') IS NULL
CREATE TABLE Seanse (
id_seansu INT IDENTITY(1,1) PRIMARY KEY,
nazwa_filmu VARCHAR(50) FOREIGN KEY REFERENCES Filmy(nazwa_filmu),
seans VARCHAR(2) CHECK (seans in ('2D', '3D')) DEFAULT '2D',
czas_trwania VARCHAR(10),
godz_rozpoczęcia VARCHAR(10),
sala INT
)
IF OBJECT_ID('Kino','U') IS NULL
CREATE TABLE Kino (
id_kina INT IDENTITY(100,10) PRIMARY KEY,
nazwa_kina VARCHAR(30),
siec_kin VARCHAR(10) CHECK (siec_kin in ('multikino', 'cinemacity','helios')),
miasto VARCHAR(20)
)
IF OBJECT_ID('Odwiedzajacy','U') IS NULL
CREATE TABLE Odwiedzajacy (
nazwisko_imie VARCHAR(40),
id_seansu INT FOREIGN KEY REFERENCES Seanse(id_seansu),
data_odwiedzin DATE,
id_kina INT FOREIGN KEY REFERENCES Kino(id_kina)
)
GO
-- ---------------------------------
-- Wstawianie wartości do tabel
-- ---------------------------------
INSERT INTO Produkcja(producent, pochodzenie, jezyk) VALUES
('Next Film', 'Polska', 'PL'),
('Mówi Serwis', 'Polska', 'PL'),
('Kino Świat', 'Polska', 'PL'),
('Vega Investments', 'Polska', 'PL'),
('Warner Bros.', 'USA', 'EN'),
('UIP', 'Wielka Brytania', 'EN'),
('Fella Films', 'Kanada', 'EN'),
('Monolith Films', 'USA', 'EN'),
('Marvel Studios', 'USA', 'EN')
GO
INSERT INTO Filmy (nazwa_filmu, dlugosc_filmu, gatunek, produkcja, rok_produkcji, kategoria_wiekowa) VALUES
('Teściowie', '1:22', 'Komedia','Next Film',2021,15),
('Wesele', '2:12', 'Dramat','Kino Świat',2021,16),
('Najmro Kocha kradnie szanuje', '1:36','Kryminał','Mówi Serwis',2021,15),
('Zupa nic', '1:34', 'Komediodramat','Kino Świat',2021,12),
('Czarny Młyn', '1:40', 'Przygodowy','Mówi Serwis',2020,7),
('Small World', '1:57', 'Kryminał','Vega Investments',2021,15),
('Wcielenie', '1:51', ' Horror','Warner Bros.',2021,15),
('Rodzinka rządzi', '1:47', 'Komedia','UIP',2021,7),
('Na szlaku', '1:32', 'Thriller','Fella Films',2014,16),
('After. Ocal mnie', '1:39', 'Romans','Monolith Films',2021,15),
('Żeby nie było śladów', '2:40', 'Dramat','Kino Świat',2021,16),
('Północny bastion', '1:45', 'Kryminał','Next Film',2020,16),
('Shang-Chi i legenda dziesięciu pierścieni','2:12','Akcja','Marvel Studios',2021,12),
('Czarna Wdowa', '2:14', 'Akcja','Marvel Studios',2020,12),
('Czarna owca', '1:47', 'Komediodramat','UIP',2021,15),
('Nie czas umierać', '2:43', 'Akcja','Monolith Films',2021,13),
('Diuna','2:35', 'Dramat','Warner Bros.',2021,13),
('Kiedy nikt nie patrzy', '1:56','Thriller','Vega Investments',2021,15),
('Candyman', '1:31', 'Horror','Mówi Serwis',2021,15),
('Obecność 3: Na rozkaz diabła', '1:52', 'Horror','Warner Bros.',2021,15),
('Old','1:48','Dramat', 'UIP',2021,15)
GO
INSERT INTO Seanse(nazwa_filmu, czas_trwania, godz_rozpoczęcia, sala) VALUES
('Teściowie', '1:44', '14:20',1),
('Teściowie', '1:44', '16:20',5),
('Teściowie', '1:44', '19:20',1),
('Najmro Kocha kradnie szanuje', '1:56', '11:00',6),
('Najmro Kocha kradnie szanuje', '1:56', '15:00',4),
('Najmro Kocha kradnie szanuje', '1:56', '18:00',6),
('Zupa nic', '1:54:', '12:30',1),
('Zupa nic', '1:54:', '14:30',7),
('Zupa nic', '1:54:', '15:30',9),
('Czarny Młyn','2:00', '10:30',2),
('Czarny Młyn','2:00', '11:30',3),
('Czarny Młyn','2:00', '13:30',2),
('Small World','2:17', '14:45',7),
('Small World','2:17', '15:45',8),
('Small World','2:17', '16:45',7),
('Small World','2:17', '17:45',8),
('Wcielenie','2:11', '18:45',2),
('Wcielenie','2:11', '20:50',2),
('Rodzinka rządzi', '2:07', '11:50',9),
('Rodzinka rządzi', '2:07', '12:50',9),
('Rodzinka rządzi', '2:07', '14:10',7),
('Na szlaku','1:52', '15:45',1),
('Na szlaku','1:52', '17:50',1),
('After. Ocal mnie','1:59 ', '17:00',4),
('After. Ocal mnie','1:59 ', '19:00',3)
GO
INSERT INTO Seanse(nazwa_filmu, czas_trwania, godz_rozpoczęcia, sala) VALUES
('Żeby nie było śladów', '3:02', '12:50',4),
('Żeby nie było śladów', '3:02', '17:00',3),
('Żeby nie było śladów', '3:02', '17:55',1),
('Wesele', '2:34', '13:50',9),
('Wesele', '2:34', '14:10',9),
('Wesele', '2:34', '17:00',8),
('Wesele', '2:34', '20:00',9),
('Północny bastion', '2:07', '14:30',1),
('Północny bastion', '2:07', '17:00',1),
('Północny bastion', '2:07', '18:00',2),
('Shang-Chi i legenda dziesięciu pierścieni', '2:34', '14:50',6),
('Shang-Chi i legenda dziesięciu pierścieni', '2:34', '15:15',7),
('Shang-Chi i legenda dziesięciu pierścieni', '2:34', '17:00',6),
('Shang-Chi i legenda dziesięciu pierścieni', '2:34', '18:30',7),
('Czarna Wdowa', '2:36', '12:50',3),
('Czarna Wdowa', '2:36', '16:50',3),
('Czarna Wdowa', '2:36', '17:00',9),
('Czarna owca', '2:07', '14:30',1),
('Czarna owca', '2:07', '17:00',1),
('Czarna owca', '2:07', '17:15',2),
('Nie czas umierać', '3:06', '14:10',7),
('Nie czas umierać', '3:06', '17:15',3),
('Nie czas umierać', '3:06', '19:00',1),
('Diuna','2:57', '12:50',8),
('Diuna','2:57', '14:30',8),
('Diuna','2:57', '17:20',8),
('Kiedy nikt nie patrzy', '2:18', '17:30',1),
('Kiedy nikt nie patrzy', '2:18', '19:40',1),
('Candyman', '1:53', '18:30',8),
('Candyman', '1:53', '19:20',9),
('Obecność 3: Na rozkaz diabła', '2:24', '18:40',4),
('Obecność 3: Na rozkaz diabła', '2:24', '19:20',4),
('Obecność 3: Na rozkaz diabła', '2:24', '20:45',3),
('Old','2:18','15:30',7),
('Old','2:18','17:50',7)
GO
GO
INSERT INTO Kino (nazwa_kina, siec_kin, miasto) VALUES
('Multikino 51', 'multikino', 'Poznań'),
('Multikino Stary Browar', 'multikino', 'Poznań'),
('Multikino Malta', 'multikino', 'Poznań'),
('Multikino Złote Tarasy', 'multikino', 'Warszawa'),
('Multikino Targówek', 'multikino', 'Warszawa'),
('Multikino Olimp', 'multikino', 'Lublin'),
('Multikino Kraków', 'multikino', 'Kraków'),
('Cinema City Plaza', 'cinemacity', 'Poznań'),
('Cinema City Kinepolis', 'cinemacity', 'Poznań'),
('Cinema City Arkadia', 'cinemacity', 'Warszawa'),
('Cinema City Mokotów', 'cinemacity', 'Warszawa'),
('Cinema City Bemowo', 'cinemacity', 'Warszawa'),
('Cinema City Witosa 32', 'cinemacity', 'Lublin'),
('Cinema City Plaza Lublin', 'cinemacity', 'Lublin'),
('Cinema City Plaza Bonarka', 'cinemacity', 'Kraków'),
('Cinema City Plaza Zakopianka', 'cinemacity', 'Kraków'),
('Cinema City Plaza Kazimierz', 'cinemacity', 'Kraków'),
('Helios Poznań', 'helios','Poznań'),
('Helios Poznań BlueCity', 'helios', 'Warszawa'),
('Helios Poznań Lublin', 'helios', 'Lublin')
GO
INSERT INTO Odwiedzajacy(nazwisko_imie, id_seansu, id_kina, data_odwiedzin) VALUES
('Arciszewski Paweł',1,100,'2021-09-21'),
('Baczyński Mateusz',1,110,'2021-09-22'),
('Bartosz Iga',4,110,'2021-09-22'),
('Berenhard Kamil',4,140,'2021-09-11'),
('Charliński Arkadiusz',2,130,'2021-09-01'),
('Chimiak Jakub',6,130,'2021-09-02'),
('Chudziak Łukasz Norbert',7,240,'2021-09-02'),
('Chudziński Miłosz',10,240,'2021-09-03'),
('Cichy Kacper',20,240,'2021-09-07'),
('Ciosek Jakub',1,250,'2021-09-07'),
('Czajka Patryk',15,260,'2021-09-13'),
('Czerniak Dariusz',13,250,'2021-09-11'),
('Dobrzycki Mikołaj',12,100,'2021-09-11'),
('Dolata Jakub',10,140,'2021-09-15'),
('Dopierała Mateusz',10,160,'2021-09-15'),
('Drawert Łukasz',10,160,'2021-09-16'),
('Fabianowski Michał',12,160,'2021-09-16'),
('Frąszczak Mateusz',11,180,'2021-09-16'),
('Gibaszek Paweł',11,190,'2021-09-17'),
('Pietrzak Michał',12,170,'2021-09-19'),
('Remlein Oskar',1,180,'2021-08-12'),
('Żurkiewicz Krzysztof',1,180,'2021-08-20'),
('Arciszewski Paweł',17,100,'2021-08-20'),
('Baczyński Mateusz',25,110,'2021-08-17'),
('Bartosz Iga',24,110,'2021-08-17'),
('Berenhard Kamil',24,130,'2021-08-01'),
('Charliński Arkadiusz',23,140,'2021-08-02'),
('Chimiak Jakub',22,130,'2021-08-02'),
('Chudziak Łukasz Norbert',17,240,'2021-08-02'),
('Chudziński Miłosz',18,240,'2021-08-03'),
('Cichy Kacper',20,240,'2021-08-03'),
('Ciosek Jakub',19,240,'2021-08-03'),
('Czajka Patryk',15,260,'2021-08-04'),
('Czerniak Dariusz',13,260,'2021-08-05'),
('Dobrzycki Mikołaj',12,250,'2021-08-06'),
('Dolata Jakub',8,260,'2021-08-07'),
('Dopierała Mateusz',9,290,'2021-08-08'),
('Drawert Łukasz',7,290,'2021-08-25'),
('Fabianowski Michał',12,280,'2021-08-25'),
('Frąszczak Mateusz',6,270,'2021-08-25'),
('Gibaszek Paweł',5,210,'2021-08-29'),
('Pietrzak Michał',5,210,'2021-08-30'),
('Remlein Oskar',2,220,'2021-08-30'),
('Żurkiewicz Krzysztof',4,220,'2021-08-28')
GO
INSERT INTO Odwiedzajacy(nazwisko_imie, id_seansu, id_kina, data_odwiedzin) VALUES
('Dopierała Mateusz','28','180','2021-09-28'),
('Dolata Jakub','58','140','2021-09-7'),
('Pietrzak Michał','50','210','2021-09-11'),
('Żurkiewicz Krzysztof','34','120','2021-09-16'),
('Arciszewski Paweł','43','170','2021-09-1'),
('Dolata Jakub','1','220','2021-09-28'),
('Drawert Łukasz','28','150','2021-09-9'),
('Pietrzak Michał','39','100','2021-09-4'),
('Dopierała Mateusz','37','160','2021-09-7'),
('Charliński Arkadiusz','42','110','2021-09-17'),
('Pietrzak Michał','59','200','2021-09-5'),
('Żurkiewicz Krzysztof','37','210','2021-09-16'),
('Dopierała Mateusz','55','160','2021-09-13'),
('Czajka Patryk','17','100','2021-09-23'),
('Gibaszek Paweł','56','130','2021-09-13'),
('Pietrzak Michał','1','130','2021-09-29'),
('Drawert Łukasz','58','220','2021-09-26'),
('Chudziński Miłosz','32','250','2021-09-9'),
('Dolata Jakub','56','150','2021-09-11'),
('Chudziak Łukasz Norbert','39','230','2021-09-7'),
('Cichy Kacper','52','230','2021-09-27'),
('Dopierała Mateusz','2','160','2021-09-5'),
('Fabianowski Michał','2','120','2021-09-12'),
('Arciszewski Paweł','55','140','2021-09-10'),
('Ciosek Jakub','49','190','2021-09-24'),
('Remlein Oskar','40','270','2021-09-3'),
('Pietrzak Michał','59','200','2021-09-19'),
('Chimiak Jakub','18','210','2021-09-3'),
('Drawert Łukasz','18','100','2021-09-13'),
('Ciosek Jakub','58','210','2021-09-15'),
('Baczyński Mateusz','3','190','2021-09-20'),
('Berenhard Kamil','13','260','2021-09-18'),
('Pietrzak Michał','52','220','2021-09-17'),
('Charliński Arkadiusz','35','180','2021-09-17'),
('Dopierała Mateusz','58','100','2021-09-27'),
('Baczyński Mateusz','38','150','2021-09-24'),
('Frąszczak Mateusz','29','100','2021-09-3'),
('Czajka Patryk','10','160','2021-09-3'),
('Baczyński Mateusz','3','170','2021-09-17'),
('Dolata Jakub','42','130','2021-09-20'),
('Ciosek Jakub','27','260','2021-09-18'),
('Gibaszek Paweł','5','110','2021-09-17'),
('Berenhard Kamil','21','250','2021-09-15'),
('Czajka Patryk','5','170','2021-09-14'),
('Chudziński Miłosz','6','100','2021-09-11'),
('Dolata Jakub','12','170','2021-09-9'),
('Baczyński Mateusz','32','270','2021-09-21'),
('Ciosek Jakub','59','210','2021-09-8'),
('Charliński Arkadiusz','59','270','2021-09-5'),
('Pietrzak Michał','45','150','2021-09-26'),
('Drawert Łukasz','34','270','2021-09-15'),
('Dopierała Mateusz','36','270','2021-09-10'),
('Baczyński Mateusz','58','280','2021-09-11'),
('Pietrzak Michał','56','190','2021-09-9'),
('Baczyński Mateusz','43','270','2021-09-2'),
('Arciszewski Paweł','20','250','2021-09-10'),
('Czajka Patryk','23','220','2021-09-7'),
('Gibaszek Paweł','56','140','2021-09-12'),
('Gibaszek Paweł','20','190','2021-09-7'),
('Arciszewski Paweł','22','280','2021-09-28'),
('Dolata Jakub','22','250','2021-09-29'),
('Dobrzycki Mikołaj','22','260','2021-09-13'),
('Charliński Arkadiusz','3','200','2021-09-11'),
('Chudziak Łukasz Norbert','35','150','2021-09-26'),
('Charliński Arkadiusz','8','110','2021-09-22'),
('Baczyński Mateusz','8','110','2021-09-10'),
('Dobrzycki Mikołaj','16','220','2021-09-21'),
('Chimiak Jakub','18','150','2021-09-18'),
('Frąszczak Mateusz','12','140','2021-09-7'),
('Czerniak Dariusz','12','250','2021-09-3'),
('Remlein Oskar','34','180','2021-09-11'),
('Charliński Arkadiusz','4','130','2021-09-11'),
('Dopierała Mateusz','2','140','2021-09-22'),
('Berenhard Kamil','13','280','2021-09-16'),
('Czerniak Dariusz','6','240','2021-09-13'),
('Chimiak Jakub','24','210','2021-09-10'),
('Drawert Łukasz','44','210','2021-09-5'),
('Drawert Łukasz','14','240','2021-09-19'),
('Dobrzycki Mikołaj','4','170','2021-09-18'),
('Czajka Patryk','50','100','2021-09-5'),
('Ciosek Jakub','33','180','2021-09-25'),
('Dobrzycki Mikołaj','28','280','2021-09-29'),
('Arciszewski Paweł','9','260','2021-09-18'),
('Czajka Patryk','52','230','2021-09-26'),
('Chudziński Miłosz','24','120','2021-09-11'),
('Cichy Kacper','46','100','2021-09-5'),
('Bartosz Iga','26','280','2021-09-4'),
('Ciosek Jakub','8','130','2021-09-14'),
('Dolata Jakub','16','130','2021-09-16'),
('Charliński Arkadiusz','39','260','2021-09-5'),
('Chimiak Jakub','59','170','2021-09-4'),
('Remlein Oskar','51','270','2021-09-6'),
('Chudziński Miłosz','51','160','2021-09-21'),
('Charliński Arkadiusz','24','180','2021-09-2'),
('Czerniak Dariusz','33','190','2021-09-15'),
('Dolata Jakub','28','260','2021-09-16'),
('Drawert Łukasz','40','110','2021-09-27'),
('Frąszczak Mateusz','13','220','2021-09-12'),
('Czerniak Dariusz','17','230','2021-09-29')
GO
INSERT INTO Odwiedzajacy(nazwisko_imie, id_seansu, id_kina, data_odwiedzin) VALUES
('Fabianowski Michał','5','190','2021-09-18'),
('Baczyński Mateusz','46','100','2021-09-24'),
('Charliński Arkadiusz','45','230','2021-09-20'),
('Baczyński Mateusz','13','200','2021-09-4'),
('Ciosek Jakub','20','130','2021-09-24'),
('Czerniak Dariusz','26','130','2021-09-2'),
('Berenhard Kamil','23','270','2021-09-5'),
('Fabianowski Michał','16','210','2021-09-7'),
('Żurkiewicz Krzysztof','44','260','2021-09-22'),
('Drawert Łukasz','19','140','2021-09-21'),
('Żurkiewicz Krzysztof','2','120','2021-09-4'),
('Chimiak Jakub','35','230','2021-09-18'),
('Baczyński Mateusz','48','100','2021-09-7'),
('Frąszczak Mateusz','24','230','2021-09-18'),
('Bartosz Iga','33','200','2021-09-26'),
('Dobrzycki Mikołaj','30','230','2021-09-4'),
('Charliński Arkadiusz','10','180','2021-09-22'),
('Pietrzak Michał','29','250','2021-09-9'),
('Pietrzak Michał','27','280','2021-09-23'),
('Ciosek Jakub','27','150','2021-09-23'),
('Ciosek Jakub','25','170','2021-09-23'),
('Dolata Jakub','20','160','2021-09-14'),
('Chimiak Jakub','58','120','2021-09-2'),
('Chimiak Jakub','11','240','2021-09-9'),
('Dopierała Mateusz','14','120','2021-09-21'),
('Chudziak Łukasz Norbert','22','160','2021-09-27'),
('Drawert Łukasz','23','220','2021-09-7'),
('Charliński Arkadiusz','36','270','2021-09-15'),
('Berenhard Kamil','7','140','2021-09-4'),
('Czajka Patryk','19','120','2021-09-6'),
('Chudziński Miłosz','38','200','2021-09-9'),
('Dolata Jakub','49','270','2021-09-1'),
('Dobrzycki Mikołaj','23','180','2021-09-19'),
('Fabianowski Michał','5','110','2021-09-24'),
('Fabianowski Michał','50','140','2021-09-6'),
('Chudziński Miłosz','12','280','2021-09-13'),
('Chudziak Łukasz Norbert','53','160','2021-09-13'),
('Czerniak Dariusz','52','210','2021-09-26'),
('Pietrzak Michał','52','210','2021-09-9'),
('Gibaszek Paweł','1','140','2021-09-7'),
('Gibaszek Paweł','8','120','2021-09-3'),
('Berenhard Kamil','57','100','2021-09-25'),
('Bartosz Iga','38','120','2021-09-28'),
('Baczyński Mateusz','17','160','2021-09-2'),
('Gibaszek Paweł','50','280','2021-09-5'),
('Chudziak Łukasz Norbert','58','280','2021-09-14'),
('Dobrzycki Mikołaj','47','100','2021-09-5'),
('Chudziak Łukasz Norbert','45','190','2021-09-29'),
('Pietrzak Michał','19','230','2021-09-27'),
('Żurkiewicz Krzysztof','36','270','2021-09-28'),
('Chudziński Miłosz','14','270','2021-09-18'),
('Fabianowski Michał','3','260','2021-09-9'),
('Gibaszek Paweł','38','230','2021-09-14'),
('Ciosek Jakub','13','250','2021-09-19'),
('Żurkiewicz Krzysztof','37','210','2021-09-23'),
('Cichy Kacper','43','130','2021-09-7'),
('Berenhard Kamil','26','130','2021-09-1'),
('Frąszczak Mateusz','6','220','2021-09-26'),
('Chudziak Łukasz Norbert','4','180','2021-09-22'),
('Pietrzak Michał','38','160','2021-09-15'),
('Baczyński Mateusz','33','260','2021-09-14'),
('Remlein Oskar','34','210','2021-09-28'),
('Żurkiewicz Krzysztof','3','190','2021-09-2'),
('Dopierała Mateusz','22','270','2021-09-16'),
('Chimiak Jakub','56','210','2021-09-3'),
('Cichy Kacper','22','150','2021-09-12'),
('Dobrzycki Mikołaj','15','180','2021-09-12'),
('Drawert Łukasz','15','240','2021-09-10'),
('Pietrzak Michał','2','270','2021-09-9'),
('Chudziak Łukasz Norbert','46','220','2021-09-12'),
('Ciosek Jakub','30','120','2021-09-18'),
('Chudziak Łukasz Norbert','43','140','2021-09-16'),
('Drawert Łukasz','21','250','2021-09-23'),
('Cichy Kacper','40','260','2021-09-19'),
('Fabianowski Michał','1','270','2021-09-26'),
('Baczyński Mateusz','30','220','2021-09-12'),
('Dobrzycki Mikołaj','46','140','2021-09-21'),
('Remlein Oskar','17','170','2021-09-28'),
('Arciszewski Paweł','41','100','2021-09-23'),
('Bartosz Iga','11','220','2021-09-17'),
('Dopierała Mateusz','28','200','2021-09-19'),
('Drawert Łukasz','11','220','2021-09-24'),
('Frąszczak Mateusz','15','260','2021-09-22'),
('Charliński Arkadiusz','55','210','2021-09-7'),
('Chudziak Łukasz Norbert','55','140','2021-09-15'),
('Pietrzak Michał','16','110','2021-09-19'),
('Drawert Łukasz','9','210','2021-09-22'),
('Remlein Oskar','42','190','2021-09-13'),
('Remlein Oskar','33','110','2021-09-2'),
('Chudziński Miłosz','47','270','2021-09-10'),
('Arciszewski Paweł','6','140','2021-09-8'),
('Chimiak Jakub','56','180','2021-09-10'),
('Pietrzak Michał','14','160','2021-09-13'),
('Chimiak Jakub','15','120','2021-09-18'),
('Charliński Arkadiusz','41','180','2021-09-25'),
('Cichy Kacper','48','110','2021-09-24'),
('Dopierała Mateusz','5','210','2021-09-3'),
('Dobrzycki Mikołaj','22','170','2021-09-3'),
('Pietrzak Michał','9','120','2021-09-26'),
('Gibaszek Paweł','3','260','2021-09-14')
GO
INSERT INTO Odwiedzajacy(nazwisko_imie, id_seansu, id_kina, data_odwiedzin) VALUES
('Sasin Jacek','27','140','2021-08-14'),
('Nowak Adam','10','140','2021-08-18'),
('Makłowicz Robert','49','170','2021-08-29'),
('Rogala Krzysztof','47','140','2021-08-22'),
('Chomczyński Adrian','48','110','2021-08-24'),
('Pałka-Urban Natalia','8','260','2021-08-14'),
('Zdrojewska Kornelia','39','170','2021-08-23'),
('Nowak Adam','10','210','2021-08-4'),
('Kaczor Mateusz','19','210','2021-08-4'),
('Nowak Adam','56','210','2021-08-24'),
('Makłowicz Robert','43','100','2021-08-25'),
('Chomczyński Adrian','23','170','2021-08-8'),
('Kaczor Mateusz','51','140','2021-08-16'),
('Nowak Adam','52','140','2021-08-14'),
('Pałka-Urban Natalia','57','240','2021-08-27'),
('Biedroń Robert','9','200','2021-08-19'),
('Biedroń Robert','29','140','2021-08-5'),
('Pałka-Urban Natalia','37','140','2021-08-16'),
('Zdrojewska Kornelia','14','250','2021-08-2'),
('Pawlik Bartosz','31','170','2021-08-23'),
('Rodowicz Maryla','59','230','2021-08-9'),
('Pałka-Urban Natalia','9','240','2021-08-15'),
('Rodowicz Maryla','51','110','2021-08-6'),
('Zdrojewska Kornelia','11','260','2021-08-2'),
('Sasin Jacek','53','210','2021-08-15'),
('Chomczyński Adrian','18','240','2021-08-26'),
('Sierociński Jakub','20','170','2021-08-10'),
('Pałka-Urban Natalia','8','120','2021-08-5'),
('Chomczyński Adrian','45','250','2021-08-14'),
('Rogala Krzysztof','32','170','2021-08-11'),
('Sierociński Jakub','57','220','2021-08-22'),
('Pałka-Urban Natalia','10','200','2021-08-6'),
('Pałka-Urban Natalia','58','220','2021-08-27'),
('Rodowicz Maryla','13','250','2021-08-3'),
('Pałka-Urban Natalia','29','240','2021-08-16'),
('Pawlik Bartosz','11','100','2021-08-14'),
('Nowak Adam','31','260','2021-08-8'),
('Pałka-Urban Natalia','18','270','2021-08-14'),
('Sasin Jacek','16','280','2021-08-20'),
('Kaczor Mateusz','24','190','2021-08-19'),
('Pałka-Urban Natalia','41','140','2021-08-4'),
('Zdrojewska Kornelia','31','190','2021-08-6'),
('Pałka-Urban Natalia','11','110','2021-08-11'),
('Makłowicz Robert','11','170','2021-08-22'),
('Pałka-Urban Natalia','21','280','2021-08-4'),
('Pałka-Urban Natalia','11','260','2021-08-5'),
('Rodowicz Maryla','36','130','2021-08-13'),
('Chomczyński Adrian','51','160','2021-08-26'),
('Zdrojewska Kornelia','30','150','2021-08-2'),
('Biedroń Robert','18','200','2021-08-1'),
('Rodowicz Maryla','13','250','2021-07-11'),
('Rodowicz Maryla','31','230','2021-07-9'),
('Chomczyński Adrian','4','230','2021-07-6'),
('Rogala Krzysztof','43','240','2021-07-29'),
('Sasin Jacek','43','220','2021-07-20'),
('Rogala Krzysztof','1','180','2021-07-7'),
('Sierociński Jakub','16','110','2021-07-13'),
('Makłowicz Robert','59','190','2021-07-11'),
('Biedroń Robert','56','210','2021-07-12'),
('Pałka-Urban Natalia','5','140','2021-07-3'),
('Sierociński Jakub','34','130','2021-07-18'),
('Chomczyński Adrian','55','250','2021-07-3'),
('Nowak Adam','14','260','2021-07-20'),
('Kaczor Mateusz','46','250','2021-07-10'),
('Nowak Adam','5','240','2021-07-5'),
('Sierociński Jakub','15','180','2021-07-3'),
('Rogala Krzysztof','39','140','2021-07-5'),
('Chomczyński Adrian','43','260','2021-07-14'),
('Chomczyński Adrian','38','110','2021-07-15'),
('Rogala Krzysztof','42','200','2021-07-24'),
('Pałka-Urban Natalia','29','270','2021-07-8'),
('Sasin Jacek','39','200','2021-07-11'),
('Biedroń Robert','44','230','2021-07-7'),
('Sierociński Jakub','12','270','2021-07-10'),
('Pałka-Urban Natalia','26','120','2021-07-23'),
('Sasin Jacek','46','180','2021-07-17'),
('Kaczor Mateusz','6','220','2021-07-7'),
('Makłowicz Robert','17','270','2021-07-15'),
('Makłowicz Robert','37','200','2021-07-26'),
('Makłowicz Robert','57','190','2021-07-1'),
('Sierociński Jakub','49','230','2021-07-24'),
('Chomczyński Adrian','20','200','2021-07-2'),
('Nowak Adam','34','260','2021-07-9'),
('Pałka-Urban Natalia','59','200','2021-07-2'),
('Rodowicz Maryla','46','240','2021-07-17'),
('Sierociński Jakub','59','280','2021-07-22'),
('Kaczor Mateusz','34','170','2021-07-18'),
('Pawlik Bartosz','5','250','2021-07-29'),
('Nowak Adam','33','200','2021-07-9'),
('Kaczor Mateusz','4','180','2021-07-29'),
('Sierociński Jakub','21','160','2021-07-23'),
('Sierociński Jakub','16','240','2021-07-11'),
('Zdrojewska Kornelia','20','140','2021-07-14'),
('Rogala Krzysztof','59','220','2021-07-21'),
('Nowak Adam','23','130','2021-07-29'),
('Biedroń Robert','19','270','2021-07-14'),
('Makłowicz Robert','51','130','2021-07-19'),
('Sasin Jacek','45','170','2021-07-12'),
('Kaczor Mateusz','46','100','2021-07-17'),
('Chomczyński Adrian','38','240','2021-07-2')
GO
----------------------------------------------------------------------------
--Ilość odwiedzających w danym miesiącu w danej sieci kin(parametr: miesiąc)
----------------------------------------------------------------------------
IF OBJECT_ID('odwiedzajacy_na_miesiac','P') IS NOT NULL
DROP PROCEDURE odwiedzajacy_na_miesiac
GO
CREATE PROCEDURE odwiedzajacy_na_miesiac (@miesiac INT = 08) AS
SELECT DISTINCT Kino.siec_kin, Odwiedziny = COUNT(Odwiedzajacy.nazwisko_imie) FROM Kino
INNER JOIN Odwiedzajacy ON Odwiedzajacy.id_kina = Kino.id_kina
WHERE MONTH(data_odwiedzin) = @miesiac
GROUP BY Kino.siec_kin
GO
----------------------------------------------------------------------------
--Najczęściej wybierany film w danym miesiącu(parametr: miesiąc)
----------------------------------------------------------------------------
IF OBJECT_ID('topfilm','P') IS NOT NULL
DROP PROCEDURE topfilm
GO
CREATE PROCEDURE topfilm (@miesiac INT = 08) AS
SELECT TOP 1 nazwa_filmu, Widzowie = COUNT(Odwiedzajacy.id_seansu)
FROM Seanse
INNER JOIN Odwiedzajacy ON Odwiedzajacy.id_seansu = Seanse.id_seansu
WHERE MONTH(data_odwiedzin) = @miesiac
GROUP BY nazwa_filmu
ORDER BY Widzowie DESC
GO
----------------------------------------------------------------------------
--Popularność gatunku filmowego w poszczególnych kinach(parametr: gatunek)
----------------------------------------------------------------------------
IF OBJECT_ID('topgatunek','V') IS NOT NULL
DROP VIEW topgatunek
GO
IF OBJECT_ID('topgatunek','P') IS NOT NULL
DROP PROCEDURE topgatunek
GO
CREATE PROCEDURE topgatunek (@gatunek VARCHAR(30) ='Komedia') AS
SELECT DISTINCT Kino.nazwa_kina, Filmy.gatunek, popularnosc_gatunku = (COUNT(Filmy.gatunek) * COUNT(Odwiedzajacy.id_seansu) / COUNT(Odwiedzajacy.nazwisko_imie))
FROM Filmy
INNER JOIN Seanse ON Filmy.nazwa_filmu = Seanse.nazwa_filmu
INNER JOIN Odwiedzajacy ON Seanse.id_seansu = Odwiedzajacy.id_seansu
INNER JOIN Kino ON Odwiedzajacy.id_kina = Kino.id_kina
WHERE gatunek = @gatunek
GROUP BY nazwa_kina, gatunek
ORDER BY popularnosc_gatunku DESC offset 0 rows
GO
----------------------------------------------------------------------------
--Licza seansów w konkretnym języku
----------------------------------------------------------------------------
IF OBJECT_ID('topjezyk','V') IS NOT NULL
DROP VIEW topjezyk
GO
CREATE VIEW topjezyk AS (
SELECT DISTINCT jezyk, ile_seansow = COUNT(Filmy.produkcja)
FROM Produkcja
INNER JOIN Filmy ON Filmy.produkcja = Produkcja.producent
INNER JOIN Seanse ON Seanse.nazwa_filmu = Filmy.nazwa_filmu
GROUP BY jezyk
)
GO
----------------------------------------------------------------------------
--Najczęściej odwiedzający kino gość
----------------------------------------------------------------------------
IF OBJECT_ID('topgosc','V') IS NOT NULL
DROP VIEW topgosc
GO
CREATE VIEW topgosc AS (
SELECT TOP 1 nazwisko_imie, naj_ilosc_wizyt = COUNT(*) FROM Odwiedzajacy
GROUP BY nazwisko_imie
ORDER BY naj_ilosc_wizyt DESC
)
GO
-- ---------------------------------------------
-- Utworzenie raportów (wywołanie widoków)
-- ---------------------------------------------
EXEC odwiedzajacy_na_miesiac 09
EXEC topfilm 09
EXEC topgatunek Horror
SELECT * FROM topjezyk
SELECT * FROM topgosc
USE master
GO
IF DB_ID('Kina') IS NOT NULL
DROP DATABASE Kina
GO