Технологія створення багатотабличної бази в Ms Access
Мета: вдосконалити знання про бази даних. Вміти проектувати багатотабличні бази даних. Познайомитися з технологією створення таблиць та зв’язку між даними різних таблиць. Ознайомитися з технологією формування звітів та форм на основі зв’язаних таблиць. Теоретичні відомості Дані в БД можуть бути розташовані в одній таблиці або в багатьох. Наприклад, в одній таблиці розташовані дані про авторів книг, в другій – відомості про книги, в третій – назви розділів. Розподіл даних за різними таблицями роблять для того, щоб систематизувати дані, покращити швидкодію програми, зробити легшою роботу з БД (ввід даних, огляд даних, отримання даних), уникнути надмірності введення даних або їх недостатності. Приклад багатотабличної БД. Рис. 1 В даному прикладі (Рис. 1) база даних розташована в чотирьох таблицях, пов’язаних між собою. Дані з таблиці Дані про вкладників використовуються в таблиці Адреси вкладників. Таблиця Вклади використовує дані двох таблиць: Дані про вкладників та Відділення банку. У випадку, коли таблиць більше ніж одна, потрібно встановити зв’язки між таблицями, щоб можна було використовувати дані з однієї таблиці в іншій. Між таблицями можна встановити три типи зв’язків: «один-до-одного», «один-до-багатьох», «багато-до-багатьох». В багатотабличній базі таблиця, з якої беруть дані, називається головною (основною), а таблиця, яка використовує дані іншої таблиці, називається підлеглою. На рис. 1 таблиця Дані про вкладників - головна для Адреси вкладників; таблиці Дані про вкладників і Відділення банку головні для таблиці Вклади. Зв’язок між таблицями будується по ключовому полю головної таблиці. Такі типи зв’язків, як «один-до-одного», «один-до-багатьох» будуються безпосередньо або через майстра підстановок, або через схему даних. Зв’язок «багато-до-багатьох» будується через побудову додаткової таблиці, яка включає в себе поля двох різних таблиць. Наприклад, на рис. 1 через таблицю Вклади реалізовано зв’язок «багато-до-багатьох» між таблицями Дані про вкладників і Відділення банку. Який тип зв’язку встановлено між таблицями Дані про вкладників і Адреси вкладників? Обґрунтуйте. Для автоматичного створення зв’язків між таблицями краще використовувати Майстра підстановок (в режимі конструктора таблиці існує Тип поля Мастер подстановок). Майстер підстановок. Майстра використовують у підлеглій таблиці. З його допомогою вказують дані, з якого поля основної таблиці буде використовувати підлегла. Тип поля у підлеглій таблиці після підстановки стає числовим не залежно від того, який тип був у головній таблиці. Застосування Мастера подстановок. 1. Відкрити конструктор таблиці. 2. В рядку Тип данных зі списку Тип полей вибрати Мастер подстановок. 3. З’явиться діалогове вікно, в якому потрібно вибрати перемикач Столбец подстановки использует значения из таблицы или запроса. Натиснути кнопку Далее. 4. У новому діалоговому вікні вибрати Главная таблица, з якої будемо використовувати дані. Натиснути кнопку Далее. 5. Далі в списку доступних полів виділити поле з даними, які будуть підставлені в підлеглу таблицю (це не обов’язково ключове поле) і натиснути кнопку >. Це поле з’явиться у списку вибраних полів. Натиснути кнопку Далее. 6. В наступному діалоговому вікні можна побачити список, що буде виводитись у полі підлеглої таблиці, а також змінити ширину стовпця. Натиснути кнопку Далее. 7. Далі потрібно ввести назву поля підлеглої таблиці і натиснути кнопку Готово. 8. Зберегти таблицю. Схема даних. Другий спосіб встановлення зв’язків між таблицями - це використання Схемы данных. Щоб викликати Схему, потрібно виконати команду Работа с базами данных–Схема данных. З’явиться діалогове вікно, в якому потрібно виділити таблиці, між якими потрібно встановити зв’язки, і натиснути кнопку Добавить. Якщо після закриття діалогового вікна потрібно ще додати таблицю, то потрібно в контекстному меню схеми даних вибрати команду Добавить таблицу. Для встановлення зв’язків між полями слід: 1. У головній таблиці виділити назву ключового поля. 2. Натиснути ліву кнопку миші на назві поля і не відпускаючи її перемістити до поля підстановки в підлеглій таблиці. Відпустити кнопку миші. (Для встановлення типу зв’язку «один-до-одного» потрібно зв’язок будувати між ключовими полями двох таблиць). 3. У діалоговому вікні, що з’явиться після цього, поставити відмітки у режимах Каскадное обновление і Каскадное удаление ”, активізувавши вимикач Обеспечение целостности данных. Натиснути кнопку Создать. 4. Закрити вікно схеми даних. Приклад. Щоб встановити зв’язок (Рис. 1) між таблицями Дані про вкладників і Вклади, потрібно навести курсор миші на поле Код платника таблиці Дані і, затиснувши її, провести до поля Код вкладника таблиці Вклади. При встановленні зв’язків між таблицями важливо пам’ятати наступні властивості: · Забезпечення цілісності даних. При цьому накладаються такі умови: у підпорядковану таблицю не можна додати запис з неіснуючим в головній таблиці значенням; у головній таблиці неможливо вилучити запис, якщо не вилучені зв’язані з ним записи у підлеглій таблиці; змінити значення ключового поля в головній таблиці, якщо у підпорядкованій таблиці є пов’язані з ним записи. · Каскадне видалення зв’язаних записів та Каскадне оновлення зв’язаних записів. У підпорядкованих таблицях автоматично відбуваються вказані зміни при відповідних змінах в головній таблиці. Якщо у таблиці потрібно видалити поле, за яким встановлено зв’язок, то спочатку видаляють зв’язок у схемі даних, а потім саме поле. Після цього зв’язок між таблицями потрібно встановлювати заново. Видалення зв’язків між таблицями. 1. Відкрити Схему данных. 2. Виділити мишею непотрібний зв’язок. 3. Натиснути Del. Застосування маски. Для полегшення вводу даних або надання єдиного стилю даним використовують маску для вводу даних (Рис. 2). Після вказівки типу поля, можна задати додаткові властивості даного поля і використовувати маску для вводу даних. Робиться це у вікні Свойства поля – Маска ввода (кнопка ). а) б) в) Рис. 2 Для Текстового поля можна вказати кількість символів (0-255), для поля Дата / Время установити формат дати або часу. Для інших типів полів маска не застосовується. Маску оформлюють за допомогою спеціальних символів: 0 – замість нуля буде виводитися люба цифра (від 0 до 9), яку введе користувач; 9 – виводиться цифра або пропуск; # - цифра, пропуск, плюс або мінус; ? – виводиться буква; & - будь-який символ або пропуск; < - перетворення символів у нижній регістр; > - перетворення символів у верхній регістр. Наприклад, маска для вводу номера телефону: 00-00-00. Користувач буде вводити набір цифр 123456, а на екрані з’явиться: 12-34-56.
|