- •Міністерство освіти і науки україни Черкаський державний технологічний університет
- •Черкаси 2013
- •Рецензент проф. В. Є. Снітюк
- •Лабораторна робота №1
- •1.1 Мета роботи
- •1. Набуття навичок аналізу предметної області
- •1.2 Теоретичні відомості
- •1.3 Завдання на лабораторну роботу
- •1.4 Методика виконання
- •1.6 Контрольні питання
- •Лабораторна робота №2
- •2.1 Мета роботи
- •3.Об’єднання таблиць.
- •4. Додавання записів.
- •2.2 Теоретичні відомості
- •2.3 Завдання на лабораторну роботу
- •2.4 Методика виконання
- •Тестування
- •2.6 Контрольні питання
- •3.3 Завдання на лабораторну роботу
- •3.4 Методика виконання
- •3.6 Контрольні питання
- •Лабораторна робота 4
- •4.1 Мета роботи Вивчення мови запитів, які поширюються на дві і більше таблиці.
- •4.2 Теоретичні відомості
- •4.3 Завдання на лабораторну роботу
- •Лабораторна робота №5
- •5.1 Мета роботи
- •1. Набуття навичок подання предметної області клієнту.
- •5.4 Методика виконання
- •5.6 Контрольні питання
- •Лабораторна робота №6
- •6.1 Мета роботи
- •6.2 Теоретичні відомості
- •6.3 Завдання на лабораторну роботу
- •6.4 Методика виконання
- •6.6 Контрольні питання
- •Лабораторна робота №7
- •7.1 Мета роботи
- •7.2 Теоретичні відомості
- •7.3 Завдання на лабораторну роботу
- •7.4 Методика виконання
- •7.6 Контрольні питання
- •Лабораторна робота №8 створення тригерів, подій
- •8.1 Мета роботи
- •1. Набуття навичок реалізації бізнес-правил
- •8.2 Теоретичні відомості
- •8.3 Завдання на лабораторну роботу
- •8.4 Методика виконання
- •8.6 Контрольні питання
- •Лабораторна робота №9
- •9.1 Мета роботи
- •1. Набуття навичок аналізу стану бд.
- •9.2 Теоретичні відомості
- •9.3 Завдання на лабораторну роботу
- •9.4 Методика виконання
- •1.Переглянути і зафіксувати версію сервера, статус обробників, рівень ізоляції.
- •9.6 Контрольні питання
- •Лабораторна робота №10 створення курсорів
- •10.1 Мета роботи
- •10.2 Теоретичні відомості
- •10.3 Завдання на лабораторну роботу
- •10.4 Методика виконання
- •10.6 Контрольні питання
- •Лабораторна робота №11 розподілена база даних
- •11.1 Мета роботи
- •1. Набуття навичок аналізу систем зберігання даних.
- •11.2 Теоретичні відомості
- •11.3 Завдання
- •11.4 Методика виконання
- •На Сервері №1 налаштовуємо головний майстер-сервер. Для цього потрібно:
- •1. Зупинити MySql сервер;
- •11. Додаємо в my.Ini такі записи:
- •11.4.2 Завершення реплікації
- •11.6 Контрольні питання
- •Лабораторна робота 12 діаграма класів бд
- •12.1 Мета роботи
- •12.2 Теоретичні відомості
- •12.3 Завдання на лабораторну роботу
- •12.4 Методика виконання
- •12.6 Контрольні питання
Лабораторна робота №5
СТВОРЕННЯ ПРЕДСТАВЛЕНЬ
5.1 Мета роботи
1. Набуття навичок подання предметної області клієнту.
2. Підтримка навичок формування запитів.
5.2 ТЕОРЕТИЧНІ ВІДОМОСТІ
Синтаксис команди CREATE VIEW наступний.
CREATE
[OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = { user | CURRENT_USER }]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
Команда створює представлення view_name зі стовпцями, перерахованими в cоlumn_list, на підставі SELECT-запиту.
5.3 ЗАВДАННЯ НА ЛАБОРАТОРНУ РОБОТУ
1. Створити представлення на одну та дві таблиці у вертикальному і горизонтальному варіантах для таблиць лабораторної роботи №2.
2. Провести модифікацію представлення (INSERT, UPDATE або DELETE – по варіантах).
3. Зафіксувати дію модифікації на таблицю.
4.Згрупувати, об’єднати представлення.
5. Вивести частку даних з представлення (за вибором студента).
6.Видалити представлення, за вказівкою викладача.
5.4 Методика виконання
Проходимо сесію. Тиснемо правою кнопкою на test3 і далі вибираємо Create new>View. У вікні Name вкладки View вводимо назву представлення, що створюється, наприклад, view1. У вікні Definer робимо запис для поточного користувача, тобто root@localhost. Залишаємо активними UNDEFINED та None, відповідно, у вкладці Algorithm та вкладці Check option for updates. У вікні Select statement формуємо зміст представлення. Перевіряємо, тиснемо Save. Тиснемо Data, можна зафіксувати зміст представлення.
5.5 ЗМІСТ ЗВІТУ
Розділ “Результати роботи” повинен містити скрипти представлень і результати роботи з ними.
5.6 Контрольні питання
1. Синтаксис представлення.
2.Розкажить про представлення Вашої роботи чи роботи іншого студента.
3.Напишить скрипт представлення, яке показує всіх замовників з самою високою оцінкою.
Напишіть скрипт представлення, що показує номер продавця в кожному місті.
Напишіть скрипт представлення, котре показує усереднений та загальний порядки для кожного продавця після його імені. Пропонується, що всі імена – унікальні.
Створіть представлення, яке показує кожного продавця з усіма замовниками.
Чи можна видалити рядок даних із представлення, створеного на основі даних декількох таблиць?
Наведіть умови модифікації.
Лабораторна робота №6
НАДАННЯ ПРИВІЛЕЇВ КОРИСТУВАЧАМ
6.1 Мета роботи
Вивчити команди і освоїти операції надання прав доступу до БД іншим користувачам.
6.2 Теоретичні відомості
Найголовніший користувач це root, який має повний доступ до БД; спочатку необхідно задати для нього пароль, так як за замовчуванням він не встановлений. Щоб адміністратор міг підключатися з інших хостів, необхідно набрати наступне:
mysql>grant all privileges on *.* to admin@"%" identified by 'some_password' with grant option;
*.* означає, до яких БД і таблиць має доступ адміністратор. Позначення робляться наступним чином: "база.таблиця". Оператори GRANT і REVOKE дозволяють створювати облікові записи користувачів БД, надавати їм привілеї і відбирати їх.
Синтаксис команди GRANT
GRANT тип_привілея [(список_стовпців)] [, тип_привілея [(спісок_стовпців)] ...]
ON {ім'я_таблиці | * | *.* | ім’я_бази_даних .*}
TO ім’я_користувача [IDENTIFIED BY [PASSWORD] 'пароль']
[, ім’я_користувача [IDENTIFIED BY 'пароль'] ...]
[REQUIRE
NONE |[{SSL| X509}]
[CIPHER cipher [AND]]
[ISSUER issuer [AND]]
[SUBJECT subject]]
[WITH [GRANT OPTION | MAX_QUERIES_PER_HOUR # |
MAX_UPDATES_PER_HOUR # |
MAX_CONNECTIONS_PER_HOUR #]];
Синтаксис команди REVOKE
REVOKE тип_привілея [(список_стовпців)][, тип_привілея [(список_стовпців)]...]
ON {ім’я_таблиці | * | *.* | ім’я_бази_даних.*}
FROM ім’я_користувача [, ім’я_користувача ...];
Для операторів GRANT і REVOKE аргумент тип_привілея може приймати наступні значення:
ALL [PRIVILEGES] – задає всі привілеї, крім WITH GRANT OPTION;
ALTER – дозволяє використання ALTER TABLE;
GRANT OPTION – синонім для WITH GRANT OPTION;
CREATE – дозволяє використання CREATE TABLE;
CREATE TEMPORARY TABLES – дозволяє використання CREATE TEMPORARY TABLE;
DELETE – дозволяє використання DELETE;
DROP – дозволяє використання DROP TABLE;
EXECUTE – дозволяє користувачеві запускати збережені процедури;
FILE – дозволяє SELECT ... INTO OUTFILE і LOAD DATA INFILE;
INDEX – дозволяє використання CREATE INDEX і DROP INDEX;
INSERT – дозволяє використання INSERT;
LOCK TABLES – дозволяє використання LOCK TABLES на таблицях, для яких є привілей SELECT;
PROCESS – дозволяє використання SHOW FULL PROCESSLIST;
REFERENCES – зарезервовано для використання в майбутньому;
RELOAD – дозволяє використання FLUSH;
REPLICATION CLIENT – надає користувачеві право запитувати місцезнаходження головного і підлеглих серверів;
REPLICATION SLAVE – необхідно для підлеглих серверів при реплікації (для читання інформації з бінарних журналів головного сервера);
SELECT – дозволяє використання SELECT;
SHOW DATABASES – SHOW DATABASES виводить всі БД;
SHUTDOWN – дозволяє використання mysqladmin shutdown;
SUPER – дозволяє встановити одне з'єднання (один раз), навіть якщо досягнуто значення max_connections, і команди CHANGE MASTER, KILL thread, mysqladmin debug, PURGE MASTER LOGS і SET GLOBAL;
UPDATE – дозволяє використання UPDATE;
USAGE – синонім для ''без привілеїв''.
