- •Лабораторная работа № 1 Функции и режимы субд Access
- •Теоретические сведения
- •Основные функции субд Access
- •Основные режимы работы субд Access
- •Главное окно субд Access
- •Справочная система субд Access
- •Основные операции с базой данных и ее таблицами
- •Открытие, создание и закрытие базы данных
- •Создание, открытие, просмотр, печать и закрытие таблицы
- •Изменение данных в таблице и удаление таблицы
- •Использование запросов, форм, отчетов и страниц доступа к данным Запросы
- •Страницы доступа к данным
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 2 Создание базы данных средствами субд Access
- •Теоретические сведения
- •Создание таблицы с использованием Мастера таблиц
- •Создание таблицы в режиме конструктора
- •Связывание таблиц
- •Ввод информации в таблицы
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 3 Использование языка qbe для задания запросов к базе данных
- •Теоретические сведения
- •Создание и сохранение запроса
- •Добавление и удаление таблиц
- •Включение полей в запрос и их удаление из запроса
- •Выбор полей, отображаемых в таблице результатов
- •Выбор записей, включаемых в таблицу результатов
- •Выполнение запроса, просмотр и сортировка результатов
- •Формирование запросов к связанным таблицам
- •Итоговые запросы
- •Корректирующие запросы
- •Запрос на создание таблицы
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 4 Создание форм и страниц доступа к данным средствами субд Access
- •Теоретические сведения
- •Создание и сохранение формы
- •Модификация формы в режиме конструктора
- •Создание многотабличной формы
- •Создание кнопочной формы
- •Создание страниц доступа к данным
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 5 Создание отчетов средствами субд Access
- •Теоретические сведения
- •Структура отчета
- •Создание нового отчета
- •Создание сложных отчетов
- •Сохранение содержимого отчета
- •Корректировка формы отчета в режиме конструктора
- •Группировка и подведение итогов в отчетах с группировкой
- •Нумерация страниц и постраничный вывод групп записей
- •Создание отчетов анкетного типа и в виде этикеток
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 6 Проектирование базы данных средствами программы eRwin
- •Теоретические сведения
- •Назначение, возможности и особенности программы eRwin
- •Использование программы eRwin
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 7 Использование оператора select языка sql для доступа к базам данных Access
- •Теоретические сведения
- •Использование языка sql для выборки (чтения) данных
- •Отбор строк из таблиц
- •Where Скидка not between 5.00 and 10.00
- •Where Скидка is null
- •Where Скидка is not null
- •Составные условия поиска
- •Сортировка таблицы результатов запроса
- •Многотабличные запросы на чтение (соединения)
- •Итоговые запросы на чтение
- •Запросы с группировкой
- •Создание sql-запроса в Access
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 8 Использование объединяющих и вложенных запросов и корректирующих операторов языка sql
- •Теоретические сведения
- •Объединение результатов нескольких запросов
- •Вложенные запросы на чтение
- •Условия поиска с вложенным запросом
- •Внесение изменений в базу данных
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Литература
- •Содержание
Использование программы eRwin
Рассмотрим в качестве предметной области предприятие, в структуре которого имеются отделы, и спроектируем БД для хранения сведений о служащих, работающих в отделах, и их детях. Описание сущностей и связей между ними представлено на рис.5.
На ER-диаграмме атрибут ChiName (Имя ребенка) подчеркнут штриховой линией, чтобы указать на то, что по имени можно идентифицировать ребенка, только “подчинив” его служащему-родителю, т.е. ребенок является зависимой сущностью по отношению к служащему. (Сделать сущность РЕБЕНОК независимой можно, если пронумеровать всех детей и использовать их номера для однозначной идентификации.)
Для использования программы ERwin связь объектов, показанную на ER-диаграмме, необходимо представить в соответствии с методологией IDEF1X (см. табл.1), как показано на рис.6.
Полученная диаграмма описывается средствами ERwin и помещается в файл с расширением ER1. После выбора СУБД программа ERwin формирует физическую модель БД как совокупность взаимосвязанных таблиц. Для последующего использования БД удобнее, чтобы имена таблиц и атрибутов записывались латинскими буквами, поскольку не все СУБД допускают работу с кириллицей. В табл.3 приведено соответствие между именами логической и физической моделей и указаны типы атрибутов.
Чтобы описать сущности, входящие в логическую модель, показанную на рис.6, нужно выполнить перечисленные далее пункты.
1. На панели инструментов задать режим создания логической модели (Logical).
2. Командой File | New создать новую модель, выбрав в появившемся окне шаблон Blank Diagram и нажав кнопку ОК.
3. На палитре инструментов нажать кнопку .
4. В рабочем поле
диаграммы щелчком мыши разместить три
сущности и после этого нажать
кнопку
на палитре инструментов.
5. Курсором мыши указать на первую сущность в рабочем поле диаграммы, щелкнуть правой кнопкой мыши и выбрать из контекстного меню команду Entity Editor.
ОТДЕЛ
|
СЛУЖАЩИЙ |
РЕБЕНОК |
S Номер отдела (DepId)
|
S Табельный номер (EmpId)
|
S Имя (ChiName) |
(DepName) |
D ФИО (EmpName) |
S Дата рождения (Birthday) |
|
S Дата рождения (Birthday)
|
|
|
D Оклад (Salary)
|
|
|
D Должность (Post) |
|
ОТДЕЛ
|
СЛУЖАЩИЙ
|
РЕБЕНОК |
DepId, … |
EmpId, … |
ChiName, … |
Рис.5. Описание объектов и связей между ними
ОТДЕЛ |
СЛУЖАЩИЙ |
РЕБЕНОК |
Название отдела |
Табельный номер Р ФИО Дата рождения Оклад Должность |
Имя Дата рождения |
Рис.6. Логическая модель
Таблица 3
Cоответствие между именами логической и физической моделей
Имя |
Имя |
Тип |
|||
сущности |
таблицы |
атрибута |
столбца |
атрибута |
столбца |
ОТДЕЛ |
Department |
Номер отдела |
DepId |
Числовой |
Number |
Название отдела |
DepName |
Строковый |
String |
||
СЛУЖАЩИЙ |
Employee |
Табельный номер |
EmpId |
Числовой |
Number |
ФИО |
EmpName |
Строковый |
String |
||
Дата рождения |
Birthday |
Дата |
Datetime |
||
Оклад |
Salary |
Числовой |
Number |
||
Должность |
Post |
Строковый |
String |
||
РЕБЕНОК |
Children |
Имя |
ChiName |
Строковый |
String |
Дата рождения |
Birthday |
Дата |
Datetime |
||
6. В области Name диалогового окна Entity Editor набрать имя сущности Department, которое будет использоваться в модели вместо имени ОТДЕЛ.
7. На закладке Definition в одноименной области набрать определение сущности (Отдел предприятия) и нажать кнопку ОК.
8. Щелкнуть правой кнопкой на сущности Department и выбрать из контекстного меню команду Attribute Editor для описания атрибутов сущности.
9
Рис.7. Окно редактора
атрибутов
10. Нажать кнопку ОК для возврата в диалоговое окно Attribute Editor и на закладке General щелчком мыши установить признак Primary Key, чтобы отметить описанный атрибут как входящий в ключ сущности.
11. Описать атрибут Название отдела согласно табл.3, повторив пп. 9, 10, но без включения его в состав ключа сущности.
12. Нажать кнопку ОК в диалоговом окне Attribute Editor.
13. Чтобы имена атрибутов изображались кириллицей, нужно щелкнуть правой кнопкой мыши на сущности Department, выбрать из контекстного меню команду Object Font/Color, в появившемся окне (рис.9) на закладке Text выделить мышью имена атрибутов и выбрать подходящий шрифт (например, PEW Report или Consultant). После изменения шрифта у всех имен нажать кнопку ОК.
14. Описать сущности СЛУЖАЩИЙ и РЕБЕНОК согласно табл.3, выполнив действия, указанные в пп. 5 - 13, применительно к этим сущностям.
Примечание. Согласно принятым в IDEF1X соглашениям имя атрибута должно быть уникально в рамках модели. При попытке использовать уже описанное имя атрибута (например, Дата рождения в сущности РЕБЕНОК) ERwin формирует уникальное имя (Дата рождения/2). Отменить контроль уникальности имен атрибутов можно командой главного меню Option | Unique Name | Allow.
Чтобы задать связи между сущностями (см. рис.6), нужно выполнить указанные далее пункты.
1. Соединить сущность ОТДЕЛ и СЛУЖАЩИЙ неидентифицирующей связью: на палитре инструментов нажать кнопку со штриховой линией, щелкнуть мышью по сущности ОТДЕЛ, а затем по сущности СЛУЖАЩИЙ. Таким образом будет установлена связь “один ко многим”. При этом ключ сущности-родителя появится среди атрибутов сущности-потомка и будет помечен как внешний ключ (FK).
2
Рис.8. Окно описания
нового атрибута
3
Рис.9. Окно выбора
шрифта для имен
4. Задать мощность связи, щелкнув мышью по радиокнопке One or More (P) в области Cardinality.
5. Задать обязательный класс принадлежности для сущности-потомка СЛУЖАЩИЙ, щелкнув в области Relationship Type по радиокнопке No Nulls (служащий обязательно работает в каком-либо отделе).
Примечание. Расположенная в области Relationship Type радиокнопка Nulls Allowed соответствует необязательному классу принадлежности сущности-потомка и разрешает использование пустых значений NULL в качестве значений внешнего ключа, задающего связь служащего с отделом. На диаграмме такая “необязательная” неидентифицирующая связь помечается белым ромбом со стороны сущности-родителя. В физической модели, формируемой программой ERwin, такой связи двух сущностей соответствуют две таблицы, в одной из которых в столбце внешнего ключа будут пустые значения. Если наличие пустых значений недопустимо, то связь 1:N для сущности-потомка с необязательным классом принадлежности лучше заменить связью N:M, чтобы в физической модели информация о связях конкретных экземпляров сущности-родителя и сущности-потомка хранилась в отдельной таблице.
6. Нажать кнопку ОК в диалоговом окне Relationship Editor и проверить, появились ли на диаграмме имя связи и обозначение мощности связи. Если эти характеристики отсутствуют, то для их отображения следует щелкнуть правой кнопкой мыши по любому свободному месту диаграммы, в контекстном меню выбрать команду Display Options/Relationship и щелчком мыши отметить пункт Verb Phrase. Затем таким же способом отметить в контекстном меню пункт Cardinality. При необходимости изменить шрифт для имени связи.
7. Соединить сущности СЛУЖАЩИЙ и РЕБЕНОК идентифици-рующей связью: на палитре инструментов нажать кнопку со сплошной линией, щелкнуть мышью по сущности СЛУЖАЩИЙ, а затем по сущности РЕБЕНОК. Таким образом будет установлена связь “один ко многим”, сущность РЕБЕНОК будет изображена как зависимая, и ключ сущности-родителя появится среди атрибутов сущности-потомка, образующих ее ключ, и будет помечен как внешний ключ (FK).
Задать имя (имеет/принадлежит) и мощность (Р) связи так, как указано в пп. 2 - 4.
Д
Рис.10. Окно редактора
связей
Ч
Рис.11. Окно выбора
СУБД
1. В главном меню выбрать команду Server | Target Server, в появившемся диалоговом окне (рис.11) ознакомиться с перечнем СУБД (DBMS), поддерживаемых программой ERwin, затем щелчком мыши выбрать радиокнопку Access и нажать кнопку ОК.
2. В ответ на запрос о преобразовании типов данных нажать кнопку Yes.
3. Щелкнуть правой кнопкой мыши по таблице Department и выбрать в контекстном меню команду Column Editor для уточнения свойств столбцов таблицы.
4. В диалоговом окне Column Editor (рис.12) щелкнуть мышью по закладке Access, чтобы учесть особенности СУБД Access.
5. В области Column выделить столбец DepId и на закладке Access задать тип AutoNumber.
6. Нажать кнопку ОК для сохранения изменений.
В
Рис.12. Окно редактора столбцов таблицы
ыполнить пп. 3 - 6 для таблицы Employee, задав для столбца EmpId тип AutoNumber, а для столбца Salary тип Currency.
После этого создать БД для выбранной СУБД можно командой главного меню Tasks | Forward Engineering/Schema Generation. Эта команда активизирует диалоговое окно, в котором представлены режимы генерации объектов БД - таблиц, столбцов, индексов и т.д. Нажав кнопку Preview, можно вызвать окно, в котором отображаются операторы, формируемые программой ERwin для создания БД.
Создание БД запускается нажатием кнопки Generate. При этом появляется диалоговое окно, предназначенное для указания БД, в которой будут созданы таблицы. Протокол генерации схемы и создания БД отображается в окне Generate Database Schema. После создания БД нужно последовательно нажать кнопки ОК, Close, ОК в активных диалоговых окнах.

D Название
отдела
Номер
отдела Р