Смекни!
smekni.com

Проектирование базы данных "Отдел кадров" (стр. 2 из 3)

Далее таблица заполняется самостоятельно.

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

Щелчком на кнопке Окно базы данных (Database Window) переключиться на список таблиц базы данных.

Дважды щелкнуть на значке Создание таблицы в режиме конструктора (Create Table In Design View). Окно конструктора состоит из двух частей. В верхней отображается список полей таблицы, а в нижней — свойства выделенного поля.

Введите слово, которое будет играть роль названия нового поля.

Щелкните на ячейке Тип данных (Data Type) первой строки списка полей. Здесь необходимо выбрать тип поля, который определяет структуру и размер данных. Далее таким же образом заполняются все поля таблицы.

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

Добавляем поле Ключ и назначаем ему тип Счетчик (AutoNumber). Такой тип данных избавляет пользователя от необходимости ввода значений ключевого поля и инициирует автоматическую генерацию уникальных значений. Сохраняя активной строку Ключ, щелкните на кнопке Ключевое поле (Primary Key).

На кнопке этой строки появится значок ключа, показывающий особый статус поля.

Щелкнуть на кнопке закрытия окна конструктора.

Access спросит о необходимости сохранения структуры таблицы. В ответ щелкнуть на кнопке Да.

Ниже приводится содержимое таблиц, созданных в базе данных «Отдел кадров».

Связь таблиц

Для создания связи между таблицами, выполняем следующие действия:

1. Поместить указатель мыши на пункт Код сотрудника таблицы Сотрудники.

Нажмите кнопку мыши и перетащите указатель на поле Код сотрудника Образование.

В открывшемся окне диалога щелкнуть на кнопке Создать. Связь появится автоматически.

4. Установить флажок «Обеспечение целостности данных». Этот режим не позволит Access оставлять в таблице Образование записи, для которых нельзя подобрать запись таблицы Сотрудники с подходящим значением поля Код сотрудника.

5. Щелкнуть на кнопке ОК. Закрыть окно Схема данных.

3.2 Запросы

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

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

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

Запрос «сотрудники с 40-часовой рабочей неделей» формируется следующим образом. В режиме конструктора выбираем таблицы «сотрудники» и «рабочее время». Из таблицы «сотрудники» выбираем поля «код сотрудника», «фамилия», «должность». Из таблицы «рабочее время» - поле «количество часов». В условии задаем «40». В результате данного запроса выводится список сотрудников работавших по 40 часов в 1 неделе месяца.

Так же формируем статистический запрос «средняя заработная плата», который рассчитывает размер средней заработной платы по организации. Для этого в режиме конструктора выбираем таблицу «зарплата» переносим один параметр «зарплата» и вводим дополнительное поле групповая операция и выбираем значение Аvg. Сохраняем запрос. Расчет средней зарплаты происходит автоматически. Другие доступные групповые операции представлены в таблице 1.


Таблица 1. Групповые операции

Название Функция
Условие(Where) Режим задания условия отбора для поля, но которому не выполняется группировка. Access автоматически делает такое поле скрытым
Выражение (Expression) Вычисляемое поле, значение которого рассчитывается по сложной формуле
Group By Поле, определяющее группу записей, по которой вычисляются статистические параметры. К одной группе относятся все записи, для которых значения поля с режимом Group By (Группировка) одинаковы
Last Последнее значение в группе
First Первое значение в группе
Var Вариация значений поля
StDev Стандартное отклонение величин ноля от среднего
Count Количество записей, соответствующее ноле которых не содержит величины Null
Мах Максимальное значение
Min Минимальное значение
Avg Среднее значение поля
Sum Сумма значений поля по всем записям

Результат запросов в базе данных представлен ниже.

3.3 Создание форм

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

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

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


Таблица 2. Элементы управления форм и отчетов

Название Назначение
Надпись (Label) Надписи создаются автоматически вместе с элементами типа текстовое поле, поле со списком и т. п. Они разъясняют смысл поля ввода. Дополнительные надписи могут использоваться для заголовков и пояснений
Поле (Text Box) Используется для ввода и отображения информации полей таблиц и запросов, а также для вывода результатов вычислений
Группа переключателей (Option Group) Группа переключателей ссылается на некоторое поле таблицы. Каждый переключатель группы соответствует определенному целочисленному значению этого поля
Выключатель (Toggle Button) Позволяет вводить информацию типа да/нет. Величине «да» или «истина» соответствует утопленное положение выключателя
Переключатель (Option Button) Элемент группы переключателей, в которой может быть отмечен только один из них (его кружок выглядит зачерненным)
Флажок (Check Box) Предназначен для представления полей типа да/нет. Отмеченный квадратик соответствует величине «да», а пустой — «нет»
Поле со списком (Combo Box) Разрешает как непосредственный ввод значения в поле, так и его выбор в раскрывающемся списке предопределенных значений
Список (List Box) Позволяет выбирать данные из набора пунктов и не разрешает непосредственный ввод значений
Кнопка (Command Button) Щелчок на такой кнопке выполняет команду, с помощью которой можно перейти в другую форму, переместиться по записям и выполнить многие другие операции
Рисунок Рисунок любого графического формата с рамкой
Свободная рамка объекта (Unbound Object Frame) Объект OLE, не связанный ни с каким источником данных
Присоединенная рамка объекта (Bound Object Frame) Объект OLE, связанный с полем данных таблицы или запроса
Разрыв страницы (Page Break) Линия, по которой формируется перевод страницы при выводе формы или отчета на принтер
Набор вкладок (Tab Control) Позволяет разместить на одном и том же пространстве экрана несколько наборов элементов управления. Удобен в тех случаях, когда элементы легко разделяются на логические группы
Подчиненная форма/отчет(Subform/Subreport) Вставляет в форму (или отчет) областьс другой формой (или отчетом), связаннойс главной
Линия (Line) Добавляет прямую линию
Я Прямоугольник (Rectangle) Рисует прозрачный или непрозрачный прямоугольник с цветной границей любой толщины
Другие элементы (More Controls) Открывает меню с элементами управления, не вошедшими в панель элементов

В нашем случае создаем две формы: «сотрудники» и «личные данные сотрудников», которые содержат информацию из соответствующих таблиц. Форма «сотрудники» создана в режиме мастера. Форма «личные данные сотрудников» - в режиме конструктора.