Ръководство за релации на таблици

Забележка: Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.

Една от целите на проект на добра база данни е да премахнете излишъка на данни (дублираните данни). За тази цел, който разделя данните си много тематично базирани таблици така, че всеки факт е представен само веднъж. Можете след това предоставите достъп на начините, по които да обедини разделените информацията обратно – можете да направите това, като поставите общи полета в таблици, които са свързани. Тази стъпка не правилно, обаче трябва първо да се разбере релациите между таблиците и след това задайте тези релации във вашата база данни.

За повече информация вижте статията Основи на проектирането на бази данни.

В тази статия не са разгледани релации в уеб база данни. Уеб бази данни не поддържат прозореца "Релации". Можете да използвате полета за справки, за да създадете релации в уеб база данни. За повече информация вижте статията Създаване на база данни за споделяне в уеб.

В тази статия

Въведение

Типове релации между таблици

Защо се създават релации между таблици?

Разбиране на целостта на връзките

Показване на релации между таблици

Създаване на релация между таблици

Изтриване на релация между таблици

Променяне на релация между таблици

Поддържане на целостта на връзките

Въведение

След като създадете таблица за всеки обект във вашата база данни, трябва да предоставите достъп с начините, по които да обедини тази информация обратно отново, когато е необходимо. Можете да направите това, като поставите общи полета в таблици, които са свързани и като дефинирате релации между таблиците. След това можете да създадете заявки, формуляри и отчети, които показват информация от няколко таблици едновременно. Например формуляра, показан тук включва информация, съставен от няколко таблици:

Формуляр за поръчки, показващ едновременно свързана информация от пет таблици

1. Информацията за този формуляр идва от таблицата "Клиенти"...

2. ...таблицата "Поръчки"...

3. ...таблицата "Продукти"...

4. ...и таблицата "Подробни данни за поръчките".

Името на клиента в полето За изплащане от е извлечено от таблицата "Клиенти", стойностите на "ИД на поръчката" и "Дата на поръчка" идват от таблицата "Поръчки", "Продукти" идва от таблицата "Продукти", а стойностите на "Единична цена" и "Количество" идват от таблицата "Подробна информация за поръчката". Тези таблици са свързани една с друга по различни начини, за да се получи във формуляра информация от всяка от тях.

В горния пример полетата в таблиците трябва да бъдат координирани, така че да покажат информация за една и съща поръчка. Тази координация се извършва с помощта на релации между таблици. Релацията между таблиците работи чрез съответствие на данни в полета ключове – често това е поле с еднакво име в двете таблици. В повечето случаи тези съответстващи си полета са първичния ключ от едната таблица, който предоставя еднозначен идентификатор за всеки запис, и външен ключ в другата таблица. Например служителите могат да бъдат асоциирани с поръчките, за които отговарят, чрез създаване на релация между полетата "ИД_служител" в таблиците "Служители" и "Поръчки".

''ИД_служител'' се използва като първичен ключ в таблицата ''Служители'' и като външен ключ в таблицата ''Поръчки''.

1. "ИД_служител" се съдържа и в двете таблици – като първичен ключ...

2. ... и като външен ключ.

Най-горе на страницата

Типове релации между таблици

Има три типа релации между таблици.

  • Релация "един към много"

    Помислете за база данни, която включва таблица "клиенти" и таблица за поръчки за проследяване на поръчка. Клиент да поставите произволен брой поръчки. Следователно, че за всеки клиент, представени в таблица "клиенти", може да бъде много поръчки, представени в таблицата поръчки. Следователно, връзката между "таблица" клиенти "и" таблица "поръчки" е "един към много".

    Да представлява релация "един към много" в проект на база данни, първичен ключ от страната "един" на релацията и го добавите като допълнителни полето или полетата в таблицата от страната "много" на релацията. В този случай, като например добавите ново поле – полето "ИД" от таблица "клиенти" – за поръчки, таблица и го наречете ИД на клиент. Access да използвате номерът на ИД на клиента в таблицата поръчки за да намерите правилния клиент за всяка поръчка.

  • Релация ''много към много''

    Помислете за връзката между таблица продукти и таблица за поръчки. Една поръчка може да включва повече от един продукт. От друга страна един продукт може да се показват в много поръчки. Следователно, за всеки запис в таблица "поръчки", може да има много записи в таблицата "продукти". Освен това за всеки запис в таблицата "продукти", може да има много записи в таблица "поръчки". Този тип връзка се нарича много към много релация, защото за всеки продукт, може да бъде много поръчки и за всяка поръчка, може да бъде много продукти. Обърнете внимание, че да се открие съществуващи много към много релации между таблиците, е важно да се разглежда от двете страни на релацията.

    За да представите релация "много към много", трябва да създадете трета таблица, често наричана свързваща таблица, която разбива релацията "много към много" на две релации "един към много". Вмъкнете първичния ключ от всяка от двете таблици в третата таблица. В резултат на това третата таблица записва всяко срещане, или екземпляр, на релацията. Например таблицата "Поръчки" и таблицата "Продукти" имат релация "много към много", която се дефинира чрез създаване две релации "един към много" към таблицата "Подробна информация за поръчката". Една поръчка може да има много продукти, а всеки продукт може да се среща в много поръчки.

  • Релация "един към един"

    В релация всеки запис в първата таблица може да има само един съвпадащ запис във втората таблица и всеки запис във втората таблица може да има само един съвпадащ запис в първата таблица. Този тип на връзка не е често, защото най-често, информация, свързана по този начин се съхранява в една и съща таблица. Може да използвате релация, за да разделите таблица с много полета за извличане на част от таблица от съображения за сигурност, или за съхраняване на информация, която се отнася само за подмножество на основната таблица. Когато идентифицирате такава връзка, и двете таблици трябва да споделят общото поле.

Най-горе на страницата

Защо се създават релации между таблици?

Можете да създадете релации между таблици изрично с помощта на прозореца за релации или чрез плъзгане на поле от екрана Списък на полетата. Access използва релации между таблици, за да знаете как да се присъедините към таблици, когато трябва да ги използвате в обект на база данни. Има няколко причини защо трябва да създадете релации между таблици, преди да създадете други обекти на бази данни, като например формуляри, заявки и отчети.

  • Релациите между таблиците предоставят информация при проектирането на заявки

    За да работите със записи от повече от една таблица, често трябва да създадете заявка, която се присъединява към таблиците. Заявката работи чрез съвпадение на стойностите в полето първичен ключ от първата таблица с външното ключово поле във втората таблица. Например за да върнете редове, които списък на всички поръчки за всеки клиент, конструиране на заявката, съединяваща таблица "клиенти" с таблица "поръчки" въз основа на полето "ИД на клиента". В прозореца "Релации" можете ръчно да задавате полета, за да се присъедините. Въпреки това ако вече имате релация между таблиците, Access доставки по подразбиране присъединяване, въз основа на съществуващата релация между таблици. Освен това ако използвате един от заявката съветници, Access използва информацията, която събира от релации между таблици, вече сте задали да ви предостави информиран избор и да зададете предварително настройките на свойството със съответните стойности по подразбиране.

  • Релациите между таблиците предоставят информация при проектирането на формуляри и отчети

    Когато проектирате формуляр или отчет, Access използва информацията, която събира от релации между таблици, вече сте задали да ви предостави информиран избор и да зададете предварително настройките на свойството със съответните стойности по подразбиране.

  • Релациите между таблиците са основата, върху която можете да поддържате целостта на връзките, за да се избегнат изолирани записи във вашата база данни. Изолираният запис е запис с препратка към друг запис, който не съществува – например запис за поръчка, препращаща към запис за клиент, който не съществува.

    Когато проектирате база данни, можете да разделите вашата информация в таблици, всеки от които има първичен ключ. След това добавяте външни ключове към свързани таблици, които препращат към тези първични ключове. Тези чужд ключ първичен ключ двойките в основата за релации на таблици и заявки за множество таблици. Важно е, следователно, че тези чужд ключ основен основни препратки остават синхронизирани. Целостта на връзките помага да се гарантира, че препраща към Останете синхронизирани и зависи от релациите между таблиците.

Най-горе на страницата

Разбиране на целостта на връзките

Когато проектирате база данни, можете да разделите вашата информация в много тематично базирани таблици, за да намалите излишъка на данни. Можете след това да предоставите достъп с начините, по които да въвеждат данни отново заедно, като поставите общи полета в свързани таблици. Например да представлява "един към много" първичен ключ от таблицата "един" и го добавите като допълнителен поле към таблицата "много". Да обедини данните обратно, Access взема стойността на таблицата "много" и търси съответната стойност в таблицата "един". По този начин стойностите в таблицата "много" препращат към съответните стойности в таблицата "един".

Да предположим, че имате релация "един към много" между таблици "Доставчици" и "Поръчки" и искате да изтриете един доставчик. Ако този доставчик има поръчки в таблицата "Поръчки", тези поръчки ще станат изолирани, когато изтриете неговия запис. Поръчката все още ще съдържа идентификатора на доставчика, но този идентификатор вече няма да е валиден, защото записът, към който препраща, вече не съществува.

Предназначението на целостта на връзките е да не допуска изолирани записи и да поддържа препратките синхронизирани, така че тази хипотетична ситуация никога да не възниква.

Поддържане на целостта на връзките като разрешава зависимост на таблица (вижте налагане целостта на връзките за подробни инструкции). След като в сила, Access отхвърли всяка операция, която ще наруши целостта на връзките за тази релация между таблици. Това означава, че Access ще отхвърли и актуализации, които се променят на целта на препратка и изтривания, които премахват целта на препратка. Въпреки това е възможно, може да имате напълно валидни нужда за промяна на първичния ключ за изпращача, който има поръчки в таблицата поръчки. За тези случаи това, което трябва е за достъп до автоматично да актуализира всички извършени редове като част от една-единствена операция. По този начин Access гарантира, че актуализацията е завършена в пълен размер, така че вашата база данни не е останал в непоследователно състояние, с някои редове актуализирани и някои не. Поради тази причина Access поддържа опцията Актуализирай каскадно свързаните полета. Когато ви Поддържай целостта на връзките и изберете опцията за каскадно актуализиране на свързаните полета и след това актуализирате първичен ключ, Access автоматично актуализира всички полета, които препращат към първичния ключ.

Също така е възможно, е възможно да имате валиден трябва да изтриете ред и всички свързани записи – например изпращача запис, както и всички свързани поръчки за този изпращача. Поради тази причина Access поддържа опцията Изтривай каскадно свързаните записи. Когато Поддържай целостта на връзките и изберете опцията Изтривай каскадно свързаните записи, и след това изтриете запис на първичен ключ страна на релацията, Access автоматично изтрива всички записи, които препращат към първичния ключ.

Най-горе на страницата

Показване на релации между таблици

За да прегледате релации на таблици, щракнете върху релации в раздела Инструменти за бази данни . Прозорецът "Релации" се отваря и показва всички съществуващи релации. Ако все още няма релации на таблици са дефинирани и отваряте прозореца за релации за първи път, Access ви подканва да добавите таблица или заявка към прозореца.

Отваряне на прозореца "Релации"

  1. В раздела Файл щракнете върху Отвори.

  2. В диалоговия прозорец Отваряне изберете и отворете базата данни.

  3. В раздела Инструменти за бази данни, в групата Релации щракнете върху Релации.

  4. Ако базата данни съдържа връзки, появява се прозорецът "Релации". Ако базата данни не съдържа всички релации и отваряте прозореца за релации за първи път, се показва диалоговия прозорец Показване на таблица . Щракнете върху Затвори , за да затворите диалоговия прозорец.

  5. В раздела Проектиране, в групата Релации щракнете върху Всички релации.

    Това показва всички дефинирани релации във вашата база данни. Обърнете внимание, че скритите таблици (таблиците, за които квадратчето скрита в таблицата свойства в диалоговия прозорец е избран) и техните зависимости няма да бъде показана освен ако не е избрано квадратчето за отметка Показвай скритите обекти в навигация Опции за диалоговия прозорец.

Релацията между таблиците се представя в прозореца "Релации" с релационна линия, начертана между таблиците. Релация, която не поддържа целостта на връзките, се показва като тънка линия между общите полета, поддържащи релацията. Когато изберете релацията, като щракнете върху нейната линия, линията се удебелява, за да покаже, че е избрана. Ако поддържате целостта на връзките за тази релация, линията се показва удебелена в краищата. Освен това над удебелената част на линията от страната "едно" на релацията се показва числото 1, а над удебелената част на линията от другата страна се показва символът за безкрайност ().

Когато прозорецът "Релации" е активен, можете да избирате от следните команди в лентата:

В раздела Проектиране, в групата Инструменти:

  • Редактиране на релации    Отваря диалоговия прозорец Редактиране на релации. Когато изберете релационна линия, можете да щракнете върху Редактиране на релации, за да промените релацията между таблиците. Можете също да щракнете двукратно върху релационната линия.

  • Изчистване на оформлението    Премахва всички показани таблици и релации в прозореца "Релации". Забележете, че тази команда само скрива таблиците и релациите, а не ги изтрива.

  • Отчет за релациите    Създава отчет, който показва таблиците и релациите във вашата база данни. Отчетът показва само таблиците и релациите в прозореца "Релации", които не са скрити.

В раздела Проектиране, в групата Релации:

  • Показване на таблица    Отваря диалоговия прозорец Показване на таблица, така че да можете да избирате таблици и заявки за преглеждане в прозореца "Релации".

  • Скриване на таблица    Скрива избраната в прозореца "Релации" таблица.

  • Преки зависимости    Показва всички релации и свързани таблици за избраната таблица в прозореца "Релации", ако не са показани.

  • Всички зависимости    Показва в прозореца "Релации" всички релации и свързани таблици във вашата база данни. Забележете, че скритите таблици (таблиците, за които е поставена отметка в квадратчето Скрита в диалоговия прозорец Свойства на таблицата) и техните релации няма да бъдат показани, освен ако в диалоговия прозорец "Опции за навигация" не е избрана опцията "Покажи скритите обекти".

  • Затвори    Затваря прозореца "Релации". Ако сте направили промени в оформлението на прозореца "Релации", ще бъдете запитани дали искате да запишете тези промени.

Най-горе на страницата

Създаване на релация между таблици

Можете да създадете релация между таблици с помощта на прозореца "Релации" или като плъзнете поле в лист с данни от екрана Списък на полетата. Когато създавате релация между таблици, общите полета не е необходимо да имат едни и същи имена, въпреки че това е честа практика. Необходимо е тези полета да имат един и същ тип данни. Ако обаче полето с първичния ключ е поле с автоматично номериране, полето с външния ключ може да бъде числово поле, ако свойството Размер на полето на двете полета е едно и също. Можете например да съпоставите поле с автоматично номериране с числово поле, ако свойството Размер на полето на двете полета е "Дълго цяло число". Когато двете общи полета са числови полета, те трябва да имат една и съща настройка на свойството Размер на полето.

Създаване на релация между таблици с помощта на прозореца "Релации"

  1. В раздела Файл щракнете върху Отвори.

  2. В диалоговия прозорец Отваряне изберете и отворете базата данни.

  3. В раздела Инструменти за бази данни, в групата Релации щракнете върху Релации.

  4. Ако още не сте дефинирали релации, автоматично се появява диалоговият прозорец Показване на таблица. Ако не се покаже, в раздела Проектиране, в групата Релации щракнете върху Показване на таблица.

Диалоговият прозорец Показване на таблица показва всички таблици и заявки в базата данни. За да видите само таблиците, щракнете върху Таблици. За да видите само заявките, щракнете върху Заявки. За да видите и таблиците, и заявките, щракнете върху И двете.

  1. Изберете една или повече таблици или заявки и след това щракнете върху Добавяне. Когато завършите добавянето на таблиците и заявките в прозореца "Релации", щракнете върху Затвори.

  2. Плъзнете поле (обикновено първичния ключ) от една таблица в общото поле (външния ключ) в друга таблица. За да плъзнете няколко полета, натиснете клавиша CTRL, щракнете върху всяко от тях и след това ги плъзнете.

Появява се диалоговият прозорец Редактиране на релации.

  1. Проверете дали показаните имена на полета са общи полета за релацията. Ако някое име на поле е неправилно, щракнете върху него и изберете ново поле от списъка.

За да поддържате целостта на връзките за тази релация, поставете отметка в квадратчето Поддържай целостта на връзките. За повече информация за целостта на връзките вж. разделите За целостта на връзките и Поддържане на целостта на връзките.

  1. Щракнете върху Създай.

    Между двете таблици се начертава релационна линия. Ако сте избрали квадратчето за отметка Поддържай целостта на връзките, линиите се показват удебелени в краищата си. Освен това, ако сте избрали Поддържай целостта на връзките, над удебелената част в едната страна на релационната линия се показва цифрата 1, а над удебелената част в другата страна на линията се показва символът за безкрайност (), както е показано на следващата фигура.

    Забележки: 

    • За да създадете релация    И двете от общите полета (обикновено първичния ключ и външен ключ полета) трябва да има уникален индекс. Това означава, че свойството индексирано за тези полета трябва да бъде настроено на да (без дублиране). Ако и двете полета имат уникален индекс, Access създава релация.

    • За да създадете "един към много"    Поле от страната "един" (обикновено първичния ключ) на релацията трябва да има уникален индекс. Това означава, че свойството индексирано за това поле трябва да бъде настроено на да (без дублиране). Поле от страната "много" трябва да има уникален индекс. Може да има индекс, но тя трябва да позволяват дубликати. Това означава, че свойството индексирано за това поле трябва да бъде настроено на не, или да (дублира OK). Когато едно поле има уникален индекс и други не, Access създава "един към много".

Създаване на релация между таблици с помощта на екрана "Списък на полетата"

Можете да добавите поле към съществуваща таблица, която е отворена в изглед на лист с данни, като го плъзнете от екрана Списък на полетата. Екранът Списък на полетата показва полета, достъпни в свързани таблици и също полета, достъпни в други таблици. Когато плъзнете поле от "друго" (несвързани) таблица и след това изпълнете съветника за справки, автоматично се създава нова един към много връзка между таблицата в екрана Списък на полетата и таблицата, към която чрез плъзгане полето. В тази релация, създаден от достъп, не Поддържай целостта на връзките по подразбиране. За поддържане на целостта на връзките, трябва да редактирате релацията. Вижте раздела Промяна на релация между таблици за повече информация.

Отваряне на таблица в изглед на лист с данни

  1. В раздела Файл щракнете върху Отвори.

  2. В диалоговия прозорец Отваряне изберете и отворете базата данни.

  3. В навигационния екран щракнете с десния бутон върху таблицата, към която искате да добавите полето и да създадете релация, и след това щракнете върху Отвори.

Отваряне на екрана ''Списък на полетата''

  • Натиснете ALT+F8.

    Показва се екранът Списък на полетата.

Списък с полета на екран показва всички други таблици във вашата база данни, групирани в категории. Когато работите с таблица в изглед на лист с данни, Access показва полетата в една от две категории в екрана Списък на полетата: полета, достъпни в свързани таблици и полета, достъпни в други таблици. Първата категория изброява всички таблици, които имат връзка с таблицата, в момента с който работите. Втората категория изброява всички таблици, с която вашата таблица не е релация.

Когато в екрана Списък на полетата щракнете върху знака плюс (+) до име на таблица, виждате списък на всички полета, налични в тази таблица. За да добавите поле към вашата таблица, плъзне желаното полето от екрана Списък на полетата в таблицата, отворена в изглед на лист с данни.

Добавяне на поле и създаване на релация от екрана "Списък на полетата"

  1. В екрана Списък на полетата, под Полета, достъпни в други таблици щракнете върху знака плюс (+) до име на таблица, за да покажете списъка на полетата в тази таблица.

  2. Плъзнете желаното поле от екрана Списък на полетата в таблицата, която е отворена в изглед на лист с данни.

  3. Когато се покаже редът за вмъкване, пуснете полето на мястото му.

    Стартира се Съветник за справки.

  4. Следвайте инструкциите, за да изпълните Съветник за справки.

    Полето се появява в таблицата, отворена в изглед на лист с данни.

Когато плъзнете поле от "друго" (несвързани) таблица и след това изпълнете съветника за справки, автоматично се създава нова един към много връзка между таблицата в Списъка с полета и таблицата, към която чрез плъзгане полето. В тази релация, създаден от достъп, не Поддържай целостта на връзките по подразбиране. За поддържане на целостта на връзките, трябва да редактирате релацията. Вижте раздела Промяна на релация между таблици за повече информация.

Най-горе на страницата

Изтриване на релация между таблици

За да премахнете релация между таблиците, трябва да изтриете релационната линия в прозореца "Релации". Внимателно поставете курсора, така че да сочи в релационната линия и след това щракнете върху линията. Когато е избрана, релационната линия се удебелява. Релационната линия е избран, натиснете клавиша DELETE. Обърнете внимание, че когато премахнете връзка, премахвате също поддръжка на целостта на връзките за тази връзка, ако е разрешено. Като резултат Access вече не автоматично ще попречи на създаването на лекарства записи от страната "много" на релация.

  1. В раздела Инструменти за бази данни, в групата Релации щракнете върху Релации.

Появява се прозорецът "Релации". Ако все още не сте дефинирали всички релации и това е първият път, който отваряте прозореца "Релации", появява се диалоговият прозорец Показване на таблица . Ако се покаже диалоговия прозорец, щракнете върху Затвори.

  • В раздела Проектиране, в групата Релации щракнете върху Всички релации.

Всички таблици, които имат релации се показват заедно с релационните линии.

  1. Щракнете върху релационната линия за релацията, която искате да изтриете. Когато бъде избрана, релационната линия се удебелява.

  2. Натиснете клавиша DELETE.

    –или–

Щракнете с десния бутон и след това щракнете върху Изтрий.

  1. Access може да покаже съобщението Наистина ли искате окончателно да изтриете избраната релация от вашата база данни?. Ако това съобщение се покаже, щракнете върху Да.

Забележка: Ако някоя от таблиците, участващи в релацията, се използва от друго лице или процес или е в отворен обект от база данни (например формуляр), няма да да можете да изтриете релацията. Преди да се опитате да премахнете релацията, трябва да затворите всички отворени обекти, които използват тези таблици.

Най-горе на страницата

Променяне на релация между таблици

Можете да промените релация между таблици, като я изберете в прозореца "Релации" и след това я редактирате. Внимателно поставете курсора, така че да сочи към релационната линия, и след това щракнете върху линията, за да я изберете. Когато е избрана, релационната линия се удебелява. Когато релационната линия е избрана, щракнете двукратно върху нея или върху Редактиране на релации в групата Инструменти в раздела Проектиране. Появява се диалоговият прозорец Редактиране на релации.

Направете промените в диалоговия прозорец "Редактиране на релации"

  1. В раздела Инструменти за бази данни, в групата Релации щракнете върху Релации.

Появява се прозорецът "Релации". Ако все още не сте дефинирали всички релации и това е първият път, който отваряте прозореца "Релации", появява се диалоговият прозорец Показване на таблица . Ако се покаже диалоговия прозорец, щракнете върху Затвори.

  • В раздела Проектиране, в групата Релации щракнете върху Всички релации.

  • Всички таблици, които имат релации се показват заедно с релационните линии.

  • Щракнете върху релационната линия за релацията, която искате да промените. Когато бъде избрана, релационната линия се удебелява.

  • Щракнете двукратно върху релационната линия.

  • Направете промените и щракнете върху OK.

    Диалоговият прозорец Редактиране на релации ви позволява да промените релация между таблици. По-конкретно, можете да промените таблиците или заявките от всяка страна на релацията, както и полетата от всяка страна. Можете също да зададете типа на съединенията или поддържането на целостта на връзките и да изберете каскадна опция. За повече информация за типа на съединението и начина на задаването му вж. раздела Задаване на типа на съединението. За повече информация за поддържането на целостта на връзките и избирането на каскадна опция вж. раздела Поддържане на целостта на връзките.

Задаване на типа на съединение

Когато дефинирате релация между таблиците, факти за връзката предоставят информация при проектирането на заявки. Например ако дефинирате релация между две таблици и след това създаване на заявка, която използва тези таблици, Access автоматично избира по подразбиране съответстващи си полета, въз основа на полета, указани в релацията. Можете да игнорирате тези първоначална по подразбиране стойности във вашата заявка, но стойностите, предоставени от връзката ще често да се окаже са правилни. Тъй като съвпадение и обединяване на данни от повече от една таблица е нещо, което ще направи често във всички, но най-простият бази данни, задаване на настройки по подразбиране чрез създаване на релации може да бъде време спестяване и полезни.

Заявките към няколко таблици комбинират информация от повече от една таблица, като съпоставят стойностите в общи полета. Операцията, която извършва съпоставянето и комбинирането, се нарича съединение. Нека например да искате да покажете поръчки на клиенти. Създайте заявка, която съединява таблицата "Клиенти" и таблицата "Поръчки" по полето "ИД на клиента". Резултатът от заявката съдържа информация за клиенти и информация за поръчки само за тези редове, за които е намерено съответствие.

Никоя от стойностите, можете да зададете за всяка зависимост е тип съединение. Типа казва достъп кои записи да бъдат включени в резултат от заявката. Например Разгледайте отново заявката, съединяваща таблица "клиенти" и таблицата Orders относно общите полета, които представляват ИД на клиента. Като използвате типа по подразбиране (наречени вътрешно съединение), заявката връща само редовете, клиенти и ред редове, където общите полета (наричана също Съединени полета) са равни.

Да предположим обаче, че искате да включите всички клиенти – дори тези, които още не са направили поръчки. За тази цел трябва да промените типа на съединението от вътрешно съединение в така нареченото ляво външно съединение. Лявото външно съединение връща всички редове от таблицата от лявата страна на релацията и само тези от таблицата отдясно, за които има съответствие. Дясното външно съединение връща всички редове отдясно и само тези отляво, за които има съответствие.

Забележка: В този случай "ляво" и "дясно" се отнасят за позицията на таблиците в диалоговия прозорец Редактиране на релации, а не в прозореца "Релации".

Трябва да обмислите резултата, който най-често ще искате от заявката, съединяваща таблиците в тази релация, и в зависимост от това да зададете типа на съединението.

Задаване на типа на съединение

  1. В диалоговия прозорец Редактиране на релации щракнете върху Тип съединение.

    Появява се диалоговият прозорец Свойства на съединението.

  2. Щракнете върху вашия избор и след това щракнете върху OK.

Таблицата по-долу (с помощта на клиенти и поръчки таблиците) показва три възможности за избор, които се показват в Свойства на съединението диалоговия прозорец на типа на съединението, които използват, и дали всички редове или съответстващите редове са включени за всяка таблица.

Избор

Релационно съединение

Лява таблица

Дясна таблица

Включват се редове само когато съединените полета от двете таблици са еднакви.

Вътрешна връзка

Съответстващите редове

Съответстващите редове

2. Включва ВСИЧКИ записи от "Клиенти" и само тези записи от "Поръчки", в които съединените полета са равни.

Ляво външно съединение

Всички редове

Съответстващите редове

3. Включва ВСИЧКИ записи от "Поръчки" и само тези записи от "Клиенти", в които съединените полета са равни.

Дясно външно съединение

Съответстващите редове

Всички редове

Когато изберете опция 2 или опция 3, на релационната линия се показва стрелка. Тази стрелка сочи към страната на релацията, показваща само съответстващите редове.

Извършване на промени в диалоговия прозорец "Свойства на съединението"

  1. В раздела Инструменти за бази данни, в групата Релации щракнете върху Релации.

Появява се прозорецът "Релации". Ако все още не сте дефинирали всички релации и това е първият път, който отваряте прозореца "Релации", появява се диалоговият прозорец Показване на таблица . Ако се покаже диалоговия прозорец, щракнете върху Затвори.

  • В раздела Проектиране, в групата Релации щракнете върху Всички релации.

    Всички таблици, които имат релации, се показват заедно с релационните линии

  • Щракнете върху релационната линия за релацията, която искате да промените. Когато бъде избрана, релационната линия се удебелява.

  • Щракнете двукратно върху релационната линия.

Появява се диалоговият прозорец Редактиране на релации.

  1. Щракнете върху присъединяване към тип

  2. В диалоговия прозорец Свойства на съединението щракнете върху опцията и след това щракнете върху OK.

  3. Направете допълнителни промени в релацията и след това щракнете върху OK.

Най-горе на страницата

Поддържане на целостта на връзките

Целта на използването на целостта на връзките е да се предотврати лекарства записи и да поддържа препратките синхронизирани, така че нямате всички записи, които препращат към други записи, които вече не съществува. Поддържане на целостта на връзките като разрешава зависимост на таблица. След като в сила, Access отхвърли всяка операция, която ще наруши целостта на връзките за тази релация между таблици. Достъп до отхвърли актуализации, които се променят на целта на препратка, а също и изтривания, които премахват целта на препратка. За да имат достъп се разпространи референтна актуализации и изтривания, така че всички свързани редове се променят съответно, вижте раздела Задаване на каскадните опции.

Включване и изключване на целостта на връзките.

  1. В прозореца "Релации" щракнете върху релационната линия за релацията, която искате да промените. Когато бъде избрана, релационната линия се удебелява.

  2. Щракнете двукратно върху релационната линия.

Появява се диалоговият прозорец Редактиране на релации.

  1. Поставете отметка в квадратчето Поддържай целостта на данните.

  2. Направете допълнителни промени в релацията и след това щракнете върху OK.

След като разрешите поддържането на целостта на връзките, в сила са следните правила:

  • Не може да въведете стойност в полето външен ключ на свързана таблица, ако тази стойност не съществува в полето първичен ключ на първичната таблица  – това би създало изолирани записи.

  • Не можете да изтриете запис от първична таблица, ако съществуват съответстващи записи в свързана таблица. Например не можете да изтриете запис за служител от таблицата "Служители", ако има редове, присвоени на този служител в таблицата "Поръчки". Можете обаче да изтриете с една операция първичен запис и всички свързани записи, като поставете отметка в квадратчето Изтривай каскадно свързаните записи.

  • Не можете да променяте стойност на първичен ключ в основната таблица, ако това така ще създаде лекарства записи. Например не можете да променяте номер на ред в таблица "поръчки" Ако има линия елементите, присвоени на този ред в таблицата по-подробна информация за поръчката. Въпреки това, можете да актуализирате първичните запис и всички свързани записи в една операция, като поставите отметка в квадратчето Каскадно актуализиране на свързаните полета .

    Забележки: Ако имате затруднения при разрешаването на целостта на връзките, обърнете внимание, че следните условия са необходими за поддържане на целостта на връзките:

    • Общото поле от първичната таблица трябва да бъде първичен ключ или да има уникален индекс.

    • Общите полета трябва да имат един и същ тип данни. Единственото изключение е това, че поле с автоматично номериране може да бъде свързано с числово поле, чиято настройка на свойството Размер на полето е Дълго цяло число.

    • Двете таблици трябва да съществува в една и съща база данни на Access. Целостта на връзките не може да бъде изпълнено в свързани таблици. Въпреки това ако източник на таблиците във формат на Access, можете да отворите базата данни, в който те се съхраняват и разрешаване на целостта на връзките в тази база данни.

Задаване на каскадните опции

Можете да попаднете ситуация, в която имате валиден трябва да промени стойността от страната "един" на релацията. В този случай ви трябва достъп до всички извършени редове актуализира автоматично като част от една-единствена операция. По този начин, актуализацията е завършена в пълен размер, така че вашата база данни не е останал в непоследователно състояние – с някои редове актуализирани а някои не. Access ви помага да избегнете този проблем чрез подкрепа опцията Актуализирай каскадно свързаните полета. Когато ви Поддържай целостта на връзките и изберете опцията за каскадно актуализиране на свързаните полета и след това актуализирате първичен ключ, Access автоматично актуализира всички полета, които препращат към първичния ключ.

Можете също да се наложи да изтриете ред и всички свързани записи – например изпращача запис, както и всички свързани поръчки за този изпращача. Поради тази причина Access поддържа опцията Изтривай каскадно свързаните записи. Когато Поддържай целостта на връзките и изберете опцията Изтривай каскадно свързаните записи, Access автоматично изтрива всички записи, които препращат първичния ключ, когато изтриете запис, който съдържа първичен ключ.

Включване и изключване на каскадно актуализиране и/или каскадно изтриване

  1. В прозореца "Релации" щракнете върху релационната линия за релацията, която искате да промените. Когато бъде избрана, релационната линия се удебелява.

  2. Щракнете двукратно върху релационната линия.

Появява се диалоговият прозорец Редактиране на релации.

  1. Поставете отметка в квадратчето Поддържай целостта на данните.

  2. Изберете едното или и двете квадратчета за отметка Актуализирай каскадно свързаните полета и Изтривай каскадно свързаните записи.

  3. Направете допълнителни промени в релацията и след това щракнете върху OK.

Забележка: Ако първичният ключ е поле за автономериране, избирането на Актуализирай каскадно свързаните полета няма да има ефект, защото не може да промени стойността в поле с автоматично номериране.

Най-горе на страницата

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×