Теория. Понятие и классификация связей

Лабораторная работа №4. Создание связей.

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

Теория. Понятие и классификация связей

Связь соединяет две таблицы. Используя связь, можно создавать запросы, получающие данные из двух или большего числа таблиц. Поэтому БД называется «реляционной БД».

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

База данных содержит множество таблиц, связь между которыми устанавливается с помощью совпадающих полей. Различают четыре типа отношений между таблицами: «один-к-одному», «один-ко-многим», «много-к-одному», «много-ко-многим».

Отношение «один-к-одному» означает, что каждая запись одной таблицы соответствует только одной записи в другой таблице. Например, если рассмотреть таблицы, одна из которых содержит данные о сотрудниках предприятия, а вторая – профессиональные сведения, то можно сказать, что между этими таблицами существует отношение «один-к-одному», поскольку для одного человека, информация о котором содержится в первой таблице, может существовать только одна запись, содержащая профессиональные сведения во второй таблице.

Наиболее часто встречающимся типом отношений в базе данных является отношение «один-ко-многим ». Например, таблицы, содержащие информацию о клиентах предприятия и сделанных ими заказах, или отношения между предприятием и работающими на нем сотрудниками. При отношении «один-ко-многим» таблица, находящаяся на стороне отношения «один», называется главной (адресуемой) таблицей. Таблица на стороне отношения «многие» называется внешней (адресующей).

Отношение «много-к-одному » аналогично рассмотренному ранее типу «один-ко-многим». Тип отношения между объектами зависит от точки зрения. Если рассматривать отношения между сделанными заказами и клиентами, то получится отношение «много-к-одному».

Отношение «много-ко-многим » возникает между двумя таблицами в тех случаях, когда:

· одна запись из первой таблицы связана более чем с одной записью из второй таблицы.

· одна запись из второй таблицы связана более чем с одной записью из первой таблицы.

Например, магазин оптовой торговли. Рассмотрим 2 группы объектов: список товаров, производимых предприятиями-поставщиками, и список товаров, заказанных потребителями. Между таблицами, содержащими данные сведения, существует отношение «много-ко-многим», т.к. на каждый поставляемый товар может быть более одного заказа. Аналогично каждый заказанный товар может производиться более чем одним предприятием.

Отношение «много-ко-многим» требует создания третьей, так называемой связывающей, таблицы, т.к. таблицы не могут быть непосредственно связаны между собой отношением «много-ко-многим». Поэтому отношение «много-ко-многим» разбивается на два отношения «один-ко-многим» при помощи связывающей таблицы. Каждая из исходных таблиц связывается отношением «один-ко-многим» со связывающей таблицей.

Задание 1. Создадим связь «один-ко-многим» между таблицами Фрукты и Поставщики

1. Создадим новую таблицу Поставщики с помощью мастера. Для этого на вкладке Таблицы нажмите кнопку Создать, выберите Мастер таблиц. Мастер начнет свою работу, в появившемся окне убедитесь, что установлен переключатель Деловое применение. В списке Образцы таблиц выберите Поставщики. В списке Образцы полей будут перечислены типичные поля для таблицы Поставщики. В списке Образцы полей дважды щелкните на имени полей КодПоставщика, НазваниеПоставщика, ОбращатьсяК и НомерТелефона, чтобы добавить их в список полей новой таблицы. Во втором окне мастера в качестве названия таблицы оставьте Поставщики. Нажмите кнопку Далее. В третьем окне мастера Access предлагает связать создаваемую таблицу с уже имеющимися в базе данных, пропустите это окно, нажав кнопку Далее. В четвертом окне оставьте переключатель Ввести данные непосредственно в таблицу установленным. Нажмите кнопку Готово. Мастертаблиц создал для вас новую таблицу Поставщики, открыв ее в режиме таблицы. Заполните таблицу следующим образом:

Код поставщика Название Обращаться к Телефон
  Северовосточные фрукты и орехи Максим Зверьков 555-1221
  Экзотические фрукты Евгения Павлова 555-8798
  Садоводческий кооператив Тарас Мельник 555-1235

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

3. В меню Сервис выберите Схема данных. Щелкните правой кнопкой мыши в окне Схема данных и выберите Добавить таблицу.

4. В окне диалога Добавление таблицы щелкните на таблице Фрукты, а затем Добавить. Таким же способом добавьте таблицу Поставщики.

5. Таблицы Фрукты и Поставщики появятсяв окне Схема данных в виде списков полей каждой таблицы. Между этими таблицами установлена связь один-ко-многим, созданная в одном из предыдущих занятий мастером подстановки. Связь изображена линией, соединяющей таблицы. Линия соединяет поля КодПоставщика обеих таблиц.

6. В окне диалога Добавление таблицы нажмите кнопку Закрыть. Щелкните правой кнопкой мыши на линии связи, выберите удалить в появившемся меню и подтвердите удаление связи. В результате линия исчезла, и таблицы не связаны.

7. Теперь создадим связь заново.

8. Наведите указатель на поле КодПоставщика таблицы Поставщики.

9. Перетащите его на поле КодПоставщика таблицы Фрукты. Появится окно диалога Связи, убедитесь, что в нем указаны правильные поля. И проверьте тип отношения (должно быть один-ко-многим)

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

Внимание!!! Перед созданием новой связи рекомендуется очистить окно Схема данных с помощью кнопки Очистить макет на панели инструментов. Это позволяет избежать дублирования таблиц в окне Схема данных. При этом все ранее установленные связи сохраняются.

Задание 3. Самостоятельно:

1. Удалите и создайте связь между таблицами Фрукты и Категории фруктов. Будьте внимательны!!!

2. Создайте связь между таблицами Покупатели и Заказы.

Задание 4. Создадим связь много-ко-многим.

Между таблицами Наборы и Фрукты может быть установлен такой вид связи, так как каждый набор может содержать различные фрукты, и каждый вид фруктов используется во множестве различных наборов. Таблица Описание наборов будет играть роль связывающей таблицы, т.к. существует для обеспечения связи между таблицами Фрукты и Наборы

1. Добавьте в окно Схема данных таблицы Фрукты, Описание наборов и Наборы.

2. Таблицы уже связаны, благодаря созданным полям подстановкам, которые автоматически создают связь. Удалите существующие связи между этими таблицами.

3. Свяжите Фрукты и Описание наборов по полю Код фрукта.

4. Свяжите Наборы и Описание наборов по полю Код набора.

5. В итоге получилась связь много-ко-многим.

Задание 5. Свяжите следующие таблицы отношением много-ко-многим:

1. Заказы и Наборы. В качестве связывающей создайте новую таблицу Пункты заказов, которая должна состоять из полей – КодЗаказа, КодНабора и Количество (КодЗаказа и КодНабора – ключевые поля). Будьте внимательны при определении типов полей!!!

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: