МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
Національний університет «Львівська політехніка»
Кафедра САПР
З В І Т
про виконання лабораторної роботи № 3
на тему:
«Заповнення бази даних»
з курсу:
«Проектування банків даних для комп’ютерних систем проектування»
МЕТА РОБОТИ
Створити SQL – запит для створення бази даних і заповнити її.
ТЕОРЕТИЧНІ ВІДОМОСТІ
SQL (англ. Structured query language — мова структурованих запитів) — декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних і її модифікація, система контролю за доступом до бази даних.. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом. Не будучи мовою програмування в тому розумінні, як C або Pascal, SQL може формувати інтерактивні запити або, будучи вбудованою в прикладні програми, виступати в якості інструкцій для керування даними. Стандарт SQL, крім того, вміщує функції для визначення зміни, перевірки і захисту даних.
SQL – це діалогова мова програмування для здійснення запиту і внесення змін до бази даних, а також управління базами даних. Багато баз даних підтримує SQL з розширеннями до стандартної мови. Ядро SQL формує командна мова, яка дозволяє здійснювати пошук, вставку, обновлення, і вилучення даних, використовуючи систему управління і адміністративні функції. SQL також включає CLI (Call Level Interface) для доступу і управління базами даних дистанційно.
Перша версія SQL була розроблена на початку 1970-х років у IBM. Ця версія носила назву SEQUEL і була призначена для обробки і пошуку даних, що містилися в реляційній базі даних IBM, System R . Мова SQL пізніше була стандартизована Американськими Держстандартами (ANSI) в 1986. Спочатку SQL розроблялась як мова запитів і управління даними, пізніші модифікації SQL створено продавцями системи управління базами даних, які додали процедурні конструкції, control-of-flow команд і розширення мов. З випуском стандарту SQL:1999 такі розширення були формально запозичені як частина мови SQL через Persistent Stored Modules (SQL/PSM).
Критики SQL включає відсутність крос-платформенності , невідповідною обробкою відсутніх даних (дивіться Null (SQL)), і іноді неоднозначна граматика і семантика мови.
Переваги SQL
Незалежність від конкретної СУБД
Незважаючи на наявність діалектів і відмінностей в синтаксисі, в більшості своїй тексти SQL-запитів, що містять, DDL і DML, можуть бути досить легко перенесені з однієї СУБД в іншу. Існують системи, розробники яких спочатку закладалися на застосування щонайменше кількох СУБД (наприклад: система електронного документообігу Documentum може працювати як з Oracle, так і з Microsoft SQL Server і IBM DB2). Природно, що при застосуванні деяких специфічних для реалізації можливостей такої переносимості добитися вже дуже важко.
Наявність стандартів
Наявність стандартів і набору тестів для виявлення сумісності і відповідності конкретній реалізації SQL загальноприйнятому стандарту тільки сприяє «стабілізації» мови. Правда, варто звернути увагу, що сам по собі стандарт місцями занадто формалізований і роздутий в розмірах, наприклад, Core-частину стандарту SQL:2003 включає понад 1300 сторінок тексту.
Декларативність
За допомогою SQL програміст описує тільки те, які дані потрібно витягнути або модифікувати. Те, яким чином це зробити, вирішує СУБД безпосередньо при обробці SQL-запиту. Проте не варто думати, що це повністю універсальний принцип — програміст описує набір даних для вибірки або модифікації, проте йому при цьому корисно уявляти, як СУБД розбиратиме текст його запиту. Особливо критичні такі моменти стають при роботі з великими базами даних і зі складними запитами — чим складніше сконструйований запит, тим більше він допускає варіантів написання, різних за швидкістю виконання, але тих самих за набором даних.
1. Створення бази даних, і вибір кодування.
CREATE DATABASE Biblioteka;
2. Створення таблиць. В дужках вказуються імена стовпців і їхній тип, а також задається атрибут NOT NULL, auto_increment). Поза дужками також вказується тип таблиці і кодування
Створення таблиці Читач (reader)
CREATE TABLE Reader
(
Id_reader int( 10 ) NOT NULL,
prizv varchar( 15 ) NOT NULL,
imja varchar( 15 ) NOT NULL,
po_bat varchar( 15 ) NOT NULL,
dom_adr varchar( 30) default NULL ,
PRIMARY KEY (id_reader)
) ENGINE = MYISAM DEFAULT CHARSET = utf8
Створення таблиці Бібліотекар (Bibliotekar)
CREATE TABLE Bibliotekar
(
Id_bibliotekar int( 10 ) NOT NULL,
prizv varchar( 15 ) NOT NULL,
imja varchar( 15 ) NOT NULL,
po_bat varchar( 15 ) NOT NULL,
dom_adr varchar( 30) default NULL ,
PRIMARY KEY (id_bibliotekar)
) ENGINE = MYISAM DEFAULT CHARSET = utf8
Створення таблиці Книга (Book)
CREATE TABLE Book
(
Id_book int( 10 ) NOT NULL,
nazva varchar( 15 ) NOT NULL,
ganr varchar( 15 ) NOT NULL,
author varchar( 15 ) NOT NULL,
rik int( 30) NOT NULL ,
PRIMARY KEY (id_book)
) ENGINE = MYISAM DEFAULT CHARSET = utf8
Створення таблиці Карточка (Kartochka)
CREATE TABLE Kartochka
(
Id_kartochka int( 10 ) NOT NULL,
Id_reader int( 10 ) NOT NULL,
Id_book int( 10 ) NOT NULL,
abonement varchar( 15 ) NOT NULL,
Id_zal int( 10 ) NOT NULL,
PRIMARY KEY (id_kartochka)
) ENGINE = MYISAM DEFAULT CHARSET = utf8
Створення таблиці Читальний зал(Chut_zall)
CREATE TABLE Chut_zall
(
Id_Chut_zall int( 10 ) NOT NULL,
Id_bibliotekar int( 10 ) NOT NULL,
Kl_mist int( 10 ) NOT NULL,
PRIMARY KEY (id_Chut_zall)
) ENGINE = MYISAM DEFAULT CHARSET = utf8
3. Добавлення даних в таблицю.
Добавлення даних у таблицю Читач (Reader)
INSERT INTO `reader` VALUES (1, 'Kobyrynka', 'Oleg', 'Tarasovuch','Drogobuch');
INSERT INTO `reader` VALUES (2, 'Brezackuy', 'Andrij', 'Volodumurovuch','Drogobuch');
INSERT INTO `reader` VALUES (3, 'Shusko', 'Mukola', 'Petrovuch','Drogobuch');
INSERT INTO `reader` VALUES (4, 'Hatala', 'Marija', 'Ihorivna','Lviv');
INSERT INTO `reader` VALUES (5, 'Haluch', 'Xrustuna', 'Volodumurivna','Lviv');
INSERT INTO `reader` VALUES (6, 'Hrabovuj', 'Ruslan', 'Volodumurovuch','Vytkiv');
INSERT INTO `reader` VALUES (7, 'Prustash', 'Volodja', 'Bogdanovuch','Komarno');
INSERT INTO `reader` VALUES (8, 'Pystelnuk', 'Jura', 'Tarasovuch', 'Ostriv');
INSERT INTO `reader` VALUES (9, 'Barna', 'Taras', 'Tarasovuch', 'Sokal');
INSERT INTO `reader` VALUES (10, 'Moshkiv', 'Volodumur', 'Ivanovuch', 'Dubno');
Добавлення даних у таблицю Бібліотекар (Bibliotekar)
INSERT INTO `bibliotekar` VALUES (1, 'Klapan', 'Volodumur', 'Tarasovuch','Struy');
INSERT INTO `bibliotekar` VALUES (2, 'Romaniv', 'Roman', 'Zenovijovuch','Radechiv');
INSERT INTO `bibliotekar` VALUES (3, 'Ivanniv', 'Petro', 'Mukolovuchvuch','Melyatun');
INSERT INTO `bibliotekar` VALUES (4, 'Pastuch', 'Sergij', 'Olegovuch','Chervonograd');
INSERT INTO `bibliotekar` VALUES (5, 'Zarichnuj', 'Roman', 'Yaroslavovuch','Drogobuch');
Добавлення даних у таблицю Читальний зал(Chut_zall)
INSERT INTO `Chut_zall` VALUES (1, 2,32);
INSERT INTO `Chut_zall` VALUES (2,4,10);
INSERT INTO `Chut_zall` VALUES (3,5,40);
INSERT INTO `Chut_zall` VALUES (4,1,14);
INSERT INTO `Chut_zall` VALUES (5,3,22);
Добавлення даних у таблицю Книга (Book)
INSERT INTO `book` VALUES (13256, 'Bukvar', 'detektive','Gans', 1990);
INSERT INTO `book` VALUES (14226, 'Harry_Potter', 'fentezy','J.Rowling', 2003);
INSERT INTO `book` VALUES (11459, 'Lord_of_the_Rings', 'Fentezy','J.R.Tolkin', 1939);
INSERT INTO `book` VALUES (3256, 'Lisova pisnya', 'opovid','L.Ukrainka', 1964);
INSERT INTO `book` VALUES (16256, 'Kobzar', 'liryka','T.Shevchenko', 1880);
INSERT INTO `book` VALUES (17256, 'Mauhli', 'prugodu','R.Kipling', 1890);
INSERT INTO `book` VALUES (23256, 'Kult', 'proza','L.Deresh', 2004);
INSERT INTO `book` VALUES (256, '1408', 'gachu','S.King', 1997);
Добавлення даних у таблицю Карточка (Kartochka)
INSERT INTO `Kartochka` VALUES (1, 3, 256,'Yes', 4);
INSERT INTO `Kartochka` VALUES (2, 1, 14226,'No', 1);
INSERT INTO `Kartochka` VALUES (3, 2, 256,'No', 2);
INSERT INTO `Kartochka` VALUES (4, 6, 3256,'Yes', 4);
INSERT INTO `Kartochka` VALUES (5, 5, 256,'Yes', 5);
INSERT INTO `Kartochka` VALUES (6, 4, 11495,'Yes', 3);
INSERT INTO `Kartochka` VALUES (7, 7, 13256,'No', 5);
INSERT INTO `Kartochka` VALUES (8, 9, 23256,'Yes', 5);
INSERT INTO `Kartochka` VALUES (9, 8, 16256,'No', 4);
INSERT INTO `Kartochka` VALUES (10, 10, 14226,'No', 2);
ВИСНОВОК
На даній лабораторній роботі, я створив SQL – запит для створення бази даних і заповнив її.