Проектирование баз данных

Объекты базы данных Access

СУБД Access относится к реляционным СУБД. Строки в таблицах реляционных БД называют записями, а столбцы называют полями.

СУБД Access работает с шестью видами объектов (таблицы, запросы, формы, страницы, отчеты, макросы и модули). Каждый объект можно открыть, изменить (с помощью конструктора) и создать.

Таблицы являются основным объектом БД. Формы создаются для удобства ввода данных в таблицы, запросы обрабатывают данные таблиц, а отчеты служат для подготовки обработанных данных к печати.

При создании таблиц для каждого поля необходимо указать имя и тип данных. Все типы данных ориентировочно можно подразделить на два класса: символьные и числовые.

К символьным данным относятся: текстовый тип (до 255 символов) и тип MEMO (до 65535 символов).

К числовым данным относятся: числовой тип (целое, длинное целое, с плавающей точкой), тип дата/время, денежный, логический и счетчик.

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

Ключ, или первичный ключ, в таблице БД может быть простым (одно поле) или составным (несколько полей), но обязательно уникальным, однозначно идентифицирующим каждую запись.

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

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

Связи между таблицами могут быть двух типов.

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

Связь один к многим (1:М (1:∞)) означает, что одной строке первой таблицы могут соответствовать несколько строк второй таблицы с тем же значением ключа. При этом ключ первой таблицы является первичным, а второй таблицы – внешним.

Связи между таблицами в СУБД Access устанавливаются в специальном окне Схема данных.

Логическая модель базы данных представлена на рис. 4.3, где жирным шрифтом выделены ключевые поля. В версии MS Access 2007 виден знак ключика. Таблица Студенты связана с таблицей Успеваемость в отношении один ко многим (1:М). Таблица Специальность связана с таблицей Студенты в отношении один ко многим (1:М).

 

Рис. 4.3

В СУБД Access процесс установления связей между таблицами сопровождается установкой параметров обеспечения целостности данных.

Целостность – это непротиворечивость данных в связанных таблицах. Целостность поддерживается набором правил, предназначенных для защиты от случайного удаления или изменения связанных данных.

При установлении параметра целостности:

· в поле внешнего ключа нельзя ввести данные, если их нет в ключевом поле главной таблице;

· в поле первичного ключа нельзя изменять данные, если в подчиненной таблице имеются связанные с ними записи;

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

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

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

Транзакция представляет собой выполнение последовательности операций, при которой БД переводится из одного целостного состояния в другое. Для пользователя транзакция выполняется по принципу «все или ничего», т.е. либо транзакция выполняется целиком, либо, если по каким-то причинам произошло нарушение работы системы, база данных возвращается в исходное состояние, которое было до начала транзакции (происходит откат транзакции).