Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие БД_практикум Access.doc
Скачиваний:
37
Добавлен:
16.03.2015
Размер:
7.34 Mб
Скачать

1.3 Реляционная база данных

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

MS Access хранит все данные в одном файле, хотя и распределяет их по разным таблицам. Для версии 2003 это файл вида – имя_БД.mdb; для версии 2007 – имя_БД.accdb.

Все версии Access имеют в сво­ем арсенале средства, значительно упрощающие ввод обработку, поиск данных, предоставление информации в виде таблиц, графиков и отчетов. Начиная с версии Access 2000, были добавлены Web-страницы доступа к данным, которые пользователь может просматривать с помощью программы Internet Explorer. Помимо этого, Access позволяет использовать электронные таблицы и таблицы других персональных и серверных БД для обмена и хранения информации, необходимой при­ложению.

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

Отношения обладают следующими свойствами:

  • каждый элемент таблицы – один элемент данных;

  • каждый кортеж таблицы – данные об одном экземпляре объекта предметной области, например, в таблице «Сотрудники» строка сведений о конкретном сотруднике;

  • все элементы поля имеют одинаковый тип и длину, определёны на одном домене;

  • каждое поле имеет уникальное имя;

  • одинаковые строки в таблице отсутствуют;

  • порядок следования строк и столбцов может быть произвольным.

Для приведения отношения ко второй нормальной форме следует разбить его на проекции, при этом должно быть соблюдено условие восстановления исходного отношения без потерь. Такими проекциями могут быть два отношения Должности и Оклады (таблицы 2 – 3)

Таблица 2 – Отношение Должности

Должность

Подразделение

Директор

Администрация

Менеджер по продажам

РабочийПерсонал

Менеджер по закупкам

РабочийПерсонал

Таблица 3– ОтношениеОклады

Оклад

ТарифныйРазряд

3500

6

4000

7

4500

8

Таблица 3 задаёт размеры окладов, каждому окладу поставлен в соответствие определённый разряд.

В таблице 2 показаны должности, каждая должность относится к той или иной категории, представленной в виде подразделения.

В таблице 1 отражены данные о сотрудниках с возможностью выбора Должности и Оклада из списка Подстановки. Назначение таблицы Сотрудники в том, чтобы связать между собой две другие таблицы. При этом появляется возможность сопоставить одну запись из таблицы 3 списку записей сотрудников с определённым окладом, и одну запись из таблицы 2 – списку записей сотрудников с определённой должностью.

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

Ключевые поля используются для быстрого поиска и связи данных из разных таблиц при помощи запросов, форм и отчетов. Если для таблицы определены ключевые поля, то MS Access предотвращает дублирование или ввод в них пустых значений. Ключевые поля бывают двух типов – первичные и внешние.

Первичные ключи используются для создания связей между таблицами. В этом случае первичному ключу одной таблицы соответствует внешний ключ второй таблицы. Например, поле Должность является первичным ключом в таблице Должности и внешним ключом в таблице Сотрудники; поле Оклад является первичным ключом в таблице Оклады и внешним ключом в таблице Сотрудники.

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

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

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

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

  • Целостность по сущностям. Не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе базового отношения, принимал неопределенные значения. Базовым отношением называют независимое именованное отношение (для БД Сотрудники – это отношения Должности, и Оклады). Мотивировка этого правила определяется тем, что базовые отношения соответствуют сущностям в реальном мире, следовательно, они отличимые, т.е. имеют уникальную идентификацию. В реальной же модели функцию уникальной идентификации выполняют первичные ключи, и, таким образом, ситуация, когда первичный ключ принимает неопределенное значение, является противоречивой и говорит о том, что некоторая сущность не обладает индивидуальностью, а значит, не существует. Отсюда и название – целостность по сущностям.

  • Целостность по ссылкам. Если базовое отношение включает некоторый внешний ключ (ВК), соответствующий некоторому первичному ключу (ПК), то каждое значение ВK должно быть либо равным значению ПК, либо полностью неопределенным. Неопределенность внешнего ключа может возникнуть в ситуации, когда, например, имеется вакансия на должность в некоторый отдел.

В MS Access для ускорения сортировки и поиска записей используются индексы – это структура подобна предметному указателю книги. Любая таблица, содержащая ключевое поле, автоматически индексируется по полю ключа, такой индекс называется первичным. Индекс может создаваться по запросу пользователя для полей, в которых часто производится поиск. Индексы, как и первичные ключи, могут быть простыми и составными. В индексе значения атрибута хранятся упорядоченно (по возрастанию или убыванию), каждому значению соответствует указатель на строку отношения, которое его содержит (аналог номера страницы в предметном указателе). Индекс занимает значительно меньший, чем таблица, объем, поэтому даже полный перебор значений в нем потребует меньше времени, чем считывание информации и поиск в отношении. В таблице может быть сколько угодно индексов, однако слишком большое их количество существенно замедляет работу системы.