Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Подсказка. Имя связующей таблицы часто состоит из имен двух таблиц, которые она связывает, например Authors Books.




Имя связующей таблицы часто состоит из имен двух таблиц, которые она связывает, например Authors Books.

 

Суть связующей таблицы заключается в том, что она формирует два отношения "один-ко-многим", определенные в программе Access. Другими словами, связующая таблица — это таблица-потомок, у которой два родителя. У таблицы Authorsотношение "один-ко-многим" с таблицей Authors_Books,в котором таблица Authorsвыступает как родитель. У таблицы Booksтакже отношение "один-ко-многим" с таблицей Authors_Books,в котором таблица Books— родитель. Вы можете определить эти два отношения на вкладке Схема данных,убедившись в том, что заданы правила целостности данных (рис. 5.16).

 

Рис. 5.16.На самом деле отношение "многие-ко-многим" между таблицами Authorsи Books— это два отношения "один-ко-многим", включающие таблицу Authors_Books.После определения этих отношений вы не сможете связать автора или книгу, которые не существуют, и удалить автора или книгу, у которых есть запись в таблице Authors_Books


Хотя на первый взгляд связующие таблицы производят странное впечатление, большин­ство фанатов БД быстро привыкают к ним. Как и в случае связей "один-ко-многим", кото­рыми вы пользовались ранее, можно создавать подстановки (см. разд. "Поиск в связанных таблицах" ранее в этой главе) для полей AuthorIDи BookIDтаблицы Authors_Books.Но вам придется всегда вставлять вручную запись в таблицу Authors_Books для того, чтобы связать автора с книгой.

 

 

Многозначные поля

До появления программы Access 2007 связующие таблицы были единственным средством создания связей "многие-ко-многим". Но для поддержки средств интеграции (см. главу 21) сервисов SharePoint в Access 2007 включена новая функциональная возможность — много­значные поля.

Как следует из названия, многозначное поле может хранить более одного значения. Эта возможность очень удачно решает проблему связей "многие-ко-многим". Идея состоит в настройке связующего поля в таблице-потомке как многозначного поля. Вернемся к приме­ру с авторами и книгами. При отсутствии связующей таблицы вам нужно вставить столбец AuthorIDв таблицу с записями о книгах для обозначения каждого автора, написавшего данную книгу (табл. 5.9).

Таблица 5.9. Данные таблицы Books, в которую добавлен столбец AuthorID, содержащий дублирующие значения

ID Title Published AuthorID
Fun with Letters January 1, 2006
How to Save Money by Living with Your Parents February 24, 2005
Unleash Your Guilt May 5, 2006

Но обычное поле хранит единственное значение. Таким образом, в этой таблице можно указать только одного из двух авторов книги № 403.

Если же разрешить хранение нескольких значений в поле AuthorID,можно ввести спи­сок авторов, подобный приведенному в табл. 5.10.

 

Таблица 5.10. Данные таблицы Books, в которую добавлен столбец AuthorlD, хранящий несколько значений

ID Title Published AuthorID
How toSave Money by Living with Your Parents February 24, 2005 11, 12

За кадром многозначное поле в действительности использует связующую таблицу. Но программа Access скрывает эту подробность от вас, что существенно облегчает объединение связанных записей.

Для создания поля с несколькими значениями следует использовать подстановку. Как вы уже знаете (см. рис. 5.14), эта функциональная возможность выбирается на последней странице мастера Создание подстановки. С другой стороны, если у вас уже есть подстановка


в поле, необходимо внести небольшое изменение. Откройте таблицу в Конструкторе, выберите поле с подстановкой (например, ManufacturerID)и затем в области Свойства по­лящелкните кнопкой мыши вкладку Подстановка(Lookup). Найдите свойство Разрешение нескольких значений(Allow Multiple Values) и измените его значение с Нет на Да.

 


Поделиться:

Дата добавления: 2014-11-13; просмотров: 193; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты