Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

DB_Labs_All

.pdf
Скачиваний:
36
Добавлен:
23.02.2016
Размер:
414.68 Кб
Скачать

Лабораторний практикум

1. Мета, завдання й коротка характеристика лабораторного практикуму.

Основною метою даного лабораторного практикуму є придбання практичних навичок використання: отриманих теоретичних знань про основні принципи побудови баз знань і СКБД, а також засвоєння принципів проектування баз даних.

Для реалізації цієї мети в рамках даного лабораторного практикуму розглядаються завдання, спрямовані на:

придбання практичних навичок аналізу й моделювання предметної області;

придбання навичок роботи з однією з найпоширеніших настільних СКБД MS Access;

вивчення підходу до обробки даних на основі застосування структурованої мови запитів SQL;

ознайомлення з роботою спеціалізованих CASE-засобів.

Лабораторний практикум припускає послідовне виконання трьох циклів лабораторних робіт, що моделюють певну предметну область. Вибір предметної області здійснюється слухачем з додатка до дійсного лабораторному практикуму (Додаток. Приклади різних предметних областей для лабораторних робіт).

Упершому циклі робіт (роботи 1, 2) студенти здобувають навички аналізу й моделювання предметної області, а також знайомляться із роботою в настільної СКБД MS Access (можливе використання інших систем).

Упершій роботі студент повинен, з огляду на можливі концептуальні вимоги користувачів, побудувати узагальнену концептуальну модель. Далі відповідна модель повинна бути представлена засобами реляційної моделі даних. Шляхом нормалізації отримана концептуальна модель повинна бути наведена до третьої нормальної форми або до нормальної форми Бойса-Кодда. Друга робота присвячена подальшому аналізу побудованої реляційної моделі і її реалізації з використанням MS Access. У рамках цієї роботи з використанням MS Access у комп’ютері створюються структури відповідних таблиць, здійснюється введення даних у таблиці (приклади конкретних даних для заповнення таблиць надаються студентом самостійно).

Удругому циклі лабораторних робіт (роботи 3, 4) розглядається реалізація можливих запитів користувача до таблиць (бази даних). Тут студент повинен реалізувати відповідні запити мовою SQL і створити простий інтерфейс користувача. Студенти самостійно формують різні SQL-запити, одержуючи навички розв’язування конкретних практичних задач.

Утретьому циклі лабораторних робіт (робота 5) студенти самостійно розширюють

предметну область (або користуються запропонований їм варіант розширення). У рамках цієї лабораторної роботи здійснюється модифікування результатів лабораторних робіт 1-4 з врахуванням розширеної предметної області (будуються змінені діаграми «сутність – зв’язок», змінюється структура бази даних, модифікуються написані раніше запити до бази даних і створюються нові запити).

1

2. Опис лабораторних робіт

Лабораторна (самостійна) робота №1

Ціль роботи: придбання навичок аналізу предметної області й побудови концептуальної моделі.

Зміст роботи :

Аналіз текстового опису предметної області.

Побудова концептуальної моделі.

Завдання:

1.Виділити основні абстракції (сутність, атрибут, зв’язок) у предметній області та визначити їхні параметри.

2.Сформувати максимально повний перелік можливих запитів до бази даних на основі аналізу предметної області.

3.Побудувати концептуальну модель у вигляді ER-діаграми.

4.Представити концептуальну модель у термінах реляційної моделі.

Описати домени (допустимі множини значень, які можуть приймати атрибути), вказуючи типи відповідних даних та їхні характеристики.

6.Визначити ключі й зовнішні ключі (якщо вони є).

7.Виписати функціональні залежності (розглядаючи можливі значення полів таблиці).

8.Привести отриману концептуальну модель до третьої нормальної форми або до нормальної форми Бойса-Кодда (показати, що вона перебуває у відповідній нормальній формі).

2

Лабораторна робота №2

Ціль роботи: придбання навичок створення структури реляційної бази даних і первісне введення даних у базу даних з використанням СКБД MS Access.

Зміст роботи:

Створення структури реляційної бази даних для побудованої в лабораторній роботі №1 концептуальної моделі предметної області.

Введення даних у таблиці.

Завдання:

1.За допомогою середовища MS Access створити структури таблиць для подання предметної області в рамках реляційної моделі із вказівкою типів даних та їхніх характеристик.

2.Для кожної створюваної таблиці:

2.1.Визначити умови на значення й повідомлення про помилки деяких полів.

2.2.Визначити початкове значення для деяких полів.

2.3.Задати ключ.

2.4.Задати зовнішній ключ (якщо він є).

2.5.Визначити (якщо це можливо) значення деяких полів за допомогою майстра підстановок.

2.6.Визначити обов’язкові поля.

3.Визначити схему бази даних, зв’язки між таблицями й накласти умови цілісності на таблиці, зв’язані відношенням «один-до-багатьох». Показати на прикладах, що змінюється при вмиканні/вимиканні кожного із прапорців «Забезпечення цілісності даних», «Каскадне відновлення зв’язаних записів» та «Каскадне видалення зв’язаних записів».

4.Ввести дані в таблиці. При введенні з’ясувати, що дає накладення умов на значення полів.

3

Лабораторна робота №3

Ціль роботи: придбання навичок здійснення запитів користувача на вибірку даних з таблиць, додавання, видалення й редагування інформації. Придбання практичних навичок використання мови SQL.

Зміст роботи: Робота зі сформованою в лабораторній роботі №2 базою даних:

Вибірка даних з однієї таблиці. Вибір окремих полів таблиці. Умовний вибір - WHERE. Складні умови (використання OR, AND, NOT).

Вибірка даних із зв’язаних таблиць. Робота з головними й підлеглими таблицями (MasterDetail).

Створення обчислюваних полів.

Сортування результатів запиту.

Проблема агрегування даних. Вивчення агрегатних функцій (SUM, AVG, MAX, MIN, COUNT).

Підрахунок простих підсумків.

Організація груповання. Груповання по декількох полях.

Організація відбору при групованні.

Створення перехресних запитів.

Створення нових таблиць.

Створення запитів на додавання, редагування, видалення.

Завдання:

1.Простий вибір даних (SELECT, *, FROM, WHERE, ORDER BY, обчислювані поля, DISTINCT).

Створити простий запит на вибірку з однієї таблиці. Включити кілька полів таблиці. Включити в запит всі поля за допомогою «*».

Створити запит на вибірку даних із двох зв’язаних таблиць. Вибрати кілька полів, по яких сортується вивід.

Визначити умови відбору («І» й «АБО»). Створити не менше двох запитів. Визначити умови відбору за допомогою параметра запиту.

Створити обчислювані поля.

Створити відсортований обчислюваним полем запит з декількох таблиць, у якому визначені умови «І» та «АБО».

Використати пропозицію DISTINCT.

2.Зовнішнє об’єднання таблиць.

Створити запит на зовнішнє об’єднання таблиць. Продемонструвати використання «IS NULL», «IS NOT NULL». Використати LIKE. Використати оператор UNION.

3.Вибір даних за допомогою запитів, що групують, з умовою (GROUP BY, HAVING, MIN(), MAX(), SUM(), COUNT(), . . .).

Створити підсумковий запит, що містить кілька підсумкових цифр. Створити простий запит, що групує.

Створити запит, що групує, з групованням по декількох полях. Створити запит, що групує, у якому визначаються умови, причому спочатку виконуються обчислення, а потім відбувається відбір.

Створити запит, що групує, у якому визначаються умови, причому спочатку відбувається відбір, а потім виконуються обчислення.

Створити запит, що групує, у якому є обчислюваний вираз, що містить кілька підсумкових полів.

4.Вибір даних за допомогою підзапитів. Створити запит з вибором за допомогою IN. Використати ALL, ANY, EXISTS.

4

Лабораторна робота №4

Ціль роботи: розробка інтерфейсу користувача для взаємодії зі сформовано. в лабораторній роботі №2 базою даних. Створення форм.

Зміст роботи:

Створення форм для введення, редагування й видалення записів.

Створення форм для навігації по базі даних і виконання запитів.

Завдання:

1.Створити форми для введення кожної з таблиць-довідників.

2.Створити складну форму для таблиць, зв’язаних відношенням «один-до-багатьох». 3.Створити кнопкову форму, що надавала б доступ до всіх створених форм і запитів. 4.Помістити в створені форми кнопки навігації по записах і роботи з формою (закрити,

надрукувати, вийти з додатка).

5.Створити макрос для автоматичного завантаження кнопкової форми при відкритті бази даних.

5

Лабораторна робота №5

Ціль роботи: придбання навичок внесення необхідних змін у структуру бази даних після зміни постановки вихідного завдання (розширення предметної області). Модифікація структури бази даних. Модифікація запитів до бази даних. Модифікація існуючого інтерфейсу.

Зміст роботи:

Аналіз опису розширеної предметної області.

Зміна структури таблиць й обґрунтування змін.

Робота зі зміненою базою даних.

Завдання:

1.Проаналізувати дані, описані в розширеній предметній області. Визначити необхідність зміни наявних таблиць і створення нових таблиць для подання предметної області в рамках реляційної моделі.

2.Для кожної таблиці:

2.1.Визначити умови на значення й повідомлення про помилки деяких полів.

2.2.Визначити початкове значення для деяких полів.

2.3.Визначити ключ.

2.4.Визначити зовнішній ключ (якщо він є).

2.5.Визначити обов’язкові поля.

2.6.Визначити схему бази даних, зв’язки між таблицями й умови цілісності на таблиці, зв’язані відношенням «один-до-багатьох».

3.Ввести дані в таблиці. При введенні з’ясувати, що дає накладення умов на значення полів.

4.Адаптувати наявні запити до розширеної предметної області.

5.Реалізувати нові запити, необхідність яких викликана розширенням предметної області.

6.Додати нові інтерфейсні форми форми, змінити існуючі.

6

3. Вказівки до виконання лабораторних робіт і приклади

Лабораторна робота №1

Опис предметної області У вузі є кілька факультетів, на яких навчаються студенти. Студенти здають екзамени з

різних предметів й одержують відповідні оцінки. Відомий перелік іспитів і можливі значення оцінок.

Зміст роботи:

Аналіз текстового опису предметної області.

Побудова концептуальної моделі.

Завдання:

1. Виділити основні абстракції (сутність, атрибут, зв'язок) у предметній області й визначити їхні параметри.

Визначимо наступні сутності: СТУДЕНТ, ІСПИТ, ОЦІНКА. Визначимо атрибути сутностей. Нехай для спрощення сутність СТУДЕНТ характеризується тільки прізвищем. Прізвище ми й візьмемо як атрибут. Тому що прізвище може неоднозначно ідентифікувати об’єкт, введемо додатковий атрибут Код студента, унікальний для кожного студента. Таким чином, сутність СТУДЕНТ характеризується двома атрибутами код студента та прізвище.

Аналогічно визначимо сутність ІСПИТ з атрибутами код іспиту, предмет, дата іспиту й сутність ОЦІНКА з атрибутом значення оцінки (оцінка). Між цими сутностями існують наступні зв’язки: студент здавав іспит, студент одержав оцінку, за іспит отримані наступні оцінки.

2. Сформувати максимально повний перелік можливих запитів до бази даних на основі аналізу предметної області.

За змістом завдання до бази даних можливі наступні запити: Які оцінки одержав студент із заданим прізвищем (кодом); Які студенти одержали задане значення оцінки; Які іспити здав студент із заданим прізвищем (кодом);

Яку оцінку по конкретному предмету одержав студент із заданим прізвищем (кодом).

Уданому прикладі зупинимося на цих запитах.

3.Побудувати концептуальну модель у вигляді ER-діаграми. Намалюємо можливий варіант ER-діаграми.

7

За даною діаграмою можна відповісти на всі запитання, крім останнього. Для реалізації останнього запиту потрібно ввести нову агреговану сутність. Визначимо цю сутність як ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ із атрибутами код студента, прізвище, код іспиту, предмет, дата іспиту, оцінка. створимо інший варіант ER-діаграми.

За цією діаграмою можна відповісти на всі питання, але тут очевидне дублювання інформації й можливі аномалії видалення, додавання.

4.Представити концептуальну модель у термінах реляційної моделі.

Утермінах концептуальної моделі ця модель представляється наступною таблицею.

Код

Прізвище

Код іспиту

Предмет

Дата

Оцінка

студента

 

 

 

 

 

5. Описати домени (припустимі множини значень, які можуть приймати атрибути), вказуючи типи відповідних даних та їхні характеристики.

Код студента приймає значення з множини цілих чисел, максимальна довжина числа 4

знаки.

Прізвище приймає символьне значення, максимальна довжина 20 символів.

Код іспиту приймає значення з множини цілих чисел, максимальна довжина числа 4

знаки.

Предмет приймає символьне значення, максимальна довжина 20 символів. Дата іспиту приймає значення дати у форматі 00.00.00.

Оцінка приймає ціле значення від 2 до 5.

6. Визначити ключі й зовнішні ключі (якщо вони є).

Ключем даного відношення є сукупність атрибутів код студента, код іспиту.

7.Виписати функціональні залежності (розглядаючи можливі значення полів таблиці).

8.Привести отриману концептуальну модель до третьої нормальної форми або до нормальної форми Бойса-Кодда (показати, що вона перебуває у відповідній нормальній формі).

Вихідне відношення приведене до трьох відношень, кожне з яких перебуває в третій нормальній формі R1(КС, Прізв), R3(КЕ, Предм, Дт), R4(КС, КІ, Оц).

Помітимо, що у відношенні R4 атрибути КС, КІ є зовнішніми ключами, які використовуються для встановлення зв’язків з іншими відношеннями.

Відношення R1 представляє об’єкт СТУДЕНТ із атрибутами: код студента (первинний ключ), прізвище.

Відношення R3 представляє об’єкт ІСПИТ із атрибутами: код іспиту (первинний ключ), предмет, дата.

8

Відношення R4 представляє об’єкт ОЦІНКА із атрибутами: код студента (зовнішній ключ), код іспиту (зовнішній ключ), оцінка. Первинний ключ тут складється із код студента та код іспиту.

Для наочності представимо отриману модель у вигляді ER-діаграми (Рис. 1).

 

студент

 

 

PK

код студента

 

іспит

 

 

 

 

PK

код іспиту

 

прізвище

 

 

 

 

 

предмет дата

 

 

оцінка

 

 

PK

код іспиту, код

 

 

 

студента

 

 

 

Оцінка

 

Рис 1. ER-діаграма

Ця діаграма і є потрібним варіантом. Таким чином, отримана реляційна модель включає три відношення.

9

Лабораторна робота №2

Ціль роботи: придбання навичок створення структури реляційної бази даних і первісне введення даних у базу даних з використанням СКБД MS Access.

Зміст роботи :

Створення структури реляційної бази даних для побудованої в лабораторній роботі №1 концептуальної моделі предметної області.

Введення даних у таблиці.

Завдання:

1. За допомогою середовища MS Access створити структури таблиць для подання предметної області в рамках реляційної моделі із вказівкою типів даних й їхніх характеристик.

Формування структури бази даних здійснюється за допомогою засобів СКБД MS Access у діалоговому режимі. На рис. 2 представлено меню системи в процесі формування структури бази даних для вищенаведеного прикладу в лабораторній роботі №1.

2.Для кожної створюваної таблиці:

2.1.Визначити умови на значення й повідомлення про помилки деяких полів.

2.2.Визначити початкове значення для деяких полів.

2.3.Задати ключ.

2.4.Задати зовнішній ключ (якщо він є).

2.5.Визначити (якщо це можливо) значення деяких полів за допомогою майстра підстановок.

2.6.Визначити обов’язкові поля.

Для прикладу визначимо відповідні величини для однієї з таблиць розглянутого

прикладу—таблиці ІСПИТИ.

 

Таблиця ІСПИТИ

 

Поле Код_іспиту

 

Тип

Довге ціле (4)

Примітка

Поле має спеціальний тип «Лічильник»

Нові значення

Послідовні

Примітка

Дане поле є ключем таблиці

Індексоване поле

Так (збіги не допускаються)

Поле Предмет

 

Тип

Текстовий

Розмір

20

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]