Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД2.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
779 Кб
Скачать
☆

Задание 2

Оптимизировать структуру базы данных.

Как видно, одна и та же информация повторяется, значит структура базы данных не оптимальна и ее надо улучшить. Это можно сделать с помощью команды Работа с базами данных→Анализ→Анализ таблицы Выберите таблицу Персонал. Задайте разделение полей мастером. Ваша таблица будет разбита на две или три (это зависит от введенных данных). Проанализируйте разбиение, обратите внимание на связи между таблицами. Для данных табл.14 Access разделил исходную таблицу на две, выделив одинаковые данные по отделам (Рис. 12), хотя в соответствии с правилами нормализации надо выделить еще таблицу Должности.

Если ваша таблица разбита на три части, переименуйте их в Отделы и Должности и создайте формы для ввода информации. В противном случае заново создайте таблицы.

Рис. 11. Выбор операции Анализ таблицы

Рис. 12. Автоматическое разбиение исходной таблицы на две

В результате база данных должна включать еще 3 таблицы: Отделы, Должности, Персонал.

Задание 3

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

Таблица 15

Структура таблицы Отделы

Поле

Тип

Размер

Обязательное поле

Индексированное поле

Код отдела

Счетчик

Да (совпадения

не допускаются)

Название

отдела

Текст

20

Да

Да (совпадения

не допускаются)

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

  1. Создайте форму для заполнения базы Отделы с помощью Мастера форм:

    • в окне Таблицы и запросы выберите Отделы;

    • из окна Доступные поля переместите Название отдела в окно Выбранные поля;

    • выберите внешний вид формы;

    • выберите требуемый стиль формы;

    • задайте имя формы Отделы;

    • нажмите кнопку <Готово>.

  1. Заполните таблицу, введя названия отделов (поле Код отдела заполняется автоматически). Результат представлен на Рис. 1340.

Рис. 13. Примерные данные таблицы Отделы

Задание 4

  1. Создайте таблицу Должности в режиме Конструктора в соответствии с табл. 16.

Таблица 16

Структура таблицы Должности

Поле

Тип

Размер

Обязательное поле

Индексированное поле

Код должности

Счетчик

Да (совпадения не допускаются)

Код отдела

Числовой

Да

Да (совпадения допускаются)

Название должности

Текст

20

Да

нет

Зарплата

Денежный

2. Сделайте ключевым поле Код должности.

3. Сохраните макет.

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

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

  • один-к-одному (каждая запись в одной таблице соответствует только одной записи в другой таблице);

  • один-ко-многим (каждая запись в одной таблице соответствует многим записям в другой таблице);

  • много-к-одному (аналогична записи «один-ко-многим);

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

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

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