Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Создание первичных ключей и индексов




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

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

Индекс можно построить по полю почти любого типа. К счастью, пользователь не обязан знать, за счет чего достигается такое огромное увеличение скорости поиска. Достаточно отметить поле как индексированное, а система Access 2010 позаботится обо всем остальном.

Простой первичный ключ — это индекс, созданный по ключевому полю таблицы.

Составной первичный ключ — это индекс, созданный по ключевой связке нескольких полей таблицы.

Предупреждение.

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

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

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

В нашем примере такой индекс есть – это поле ПРЕДПР (название предприятия) в таблице ПОКУПАТЕЛЬ. Оно однозначно определяет покупателя в таблице ПОКУПАТЕЛЬ.

Альтернативные ключи в атрибуте Индексированное поле должно иметь значение Да (Совпадения не допускаются).


 

 

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

 

Подведем итоги:

1. База данных имеется.

2. Таблицы доведены до третьей нормальной формы и помещены в базу.

3. Первичный ключ есть у каждой таблицы.

4. Индексы созданы.

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

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

1. Сделайте активной вкладку Работа с базами данных и выберите пиктограмму Схема данных.

2. В появившемся меню выберите первый пункт Добавить таблицу -.появится диалоговое окно Добавление таблицы.

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

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

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

6. Поставьте флажок в поле " Обеспечение целостности данных " и нажмите кнопку " Создать ".

Создание связи "один-ко-многим"

Определим связь между таблицами ТОВАРЫ и Заказы. Это связь "один-ко-многим" – один товар может присутствовать в нескольких заказах.

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

Поставьте флажок в поле " Обеспечение целостности данных "и нажмите кнопку " Создать ".

Предупреждение

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

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

 


Примечание

1. Если разработчик поставит флажок каскадное обновление связанных полей, то у него появится возможность исправить код товара лишь в таблице ТОВАРЫ, а в таблице ЗАКАЗЫ все связанные записи система MS Access исправит автоматически.

2. Поставленный флажок каскадное удаление связанных записей позволит вам удалить товар в таблице ТОВАРЫ, а все заказы этого товара Access 2010 удалит без вашего участия. Задумайтесь о том, нужен ли вам этот флажок? Удалили одну запись, а лишились четверти всей базы данных!

 

 

Создание связи "один-к-одному"

Такая связь должна быть установлена между таблицами Компания и ПОКУПАТЕЛЬ, т. к. каждый покупатель является представителем только одной компании.

Предупреждение

Началом перетаскивания обязательно должно быть ключевое поле (таблица КОМПАНИЯ). Конечная цель — индексированное поле (таблица ПОКУПАТЕЛЬ). Индексированное поле в атрибуте Индексированное поле должно иметь значение Да (Совпадения не допускаются).


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...