Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа№5.doc
Скачиваний:
4
Добавлен:
07.08.2019
Размер:
322.05 Кб
Скачать

Выбор первичного ключа.

Первичный ключ может состоять и из нескольких полей, тогда он называется составным первичным ключом. Именно такой ключ будет у таблицы Личные дела. Если принять за правило, что в один и тот же день для одного сотрудника не может быть сделано в личном деле несколько записей одного типа, тогда у нас будут три поля, значения которых вместе однозначно идентифицируют запись таблицы, - т.е. первичный ключ. Это поля КодСотрудника, ТипСобытия и ДатаНазначено. Чтобы создать первичный ключ таблицы Личные дела выполните следующие действия.

  1. Откройте таблицу Личные дела в режиме Конструктора.

  2. Щелкните на кнопке выбора поля КодСотрудника.

  3. Удерживая клавишу «Ctrl», щелкните на кнопке выбора поля ТипСобытия. Как правило, таким способом можно выделить несколько не расположенных подряд элементов.

  4. Удерживая нажатой клавишу «Ctrl», щелкните на кнопке выбора поля ДатаНазначено. Если вы случайно выбрали одно из других полей, щелкните на нем еще раз, чтобы отменить выделение.

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

  6. Ч тобы определить, в каком порядке поля должны входить в первичный ключ, щелкните на кнопке Индексы, расположенной на панели инструментов Конструктор таблиц. Появится диалоговое окно Индексы (рис.7). Access автоматически добавила индекс КодСотрудника, который дублирует индекс PRIMARY KEY по полю КодСотрудника.

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

  1. Чтобы удалить лишний индекс КодСотрудника, выделите строку этого индекса и нажмите «Delete» .

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

Создание индексов.

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

  1. Откройте таблицу Личные дела в режиме Конструктора.

  2. Выделите поле ДатаИсполнено (щелкнув на кнопке выбора этого поля).

  3. На нижней панели Свойства поля выберите свойство Индексированное поле.

  4. Откройте раскрывающийся список значений свойства (нажав клавишу «F4» или щелкнув на кнопке списка). У этого свойства три варианта значений (рис.8).

Рис.8. Можно создать индекс для одного поля, задав для свойства Индексированное поле значение Да (Допускаются совпадения) или Да (Совпадения не допускаются).

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

  2. Д ля создания составного индекса, откройте окно Индексы с помощью одноименной кнопки на панели инструментов. В этом окне вы увидете список с двумя индексами: первый из них, составной, называется PRIMARY KEY, второй включает только одно поле и по имени этого поля и назван – ДатаИсполнено. Чтобы создать еще один составной индекс, введите в качестве его имени ТипСобДатаНазн. Справа от имени нового индекса выберите из списка Имя поля поле ТипСобытия, переместите курсор в следующую строку того же столбца и выберите поле ДатаНазначено (рис.9).

Рис.9. Создание составного индекса.

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

  2. Щелкните на кнопке Режим таблицы, которая представляет собой один из вариантов кнопки Вид. Подтвердите сохранение изменений таблицы.

5