Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книга ассезз.doc
Скачиваний:
10
Добавлен:
13.02.2016
Размер:
202.75 Кб
Скачать

Робота з багатотабличною базою даних Лабораторна робота № 21 План

1. Постановка задачі.

2. Створення первинних ключів.

3. Встановлення зв'язків між таблицями.

Методичні вказівки

1. Розглянемо задачу, зв'язану із призначенням стипендії студентам за результатами зимової екзаменаційної сесії (4 екзамени). Стипендія призначається студентам, які отримали оцінки "добре" та "відмінно". Якщо оцінок "добре" більше однієї, то розмір стипендії 100%. За одну оцінку "добре", а решта "відмінно" призначається стипендія в розмірі 150%, а за всі відмінні оцінки - 200%. Дані організуємо в три таблиці.

Таблиця Студент має необхідну інформацію про кожного студента і містить поля: номер особової справи (залікової), прізвище, ім'я, по-батькові, стать, дата народження, домашній телефон тощо.

Таблиця Сесія містить інформацію про успішність кожного студента і має поля: номер особової справи (залікової), оцінка 1, оцінка 2, оцінка 3, оцінка 4, результат. Результат може приймати одне із наступних значень: відмінно (за всі відмінні оцінки), добре (за дві четвірки і більше), добре 1 (за одну четвірку, решту п'ятірок), задовільно (за задовільні і незадовільні оцінки).

Таблиця Стипендія містить поля результат і процент.

2. Інформаційні таблиці повинні володіти наступними властивостями: мати ім'я і унікальний ідентифікатор. Для зв'язку між таблицями використовують поля, в яких значення не повторюються, наприклад поле з номерами особової справи (поле із прізвищами не підходить, бо в базі даних можуть бути одинакові прізвища).

У конструкторі таблиці такому полю присвоюють ключ. Ключ іден­тифікує записи і дозволяє відрізнити один запис від іншого. Якщо в таблиці визначене ключове поле, то записи в ній подаються на екран відразу впорядковані за зростанням значень ключового поля.

Щоб створити ключ, відкривають вікно конструктора таблиць і виділяють поле, клацаючи по ньому мишею (для виділення декількох полів додатково утримують натиснутою клавішу <Ctrl>). Для того, щоб виділені поля склали первинний ключ, на панелі інструментів натискаємо кнопку Ключевое поле або команду Ключевое поле вибираємо в контекстному меню цього поля.

3. Дві або більше таблиць, які мають хоча б одне спільне поле і між якими є зв'язок по спільному полю, називаються реляційними.

Для зв'язку між таблицями вибирається одне або декілька ключових полів, що містять однакову інформацію. Частіше всього зв'язують поле первинний ключ із співпадаючими полями другої таблиці. MS Access підтримує такі типи зв'язків:

1) один до одного, при якому одному запису першої таблиці відповідає один запис другої таблиці, наприклад відношення Студент <-> Сесія;

2) один до багатьох, при якому одному запису першої таблиці відповідає багато записів другої таблиці, а кожному запису другої таблиці відповідає один запис першої таблиці, наприклад, відношення Стипендія о Сесія;

3) багато до багатьох, при якому одному запису першої таблиці відповідає багато записів другої таблиці і навпаки, наприклад відношення Студент <-» Викладач.

Задавши первинний ключ хоча б в одній таблиці, можна налагоджувати зв'язки між таблицями командою Сервис=> Схема данных. У вікні Схема данных встановлюють потрібні таблиці, а зв'язок налагоджують методом перетягування і накладання назви поля з однієї таблиці на назву поля в іншій. Зв'язок можна анулювати за допомогою контекстного меню лінії зв'язку, виконавши команду Удалить. Вікно Схема данных закривають із збереженням зв'язків. Для створення реляційних запитів, звітів і форм спочатку відкривають їх конструктори, у вікно конструктора вводять потрібні таблиці і лише тоді формують зв'язки. Зв'язки між записами в реляційній базі не зберігаються, а утворюються в процесі маніпулювання.

Практичні завдання

1. Поповніть базу даних двома таблицями Сесія і Стипендія:

1.1. Створіть структуру таблиць Сесія і Стипендія;

1.2. Заповніть створені таблиці відповідними даними.

2. Визначте ключ таблиці Студент. Для визначення ключа необхідно відмітити таблицю Студент, натиснути кнопку Конструктор, виділити поле Номер і на панелі інструментів натиснути кнопку Ключевое поле або скористатися контекстним меню вибраного поля.

3. Встановіть зв'язки для створення таблиць.

3.1. Виконайте команду Сервис=> Схема данных;

3.2. У вікні «Схема данных» вставити потрібні таблиці за допомогою кнопки Добавить;

3.3. Встановити зв'язок між таблицями Сесія і Стипендія методом перетягування миші від поля Номер таблиці Студент до поля Номер таблиці Сесія, далі в діалоговому вікні, яке щойно з'явилось, встановлюють ознаку Обеспечение целостности данных, вибираємо відношення Один к одному і клацаємо кнопку Создать;

3.4. Встановити зв'язок між таблицями Стипендія і Сесія, перетягнувши вказівку миші від поля Результат таблиці Стипендія до поля результат таблиці Сесія.

4. Зберегти вибрані зв'язки між таблицями - закрити вікно "Схема данных".

5. Побудуйте запит, який дозволяє виводити прізвище, ім'я, по бать-кові студентів, яким призначеня стипендія та розмір стипендії. Інформація для отримання таких даних міститься в трьох таблицях бази даних Студент, Сесія, Стипендія. Для цього необхідно:

5.1. Відкрити вікно "Новий запрос", вибрати спосіб створення запиту Конструктор;

5.2. У вікні "Добавление таблицы" послідовно добавити таблиці Студент, Сесія, Стипендія;

5.3. Закрити вікно "Добавление таблицы" (списки всіх полів обраних таблиць з'являться у верхній частині вікна "Запрос на выборку", між таблицями автоматично виникає зв'язок, оскільки він вже встановлений).

5.4. Включити поля з трьох таблиць в запит. Із таблиці Студент в рядок Поля мишею перетягнути наступні поля: Прізвище, ім’я по батькові, з таблиці Стипендія - поле Процент.

5.5. Ввести умову відбору для поля Процент в рядку "Условие отбо­ра" ввести вираз: >0;

5.6. Упорядкуйте дані по полю Прізвище в алфавітному порядку. Клацніть мишею на кнопці "Сортировка" для поля Прізвище і виберіть порядок сортування "По возрастанию".

5.7. Вставте в запит обчислювальне поле Розмір:[Процент]/100*40.

5.8. Щоб побачити результат роботи запиту, виконують команду Вид=> Режим таблицы.

5.9. Закрити режим запиту із збереженням побудованого запиту.

Контрольні запитання

1. Що таке реляційні таблиці?

2. Що таке первинний ключ?

3. Яке призначення ключового поля?

4. Як задати ключове поле в Access?

5. Які поля в таблицях вибираються для встановлення зв'язків?

6. Як встановлюються зв'язки між таблицями?

7. Які типи зв'язків підтримує MS Access?

8. Яке призначення команди Сервис=> Схема данных?

9. Як ліквідувати зв'язок між таблицями?

10. Як створюються реляційні запити?