- •Міністерство освіти і науки, молоді та спорту україни одеський державний екологічний університет методичні вказівки
- •І. Загальна частина
- •Іі. Організація самостійної роботи студента
- •2.1 Рекомендації студенту по роботі над курсом “Організація баз даних та знань”
- •Загальні поради
- •Повчання по послідовному вивченню теоретичного матеріалу
- •Параметри
- •Параметри
- •Тип значення, що повертається
- •10. Розподілені бази даних
- •11. Системи керування базами знань
- •2.1.3 Перелік запитань для самоперевірки
- •Перелік завдань на контрольну роботу
- •Загальні поради по виконанню контрольної роботи
- •Виконання контрольної роботи
- •2.2.3 Розв’язання типових завдань Завдання 1 Створення бази даних
- •Завдання 4 Використання вкладених запитів
- •Завдання 5 Запити з групуванням
- •Завдання 6 Маніпулювання даними командами delete-sql та update-sql
- •2.2.4 Завдання до контрольної роботи Завдання 1 Створення бази даних
- •Завдання 2 Прості запити до бази даних
- •Завдання 3 Запити з використанням полів, що обчислюються
- •Завдання 4 Використання вкладених запитів
- •Завдання 5 Запити з групуванням
- •Завдання 6 Маніпулювання даними командами delete-sql та update-sql
- •Виконання запитів по варіантах завдань
- •3.1 Система контролю знань та вмінь студентів
- •3.2 Форми контролю знань та вмінь студентів
- •Методичні вказівки
Завдання 4 Використання вкладених запитів
В цьому завданні в кожному запиті використовуються дані з декількох таблиць. В запиті потрібно встановити зв’язки між таблицями. Зв’язки можна встановлювати за бажанням: в розділі FROM або в розділі WHERE.
В кожному завданні потрібно використати вкладений запит, якій розраховує деяку множину номерів відділів, або номерів посад, або номерів (кодів) працівників. Основний запит обирає записи, які повинні входити (або не входити) у розраховану множину номерів (відділів, посад, працівників).
При написанні вкладених запитів треба як слід продумати логіку виконання запиту, особливо умови входження (або не входження) записів, що обираються, в деяку множину записів, яка розраховується за допомогою вкладеного запиту. Наприклад, працівники, що не входять до множини працівників-сумісників, це не те саме, що працівники, які входять до множини основних працівників, тому що можуть бути працівники, які працюють і як основниі працівники, і як сумісники. Так само не є одноковими множинами множини номерів відділів, в яких немає жінок, та номерів відділів, в яких є чоловіки (тому що є відділи, в яких працюють й чоловіки, й жінки).
Для більш простого налагодження правильного коду запиту бажано спочатку написати вкладений запит у вигляді самостійного закінченого запиту. Отримати результат цього запиту, а вже потім вкласти цей запит в круглі дужки, та дописати до нього основний запит.
Нижче перелічені всі запити, але кожен студент виконує лише 2 запити, номери яких перелічені в його варіанті завдання. Для кожного запита потрібно у звіт записати завдання, SQL-код запиту, та копію екрану з результатом запиту.
Запити:
Для працівників без вищої освіти, які не працюють за сумісництвом (не входять в множину працівників-сумісників), вибрати: прізвище з ініціалами, назву посади, освіту, відділ, зарплату (зарплата розраховується за формулою money*Stavka).
Для працівників-чоловіків, що працюють на посадах, на яких немає сумісників (не входять в множину посад працівників-сумісників), вибрати: прізвище з ініціалами, назву посади, освіту, відділ, стаж роботи (розраховується за формулою: від поточного року відняти рік прийому на роботу).
Для працівників, що працюють як сумісники (входять в множину працівників-сумісників) і як основні працівники, вибрати: прізвище з ініціалами, назву посади по основній роботі, освіту, відділ (де працює по основній роботі), оклад (по основній роботі). (Основна робота буде у якості умови фільтру у основному запиті; у вкладеному запиті буде розраховуватися множина кодів працівників, що працюють за сумісництвом).
Для працівників з дітьми, що не працюють як основні працівникі (не входять в множину основних працівників), вибрати: прізвище з ініціалами, назву посади, кількість дітей, відділ, зарплату (зарплата розраховується за формулою money*Stavka).
Для працівників з відділів, в яких немає сумісників, вибрати: прізвище з ініціалами, вік, назву посади, відділ, освіту, оклад.
Для працівників з відділів, в яких немає жінок, вибрати: прізвище з ініціалами, назву посади, відділ, освіту, сімейний стан.
Для працівників з відділів, в яких є сумісники, вибрати: прізвище з ініціалами, назву посади, відділ, освіту, ставку, стаж роботи (розраховується за формулою: від поточного року відняти рік прийому на роботу).
Для працівників з відділів, в яких є жінки, вибрати: прізвище з ініціалами, стать, назву посади, відділ, освіту, кількість дітей.
Виконання запитів по варіантах завдань
Варіант завдання |
Номер запита |
|||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
1 |
|
|
+ |
|
|
|
|
+ |
2 |
|
|
|
+ |
+ |
|
|
|
3 |
+ |
|
|
|
|
|
+ |
|
4 |
|
+ |
|
|
|
|
|
+ |
5 |
|
|
+ |
|
+ |
|
|
|
6 |
|
|
|
+ |
|
+ |
|
|
7 |
+ |
|
|
|
+ |
|
|
|
8 |
|
+ |
|
|
|
+ |
|
|
9 |
|
|
+ |
|
|
|
+ |
|
10 |
|
|
|
+ |
|
|
|
+ |
11 |
+ |
|
|
|
|
+ |
|
|
12 |
|
+ |
|
|
|
|
+ |
|
