З В І Т

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2010
Тип роботи:
Інші
Предмет:
Програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національний університет «Львівська політехніка» Кафедра САПР З В І Т про виконання контрольної роботи з курсу: «Проектування банків даних для комп’ютерних систем проектування» Львів – 2010 ПОСТАНОВКА ЗАВДАННЯ Бібліотека обслуговує читачів. Вона складається з читальних залів. На кожного читача заведена карточка яка містить інформацію про читача і прочитані книги. В читальному залі працює персонал. Існує абонемент. Завдання: розробити інфологічну модель бази данних (далі БД), концептуальну модель, та написати запити на мові SQL, які будуть виконувати створення БД, створення таблиць та їх заповнення, вибірки даних, сортування і фільтрування, пошук даних з використанням регулярних виразів, створення обчислюваних полів, «Проектування банків даних для комп’ютерних систем проектування», «Робота із вкладеними запитами», Об’єднання таблиць Інфологічна модель “об’єкт – зв’язок”  Концептуальна модель  SQL запити на створення бази данних, таблиць та їх заповнення: SQL-запит для створення бази данних «Залізна дорога»: CREATE DATABASE `ZaliznaDoroga`; Створення таблиць: SQL-запит для створення таблиці «Пасажир»: CREATE TABLE Pasagur ( Seriya_Documenta varchar( 10 ) NOT NULL, Prizvushche varchar( 15 ) NOT NULL, Imya varchar( 15 ) NOT NULL, Po_Batkovi varchar( 15 ) NOT NULL, Nomer_bilety int( 30) default NULL , Nomer_poizdy int( 30) default NULL , PRIMARY KEY (Nomer_poizdy ) ) ENGINE = MYISAM DEFAULT CHARSET = utf8 SQL-запит для створення таблиці «Поїзд»: CREATE TABLE Poizd ( Nomer_poizdy int( 30) default NULL auto_increment, Tup_Poizdy varchar(30) default NULL , Kinceva_stanciya varchar( 30 ) NOT NULL, Chas_vidpravlennya varchar( 15 ) NOT NULL, Data_vidpravlennya varchar( 15 ) NOT NULL, Chas_prubyttya varchar( 20 ) default NULL , Data_prubyttya varchar( 20 ) default NULL , PRIMARY KEY (Nomer_poizdy) ) ENGINE = MYISAM DEFAULT CHARSET = utf8 SQL-запит для створення таблиці «Білет»: CREATE TABLE Bilet ( Nomer_bilety int( 10 ) NOT NULL, Misce int( 15 ) NOT NULL, Kinceva_stanciya varchar( 15 ) NOT NULL, Cina varchar( 15 ) NOT NULL, Vagon int(10) default NULL, PRIMARY KEY (Nomer_bilety) ) ENGINE = MYISAM DEFAULT CHARSET = utf8 SQL-запит для створення таблиці «Вагон»: CREATE TABLE Vagon ( Vagon int( 10 ) NOT NULL, Tup_vagony varchar( 15 ) NOT NULL, Providnuk varchar( 15 ) default NULL, Stan_vagony varchar( 15 ) default NULL, PRIMARY KEY (Vagon) ) ENGINE = MYISAM DEFAULT CHARSET = utf8 SQL-запит для створення таблиці «Характеристика вагону»: CREATE TABLE Harakterustuka_vagony ( Vagon int( 10 ) NOT NULL, Vugotovleuy varchar( 15 ) NOT NULL, Zavod varchar( 30 ) default NULL, PRIMARY KEY (Vagon) ) ENGINE = MYISAM DEFAULT CHARSET = utf8 Наповнення бази даних: Таблиця «Пасажири»: INSERT INTO Pasagur VALUES ('HJ98986', 'Oksencuk', 'Hrustuna', 'Olexandrivna', '45', '111'); INSERT INTO Pasagur VALUES ('MY88888', 'Danulko', 'Alina', 'Olegivna', '08', '503'); INSERT INTO Pasagur VALUES ('UH97987', 'Levuckyy', 'Sergiy', 'Volodumurovuch', '48', '231'); INSERT INTO Pasagur VALUES ('FD57892', 'Pavlovskyu', 'Sergiy', 'Ivanovuch', '56', '244'); INSERT INTO Pasagur VALUES ('SA32423', 'Pavlovska', 'Olga', 'Borusivna', '57', '012'); INSERT INTO Pasagur VALUES ('KO97343', 'Stratyk', 'Valeriy', 'Anatoliyevuch', '43', '235'); INSERT INTO Pasagur VALUES ('FD43545', 'Kyznecova', 'Olga', 'Vladuslavivna', '73', '156'); INSERT INTO Pasagur VALUES ('ER87873', 'Marchak', 'Andriy', 'Tarasovuch', '54', '464'); INSERT INTO Pasagur VALUES ('JI97733', 'Hroshovuk', 'Vitaliy', 'Serhiyovuch', '54', '615'); INSERT INTO Pasagur VALUES ('SS97673', 'Hitler', 'Adik', 'Zigmyndovuch', '66', '666'); Таблиця «Поїзд»: INSERT INTO Poizd VALUES (111,'Diesel', 'Krakiv', '15.42', '10.11.2010','06.25','12.11.2010'); INSERT INTO Poizd VALUES (503,'Electro', 'Dubno', '13.38', '08.11.2010','16.35','08.11.2010'); INSERT INTO Poizd VALUES (231,'Electro', 'Rivne', '16.22', '20.11.2010','06.45','20.11.2010'); INSERT INTO Poizd VALUES (244,'Diesel', 'Kyiv', '00.41', '16.11.2010','11.28','16.11.2010'); INSERT INTO Poizd VALUES (012,'Electro', 'Krasne', '13.38', '10.11.2010','14.38','10.11.2010'); INSERT INTO Poizd VALUES (235,'Diesel', 'Chernivci', '11.42', '12.11.2010','08.25','13.11.2010'); INSERT INTO Poizd VALUES (156,' Diesel', 'Praha', '07.12', '30.11.2010','09.92','01.12.2010'); INSERT INTO Poizd VALUES (464,' Diesel ', 'Kharkiv', '12.46', '10.11.2010','22.25','11.11.2010'); INSERT INTO Poizd VALUES (615,'Electro', 'Lutsk', '18.22', '22.11.2010','06.25','23.11.2010'); INSERT INTO Poizd VALUES (666,'Electro', 'Hell', '00.00', '01.11.2010','00.00','12.12.2012'); Таблиця «Білет»: INSERT INTO Bilet VALUES ('123', '45', 'Krakiv', '270uah', '12'); INSERT INTO Bilet VALUES ('265','08', 'Dubno', '12uah', '08'); INSERT INTO Bilet VALUES ('356','48', 'Rivne', '15uah', '07'); INSERT INTO Bilet VALUES ('456','56', 'Kyiv', '70uah', '01'); INSERT INTO Bilet VALUES ('542','57', 'Krasne', '6uah', '11'); INSERT INTO Bilet VALUES ('623','43', 'Chernivci', '50uah', '13'); INSERT INTO Bilet VALUES ('776','73', 'Praha', '420uah', '09'); INSERT INTO Bilet VALUES ('880','54', 'Kharkiv', '90uah', '05'); INSERT INTO Bilet VALUES ('934','54', 'Lutsk', '270uah', '10'); INSERT INTO Bilet VALUES ('101','66', 'Hell', '00uah', '06'); Таблиця «Вагон»: INSERT INTO Vagon VALUES ('12','SV', 'Nemurovskuy', 'Novuy'); INSERT INTO Vagon VALUES ('08','Zagalnuy', 'Paytash', 'Staruy'); INSERT INTO Vagon VALUES ('07','Zagalnuy', 'Kogut', 'Staruy'); INSERT INTO Vagon VALUES ('01','Plackart', 'Pukach', 'Staruy'); INSERT INTO Vagon VALUES ('11','Zagalnuy', 'Gendel', 'Novuy'); INSERT INTO Vagon VALUES ('13','Plackart', 'Babuch', 'Staruy'); INSERT INTO Vagon VALUES ('09','SV', 'Potapchuk', 'Novuy'); INSERT INTO Vagon VALUES ('05','Kype', 'Terlel', 'Staruy'); INSERT INTO Vagon VALUES ('10','Kype', 'Kabanov', 'Staruy'); INSERT INTO Vagon VALUES ('06','VIP', 'Devilovskuy', 'Novuy'); Таблиця «Характеристика вагону»: INSERT INTO Harakterustuka_vagony VALUES ('12','2001p', 'Warshava'); INSERT INTO Harakterustuka_vagony VALUES ('08','2000p', 'Lviv'); INSERT INTO Harakterustuka_vagony VALUES ('07','1996p', 'Lviv'); INSERT INTO Harakterustuka_vagony VALUES ('01','1978p', 'Donetsk'); INSERT INTO Harakterustuka_vagony VALUES ('11','2004p', 'Lviv'); INSERT INTO Harakterustuka_vagony VALUES ('13','2000p', 'Lviv'); INSERT INTO Harakterustuka_vagony VALUES ('09','1996p', 'Warshava'); INSERT INTO Harakterustuka_vagony VALUES ('05','1989p', 'Kharkiv'); INSERT INTO Harakterustuka_vagony VALUES ('10','1988p', 'Donetsk'); INSERT INTO Harakterustuka_vagony VALUES ('06','0001p', 'Edem'); SQL запити для вибірки даних, сортування і фільтрування SQL-запит для вибірки параметру «Кінцева станція» з таблиці «Білет». SELECT kinceva_stanciya FROM bilet;  SQL-запит для вибірки параметрів «Прізвище», «Ім’я» та «По батькові» з таблиці «Пасажир». SELECT prizvushche, imya, po_batkovi,seriya_documenta FROM pasagur;  SQL-запит для вибірки параметру «Вагон» та «Провідник» з таблиці «Вагон» з лімітом 6. SELECT vagon,providnuk FROM vagon LIMIT 6;  SQL-запит для вибірки параметрів «Вагон» та «Завод» з таблиці «Характеристика вагону» - всі окрім «Завод» = Львів. SELECT vagon, zavod FROM harakterustuka_vagony WHERE zavod <> 'Lviv';  SQL-запит для вибірки всіх параметрів з таблиці «Поїзд» - всі менше 250. SELECT * FROM poizd WHERE nomer_poizdy < '250';  SQL-запит для вибірки всіх параметрів з таблиці «Білет» - сортувати за номером вагону. SELECT * FROM bilet ORDER BY vagon ;  SQL-запит для вибірки всіх параметрів з таблиці «Поїзд» - Час відправлення від 00:00 да 12:00. SELECT * FROM poizd WHERE chas_vidpravlennya BETWEEN 00.00 AND 12.00;  Пошук даних з використанням регулярних виразів. Створення обчислюваних полів SQL-запит для пошуку параметру «№ білету» з таблиці «Білет» - сортувати за номером білету. SELECT nomer_bilety FROM bilet WHERE nomer_bilety REGEXP '.56' ORDER BY nomer_bilety;  SQL-запит для пошуку параметру «Прізвище» з таблиці «Пасажир» - сорутвати по прізвищу, всі де є буква «о». SELECT prizvushche FROM pasagur WHERE prizvushche REGEXP 'o' ORDER BY prizvushche;  SQL-запит для пошуку параметрів «Прізвище» та «Ім’я» з таблиці «Пасажир» - сортувати за прізвищем. SELECT Concat(prizvushche, '(', imja,')') FROM pasagur ORDER BY prizvushche;  SQL-запит для пошуку параметрів «Кінцева станція» та «Ціна» з таблиці «Білет» - створення цінника. SELECT Concat(RTrim(kinceva_stanciya), ' (', RTrim(cina), ')') AS Cinnuk FROM bilet ORDER BY kinceva_stanciya;  Групування даних SQL-запит для групування параметру «Номер білету» з таблиці «Білет». SELECT COUNT(*) AS nomer_bilety FROM bilet GROUP BY nomer_bilety;   SQL-запит для групування параметрів «Номер білету» та «Ціна» з таблиці «Білет». SELECT nomer_bilety, COUNT(*) AS cina FROM bilet GROUP BY nomer_bilety;     SQL-запит для групування параметрів «Номер білету» та «Ціна» з таблиці «Білет» - групувати за номером булету, сумма в квадраті, сортування за ціною. SELECT nomer_bilety, SUM( cina * cina ) FROM bilet GROUP BY nomer_bilety HAVING SUM( cina * cina ) ORDER BY cina;  Робота із вкладеними запитами SQL-запит вибірки параметру «Місце» з таблиці «Білет» - де вагон 11й.  SELECT misce FROM bilet WHERE vagon = '11';   SQL-запит вибірки параметрів «Ім'я», «По батькові» та «Прізвище» з таблиці «Пасажир» - де номер поїзду 111, 12, 156. SELECT imya , pobatkovi, prizvushche FROM pasagur WHERE nomer_poizdy IN (111,12,156)   SQL-запит вибірки параметру «Прізвище» з таблиці «Пасажир» - де тип поїзду дизель. SELECT prizvushche FROM pasagur WHERE nomer_poizdy IN (SELECT nomer_poizdy FROM poizd WHERE tup_poizdy = 'diesel');   SQL-запит вибірки параметру «Провідник» з таблиці «Вагон» - де «Вагон» з таблиці «Білет», де «Кінцева станція» з таблиці «Поїзд» де є «Час прибуття». SELECT providnuk FROM vagon WHERE vagon IN (SELECT vagon FROM bilet WHERE kinceva_stanciya IN (SELECT kinceva_stanciya FROM poizd WHERE chas_prubyttya));   Об’єднання таблиць SQL-запит для об’єднання параметрів «Прізвище», «Ім’я», «Кінцева станція» та «Ціна» в таблицях «Пасажир» та «Білет». SELECT prizvushche,imya,kinceva_stanciya,cina FROM pasagur, bilet WHERE pasagur.nomer_bilety=bilet.misce ORDER BY prizvushche;  SQL-запит для об’єднання параметрів «Вагон», «Завод» та «Виготовлений» в таблицях «Характеристика» та «Білет» - де «Ціна» більша 15грн. SELECT vagon,zavod,vugotovleuy FROM harakterustuka_vagony WHERE vagon in (SELECT vagon FROM bilet WHERE cina > 15);  SQL-запит для об’єднання параметрів «Прізвище та «Ім’я» в таблиці «Пасажир» - де «Номер білету» менший числу 50. SELECT p1.prizvushche,p2.imya FROM pasagur AS p1,pasagur AS p2 WHERE p1.nomer_bilety = p2.nomer_bilety AND p1.nomer_bilety < 50;  SQL-запит для створення форми квитка де знаходяться параметри «Прізвище», «Серія документу», «Дата відправлення» та «Час відправлення» з таблиць «Пасажир» та «Поїзд». SELECT pasagur.prizvushche,pasagur.seriya_documenta,poizd.data_vidpravlennya,poizd.chas_vidpravlennya FROM pasagur LEFT OUTER JOIN poizd ON pasagur.nomer_poizdy = poizd.nomer_poizdy;  Висновок: При виконанні данної контрольної роботи я освоїв основні правила і тези для створення баз данних, я навчився формувати інфологічну модель бази данних (далі БД), концептуальну модель, як правильно давати запити на мові SQL, які будуть виконувати створення БД, створення таблиць та їх заповнення, вибірки даних, сортування і фільтрування, пошук даних з використанням регулярних виразів, створення обчислюваних полів, групування даних, робота із вкладеними запитами, Об’єднання таблиць.    
Антиботан аватар за замовчуванням

20.07.2020 12:07-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!