Обеспечение целостности данных




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

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

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

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

 

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

Это очень мощный аппарат Access, которым следует пользоваться, чтобы обеспечить корректность данных в таблицах базы данных. Однако очень осторожным нужно быть с флажком каскадное удаление связанных записей. В данном случае, если вы решили удалить из таблицы данные о каком-то читателе, скорее всего вас не будет уже инте­ресовать, какие книги он читал. Поэтому связанные записи из таблицы Фор­муляр можно вполне обоснованно удалить. Но так бывает не всегда.

На схеме данных можно не только создавать связи, но и редактировать их. Попробуем отредактировать связь между таблицами МестаХранения и Издания. Эта связь существует, но для нее не установлена проверка ссылочной целостности, поэтому связь на схеме имеет другой вид. Дважды щелкните левой кнопкой мыши на этой связи (линии, соединяющей таблицы). Появится уже знакомое вам окно Изменение связей. Установите в нем два флажка: Обеспечение целостности данных, Каскадное обновление связанных полей. Флажок каскадное удаление связанных записей не устанавливайте, ведь вы не хотите, чтобы при удалении записи о каком-то шкафе из базы исчезли все данные о книгах, находящихся в этом шкафу.

Связь между таблицами Авторы и Издания - «многие-ко-многим», так как у каждой книги может быть несколько авторов, а с другой стороны, в библиотеке может быть много книг одного и того же автора. Как поступить в таком случае?

Чтобы реализовать такую связь, полагается ввести дополнительную таблицу, которая бы содержала ключи обеих таблиц. Такая таблица должна иметь два поля: КодАвтора и КодИздания. Связь между таблицей Авторы и этой таблицей бу­дет «однн-ко-многим», и связь между таблицей Издания и этой таблицей также будет «один-ко-многим». Таким образом, с введением новой таблицы (назовем ее АвторИздание) связь «многие-ко-многим» преобразуется в две связи «один-ко-многим». Так как в этой таблице не может быть несколько записей, которые имели бы одни и те же значения в обоих полях, то эти поля будут являться со­ставным ключом таблицы.

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

Столбец подстановок служит двум целям:

1. Облегчает ввод данных в такое поле, так как он позволяет выбирать из списка j не коды, а кодируемые значения (города, издательства, категории и т. д.).

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

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

1. В столбце Тип данных поля КодМеста выберите из списка значение Мастер подстановок

2. В открывшемся диалоговом окне Мастер подстановок устано­вите переключатель Объект "столбец подстановки" будет использовать значения из таблицы или запроса, так как в данном случае мы должны использовать данные из таблицы МестаХранения. Нажмите кнопку Далее.

3. В следующем диалоговом окне выберите таблицу МестаХранения и нажмите кнопку Далее. В списке Доступные поля выводятся все поля таблицы МестаХранения. Переместите все эти поля в список Выбранные поля и нажмите кнопку Далее.

4. В следующем диалоговом окне видны все столбцы так, как они будут ото­бражаться в раскрывающемся списке. Столбец КодМеста скрыт (не будет отображаться), а ширину остальных столбцов вы можете отрегу­лировать, перемещая мышью границы столбцов. Установив нужную ширину столбцов, нажмите кнопку Далее.

5. В последнем диалоговом окне введите подпись для поля: Место хранения и на­жмите кнопку Готово. После этого Access автоматически создает связь между таблицами Издания и МестаХранения. Ответьте утвердительно на вопрос о сохранении таблицы и раскройте вклад­ку Подстановка в нижней части окна Конструктора. Эта вкладка со­держит список свойств, которые определяют столбец подстановки:

Ø Тип элемента управления — определяет вид поля: обычное поле, список или поле со списком.

Ø Тип источника строк — может принимать три значения: Таблица или запрос, Список значений и Список полей. В данном случае это запрос.

Ø Источник строк — определяет источник данных, в данном слу­чае представляет собой инструкцию языка SQL, которая выбирает запи­си из таблицы МестаХранения.

Ø Присоединенный столбец — определяет номер столбца в рас­крывающемся списке, значение из которого должно записываться в поле подстановки. В нашем случае это первый столбец, содержащий КодМеста.

Ø Число столбцов — определяет число выводимых столбцов в раскрывающемся списке. В нашем примере их четыре.

Ø Заглавия столбцов — определяет, будут ли выводиться заго­ловки столбцов.

Ø Ширина столбцов — определяет ширину столбцов списка. Обратите внимание, что для первого столбца указана ширина 0 — имен­но поэтому он и не будет отображаться.

Ø Число строк списка — определяет максимальное число строк в списке. Если количество элементов списка превысит указанное число строк, в списке появится полоса прокрутки.

Ø Ширина списка — определяет ширину раскрывающегося списка.

Ø Ограничиться списком — определяет, могут ли вводиться в поле значения, не являющиеся элементами списка.

6. Снова раскройте вкладку Общие и удалите значение 0 из свойства Значение по умолчанию.

 

Чтобы воспользоваться Мастером подстановок, измените тип данных для каждого из этих полей — установите курсор в это поле и выберите из списка значение Мастер подстановок Можно также раскрыть вклад­ку Подстановка, изменить значение свойства Тип элемента управ­ления: Поле со списком и установить вручную все значения свойств. Установим подстановку из списка значений.

1. В столбце Тип данных выберите Мастер подстановок. В первом окне Мастера установите переключатель Будет введен фиксирован­ный набор значений.

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

3. В последнем окне введите подпись: Тип издания и нажмите кнопку Готово. Посмотрите значения свойств на вкладке Подстановка. Свойство Тип источника строк имеет значение Список значений, а Источник строк содержит сами значения.

 

Контрольные вопросы

 

  1. Что понимают под определением «целостность»?
  2. Какие аспекты включает в себя поддержка целостности? Опишите каждый из аспектов.
  3. Каким правилам необходимо следовать, чтоб обеспечить целостность данных?
  4. Что такое столбец подстановок? Зачем он нужен?


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-03-24 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: