Зв'язки між таблицями в базі даних


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

Вила зв'язків між таблицями


Реляційна база даних може містити велику кількість взаємозв'язаних таблиць. Зв'язку встановлюється між двома загальними полями (стовпцями) двох таблиць. Зв'язувані поля можуть мати різні імена, але повинні мати однакового типа даних за винятком випадку, коли поле первинного ключа є полем типа Лічильник. Поле лічильника зв'язується з числовим полем, якщо значення властивості Розмір поля (FieldSize) обоє полів збігаються. Наприклад, якщо властивість обоє полів має значення Довге ціле. Навіть у тому випадку, коли зв'язуються поля типа «Числовою», їх властивості Розмір поля (FieldSize) повинні мати однакові значення.
Задавши зв'язки між таблицями, можна створити запити, форми і звіти для відображення відомостей, представлених в декількох таблицях. Між двома таблицями можуть існувати наступні зв'язки:

  •  один до одного — при такому типові зв'язку одного запису в першій таблиці відповідає лише одна запис в іншій таблиці. В цьому випадку слід перевірити можливість розміщення всіх записів в одній таблиці. Проте у ряді випадків можна використовувати декілька простіших таблиць. Відповідність записів встановлюється по полю, яке є первинним ключем в першій таблиці, і полю, званим зовнішнім ключем іншої таблиці;
  •  один до багатьом — в цьому випадку запис однієї таблиці може мати декілька погоджених з нею записів в іншій таблиці. При цьому кожен запис в другій таблиці узгоджується лише з одним записом в першій таблиці. Наприклад, кожен покупець може купити декілька товарів, але кожен проданий товар має лише одного покупця. Поле, що містить первинний ключ нової таблиці, зв'язується із зовнішнім ключем старою. Значення в полі із зовнішнім ключем можуть повторюватися;
  •  багато до одного — будь-якому запису таблиці, зв'язок з якою ми розглядаємо, можуть відповідати декілька записів нової таблиці, але не навпаки. Фактично це відношення один до багатьом, що розглядається, в зворотному порядку. В цьому випадку ключове поле нової таблиці є зовнішнім ключем;
  •  багато до багатьом — кожному запису з однієї таблиці може відповідати будь-яка кількість записів в іншій таблиці і навпаки. Наприклад, кожна людина може дзвонити з декількох телефонів. З іншого боку деякими телефонами можуть користуватися декілька чоловік. В цьому випадку поля, по яких встановлюється зв'язок, є зовнішніми ключами. Вони можуть містити значення, що повторюються.


Математично такі зв'язки можна записати 1:1, 1:т, т:1 і т:п. Ширшого поширення набули зв'язки один до багатьом, Наприклад, один і той же товар із складу може вивозитися в різні магазини, і одному запису в таблиці Склад відповідатиме декілька записів в таблиці Магазини. Таблиця Склад буде головною таблицею, а Магазини — зв'язаною. У головній таблиці для опису об'єкту використовується один запис. Уникнути дублювання записів в цій таблиці дозволяє первинний ключ.
Дві таблиці зв'язує загальне поле, що дозволяє об'єднати дані з двох таблиць для перегляду, редагування або друку. Записи з таблиць, пов'язаних з поточною таблицею, можна відображувати в підтаблицях в межах основної таблиці.
Зв'язана таблиця — це таблиця, яка зберігається у файлі, що не належить відкритій базі даних, проте, є доступною з Microsoft Access. Користувач має можливість додавати, видаляти і змінювати записи в зв'язаній таблиці, але не може змінювати її структуру. Для забезпечення цілісності даних не можна довільно видаляти або змінювати зв'язані записи. Наприклад, в таблицю Магазини можна включати лише ті записи, які містять відомості про товари, що поступили із складу.

Використання ключових полів для завдання зв'язку між таблицями


В більшості випадків ключове поле однієї таблиці пов'язують із співпадаючим полем (зовнішнім ключем) іншої таблиці. Зовнішній ключ — це одне або декілька полів (стовпців) в таблиці, що містять заслання на поле або поля первинного ключа в іншій таблиці. Поле зовнішнього ключа визначає спосіб скріплення таблиць — вміст поля зовнішнього ключа повинен збігатися з вмістом ключового поля, хоча імена полів можуть при цьому не збігатися. Наприклад, для пов'язання співробітників із замовленнями, за які вони відповідають, слід створити між таблицями «Співробітники» і «Замовлення» зв'язок за допомогою полів «Кодсотрудника». Таблиця «Товари» в демонстраційній базі даних «Борей» містить поле зовнішнього ключа «Кодпоставщика», яке посилається на ключове поле «Кодпоставщика» в таблиці «Постачальники».
Зовнішній ключ може мати значення Null; якщо зовнішній ключ складається з декількох полів, і хоч би одне з них має значення Null, то всі поля повинні мати значення Null.
Для встановлення відношення многие-ко-многим необхідно створити третю (єднальну) таблицю і додати в неї ключові поля з обох таблиць. Наприклад, в демонстраційній базі даних Борей є таблиці Замовлення і Товари. Замовлення може включати декілька товарів, а товар входити в декілька замовлень. Необхідно створити єднальну таблицю (таблиця Замовлено, яка має зв'язок з відношенням «один-ко-многим» з кожною з таблиць Замовлення і Товари.

Схема даних


Для управління базою даних використовуються зв'язки між таблицями.
Якщо між таблицями бази даних зв'язку не були задані, відкриється діалогове вікно Додавання таблиці (Show Table). Виберіть у вікні необхідні таблиці і запити і натискуйте кнопку Додати (Add). Вони відображуватимуться у вікні Схема даних (Relationships) .
На мал. 23.21 показані лінії зв'язку між таблицями учебной бази даних, що поставляється з Access. У кожному невеликому вікні відображують списки полів однієї з таблиць. Ключові поля виділено жирним шрифтом. Таблиці, не



Мал. 23.21 Ліній зв'язку між таблицями бази даних що мають первинних ключів, неможливо зв'язати і у вікні Схема даних вони не відображуються.

Символи на лініях зв'язку показують типа зв'язку. Символ нескінченності використовується для позначення «багато», і якщо ми бачимо на одній лінії зв'язку символи одиниці і нескінченності, то між таблицями існує зв'язок один до багатьом. Можна пов'язувати поля з різними іменами, а також запити з таблицями або запитами (див. главу 24).
Кнопки панелі інструментів Відображувати прямі зв'язки (Show Direct Relationships) і Відображувати все (Show All Relationships) дозволяють показати схему прямих зв'язків лише одній таблиці або схеми зв'язків всіх таблиць в базі даних.



Мал. 23.22 Діалогове вікно Додавання таблиці

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


Якщо ви хочете ввести нову таблицю у вікно Схема даних (Relationships) (див. мал. 23.21) і встановити зв'язок між таблицями, то виконаєте наступні дії:

  •  закрийте всі таблиці і форми;
  •  у вікні бази даних виберіть команду Схема даних (Relationships) у меню Сервіс (Tools) або натискуйте однойменну кнопку на панелі інструментів;
  •  якщо у вікні Схема даних (Relationships) буде представлена яка-небудь інформація, то натискуйте спочатку кнопку Очистити макет (Clear Layout) а потім кнопку Так (Yes) аби продовжити виконання наміченої операції;
  •  у меню Зв'язки (Relationships) виберіть команду Додати таблицю (Show Table) або натискуйте однойменну кнопку на панелі інструментів;
  •  у діалоговому вікні Додавання таблиці (Show Table) на вкладці Таблиці (Tables) виділите необхідну таблицю і натискуйте кнопку Додати (Add) або двічі клацніть ім'я цієї таблиці (мал. 23.22);
  •  у вікні Схема даних (Relationships) відображуватиметься список полів вибраної таблиці з виділеним полем ключа;
  •  у діалоговому вікні Додавання таблиці (Show Table) виділите таблицю, з якою встановлюється взаємозв'язок і натискуйте кнопку Додати (Add);
  •  у вікні Схема даних (Relationships) перетягнете ключове поле із списку головної таблиці в список зв'язаної таблиці.


Для завдання зв'язку можна перетягнути ім'я поля із списку полий таблиці і помістити його в інший список. При завданні зв'язку «один до багатьом» первинний ключ першої таблиці перетягують в таке ж поле в другій таблиці.

Зміна зв'язку між таблицями


Для зміни зв'язку між таблицями, виберіть в меню Зв'язки (Relationships) команду Змінити зв'язок (Edit Relationship) . У діалоговому вікні Зміна зв'язків (Edit Relationship) натискуйте кнопку Нове (Create) аби створити зв'язок (мал. 23.23).



Мал. 23.23 Зміна зв'язків між таблицями

Аби змінити існуючий зв'язок, двічі клацніть її мишею.
Аби зв'язати співпадаючі поля в головній і зв'язаній таблицях, клацніть, порожню верхнє вічко в стовпці Табліца/запрос (Table/Query). У цьому вічку з'явиться кнопка із стрілкою, що відкриває список. Виділите в списку співпадаюче поле. Потім клацніть, порожню верхнє вічко в стовпці Зв'язаною таблица/запрос (Related Table/Query) і виберіть ім'я необхідного поля.
Після того, як зв'язок між таблицями встановлений, їх поля можна об'єднати в запиті, формі або звіті.

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


Аби підтримувати зв'язки між записами в зв'язаних таблицях, і забезпечити захист від випадкового видалення або, зміни зв'язаних даних використовується ряд правив, який забезпечує цілісність даних. Цілісність даних дозволяє запобігти появі незв'язаних записів. Обоє взаємозв'язаної таблиці повинні належати одній базі даних Access.
Зв'язані поля повинні мати одного типа даних. Два виключення зроблено для поля лічильника: воно може бути пов'язане з числовим полем, властивість якого Розмір поля (FieldSize) має значення Довге ціле. Крім того, поле лічильника, властивість Розмір поля (FieldSize) якого має значення Код реплікації, можна пов'язати з числовим полем, якщо властивість Розмір поля (FieldSize) має значення Код реплікації.
Для установки цілісності даних база даних, в якій знаходяться таблиці, має бути відкрита. Для зв'язаних таблиць з баз даних інших форматів встановити цілісність даних неможливо.
Для підтримки цілісності даних в зв'язаних таблицях при оновленні або видаленні запису в головній таблиці, забезпечується каскадне оновлення або видалення всіх зв'язаних записів в підлеглій таблиці або таблицях.

 

Друзі сайту:


1
2 3 4

::  Меню ::

Введення
Початкові відомості про Microsoft Office System і Microsoft Office 2003 Перегляд документа у вікні додатка Microsoft Office 2003. Створення, відкриття, збереження і відновлення документа
Знайомимося з Microsoft Word 2003 Редагування документа Word 2003 Автоматизація виконання окремих операцій в Word 2003
Форматування текстового документа
Робота з таблицею і написом
Використання меню Вставка. Вставка і форматування малюнка в Word
Стилі і шаблони, структура документа
Оформлення документа
Налаштування параметрів роботи Word 2003
Друк документа Word Знайомимося з Excel 2003
Введення і редагування даних Excel
Форматування і захист аркуша Excel 2003
Виконання розрахунків по формулах в Excel 2003 Побудова діаграм, свідомість малюнка на аркуші Excel
Аналіз даних в Excel 2003
Друк документа і налаштування Excel 2003
Знайомимося з Outlook 2003
Теки Outlook і їх призначення
PowerPoint 2003 — засіб для створення і демонстрації презентацій
Знайомиться з Microsoft Access 2003 Використання запитів для роботи з даними
Створення і використання форм в Access 2003 Звіти, сторінки доступу до даних, макроси, налаштування бази даних Access 2003
Використання Microsoft Office 2003 для роботи в Інтерлеті
Використання декількох додатків Microsoft Office 2001 в одному документі. Підтримка розпізнавання мови і голосове управління комп'ютером


:: Каталог ::

 

Автомобили Производство Наука и образование Домашний очаг Спорт Новости и СМИ Компьютеры Товары и услуги Отдых и развлечения Мобильники  Медицина и здоровье Бизнес и финансы Работа и заработок Непознанное Интернет Справки Общество и политика Культура и искусство Юмор  


:: Підтримка ::

Практичне ознайомлення з пакетом офісних програм MS Office 2003
Отримати код:
Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Статистика ::

 

:: Навігация ::

  Головна
  Гостьова книга
  Додати у вишукане  

 

 

 


 

Copyright © Asentli, 2008