Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
05_АИС_Лабораторные работы I семестр.doc
Скачиваний:
101
Добавлен:
26.02.2016
Размер:
5.71 Mб
Скачать

Межтабличные связи

Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных.

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

Главная таблица – таблица, которая участвует в связи своим ключевым полем.

Вторая таблица называется связанной.

В Access можно задать три вида связей между таблицами: Один-ко-многим, Многие-ко-многим и Один-к-одному.

Связь Один-ко-многим (обозначается 1-∞) – наиболее часто используемый тип связи между таблицами. В такой связи каждой записи в главной таблице может соответствовать несколько записей в связанной таблице, а запись в связанной таблице не может иметь более одной соответствующей ей записи в главной таблице.

При связи Многие-ко-многим (∞-∞) одной записи в главной таблице может соответствовать несколько записей в связанной таблице, а одной записи в связанной таблице – несколько записей в главной таблице. Такая схема реализуется только с помощью третьей (связующей) таблицы, в которой одно из полей является общим с главной таблицей, а другое – общим со связанной таблицей.

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

Разработка структуры и связей таблиц на примере базы данных «Деканат тф»

Пусть эта база данных содержит следующую информацию:

1. Перечень дисциплин, по которым обучаются студенты.

2. Сведения о студентах (фамилия, имя, отчество, номер группы, дата рождения, получает или нет стипендию).

3. Сведения о преподавателях (фамилия, имя, отчество, должность, преподаваемая дисциплина, заработная плата, дата рождения, телефон).

Можно выделить три таблицы, которые не будут обладать избыточностью: Студенты, Дисциплины и Преподаватели.

Поля таблицы Студенты: код студента, фамилия, имя, отчество, номер группы, дата рождения, стипендия, оценки.

Поля таблицы Дисциплины: код дисциплины, название дисциплины.

Поля таблицы Преподаватели: код преподавателя, фамилия, имя, отчество, дата рождения, телефон, заработная плата, должность.

Коды в таблицах введены для однозначной идентификации соответствующих данных, для обеспечения связности и для экономии памяти в случае неизбежного повтора данных.

Рассмотрим связи между полученными объектами. Очевидно, что типы связей будут выглядеть так (считая, что каждый преподаватель преподаёт только одну дисциплину):

Студенты ∞-∞ Дисциплины 1-∞ Преподаватели

Чтобы избежать множественных связей, введём вспомогательную таблицу Оценки.

Поля таблицы Оценки: код студента, код дисциплины, оценки.

Таким образом, получается следующая схема данных (рис. 1).

Рис. 1. Схема данных базы данных «Деканат ТФ»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]