В.В. Быкова
Искусство создания базы данных в Microsoft Office Access 2007

Введение

Предметом изучения данного пособия является процесс создания базы данных в Microsoft Office Access 2007, интерфейс которой отличается от предыдущих версий Access. Настоящее учебное пособие написано для студентов Института математики Сибирского федерального университета, обучающихся по направлениям и специальностям: «Математика», «Математика. Компьютерные науки», «Прикладная математика и информатика». Включенные в пособие материалы составляют практический раздел дисциплины «Основы баз данных», читаемой автором на протяжении многих лет студентам-математикам.

Цель пособия: ознакомить студентов с идеями и методами создания баз данных с помощью современных систем управления базами данных (СУБД). В качестве примера взята самая популярная и доступная на сегодняшний день реляционная СУБД ‒ Microsoft Office Access 2007 (далее просто Access). Автор не ставил перед собой задачу дать исчерпывающую информацию о СУБД Access. На этот счет имеется обширная справочная и учебная литература [1 ‒ 3, 6, 7, 9, 11, 15, 19, 21]. Настоящее пособие – учебное издание, адресованное в первую очередь студентам. Поэтому оно содержит не только теоретический материал, но и описание заданий, которые должны выполнить студенты на практических занятиях. Предполагается, что студенты знакомы с основами проектирования баз данных, изложенными в работах [4, 5, 8, 10, 12 – 14, 16 – 18, 20].

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

Пособие включает в себя шесть тем, охватывающих полный цикл реализации проекта базы данных с помощью Access: от создания основных объектов и построения пользовательского интерфейса до администрирования базы данных. Изучение первых трех тем, касающихся таблиц, запросов и отчетов, позволяет сформировать общее представление о проблематике баз данных и особенностях построения баз данных в Access. Последние три темы, посвященные формам, макросам и настройке базы данных, направлены на отработку навыков построения пользовательского интерфейса, автоматизацию работы с отчетами и формами, обеспечение целостности и защиту данных. Каждая из шести тем содержит изложение необходимого теоретического материала. Теоретический материал дается «без воды», не перегружен иллюстрациями, снабжен подробными пошаговыми инструкциями по реализации тех или иных проектных решений. Всякая тема завершается практическими заданиями и контрольными вопросами, которые ориентированы на отработку практических навыков и закрепление пройденного материала. В пособии для любого задания предусмотрено десять вариантов – десять различных предметных областей. Все шесть заданий одного того же варианта взаимосвязаны. Их выполнение позволяет для заданной предметной области реализовать все этапы создания базы данных с помощью Access.

Используемые обозначения:

• полужирным шрифтом выделены элементы интерфейса и инструменты Access (вкладки, команды, пункты меню, названия клавиш и кнопок, заголовки диалоговых окон и инструментальных средств);

• курсивом обозначены новые термины, а также имена полей и базовых таблиц;

• знак плюс между названиями клавиш означает, что их следует нажимать одновременно, например, Ctrl + P;

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

1. Создание таблиц

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

1.1. Немного теории

Основные объекты базы данных

База данных Access – это файл с расширением ACCDB (ACCDB-файл), в котором хранятся такие объекты как таблицы, запросы, отчеты, формы, макросы, модули.

Таблицы (базовые таблицы) – объекты базы данных, предназначенные для хранения информации о предметной области. Как правило, база данных состоит из нескольких связанных между собой таблиц. Каждую строку таблицы называют в Access записью, а столбец – полем.

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

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

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

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

Макросы – это программы, составленные из макрокоманд. Набор макрокоманд Access представляет собой упрощенный язык программирования и содержит несколько десятков команд. Каждая макрокоманда задает определенное действие над каким-либо объектом базы данных. Макросы чаще всего запускаются при наступлении определенных событий. Например, когда открываемый отчет пустой.

Модули (модули VBA), как и макросы, являются программами. Они пишутся на языке программирования Visual Basic для приложений (VBA). Это язык программирования более низкого уровня, чем язык макрокоманд.

Запуск системы и существующей базы данных

Чтобы запустить Access, нужно выполнить следующие действия.

1. Щелкнуть по кнопке Пуск на панели задач Windows.

2. Указать Все программы.

3. Выбрать Microsoft Office, а затем Microsoft Access.

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

Если запуск Access осуществлен, открыть существующую базу данных можно с помощью кнопки Microsoft Office, расположенной в верхнем левом углу страницы Приступая к работе с Microsoft Office Access. Это можно сделать так.

1. Щелкнуть кнопку Microsoft Office. Откроется окно, в котором выбрать пункт Открыть.

2. В диалоговом окне Открытии документа найти ACCDB-файл базы данных и нажать кнопку Открыть.

Можно запустить Access и открыть существующую базу данных одновременно, дважды щелкнув на значке ACCDB-файла этой базы данных. Открытие существующей или новой пустой базы данных сопровождается отображением на экране главного окна Access, в котором располагаются основные элементы интерфейса.

Элементы интерфейса

В главном окне Access располагаются следующие инструменты:

• кнопка Microsoft Office в левом верхнем углу окна. Включает пункты Создать, Открыть, Сохранить, Сохранить как, Печать, Управление, Электронная почта, Опубликовать, Закрыть базу данных. Кроме того, здесь находится кнопка Параметры Access для настройки параметров запуска базы данных и вида главного окна Access;

• панель быстрого доступа (верхняя строка окна слева). Содержит наиболее часто используемые операции. Данную панель можно настроить, щелкнув стрелку в правой ее части;

• кнопки Свернуть, Свернуть в окно, Закрыть (верхняя строка окна справа). Позволяют приостановить работу с базой данных (путем сворачивания главного окна Access) или завершить работу с ней (путем закрытия главного окна Access);

• лента Office Fluent (верхняя часть главного окна). Служит основным командным интерфейсом Access. Имеет вкладки команд: Главная, Создание, Внешние данные, Работа с базами данных. Каждая вкладка разбита на группы связанных команд. Скрыть и восстановить ленту можно двойным щелчком по активной вкладке команд;

• панель сообщений системы безопасности (сразу под лентой);

• область переходов (левая часть окна). Здесь отображаются имена объектов базы данных. Всякий объект, находящийся в области переходов, может быть открыт двойным щелчком или через команду Открыть контекстного меню. Область переходов можно скрыть и потом вновь отобразить с помощью клавиши F11 или кнопки Открыть/закрыть границу области переходов;

• область данных (центральная часть окна). Служит пространством для работы с объектами базы данных. Здесь объекты создаются, изменяются и отображаются. Допускается одновременно работать с несколькими открытыми объектами. Для перехода от одного открытого объекта к другому служат вкладки документов. Вкладки документов можно скрыть, используя кнопку Параметры Access;

• строка состояния. Предназначена для вывода сообщений о состоянии хода работы с базой данных. Строку состояний можно скрыть через кнопку Параметры Access.

Существует также мини-панель инструментов. Она появляется при выделении текста для форматирования. Ее можно использовать для изменения шрифта, цвета, размера и других простейших операций форматирования. При удалении курсора от выделенного текста мини-панель постепенно исчезает. При работе с базой данных всегда можно получить справку, нажав клавишу F1 или щелкнув знак вопроса с правой стороны ленты. Для разных типов объектов базы данных Access предоставляет контекстные меню с набором основных команд. Контекстное меню вызывается щелчком правой кнопки мыши по объекту (в области переходов или в области данных).

Создание пустой базы данных

Чтобы создать новую базу данных, необходимо выполнить действия.

1. На странице Приступая к работе с Microsoft Office Access в разделе Новая пустая база данных выбрать команду Новая база данных. Откроется раздел Новая база данных.

2. В разделе Новая база данных в поле Имя файла ввести имя файла создаваемой базы данных без указания расширения. Расширение ACCDB будет добавлено автоматически. Чтобы сохранить ACCDB-файл в другой папке, отличной от используемой по умолчанию, нажать кнопку Открыть (рядом с полем Имя файла), перейти к нужной папке и нажать кнопку Ok.

3. Щелкнуть кнопку Создать.

СУБД Access построит базу данных с пустой таблицей, которой будет присвоено имя Таблица1 и откроет эту таблицу. Если на этом этапе данные вводить не нужно, то нажать кнопку Закрыть, расположенную в верхней правой части тела таблицы. Область переходов будет пустой. Для дальнейшей работы по созданию базы данных целесообразно настроить область переходов следующим образом. Щелкнуть левой кнопкой мыши в верхней строке области переходов. Откроется список параметров настройки. Выбрать Все объекты и Тип объекта Теперь в области переходов будут отображаться имена всех создаваемых объектов, причем все они будут сгруппированы по типам (вначале все таблицы, потом все запросы и т.д.).

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

Что включает в себя создание таблицы?

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

Имя таблицы должно быть семантически осмысленным, лаконичным и уникальным в рамках создаваемой базы данных. Оно может содержать до 64 знаков (букв или цифр), включая пробелы.

Структура таблицы определяется

• списком полей. Поля задают столбцы таблицы;

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

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

• индексами. Индексы ускорят доступ к данным, содержащимся в таблице.

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

Средства создания таблицы

Существуют два основных средства конструирования таблиц в Access: Режим таблицы и Конструктор таблиц. Им отвечают два соответствующих режима работы с таблицей: Режим таблицы и Конструктор таблиц. Через контекстное меню возможна смена режимов.

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

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

1. Открыть базу данных.

2. Выбрать на вкладке Создание группу команд Таблицы.

3. Щелкнуть команду Таблица. Формируется пустая таблица, которой присваивается имя Таблица1. В дальнейшем это имя может быть изменено при сохранении или закрытии таблицы. Таблица откроется в Режиме таблицы и на ленте отобразится вкладка Режим таблицы.

Вкладка Режим таблицы имеет четыре группы команд (табл. 1.1).

Таблица 1.1

Для формирования новой таблицы при помощи Конструктора таблиц необходимо исполнить такие шаги.

1. Открыть базу данных.

2. Выбрать на вкладке Создание группу команд Таблицы.

3. Щелкнуть команду Конструктор таблиц. Формируется пустая таблица, которой присваивается имя Таблица1. Таблица откроется в Конструкторе таблиц. На ленте отобразится вкладка Конструктор, а в области данных – бланк конструктора.

Вкладка Конструктор обладает тремя группами команд (табл. 1.2).

Таблица 1.2

Бланк конструктора содержит три столбца:

• Имя поля. Должно быть уникальным в рамках создаваемой таблицы. Задается всегда;

• Тип данных. Определяет значения, которые можно хранить в поле. Указывается всегда;

• Описание. Необязательный параметр для записи комментария.

Бланк разбит на строки. Каждая строка бланка предназначена для описания одного поля таблицы. В нижней части бланка располагается область Свойства поля. В этой области определяются и отображаются свойства выделенного поля.

Выбор имени поля

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

• имя должно быть лаконичным, поскольку при вводе длинных имен больше вероятность возникновения ошибки;

• первую букву слова, включенного в имя поля, желательно делать заглавной. Например, ГруппаТоваров;

• в имени поля лучше всего не ставить пробелы, т.к. при ссылке на такие поля в выражениях придется использовать скобки, а это увеличивает длину записи выражения. Вместо пробела можно применять символ «_»;

• имена полей должны быть семантически осмысленными и однозначно интерпретируемыми. Не стоит делать два поля с названиями, которые легко перепутать;

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

Свойства полей и типы данных

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

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

• Поле MEMO. Длинные текстовые фрагменты. Такой тип поддерживает тексты в формате RTF. Размер поля: до 64 Кб;

• Числовой. Числовые (целые или дробные) значения. Размер поля: 1, 2, 4, 8 или 12 байтов;

• Дата/время. Значения времени и даты. Размер поля: 8 байтов;

• Денежный. Аналогичен числовому типу. Данные этого типа не округляются во время вычислений. Размер поля: 8 байтов;

• Счетчик. Целые числа, автоматически формируемые и уникальные для каждой записи таблицы. Поле с таким типом может выступать в роли первичного ключа таблицы. Размер поля: 4 байта;

• Логический. Одно из двух значений: Истина/Ложь, Да/Нет или Вкл/Выкл;

• Поле объекта OLE. Это может быть файл с цифровой фотографией, точечным рисунком, электронная таблица или текстовый документ. Размер поля: до 1 Гб;

• Гиперссылка. Это адреса электронной почты, адреса веб-узлов. Размер поля: до 2 Кб;

• Вложения. Один или несколько файлов произвольного формата. Этот тип поддерживает больше форматов файлов, чем Поле объекта OLE. Размер поля: до 2 Гб;

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

После того как поле создано (указаны его имя и тип данных), требуется задать другие свойства поля. В табл.1.3 перечислены основные свойства полей и типы данных, которым присущи эти свойства.

Таблица 1.3

Свойства таблицы

Свойства таблицы отражают особенности, которые свойственны всем полям и записям таблицы. Они выводятся в Окне свойств, которое отображается в Конструкторе таблиц при нажатии команды Страница свойств. Наиболее важные свойства таблицы приведены в табл. 1.4.

Таблица 1.4

Добавление поля в режиме таблицы

Для добавления поля в существующую или новую таблицу необходимо выполнить следующие шаги.

1. Открыть таблицу в Режиме таблицы.

2. Перейти на вкладку команд Режим таблицы.

3. Выделить столбец Добавить поле (он всегда самый правый). В группе Поля и столбцы щелкнуть команду Переименовать. Курсор переместится в заголовок столбца, куда необходимо ввести имя поля.

4. В группе команд Форматирование и тип данных указать основные свойства поля: Тип данных, Формат, Обязательное, Уникальное (Индексированное поле).

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

Добавление поля в режиме конструктора

Для добавления поля в существующую или новую таблицу необходимо выполнить следующие шаги.

1. Открыть таблицу в Конструкторе таблиц.

2. Перейти на вкладку Конструктор.

3. Заполнить строку бланка конструктора.

4. Заполнить область Свойства поля. Если поле ключевое, то этот факт следует учесть в свойствах поля.

Напомним, что каждая строка бланка предназначена для описания одного поля таблицы.

Добавление столбца подстановок

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

В Режиме таблицы вызвать Мастер подстановок можно следующим образом.

1. Открыть таблицу, в которой нужно создать столбец подстановок. Перейти на вкладку Режим таблицы.

2. В таблице выделить поле, которое будет столбцом подстановок.

3. В группе Поля и столбцы щелкнуть команду Столбец подстановок. Запуститься Мастер подстановок и откроется диалоговое окно Создание подстановки.

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

1. Открыть таблицу, в которой нужно создать столбец подстановок

2. В бланке Конструктора таблиц перейти на строку, соответствующую полю, которое должно стать столбцом подстановок.

3. В столбце Тип данных в раскрывающемся списке выбрать Мастер подстановок. Запуститься Мастер подстановок и откроется окно Создание подстановки.

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

1. В окне Создание подстановки выбрать Будет введен фиксированный набор значений. Щелкнуть кнопку Далее.

2. Указать число столбцов списка. Ввести значения в ячейки списка. Щелкнуть кнопку Далее.

3. Задать подпись, которую должен иметь столбец подстановок.

4. Снять флажок в свойстве Разрешить несколько значений. Щелкнуть кнопку Готово.

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

1. В окне Создание подстановки выбрать Объект «столбец постановки» будет использовать значения из таблицы или запроса. Щелкнуть кнопку Далее.

2. Указать таблицу или запрос со значениями, необходимыми для подстановки. Щелкнуть кнопку Далее.

3. Отобрать поля для подстановки. Щелкнуть кнопку Далее.

4. Определить порядок сортировки значений в подстановке. Щелкнуть кнопку Далее.

5. Если на шаге 3 было выбрано несколько полей, то снять флажок Скрыть ключевой столбец. В этом случае будут отображаться все столбцы подстановки. Щелкнуть кнопку Далее.

6. Если на шаге 3 было выбрано несколько полей, то требуется указать поле, значение которого будет записываться в таблицу, в которой формируется подстановка. Щелкнуть кнопку Далее.

7. Задать подпись, которую должен иметь столбец подстановок.

8. Снять флажок в свойстве Разрешить несколько значений. Щелкнуть кнопку Готово.

Столбец подстановок будет создан. Свойства подстановки можно просмотреть и изменить в бланке конструктора, открыв вкладку Подстановка в области Свойства поля. Здесь целесообразно свойство Разрешить изменение списка значений установить в состояние Да. Это позволит добавлять в список новые значения. Можно разрешить в поле вводить значения, которых нет в списке, не изменяя при этом сам список. Для цели свойству Ограничиться списком надо присвоить значение Нет.

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

Определение первичного ключа

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

Желательно в качестве ключевых полей брать поля, отражающие свойства объектов предметной области. Если таких полей нет (или их слишком много), то в роли простого ключа может выступать поле типа Счетчик.

Для простого ключа должны быть установлены свойства: Обязательное поле (Да), Индексированное поле (Да). Если ключ составной, то все ключевые поля должны иметь свойство Обязательное поле (Да). Между тем, свойство Индексированное поле следует установить в состояние Нет, т.к. отдельное ключевое поле может иметь повторяющиеся значения.

При создании таблицы в Режиме таблицы первичный ключ создается автоматически. Им является поле типа Счетчик. Это поле скрыто. Чтобы его увидеть, нужно перейти в Конструктор таблиц.

Для определения первичного (простого или составного) ключа требуется выполнить действия.

1. Открыть таблицу в Конструкторе таблиц.

2. Выбрать поле, которое нужно использовать в качестве ключа. Чтобы выбрать несколько ключевых полей, следует при выделении полей удерживать клавишу Ctrl.

3. На вкладке Конструктор в группе Сервис щелкнуть команду Ключевое поле. Можно воспользоваться также командой Ключевое поле контекстного меню. В результате слева от имени каждого ключевого поля появится индикатор ключа ‒ символ «».

Для удаления ключа необходимо выполнить действия.

1. Открыть таблицу в Конструкторе таблиц.

2. Выбрать ключевые поля.

3. На вкладке Конструктор в группе Сервис щелкнуть команду Ключевое поле. Индикатор ключа исчезнет.

☞ Примечание. Базовая таблица может иметь только один первичный ключ. Чтобы его изменить, надо старый ключ удалить и определить новый первичный ключ. Эти действия возможны лишь в Конструкторе таблиц.

Сохранение таблицы

Когда все поля добавлены, необходимо сохранить таблицу. Для этого требуется выполнить действия.

1. Щелкнуть кнопку Microsoft Office.

2. Выбрать команду Сохранить.

3. Ввести имя таблицы, если таблица сохраняется впервые. Щелкнуть кнопку Ok.

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

Создание схемы данных

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

Для межтабличных связей характерно следующее:

• каждая связь устанавливает отношение между двумя таблицами, т.е. является бинарной. В этой связи одна из таблиц играет роль основной, а другая – подчиненной. Разделение ролей условное;

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

• связываемые таблицы должны иметь общие поля. Только через общие поля устанавливается связь между таблицами. Общие поля (их называют полями связи) – поля с одинаковыми именами, одним и тем же типом данных;

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

• возможные степени связи: «один-к-одному», «один-ко-многим». При степени «один-к-одному» связываемые таблицы равноправны, поскольку полями связи выступают первичные ключи связываемых таблиц. В этих условиях каждая запись первой таблицы может быть связана не более чем с одной записью второй таблицы и наоборот. При степени «один-ко-многим» всегда «один» со стороны подчиненной таблицы (где поле связи – первичный ключ) и «много» со стороны основной таблицы. Это означает, что каждая запись подчиненной таблицы может быть связана со многими записи основной таблиц, однако всякой записи основной таблицы может соответствовать лишь одна запись подчиненной таблицы.

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

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