Новини високих технологій
» » Схема даних в Access: створення, редагування, оновлення

Схема даних в Access: створення, редагування, оновлення

12-09-2018, 18:38
1 710
Між таблицями БД існують зв'язки, що дозволяють уникати надмірності при проектуванні. Тобто не вносити одні і ті ж значення в декілька об'єктів, а створити тільки один і використовувати в інших, додаючи в них посилання на основний. При цьому необхідно дотримуватися вимога цілісності БД.

Зв'язку в базах даних

В якості прикладу розглянемо зв'язку в БД туристичного агентства. До її складу входить таблиця готелів Таїланду – країни, в яку турагентство відправляє гостей. Готелі розташовані в різних регіонах Королівства.
Якщо компанія працює з готелями тільки кількох регіонів, а в кожній з областей знаходяться десятки або сотні готелів, то заповнювати кожен раз полі регіону для кожного готелю – марна робота. Тому в базі створюється окрема таблиця, яка містить список регіонів, а при введенні готелю користувач просто вибирає потрібний з випадаючого списку.


За аналогією доданий список країн для компанії, що працює з кількома державами. Тоді до переліку регіонів додається ще одне поле – «Країна», а в базу вноситься довідник країн, найменування яких потім вибираються зі списку. Таблиці пов'язані типу один-до-багатьох. Це означає, що одна запис з таблиці «Регіони» зустрічається багато разів у таблиці «Готелі». Крім цього, існують види «багато-до-багатьох» і «один-до-одного». Але остання вкрай рідко застосовується на практиці. Нижче ми розглянемо, як ці типи позначаються на схемах даних у Access.

Схема даних БД

У наведеному прикладі «Готелі» пов'язані з «Регіонами», а ті, у свою чергу, з «Країнами». Ця інформація, написана текстом, не надто наочно показує зв'язки між об'єктами. І в нашій базі всього три таблиці, а їх можуть бути сотні. Тримати в голові всі з'єднання розробнику важко.


В якості допоміжного засобу в базах створюються схеми даних, які наочно візуально показують всі об'єкти і відносини між ними. В Access схеми даних створюються за допомогою спеціального інструменту. Для нашої БД це виглядає так:
Прямокутниками позначені таблиці зі списком полів, лінії між ними – зв'язку. На лінії зв'язку в місцях примикання до прямокутникам таблиць зроблені позначення: «1» і «?». Вони показують, який тип зв'язку застосований в цьому відношенні. Значок «1» у таблиці-джерела зі значком «?» у приймача позначають вид «один-до-багатьох». Обидві зв'язку в нашій БД – такого типу. Відповідно, дві одиниці у двох кінців лінії говорять про вигляді «один-до-одного», а два знака нескінченності – «багато-до-багатьом».

Створення схеми даних

Для створення схеми даних в Access доданий інструмент на панелі «Робота з базами даних». СУБД автоматично створює схему з тим таблиць і зв'язків, що існують в базі. Наведена вище схема створена системою самостійно. Користувач може внести зміни в макет. Деякі з них не позначаться на структурі БД, тільки на відображенні інформації. А деякі приведуть до змін в структурі.
В режимі "Конструктора" доступна операція «Очистити макет». При її виконанні екран схеми даних в Access очищається, а таблиці і відносини ховаються. Це не означає, що вони пропадають з бази - просто не відображаються в макеті схеми. Операція «Приховати таблицю» зробить те ж дію над виділеним об'єктом. Він просто зникне з екрана разом зі своїми лініями-відносинами. Повернути приховані таблиці допоможе операція «Показати таблицю». Вибираються об'єкти, які потрібно додати в макет. При цьому згідно з ним відображаються автоматично.

Створення відносин між таблицями

У нашому прикладі відношення між таблицями вже були визначені під час створення. Зупинимося більш детально на тому, як це зробити. Як ми вже знаємо, «Готелі» містить поле «Регіон», дані для якого беруться з однойменної таблиці. При додаванні стовпця «Регіон» зазначається тип поля Підстановки і відношення».
Відкриється майстер створення поля, в якому ми вибираємо варіант отримання значення комірок з іншого об'єкта. На другому кроці майстра вибираємо об'єкт, з якого будуть підставлятися значення. У нашому випадку це таблиця «Регіони». Зі списку доступних для відображення полів нам потрібно «Найменування» - в таблиці готелів будуть показані назви регіонів. При необхідності задаємо порядок сортування найменувань і ширину стовпця.
На останньому кроці даємо ім'я нового поля і вказуємо параметр цілісності. Детальніше на ньому ми зупинимося нижче. Після натискання на кнопку «Готово» в таблицю готелів додано стовпець «Регіон», значення для нього беруться із зазначеного об'єкта.
Зв'язок між таблицями готелів та регіонів тепер відображається на схемі.

Зміна відносин

Якщо відношення не додано додавання стовпця в об'єкт, це робиться безпосередньо в макеті схеми даних в Access. Як створити нову зв'язок, покажемо на прикладі. Натисніть кнопку «Змінити зв'язку». У редагуванні відносин для створення нової зв'язки натисніть «Нове». У формі «Створення» вибираємо таблиці для зв'язку і поля, які будуть відповідати один одному.
Для вже створеної зв'язку є можливість змінювати параметри об'єднання записів у запитах. Для цього викликаємо діалогове вікно схеми даних MS Access «Зміна зв'язків» і натискаємо кнопку «Об'єднання». У формі редагування параметрів запропоновані варіанти об'єднань: У першому випадку в результати запиту відображаються тільки ті рядки, в яких поля таблиць «Готелі» та «Регіони» збігаються. У другому випадку об'єднуються всі рядки «Регіонів» і тільки співпадаючі «Готелів». В третьому ситуація зворотна другого – всі рядки «Готелів» об'єднуються із співпадаючими «Регіонів». Ми залишаємо автоматичний вибір системи – перший варіант.

Цілісність даних БД

Зв'язки між об'єктами БД на схемі даних в Access підводять нас до поняття цілісності даних. Як було показано вище, при створенні зв'язків між полями об'єктів бази вказується параметр цілісності. Якщо він включений, зв'язку між об'єктами підтримуються і охороняються системою. Покажемо це наочно на прикладі бази туристичної компанії. В «Готелі» готель з найменуванням Anantara Lawana Koh Samui Resort відноситься до регіону Самуї. Припустимо, ми видалили цей район з «Регіонів». Тепер поле посилається на запис, якої не існує. Це і є порушення цілісності. Аналогічно при встановленому вимозі дотримання цілісності ми не зможемо вибрати в цьому полі район «Чіанг Май», тому що його не існує в таблиці регіонів.
При необхідності схеми бази даних Access вивантажуються в звіт і відправляються на друкувальний пристрій, перетворюються у файл або відправляються по електронній пошті.
Цікаво по темі
Особливості поля "Лічильник", в чому полягає його функція
Особливості поля "Лічильник", в чому полягає його функція
Невід'ємною частиною більшості таблиць БД є поле «Лічильник». У чому полягає особливість цього стовпця, які функції він виконує та якими
Типи даних в Access: класифікація, опис, характеристики
Типи даних в Access: класифікація, опис, характеристики
Бази даних Access, як і інші БД, зберігають у своїх таблицях безліч інформації. Деякі з них пов'язані між собою, якісь є довідковими, деякі вводяться
Об'єкти Access: опис, характеристики та особливості застосування
Об'єкти Access: опис, характеристики та особливості застосування
До складу баз даних входять суті, без яких вона не може існувати. Ці сутності носять назву об'єктів БД і визначають дії, які виконуються в СУБД.
Створення форм в Access для введення даних
Створення форм в Access для введення даних
Microsoft Access є корисним додатком, оскільки дозволяє створювати і зберігати дані в багатьох пов'язаних таблицях, пропонуючи велику ефективність і
Докладно про те, як зв'язати таблиці в access
Докладно про те, як зв'язати таблиці в access
Багато хто з нас працюють на виробництві, де найчастіше для ведення звіту використовуються бази даних. У даній статті ми докладно розповімо про те,
Як створювати запити в Access: покрокова інструкція та рекомендації
Як створювати запити в Access: покрокова інструкція та рекомендації
Робота з великими базами даних вимагає значних зусиль і вмінь, тому більшість користувачів, які використовують СУБД, шукають в інтернеті відповідь на