- •Лабораторна робота № 6
- •Основні теоретичні відомості.
- •Проектування баз даних.
- •Створення таблиць
- •Властивості поля.
- •Створення запитів.
- •Методичні вказівки (рекомендації) щодо виконання лабораторної роботи.
- •Логічне проектування.
- •Перетворення зв’язків у відношення
- •Методичні завдання для студентів.
Перетворення зв’язків у відношення
Отже, кожна сутність-таблиця подається в реляційній моделі у вигляді окремого відношення (таблиці).
Оскільки єдиним способом подання всіх об’єктів у реляційній моделі даних є відношення (таблиці), то й зв’язки між сутностями таблицями також мають виражатися у вигляді відношень (таблиць). Під час створення таблиць, які відображають зв’язки, необхідно враховувати властивості зв’язку, а саме ступені й обов’язковість зв’язку.
Головною ознакою, що визначає, скільки таблиць необхідно для реалізації зв’язку і які атрибути мають бути в цих таблицях, є відсутність незаповнених (порожніх) полів у записах таблиці.
Правило 2. Якщо ступінь зв’язку між двома сутностями таблицями дорівнює 1:1 і участь обох сутностей у цьому зв’язку є обов’язковою, тобто всі записи обох таблиць поєднані зв’язком, то необхідно створити одне відношення [таблицю], у яке ввійдуть усі атрибути обох сутностей-таблиць.
Правило 3. Якщо сутності-таблиці пов’язані за допомогою зв’язку 1:1, записи однієї з них обов’язково входять у зв’язок, а записи іншої – ні, то для кожної сутності-таблиці створюється відношення, причому для тієї таблиці, для якої всі записи входять у зв’язок, додається додатковий атрибут – первинний ключ відношення з необов’язковим зв’язком.
Правило 4. Якщо сутності-таблиці пов’язані за допомогою зв’язку 1:1, і записи обох таблиць необов’язково входять у цей зв’язок, то необхідно для зв’язку створити додаткове відношення, у яке включити первинні ключі сутностей-таблиць.
Правило 5. Якщо ступінь зв’язку між двома сутностями є 1:М, і участь сутності зі ступенем зв’язку М є обов’язковою, то необхідно створити два відношення. Сутність зі ступенем зв’язку 1 перетвориться в самостійне відношення, а сутність зі ступенем зв’язку М також перетвориться в самостійне відношення, і в неї додається ключовий атрибут сутності зі ступенем зв’язку 1.
Правило 6. Якщо ступінь зв’язку між двома сутностями-таблицями дорівнює 1:М, і участь сутності зі ступенем зв’язку М не обов’язкова, то необхідно створити три відношення. Вихідні сутності-таблиці перетворюються в самостійні відношення, і створюється третє відношення з ім’ям назви зв’язку, який складається із ключових атрибутів вихідних сутностей.
Правило 7. Якщо ступінь зв’язку між двома сутностями є N:M, необхідно створити три відношення. Вихідні сутності перетворяться в самостійні відношення, і створюється третє відношення з ім’ям назви зв’язку, що складається із ключових атрибутів вихідних сутностей.
Правило 8. Якщо кількість сутностей, що беруть участь у зв’язку, дорівнює К, необхідно створити К+1 відношення. Вихідні сутності перетворюються в самостійні відношення, і створюється К+1 відношення з ім’ям назви зв’язку, що складається з ключових атрибутів вихідних сутностей.
Остаточно відношення можна представити у вигляді:
УЧЕНЬ (№ УЧНЯ, ПРІЗВИЩЕ УЧНЯ, ІМ’Я УЧНЯ, ДАТА НАРОДЖЕННЯ, ДОМАШНЯ АДРЕСА, НАЗВА КЛАСУ).
ВИКЛАДАЄ (№ ВЧИТЕЛЯ, НАЗВА КЛАСУ, № ПРЕДМЕТА)
ОТРИМУЄ (№ УЧНЯ, № ПРЕДМЕТА, № ПЕРІОДУ, ЗНАЧЕННЯ ОЦІНКИ).
Фізичне проектування баз даних
Створення таблиць бази даних ШКОЛА
Відповідно до проведених раніше етапів проектування потрібно створити такі таблиці:
УЧЕНЬ (№УЧНЯ, ПРІЗВИЩЕ УЧНЯ, ІМ’Я УЧНЯ, ДАТА НАРОДЖЕННЯ, ДОМАШНЯ АДРЕСА, НАЗВА КЛАСУ).
ВЧИТЕЛЬ (№ ВЧИТЕЛЯ, ПРІЗВИЩЕ ВЧИТЕЛЯ, ІМ’Я ВЧИТЕЛЯ, ПО БАТЬКОВІ ВЧИТЕЛЯ).
ПРЕДМЕТ (№ ПРЕДМЕТА, НАЗВА ПРЕДМЕТА).
ОЦІНКА (ЗНАЧЕННЯ ОЦІНКИ).
ПЕРІОД НАВЧАННЯ (№ ПЕРІОДУ, НАЗВА ПЕРІОДУ).
КЛАС (НАЗВА КЛАСУ).
ВИКЛАДАЄ (№ ВЧИТЕЛЯ, НАЗВА КЛАСУ, № ПРЕДМЕТА)
ОДЕРЖУЄ (№ УЧНЯ, № ПРЕДМЕТА, № ПЕРІОДУ, ЗНАЧЕННЯ ОЦІНКИ).
Послідуюча робота по створенню бази даних «ШКОЛА» відбувається в середовищі вибраної Системи Керування Базами Даних (наприклад, ACCESS). Робота ведеться в режимі конструктора.
За допомогою мастера таблиць створюємо всі вісім таблиць (приклад таблиці УЧЕНЬ (рис.3)).
Створення схеми даних
За допомогою первинних ключів, створених у таблицях бази даних, СКБД Ассеss автоматично перевірятиме унікальність значень ключових полів у таблицях. Тим самим СКБД Ассеss забезпечує структурні обмеження цілісності первинних ключів. Окрім того, у цій СКБД можна організувати перевірку посилальних обмежень цілісності.
Отже, після створення всіх таблиць, що відповідають сутностям і зв’язкам нашої бази даних, необхідно організувати автоматичну перевірку правильності роботи зв’язків.
Для розв’язання певного завдання відкриємо вікно створення зв’язків за допомогою кнопки Схема данних на панелі інструментів. Унаслідок цього буде запропоновано список таблиць, які добавляються на поле Схема данних.
Зміст обмежень цілісності полягає в перевірці відповідності записів у головній і підлеглій таблицях. Для забезпечення цілісності пропонується вибрати пункт підтримки Обеспечение целостности данных (рис.4).
Кінцеву схему бази даних ШКОЛА наведено на рис 5.
Введення даних у таблиці
Насамперед необхідно заповнити створені таблиці конкретними даними. Найпростіший спосіб – введення в режимі таблиці.
Робота з даними за допомогою запитів
Запити це компоненти бази даних, що служать для вибору, сортування й обчислень із використанням даних з однієї чи кількох таблиць. Запити також можна використовувати для оновлення даних.
Розглянемо, як створити запит для вибору даних на прикладі задачі складання табеля успішності. Після здійснення запиту користувачеві буде надано набір записів, що містить обрані дані. Цей набір збирається з однієї чи кількох таблиць, і фізично не існує в базі даних (на відміну від таблиць). Його можна переглядати й вибирати інформацію, змінювати зміст записів і друкувати. Причому, зміни, зроблені в наборі записів, що відображають запит, будуть зроблені у відповідних таблицях.
Створимо за допомогою конструктора. На рис. 6 показано вікно конструктора запиту, що складається із двох частин.
На рис. 7– остаточний варіант конструктора запиту для складання табеля успішності, у якому містяться дані про учнів усіх класів, які одержують семестрові й річні оцінки з усіх предметів, що в них викладаються. Дані в запиті сортуються за зростанням номерів класів (з 1 по 11), періодом навчання (1 і 2 семестри), а також за прізвищами всередині кожного класу.
На рисунку 9 результат запиту у вигляді таблиці, якої фізично в базі даних не існує.
Завдання при роботі з базою даних «Школа».
Створити Базу данник за наведеною методикою.
Створити запити :
Учні, що навчаються на високий рівень (10-12 балів), із вказівкою предметів і назв періодів.
Список учнів, які мають оцінки з математики та інформатики низького рівня (тільки список).
Середній бал успішності учнів одного із класів (вибрати самостійно) по одному із предметів (вибрати самостійно).
Список вчителів та предметів, які вони викладають (сортування за прізвищам).
Список учнів, що народилися влітку ( із вказівкою дати народження та класу, у якому навчаються). Зробити сортування по датам народження.
