Схема данных в Access Преподаватель: Французова Г.Н.
Структура реляционной базы данных в Access задается схемой данных, которая имеет иерархическую структуру и называется канонической реляционной моделью предметной области.
Схема данных графически отображается в отдельном окне, где таблицы представлены списками полей, а связи линиями между полями разных таблиц.
При построении схемы данных Access автоматически определяет по выбранному полю тип связи между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом как в главной таблице, так и в подчиненной, Access устанавливает связь «один к одному». Если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым или входит в составной ключ, Access устанавливает связь «один ко многим» от главной таблицы к подчиненной.
Кроме указанных типов связей в Access существуют связи-объединения, обеспечивающие объединение записей таблиц не по ключевому полю, а в следующих случаях:
связываемые записи в обеих таблицах совпадают (связи устанавливаются по умолчанию); для всех записей первой таблицы, для которых отсутствуют связи со второй, устанавливают связи с пустой записью второй таблицы; для всех записей второй таблицы, для которых отсутствуют связи с первой, устанавливают связи с пустой записью первой таблицы.
Обеспечение целостности данных При создании схемы данных пользователь включает в нее таблицы и устанавливает связи между таблицами. Причем для связей типа «один к одному» и «один ко многим» можно задать параметр обеспечение целостности данных, а также автоматическое каскадное обновление и удаление связанных записей.
При создании схемы данных пользователь включает в нее таблицы и устанавливает связи между таблицами. Причем для связей типа «один к одному» и «один ко многим» можно задать параметр обеспечение целостности данных, а также автоматическое каскадное обновление и удаление связанных записей.
Обеспечение целостности данных означает выполнение для взаимосвязанных таблиц следующих условий корректировки базы данных:
в подчиненную таблицу не может быть добавлена запись, для которой не существует в главной таблице ключа связи; « в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице; значения ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы,
В случае если пользователь нарушил эти условия в операциях обновления или удаления данных в связанных таблицах, Access выводит соответствующее сообщение и не допускает выполнения операции.
Access автоматически отслеживает целостность данных, если между таблицами в схеме данных установлена связь с параметрами обеспечения целостности. При вводе некорректных данных в связанные таблицы выводится сообщение. Access не позволяет создавать связи с параметрами целостности в схеме данных, если ранее введенные в таблицы данные не отвечают требованиям целостности.
Отметим, что установление между двумя таблицами связи типа «один к одному» или «один ко многим» и задание параметров целостности данных возможно только при следующих условиях:
связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными; обе таблицы сохраняются в одной базе данных Access; главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы.
Если для выбранной связи обеспечивается поддержание целостности, то можно задать режим каскадного обновления и удаления связанных записей. В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях.
Первоначальное создание схемы данных Создание схемы данных начинается в окне базы данных с выполнения команды Сервис|Схема данных или нажатия кнопки Схема данных на панели инструментов.
Включение таблиц в схему данных После нажатия кнопки Схема данных открывается окно Добавление таблицы, в котором можно выбрать таблицы и ззопросы, которые нужно включить в схему данных (рис. 2.3).
Для размещения таблицы в окне Схема данных надо выделить ее в окне Добавление таблицы и нажать кнопку Добавить.
Для выделения нескольких таблиц надо, держа нажатой клавишу <Ctrl>, щелкнуть на всех таблицах, переносимых в схему. После включения всех нужных таблиц в схему данных надо нажать кнопку Закрыть.
В результате в окне Схема данных будут представлены все включенные таблицы со списком своих полей. Для установления связи между парой таблиц в схеме данных надо выделить в главной таблице уникальное ключевое поле, по которому устанавливается связь.
Далее при нажатой кнопке мыши протащить курсор в соответствующее поле подчиненной таблицы. При установлении связи по соответствующему ключу необходимо выделить все поля, входящие в ключ главной таблицы, и перетащить их на одно из полей связи в подчиненной таблице.
Для выделения всех полей, входящих в составной уникальный ключ, необходимо отмечать поля при нажатой клавише. При установлении связи откроется окно Связи. При этом в строке Тип отношения автоматически устанавливается тип «один ко многим».
При составном ключе связи в окне Связи необходимо для каждого ключевого поля главной таблицы Таблица|3 зопрос выбрать соответствующее поле подчиненной таблицы, названной Связанная таблица|3 зопрос.
В этом же окне можно задать параметр Обеспечение целостности данных для выбранной связи. Если же таблицы уже содержат данные, не отвечающие требованиям целостности, то связь «один ко многим» не устанавливается и появляется соответствующее сообщение с соответствующей инструкцией.
После задания параметра целостности можно в окне Связи отметить каскадное обновление связанных полей или каскадное удаление связанных записей. После установления связей между таблицами получим схему данных в окне Схема данных. Перемещения и изменения размеров таблиц осуществляется принятыми в операционной системе Windows способами.
Проверка работоспособности схемы данных осуществляется при конструировании форм, ззопросов, отчетов и при их использовании, а также при непосредственной работе с таблицами.
Модификация структуры базы данных К модификации структуры базы данных относятся изменения структуры отдельных таблиц и схемы данных. Все изменения структуры таблиц производятся в режиме конструктора таблиц.
Изменения полей, которые не являются ключами или полями связи Состав и последовательность, а также тип данных, свойства или имена этих полей можно изменять независимо от наличия связей таблицы с другими таблицами базы данных. Однако, если преобра зования недопустимы, попытка изменения типа данных может привести к потере данных.
Изменение или удаление ключевого поля Для загруженной и несвязанной таблицы при попытке изменить свойства или удалить ключевое поле система предупреждает о возможности потери данных при удалении ключа. Если, например, удаляется поле в составном ключе, с других полей этого ключа будет снят признак ключа.
Для отказа от определения первичного ключа в таблице достаточно нажать кнопку ключевое поле или удалить индекс ключа в окне Индексы после нажатия соответствующей кнопки на панели инструментов. Если требуется изменить ключ таблицы, которая имеет связи с другими таблицами, то необходимо предварительно разорвать связи.
Изменения, сделанные в структуре таблиц, автоматически не переносятся системой в использующие их формы, за просы и отчеты.
Изменение схемы данных При модификации схемы данных осуществляется изменение состава ее таблиц удаление, добавление таблиц и изменение связей. Необходимость в изменении связей возникает, в частности, при изменении ключей в таблицах. Изменение ключа по составу, по типу и размеру его полей не может производиться до тех пор, пока не удалены связи таблицы в схеме данных.
При изменении типа данных для не ключевых полей, но задействованных в связях таблицы, также предварительно необходимо удалить эти связи в схеме данных.
Для внесения изменений в схему данных необходимо закрыть все таблицы и выполнить команду Сервис|Схема данных или нажать кнопку Схема данных на панели инструментов.
Добавление таблиц выполняется при нажатии кнопки Добавить таблицу. В окне Добавление таблицы надо выделить нужную таблицу и нажать кнопку Добавить.
Удаление таблицы из схемы данных осуществляется переходом в окно Схема данных. В этом окне надо удалить связи таблицы и при отмеченной таблице выполнить команду Правка|Удалить или нажать клавишу.
Удаление связи осуществляется, если связь отметить щелчком мыши, нажать правую кнопку мыши, вызывающую контекстное меню, а затем выполнить команду Удалить связь. Помеченную связь можно также удалить по команде Правка|Удалить или клавишей
Изменение параметров связи выполняется командой Связи|Изменить связь или соответствующей командой контекстного меню.
Литература: