Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod3O.doc
Скачиваний:
16
Добавлен:
14.08.2019
Размер:
6.93 Mб
Скачать

4.4 Организация связей между таблицами

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

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

  • связываемые поля должны иметь одинаковые типы данных;

  • связываемые поля Числового типа должны иметь одинаковые значения свойств Размер поля.

Различаются связи нескольких типов:

  • один к одному (1:1);

  • один ко многим (1:М);

  • многие ко многим (М:М).

Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта B и наоборот.

Пример. Связь между информационными объектами СТУДЕНТ и СЕССИЯ. Каждый студент имеет определенный набор экзаменационных оценок в сессию.

При связи один ко многим (1:М) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта B, но каждый экземпляр объекта B связан не более чем с 1 экземпляром объекта А.

Пример. Связь между информационными объектами СТИПЕНДИЯ и СЕССИЯ. Установленный размер стипендии по результатам сессии может повторяться многократно для различных студентов.

Связь многие ко многим (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта B и наоборот.

Пример. Связь между объектами СТУДЕНТ и ПРЕПОДАВАТЕЛЬ. Один судент обучается у многих преподавателей, один преподаватель обучает многих студентов.

Организуем связи между созданными таблицами (создание схемы базы данных):

Порядок работы:

  1. Щелкните по кнопке (Схема данных) или выберите команду Сервис - Схема данных. Появится диало­говое окно “Схема данных”.

  2. В появившем­ся окне “Добавление таблицы” (если оно не появилось то выберите команду Связи - Добавить таблицу) выделите таблицу “Группы” и щелкните по кнопке Добавить. Выделите таблицу “Список” и щелкните по кнопке Добавить. Выделите таблицу “Личные дан­ные” и щелкните по кнопке Добавить, а затем - по кнопке Зак­рыть.

  3. Увеличьте окно таблицы “Список”, чтобы были видны все поля.

  4. Поставьте курсор на имя поля Группа в таблице “Группы” и, не отпуская кнопку мыши, перетащите ее на поле Группа в таблице “Список”. Отпустите мышку. Появится диалоговое окно. Включите значок “Обеспечение целостности данных”. Это невозможно будет сделать, если типы обоих полей заданы неодинаково. Включите значок “Каскадное обновление связанных полей”. Это приведет к тому, что при изменении номера группы в таблице “Группы” автоматически изменится соответствующий номер в таблице “Список”. Включите значок “Каскадное удаление связанных полей”. Это приведет к тому, что при удалении записи с номером группы в таблице “Группы” будут удалены все записи из таблицы “Список”, в которой стояли соответствующие номера групп.

  5. Щелкните на кнопке Создать. Появится связь “один ко многим”

  6. Поставьте курсор на имя поля Код Студента в таблице “Личные данные” и, не отпуская левую кнопку мыши, перетащите ее на поле Код в таблице “Список”. Отпустите кнопку. Появится диа­логовое окно “Связи”.

  7. Включите флажок “Обеспечение целостности данных”. Это невозможно сделать, если типы обоих полей заданы неодинаково.

  8. Щелкните по кнопке Создать. Появится связь “один–к-одному”. Это значит, что одной записи в таблице “Список” соответствует одна запись в таблице “Личные данные”. Схема БД приведена на рис 7.

  9. Закройте схему данных, сохранив ее.

Пояснение. Теперь встает задача ввода записей одновременно в разные таблицы: “Список” и “Личные данные”. ФИО мы храним в одной таблице, а адрес и номер телефона - в другой. Можно, конечно, попробовать ввести данные в каждую таблицу отдельно, но удобнее видеть клетки обеих таблиц для ввода данных одновременно. Эту задачу легко решить вводом

Рис. 7

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

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