Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Внешние ключи




Эффективность связей

 

Описанные выше приемы проектирования помогут эффективно связывать данные. В результате нормализации базы данных, как правило, получается множество отдельных таблиц.

Имея хороший проект, можно не заботиться о том, как объединить данные в нужный момент.

 

При рассмотрении описанного выше примера с базой данных Microsoft Press Books можно заметить, что при создании новой таблицы в существующую таблицу каждый раз включается поле, связывающее старую и новую таблицы.

Эти «связующие» поля называются внешними ключами.

В хорошо спроектированной базе данных использование внешних ключей обеспечивает эффективность работы приложения. В процессе проектирования нужно внимательно следить за созданием внешних ключей. Задаваемые при создании таблиц в Access связи первичных ключей с внешними ключами используются для объединения данных из нескольких таблиц. Для ускорения поиска можно создать индексы по внешним ключам. Кроме того, можно установить режим обеспечения целостности связей между таблицами (например, Access может не разрешить пользователю создать заказ на несуществующее изделие), при этом для обеспечения целостности данных Access автоматически создает индексы.

 

Связи “один-к-одному” и “один-ко-многим”

Иногда возникает потребность разбить одну таблицу на более мелкие, потому что некоторые сведения из нее используются не слишком часто или какие-то данные не предназначены для всеобщего доступа. Например, часть данных о заказчиках в таблице Заказчики нужна только для маркетинга и будет использоваться очень редко. С другой стороны, сведения о финансовой надежности заказчиков должны быть доступны далеко не всем сотрудникам. В любом из этих случаев можно создать отдельную таблицу (например, Сведения о заказчиках или Финансы заказчиков), которая имеет тот же первичный ключ Код заказчика. Связь между исходной таблицей Заказчики и таблицей Сведения о заказчиках или Финансы заказчиков - это связь типа «один-к-одному». Это означает, что любая запись в первой таблице связана только с одной записью во второй, и наоборот.

Если запись исходной таблицы может быть связана со многими записями в другой таблице, то такая связь определяется как «один-ко-многим».

Создание связей между таблицами

Заключительный этап проектирования базы данных заключается в создании связей между таблицами. Для каждого объекта необходимо рассмотреть столбец “Связь” в рабочем бланке и обратить внимание на случаи, когда связь помечена как «многие». Проверьте, чтобы у соответствующего объекта была указана связь «один». Если вы обнаружите «многие» с обеих сторон отношения, придется создать дополнительную таблицу пересечения, с помощью которой одна связь «многие-ко-многим» будет сведена к двум связям типа «один-ко-многим». (Access не позволяет определить прямую связь «многие-ко-многим» между двумя таблицами.) В задаче «Создание заказа» заказ может содержать «много» книг, а книга может появиться во «многих» заказах.

Покончив со связями «многие-ко-многим», нужно создать связи между таблицами базы данных. Для этого необходимо поместить копии первичных ключей из таблиц со стороны «один» в таблицы, находящиеся на стороне «многие». Например, основываясь на информации рабочего бланка для объекта Заказы, приведенного на рис. 8.6 поле Код заказа (первичный ключ таблицы Заказы) должно присутствовать и в таблице Содержание заказа.




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 472; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.