Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
64
Добавлен:
27.03.2015
Размер:
164.86 Кб
Скачать

Лекция 5. Режим Конструктора таблиц.

Связи между таблицами

  1. Режим Конструктора

Режим Конструктора предназначен для задания или изменения структуры таблиц.

Для того, чтобы открыть таблицу в режиме Конструктора:

  1. Выбрать таблицу из списка в окне базы данных.

  2. Выбрать из контекстного меню команду Конструктор.

Для перехода из режима таблицы в режим Конструктора на вкладке «Главная» нажать кнопку Режим и выбрать из списка пункт Конструктор.

В режиме Конструктора доступны следующие возможности:

  1. Ввод или изменение имен полей, типов данных и свойств полей, а также всей таблицы.

  2. Задание ключевого поля.

  3. Создание столбцов подстановки с помощью мастера.

  1. Свойства полей таблицы

  • Размер поля. Определяет максимальный размер данных, которые могут сохраняться в полях с типом данных Текстовый или Числовой. Если тип данных  Текстовый, то размер поля должен быть целым числом в диапазоне от 0 до 255 (по умолчанию задан размер 255). Если тип данных Числовой, то размер поля нужно выбрать из раскрывающегося списка. Размер поля не задается для полей с типами данных Дата/Время, Логический, Денежный, МЕМО и полей объектов OLE.

  • Формат поля. Позволяет указать форматы вывода текста, чисел и дат на печать.

  • Число десятичных знаков. Задается для полей с типами данных Числовой и Денежный. Этому свойству может быть присвоено значение Авто или заданное число десятичных знаков.

  • Маска ввода. Задает шаблон, облегчающий ввод данных в поле.

  • Подпись. Указывает текст, который выводится в заголовке столбца в режиме таблицы (может отличаться от имени поля). Длина подписи может достигать 2048 символов, причем в тексте подписи (в отличие от имени поля) можно использовать любые символы.

  • Значение по умолчанию. Указывает значение, автоматически появляющееся в поле при создании новой записи. Не задается для полей с типом данных Счетчик и полей объектов OLE.

  • Условие на значение. Определяет требования к вводимым данным. Не задается для полей типа Счетчик, МЕМО, полей объектов OLE.

  • Сообщение об ошибке. Содержит текст сообщения, выводящегося на экран, если введенные данные не соответствуют условию на значение.

  • Обязательное поле. Указывает, требуется ли обязательный ввод значения в поле.

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

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

  1. Создание столбца подстановки

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

Порядок действий при создании столбца подстановки:

  1. Выделить в списке поле и в столбце Тип данных выбрать из списка пункт Мастер подстановок.

  2. В окне «Создание подстановки» выбрать одну из возможностей: а) столбец подстановки будет использовать значения из таблицы или запроса; б) фиксированный набор значений.

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

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

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

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

Связь между таблицами в БД определяет соответствие между записями обоих таблиц, в которых совпадают значения определенных полей. Существуют 4 основных типа связей между таблицами: «один-к-одному», «один-ко-многим», «многие- к-одному», «многие-ко-многим», которые ниже для краткости будут обозначены как «1-1», «1-», «-1», «-» соответственно.

  • Связь типа «1-1». Если между таблицами A,B установлена связь типа «1-1», то каждой записи в таблице A соответствует не более одной связанной записи в таблице В и наоборот. Поля, через которые между таблицами установлена связь типа «1-1», должны быть ключевыми в обоих таблицах. Связь типа «1-1» используют обычно для разделения очень широких таблиц или для отделения части таблицы по соображениям защиты.

  • Связь типа «1-» является наиболее часто используемым типом связи между таблицами. В этом случае каждой записи в таблице А могут соответствовать несколько записей в таблице В, а каждой записи в таблице В соответствует не более одной связанной записи в таблице А. Таблица А называется главной, а таблица В  подчиненной таблицей. Поле в главной таблице, через которое установлена связь, является первичным ключом. Соответствующее поле в подчиненной таблице называется внешним ключом.

  • Связь типа «-». При использовании этого типа связи одной записи в таблице А могут соответствовать несколько записей в таблице В, а одной записи в таблице В  несколько записей в таблице А.

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

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

  1. Закрыть все окна таблиц БД. Access не позволяет создать или изменить связь, если открыта хотя бы одна таблица.

  2. Вызвать команду Схема данных на вкладке «Работа с базами данных» (в Access 2007) или команду Сервис/Схема данных (в Access 2003). В результате появляется одноименное окно, в котором отображены связи между таблицами в базе данных:

  1. Добавить или скрыть таблицу на макете Схема данных можно с помощью команд Отобразить таблицу или Скрыть таблицу на вкладке Конструктор.

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

  3. Установить режимы «Обеспечение целостности данных», «Каскадное обновление связанных полей», «Каскадное удаление связанных записей» (рис. 5.1).

Рис. 5.1

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

  1. Открыть окно Схема данных.

  2. Указать курсором мыши на линию изменяемой или удаляемой связи и щелкнуть правой кнопкой. Выбрать из контекстного меню одну из команд: Изменить связь или Удалить связь. При использовании первой из этих команд на экран будет выведено диалоговое окно Связи, в котором могут быть выполнены необходимые изменения параметров связи.

Другой способ изменения связи  дважды щелкнуть на линии связи левой кнопкой мыши, в результате чего на экран выводится окно Связи. Удалить связь можно также, если щелкнуть левой кнопкой мыши по линии связи (при этом связь становится выделенной) и нажать клавишу Delete.

  1. Обеспечение целостности данных в связанных таблицах

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

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

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

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

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

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

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

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

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

Соседние файлы в папке Лекции