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

Методичка_Контрольная работа №1 ИОСУ

.pdf
Скачиваний:
1
Добавлен:
31.01.2024
Размер:
2.04 Mб
Скачать

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

If … Then:

If Полина = "Ж" Then Поздравление = "С 8 марта!"

End if

Если условие, заданное выражением между ключевыми словами If и Then, выполняется, соблюдаются инструкции внутри блока, ограниченного ключевыми словами Then и End if. Иначе операторы между ключевыми словами не выполняются, а программа переходит к обработке оператора, который следует за ключевыми слова End if. В случае необходимости произвести два различных действия (одно при соблюдении условия, а второе – нет), надлежит воспользоваться полной формой оператора If:

If выражение Then Оператор1

Else

Оператор2

End if

Если условие соблюдается, выполняется Оператор1 (или группа операторов), расположенный между ключевыми словами Then и Else, а если не соблюдается – Оператор2 (или группа операторов), расположенный между ключевыми словами

Else и End if.

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

Select Case:

Select Case Город Case "Киев"

Код_МГТС = "044" Case "Москва"

Код_МГТС = "095" Case "Запорожье"

Код_МГТС = "061-2" Case Else

Print "Я не знаю такого города!"

End Select

При выполнении этого оператора проверяется значение переменной Город. В зависимости от результата проверки переменной Код_МГТС присваивается телефонной код некоторого города. Если значение переменной Город не совпадает ни с одним из значений, перечисленных в строках с ключевым словом Case, производится действие, указанное между ключевыми словами Case Else и

End Select.

Операторы цикла. Цикл используется для многократного повторения одной или нескольких инструкций. Количество повторений цикла связано с некоторым условием. В VBA предусмотрено несколько видов циклов. Простейшим примером циклической конструкции является цикл по счетчику:

For Счетчик = 1 To 10

Print Счетчик

Next Счетчик

Цикл по счетчику ограничивается ключевыми словами For и Next. После ключевого слова For указывается имя переменной, которая будет выполнять роль счетчика, после знака равенства – начальное значение счетчика, а после ключевого слова To – конечное значение счетчика.

Еще один вид цикла – Do While. Условие выполнения команд внутри такого цикла определяется некоторым условным оператором:

Do While Счетчик <> 10

Print

Loop

Разновидностью цикла Do является Until, который выполняется, пока условное выражение ложно:

Do Until Счетчик=10 Print

Счетчик=Счетчик+1

Loop

Макросы. Макросом называется набор из одной или более макрокоманд, выполняющих определенные операции. Выполнение макроса возможно:

из окна базы данных: на вкладке Макросы следует нажать кнопку Запуск;при возникновении определенного события некоторого объекта, например,

нажатие кнопки. В этом случае макрос выполняется автоматически.

Макрос является удобным средством выполнения простых задач, таких как открытие или закрытие форм, вывод на экран и скрытие панелей инструментов, запуск отчетов и т. д.

Макросу присваивается заданное пользователем имя. Если макросу присвоить стандартное имя, например, Autoexec, то такой макрос будет выполняться автоматически сразу же после загрузки MS Acces.

Макрос может состоять из одной или нескольких макрокоманд. Процедура создания макроса в основном состоит в выборе макрокоманд и определении их параметров. Для создания макроса следует:

в окне БД на вкладке Макросы нажать кнопку Создать;на панели макрокоманд в ячейке столбца Макрокоманда выбрать из

раскрывающегося списка имя макрокоманды;в ячейку столбца Примечание ввести текст комментария к макрокоманде

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

Имеющиеся в MS Access макрокоманды можно классифицировать по назначению следующим образом:

макрокоманды перемещения по данным;макрокоманды выполнения макроса, процедуры или запроса;макрокоманды прерывания выполнения;

макрокоманды экспорта-импорта;макрокоманды работы с объектами;прочие макрокоманды.

Макрокоманды выполняются в порядке их расположения в бланке. Однако MS Access позволяет задать условие выполнения определенных макрокоманд. Условие задается в столбце Условие (для вывода столбца следует выполнить команду Условие меню Вид) и представляет собой условное выражение. Условное выражение можно ввести с клавиатуры или задать с помощью построителя выражений. В ячейках столбца Условие нельзя использовать выражения SQL.

При запуске макроса проверяется значение каждого условного выражения. Если это выражение истинно, выполняется макрокоманда, находящаяся в той же строке, и все следующие макрокоманды, у которых в ячейках столбца Условие содержится многоточие (...). Если условное выражение ложно, MS Access проигнорирует эти макрокоманды и перейдет к ближайшей строке, в которой содержится новое условие или ячейка условий является пустой.

MS Access позволяет объединять группу родственных макросов в один макрос. В этом случае макет макроса (окно макроса в режиме конструктора) должен содержать столбец Имя макроса. Чтобы его вывести, следует выполнить команду Имена макросов меню Вид. Для запуска макроса из группы макросов следует указать: Имя Группы макросов. Имя Макроса.

ПРИМЕР ВЫПОЛНЕНИЯ КОНТРОЛЬНОЙ РАБОТЫ (ОТЧЕТА)

1. ЗАДАНИЕ Создать БД библиотеки. Ориентировочные таблицы-составляющие:

«Издательства», «Выдача книг», «Книги», «Авторы», «Читатели».

Создайте отчеты по запросам: «Книги, объем которых больше 100 страниц» (условная выборка); «Сводка количества книг по авторам» (итоговый запрос); «Книги, указанного издательства» (параметрический запрос); «Динамика чтения книг по годам» (перекрестный запрос), вывести общий список книг и авторов (запрос на объединение).

2. ЦЕЛИ И ЗАДАЧИ ПРОЕКТИРОВАНИЯ БД

Сформулируем оcновные общие цели проектирования БД:

хранение и обработка информации в электронном виде;

быстрое выполнение запросов;

удобное предоставление информации пользователям;

обеспечение целостности и непротиворечивости данных;

ведение электронного документооборота;

контроль за всей необходимой информацией;

защита данных;

организация совместной работы пользователей.

Выделим конкретные задачи, решаемые проектируемой БД:

ведение электронного каталога книг, авторов, издательств;

оформление электронной карты читателя;

контроль выдачи и возврата книг;

возможность поиска книг по темам;

получение и анализ различных статистических отчетов;

создание удобного интерфейса для читателей и библиотекарей.

3.ПОСТРОЕНИЕ ДИАГРАММЫ ПРЕДМЕТНОЙ ОБЛАСТИ (DFD)

На основе анализа предметной области, сформулированных задач и знаний о правилах построении DFD, создадим в Microsoft Visio диаграмму потоков данных для библиотеки.

Для этого, сначала выделим основные внешние сущности: директор библиотеки, библиотекарь, издательства, посетители. Таким образом, в качестве внешних, как правило, выступают основные действующие лица (пользователи), для которых разрабатывается БД и другие объекты реального мира, которые могут выступать поставщиками информации для проектируемых таблиц.

Затем определяем основные хранилища данных, то есть будущие таблицы БД, которые могут служить только приёмниками или источниками информации. Хранилища используются только вместе с соответствующими функциями

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

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

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

 

 

 

 

Информация об

 

Запрос отчета

ДИРЕКТОР

Договор

 

издательстве

ИЗДАТЕЛЬСТВА

 

Оформление

 

Отчет

БИБЛИОТЕКИ

 

 

 

 

договоров на

 

 

 

 

Запрос о поставке

 

 

 

 

приобретении книг

 

 

 

 

 

 

отчет

 

 

 

 

Администрирование

 

 

 

ИЗДАТЕЛЬСТВА

работы библиотекарей

 

Администрирование

 

 

 

 

 

 

 

 

 

 

 

 

фондов библиотеки

 

 

 

 

 

 

 

Данные об

 

Запрос отчета

 

 

издательстве

 

 

 

 

 

 

 

 

Добавление новых

 

БИБЛИОТЕКАРЬ

 

 

книг и авторов

Данные об

 

 

 

 

 

 

 

 

Данные о

 

авторах

 

 

 

 

 

Данные о

ВЫДАЧА КНИГ

книгах

 

 

 

 

 

 

 

 

 

 

заказе

 

 

 

 

 

 

 

Оформление

 

 

выдачи книги

 

Оформление

Информация о

 

читателе

 

читателя

 

Данные о

 

 

Читательский билет

Запросо записи

читателе

ЧИТАТЕЛИ

 

 

Результат поиска

ПОСЕТИТЕЛИ

Интересующая

тема

КНИГИ

АВТОРЫ

 

Данные о книге

Ведение

электронного каталога тем

Поиск книг по

запрос

ТЕМЫ

электронному

 

каталогу тем

ответ

 

Рис. 1. Пример диаграммы потоков данных

4. СОЗДАНИЕ ДИАГРАММЫ «СУЩНОСТЬ-СВЯЗЬ»

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

Исходя из того, что схема данных в СУБД MS Access, практически полностью соответствует нотациям Гейна-Сарсона для построения ER-модели, воспользуемся ее для отображения логической модели для библиотеки.

Пример построения ER-модели для БД библиотеки (рис. 2).

Рис. 2. Пример ER-модели (в нотациях Гейна-Сарсона)

В данном случае, между выдачей книг и книгами установлена связь «один ко многим», то есть за один раз читатель может взять только одну книгу, что, скорее всего, не соответствует работе реальной библиотеки и будет приводить к необходимости дублировать в каждой записи о выдаче код читателя и дату заказа, но для простоты будем полагать, что наша библиотека работает только так: за один раз можно взять только одну книгу.

Также можно отметить, что в реальности между авторами и книгами также существует связь «многие ко многим», что данная модель не учитывает.

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

Так, например, можно установить:

1.проверку на сравнение вводимых данных с конкретным значением (год издания не позднее 2000 года);

2.проверку на принадлежность указанному диапазону (объем книги от 50 до 2000 страниц);

3.проверку на соответствие шаблону (телефон +375(хх) ххх-хх-хх);

4.проверку на принадлежность диапазону значений (город издательства Москва, Киев, Минск или Астана);

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

СТРУКТУРА ТАБЛИЦ В MS ACCESS С УСТАНОВЛЕНИЕМ ОГРАНИЧЕНИЙ НА ЗНАЧЕНИЯ АТРИБУТОВ

Например, создание таблицы читатели с ограниченем в виде соответствия шаблону будет выглядеть следующим образом:

Рис. 3. Создание таблицы читатели в конструкторе

В отчет анологичным образом включаются все таблицы и ограничения.

СХЕМА ДАННЫХ В MS ACCESS

После создания и сохранения всех таблиц в MS Access, перейти на вкладку Работа с базами данных и открыть схему данных. В меню правой кнопки мышки выбрать Добавить таблицы и внести все таблицы на схему:

Рис. 4. Добавление таблиц на схему данных

После добавления таблиц на схему устанавливаются связи в соотвестсвии с ERD. Для этого необходимо мышкой перетащить родительское ключевое поле к полю дочерней таблицы, предназначенному для установления связи. При перетаскивании открывается окно свойст связи. Например, на рис. 5 показано создание связи между Авторами и Книгами. Наличие «галочек» для обеспечения целостности данных в появившемся окне свойств обязательно. Если они не

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

Рис. 5. Создание связи на схеме данных

Только после завершения создания связей, в таблицы можно вводить данные. Сначала необходимо заполнить все родительские таблицы и только потом добавлять записи в дочерние. В таком случае удобно воспользоваться раскрывющимся списком слева от кода автора (рис. 7)

Рис. 6. Заполнение родительской таблицы Авторы

Рис. 7. Заполнение дочерней таблицы Книги

КОНСТРУКТОРЫ ЗАПРОСОВ (ВСЕГО 10 ЗАПРОСОВ)

1. «Книги, объем которых больше 100 страниц» (условная выборка);

Рис. 8

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

2. «Сводка количества книг по авторам» (итоговый запрос);

Рис. 9

Для вывода информации в итоговых запросах, как правило, применяется сортировка.

3. «Книги, указанного издательства» (параметрический запрос);

Рис. 10

4. «Динамика чтения книг по годам» (перекрестный запрос);

Рис. 11

5. вывести общий список книг и авторов (запрос на объединение);

Рис. 12

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

Рис. 13

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