- •Міністерство освіти і науки україни Черкаський державний технологічний університет
- •Черкаси 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 Контрольні питання
3.4 Методика виконання
Проходимо сесію, обираємо вкладку Query. У вікні, що з’явиться, і потрібно створювати запит мовою SQL. Назви таблиць і стовпців можна писати, перетаскувати. Якщо клікнути на назві таблиці products, то справа у вкладці Query profil зокрема з’явиться Columns in products. Тиснемо на +, отримаємо назви полів, які можна перемістити для формування скрипта. Також є типи даних. Зліва можна перемістити назви таблиць.
Наприклад, створили запит
1 select name, prodid
2 from products
3 order by name;
Для
виконання запиту тиснемо правою кнопкою
по запиту, потім – RUN.
Або тиснемо лівою кнопкою на
.
У переліку SQL Functions за абеткою наведені функції, що виконуються у запиті, наприклад, AVG(), BETWEEN, COUNT(), CURRENT_DATE.
3.5 ЗМІСТ ЗВІТУ
Розділ звіту “Результати роботи” повинен містити скрипти і результати запитів.
3.6 Контрольні питання
1. Чи будуть працювати наступні оператори SELECT? Якщо ні, то що в них слід виправити?
а) SELECT SUM(SALARY), EMP_ID FROM EMPLOYEE_PAY_TBL GROUP BY 1 AND 2;
б) SELECT EMP_ID, MAX(SALARY) FROM EMPLOYEE_PAY_TBL GROUP BY SALARY, EMP_ID;
в) SELECT EMP_ID, COUNT(SALARY) FROM EMPLOYEE_PAY_TBL ORDER BY EMP_ID GROUP BY SALARY;
2. Чи вірне наступне твердження: "При використанні ключового слова HAVING необхідно використати також і ключове слово GROUP BY?"
3. Чи вірне наступне твердження: "Наступний оператор SQL повертає суми зарплат по групам?"
SELECT SUM(SALARY)
FROM EMPLOYEE_PAY_TBL;
4. Чи вірне наступне твердження: "Вибранні у запиті стовпці повинні бути присутні в списку ключового слова GROUP BY у тому ж порядку?"
5. Чи вірне наступне твердження: "Вираз ключового слова HAVING говорить GROUP BY про те, які групи слід включити у виведення?"
6. Напишіть скрипт за вказівкою викладача.
7. Синтаксис SELECT.
8.Як зберегти результати запиту в таблиці?
9. Агрегатні функції.
10. Функції для роботи с датами і часом
Лабораторна робота 4
БАГАТОТАБЛИЧНІ ЗАПИТИ
4.1 Мета роботи Вивчення мови запитів, які поширюються на дві і більше таблиці.
4.2 Теоретичні відомості
Багатотабличний запит призначений для вибірки даних з двох або більше таблиць і включення цих даних в один результуючий набір.
Якщо є зв’язок між таблицями, можливе неявне і явне одержання результату. Явне звертання до вихідних таблиць в командах SELECT підтримується оператором JOIN з наступним синтаксисом:
table_reference, table_reference
| table_reference [CROSS] JOIN table_reference
| table_reference INNER JOIN table_reference join_condition
| table_reference STRAIGHT_JOIN table_reference
| table_reference LEFT [OUTER] JOIN table_reference join_condition
| table_reference LEFT [OUTER] JOIN table_reference
| table_reference NATURAL [LEFT [OUTER]] JOIN table_reference
{OJ table_reference LEFT OUTER JOIN table_reference ON conditional_expr}
| table_reference RIGHT [OUTER] JOIN table_reference join_condition
| table_reference RIGHT [OUTER] JOIN table_reference
| table_reference NATURAL [RIGHT [OUTER]] JOIN table_reference
де table_reference визначено, як:
table_name [[AS] alias] [[USE INDEX (key_list)] | [IGNORE INDEX (key_list)] | [FORCE INDEX (key_list)]]
і join_condition визначено, як:
ON conditional_expr |USING (column_list).
У більшості випадків не слід указувати в частині ON які б то не було умови, що накладають обмеження на рядки в наборі результатів (з цього правила є винятки). Якщо необхідно вказати, які рядки повинні бути присутніми в результаті, слід зробити це в виразі WHERE.
При необхідності з'єднання не двох, а кількох таблиць, операція з'єднання застосовується кілька разів (послідовно).
Якщо таблиці не мають зв’язку, то використовується UNION з синтаксисом:
SELECT ...
UNION [ALL | DISTINCT] SELECT ...
[UNION [ALL | DISTINCT] SELECT ...]
