Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УЧ_ПОСОБИЕ ПО КР.doc
Скачиваний:
2
Добавлен:
29.08.2019
Размер:
1.21 Mб
Скачать

4.1.3. Разработка схемы данных субд Access

Схема данных позволяет

  1. установить связи между записями в таблицах,

  2. отобразить их графически на экране монитора и/или вывести на печать,

  3. обеспечить защиту от случайного удаления или изменения связанных данных,

  4. автоматически использовать эти связи при построении

  • запросов к БД,

  • составных (подчинённых) форм

  • отчётов.

В Microsoft Access можно установить три типа связей:

    • “Один-к-одному”

    • “Один-ко-многим”

    • “Не определено”.

Последний тип связи соответствует связи типа “Многие-ко-многим”.

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

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

Связь “Один-ко-многим” возникает, если:

  • связываемое поле подчинённой таблицы является неключевым

или

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

Поля связи подчинённой таблицы образуют внешний ключ.

Предполагая, что таблица соответствует информационному объекту предметной области (ПО), можно считать, что схема БД является отображением в Microsoft Access семантической модели ПО. При условии, что таблицы в схеме расположены по уровням иерархии, схема БД является отображением в Microsoft Access канонической формы ИЛМ ПО.

Связи между таблицами в Microsoft Access можно устанавливать непосредственно при проектировании запросов. В схеме БД устанавливаются не все теоретически возможные связи между таблицами, а только те, которые реально используются проектировщиком БД при построении составных экранных форм, запросов и отчётов.

Наличие схемы данных обязательно только для проверки ссылочной целостности, построения составных форм и ввода данных в связанные таблицы. Схема данных позволяет объединить отдельные реляционные таблицы, полученные на этапе информационного анализа из первичного документа, в единое целое – информационное отображение исходного документа посредством входных форм СУБД Access.

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

Ссылочная целостность

В Microsoft Access понятиям Ссылочное (целевое) отношение и Ссылающееся отношение соответствуют понятия Главная таблица и Подтаблица.

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

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

Изменение целостности данных в AccessMicrosoft Access производится при помощи диалогового окна “Изменение связей”.

Для вывода окна на экран следует дважды щёлкнуть левой кнопкой мыши по линии связи таблиц или щёлкнуть по ней один раз правой кнопкой мыши и выбрать пункт “Изменить связь…”. Для обеспечения целостности данных необходимо установить одноимённый флажок в окне “Изменение связей”. Тогда Microsoft Access обеспечивает выполнение следующих правил.

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

  2. Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице.

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

Для того чтобы можно было изменять и/или удалять записи в связанных таблицах, сохраняя при этом целостность данных, в Microsoft Access применяется каскадирование. С этой целью следует установить флажки Каскадное обновление связанных полей и Каскадное удаление связанных полей. Если установлен флажок Каскадное обновление связанных полей, то при изменении ключевого поля главной таблицы автоматически изменяются и соответствующие значения связанных записей. Если установлен флажок Каскадное удаление связанных полей, то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице [2].