Обеспечение целостности данных означает систему правил, используемых для поддержания связей между записями в связанных таблицах, а также защиту от случайного удаления или изменения связанных данных. При установке соответствующего флажка работа с данными будет подчинена следующим правилам:
1. Невозможно ввести в связанное поле подчиненной таблицы значение, отсутствующее в связанном поле главной таблицы. Однако можно ввести пустое значение, показывающее, что для данной записи связь отсутствует.
2. Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице.
3. Невозможно изменить значение ключевого поля в главной таблице, если существуют записи, связанные с подчиненной.
Любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет. Флажки каскадное обновление связанных полей и каскадное удаление связанных записей позволяют преодолеть указанные ограничения, сохраняя при этом целостность данных. При изменении ключевого поля или удалении записей в главной таблице будут проверяться соответствующие записи в подчиненной таблице и обновляться внешние ключи или удаляться записи соответственно.
Это очень мощный аппарат Access, которым следует пользоваться, чтобы обеспечить корректность данных в таблицах базы данных. Однако очень осторожным нужно быть с флажком каскадное удаление связанных записей. В данном случае, если вы решили удалить из таблицы данные о каком-то читателе, скорее всего вас не будет уже интересовать, какие книги он читал. Поэтому связанные записи из таблицы Формуляр можно вполне обоснованно удалить. Но так бывает не всегда.
|
На схеме данных можно не только создавать связи, но и редактировать их. Попробуем отредактировать связь между таблицами МестаХранения и Издания. Эта связь существует, но для нее не установлена проверка ссылочной целостности, поэтому связь на схеме имеет другой вид. Дважды щелкните левой кнопкой мыши на этой связи (линии, соединяющей таблицы). Появится уже знакомое вам окно Изменение связей. Установите в нем два флажка: Обеспечение целостности данных, Каскадное обновление связанных полей. Флажок каскадное удаление связанных записей не устанавливайте, ведь вы не хотите, чтобы при удалении записи о каком-то шкафе из базы исчезли все данные о книгах, находящихся в этом шкафу.
Связь между таблицами Авторы и Издания - «многие-ко-многим», так как у каждой книги может быть несколько авторов, а с другой стороны, в библиотеке может быть много книг одного и того же автора. Как поступить в таком случае?
Чтобы реализовать такую связь, полагается ввести дополнительную таблицу, которая бы содержала ключи обеих таблиц. Такая таблица должна иметь два поля: КодАвтора и КодИздания. Связь между таблицей Авторы и этой таблицей будет «однн-ко-многим», и связь между таблицей Издания и этой таблицей также будет «один-ко-многим». Таким образом, с введением новой таблицы (назовем ее АвторИздание) связь «многие-ко-многим» преобразуется в две связи «один-ко-многим». Так как в этой таблице не может быть несколько записей, которые имели бы одни и те же значения в обоих полях, то эти поля будут являться составным ключом таблицы.
|
Столбец подстановок представляет собой список значений, которые могут быть введены в текстовое или числовое поле. Обычно столбец подстановок создается для тех полей, значения которых представляют собой коды из справочника, то есть это ключи из другой таблицы.
Столбец подстановок служит двум целям:
1. Облегчает ввод данных в такое поле, так как он позволяет выбирать из списка j не коды, а кодируемые значения (города, издательства, категории и т. д.).
2. При отображении таблицы в поле, для которого определен столбец подстановок, тоже показываются не коды, а кодируемые значения, что значительно удобнее. Кроме этого, столбец подстановок рекомендуется использовать для текстовых полей, которые имеют фиксированный набор значений. В этом случае в поле таблицы хранятся сами значения, но столбец подстановок позволяет контролировать правильность ввода этих значений.
Столбцы подстановок рекомендуется создавать при определении структуры таблицы, тем более что для этого есть соответствующий Мастер — Мастер подстановок.
1. В столбце Тип данных поля КодМеста выберите из списка значение Мастер подстановок
2. В открывшемся диалоговом окне Мастер подстановок установите переключатель Объект "столбец подстановки" будет использовать значения из таблицы или запроса, так как в данном случае мы должны использовать данные из таблицы МестаХранения. Нажмите кнопку Далее.
3. В следующем диалоговом окне выберите таблицу МестаХранения и нажмите кнопку Далее. В списке Доступные поля выводятся все поля таблицы МестаХранения. Переместите все эти поля в список Выбранные поля и нажмите кнопку Далее.
|
4. В следующем диалоговом окне видны все столбцы так, как они будут отображаться в раскрывающемся списке. Столбец КодМеста скрыт (не будет отображаться), а ширину остальных столбцов вы можете отрегулировать, перемещая мышью границы столбцов. Установив нужную ширину столбцов, нажмите кнопку Далее.
5. В последнем диалоговом окне введите подпись для поля: Место хранения и нажмите кнопку Готово. После этого Access автоматически создает связь между таблицами Издания и МестаХранения. Ответьте утвердительно на вопрос о сохранении таблицы и раскройте вкладку Подстановка в нижней части окна Конструктора. Эта вкладка содержит список свойств, которые определяют столбец подстановки:
Ø Тип элемента управления — определяет вид поля: обычное поле, список или поле со списком.
Ø Тип источника строк — может принимать три значения: Таблица или запрос, Список значений и Список полей. В данном случае это запрос.
Ø Источник строк — определяет источник данных, в данном случае представляет собой инструкцию языка SQL, которая выбирает записи из таблицы МестаХранения.
Ø Присоединенный столбец — определяет номер столбца в раскрывающемся списке, значение из которого должно записываться в поле подстановки. В нашем случае это первый столбец, содержащий КодМеста.
Ø Число столбцов — определяет число выводимых столбцов в раскрывающемся списке. В нашем примере их четыре.
Ø Заглавия столбцов — определяет, будут ли выводиться заголовки столбцов.
Ø Ширина столбцов — определяет ширину столбцов списка. Обратите внимание, что для первого столбца указана ширина 0 — именно поэтому он и не будет отображаться.
Ø Число строк списка — определяет максимальное число строк в списке. Если количество элементов списка превысит указанное число строк, в списке появится полоса прокрутки.
Ø Ширина списка — определяет ширину раскрывающегося списка.
Ø Ограничиться списком — определяет, могут ли вводиться в поле значения, не являющиеся элементами списка.
6. Снова раскройте вкладку Общие и удалите значение 0 из свойства Значение по умолчанию.
Чтобы воспользоваться Мастером подстановок, измените тип данных для каждого из этих полей — установите курсор в это поле и выберите из списка значение Мастер подстановок Можно также раскрыть вкладку Подстановка, изменить значение свойства Тип элемента управления: Поле со списком и установить вручную все значения свойств. Установим подстановку из списка значений.
1. В столбце Тип данных выберите Мастер подстановок. В первом окне Мастера установите переключатель Будет введен фиксированный набор значений.
2. В следующем окне нужно ввести список возможных значений поля. Установите курсор в первую строку столбца и начинайте вводить значения: книга, журнал, газета.
3. В последнем окне введите подпись: Тип издания и нажмите кнопку Готово. Посмотрите значения свойств на вкладке Подстановка. Свойство Тип источника строк имеет значение Список значений, а Источник строк содержит сами значения.
Контрольные вопросы