Схема данных в Access: создание, редактирование, обновление. Схема данных в субд access Для чего служит схема данных ms access

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

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

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

Создание схемы данных начинается с выполнения команды Схема данных (Relationships) в группе Отношения (Relationships) на вкладке ленты Работа с базами данных (Database Tools). В результате выполнения этой команды открывается окно схемы данных и диалоговое окно Добавление таблицы (Show Table), в котором осуществляется выбор таблиц, включаемых в схему (см. рис. 3.48). Диалоговое окно Добавление таблицы откроется автоматически, если в базе данных еще не определена ни одна связь. Если окно не открылось, на ленте Работа со связями | Конструктор (Relationship Tools | Design) в группе Связи (Relationships) нажмите кнопку Отобразить таблицу (Show Table).

Включение таблиц в схему данных

В окне Добавление таблицы (Show Table) (рис. 3.48) отображены все таблицы и запросы, содержащиеся в базе данных. Выберем вкладку Таблицы (Tables) и с помощью кнопки Добавить (Add) разместим в окне Схема данных (Relationships) все ранее созданные таблицы базы данных Поставка товаров, отображенные в окне Добавление таблицы (Show Table). Затем нажмем кнопку Закрыть (Close). В результате в окне Схема данных (Relationships) таблицы базы будут представлены окнами со списками своих полей и выделенными жирным шрифтом ключами (см. рис. 3.52).

Создание связей между таблицами схемы данных

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

Создание связей по простому ключу

Установим связь между таблицами ПОКУПАТЕЛЬ и ДОГОВОР, которые находятся в отношении «один-ко-многим». Устанавливая связи между парой таблиц, находящихся в отношении типа 1: M, выделим в главной таблице ПОКУПАТЕЛЬ ключевое поле КОД_ПОК, по которому устанавливается связь. Далее при нажатой кнопке мыши перетащим его в соответствующее поле подчиненной таблицы ДОГОВОР.

Поскольку поле связи является уникальным ключом в главной таблице связи, а в подчиненной таблице связи не является ключевым, схема данных в Access выявляет отношение «один-ко-многим» между записями этих таблиц. Значение «один-ко-многим» (One-To-Many) отобразится в окне Изменение связей (Edit Relationships) в строке Тип отношения (Relationship Type) (рис. 3.49).

ЗАМЕЧАНИЕ
Если поле связи является уникальным ключом в обеих связываемых таблицах, схема данных в Access выявляет отношение «один-к-одному «. Если для связи таблиц вместо ключевого поля главной таблицы используется некоторый уникальный индекс, система также констатирует отношение таблиц как 1: М или 1: 1.

Определение связей по составному ключу

Определим связи между таблицами НАКЛАДНАЯ ОТГРУЗКА, которые связаны по составному ключу НОМ_НАКЛ + КОД_СК. Для этого в главной таблице НАКЛАДНАЯ выделим оба этих поля, нажав клавишу , и перетащим их в подчиненную таблицу ОТГРУЗКА.

В окне Изменение связей (Edit Relationships) (рис. 3.50) для каждого поля составного ключа главной таблицы НАКЛАДНАЯ, названной Таблица/запрос (Table/Query), выберем соответствующее поле подчиненной таблицы ОТГРУЗКА, названной Связанная таблица/запрос (Related Table/Query).

Каскадное обновление и удаление связанных записей

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

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

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

Установить в окне Изменение связей (Edit Relationships) (см. рис. 3.49) флажки каскадное обновление связанных полей (Cascade Update Related Fields) и каскадное удаление связанных записей (Cascade Delete Related Records) можно только после задания параметра обеспечения целостности данных.

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

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

Вот основное, что мы хотели рассказать на тему «Схема данных в Access».

Схема данных позволяет:

1. Установить связи между записями в таблицах.

2. Отобразить их графически на экране монитора и/или вывести на печать.

3. Обеспечить защиту от случайного удаления или изменения связанных данных.

4. Автоматически использовать эти связи при построении

· запросов к БД;

· составных (подчиненных) форм;

· отчетов.

5. Обеспечить целостность данных.

В Microsoft Access можно установить три типа связей:

· “один-к-одному”;

· “один-ко-многим”;

· “не определено”.

Последний тип связи соответствует связи типа “многие-ко-многим”.

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

В связи “один-ко-многим” каждой строке первой таблицы (главной ) могут соответствовать несколько строк во второй (подчиненной ), а строка в подчиненной таблице не может иметь более одной соответствующей ей строки в главной. В главной таблице связываемое поле должно быть ключевым уникальным , а в подчиненной таблице – любым. Связь “один-ко-многим” используется наиболее часто.

Связь “один-ко-многим” возникает, если:

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

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

Поля связи подчиненной таблицы образуют внешний ключ .

Предполагая, что таблица соответствует информационному объекту предметной области (ПО), можно считать, что схема БД является отображением в Microsoft Access семантической модели ПО . При условии, что таблицы в схеме расположены по уровням иерархии, схема БД является отображением в Microsoft Access канонической формы ИЛМ ПО .

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

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

Примечания

1. СУБД Access позволяет включать в схему данных не только таблицы, но и запросы. Это позволяет отображать результаты запросов в виде формы на экране и/или вывести ее на печать.

2. В схеме данных можно установить связи между таблицами не только для обеспечения целостности данных, но и для автоматического объединения таблиц в запросах при их проектировании. Обычно это не делается, т.к. усложняется схема данных, а связать таблицы очень просто непосредственно в запросах.

Конец работы -

Эта тема принадлежит разделу:

Экономики и финансов

Государственное образовательное учреждение высшего профессионального.. кафедра информатики..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

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

Все темы данного раздела:

Нач.года сдано ние
────────────────────────────&

Нач.года сдано ние
ТНП 10000 шт. 8500 шт. –1500 шт. Ширпотреба 21100 шт. 21100 шт. 0 шт.

От нач. года отгружено

От нач. года отгружено
Заказчик: АО "Пассаж" г. С.-Петербург Договор: 21-04 Термос 15000 шт. 14500 шт. 500 шт.

От нач. года отгружено ние
15-04 Термос 35000 шт. 35000 шт. 0 шт. Мясорубка 40000 шт. 35000 шт. 5000 шт.

От начала года отгружено
15-04 АО “ЦУМ” 40000 шт. 35000шт. 5000 шт. г. Москва 21-04 АО “Пассаж” 20000 шт.

Заказчик № договора № ТТН Дата отгрузки Сумма отгрузки
АО "ЦУМ" 15-97 162 31.05.04 250000 р. г. Москва 234 28.06.04 300000 р.

Счета поручен
АО "ЦУМ" 15-04 162 31.05.04 250000 р. 200000 р. 50000 р. г. Москва 234

Счета поручению
15-04 162 31.05.04 2500000 р. 200000 р. 50000 р. 234 28.06.04 3000000 р. 300000 р. 0 р.

Поручению
АО "ЦУМ" 15-04 550000 р. 500000 р. 50000 р. г. Москва 16-04 100000 р. 100000 р.

Поручения
100 31.05.04 2500000 р. 110 01.08.04 500000 р.

Заказчик № дог. № ТТН Дата Отгружено Сумма
отгрузки отгрузки АО “ЦУМ” 15-04 162 31.05.04 1000 шт. 9000 р. г. Москва 234 28

Отгружено оплачено
А/О “ЦУМ” 200 31.03. 05 Мясорубка 90000 р. 72000 р. 18000 р. г. Москва 250 25.04. 05 Термо

Отгружено оплачено
200 31.03. 04 Мясорубка 90000 р. 72000 р. 18000 р. 250 25.04. 04 Термос 40000 р. 32000 р.

Отгружено оплачено
АО “ЦУМ”

Отгружено оплачено
200 31.03.05 Мясорубка 90000 р. 72000 р. 18000 р. 250 25.04.05 Термос 40000 р. 32000 р. 80

Месяц План оплаты Факт оплаты
Январь 2124000 р. Февраль 5600000 р. 624000 р. Март 5624000 р. 5600000 р.

Кон. месяца
Склад ТНП Мясорубка 4000000 р. 3600000 р. 400000 р. Термос 10000000 р. 10000000 р. 0 р.

Кон. месяца
Мясорубка 4000000 р. 3600000 р. 400000 р. Термос 10000000 р. 10000000 р. 0 р.

Арм товароведа (арм-т)
Деятельность товароведа универмага связана с управлением товародвижением. Типовые управленческие функции товароведа: 1) Ведение нормативно-справочной базы для управления торговой деятельно

Расчет размера заказа
Планирование заказов товаров осуществляется с учетом поддержки необходимого уровня запасов товаров на складе. Для каждого товара устанавливается фиксированный нижний предел запаса (точка заказа). Е

АРМ менеджера ресторана
Типовые функции управления, выполняемые менеджером ресторана: 1) Ведение нормативно-справочной базы для управления рестораном. 2) Расчеты с персоналом. 3) Анализ деятельн

Список врачей поликлиники на ХХ.ХХ.ХХ
№ п/п Специализация Табельный номер врача Фамилия Имя Отчество врача Дата поступления Стоимость посещения

Сведения о выдаче номеров к врачам за ХХ.ХХ.ХХ
Специализация врача Фамилия врача Всего номеров по плану Всего выдано номеров Количество вакансий

Арм врача
Типовые функции управления, выполняемые врачом поликлиники: 1) Обслуживание пациентов. 2) Запросный режим (определяется самостоятельно). Комплекс задач «Обслуживание п

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

Определение базы данных
База данных (БД) - это совокупность взаимосвязанных данных, организованных на внешних носителях информации средствами СУБД и используемых одним или несколькими прилож

Архитектура базы данных
Под архитектурой базы данных понимается многоуровневое описание предметной области. Большинство баз данных имеет архитектуру ANSI/SPARC, предложенную Исследовательской группой ANSI/SPARC Study grou

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

Этапы проектирования базы данных
Процесс проектирования базы данных состоит из трех этапов (рис. 4.2): · концептуальное проектирование базы данных; · логическое проектирование базы данных; · физичес

Информационно-логическая модель предметной области
Одним из способов логического проектирования базы данных является построение информационно-логической модели предметной области (ИЛМ ПО). ИЛМ обеспечивает интегрированное, не зависящее от средств р

Алгоритм построения информационно-логической модели предметной области
1. Добавить коды объектов в те таблицы, в которых они отсутствуют. 2. Определить сущности ПО. 3. Выделить в отдельные отношения сущности, отображающие справочные данные в документ

Сруктурные связи ИО
Отношение двух ИО отражает объективную и устойчивую во времени связь сущностей. Количественное соответствие экземпляров ИО может быть одно-однозначного (1:1), одно-многозначного (1:M), много

Каноническая форма ИЛМ ПО
Каноническая форма ИЛМ предназначена для формализованного перехода к логической структуре БД. ИЛМ ПО представлена в канонической форме при выполнении следующих условий. 1. Все ИО описывают

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

Ограничения предметной области
Для выявления функциональных зависимостей и построения на их основе ИЛМ ПО достаточно знать только логические ограничения. В рассматриваемом примере они таковы: 1) готовое изделие хранится

Формы справочных документов
Таблица 4.7 Справочник “ГОТОВАЯ ПРОДУКЦИЯ” Код изделия Наименование изделия Ед. измерения Нормативный запас

Определение типа связей
Каждая из введенных связей характеризуется групповым отношением экземпляров объектов типа 1:М (один – ко – многим). Ниже приводится обоснование этого утверждения. П

Канонический вид ИЛМ
Правила представления ИЛМ в каноническом виде кратко изложены в п. 4.3.1.7. Там же приведен пример использования неформального способа упорядочения ИнО по уровням иерархии. Хотя в рассматриваемом п

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

Структура базы данных
Логическая структура базы данных соответствует структуре данных ИЛМ, реализуется средствами структур данных выбранного программного обеспечения (СУБД, электронные таблицы). Структура базы данных до

Администрирование базы данных
Для баз данных колективного пользования или хранимых на сетевом диске выполняется администрирование: создаются учетные записи групп и пользователей, определяются пароли учетных записей (рис. 4.15).

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

Обобщенный алгоритм
Обобщенный алгоритм обработки данных приложений представляется в виде технологических процессов обработки информации (табл. 4.17). Таблица 4.17. Описание технологического процесса обработк

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

Описание полей
При назначении имен полей таблиц рекомендуется руководствоваться следующими правилами. 1. Имена полей назначать одинаковыми с сокращенными именами реквизитов (или атрибутов отношений).

Значение Описание
Нет Поле не индексировано (по умолчанию). Да Поле индексировано. (Допускаются Допускается повторение совпадения) значений индексного поля. Да Поле индек

Ссылочная целостность
В Microsoft Access понятиям Ссылочное (целевое) отношение и Ссылающееся отношение соответствуют понятия Главная таблица и Подтаблица. Главная таблица – э

Свойства экранных форм
При проектировании экранных форм задаются следующие свойства: · порядок сортировки записей в форме; · характер использования формы: изменение, удаление, добавление записей или вво

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

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

Рекомендации по проектированию запросов
В курсовой работе для каждого запроса следует: · обосновать тип запроса (выборка, добавление, изменение и т.п.); · указать состав полей результирующей таблицы запроса на выборку и

Ведение нормативно-справочной информации
Ведение нормативно-справочной информации подразумевает: · Начальную загрузку таблиц базы данных. · Формирование сводных нормативов. · Корректировку нормативно-справочной

Интерфейс конечного пользователя
Интерфейса конечного пользователя может представляться с помощью: · Команд в составе главного или контекстного меню. · Панели инструментов. · Экранной формы кнопочного ти


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

Курсовое проектирование в среде ms access
Учебное пособие Редактор С.А. Кабедева Лицензия ЛР N 020412 от 12.02.97 –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– Подп

Курсовая работа
Предметная область: Отдел сбыта готовой продукции Задача: Проверка обеспеченности плана отгрузки заданного изделия пл

Общие требования, предъявляемые к курсовой работе
Защита курсовой работы производится после полного завершения машинной части курсовой работы, составления отчета по курсовой работе и проверки ее преподавателем, осуществляющим руководство выполнени

Тема 2.3. Программные средства презентаций и основы офисного программирования

Тема 2.4. Системы управления базами данных и экспертные системы

2.4.11. Учебная база данных с главной кнопочной формой "Training_students" - Скачать

СУБД и экспертные системы

2.4. Системы управления базами данных и экспертные системы

2.4.3. Создание базы данных (установка связей между таблицами и заполнение таблиц)

2.4.3.2. Установка связей между таблицами в СУБД Access

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

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


Рис. 1.

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



Рис. 2.

Следующий шаг - это установка связей между таблицами в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы на соответствующее поле таблицы Студенты, в результате этой операции появится окно "Изменение связей".

В появившемся окне диалога "Изменение связей" необходимо активизировать флажки: "Обеспечить целостность данных", "каскадное обновление связанных полей" и "каскадное удаление связанных записей", убедиться в том, что установлен тип отношений один-ко-многим и нажать кнопку Создать.



Рис. 3.

В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке.



Рис. 4.

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

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

2.4.3.3. Заполнение таблиц

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

На экране появится структура таблицы БД в режиме таблицы. Новая таблица состоит из одной пустой строки.


Рис. 5.

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

В приложении Access применяются различные методы перемещения по таблице. Переходить от записи к записи можно с помощью: клавиш управления курсором; кнопки из области Запись, расположенной внизу таблицы в режиме таблицы; команды Правка - Перейти.. Для перемещения от поля к полю (слева направо) применяются клавиши Tab и Enter, а в обратном направлении Shift+Tab.

Поиск данных в таблице большого объема, который выполняется с помощью кнопок перехода, может занять много времени, поэтому для поиска и замены данных в полях необходимо использовать команду Правка - Найти. Откроется окно диалога. В поле Образец диалогового окна поиска указывается искомый объект и осуществляется поиск. Для замены данных в полях необходимо перейти на вкладку Замена.

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

A relationship in Access helps you combine data from two different tables. Each relationship consists of fields in two tables with corresponding data. For example, you might have a ProductID field in a Products table and in an OrderDetails table. Each record in the OrderDetails table has a ProductID that corresponds to a record in the Products table with the same ProductID.

When you use related tables in a query, the relationship lets Access determine which records from each table to combine in the result set. A relationship can also help prevent missing data, by keeping deleted data from getting out of synch, and this is called referential integrity.

Before you work with relationships, make sure you understand the background concepts. For more information, see Guide to table relationships and Get started with table relationships .

In this article

Overview

In an Access database, you create a table relationship using one of the following methods:

    In the Relationships window, add the tables that you want to relate, and then drag the field to relate them from one table to the other table.

    Drag a field on to a table datasheet from the Field List pane.

When you create a relationship between tables, the common fields are not required to have the same names, although it is often the case that they do. The common fields must have the same data type. If the primary key field is an AutoNumber field, however, the foreign key field can also be a Number field if the FieldSize property of both fields is the same. For example, you can match an AutoNumber field and a Number field if the FieldSize property of both fields is Long Integer. When both common fields are Number fields, they must have the same FieldSize property setting.

Create a table relationship by using the Relationships window

Create a table relationship by using the Field List pane to add a field

You can add a field to an existing table that is open in Datasheet view by dragging it from the Field List pane. The Field List pane shows fields available in related tables and also fields available in other tables in the database.

Field List pane and the table to which you dragged the field. This relationship, created by Access, does not enforce referential integrity by default. To enforce referential integrity, you must edit the relationship. See the section for more information.

Open a table in Datasheet view

    In the Navigation Pane, double-click the table.

Open the Field List pane

The Field List pane shows all of the other tables in your database, grouped into categories. When you work with a table in Datasheet view, Access displays fields in either of two categories in the Field List pane: Fields available in related tables and . The first category lists all of the tables that have a relationship with the table with which you are currently working. The second category lists all of the tables with which your table does not have a relationship.

In the Field List pane, when you click the plus sign (+ ) next to a table name, you see a list of all the fields available in that table. To add a field to your table, drag the field that you want from the Field List pane to the table in Datasheet view.

Add a field and create a relationship from the Field List pane

    With the table open in Datasheet view, press ALT+F8. The Field List pane appears.

    Under Fields available in other tables , click the plus sign (+ ) next to a table name to display the list of fields in that table.

    Drag the field that you want from the Field List pane to the table that is open in Datasheet view.

    When the insertion line appears, drop the field into position.

    The Lookup Wizard starts.

    Follow the instructions to complete the Lookup Wizard .

    The field appears in the table in Datasheet view.

When you drag a field from an "other" (unrelated) table and then complete the Lookup Wizard, a new one-to-many relationship is automatically created between the table in the Field List and the table to which you dragged the field. This relationship, created by Access, does not enforce referential integrity by default. To enforce referential integrity, you must edit the relationship. See the section for more information.

Edit a relationship

You change a relationship by selecting it in the Relationships window and then editing it.

    Carefully position the cursor so that it points to the relationship line, and then click the line to select it.

    The relationship line appears thicker when it is selected.

    With the relationship line selected, double-click it.

    On the Design tab, in the Tools group, click Edit Relationships .

The Edit Relationships dialog box appears.

Open the Edit Relationships dialog box

Set the join type

When you define a table relationship, the facts about the relationship inform your query designs. For example, if you define a relationship between two tables, and you then create a query that employs the two tables, Access automatically selects the default matching fields based upon the fields specified in the relationship. You can override these initial default values in your query, but the values supplied by the relationship will often prove to be the correct ones. Because matching and bringing together data from more than one table is something you will do frequently in all but the most simple databases, setting defaults by creating relationships can be time saving and beneficial.

A multiple table query combines information from more than one table by matching the values in common fields. The operation that does the matching and combining is called a join. For instance, suppose you want to display customer orders. You create a query that joins the Customers table and the Orders table on the Customer ID field. The query result contains customer information and order information for only those rows where a corresponding match was found.

One of the values you can specify for each relationship is the join type. The join type tells Access which records to include in a query result. For example, consider again a query that joins the Customers table and the Orders table on the common fields that represents the Customer ID. Using the default join type (called an inner join), the query returns only the Customer rows and the Order rows where the common fields (also called the joined fields) are equal.

However, suppose you want to include all Customers - even those who have not yet placed any orders. To accomplish this, you have to change the join type from an inner join to what is known as a left outer join. A left outer join returns all of the rows in the table on the left side of the relationship and only those that match in the table on the right. A right outer join returns all of the rows on the right and only those that match on the left.

Note: In this case, "left" and "right" refer to the position of the tables in the Edit Relationships dialog box, not the Relationships window.

You should think about the result you will most often want from a query that joins the tables in this relationship, and then set the join type accordingly.

Set the join type

    In the Edit Relationships dialog box, click Join Type .

    The Join Properties dialog box appears.

    Click your choice, and then click OK .

The following table (using the Customers and Orders tables) shows the three choices that are displayed in the Join Properties dialog box, the type of join they use, and whether all rows or matching rows are returned for each table.

1. Only include rows where the joined fields from both tables are equal.

2. Include ALL records from "Customers" and only those records from "Orders" where the joined fields are equal.

3. Include ALL records from "Orders" and only those records from "Customers" where the joined fields are equal.

Right outer join

When you choose option 2 or option 3, an arrow is shown on the relationship line. This arrow points to the side of the relationship that shows only matching rows.

Make changes in the Join Properties dialog box

Enforce referential integrity

The purpose of referential integrity is to prevent orphan records – records that reference other records that no longer exist. You enforce referential integrity by enabling it for a table relationship. Once enforced, Access rejects any operation that would violate referential integrity for that table relationship. This means that Access will reject both updates that change the target of a reference and deletions that remove the target of a reference. To have Access propagate referential updates and deletions so that all related rows are changed accordingly, see the section.

Turn referential integrity on or off

    On the Database Tools tab, in the Relationships group, click Relationships .

    On the Design tab, in the Relationships group, click All Relationships .

    Hidden check box in the table"s Properties Navigation Options dialog box.

    Double-click the relationship line. The Edit Relationships dialog box appears.

    Select or clear .

    OK .

If you enforce referential integrity, the following rules apply:

    You cannot enter a value in the foreign key field of a related table if that value doesn"t exist in the primary key field of the primary table - doing so creates orphan records.

    You cannot delete a record from a primary table if matching records exist in a related table. For example, you cannot delete an employee record from the Employees table if there are orders assigned to that employee in the Orders table. You can, however, choose to delete a primary record and all related records in one operation by selecting the check box.

    You cannot change a primary key value in the primary table if doing so would create orphan records. For example, you cannot change an order number in the Orders table if there are line items assigned to that order in the Order Details table. You can, however, choose to update a primary record and all related records in one operation by selecting the Cascade Update Related Fields check box.

    Notes: If you have difficulty enabling referential integrity, note that the following conditions are required to enforce referential integrity:

    • The common field from the primary table must be a primary key or have a unique index.

      The common fields must have the same data type. The one exception is that an AutoNumber field can be related to a Number field that has a FieldSize property setting of Long Integer .

      Both tables exist in the same Access database. Referential integrity cannot be enforced on linked tables. However, if the source tables are in Access format, you can open the database in which they are stored and enable referential integrity in that database.

Set the cascade options

You might encounter a situation where you have a valid need to change the value on the "one" side of a relationship. In such a case, you need Access to automatically update all of the affected rows as part of a single operation. That way the update is completed in full so that your database is not left in an inconsistent state - with some rows updated and some not. Access helps you avoid this problem by supporting the Cascade Update Related Fields option. When you enforce referential integrity and choose the Cascade Update Related Fields option, and you then update a primary key, Access automatically updates all fields that reference the primary key.

You might also need to delete a row and all related records - for instance, a Shipper record and all related orders for that shipper. For this reason, Access supports the Cascade Delete Related Records option. When you enforce referential integrity and select the Cascade Delete Related Records check box, Access automatically deletes all records that reference the primary key when you delete the record that contains the primary key.

Turn cascade update and/or cascade delete on or off

    On the Database Tools tab, in the Relationships group, click Relationships .

    On the Design tab, in the Relationships group, click All Relationships .

    All tables with relationships are displayed, showing relationship lines. Note that hidden tables (tables for which the Hidden check box in the table"s Properties dialog box is selected) and their relationships will not be shown unless Show Hidden Objects is selected in the Navigation Options dialog box.

    Click the relationship line for the relationship that you want to change. The relationship line appears thicker when it is selected.

    Double-click the relationship line.

    The Edit Relationships dialog box appears.

    Select the Enforce Referential Integrity check box.

    Select either the or the Cascade Delete Related Records check box, or select both.

    Make any additional changes to the relationship, and then click OK .

Note: If the primary key is an AutoNumber field, selecting the Cascade Update Related Fields check box will have no effect, because you cannot change the value in an AutoNumber field.

Delete a table relationship

Important: When you remove a relationship, you also remove referential integrity support for that relationship, if it is enabled. As a result, Access will no longer automatically prevent the creation of orphan records on the "many" side of a relationship.

To remove a table relationship, you must delete the relationship line in the Relationships window. Position the cursor so that it points to the relationship line, and then click the line. The relationship line appears thicker when it is selected. With the relationship line selected, press DELETE.

    On the Database Tools tab, in the Relationships group, click Relationships .

    On the Design tab, in the Relationships group, click All Relationships .

    All tables with relationships are displayed, showing relationship lines. Note that hidden tables (tables for which the Hidden check box in the table"s Properties dialog box is selected) and their relationships will not be shown unless Show Hidden Objects is selected in the Navigation Options dialog box.

    Click the relationship line for the relationship that you want to delete. The relationship line appears thicker when it is selected.

    Press the DELETE key.

    Access might display the message Are you sure you want to permanently delete the selected relationship from your database? . If this confirmation message appears, click Yes .

Note: If either of the tables employed in the table relationship are in use - perhaps by another person or process, or in an open database object, such as a form - you will not be able to delete the relationship. You must close any open objects that employ these tables before you try to remove the relationship.

Create, edit, or delete a relationship in an Access web app

There are important differences when working with relationships in an Access web app.

Create a relationship

The Relationships window isn"t available in an Access web app. Instead of creating a relationship in an Access web app, you create a lookup field that gets values from a related field in another table. For example, let’s say you have an Employees table and you want to add a lookup to a Regions table so you can show which region each employee works in.

Note: The field that your lookup will use as the source for values must already exist before you create your lookup field.

Here’s how you create a lookup field in an Access web app:

Edit a relationship

The Relationships window isn"t available in an Access web app. You use a field in one table as the source (lookup field) for values in the related field in another table.

Delete a relationship

The Relationships window isn"t available in an Access web app. You use a field in one table as the source (lookup field) for values in the related field in another table. In order to delete a relationship between two tables in an Access web app, you need to delete the lookup field and its associated data.

Create or modify a relationship in an Access 2010 web database

To create a relationship in an Access 2010 web database, you use the Lookup Wizard. The Relationships window is not available in a web database. You use a field in one table as the source for values in the related field in another table.

Note: The field that you use as the source for values must already exist before you can use the Lookup Wizard.

Create a relationship in an Access 2010 web database by using the Lookup Wizard

    Open the table that should get its values from the other table.

    To the right of the last field, click Click to Add , and then click Lookup & Relationship .

    Note: You might need to scroll horizontally to see Click to Add .

    On the first screen of the Lookup Wizard, select I want the lookup field to get the values from another table , and then click Next .

    Select the table that has the source values, and then click Next .

    In the Available Fields box, double-click the field that has the source values, and then click Next .

    Optionally, specify a sort order for the lookup field. Click Next .

    Optionally, adjust the width of the lookup field – a good idea if the values are long. Click Next .

    Enter a name for the new field. If you want to make sure that the values in the two tables always match, select the Enable Data Integrity check box, and then click one of the following:

    • Cascade Delete – this option means that if you delete a record from one table, corresponding records in the other table are also deleted.

      Restrict Delete – this option means that if you attempt to delete a record from one table but there is a corresponding record in the other table, the delete operation is not allowed.

      Note: Do not select Allow Multiple Values in the Lookup Wizard when you are using the wizard to create a relationship.

Modify a relationship in an Access 2010 web database

    Open the table that gets its values from another table.

    Select the field that gets its values from another table.

    On the Fields tab, in the Properties group, click Modify Lookups .

    Follow the steps in the wizard to make the changes that you want. You can change the following:

    • The field that is the source of values

      The sort order of the values

      The width of the field, and whether to hide the key column

      The label for the lookup field

      Whether data integrity is enabled

      If data integrity is enabled, whether deletes are cascaded or restricted

раскрытии одного уровня иерархии рядом с записью главной таблицы отображаются связанные записи подчиненной. Для записи подчиненной таблицы также могут быть открыты связанные записи и т. д. Например, для таблиц ПОКУПАТЕЛЬ, ДОГОВОР (рис. 1.2), связанных отношением 1: М, для каждой записи таблицы ПОКУПАТЕЛЬ могут быть отображены и отредактированы связанные записи в таблице ДОГОВОР.

Схема данных

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

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

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

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

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

Объекты Access

База данных Access включает следующие сохраняемые в одном accdb-файле объекты:

 таблицы , запросы , схемы данных , непосредственно имеющие отношение к базе данных;

 формы , отчеты , макросы и модули , называемые объектами приложения.

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

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

рументов и формы. Для создания программного кода используются модули на языке VBA и макросы.

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

Объекты представлены в области навигации окна базы данных Access. Все операции по работе с объектами собственно базы данных и приложений начинаются в этом окне.

Таблицы (Tables) создаются пользователем для хранения данных об одной сущности - одном информационном объекте модели данных предметной области. Таблица состоит из полей (столбцов) и записей (строк). Каждое поле содержит одну характеристику информационного объекта предметной области. В записи собраны сведения об одном экземпляре информационного объекта.

База данных Access может включать до 32 768 объектов (в том числе формы, отчеты и т. д.). Одновременно может открываться до 2048 таблиц.

Запросы (Queries). Запросы на выборку служат для выборки нужных данных из одной или нескольких связанных таблиц. Результатом выполнения запроса является виртуальная таблица. В запросе можно указать, какие поля исходных таблиц следует включить в запись таблицы запроса и как отобрать нужные записи. Таблица запроса может быть использована наряду с другими таблицами базы при обработке данных. Запрос может формироваться с помощью конструктора запросов или инструкции языка SQL. Запросы на изменение позволяют обновлять, удалять или добавлять данные в таблицы, а также создавать новые таблицы на основе существующих.

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

ных (Database Tools) в группе Отношения (Relationships).

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

Введение в Access 2010

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

Макросы (Macros) являются программами, состоящими из последовательности макрокоманд, которая выполняется по вызову или при наступлении некоторого события в объекте приложения или его элементе управления. Макросы позволяют автоматизировать некоторые действия в приложении пользователя. Создание макросов осуществляется в диалоговом режиме путем выбора нужных макрокоманд и задания параметров, используемых ими при выполнении. В Access 2010 обновлен конструктор макросов. Его новые возможности упрощают создание, редактирование макросов, позволяют сокращать количество ошибок кода и более эффективно создавать надежные приложения. В Access 2010 появилась новая возможность - макросы данных, позволяющие изменять данные на основе событий в исходных таблицах. Макросы данных используются для добавления логики к данным и сосредоточения ее в исходных таблицах. В Web-приложениях Access, базирующихся на базах данных, опубликованных в SharePoint, для программирования необходимо использовать только макросы, так как код VBA несовместим со средствами Webпубликации.

Модули (Modules) содержат процедуры на языке Visual Basic for Applications.

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

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

Сводные таблицы и сводные диаграммы

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

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

Рис. 1.4. Сводная диаграмма для анализа суммарного количества отгруженного по любому из товаров, по различным покупателям и договорам,

по всем или некоторым месяцам, кварталам, годам