Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4_Лабораторные, контрольные и самостоятельные работы по информатике_2010

.pdf
Скачиваний:
180
Добавлен:
26.03.2016
Размер:
2.25 Mб
Скачать

Рис. 5.2. Создание таблиц Объекты и Затраты

Таблицы Работы и Организации создаются точно так же, как таблица

Объекты, только в таблице Организации больше полей.

3. Создание основной таблицы

Создание таблицы Затраты (см. рис. 5.2 – справа, внизу) требует допол-

нительных пояснений по поводу определения полей Код об, Код раб, Код орг.

Каждое из этих полей необходимо определить как поле со списком. На рис. 5.2

91

показано, как это сделано для поля Код об. После определения типа этого поля

(числовой) и уточнения его общих параметров (целое) с помощью вкладки

Общие, переходим на вкладку Подстановка – она показана на рисунке справа,

внизу. Здесь в полях со списком выбираем тип элемента управления (Поле со списком), тип источника строк (Таблица или запрос), источник строк (таблица

Объекты), присоединенный столбец (первый) и число столбцов в списке (2).

Надо указать также ширину столбцов и списка, например, 1; 7 см – столбцы, 8

см – весь список. Теперь при вводе данных в поле Код об (прямо в таблицу

Затраты или с помощью формы – рис. 5.3) можно не вспоминать коды объек-

тов, а выбирать их из списка, в строках которого содержатся и коды и названия.

Ведь мы включили в список поля Код об таблицы Затраты два столбца из таблицы Объекты, причем полю Код об таблицы Затраты соответствует именно первый (присоединенный) столбец таблицы Объекты. Для того чтобы список появился (см. рис. 5.1), надо просто щелкнуть мышью по стрелке у пра-

вого края поля Код об. Таким образом, Access предоставляет удобные средства для ввода и корректировки данных. Но еще удобнее для ввода данных в табли-

цу с большим числом полей использовать форму (см. форму Затраты на рис. 5.3). Созданию формы должно предшествовать создание схемы данных.

4. Создание схемы данных

Для создания схемы данных можно воспользоваться пунктом меню Сер-

вис/Схема данных или соответствующей кнопкой на панели инструментов. В

появившемся диалоговом окне надо выбрать таблицы, включаемые в схему.

После этого появится схематическое изображение таблиц в виде прямоуголь-

ников, содержащих список полей (см. рис. 5.3). После этого остается с помо-

щью мыши соединить поля Код об, Код раб, Код орг таблицы Затраты с

ключевыми полями других таблиц – на схеме появятся стрелки с указанием ти-

па связи (см. п. 5.2). Если по стрелке щелкнуть правой клавишей мыши, то всплывет меню, позволяющее изменить свойства связи: например, можно, вы-

брав метод Изменить связь, установить в очередном диалоговом окне флажок

Обеспечение целостности данных (см. п. 5.2). На рис. 5.3 схема данных изо-

бражена не в момент ее создания, а при создании запроса – схема данных ис-

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

92

Рис. 5.3. Использование формы для ввода просмотра и корректировки данных.

Формирование или корректировка запроса в режиме конструктора

5. Создание формы

На рис. 5.3 форма Затраты изображена справа, вверху. Если в таблице мы видим сразу много записей, то в форме видны поля только одной записи, но за-

то сразу видны все поля – даже если запись очень длинная. Кроме того, в форму

Затраты можно включить поля не только из таблицы Затраты, но и из дру-

гих таблиц, если, например, мы хотим видеть в форме не только коды (объекта,

93

вида работ, организации), но и соответствующие названия (см. рис. 5.3). Для этого и потребовалось перед созданием формы создать схему данных.

Для создания формы Затраты в окне базы данных выберем тип объекта –

Формы и нажмем кнопку Создание формы с помощью Мастера. После этого откроется диалоговое окно, позволяющее выбирать таблицы (или запросы), а из них – поля, включаемые в форму. Далее форма создается автоматически, почти без участия пользователя. При вводе данных с помощью формы для перехода к очередной, предыдущей, к первой или последней записи таблицы используется навигатор – как и при работе с таблицей. Важно понимать, что форма – это не самостоятельный информационный объект, а только удобный способ визуали-

зации записей таблиц, ввода в них данных и их корректировки. Конструкцию формы можно изменить после ее создания – в режиме конструктора. Например,

поля Объект, Работа, Организация можно передвинуть, поместив их рядом с соответствующими кодами, справа от них.

6. Создание запросов

Запросы создаются с целью отбора данных из таблиц по некоторым крите-

риям. Например, создадим запрос Затраты за период, содержащий данные о затратах за любой период, который выберет пользователь с помощью парамет-

ров Дата1 и Дата2. Чтобы создать запрос, в окне базы данных выберем тип объекта – Запросы и нажмем кнопку Создание запроса с помощью конструк-

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

не в полях со списками Имя таблицы и Поле надо выбрать поля, включаемые в запрос, ниже можно выбрать вариант сортировки записей и указать условия их отбора. Закрыв окно, можно запомнить созданный запрос. При его просмотре мы видим виртуальную таблицу (представление) [10], включающую только те данные, которые мы отобрали. Если изменить данные в исходных таблицах, то результат просмотра запроса также изменится.

Результаты запроса удобно использовать в качестве источника информа-

ции для составления отчета.

94

7. Формирование отчетов

На рис. 5.4 показан отчет Затраты по объектам за первый квартал 1998

года. В этот отчет включены данные из запроса Затраты за период. Отчет по-

лучен с помощью мастера отчетов. В окне базы данных надо выбрать тип объ-

екта – Отчеты и нажать кнопку Создать отчет с помощью мастера, далее выбрать запрос Затраты за период – в качестве источника данных.

Рис. 5.4. Типичный вид отчета, получаемого с помощью СУБД Access

95

После этого, делая выбор в предлагаемых диалогах, остается уточнить пе-

речень полей, включаемых в отчет, вариант группировки и сортировки записей,

вариант вывода итоговых строк и ориентацию страниц. Отчет в сочетании с за-

просом позволяет отобрать из базы данных требуемую информацию, сгруппи-

ровать итоговые записи (на рис. 5.4 группировка выполнена по объектам) и ав-

томатически получить итоговые строки. Отчет можно напечатать, выбрав пункт меню Сервис/Связи с Office/Публикация в Microsoft Office Word. Наконец, в от-

чет нетрудно внести редакционные изменения, но не в режиме создания с по-

мощью мастера отчетов, а в режиме конструктора. Так в нашем примере слово

Sum, которое процедура Мастер отчетов вставляет в итоговые строки, заме-

нено на слово Сумма. Вообще в режиме конструктора можно изменять и таб-

лицы, и формы, и запросы, и отчеты.

Лабораторная работа «Затраты» должна дать начальные навыки в области создания и последующего использования баз данных. В частности, эта лабора-

торная работа иллюстрирует правильную последовательность действий – пунк-

ты 1-7. Создание «украшений» базы данных, вроде кнопочной формы, легко освоить самостоятельно, используя пункт меню Сервис/Служебные програм-

мы/Диспетчер кнопочных форм. Впрочем, подобные «украшения» в большин-

стве случаев совершенно бесполезны. Иногда их применяют, чтобы «спрятать» от пользователя всю внутреннюю структуру базы данных – даже таблицы. А

это уже вредно и характерно для разработчиков, не сотрудничающих со спе-

циалистами в предметной области (пользователями базы данных), а относя-

щихся к ним с неоправданным высокомерием.

Дальнейшему развитию навыков в области создания баз данных должны способствовать самостоятельные работы, предлагаемые в п. 5.4.

5.4. Самостоятельные работы по созданию баз данных

Приведенные ниже самостоятельные работы могут быть использованы как курсовые. В этом случае, кроме базы данных в файле *.mdb, подготавлива-

ется пояснительная записка к базе данных в виде файла *.doc. Требования к ее оформлению – такие же, как требования к оформлению самостоятельной рабо-

96

ты по текстовому процессору Word (см. подраздел 3.6). Что касается содержа-

ния пояснительной записки, то не надо копировать в нее из Интернета и все-

возможных пособий общие сведения по базам данных – требуется краткое и яс-

ное описание своей базы данных: сформулировать ее назначение, перечислить задачи, которые она позволяет решать, описать таблицы и схему данных. Один раздел надо посвятить формам, запросам и отчетам, рассматриваемым в соот-

ветствующих подразделах. Желательно также, чтобы в пояснительной записке было введение, заключение и список литературы – соответствующие заголовки оформляются, как и названия разделов, в стиле заголовка первого уровня.

Кроме создания баз данных, для студентов, интересующихся программиро-

ванием, в качестве курсовых могут быть предложены работы, приведенные в главе 11 пособия [6].

Состав самостоятельной работы по созданию базы данных

Самостоятельная работа на создание и применение базы данных должна включать в себя:

1)Создание в режиме конструктора таблиц, указанных в варианте задания.

Сначала рекомендуется создавать вспомогательные (справочные) табли-

цы, затем основные. В основных таблицах обязательным является исполь-

зование полей со списками для ссылок на объекты, коды которых образу-

ют ключевые поля вспомогательных таблиц.

2)Создание схемы данных, установление связей между таблицами.

3)Создание форм для облегчения работы с основными таблицами.

4)Ввод данных в таблицы: во вспомогательные – не менее чем по 5 записей,

в основные – не менее чем по 15 записей.

5)1-2 запроса для базы данных; их надо спроектировать, используя "Конст-

руктор" и задавая условия отбора параметрами, а не значениями. В каче-

стве условий отбора в большинстве случаев подходит период времени (см.

лабораторную работу «Затраты»).

6)1-2 отчета по созданной базе данных; источником данных для отчета мо-

жет быть соответствующий запрос; записи в отчете д.б. сгруппированы;

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

97

Критерии оценки работ

Максимальная оценка (50) баллов уменьшается на 5-10 баллов в каж-

дом из следующих случаев:

1)Неэффективно определены типы и длины полей в записях таблиц, или же неправильно заданы значения по умолчанию. Например, код жанра определен как счетчик (длинное целое), а количество жанров очень невелико и для их кодирования достаточно одного байта. Или для ключевого поля задано значение по умолчанию, а, например, для даты продажи (отправки, выдачи) значение по умолчанию – текущая дата Date( ) – не задано.

2)Поля, содержащие ссылки на записи вспомогательных таблиц, не являются полями со списками или списки не удобны для работы с ними, например, не задана ширина столбцов. Ошибкой считается также использование SQL-запроса в качестве источника информации для формирования списка, когда это совсем не требуется – скажем, в список включаются первые два поля из одной таблицы. SQL-запрос применяется для формирования списка, если поля, образующие записи списка, надо извлекать из разных таблиц, или из одной, но это не первые, идущие подряд поля этой таблицы. Часто встречается еще одна ошибка: разработчик базы данных пытается скрыть от пользователя коды объектов, на которые ссылается основная таблица, показывая только названия. Между тем, именно пользователь обычно разрабатывает системы кодирования, и именно коды являются рабочим механизмом, связывающим таблицы. А вот в конечные документы – в запросы и отчеты – включаются как раз названия, а не коды.

3)Количество записей в таблицах не соответствует требованиям.

4)Отсутствует схема данных или в ней не установлен контроль ссылочной целостности (см. подраздел 5.2).

5)Отсутствует форма для ввода данных в основную таблицу или эта форма неудобна для ввода и просмотра данных. Например, для удобства просмотра записей в форму рекомендуется, кроме кодов в виде полей со списками, включать названия (но не заменять ими коды) – см. базу данных «Затраты».

6)Отсутствуют запросы для решения задач, либо запросы не является параметрически универсальными или содержат ошибки. Условия отбора записей должны задаваться в запросе параметрами, например, >= [Год1] AND < [Год2], а не значениями этих параметров: >= 1990 AND < 2008.

7)Отсутствуют отчеты или отчеты не содержит группировки данных и (или) итоговых строк по группам данных – см. рис. 5.4.

Далее приводятся варианты заданий. Выбор варианта – по согласованию с

преподавателем.

98

Варианты самостоятельных работ

Вариант 1. База данных "Делопроизводство"

Основные таблицы:

Входящие [Вх_номер, Код_типа, Документ, Код_орг, Исх_номер,

Отправитель, Дата_отпр, Код_отд, Получатель, Дата_получ]

Исходящие [Исх_номер, Код_типа, Документ, Код_отд, Отправитель,

Дата_отпр, Код_орг, Получатель]

Вспомогательные таблицы:

Типы документов [Код_типа, Тип_док]

Организации [Код_орг, Организация, Индекс, Город, Адрес, Телефоны, Факс,

Эл_почта]

Отделы [Код_отд, Отдел, Начальник, Телефоны]

В основных таблицах регистрируются входящие и исходящие документы;

типом документа может быть письмо, счет, акт, проект, отчет и т.п.; поле Доку-

мент содержит название документа, поле Организация - название организации,

поле Отдел - название отдела; под адресом организации понимается улица и номер дома.

Вариант 2. База данных "Архив предприятия"

Основные таблицы:

Документы [Арх_номер, Документ, Код_типа, Код_объекта, Код_орг,

Осн_автор, Год, Стр, Экз]

Журнал [Номер_записи, Арх_номер, Номер_экз, Код_отд, Сотрудник,

Дата_выдачи, Дата_возвр]

Вспомогательные таблицы:

Типы документов [Код_типа, Тип_док]

Объекты [Код_об, Объект]

Организации [Код_орг, Организация, Индекс, Город, Адрес, Телефоны, Факс,

Эл_почта]

Отделы [Код_отд, Отдел, Начальник, Телефоны]

99

В таблице Документы регистрируются документы, поступающие на хра-

нение в архив; для каждого документа указывается его архивный номер, назва-

ние, код типа, код объекта, которому посвящен документ, код организации, в

которой подготовлен документ, фамилия основного автора, год создания доку-

мента, число страниц в нем и количество экземпляров в архиве. В таблице

Журнал регистрируется выдача и возврат каждого экземпляра каждого доку-

мента с указанием кода отдела, в который выдан документ, и фамилии сотруд-

ника; типом документа может быть письмо, счет, акт, проект, отчет и т.п.

Вариант 3. База данных "Домашняя библиотека"

Основные таблицы:

Книги [Номер_книги, Название, Код_жанра, Код_темы, Код_издательства,

Автор, Год, Стр, Шкаф, Полка]

Журнал [Номер_записи, Номер_книги, Кому_дана, Дата_выдачи,

Дата_возвр]

Вспомогательные таблицы:

Жанры [Код_жанра, Жанр]

Темы [Код_темы, Тема]

Издательства [Код_изд, Издательство, Страна, Город]

В таблице Книги регистрируются книги домашней библиотеки. Таблица

Журнал предназначена для учета книг, данных друзьям и родственникам.

Вариант 4. База данных "Музыкальные записи"

Основные таблицы:

Произведения [Номер_произв, Название, Код_стиля, Композитор,

Исполнитель, Альбом, Год, Номер_носителя]

Журнал [Номер_записи, Номер_носителя, Кому_дан, Дата_выдачи,

Дата_возвр]

Вспомогательные таблицы:

Стили [Код_стиля, Стиль]

Носители [Номер_носителя, Тип_носителя, Полка]

100