Задание 8. Установление связей между таблицами
Свяжем созданные таблицы. В базе данных Сотрудники у нас есть три таблицы: Сотрудники, Дополнительные сведения и Структура предприятия. Установим связь «один-ко-многим» между таблицами Сотрудники и Структура предприятия. Эта связь означает, что в одном отделе может числиться много сотрудников, но ни один сотрудник не может числиться сразу в нескольких отделах. Также установим обеспечение целостности данных, которое означает, что все изменения в таблице Структура предприятия отражаются и в таблице сотрудники.
Последовательность работы:
1. Перед созданием связи необходимо закрыть все открытые в базе данных таблицы, иначе система выдаст предупреждение о блокировке таблиц.
2. Щелкните по кнопке Схема данных на панели инструментов вкладки Работа с базами данных. Открывшееся окно имеет рабочую область, в которую можно добавить необходимые таблицы и установить между ними связи (см. рис. 23).
Рис. 23
3. Если в открывшемся окне нет таблиц - щелкните правой кнопкой на свободном пространстве окна и с помощью контекстного меню добавьте необходимые таблицы. Они появляются в окне в виде небольших окошек. Заголовок окна соответствует названию таблицы, содержимое окна – названиям полей. Как правило, при открытии окна Схема данных в нем уже может находиться одна или все созданные таблицы.
4. В таблице Сотрудники выделите поле НазваниеОтдела.
5. Удерживая кнопку мыши, двигайте курсор к полю КодСотрудника в другой таблице. Когда курсор мыши окажется внутри другого окна, он изменит свой вид. После этого оте кнопку мыши. Откроется диалоговое окно Изменение связей (см. рис. 24).
Рис. 24
6. Установите флажок Обеспечение целостности данных. В дополнительном окне установите переключатель 3 («Объединение ВСЕХ записей из «Сотрудники» и только тех записей из «Структура предприятия», в которых связанные поля совпадают»). Подтвердите свой выбор, нажав ОК. Просмотрите в окне Схема данных созданную связь. Связь имеет вид линии со стрелкой и надписями «∞→1», она называется «один-ко-многим». Установленное обеспечение целостности данных означает, что если вы измените название отдела, эти изменения отразятся и в таблице Сотрудники. Чтобы изменить вид связи, укажите курсором на линию и щелкните правой кнопкой мыши. В контекстном меню выберите пункт Изменить связь. Посмотрите, как будет меняться связь, если установить первый или второй переключатель в дополнительном меню кнопки Объединение.
7. Откройте таблицу Структура предприятия. Слева в таблице теперь расположен столбец со значками «+». Эти значки указывают на наличие связи «один-ко-многим» и позволяют просмотреть запись из связанной таблицы.
8. Щелкните по значку «+» в какой-нибудь строке. Откроются строки из связанной таблицы с фамилиями сотрудников этого отдела (см. рис.25).
Рис.25
Задание 9. Установите связь «один-к-одному» между таблицами Дополнительные сведения и Сотрудники. После установления связи заполните таблицу Дополнительные сведения данными.
Последовательность работы:
1. Откройте окно Схема данных и добавьте к схеме таблицу Дополнительные сведения.
2. В таблице Сотрудники выделите поле КодСотрудника и, удерживая кнопку мыши, двигайте курсор к полю с таким же названием в таблице Дополнительные сведения. Установите флажок «Обеспечение целостности данных». В окне Объединение установите переключатель 2. Подтвердите свой выбор, нажав ОК.
3. Просмотрите в окне Схема данных созданную связь. Связь имеет линии со стрелкой и надписями «1→1». Эта связь называется «один-к-одному» и означает буквально, что каждой записи в таблице Сотрудники будет соответствовать только одна связанная с ней запись в таблице Дополнительные сведения.
Теперь в базе данных установлены связи между всеми таблицами (см. рис. 26).
Рис. 26
4. Закройте окно Схема данных и откройте таблицу Сотрудники. Щелкните на значке «+» и откройте строку из связанной таблицы Дополнительные сведения для ввода данных.
5. Введите произвольно дополнительные сведения для всех сотрудников. После ввода нажмите «-» (см. рис.27).
Рис. 27
Таким образом, в результате выполнения практической работы №1 вы создали простейшую базу данных с тремя связанными таблицами, содержащую сведения о предприятии и его сотрудниках.
Практическая работа №2. Создание и редактирование пользовательских форм для ввода данных
Среда баз данных позволяет вводить данные, предварительно создав форму. Напомним, что форма − это аналог карточки, в которой введены данные по одному конкретному объекту. Ввод данных непосредственно в таблицу не очень удобен, т.к. длина некоторых полей довольно большая и все столбцы одновременно не видны на экране.
Задание 1. Создадим форму для ввода данных о сотрудниках. Включим в форму поля из двух связанных таблиц Сотрудники и Дополнительные сведения.
Последовательность работы:
1. В главном окне базы данных на карточке Создание выберите объект Другие формы → Мастер форм (см. рис. 28).
Рис. 28
2. Создайте форму, следуя шагам мастера. В списке Таблицы и запросы выберите таблицу Сотрудники. Перенесите из списка Доступные поля в список Выбранные поля все поля таблицы, щелкнув на кнопке Добавить все. Пока не нажимайте кнопку Далее (см. рис.29).
Рис.29
3. В списке Таблицы и запросы выберите еще и таблицу Дополнительные сведения. Перенесите из нее все поля (кроме первого поля КодСотрудника, так как оно уже есть в списке) и перейдите на следующий шаг, нажав кнопку Далее.
4. Выберем вид формы. Установите переключатель «В один столбец» - это наиболее удобный вид формы. Перейдите на следующий шаг, нажав Далее.
5. Выберем стиль оформления. Просмотрите список представленных стилей, попеременно щелкая на их названия. Выберите понравившийся стиль и перейдите на следующий шаг.
6. Задайте имя формы - Форма Сотрудники и установите переключатель Открыть форму для просмотра и ввода данных (см. рис.30).
Рис. 30
7. Завершите работу мастера, нажав кнопку Готово. Просмотрите имеющиеся записи, щелкая на кнопках-стрелках: переход к первой записи, на следующую запись, к последней записи, переход на новую запись. Произвольно введите еще несколько новых записей, пользуясь формой. Для вставки фотографии щелкните правой кнопкой мыши на месте для фотографии и в контекстном меню выберите пункт Добавить объект (см. рис.31). Замечание: для того, чтобы фотография была видна в форме сразу, а не присутствовала в ней в виде командной строки (пути), она должна быть в формате .bmp.
Рис. 31
Задание 2. Редактирование формы
Процесс редактирования предполагает изменение вида некоторого объекта с целью его улучшения. При редактировании формы можно изменить названия полей для ввода, увеличить или уменьшить размер области ввода данных, изменить порядок расположения полей в карточке и многое другое. Для редактирования формы надо перейти в режим Конструктор.
Последовательность работы:
1. Отредактируйте форму: увеличьте размеры надписей КодСотрудника, Фотография, Название Отдела, Дата Рождения так, чтобы они были видны полностью; измените названия некоторых полей (например, КодСотрудника на Код сотрудника); увеличьте размер поля Дата рождения; измените свойства поля Фотография так, чтобы любая фотография помещалась в размеры рамки.
2. Для этого перейдите в режим Конструктор. В этом режиме рабочее поле представляет собой сетку с выделенными областями для расположения объектов: Заголовок формы, Область данных, Примечание формы. Если навести указатель мыши на границу области, ее можно увеличить или уменьшить (рис. 32).
Рис. 32
3. Основные объекты расположены в Области данных. Это надписи полей и сами поля. Обратите внимание, что надпись и название поля могут не совпадать. Информация, расположенная в рамке надписи, не меняется при просмотре записей. Это аналог неизменяемой части карточки.
4. Поле предназначено для ввода данных. В окне конструктора оно представляет собой белый прямоугольник с одной или несколькими строками.
5. Первоначально в режиме Конструктор и для надписи, и для поля указано имя соответствующего поля. Вы можете отредактировать надпись. Название поля менять нельзя, так как это может привести к ошибке.
6. Для того чтобы редактировать (изменять размеры, переносить в другое место и т.д.) каждое поле в отдельности, придется удалить автооформление, применяемое по умолчанию (иначе у вас будут выделяться все прямоугольники сразу). Для этого на панели инструментов нажмите кнопку Упорядочить (см. рис.33).
Рис. 33
и в новом окне выберите команду Удалить (см. рис.34).
Рис.34
7. После выполнения команды у уголка каждого прямоугольника появится темно-коричневый квадратик. Тем самым вы удалите макет, примененный к элементам управления, и получите возможность редактирования каждого из них в отдельности (см. рис.35).
Рис.35
8. Измените размеры рамки для фотографии. Для этого щелчком выделите рамку, по границе рамки появятся маркеры. Подведите курсор к угловому маркеру так, чтобы он принял форму двусторонней стрелки. Потяните границу за маркер и уменьшите ее. Размер рамки контролируйте по сетке, в которой одна клетка соответствует 1 см.
9. Измените свойства рамки так, чтобы фотография полностью помещалась внутри рамки независимо от ее исходного размера. Для этого правой кнопкой мыши щелкните внутри рамки, в контекстном меню выберите пункт Свойства. В открывшемся окне свойств с названием Присоединенная рамка объекта перейдите на вкладку Макет. Щелкните по строке Установка размеров и установите переключатель на пункт списка По размеру рамки (см. рис.36). Перейдите в режим формы и просмотрите все записи; убедитесь, что теперь все фотографии полностью помещаются внутри рамки.
Рис.36
10. Очень удобно менять внешний вид формы в режиме Макет. В нем сразу меняются: и размеры полей, и их положение, и надписи. Причем, результат виден сразу же (см. рис.37).
Рис.37
11. Любым удобным для вас способом измените расположение объектов внутри формы. Расположите группы объектов так, как показано на рисунке 38.
Рис. 38
Перейдите в режим формы и просмотрите сделанные изменения.