Лабораторная работа № организация связей между таблицами




Скачать 76.57 Kb.
Дата07.03.2016
Размер76.57 Kb.
Лабораторная работа № 5.

ОРГАНИЗАЦИЯ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ

Изучая материал, Вы узнаете: Что такое многотабличные базы данных и зачем они нам нужны?

Учебный материал

Связи между таблицами позволяет Microsoft Access объединять данные из различных таблиц при создании запросов, форм и отчетов.

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

Основные типы связей: один-к-одному, один-ко-многим, многие-ко-многим.

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

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

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

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

Связи между таблицами создаются с помощью команды Сервис/Схемы данных или кнопки «Схема данных»
Для создания связи необходимо:


  1. Закрыть все открытые таблицы.

  2. В окне базы данных выбрать команду Сервис/Схемы данных или нажать кнопку «Схема данных»

  3. С помощью кнопки «Добавить таблицу» добавить необходимые таблицы.

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

  5. Проверить в диалоговом окне «Связи» правильность имен связываемых полей и выбрать при необходимости другие имена полей.

  6. Задать параметры связи

  7. Нажать кнопку «Создать».

Установленные связи можно удалить и изменить.

В окне связи можно дополнительно ввести два типа параметров «Обеспечение целостности данных» и тип объединения. При установке параметра «Обеспечение целостности данных» Access будет самостоятельно следить за правильностью ввода данных. Условия целостности данных можно наложить, если связанное поле главной таблицы является ключевым полем или имеют один тип данных.



После наложения условий целостности данных действуют следующие ограничения:

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

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

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

Практическое задание

Как организовать связи между таблицами?

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

Технология выполнения работы

  1. Откройте базу данных Student.

  2. В режиме Конструктора создайте в базе данных новую таблицу, состоящую из двух столбцов: Название предмета (тип данных– текстовый, размер поля – 20) и Семестр (тип данных–числовой, размер поля – байт).

  3. Закройте текущее окно, задав макету имя Т_Предметы и подтвердив создание ключевого поля. Access автоматически добавит к созданным Вами двум полям еще одно поле Код с типом данных Счетчик, определив это поле как ключевое.

  4. Откройте вновь созданную таблицу. Обратите внимание на созданное новое поле со значком. Заполните таблицу, указав в ней названия трех предметов, изучаемых Вами на первых двух курсах. Поле Код заполняется автоматически. Закройте таблицу Т_Предметы.

  5. Создайте еще одну таблицу в режиме Конструктора. Назовите ее Т_Преподаватели.

  6. Создайте поля: Фамилия (тип данных – текстовый, размер поля – 20, описание – Фамилия преподавателя), Имя (тип данных текстовый, размер поля – 20), Отчество (тип данных – текстовый, размер поля – 20), Код предмета (тип данных – числовой, размер поля – длинное целое, описание – Предмет, который ведет преподаватель).

  7. Нажмите на значок закрытия текущего окна Т_Преподаватели: таблица. Откажитесь от создания ключевого поля.

  8. Откройте таблицу для заполнения.

  9. Занесите в таблицу имена, отчества и фамилии 5 преподавателей, ведущих предметы, перечисленные в таблице Т_Предметы. Разные преподаватели могут вести один и тот же предмет. В столбце Код предмета проставьте цифры, соответствующие кодам предметов из таблицы Т_Предметы.

  10. Нажмите на значок закрытия текущего окна Т_Преподаватели: таблица.

  11. Нажмите на кнопку Схема данных Панели инструментов

  12. В открывшемся окне Добавление таблицы во вкладке Таблицы установите курсор на Т_Предметы и нажмите кнопку Добавить.

  13. Установите курсор на Т_Преподаватели и снова нажмите кнопку Добавить. Закройте окно Добавление таблицы.

  14. В окне Схема данных Вы видите две небольшие таблицы Т_Предметы и Т_Преподаватели. Для создания связи между этими таблицами выполните следующие действия:

  15. Поместите указатель мыши на пункт Код таблицы Т_Предметы.

  16. Нажмите кнопку мыши и перетащите указатель на поле Код предмета таблицы Т_Преподаватели.

  17. В открывшемся окне диалога установите флажок «Обеспечение целостности данных» и щелкните на кнопке Создать. Между двумя таблицами в окне Схема данных появится линия связи типа «один–ко–многим».

  18. Закройте текущее окно, подтвердив сохранение.

Список подстановка

При заполнении таблицы Т_Преподаватели в поле Код предмета приходится заносить не название предмета, а его Код. Это очень неудобно, так как список предметов может быть расширен и трудно будет удержать в памяти все коды. Access позволяет автоматизировать операцию ввода данных с помощью Списка подстановки, создание которого обеспечивается наличием связи между двумя таблицами.



  1. Нажмите на кнопку Схема данных Панели инструментов

  2. Удалите отношение между таблицами в Схеме данных. Для этого выделите линию связи, а затем нажмите клавишу <Delete>.

  3. Откройте таблицу Т_Преподаватели в режиме Конструктора.

  4. В столбце Тип данных для поля Код предмета выберите пункт Мастер подстановок.

  5. В первом окне Мастера оставьте выбранным положение переключателя Объект «столбец подстановки» будет использовать значение из таблицы или запроса и щелкните на кнопке Далее.

  6. Три положения переключателя второго окна Мастера выводят на экран список таблиц, запросов или объединяют эти два списка. Выберите таблицу Т_Предметы на роль источника подстановки. Щелкните на кнопке Далее.

  7. Третье окно Мастера (рис.1) предлагает выбрать из таблицы Т_Предметы поля, участвующие в подстановке. Этот список обязан содержать то поле, содержание которого должно отображаться вместо численного значения, помещаемого из поля Название предмета.

Рис.1


  1. Выберите поле. Щелкните на кнопке Далее.

  2. Следующее окно Мастера продемонстрирует столбец таблицы – источника.

  3. В поле последнего окна введите название Предмет, которое заменит имя столбца Код предмета и щелкните на кнопке Готово.

  4. В появившемся окне диалога щелчком на кнопке Да подтвердите необходимость сохранения построенной структуры.

  5. Находясь в окне Т_Преподаватели: таблица, перейдите в режим таблицы (меню Вид – Режим таблицы).

Теперь в четвертом столбце вместо чисел стоят названия предмета соответствующие этим числам. Access автоматически ищет соответствующую запись в таблице Т_Предметы и выводит в ячейку таблицы Т_Преподаватели текст поля Название предмета из выбранного писке Мастера подстановок.

  1. Введите еще одну запись в таблицу Т_Преподаватели. При вводе данных в столбец Предмет используйте список Мастера подстановок.

  2. Закройте текущее окно.


Задания для самостоятельной работы

Задание № 1

Для созданной в предыдущих работах базы данных создать формы ввода данных в таблицы Т_Предметы и Т_Преподаватели с элементами управления: переход по записям, поиск записи, выход из формы.



Задание № 2

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



Задание № 3

Создать отчет на основе двух таблиц Т_Преподаватели и Т_Предметы.



Задание № 4

  1. Создать базу данных, предназначенную для автоматизированного заполнения «Личной карточки студента» (рис.2). Кроме основной таблицы Т_Студенты, содержащей сведения о студентах, предусмотреть создание таблиц Т_Города и Т_Специальности, связанные с таблицей Т_Студенты связью типа один ко многим.





  1. Создать Списки подстановки в таблице Т_Студенты.

  2. Создать формы для ввода данных, запросы по специальностям, группам, месту рождения.

  3. Сформировать отчеты, используя Мастер отчетов, в которых сгруппировать данные по специальностям, фамилиям студентов.








База данных защищена авторским правом ©uverenniy.ru 2016
обратиться к администрации

    Главная страница