Опитайте!
Силата на релационните бази данни се състои в комбинирането на данни между таблици. За да направите това, първо трябва да установите релации между таблиците. След това поставете Access в действие, за да комбинира данни в заявки, формуляри и отчети.
За да видите всички съществуващи релации, дефинирани за база данни, отворете шаблон на Access, отидете в раздела Инструменти за бази данни и изберете Релации.
Забележка: Ако отворите празна база данни или не сте дефинирали релации между таблиците, Access ви подканва да добавите таблица или заявка. За да добавите релация, ви трябват поне две таблици. В идеалния случай първо изграждате всички таблици. За да научите повече, вижте Създаване на релации със съветника за справки и Създаване на релации с екрана за релации.
Разбиране на изгледа "Релации"
Редовете в изгледа "Релации" показват връзките между таблиците. В изображението по-долу таблицата отляво е родителската таблица. Таблицата отдясно е дъщерната таблица. Линията между тях свързва полетата (в този случай "ИД на поръчка" и "ИД на продукт"), използвани за съпоставяне на данни.
Линиите и символите ви показват как са свързани таблиците:
-
Дебела свързваща линия означава, че налагате целостта на данните за връзките. Това е добре. Това поддържа вашите данни синхронизирани.
-
На нашата илюстрация числото 1 показва, че може да има само един съвпадащ запис в тази таблица. В таблицата "Поръчки", показана тук, само един запис съответства на всяка поръчка.
-
Символът ∞ показва, че много записи могат да включват един и същ ИД. В таблицата "Подробни данни за поръчките", показана тук, поръчката (указана с нейния ИД на поръчка) може да се показва повече от веднъж, тъй като една и съща поръчка може да включва няколко продукта.
Типове релации между таблици
Има три типа релации между таблици:
-
Един към един. Когато всеки елемент във всяка таблица се показва само веднъж. Например всеки служител може да има само една фирмена кола, която да използва. За повече информация вижте Създаване на релации "един към един".
-
Един към много. Когато един елемент в една таблица може да има релация към няколко елемента в друга таблица. Например всяка поръчка за покупка може да включва няколко продукта.
-
Много към много. Когато един или повече елементи в една таблица могат да имат релация към един или повече елементи в друга таблица. Например всяка поръчка може да има множество продукти и всеки продукт може да се показва в много поръчки. За да научите повече, вижте Създаване на релации тип "много към много".
Релации "един към много"
Една от най-често срещаните релации между таблиците в добре проектирани бази данни е релацията "един към много".
Релациите между таблиците обикновено разчитат на първичния ключ в една от таблиците. Спомнете си, че първичният ключ е уникален идентификатор (често числов) за всеки запис. За да покажете, че информацията в две различни таблици е свързана, обикновено създавате релация, като използвате първичния ключ от една от таблиците.
В релацията, показана тук, например всеки човек в таблицата "Контакти" има ИД, който е първичният ключ (означен със символа на ключ до нея). Този ИД се появява и в полето Собственик в таблицата Активи. За да изпратите имейл на човека, свързан с актив, получете стойността от полето Имейл адрес. За да направите това, потърсете стойността в полето Собственик на таблицата "Актив" и след това потърсете този ИД в таблицата "Контакти". Числото 1 в единия край на свързващата линия и символът ∞ в другия край показват, че това е релация "един към много", така че един контакт може да е свързан с много активи.
Редактиране на релация
Ако модифицирате съществуваща база данни или ако сте създали вашата база данни от шаблон, можете да редактирате съществуващите релации, така че да отговарят на вашите нужди.
Забележка: Ако таблиците, с които искате да работите, се използват, трябва първо да ги затворите заедно с всички отворени обекти, които ги използват.
-
Изберете Инструменти за бази данни > Релации.
-
Изберете линията, свързваща две свързани таблици.
Съвет: Ако не виждате желаната релация, в раздела Проектиране , в групата Релации изберете Всички релации.
-
В раздела Проектиране изберете Редактиране на релации.
Таблица/заявка е родителската таблица отляво (в този пример – "Клиенти").
Свързана таблица/заявка е дъщерната таблица (в този пример "Поръчки").
Дори ако таблиците не се показват в този ред в изгледа "Релации", тяхното разположение в диалоговия прозорец показва посоката на линията, която ги свързва, и релацията. Това е важно, ако например релацията "един към много", защото показва, че таблицата вляво е тази (родителската таблица), а таблицата отдясно е многото (дъщерната таблица).
-
За да промените полетата, които свързват таблиците, изберете друго поле под всяка показана таблица. В този пример полето "ИД" в таблицата "Клиенти" се свързва с полето "ИД на клиент" в таблицата "Поръчки".
-
Променете начина, по който Access синхронизира вашите данни между таблиците.
Поддържане на целостта на връзките
За да предотвратите невалидни данни и да поддържате препратките синхронизирани между релациите между таблиците, изберете това.
Да предположим например, че имате релация "един към един" между таблиците "Служители" и "Ползи за служители". Ако даден служител напусне фирмата и вие го премахнете от вашата таблица "Служители", записът за свързания служител в таблицата "Ползи за служители" също се премахва.
Понякога при прилагане на целостта на връзките няма смисъл. Да предположим например, че имате релация "един към много" между "Доставчици" и "Поръчки". Вие изтривате даден доставчик и този доставчик съпоставя поръчките в таблицата "Поръчки". Тези поръчки стават изолирани, което означава, че те все още съдържат ИД на доставчик, но ИД вече не е валиден, защото записът, към който препраща, вече не съществува.
Каскадно актуализиране на свързани полета
За да се уверите, че данните в свързаните полета са актуализирани във всички свързани таблици, изберете това.
Да предположим например, че просто искате да промените ИД на даден доставчик. Задаването на тази опция гарантира, че ИД на доставчика се актуализира – не само в таблицата "Доставчик", но и във всички други таблици, свързани с нея, които включват и този ИД на доставчик, например таблицата "Поръчки".
Каскадно изтриване на свързани записи
Решението да изберете това зависи от това дали трябва да запазите записите в някои таблици, въпреки че е възможно те да бъдат изтрити от други таблици.
Да предположим например, че изтривате даден доставчик. Ако тази опция е избрана, Access изтрива всички записи във всички таблици, които препращат към този ИД на доставчик, включително всички поръчки (в таблицата "Поръчки"), експедирани от този доставчик. Изберете тази опция само ако сте сигурни, че искате хронологията на поръчките да бъде изтрита.
-
За да промените релацията между таблиците от вътрешно съединение на външно съединение, изберете бутона Тип съединение . За повече информация вижте Създаване на заявки с външни съединения.
Изтриване на релация между таблици
Забележка: Ако таблиците, с които искате да работите, се използват, трябва първо да ги затворите заедно с всички отворени обекти, които ги използват.
За да премахнете релация между таблици:
-
Изберете Инструменти за бази данни > Релации.
-
Изберете линията, свързваща двете свързани таблици.
Съвет: Ако не виждате желаната релация, в раздела Проектиране , в групата Релации изберете Всички релации.
-
Изберете клавиша Delete. Ако получите подкана да потвърдите, че искате да изтриете релацията, изберете Да.
Забележка: Когато премахнете релация, премахвате също поддръжката на целостта на връзките за тази релация, ако има такава. В резултат на това Access вече няма да предотвратява промени, които водят до изолирани записи от страната "много" на релация "един към много".