Лабораторные работы посвящены созданию базы данных под управлением СУБД Access и различных элементов интерфейса для этой базы данных: экранных форм, отчётов и запросов.
Для студентов вечернего отделения II-IV курсов технических факультетов, изучающих системы управления базами данных и автоматизированные информационные системы.
Содержание
Цель выполнения работ. 3
Лабораторная работа №1. Создание таблиц и заполнение их данными. 3
Лабораторная работа №2. Создание экранных форм. 11
Лабораторная работа №3. Создание отчётов. 17
Лабораторная работа №4. Создание запросов и кнопочных форм. 22
Библиографический список. 28
Цель выполнения работ
Цель выполнения лабораторных работ – получение практических навыков создания реляционных баз данных (БД) и приложений для работы с ними на примере одной из самых распространённых настольных СУБД – MS Access. Выполнение работ включает создание простой базы данных, построение схемы этой БД, создание экранных форм, отчётов и запросов.
Лабораторная работа №1. Создание таблиц и заполнение их данными
Лабораторная работа №1 заключается в создании базы данных с помощью инструментальных средств Access и внесении в неё данных.
Мы будем создавать базу данных проектной организации – предприятия, которое занимается выполнением различных проектов по договорам с заказчиками. Схема этой базы данных приведена на рис. 1. Она отражает связи в предметной области:
– Каждый сотрудник работает в определённом отделе, в каждом отделе могут работать несколько сотрудников.
– Каждый проект относится к определённому отделу, каждый отдел может отвечать за выполнение нескольких проектов.
– Каждый сотрудник может принимать участие в выполнении нескольких проектов, над каждым проектом могут трудиться несколько сотрудников.
Рис. 1. Схема базы данных проектной организации
Сначала нужно запустить Access и в предложенном окне выбрать пункт "Новая база данных". Каталогом, в котором Access размещает файлы базы данных по умолчанию, обычно является папка "Мои документы". Access предложит имя новой базы данных (обычно, db1), но лучше изменить это имя и назвать базу данных Projects (Проекты). После нажатия кнопки "Создать" будет создана пустая база данных.
Основное окно Access содержит закладки, которые перечислены слева (рис. 2): таблицы, запросы, формы, отчеты, страницы, макросы и модули.
Создание таблиц производится в окне "Таблицы" с помощью конструктора или мастера. Мастер предлагает множество шаблонов таблиц, т.е. готовых наборов полей на разные случаи жизни. Но мы воспользуемся конструктором, вызвав его двойным щелчком левой клавиши "мыши". В окне конструктора (рис. 3) нужно ввести имена полей таблицы, выбрать тип каждого поля из списка типов (ниспадающий список в графе "Тип данных") и, если требуется, указать дополнительные параметры в закладках "Общие" и "Подстановка".
Рис. 2. Общий вид основного окна Access
В первую очередь создаются таблицы, на которые не ссылаются другие таблицы. В нашем случае это таблица ОТДЕЛЫ (Depart, рис. 3). Схема этой таблицы приведена в табл.1.
Таблица 1. Схема таблицы "Отделы" (Depart)
Поле
Название
Тип данных
Размер
Ограничения целостности
Номер отдела
Did
счетчик
длинное целое
первичный ключ
Название отдела
Name
текстовый
обязательное
Телефон
Phone
текстовый
В Access можно использовать русские названия таблиц и полей, но мы будем использовать латинский алфавит (для переносимости на другие платформы).
Рис. 3. Создание таблицы ОТДЕЛЫ (Depart)
Для каждой таблицы надо определить первичный ключ. (Можно не определять первичный ключ для тех таблиц, на которые не ссылается никакая другая таблица). Если таблица не имеет потенциальных ключей – полей, подходящих на роль первичного ключа (т.е. уникальных и обязательных), то вводится суррогатный первичный ключ: поле типа "Счётчик". Это специальный числовой тип Access, значения которого формируются автоматически, начиная с 1 и увеличиваясь по мере добавления новых записей в таблицу.
В нашем случае таблица ОТДЕЛЫ имеет такой потенциальный ключ: поле Номер отдела (did). Ограничение первичного ключа мы установим через меню, которое вызывается нажатием правой клавиши "мыши" при наведении курсора на поле did (пункт меню "Ключевое поле"). После этого слева от поля did появится значок "ключ" (рис. 3).
Для обязательных полей, которые не могут не иметь значений, нужно установить в закладке "Общие" флаг "Обязательное поле" – "Да" (для таблицы ОТДЕЛЫ это поле name – Название отдела). Параметр "Подпись" – это заголовок соответствующего столбца таблицы, который будет отображаться при просмотре и редактировании данных.
Внимание! Параметр "Подпись" в закладке "Общие" надо установить для всех полей каждой таблицы. Иначе при выводе данных на экран будут использованы внутренние названия полей.
При выходе из окна конструктора система предложит сохранить изменения структуры таблицы и ввести имя таблицы (Depart). После сохранения на основном поле окна "Таблицы" появится созданная таблица. Открыть таблицу для добавления данных можно двойным нажатием левой клавиши "мыши".
Следующей создаётся таблица СОТРУДНИКИ (Emp, рис. 4). Схема этой таблицы приведена в табл. 2. Желательно даже для одинаковых полей разных таблиц задавать разные имена, например, поле Телефон в таблице ОТДЕЛЫ называется phone, а в таблице СОТРУДНИКИ – tel. Тогда не возникнет проблем при создании отчётов по нескольким таблицам. (Исключение составляют внешние ключи, имена которых могут совпадать с именами соответствующих первичных ключей).
Таблица 2. Схема таблицы "Сотрудники" (Emp)
Поле
Название
Тип данных
Размер
Ограничения целостности
Номер сотрудника
Id
счетчик
длинное целое
уникальное
ФИО сотрудника
EName
текстовый
обязательное
Дата рождения
Born
дата
авто
обязательное
Пол
Sex
текстовый
значения 'м' или 'ж'
Номер отдела
Depno
числовой
длинное целое
обязательное
Должность
Post
текстовый
обязательное
Зарплата
Salary
числовой
длинное целое
обязательное
Паспортные данные
Passport
текстовый
обязательное
Телефон
Tel
текстовый
Адрес
Addr
текстовый
Рис. 4. Создание таблицы СОТРУДНИКИ (Emp)
Не забудьте установить ограничение "Ключевое поле" для номера сотрудника id.
Параметр "Условие на значение" позволяет описать ограничения, которым должно удовлетворять значение данного поля. Для поля Пол – это перечень возможных значений 'м' или 'ж' ('м' or 'ж').
Параметр "Значение по умолчанию" позволяет установить для поля то значение, которое ему будет присвоено, если при заполнении таблицы данными в это поле не будет введено никакое другое значение. Например, для поля Зарплата можно установить в качестве значения по умолчанию 10000.
Следующей создается таблица ПРОЕКТЫ (Project, рис. 5). Схема этой таблицы приведена в табл. 3.
Таблица 3. Схема таблицы ПРОЕКТЫ (Project)
Поле
Название
Тип данных
Размер
Ограничения целостности
Номер проекта
Id
числовой
длинное целое
уникальное
Название проекта
Title
текстовый
обязательное
Заказчик
Client
текстовый
обязательное
Шифр проекта
Agreement
текстовый
обязательное
Начало проекта
Dbegin
дата
авто
обязательное
Окончание проекта
Dend
дата
авто
обязательное
Стоимость проекта
Cost
числовой
длинное целое
обязательное
Номер отдела
Depno
числовой
длинное целое
обязательное
Рис. 5. Создание таблицы ПРОЕКТЫ (Project)
Не забудьте установить ограничение "Ключевое поле" для номера проекта pid.
Следующей создается таблица УЧАСТИЕ (Job, рис. 6). Схема таблицы УЧАСТИЕ приведена в табл.4.
Таблица 4. Схема таблицы УЧАСТИЕ (Job)
Поле
Название
Тип данных
Размер
Ограничения целостности
Номер проекта
Pid
числовой
длинное целое
обязательное
Номер сотрудника
Id
числовой
длинное целое
обязательное
Роль сотрудника в проекте
Role
текстовый
Обязательное; принимает значения: руководитель, консультант, исполнитель
Если количество значений поля ограничено, эти значения можно перечислить при создании таблицы. Например, поле Роль может принимать одно из трех значений: руководитель, консультант, исполнитель. Поэтому следует в закладке "Подстановка" выбрать тип элемента управления "Поле cо списком", установить тип источника строк "Список значений" и в поле "Источник строк" ввести список значений поля (рис. 6) в виде:
"руководитель"; "исполнитель"; "консультант"
Рис. 6. Создание таблицы УЧАСТИЕ (Job)
После создания всех таблиц требуется связать их внешними ключами в соответствии со схемой базы данных. Это выполняется в пункте меню Сервис –> Схема базы данных. Сначала система предлагает перенести на рабочее поле существующие таблицы с помощью кнопки "Добавить" (рис. 7).
Рис. 7. Перенос таблиц на схему базы данных
Потом добавления всех таблиц можно устанавливать связи (рис. 8). Для этого нужно навести курсор "мыши" на ключевое поле родительской таблицы (поле did таблицы Depart на рис. 8), нажать на левую клавишу и, не отпуская её, перевести курсор на то поле дочерней таблицы, которое является внешним ключом (поле depno таблицы Project на рис. 8). Затем отпустить клавишу. При этом появится окно "Изменение связей", в котором нужно установить флаг "Обеспечение целостности данных", а затем нажать кнопку "Создать".
Рис. 8. Создание связей таблиц на схеме базы данных
Аналогично создаются связи между таблицами Depart – Emp, Emp – Job и Project – Job. Окончательная схема базы данных приведена на рис. 9.
Рис. 9. Окончательная схема базы данных
Внимание! Связываемые поля разных таблиц должны иметь одинаковый тип данных, иначе система будет выдавать ошибку при попытке установить связь на схеме БД.
После создания схемы базы данных можно перейти на закладку "Таблицы" и двойным щелчком "мыши" на имени таблицы вызвать табличный редактор для ввода данных. Правильность значений внешних ключей всех таблиц будет проверяться системой автоматически.