- •Міністерство освіти і науки, молоді та спорту україни одеський державний екологічний університет методичні вказівки
- •І. Загальна частина
- •Іі. Організація самостійної роботи студента
- •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 Форми контролю знань та вмінь студентів
- •Методичні вказівки
2.2.3 Розв’язання типових завдань Завдання 1 Створення бази даних
В усіх варіантах контрольної роботи створюється одна й та сама база даних: Персонал підприємства, – з однаковою кількістю записів. Але результати запитів до бази даних будуть відрізнятися навіть для однакових варіантів завдань, тому що дані в таблицях повинні бути у кожного студента свої.
Завдання:
Створити базу даних персоналу підприємства, в якій повинні бути присутні наступні таблиці: Персона, Відділ, Посада. Кожен працівник може працювати лише як основний працівник (тобто на цьому підприємстві знаходиться його трудова книжка), або як сумісник, або і як основний працівник, і як сумісник. Оскільки у загальному випадку зв'язок між таблицями Персона і Відділ (зв'язок між працівником та відділом, в якому він працює) та Персона і Посада (зв'язок між працівником та посадою, на якій він працює) є типу багато-до-багатьох, для створення реляційної бази даних потрібна похідна сутність Працівник, яка містить наступні відомості: якій працівник у якому відділі на якій посаді працює, з якої дати, на яку частину ставки, та є він основним працівником чи сумісником. Крім того потрібна ще похідна сутність Відпустка, в якій буде вказано, якій працівник (код працівника) з якої дати йде у відпустку, та за який рік ця відпустка (будемо вважати, що всі працівники кожен рік повністю використовують свої відпустки). Атрибути базових сутностей:
Відділ (ідентифікатор відділу, назва відділу)
Посада (ідентифікатор посади, назва посади, зарплата, кількість днів щорічної відпустки).
Персона (ідентифікатор працівника, серія та номер паспорту, прізвище, ім’я, по-батькові, дата народження, стать, освіта, сімейне положення, кількість дітей)
У таблицю Персона занести дані 20 осіб різної статі різного віку (від 18 до 65 років) с різним рівнем освіти, різною кількістю дітей, з днями народження у різних місяцях.
У таблицю Відділ занести 4 записи.
У таблицю Посада занести 10 записів.
У таблицю Працівник занести 25 записів, тобто всіх осіб з таблиці Персона треба прийняти на роботу або як основних працівників, або за сумісництвом, а 5 з них і як основних працівників, і за сумісництвом (в тому ж або іншому відділі, на тій самій, або іншій посаді).
У таблицю Відпустка занести 20 записів – дату виходу у відпустку в поточному році для кожного робітника.
Наведемо приклад виконання завдання 1.
Потрібно завантажити програму Visual FoxPro і за попомогою пункта меню File/New створити новий проект (рис.24).
Рисунок 24 – Створення нового проекта
У вікні проекта клацнути на позначку “+” біля слова “Data”, з’явиться список другого рівня, в ньому перейти на слово “Databases” – кнопка “Add…” у вікні проекта стане доступною (рис.25).
Рисунок 25 – Створення нової бази даних
Клацнути кнопку “Add…”, задати ім’я базі даних, і вона з’явиться на екрані. Клацнути правою кнопкою миші по поля бази даних, вибрати пункт контектного меню “New Table…” для створення таблиці (рис.26).
Рисунок 26 – Створення нової таблиці
У вікні, що з’явиться, задати ім’я таблиці (рис.27).
Рисунок 27 – Задання імені таблиці, що створюється
Після цього відкриється вікно дизайнера таблиці (Table Designer), в якому потрібно вказати всі атрибути (Fields) таблиці, задавши для кожного атрибута тип даних (Type) (рис.28).
Рисунок 28 – Визначення атрибутів таблиці
Для типів Character і Numeric потрібно задати довжину (Width), а для числових даних з дробовою частиною потрібно ще задати кількість цифр після десяткової крапки (Decimal) (рис.28). Коли всі атрибути визначені, треба натиснути кнопку “OK” у вікні Table Designer, і почати вводити дані в таблицю (рис.29).
Рисунок 29 – Початок введення даних в таблицю
Дані потрібно вводити українською або російською мовою. Слід пам’ятати, що по умовчанню діє американський формат дати. Для даних логічного типу вводиться літера T (true) або F (false) (рис.30).
Рисунок 30 – Введення даних різних типів
Після створення і заповнення одної таблиці, так само створяються і заповнюються інші таблиці. Всього в базі даних повинно бути 5 таблиць (рис.31).
Рисунок 31 – База даних з таблицями
Для перегляду вмісту таблиць після їх заповнення потрібно подвійно клацнути кнопкою миші по зображенню таблиці в базі даних – відкриється вміст таблиці, як видно на рисунках 32-26.
Рисунок 32 – Вміст таблиці Persona
Якщо таблиця відкриється не в такому вигляді, як на рис.32, а вигляді, показаному на рис. 31, потрібно виконати пункт головного меню View/Browse.
Рисунок 33 – Вміст таблиці Otdel
Рисунок 34 – Вміст таблиці Post
Рисунок 35 – Вміст таблиці Worker
Рисунок 36 – Вміст таблиці Vacations
Завдання 2
Прості запити до бази даних
Приклад до завдання 2:
1. Вибрати всіх жінок з дітьми. Вибираються атрибути: прізвище, ім’я, дата народження, кількість дітей:
SELECT surname, name1, birthday, children;
FROM Persona;
WHERE sex=’ж’ AND children>0
Результат виконання команди видно на рисунку 37.
Рисунок 37 – Результат команди SELECT
Завдання 3
Запити з використанням полів, що обчислюються
Приклад до завдання 3:
Для працівників з вищою освітою, вибрати: прізвище, ім’я, вік, назву посади, зарплату (зарплата розраховується за формулою money*Stavka).
Атрибути: прізвище, ім’я та дата народження (за яким розраховується вік), – належать таблиці Persona; атрибут посада – таблиці Post; зв'язок між ними можна встановити тільки через таблицю Worker: таблиця Persona зв’язується з таблицею Worker по ключу Id_man, таблиця Worker зв’язується з таблицею Post по ключу Id_post. Встановимо зв'язок в розділі where; в цьому розділі також буде умова фільтру (вища освіта):
SELECT Surname as Фамилия, Name1 as Имя,;
YEAR(DATE())-YEAR(birthday) as Возраст,;
Name_post Должность, money*Stavka as Зарплата;
FROM Persona p, Worker w , Post ;
WHERE p.id_man=w.id_man AND w.id_post=Post.id_post AND ;
Education='высшее'
Результат виконання команди видно на рисунку 38.
Рисунок 38 – Результат команди SELECT
