Система управления базами данных Access: Учебное пособие

Страницы работы

Фрагмент текста работы

Следующий пример – объект Студенты имеет следующие атрибуты: №группы, №студента, фамилия, имя, год рождения, адрес. По известным причинам ни фамилия, ни имя, ни адрес, ни год рождения не могут быть выбраны в качестве ключевых. №группы также не может быть выбранным в качестве ключевого , так как в одной группе обучается больше одного студента. Атрибут №студента содержит порядковый номер студента в группе и в каждой группе имеется студент с номером 1, 2 и т.д. Следовательно ни один из этих атрибутов не может быть ключевым. Конечно можно добавить поле Код Студента, а можно воспользоваться составным ключом . В качестве составного ключа используем поля №группы и №студента, так как эта комбинация не содержит повторяющихся значений.

Типы связей между таблицами.

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

Отношение (связь) один - ко – многим (1: M или M:1)  является наиболее часто используемым типом связи. В такой связи каждой записи в таблице А (первичный ключ)соответствует несколько записей в таблице В (внешний ключ), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А. Таблица А называется главной ,а таблица В подчиненной таблицей. Или иногда таблицу А называют родительской таблицей, а В – дочерней .

Примеры

 


Одной записи в таблице Клиенты может соответствовать много записей в таблице Заказы .

 


Одной записи в таблице Товары может соответствовать много записей в таблице Заказы .

 


Связь один ко многим создается в том случае, когда поле одной из таблиц  является ключевым

Отношение ( связь) один - к – одному (1:1) . Запись в таблице А может иметь не более одной связанной записи в таблице В и наоборот.  Содержимое таких таблиц как правило можно объединить в одну. Этот тип связи используется довольно редко Такие связи имеет смысл устанавливать для разделения таблиц с очень большим количеством полей, для отделения части таблицы по соображениям защиты или если не все данные из одной таблицы используются в другой .

 


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

Связь один к одному создается только в том случае когда оба поля являются ключевыми

Отношение ( связь) многие ко многим (N:M) . Одной записи в таблице А может соответствовать несколько записей в таблице В , а одной записи в таблице В может соответствовать много записей в таблице А.

 


У одной книги может быть несколько авторов , а каждого автора может быть несколько книг.

Такую связь в MS Access реализовать невозможно. Такая связь реализуется только при помощи третьей таблицы – таблицы связки, имеющей составной ключ

 


Внимание! Связь многие ко многим преобразуется в две связи один ко многим при помощи таблицы связки.

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

ü  Связываемые поля имеют одинаковый тип данных. Исключение составляет поле счетчик, так как поле счетчик  не может быть использовано в качестве вторичного ключа. Поле счетчик может быть связано с числовым полем, имеющим размер длинное целое.

ü  Таблицы хранятся внутри одной БД.

ü  Главная таблица связывается с подчиненной по ключу

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

Похожие материалы

Информация о работе