Домой

Access модели баз данных




Скачать 218.74 Kb.
НазваниеAccess модели баз данных
Дата19.04.2013
Размер218.74 Kb.
ТипДокументы
Содержание
Реляционная модель
Проблемы реляционного подхода
Иерархическая модель
Иерархическая модель данных
Экземпляр сегмента
Cетевая модель
Агрегат данных
Этапы разработки базы данных
I этап. Постановка проблемы
II этап. Анализ объекта
III этап. Синтез модели
IV этап. Способы представления информации, программный инструментарий
V этап. Синтез компьютерной модели объекта и технология его создания
Стадия 1. Запуск СУБД, создание нового файла базы данных или открытие созданной ранее базы
Стадия 2. Создание исходной таблицы или таблиц.
Стадия 3. Создание экранных форм.
Стадия 4. Заполнение БД.
VI этап. Работа с созданной базой данных
Таблицы. Типы связей.
Структура таблицы. Свойства полей. Маска ввода данных.
...
Полное содержание
Подобные работы:

ACCESS

  1. Модели баз данных

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

БД может быть основана на одной модели или на совокупности нескольких моделей. Любую модель данных можно рассматривать как объект, который характеризуется своими свойствами (параметрами), и над ней, как над объектом, можно производить какие-либо действия.

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

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

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

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

Дескрипторные модели – самые простые из документальных моделей, они широко использовались на ранних стадиях использования документальных баз данных. В этих моделях каждому документу соответствовал дескриптор – описатель.

  1. ^ Реляционная модель

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

Реляционная модель данных имеет следующие свойства:

· Каждый элемент таблицы – один элемент данных.

· Все поля в таблице являются однородными, т.е. имеют один тип.

· Каждое поле имеет уникальное имя.

· Одинаковые записи в таблице отсутствуют.

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

  1. ^ Проблемы реляционного подхода

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

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

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

1. Однозначная идентификация записи: запись должна однозначно определяться значением ключа.

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

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

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

  1. ^ Иерархическая модель

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

Свойства иерархической модели данных:

· Несколько узлов низшего уровня связано только с одним узлом высшего уровня.

· Иерархическое дерево имеет только одну вершину (корень), не подчиненную никакой другой вершине.

· Каждый узел имеет свое имя (идентификатор).

· Существует только один путь от корневой записи к более частной записи данных.

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

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

Сегмент в терминологии Американской Ассоциации по базам данных DBTG (Data Вазе Task Group) называется записью, при этом в рамках иерархической модели определяются два понятия: тип сегмента или тип записи и экземпляр сегмента или экземпляр записи.

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

В иерархической модели сегменты объединяются в ориентированный древовидный граф.

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

  • в каждой физической БД существует один корневой сегмент, то есть сегмент, у которого нет логически исходного (родительского) типа сегмента;

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

  • каждый логически подчиненный сегмент может быть связан только с одним логически исходным (родительским) сегментом.

  1. ^ Cетевая модель

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

Стандарт сетевой модели впервые был определён в 1975 году организацией CODASYL (Conference of Data System Languages), которая определила базовые понятия модели и формальный язык описания.

Базовыми объектами модели являются:

  • Элемент данных;

  • Агрегат данных;

  • Запись;

  • Набор данных.

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

^ Агрегат данных соответствует следующему уровню обобщения в модели. В модели определены агрегаты двух типов: агрегат типа вектор и агрегат типа повторяющаяся группа.

Агрегат данных имеет имя, и в системе допустимо обращение к агрегату по имени. Агрегат типа вектор соответствует линейному набору элементов данных.

  1. Нормализация

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

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

При проектировании таблиц рекомендуются следующие «золотые правила»:

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

2. Если первичный ключ не просматривается, подумать, правильно ли подобран состав полей

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

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

  1. ^ Этапы разработки базы данных

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

· Наглядность представления информации;

· Простота ввода информации;

· Удобство поиска и отбора информации;

· Возможность использования информации, введенной в другую базу;

· Возможность быстрой перенастройки базы данных (добавление новых полей, новых записей, их удаление).

При разработке БД можно выделить следующие этапы работы.
^

I этап. Постановка проблемы


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

II этап. Анализ объекта


На этом этапе необходимо рассмотреть, из каких объектов может состоять ваша БД, каковы свойства этих объектов. После разбиения БД на отдельные объекты необходимо рассмотреть свойства каждого из этих объектов, другими словами, установить, какими параметрами описывается каждый объект. Все эти сведения можно располагать в виде отдельных записей и таблиц. Далее необходимо рассмотреть тип данных каждой отдельной единицы записи (текстовый, числовой и т.д.). Сведения о типах данных также следует занести в составляемую таблицу.
^

III этап. Синтез модели


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

IV этап. Способы представления информации, программный инструментарий


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

· С использованием форм;

· Без использования форм.

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

V этап. Синтез компьютерной модели объекта и технология его создания


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

^ Стадия 1. Запуск СУБД, создание нового файла базы данных или открытие созданной ранее базы

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

^ Стадия 2. Создание исходной таблицы или таблиц.

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

^ Стадия 3. Создание экранных форм.

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

^ Стадия 4. Заполнение БД.

Процесс заполнения БД может проводиться в двух видах: в виде таблицы и в виде формы. Числовые и текстовые поля можно заполнять в виде таблицы, а поля типа МЕМО и OLE – в виде формы.
^

VI этап. Работа с созданной базой данных


Работа с БД включает в себя такие действия, как:

· Поиск необходимых сведений;

· Сортировка данных;

· Отбор данных;

· Вывод на печать;

· Изменение и дополнение данных.

  1. ^ Таблицы. Типы связей.

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

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

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит из по крайней мере двух полей, которые являются полями внешнего ключа в таблицах A и B. Например, между таблицами «Заказы» и «Товары» имеется отношение «многие-ко-многим», которое определяется путем создания двух связей с отношением «один-ко-многим» для таблицы «Заказано».

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

  1. ^ Структура таблицы. Свойства полей. Маска ввода данных.

В БД Access структура таблицы не имеет отдельного файла и входит в состав общего файла БД. Но структура таблицы - документ, поэтому его нужно сохранять.

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

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

  1. ^ Структура БД.

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

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

Этапы проектирования базы данных

Ниже приведены основные этапы проектирования базы данных:

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

2 Определение таблиц, которые должна содержать база данных.

3 Определение необходимых в таблице полей.

4 Задание индивидуального значения каждому полю.

5 Определение связей между таблицами.

6 Обновление структуры базы данных.

7 Добавление данных и создание других объектов базы данных.

8 Использование средств анализа в Microsoft Access.

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

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

  1. Типы ключевых полей. Индексы.

В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ.
^

Ключевые поля счетчика


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

Простой ключ


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

Составной ключ


В случаях, когда невозможно гарантировать уникальность значений каждого отдельного поля, можно создать ключ, состоящий из нескольких полей. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц в отношении "многие-к-многим". Примером такой таблицы может служить таблица Книги базы данных Картотека, связывающая таблицы Авторы и Издатели. В этой таблице можно назначить ключ, состоящий из двух полей: NoАвтора и NoИздателя. В таблице Книги может быть представлено много авторов и много издателей, но каждая книга присутствует в картотеке только один раз, поэтому комбинация значений полей NoАвтора и NoИздателя достаточна для образования ключа.

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

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

  1. ^ Формы. Связывание форм.

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

Элементы управления выполняют действия, которые являются результатом выполнения программы на MS Visual Basic (VB). Многие функции являются стандартными (для них код программы создается автоматически). При необходимости расширить выполняемые функции, можно войти в текст программы и вручную дописать необходимый код.

В данной БД используются следующие формы:

  • две информационные фомы – в одной отображаются название и реквизиты конкретной фирмы, в другой – то-же для конкретного договора;

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

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

Форма поиска по реквизитам договора. Результатом работы этой формы является список договоров (или один договор), которые отвечают заданным условиям. Этой форме учтены все критерии характеризующие договор. Чтоб каждый раз не вводить множество параметров, изначально указаны параметры по умолчанию (в виде масок), соответствующие условию «любые/все». Необходимо изменять только те параметры по которым производится поиск. В масках конкретные значения заменяются символами.

Эта же форма позволяет создавать статистические отчеты – по выбранным договорам подводятся итоги: количество выбранных договоров, % платежей, общая стоимость сделок).

По двойному щелчку на каком-либо пункте выборки, происходит переход на форму с полной информацией о фирме.

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

  1. ^ Запросы. Создание запросов.

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

Часто запросы в Microsoft Access создаются автоматически, и пользователю не приходится самостоятельно их создавать.

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

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

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

  1. ^ Ограничения в БД. Типы ограничений.

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

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

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

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

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

Ограничения Not Null


Ограничение Not Null запрещает ввод в столбец таблицы пустых значений. Оно всегда применяется к отдельным столбцам. Ограничения Not Null используются, чтобы гарантировать, что для важных данных всегда имеются значения. Например, это ограничение можно использовать, чтобы гарантировать, что в записи каждого служащего в базе данных проставлено его жалованье. При определении структуры таблицы это ограничение задается установкой значений свойств Обязательное поле и Пустые строки поля таблицы. Необходимо различать два типа пустых значений: пустые значения и пустые строки. В некоторых ситуациях поле может быть оставлено пустым потому, что данные для него либо существуют, но пока неизвестны, либо их не существует вовсе. В связи с этим и различают два типа пустых строк. Например, если в таблице есть поле "Номер факса", то оно может быть пустым потому, что пользователь не знает, есть ли у клиента номер факса или нет, или потому, что он знает, что номера факса у клиента нет. Таким образом, если поле имеет пустое значение, то это означает, что его значение неизвестно. Если же введена пустая строка (два знака прямых кавычек (" ")), то это означает, что строкового значения нет.
^

Ограничения Unique


Ограничение Unique запрещает пользователю ввод в столбец или набор столбцов дублированных значений. Ограничение Unique может активироваться для отдельного столбца или для комбинации столбцов. В последнем случае ограничение Unique иногда называется составным ограничением Unique. Ограничения Unique используются, чтобы гарантировать, что в таблице не будет дублированных значений столбцов. Например, оно может гарантировать, что каждому служащему в базе данных будет присвоен уникальный номер. Ограничение Unique не запрещает пользователю ввод в таблицу нескольких пустых значений – пустое значение в столбце всегда удовлетворяет ограничению Unique. Чтобы предотвратить ввод в столбец с ограничением Unigue пустых значений, к столбцу необходимо также добавить ограничение Unique. В Access ограничение Unique инициируется установкой значения "Да (Совпадения не допускаются)" для свойства Индексированное поле, либо установкой значения "Да" для свойства Уникальный индекс.
^

Ограничения Primary Key


Ограничение Primary Key гарантирует, что каждая строка в таблице будет уникально идентифицирована значением в столбце или наборе столбцов первичного ключа. Ограничение по первичному ключу объединяет черты ограничения 0пiцие и ограничения Unigue и Not Null.

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

Ограничения Foreign Key


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

  1. ^ Целостность данных. Каскадное обновление и удаление.

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

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

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

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

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

Каскадное обновление и каскадное удаление


Для связей, для которых определена целостность данных, пользователь имеет возможность указать, следует ли автоматически выполнять для связанных записей операции каскадного обновления и каскадного удаления. Если включить данные параметры, станут возможными операции удаления и обновления, в противном случае запрещенные условиями целостности данных. Чтобы обеспечить целостность данных при удалении записей или изменении значения ключевого поля в главной таблице, автоматически вносятся необходимые изменения в связанные таблицы. Если при определении связи в окне Связи установить флажок Каскадное обновление связанных полей, любое изменение значения в ключевом поле главной таблицы приведет к автоматическому обновлению соответствующих значений во всех связанных записях. Например, при изменении кода клиента в таблице "Клиенты" будет автоматически обновлено поле "Код Клиента" во всех записях таблицы "Заказы" для заказов каждого клиента, поэтому целостность данных не будет нарушена. Access выполнит каскадное обновление без ввода предупреждающих сообщений.

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

Скачать 218.74 Kb.
Поиск по сайту:



База данных защищена авторским правом ©dogend.ru 2014
При копировании материала укажите ссылку
обратиться к администрации
Уроки, справочники, рефераты