НИНХ лабораторные Access 2007





Г.А. Клочков




Разработка приложений с помощью
ACCESS 2007

Учебное пособие














Новосибирск – 2012





Клочков Г.А. Разработка приложений с помощью ACCESS 2007. Учебное пособие для студентов специальности 080801.65 «Прикладная информатика (в экономике)» – Новосибирск:, 2012. – 184 с.



Рецензенты: В.И. Мейкшан, д-р физ.-мат. наук, проф., СибГУТИ
В.В. Аксенов, д-р физ.-мат. наук, проф., СибУПК



Рассматриваются этапы создания приложений баз данных в файл –сервисной архитектуре. Описывается работа в Microsoft Access 2007. На примере небольшой, но реальной базы данных показан процесс создания Access-приложения. Даны варианты заданий на разработку прикладного программного обеспечения.
Учебное пособие предназначено для студентов экономических специальностей по курсу Информатика.











Введение
Система управления базами данных (СУБД) Access – это набор инструментов конечного пользователя для управления базами данных.
Но Access можно рассматривать и как среду разработки приложений. Используя макросы или модули для автоматизации решения задач, можно создавать ориентированные на пользователя приложения для многих экономических и управленческих задач.
По данным компании Microsoft, до 2010 года в мире продано более 100 миллионов копий Access всех версий, что дает основание считать эту СУБД самой популярной системой управления базами данных для персональных компьютеров.
В данном учебном пособии рассмотрены возможности Access 2007 на примере автоматизации задачи Реализация товаров для фирмы, осуществляющей оптовую торговлю.

Тема 1. Знакомство с оболочкой Access
Запуск программы
Запуск программы через стартовое меню Windows. Запустите Microsoft Access 2007 на вашем компьютере. Для этого нажмите кнопку Пуск и выберите в появившемся меню пункт Все программы/13 LINK Word.Document.8 "D:\\Access Новое пособие\\Тема1.doc" OLE_LINK2 \a \r \* MERGEFORMAT 14Microsoft15 Office/13 LINK Word.Document.8 "D:\\Access Новое пособие\\Тема1.doc" OLE_LINK3 \a \r \* MERGEFORMAT 14Microsoft Access 2007.15 На экране появится стартовое окно с названием Microsoft Access. В этом окне можно создать новую пустую базу данных, создать базу данных с помощью шаблона или открыть одну из последних баз данных, с которыми уже велась работа.
Запуск программы через файл базы данных.
Есть и другой способ запуска программы Access, который заключается в запуске через файл базы данных. Некоторые типы файлов, в том числе файлы Access, привязываются к своей программе автоматически. Цель подобной фиксации проста: обеспечить запуск обрабатывающей программы после выполнения двойного щелчка на файле данных. Такой запуск обрабатывающей программы сопровождается загрузкой в нее указанного файла данных.
Преимуществом способа организации баз данных, принятого в Access, является то, что все файлы, относящиеся к одному проекту (базе данных), – таблицы, формы, запросы и т.п. – сохраняются в одном файле.
Если база данных была создана вами недавно или использовалась в последнее время, для запуска программы Access следует нажать кнопку Пуск и в открывшемся стартовом меню выбрать опцию Недавние Документы, содержащую список последних документов, с которыми вы работали. Останется только выбрать необходимый документ (базу данных) и выполнить щелчок мышью.
Оболочка Access
После запуска программы Access на экране появится прикладное окно Access (рис.1.1).





Рис. 1.1. Диалоговое окно создания или открытия базы данных
В левой части стартового окна располагается список ранее открывавшихся баз данных, а в центре - комплект профессионально разработанных шаблонов для создания базы данных, который помогает сократить время и обеспечивает быстрый доступ к средствам для начала работы.
В правой части окна располагаются средства для создания собственной базы данных "с нуля".
В тех случаях, когда база данных уже существует, но не попала в список ранее открывавшихся баз данных, следует выбрать кнопку Открыть последнюю базу данных с помощью пункта Другие и из списка приведенных баз данных выбрать соответствующую.
Создание новой базы данных
Задание 1. Создайте новую базу данных.
Для этого вначале определитесь с именем файла базы данных и папкой, в которой он будет расположен.
Щелкните по кнопке Новая база данных, задайте имя БД и место сохранения БД. Строка для ввода имени файла и поиска папки, в которую он будет помещен, находится в правом нижнем углу окна.
Будет создана новая база данных и одновременно открыта таблица Таблица1 в режиме таблицы (рис. 1.2).


Рис.1.2. Окно новой базы данных
Создание таблиц будет рассмотрено в следующей теме.
Закройте окно Microsoft Access и удостоверьтесь, что база данных получила свое название и законное место на жестком диске.
Окно базы данных
Самый важный элемент окна Microsoft Access 2007 называется Лентой. Это широкая полоса, находящаяся в верхней части окна программы, на которой расположены группы команд. На ленте имеются все команды, которые необходимы как для создания баз данных и приложений, так и для работы с ними.
Команды на ленте сгруппированы во вкладки – Главная (рис. 1.3), Создание (рис. 1.4), Внешние данные и Работа с базами данных (рис.1. 5). Каждая вкладка содержит группу связанных команд, которые могут открывать другие новые элементы интерфейса.


Рис. 1.3. Вкладка Главная

13 LINK Word.Document.12 "C:\\Documents and Settings\\Администратор\\Рабочий стол\\Тема1.doc" "OLE_LINK6" \a \r \* MERGEFORMAT 14Рис. 1.4. Вкладка Создание
15
13 LINK Word.Document.12 "C:\\Documents and Settings\\Администратор\\Рабочий стол\\Тема1.doc" "OLE_LINK7" \a \r \* MERGEFORMAT 14Рис. 1.5. Вкладка Работа с базами данных
15Иногда в процессе работы требуется выделить на экране дополнительное пространство для работы. В таких случаях можно свернуть ленту и оставить только строку с вкладками команд. Сворачивание (разворачивание) ленты является процессом обратимым.
Свернуть ленту можно с помощью команды Свернуть ленту в раскрывающемся списке Настройка панели быстрого доступа, эта кнопка расположена в левом верхнем углу окна Microsoft Access и на рис. 1.6 выделена овалом).

13 LINK Word.Document.12 "C:\\Documents and Settings\\Администратор\\Рабочий стол\\Тема1.doc" "OLE_LINK7" \a \r \* MERGEFORMAT 14Рис. 1.6. Кнопка Настройка панели быстрого доступа
15
В окне базы данных осуществляются все операции обработки входящих в базу объектов, список которых отображен в поле под названием Область навигации, находящемся в левой части окна (рис. 1.2).
При необходимости ширину 13 LINK Word.Document.12 "C:\\Documents and Settings\\Администратор\\Рабочий стол\\Тема1.doc" "OLE_LINK5" \a \r \* MERGEFORMAT 14Области навигации15 можно изменять (рис. 1.7).
При создании новой базы данных список объектов будет естественно пустым.


Рис. 1.7. Окно базы данных с минимизированной областью навигации
С окном базы данных можно выполнять такие же манипуляции, как и с любым другим окном Windows.
В базу данных программы Microsoft Access могут входить разнородные объекты. Список объектов в Области навигации структурирован по категориям (типам) объектов (рис. 1.8).


Рис. 1.8. Область навигации базы данных, содержащей множество объектов
Ниже приведены основные типы объектов базы данных MS Access.
Таблицы
Набор записей базы данных удобно представлять в виде таблиц. В этих записях (строках таблицы), состоящих из отдельных полей, и хранится информация, составляющая содержимое базы данных.
Запросы
Запросы служат для селекции или фильтрации набора данных. Они позволяют выбрать из базы данных только необходимую информацию, то есть ту информацию, которая соответствует определенному критерию (условию).
Формы
Форма представляет собой бланк, подлежащий заполнению, или маску, накладываемую на набор данных. Бланк-форма позволяет упростить процесс заполнения базы данными, благодаря чему появляется возможность поручить ввод информации персоналу невысокой квалификации. Маска-форма позволяет ограничить объем информации, доступной пользователю, обращающемуся к базе.
Отчеты
Как правило, выбранная из базы информация должна быть представлена в виде распечатки - отчета, оформленного соответствующим образом. Доступные способы оформления информации в отчетах Microsoft Access весьма разнообразны и эффективно используют технологические возможности как оболочки Windows, так и современных принтеров.
Макросы
Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции. Макросы могут быть полезны для автоматизации часто выполняемых задач.
Модули
Модуль – это совокупность процедур, собранных вместе и составляющих самостоятельную программную единицу на языке VBA (Visual Basic for Applications).
Тема 2. Проектирование таблиц базы данных
Создание базы данных
В качестве примера разработки средствами Access 2007 базы данных выбрана задача Реализация товаров для фирмы, осуществляющей оптовую торговлю мебелью. Поясним содержательный смысл этой задачи. Назначением задачи Реализация товаров является управление технологическим процессом оптовой реализации товаров, в том числе – формирование заказов оптовых покупателей, печать счетов-фактур и формирование книги продаж.
В фирме имеется товар на базе, который поставляют поставщики. Входной информацией для комплекса задач Реализация товаров являются сведения о заказе, который составляет покупатель и с которым в дальнейшем работает менеджер по продажам.
В реляционной модели объекты реального мира и взаимосвязи между ними представляются с помощью совокупности связанных между собой сущностей. В нашем случае можно выделить следующие взаимодействия сущностей друг с другом:
Покупатель сообщает Сведения о заказе,
Менеджер оформляет Сведения о заказе,
Сведения о заказе содержат Заказ на товар,
Поставщик поставляет Товар на базе,
Товар на базе включается в Заказ на товар.
Принято графически изображать связи между сущностями и обозначать их глаголами (рис. 2.1). Заметим, что в проектировании информационных систем такие модели называются моделями «сущность – связь» или ER-моделями (от англ. Entity – сущность, Relationship – связь).
Рис. 2.1. ER-модель базы данных
Для каждой выделенной в предметной области сущности нужно создать таблицу: Товар на базе, Поставщик, Покупатель, Сведения о заказе, Заказ на товар и Менеджер. Для каждой таблицы ниже определяются атрибуты, которые идентифицируют каждый объект, определены первичные ключи для каждой из таблиц.
Основным выходным документом комплекса задач Реализация товаров является счет-фактура. При формировании счета-фактуры производится корректировка оперативных товарных остатков в реальном времени. Вначале для каждого заказанного товара проверяется, имеется ли на базе нужное количество этого товара. Если такое количество товара есть, то в таблице Товар на базе остаток товара уменьшается на заказанное количество. Если же покупатель заказал товар в количестве большем, чем имеется на базе, то, вначале корректируется заказ покупателя (заказ на этот товар уменьшается и делается равным остатку этого товара на базе), а уже затем корректируется остаток этого товара в таблице Товар на базе.
После печати счета-фактуры сведения о реализованных данному покупателю товарах будут регистрироваться в таблице Книга продаж, а таблица Заказ на товар очищается.
Данный вариант задачи Реализация товаров позволяет автоматизировать печать счетов-фактур на отпуск товаров со складов фирмы и автоматически формировать таблицу Книга продаж.
Однако этот минимальный вариант задачи позволяет, тем не менее, легко получать решение других задач автоматизации.
Так, например, на основе Книги продаж в конце рабочего дня можно выдавать реестр выписанных за день счетов-фактур и сводный отборочный лист на комплексную отборку товаров.
По запросу система может также выдавать оперативные товарные запасы, сведения о продажах товаров за определенный период, прайс-листы, инвентаризационные описи для проведения инвентаризации, сведения о неудовлетворенных заказах и т.п.
Опишем функционирование комплекса задачи Реализация товаров.
В течение рабочего дня менеджер по продажам работает с несколькими покупателями и сеанс работы с каждым заканчивается выпиской счета-фактуры. Этот режим реализован в пункте меню Работа с клиентом, где одновременно с выпиской счета-фактуры происходит корректировка оперативных товарных остатков в таблице Товар на базе и накопление сведений о реализованных товарах в таблице Книга продаж.
Создание таблиц
Существует несколько способов создания таблиц в MS Access 2007:
создание новой пустой таблицы;
создание таблицы на основе списка на узле SharePoint;
создание таблицы при помощи конструктора.
Для создания новой пустой таблицы выберите на второй вкладке ленты Создание пункт Таблица (рис. 2.2).



Рис. 2.2. Создание новой пустой таблицы
На экране появится новая пустая таблица (рис. 2.3). В ней два столбца: Код и Добавить поле. Поле Код является ключевым, и будет автоматически заполняться при добавлении записей. Замените название столбца на свое, так можно начать создавать таблицу.



Рис. 2.3. Новая пустая таблица
Второй способ создания таблицы на основе списка на узле SharePoint (вкладка Создание) позволяет воспользоваться шаблонами при создании своей таблицы.
Третий способ создания таблицы – с помощью конструктора, рассмотрим его подробнее. Для этого на вкладке Создание выбрать пункт Конструктор таблиц.
Приступая к созданию таблицы, необходимо иметь ответы на ряд вопросов.
Как будет называться таблица?
Как будут называться столбцы (поля) таблицы?
Какие типы данных будут закреплены за каждым столбцом?
Какие столбцы таблицы требуют обязательного ввода?
Из каких столбцов будет состоять первичный ключ?

Задание 1. В режиме конструктора (рис. 2.4) спроектируйте таблицу Менеджер, которая будет хранить информацию о сотрудниках фирмы. Задайте ключевое поле этой таблицы. Обратите внимание на свойства полей.


Структура таблицы Менеджер
Имя поля
Тип данных
Примечание

Код менеджера
Текстовый *)
Ключевое поле (PK)

Фамилия
Текстовый


Имя
Текстовый


Отчество
Текстовый


Дата рождения
Дата/время


Фотография
Объект OLE


Дата приема на работу
Дата/время


Наличие водительского удостоверения
Логический


Характеристика
МЕМО



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


Рис. 2.4. Таблица Менеджер в режиме конструктора

Определение полей таблицы
Проектирование таблицы заключается в определении полей. Каждое поле имеет определенный тип данных, длину и уникальное имя, которое идентифицирует хранящуюся в этом поле информацию.
В столбце Имя указывается имя соответствующего поля (не более 64 знаков, допускаются все специальные знаки за исключением точки, восклицательного знака и квадратных скобок). Лучше в именах использовать латинские буквы и не применять пробелы! Однако для удобства восприятия мы в этом пособии не будем следовать этому совету.
Для каждого поля определяется тип данных, который может быть выбран из раскрывающегося списка столбца Тип данных. Access различает следующие типы данных:
текстовый – размер до 255 символов;
МЕМО – текст комментариев до 65 535 знаков;
числовой – числа различных форматов;
дата/время – формат определен в графе Формат поля;
денежный – денежные значения различных форматов;
счетчик – значение этого поля автоматически увеличивается на единицу после добавления новой записи;
логический – содержит логические значения НЕТ (значение 0) и ДА (значение -1);
объект OLE – поля, позволяющие хранить объекты, сформированные в других приложениях;
гиперссылка – адрес объекта, документа или Web-узла в сети Internet или в локальной сети.
Задание свойств полей
Каждое поле имеет ряд свойств, которые можно определить. Заметим, что для разных типов данных набор свойств отличается. При конструировании таблицы нет необходимости задавать все свойства полей, их можно не определять до тех пор, пока в этом не возникнет настоятельной необходимости. Но, чтобы полностью использовать потенциал Access, вы должны при работе с программой держать «в уме» возможность применения того или иного свойства.
Указание свойств производится в нижней части окна Конструктора таблицы, где на вкладке Общие могут быть определены следующие свойства:
Размер поля;
Формат поля;
Число десятичных знаков;
Маска ввода;
Подпись (обозначение поля при распечатке документов, по умолчанию берется имя поля);
Значение по умолчанию (автоматически вводится по умолчанию), например, в таблице Заказ на товар в поле Дата заказа можно ввести значение по умолчанию DATE() и тогда по умолчанию будет вводиться сегодняшняя дата;
Условие на значение (выражение, которое устанавливает ограничение значения при вводе);
Сообщение об ошибке;
Обязательное поле (определяется, обязательно ли вводить данное в это поле);
Пустые строки;
Индексированное поле (определяется, надо ли индексировать поле).

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

Сохранение на диске структуры таблицы
После занесения данных обо всех полях таблицы просто закройте окно конструктора. Появится диалоговое окно, запрашивающее подтверждение на сохранение структуры таблицы. Затем вместо названия Таблица1 введите имя таблицы Менеджер.
В созданную таблицу можно добавлять поля, изменять их, удалять.

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

Структура таблицы Сведения о заказе

Имя поля
Тип данных
Примечание

Код заказа
Счетчик
Ключевое поле (PK)

Код покупателя
Текстовый


Код менеджера
Текстовый


Дата заказа
Дата/время



Задание 3. В режиме Конструктора спроектируйте таблицу Покупатель

Структура таблицы Покупатель

Имя поля
Тип данных
Примечание

Код покупателя
Текстовый
Ключевое поле (PK)

Наименование покупателя
Текстовый


Фамилия руководителя
Текстовый


Город
Текстовый


Адрес
Текстовый


Телефон
Текстовый


Электронная почта
Текстовый


ИНН
Текстовый


Расчетный счет
Текстовый


Банк
Текстовый




Создание связей между таблицами.
Access является реляционной базой данных (от relation – отношение). В таких базах данных специфически сгруппированные данные можно хранить в разных таблицах и задавать связи между ними, соединяя их в единую базу. Для установления связей нужно выполнить следующие шаги.
1. Сделайте активной вкладку Работа с базами данных ленты главного окна Aссess. Выберите пиктограмму Схема данных.
2. Выполните щелчок правой кнопкой мыши в любом свободном пространстве окна Схема данных.
3. Выберите пункт Добавить таблицу. Выберите последовательно таблицы, которые хотите связать, нажмите после каждого выбора кнопку Добавить. Проделайте это для всех связываемых таблиц, нажмите кнопку Закрыть (рис.2.6).
В окне Схема данных находятся все выбранные вами таблицы с указанием полей.
4. Для формирования связи необходимо перетащить ключевое поле из главной таблицы поле из одной таблицы на поле другой. Поля, для которых устанавливаются связи, должны содержать общую информацию, при этом названия полей могут не совпадать, но обязательно должны совпадать типы данных и размеры этих полей. Появится диалоговое окно Изменение связей (рис. 2.7).
«Главной» становится та таблица, из которой вы перетаскиваете поле, «подчиненной» – таблица, куда вы его перетаскиваете. С содержательной точки зрения значение в связующем поле главной таблицы однозначно определяет запись в подчиненной таблице.
5. Установите флажок Обеспечение целостности данных, нажмите кнопку Создать.
6. Если поставить флажок Каскадное обновление связанных полей (рис. 2.7), то при изменении Кода покупателя в главной таблице Покупатель автоматически изменится код этого покупателя во всех записях таблицы Заказ на товар.
Если поставить флажок Каскадное удаление связанных полей (рис. 2.7), то при удалении из таблицы Покупатель сведений о каком-то покупателе автоматически удалятся заказы этого покупателя из таблицы Заказ на товар.
7. После создания связи вы окажитесь в окне Схема данных, где графически изображены связи (рис. 2.8). Переместите таблицы в окне и посмотрите, как вместе с ними перемещаются связи. Созданные связи являются связями типа «один-ко-многим».
8. Закройте окно Схема данных, созданная схема данных будет сохранена и проявит себя при работе с базой данных.

Задание 4. Установите связи между таблицами Покупатель, Менеджер и Сведения о заказе.
В качестве главной таблицы выберите таблицу Покупатель и свяжите ее с таблицей Сведения о заказе по полю Код покупателя, а затем таблицу Менеджер по полю Код менеджера свяжите также с таблицей Сведения о заказе (две «главные» таблицы и одна «подчиненная»).


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


Рис 2.7. Создание связи между таблицами Покупатель и Сведения о заказе


Рис. 2.8. Связи между тремя таблицами базы данных

Задание 5. В режиме конструктора спроектируйте таблицы Товар на базе, Заказ на товар и Поставщик.


Структура таблицы Товар на базе

Имя поля
Тип данных
Примечание

Код товара
Текстовый
Ключевое поле (PK)

Код поставщика
Текстовый


Наименование товара
Текстовый


Цена
Денежный


Остаток товара
Числовой



Структура таблицы Заказ на товар

Имя поля
Тип данных
Примечание

Код заказа
Числовой


Код товара
Текстовый


Количество
Числовой



Структура таблицы Поставщик

Имя поля
Тип данных
Примечание

Код поставщика
Текстовый *)
Ключевое поле (PK)

Наименование поставщика
Текстовый


Фамилия руководителя
Текстовый


Страна
Текстовый


Город
Текстовый


Адрес
Текстовый


Телефон представительства
Текстовый


Электронная почта
Текстовый


ИНН
Текстовый


Расчетный счет
Текстовый


Банк
Текстовый


Сайт
Текстовый



Содержимое таблицы Поставщик представлено в Приложении Б.
Задание 6. Установить связи между всеми таблицами нашей базы данных базы данных (рис. 2.9).

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

Задание 7. В режиме конструктора спроектируйте таблицу Книга продаж, в которой будут накапливаться сведения о проданных товарах.
Структура таблицы Книга продаж
Имя поля
Тип данных
Примечание

Номер п/п
Счетчик
Ключевое поле (PK)

Номер счета-фактуры
Числовой


Дата
Дата/время


Код покупателя
Текстовый


Код товара
Текстовый


Количество
Числовой


Цена
Денежный


Стоимость продаж
Денежный





Вопросы и упражнения
1. Чем характеризуются реляционные базы данных?
2. Объясните, какой содержательный смысл имеют отношения типа «один-к-одному», «один-ко-многим» и «многие-ко-многим». Приведите примеры таких связей.
3. Что обозначают значки «1» и «(» над стрелками в Схеме данных?
4. Поясните содержательный смысл связей между таблицами базы данных (рис. 2.9).
5. Как понимать Каскадное обновление связанных полей и Каскадное удаление связанных полей?
6. При проектировании таблицы Менеджер нами были использованы три поля: Фамилия, Имя, Отчество. А если использовать вместо этого только одно поле ФИО? Почему это плохо?
7. Предположим, что руководство фирмы решило иметь информацию о детях менеджеров (именах, фамилиях и датах рождения каждого ребенка). Как это сделать в существующей базе данных? Предложите свое решение.
8. Разработать фрагмент предметной области «Университет» и задать его графически в виде ER-модели (рис. 2.1). Использовать сущности: «Студент», «Группа», «Специальность», «Институт (факультет)», «Учебная дисциплина».
9. Какого типа отношения существуют между сущностями:
«Группа» и «Студент» ,
«Группа» и «Специальность»,
«Специальность» и «Институт (факультет)»,
«Специальность» и «Учебная дисциплина»?
10. Между сущностями «Студент» и «Учебная дисциплина» существует отношение типа «многие- ко-многим», обоснуйте это утверждение. Предложите агрегированную сущность, которая устранит этот нежелательный тип отношений.


Тема 3. Ввод и редактирование записей
Ранее нами были созданы таблицы в режиме Конструктор, в этом режиме можно вносить изменения в структуру таблицы, добавлять новые поля, переименовывать их, удалять, изменять свойства полей.
Если же открыть таблицу в режиме Таблица, то можно в эту таблицу вводить непосредственно данные, в этом же режиме можно просматривать данные, корректировать их.
Для перехода между режимами Конструктор и Таблица служит кнопка Режим на вкладке Главная. Также для перехода между режимами Конструктор и Таблица можно использовать контекстное меню, вызываемое правой кнопкой мыши.
Данные в таблицу можно вводить непосредственно, можно импортировать из внешних источников данных, можно вводить и просматривать через форму.
Ввод данных непосредственно в таблицу
Для открытия таблицы в режиме ввода данных достаточно выполнить двойной щелчок по названию таблицы в Области навигации объектов базы данных.
Задание 1. Введите данные в таблицу Поставщик.

Поставщик
Код поставщика
Наименование поставщика
Фамилия руководителя
Страна
Город
Адрес
Телефон представительства
ИНН
Расчетный счет
Банк

110
"МК Альтима", ООО
Сомов Ян Петрович
Россия
Мытищи
ул. Мира, 30
(495) 661-96-49
5011100023
40702810220007002002
АКБ "БАНК МОСКВЫ" (ОАО)

111
МК «ЮНА»
Баркова Яна Сергеевна
Россия
Красноярск
ул. Павлова, 1
(391) 242-12-70
2310001923
40702810704041015499
АКБ "Ланта-Банк"

222
Брест-Опт, ЗАО
Якуба ПетрНиколаевич
Беларусь
Брест
ул. Пушкинская, 16
(224) 224-00-52
1418102266
40702810404042051400
АКБ "Городской"

333
Витрэкс, ООО
Анисенко Павел Викторович
Беларусь
Минск
ул. О.Кошевого, 21
(375) 170-07-00
1410019323
40702810220009900000
АКБ "Муниципальный"

444
Диком-Днепр, ООО
Бражников Геннадий Николаевич
Украина
Киев
пр. Победы, 16
(420) 629-59-01
6081332145
40702810700101033505
Банк Кредит Днепр

555
Киевский ДОК, ОАО
Ткач Петр Кириллович
Украина
Киев
ул. Мира, 5
(420) 629-46-02
6016050400
407028107770011088006
АО «Укрэксимбанк»

666
Ю-Гард, ООО
Коцюба Владимир Иванович
Украина
Одесса
ул. Варнинская, 7
(380) 489-98-83
6018102244
40702810400121073513
АО «БРОКБИЗНЕСБАНК»

777
«Антарес»
Джеймс Баучер
Болгария
София
бул. № 116
(495) 598-83-35
7716010801
40702811000009000401
ЗАО«Райффайзенбанк»

888
«Магнус», ООО
Оболенская Маргарита Дмитриевна
Россия
Москва
ул. Челюскинская, 9
(495) 646-66-20
5018132261
40702810700001033409
ЗАО «Райффайзенбанк»

999
«Авангард», ООО
Мерешко Александр Янович
Россия
Москва
Царицыно, ул.Роз, 17
(495) 648-06-50
5010010072
40702810399002006000
ОАО "НОМОС-БАНК"

Ввод данных с использованием поля со списком
Использование полей со списком позволяет значительно облегчить ввод данных и избежать возможных ошибок.

Задание 2. В таблице Товар на базе для поля Код поставщика создайте поле со списком.

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



Рис. 3.1. Первое диалоговое окно Создание подстановки
Во втором диалоговом окне Мастера подстановок (рис.3.2) выберите таблицу Поставщик.



Рис. 3.2. Второе диалоговое окно Создание подстановки
В третьем диалоговом окне Мастера подстановок (рис.3.3) выберите поля Код поставщика и Наименование поставщика.



Рис. 3.3. Третье диалоговое окно Создание подстановки
В четвертом диалоговом окне Мастера подстановок (рис.3.4) выберите порядок сортировки по полю Код поставщика «по возрастанию».



Рис. 3.4. Четвертое диалоговое окно Создание подстановки
В пятом диалоговом окне Мастера подстановок (рис. 3.5) задайте мышью ширину столбцов. Снять щелчком мыши флажок (убрать галочку) Скрыть ключевой столбец.



Рис. 3.5. Пятое диалоговое окно Создание подстановки
В шестом диалоговом окне Мастера подстановок (рис.3.6) выберите поле Код поставщика.



Рис. 3.6. Шестое диалоговое окно Создание подстановки
В седьмом диалоговом окне Мастера подстановок (рис.3.7) согласитесь со всеми параметрами, заданными по умолчанию, например, Код поставщика оставьте в качестве подписи поля подстановки.




Рис. 3.7. Седьмое диалоговое окно Создание подстановки
После сохранения структуры таблицы Товар на базе в Схеме данных образуется связь таблицы Поставщик с таблицей Товар на базе. Измените эту связь, чтобы она была типа «один-ко-многим» как на рис. 2.9.

Задание 3. Введите следующие данные в таблицу Товар на базе:

Товар на базе
Код
товара
Код
поставщика
Наименование товара
Цена
Остаток товара

100
444
Диван "Домино"
60 000р.
9

101
111
Стол компьютерный
15 000р.
5

102
555
Стул "Виола"
36 000р.
4

103
333
Стул компьютерный
4 000р.
3

104
555
Шкаф "Сорренто"
40 000р.
5

105
666
Зона ресепшн
14 000р.
2

106
111
Стойка ресепшн
43 500р.
2

107
110
Скамья ресепшн
35 700р.
2

108
888
Стойка администратора
30 000р.
10

109
777
Гарнитур "Милена"
250 000р.
3

110
777
Гарнитур "Лайм"
138 000р.
4

111
666
Диван "Милена"
38 000р.
5

112
999
Гарнитур "Сахара"
29 100р.
3

113
333
Гарнитур "Риф"
34 000р.
5

114
222
Гарнитур "Фрукты"
20 000р.
3

115
888
Стол обеденный
46 360р.
2

116
777
Шкаф "София"
130 900р.
5

117
999
Шкаф-купе
22 000р.
3

118
666
Диван угловой
55 000р.
7

119
110
Стол компьютерный
7 100р.
10

120
222
Шкаф книжный
17 000р.
3


Импортирование таблиц в свою базу данных
Покажем, как в Access 2007 можно импортировать данные.

Задание 4. В базе данных
L:\Методические материалы (по преподавателям)\Клочков ГА\Access\ОПТТОРГ
имеется таблица Покупатель с заполненными данными, ее можно импортировать в Вашу базу данных.
Пояснения.
1. На вкладке ленты Внешние данные выбрать Импорт базы данных Access.
2. В диалоговом окне Внешние данные (рис. 2.5) укажите источник данных, используя кнопку Обзор.



Рис. 2.5. Диалоговое окно Внешние данные
3. В диалоговом окне Импорт объектов выбрать таблицу Покупатель и щелкнуть по кнопке ОК.
Шаги импорта сохранять в данном случае не обязательно, в завершении щелкнуть кнопку Закрыть.
4. Найдите в области навигации импортированную таблицу, которая по умолчанию получила имя Покупатель1, откройте ее в режиме конструктора и в режиме таблицы, убедитесь, что импорт прошел успешно. Теперь в нашей базе данных имеется пустая таблица Покупатель и импортированная с данными таблица Покупатель1, разрешим эту коллизию.
5. В окне Схема данных удалите связь, идущую от таблицы Покупатель, а затем удалите и саму таблицу Покупатель как в Схеме данных, так и в Области навигации.
6.Переименуйте таблицу Покупатель1 в Покупатель, перетащите ее из Области навигации в окно Схема данных, установите заново удаленную связь от таблицы Покупатель (рис. 2.9).
Содержимое таблицы Покупатель представлено ниже.
Покупатель
Код покупателя
Наименование покупателя
Фамилия руководителя
Город
Адрес
Телефон
ИНН
Расчетный счет
Банк

001
Мебельный салон «ЭКО Мебель»
Иванов А.С.
Новосибирск
ул. Никитина, 147а
(383) 222-77-80
5406402005
40702810700002096412
АКБ "Ланта-Банк"

002
Мебельный салон "УЮТ"
Сидоров Н.Н.
Бердск
ул. Вокзальная, 52д
(383) 412-55-79
5418100206
40702810630005010044
Левобережный Бердск

003
Мебельный магазин "Финист"
Соколова А.В.
Новосибирск
ул. Дуси Ковальчук, 276
(383) 103-10-01
5403008032
40702810110006024431
АКБ "Муниципальный"

004
Салон "Аделина"
Андреева О.Г.
Омск
ул. 70 лет Октября, 25
(381) 222-94-27
5508100222
40702810800010100012
Омск-банк

005
БРВ, сеть мебельных салонов
Павлов И.В.
Бердск
Банковский пер, 1
(383) 411-61-71
5416051400
40702810400002025013
Региональный кредит, Бердск

006
Mагазин "Империя плюс"
Логунов М.Д.
Новосибирск
ул. Большевистская, 131
(383) 208-73-11
5401000241
40702810201001015477
КБ "Белон"

007
ЗАО "Багира"
Артемьева Г.И.
Омск
пр. Карла Маркса,61
(381) 236-99-30
5501605994
40702810300301015307
МДМ-банк

008
Мебельный магазин "Комфорт"
Яковлев Ю.А.
Новосибирск
ул. Пархоменко, 14а
(383) 221-18-97
5401003090
40702810600001990015
ПромСервисБанк

009
ООО "ИНТЕХ"
Муравина О.П.
Омск
ул. Заводская, 2
(381) 291-96-63
5510082908
40702810200001200608
КБ "ТРАСТ"

100
Холдинг "Мангуста"
Бочкарев В.В.
Бердск
Промышленный пер, 2/а
(383) 415-00-84
5411004307
40702810300009015516
Региональный кредит, Бердск

Вопросы и упражнения
Отсортируйте записи в таблице Товар на базе по полю Цена по возрастанию, а затем – по убыванию.
Отсортируйте записи в таблице Покупатель по полю Фамилия руководителя по алфавиту.
Установите в таблице Покупатель фильтр на поле Город. Выделите в поле Город «Новосибирск» и щелкните по кнопке Фильтр по выделенному. Удалите фильтр щелчком по соответствующей кнопке на панели инструментов.
Какое поле называется индексированным? Какое значение имеют индексы?
В таблице Поставщик для поля Страна создайте поле со списком, в котором содержится четыре значения: Россия, Беларусь, Украина, Болгария.

Тема 4. Создание простых форм
Форма представляет собой бланк, подлежащий заполнению, или маску, накладываемую на набор данных. Бланк-форма позволяет упростить процесс заполнения базы данными, благодаря чему появляется возможность поручить ввод информации персоналу невысокой квалификации. Маска-форма позволяет ограничить объем информации, доступной пользователю.
Например, при работе с отдельными записями присутствие других записей может мешать работе или вообще быть недопустимым (например, если записи содержат сведения о клиентах). Использование форм позволяет сосредоточиться только на относящейся к делу информации.
Для автоматизации часто выполняемых действий в форму можно добавить кнопки и другие функциональные элементы.
В Access имеется ряд средств для создания форм: конструктор, мастер форм, автоформа, разделенная форма, сводная диаграмма и др.
Автоматическое создание формы в столбец.
Задание 1. Создайте автоформу в столбец для таблицы Покупатель.
При помощи инструмента Форма можно создать форму одним щелчком мыши. При использовании этого средства все поля базового источника данных размещаются в форме. Можно сразу же начать использование новой формы либо при необходимости изменить ее в Режиме макета или Конструктора.
Пояснения.
В области переходов выделите таблицу Покупатель, данные которой должны отображаться в форме.
На вкладке Создание в группе Формы выберите команду Форма.
Приложение Access создаст форму и отобразит ее в Режиме макета (рис. 4.1). В этом режиме можно внести изменения в структуру формы при одновременном отображении данных почти в таком виде, в каком они отображаются в Режиме формы.



Рис. 4.1. Форма Покупатель в режиме макета
Обратите внимание на то, что если Access 2007 обнаруживает одну таблицу, связанную отношением «один-ко-многим» с таблицей или запросом, который использовался для создания формы (в нашем случае  это таблица Покупатель), Access добавляет таблицу данных в форму, основанную на связанной таблице или запросе (таблица Сведения о заказе). То есть, создалась простая форма, основанная на таблице Покупатель, и так как между таблицами Покупатель и Сведения о заказе определено отношение «один-ко-многим», то в таблице данных будут отображаться все записи таблицы Сведения о заказе, относящиеся к текущей записи таблицы Покупатель.
Если таблица данных в форме не нужна, ее можно удалить. Если существует несколько таблиц, связанных отношением «один-ко-многим» с таблицей, которая использовалась для создания формы, то Access не добавляет таблицы данных в форму.
В созданной форме удалите данные, относящиеся к таблице 13 LINK Word.Document.8 "C:\\Documents and Settings\\DegtTV\\Local Settings\\Temporary Internet Files\\OLK20\\Методичка Access 2010_Клочков.doc" OLE_LINK18 \a \r \* MERGEFORMAT 14Ошибка! Ошибка связи.15.
В Режиме макета настройте размер полей в соответствии с данными (рис. 4.2).
Поскольку при внесении изменений можно просматривать данные, в этом режиме очень удобно задавать размеры элементов управления и выполнять другие задачи, связанные с внешним видом и удобством формы.
5. Посмотрите эту форму в режиме Форма и Конструктор.
6.Сохраните созданную форму под именем Покупатель.

Рис. 4.2. Окончательный вид формы Покупатель в режиме макета
Создание формы в режиме мастера форм.
Задание 2. Для таблицы Поставщик создайте форму в режиме мастера форм.
Пояснения.
В области переходов выделите таблицу Поставщик.
На вкладке Создание в группе Формы выберите кнопку Другие формы и в ней команду Мастер форм.
На первом шаге Мастера выберите все поля таблицы Поставщик для отображения в форме.
На втором шаге Мастера выберите внешний вид формы В один столбец.
На третьем шаге мастера выберите стиль оформления.
На четвертом шаге мастера присвойте форме имя Поставщик, активируйте переключатель Открыть форму для просмотра и ввода данных, нажмите кнопку Готово. Перед вами появится форма, представленная на рис 4.3.
Обратите внимание на внешний вид полученной формы. Надписи некоторых полей видны не полностью, размеры полей разные. Форма явно требует доработки.
Перейдите в режим Конструктор, выделите все поля формы, щелкните правой кнопкой мыши и в контекстном меню выберите команду Макет/в столбик (рис. 4.4).
Форма приобретет вид, представленный на рис. 4.5.
В режиме Конструктор доработайте Заголовок формы, чтобы форма в режиме Форма приобрела вид, показанный на рис. 4.6.


Рис. 4.3.Форма Поставщик, созданная мастером форм


Рис. 4.4. Процесс создания макета данных

Рис. 4.5 Внешний вид формы Поставщик, данные которой объединены в макет.


Рис. 4.6. Окончательный вид формы Поставщик

Создание формы в режиме конструктора
Режим Конструктора позволяет более подробно просмотреть структуру формы. С его помощью можно:
добавлять в форму различные элементы управления, такие как надписи, рисунки, линии и прямоугольники;
изменять источник элемента управления Поле непосредственно в поле без использования окна свойств;
изменять размеры разделов формы, таких как Заголовок формы или Область данных.
Покажем использование режима Конструктора при создании формы с вкладками.

13 LINK Word.Document.8 "F:\\Для редакции\\Методичка Access 2010_Клочков после переработки.doc" OLE_LINK21 \a \r 14Ошибка! Ошибка связи.15 13 LINK Word.Document.8 "F:\\Для редакции\\Методичка Access 2010_Клочков после переработки.doc" OLE_LINK22 \a \r 14Ошибка! Ошибка связи.15Менеджер создайте форму с вкладками (рис. 4.7).

Пояснения.
В области переходов выделите таблицу Менеджер, данные которой должны отображаться в форме.
На вкладке Создание в группе Формы выберите команду Конструктор форм. После этого открывается пустая форма в режиме Конструктора и активной становится вкладка Конструктор.
Используя элемент управления Вкладка, создайте в новой форме две вкладки.

Рис. 4.7. Окончательный вид формы Менеджер

Нажмите кнопку Добавить поля в группе Сервис, раскроется окно Список полей. Раскройте в нем поля таблицы Менеджер.
Выделите Вкладку 1, перетащите мышью на эту вкладку следующие поля из окна Список полей: Код менеджера, Фамилия, Имя, Отчество, Дата рождения, Дата приема на работу, Наличие водительского удостоверения (рис. 4.8).
Выделите все перенесенные на вкладку поля, щелкните правой кнопкой мыши и в контекстном меню выберите команду Макет/в столбик.
Настройте размер полей в соответствии с данными.
Выделите Вкладку 2, перетащите мышью из окна Список полей на эту вкладку поля: Фотография и Характеристика.
Присвойте Вкладке 1 имя Личные данные, Вкладке 2 имя Фото и характеристика. Это можно сделать в окне свойств этих вкладок.


Рис. 4.8. Создание вкладок в форме Менеджер

13 LINK Word.Document.8 "F:\\Для редакции\\Методичка Access 2010_Клочков после переработки.doc" OLE_LINK21 \a \r 14Ошибка! Ошибка связи.15 Используя созданную форму, заполните таблицу Менеджер.

Менеджер
Код менеджера
Фамилия
Имя
Отчество
Дата рождения
Фотография
Дата приема на работу
Наличие водительского удостоверения
Характеристика

001
<Ваши данные>
<Ваши данные>
<Ваши данные>
<Ваши данные>

<Ваши данные>.
<Ваши данные>
<Ваши данные>

002
Агафонова
Ирина
Сергеевна
20 марта 1982 г.

11 апреля 2009 г.
Нет


003
Новоселов
Вадим
Васильевич
4 декабря 1979 г.

15 апреля 2009 г.
Да


004
Пономарев
Павел
Сергеевич
21 мая 1980 г.

18 мая 2009 г.
Нет


005
Миронова
Ольга
Викторовна
25 января 1974 г.

22 июня 2009 г.
Да


006
Смирнов
Виктор
Алексеевич
11 февраля 1976 г.

18 марта 2009 г.
Нет


007
Кутаренко
Дмитрий
Петрович
15 апреля 1975 г.

22 февраля 2010 г.
Да


008
Шапкина
Татьяна
Владимировна
17 июня 1974 г.

2 марта 2010 г.
Нет


009
Васильев
Сергей
Матвеевич
19 августа 1977 г.

23 марта 2010 г.
Нет


010
Черных
Михаил
Петрович
21 октября 1972 г.

23 марта 2010 г.
Нет


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

Вопросы и упражнения
Перечислите основные виды форм.
Какие разделы есть у форм?
Какие элементы управления могут быть размещены в форме?
Каким образом можно создать элемент с раскрывающимся списком в форме?
Как создать вычисляемое поле в форме?
Где можно увидеть все свойства элемента управления?
Чем различаются элементы Свободная рамка объекта и Присоединенная рамка объекта?

Тема 5. Разработка сложных форм
Сложные формы – это такие формы, внутри которых находятся другие формы. Первичная форма называется главной формой, а форма внутри формы называется подчиненной.
Подчиненная форма удобна для вывода данных из таблиц или запросов, связанных отношением «один-ко-многим». Главная форма и подчиненная форма в этом типе форм связаны таким образом, что в подчиненной форме выводятся только те записи, которые связаны с текущей записью в главной форме.
При использовании сложных форм для ввода новых записей текущая запись в главной форме сохраняется при входе в подчиненную форму. Это гарантирует, что записи из таблицы на стороне «многие» будут иметь связанную запись в таблице на стороне «один».

Создание сложной формы.
Задание 1. Создайте макет сложной формы.
Создайте макет формы с подчиненной формой для просмотра заказов, сделанных покупателем. В главной форме должны отображаться сведения о покупателе, а в подчиненной форме – сведения о товарах, заказанных этим покупателем (рис. 5.1).

Рис. 5.1. Пример сложной формы
Пояснения.
В качестве источников для создания формы будем использовать таблицы Покупатель, Заказ на товар и Сведения о заказе. Форму будем создавать с помощью Мастера форм.
Последовательность действий должна быть следующей:
На вкладке Создание в группе Формы нажмите кнопку Мастер форм.
В качестве источника данных выберите:
все поля из таблицы Сведения о заказе;
поле Наименование покупателя из таблицы Покупатель;
все поля из таблицы Заказ на товар;
13 LINK Word.Document.8 "F:\\Для редакции\\Методичка Access 2010_Клочков после переработки.doc" OLE_LINK2 \a \r 14поле15 Цена из таблицы Товар на базе
На втором шаге Мастера форм выберите такой вид представления данных, чтобы содержание конкретного заказа приняло вид подчиненной формы (рис. 5.2).
На третьем шаге выберите табличный вид подчиненной формы.
13 LINK Word.Document.8 "F:\\Для редакции\\Методичка Access 2010_Клочков после переработки.doc" OLE_LINK4 \a \r \* MERGEFORMAT 14Ошибка! Ошибка связи.15присвойте имена:
главной форме – Покупатель – его заказы;
подчиненной форме – Подчиненная форма Заказы на товары.


Рис. 5.2. Выбор вида представления данных
Перейдите в режим конструктора этой формы. Обратите внимание на разделы формы: Заголовок формы, Область данных, Примечание формы.
Увеличьте область Заголовок формы для размещения в ней логотипа.
Вставка логотипа:
создайте логотип фирмы любым доступным Вам способом;
перенесите с панели элементов Свободную рамку и поместите ее в правом верхнем углу формы;
вставьте в рамку созданный вами логотип фирмы;
чтобы ваш логотип вписался в рамку, выделите рамку с помощью правой кнопки мыши и вызовите контекстное меню;
выберите команду Свойства а затем – параметр Установка размера;
в раскрывающемся списке задайте свойство По размеру рамки.

Создание вычисляемых полей
Вычисляемое поле – это поле для вывода результата вычисления выражения, а не хранимых данных. Значение пересчитывается при каждом изменении выражения.
Задание 2. Создайте вычисляемое поле Сумма в Подчиненной форме Заказы на товары
Пояснения.
Откройте Подчиненную форму Заказы на товары в режиме Конструктор.
С помощью панели элементов (вкладка Конструктор) создайте поле как показано на рис. 5.3.


Рис. 5.3. Создание вычисляемого поля в форме
В Надпись введите текст Сумма.
Выделите Поле (в нем нужно поместить функцию, которая возвращала бы произведение [Цена]*[Количество] из соответствующих полей формы), нажмите правую кнопку мыши, в появившемся контекстном меню выберите команду Свойства.
В появившемся окне Свойств перейдите на вкладку Все.
В строке Имя присвойте создаваемому полю имя Сумма.
В строке Данные, в правом конце, выберите Построитель, который обозначается тремя точками .
В открывшемся окне Построитель выражений создайте выражение для расчета суммы заказанного товара (рис. 5.4).


Рис. 5.4. Использование Построителя выражений
Результат выполнения пунктов 3-8 представлен на рис. 5.5.


Рис. 5.5. Вид формы с вычисляемым полем Сумма
Для расчета общей суммы текущего заказа в разделе Примечание формы создайте вычисляемое поле, используя при этом выражение
=Sum([Цена]*[Количество])
Присвойте созданному полю имя Всего. Результат представлен на рис. 5.6.


Рис. 5.6. Вид формы с вычисляемым полем Всего
Задание 3. Создание вычисляемого поля Всего на сумму в главной форме Покупатель-его заказы.
Пояснения.
Для вывода в главной форме Покупатель-его заказы значения общей суммы заказа из подчиненной формы создайте вычисляемый элемент управления Всего на сумму и (аналогично действиям 2-8 предыдущего задания) разместите в нем выражение, показанное в примечании главной формы на рис. 5.7


Рис. 5.7. Вычисление итоговой суммы в главной форме
Добавление управляющих элементов в форму.
Задание 4.
В форму Покупатель-его заказы добавьте элементы управления, которые организуют раскрывающиеся списки для полей Код покупателя и Код менеджера (рис. 5.11, 5.12).
Для выполнения задания используйте Режим конструктора.
Пояснения.
Щелкните правой кнопкой мыши по полю Код покупателя и раскрывшемся контекстном меню выберите команду Преобразовать элемент в / Поле со списком.
Откройте Окно свойств данного элемента и на вкладке Данные в строке Источник строк нажмите кнопку построителя (рис. 5.8).

Рис. 5.8. Добавление таблиц в Построитель запросов
В открывшемся диалоговом окне Добавление таблицы выберите таблицу Покупатель.
В окне построителя запросов выберите из таблицы Покупатель поля Код покупателя и Наименование покупателя (рис. 5.9).
Закройте окно Построителя запросов и при этом подтвердите сохранение изменения инструкции SQL и обновление свойства.


Рис. 5.9. Окно Построителя запросов
В окне свойств созданного поля перейдите на вкладку Макет и измените данные в следующих строках (см. рис. 5.10):
число столбцов – 2;
ширина столбцов –1 см; 6 см;
ширина списка –7 см .


Рис. 5.10. Фрагмент вкладки Макет Окна свойств


Рис. 5.11. Окончательный вид созданного поля со списком
Аналогичным образом (повторяя пункты 1-6 и используя таблицу Менеджер) создайте поле со списком для поля Код менеджера (рис 5.12).


Рис. 5.12. Поле со списком для Кода менеджера
Задание 5. Используя созданную форму Покупатель – его заказы, введите представленные ниже сведения о заказах покупателей.
ЗАКАЗЫ
Код
заказа
Код
покупателя
Код
товара
Код
менеджера
Дата заказа

1
001
114
001
19.01.2011

1
001
109
001
19.01.2011

1
001
120
001
19.01.2011

2
003
118
004
09.02.2011

2
003
109
004
09.02.2011

3
004
11
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
Вопросы и упражнения
Поясните назначение сложных форм в Access.
Какую форму называют подчиненной?
Как можно разными способами преобразовать поле в поле со списком?
Как в главной форме можно отразить итоги по подчиненной форме?
Тема 6. Создание запросов с помощью Мастера
Запросы – это средство отбора данных из одной или нескольких таблиц при помощи определенного пользователем условия. Результатом такого запроса является динамическая таблица (выборка) с интересующей пользователя информацией. С выборкой можно обращаться как с реальной таблицей – добавлять, удалять и редактировать данные. Вносимые изменения будут отражаться в записях исходных таблиц.
В Ассеss возможно использование различных типов запросов, различающихся по результатам их действия, особенностям их выполнения и, наконец, по способу формирования. Различают запросы: на выборку, перекрестный, на удаление, на добавление, на создание таблиц, на обновление, а также параметрический запрос.
Можно формировать запросы в режиме Конструктора или с помощью Мастера запросов.
Формирование простых запросов
Выполните следующие задания с использованием различных типов запросов.
Задание 1. Простой запрос на основе одной таблицы.
Создайте простой запрос на основе таблицы Покупатель и представьте выборку в виде таблицы с полями: Код покупателя, Наименование покупателя, Фамилия руководителя.
Пояснения.
На ленте Создание выберите Мастер запросов.
На экране появится первое диалоговое окно мастера Новый запрос (рис. 6.1) со списком допустимых типов запросов. Выберите Простой запрос и нажмите кнопку ОК.

Рис 6.1. Первое диалоговое окно Мастера запросов
Во втором окне мастера (рис. 6.2) выберите таблицу Покупатель. Из списка полей этой таблицы отберите те поля, которые необходимо включить в выборку. Для этой цели предназначены четыре кнопки:
> выбор одного поля (выбранное поле включается в проектируемый запрос);
>> выбор всех полей (все поля таблицы переносятся в проектируемый запрос за один раз);
< удаление одного поля (выделенное поле удаляется из проектируемого запроса);
<< удаление всех полей (отменяет выбор всех полей).


Рис 6.2. Второе диалоговое окно Мастера запросов
Закончив составление списка полей таблицы, нажмите кнопку Далее.
В третьем диалоговом окне (рис. 6.3) Мастера задайте имя запроса, например, Покупатель Простой запрос.


Рис 6.3. Третье диалоговое окно Мастера запросов
После щелчка по кнопке Готово на экране появится результат выполнения запроса в виде следующей таблицы.

Покупатель Простой запрос

Код
покупателя
Наименование
покупателя
Фамилия
руководителя

001
Мебельный салон «ЭКО Мебель»
Иванов А.С.

002
Мебельный салон "УЮТ"
Сидоров Н.Н.

003
Мебельный магазин "Финист"
Соколова А.В.

004
Салон "Аделина"
Андреева О.Г.

005
БРВ, сеть мебельных салонов
Павлов И.В.

006
Mагазин "Империя плюс"
Логунов М.Д.

007
ЗАО "Багира"
Артемьева Г.И.

008
Мебельный магазин "Комфорт"
Яковлев Ю.А.

009
ООО "ИНТЕХ"
Муравина О.П.

100
Холдинг "Мангуста"
Бочкарев В.В.


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

Перекрестный запрос
Задание 3. На основе таблицы Поставщик создайте Перекрестный запрос о количестве поставщиков в различных городах и странах.
Пояснения.
На первом шаге в диалоговом окне Новый запрос Мастера запросов (рис. 6.4) выберите из списка Перекрестный запрос и щелкните по кнопке ОК.

Рис 6.4. Первый шаг Мастера запросов
На втором шаге в диалоговом окне Создание перекрестных таблиц Мастера запросов (рис. 6.5) выберите из списка таблицу Поставщик и щелкните по кнопке Далее.

Рис 6.5. Второй шаг Мастера запросов
На третьем шаге в диалоговом окне Создание перекрестных таблиц (рис. 6.6) выберите из списка поле Страна. Данное поле будет в запросе располагаться по строкам. Щелчком по кнопке Далее перейдите к следующему диалоговому окну.


Рис 6.6. Третий шаг Мастера запросов
На четвертом шаге (рис. 6.7) выберите из списка поле Город и щелкните по кнопке Далее.

Рис 6.7. Четвертый шаг Мастера запросов
На пятом шаге (рис. 6.8) выберите из списка поле Город и функцию Число. Установите флажок Вычислить итоговое значение для каждой строки ( ( Да), нажмите Далее.


Рис 6.8. Пятый шаг Мастера запросов

На последнем этапе задайте имя запросу Поставщик_перекрестный_страна_город_количество и нажмите кнопку Готово.

В результате получите таблицу следующего вида.

Страна
Итоговое значение Код поставщика
Брест
Киев
Красноярск
Минск
Москва
Мытищи

Беларусь
2
1


1



Болгария
1







Россия
4


1

2
1

Украина
3

2





Задание 4.
На основе таблицы Покупатель создайте Перекрестный запрос о количестве покупателей в различных городах и странах. Отсортируйте полученную таблицу по полю Страна. Сохраните запрос под именем Группировка покупателей по городам и странам. Определите, в каком городе находится наибольшее количество покупателей.
Задание 5.
На основе таблицы Товар на базе создайте Перекрестный запрос о суммарном остатке по различным группам мебели.
Для образования группы по строкам в запросе разместите поле согласно вашему варианту, например, цвет мебели, фурнитура, тип мебели и т.п.

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

Поиск записей, не имеющих подчиненных
Задание 7. Сформируйте список товаров, которые не были заказаны. В терминах идеологии Access это означает, что требуется в таблице Товар на базе обнаружить записи, которые не имеют подчиненных по полю Код товара в таблице Заказ на товар.
Пояснения.
Запрос Записи без подчиненных позволяет обнаруживать записи, не имеющие связанных с ними записей из другой таблицы.
На первом шаге Мастера нужно выбрать главную таблицу, в которой содержатся данные для запроса, в нашем случае это таблица Товар на базе.
На следующем шаге выберите подчиненную таблицу Заказ на товар, в которой Ассеss должен искать связанные записи.
На третьем шаге нужно определить связующее поле для запроса. Если таблицы имеют поля с одинаковыми именами, Мастер автоматически распознает их и выделяет это общее поле в обеих таблицах; предлагая использовать его в качестве связующего (рис.6.9).


Рис 6.9. Третий шаг Мастера запросов
На четвертом шаге следует выбрать поля, которые будут отображаться в результате выполнения запроса (рис. 6.10).


Рис 6.10. Четвертый шаг Мастера запросов
Далее можно задать имя запроса и нажать кнопку Готово.
Задание 8. Поиск записей, не имеющих подчиненных.
С помощью запроса Записи без подчиненных найдите покупателей, которые ничего не заказывали.
В запрос включите поля: Наименование покупателя, Фамилию руководителя, Адрес, Телефон.
Пояснения.
В качестве главной таблицы выберите таблицу Покупатель, в качестве подчиненной таблицы – Сведения о заказе, связующее поле – Код покупателя.

Вопросы и упражнения
Что такое запрос в Access?
Какие типы запросов можно сформировать в Access 2007?
На основе каких объектов базы данных можно формировать запросы?
С помощью запроса Записи без подчиненных найдите менеджеров, которые не оформляли заказы на товары.
Тема 7. Формирование запросов с помощью Конструктора
С помощью Конструктора можно формировать запросы к таблицам базы данных на получение информации, удовлетворяющей любому заданному критерию.
Конструирование запроса
Для начала формирования запроса нужно на ленте Создание нажать кнопку Конструктор запросов. Создается пустой бланк запроса Запрос 1.
Далее следует выбрать таблицы, которые будут использованы в запросе. Это можно сделать в диалоговом окне Добавление таблицы, выделяя нужные таблицы и нажимая кнопку Добавить.
Источниками данных для запроса могут служить таблицы и другие запросы.
Добавить объекты-источники данных в бланк запроса с использованием окна Добавление таблицы можно при помощи кнопки Отобразить таблицу.
Если в запросе будет использоваться несколько таблиц, то между ними должны быть заранее установлены связи, которые будут отображаться на экране.

Задание 1. Получите информацию о покупателях, заказавших гарнитуры.
Технологию создания запросов в режиме Конструктора рассмотрим на примере выполнения данного задания.
На ленте Создание нажать кнопку Конструктор запросов.
В окне Добавление таблицы выбрать таблицы Покупатель, Сведения о заказе, Заказ на товар, Товар на базе, нажимая кнопку Добавить.
Следует определить поля запроса, для чего переместить их из списка полей таблиц в верхней части окна в нижнюю область конструирования запроса, поместив в отдельные столбцы (рис 7.1).
Это можно сделать тремя способами:
перетащить мышью поля из таблицы;
выделить поле двойным щелчком в списке полей соответствующей таблицы;
выбрать его из раскрывающегося списка строки Поле.
Можно встроить в запрос и целую таблицу со всеми ее полями, если перетащить звездочку * из таблицы в область конструирования.
В нашем случае на бланк запроса необходимо поместить поля Дата заказа, Наименование покупателя, Наименование товара, Количество.


Рис.7.1. Вид окна конструирования запроса

По заданию требуется выбрать только покупателей гарнитуров, поэтому в строке Условие отбора поля Наименование товара введем текст: Гарнитур*. После этого автоматически условие отбора будет задано выражением Like "Гарнитур*".
Выполнение запроса
После того как запрос сформирован, его можно выполнить, щелкнув по кнопке Выполнить с изображением восклицательного знака на ленте Конструктор или выбрать режим Таблица.
Запустим запрос щелчком по кнопке Выполнить на вкладке Конструктор.

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

Ввод условий отбора
В строке Условие отбора сделать щелчок для поля, по которому вы хотите определить условия отбора, ввести это условие и нажать клавишу <Еnter>. Access проанализирует это выражение и, если условие задано неверно, выведет сообщение об ошибке.
Можно задать несколько условий отбора как для разных полей, так и для одного поля, связывая их оператором AND(И) или ОR(ИЛИ).
Если вы запишите несколько выражений отбора в различные поля и расположите их в одной строке Условие отбора, то Access свяжет их оператором AND. Условия, расположенные в разных строках, связываются оператором OR.

Примеры выражений для условий отбора
Поля
Выражения
Результаты выборки

Город
«Новосибирск»
Покупатели из Новосибирска

Город
«Омск» OR «Новосибирск»
Покупатели из Омска
или из Новосибирска

Город
Not «Новосибирск»
Города, кроме Новосибирска

Наименование покупателя
«Магазин*»

Записи начинаются со слова: Магазин

Дата заказа
= # 12.09.2011 #
Заказы на 12.09.11

Дата заказа
< # 12.09.2011 #
Заказы, оформленные до 12.09.11

Цена
BETWEEN 500 AND 1200
Цены в диапазоне
от 500 до 1200

Фамилия руководителя
«Л*»
Фамилии руководителей, которые начинаются на Л

Фамилия руководителя
>= «М»
Фамилии, которые начинаются от М до Я


Формировать условия отбора можно самостоятельно, а можно с помощью Построителя выражений.
Построитель выражений можно вызвать либо кнопкой Построитель на ленте Конструктор, или командой Построить из контекстного меню, которое вызывается щелчком правой кнопки мыши.
Добавим в наш запрос условие отбора для поля Дата заказа при помощи Построителя. Необходимо отобрать заказы с 19 Января по 10 Марта 2011г.
В Построителе выберем среди элементов выражений Операторы. Тогда требуемую конструкцию Between #19.01.2011# And #10.03.2011# можем построить путем выбора операторов двойным щелчком мыши из списка значений выражений (рис. 7.2).
Примечание.
Формат дат в выражениях условий отбора должно совпадать с форматом дат в таблицах базы данных.


Рис.7.2. Вид окна Построителя выражений

Сортировка записей в выборке
Данные в выборке можно отсортировать, если активизировать поле сортировки в области конструирования и выбрать направление сортировки.
При сортировке по нескольким полям Access использует ту последовательность полей, в которой они размещены в области конструирования запроса. Сначала сортировка происходит по крайнему левому полю, затем – по полю справа от него и т.д. Поэтому перед сортировкой следует проверить правильность расположения полей в области конструирования.
Отсортируем данные запроса по убыванию значений в поле Дата заказа. Для этого в поле Дата заказа в графе Сортировка из раскрывающегося списка выберем требуемый порядок сортировки (рис.7.3).
Проведение группировки и групповых вычислений
Вы можете использовать в запросе группировку записей с одинаковыми значениями полей. По сгруппированным данным можно проводить вычисления, которые называются групповыми операциями.
При нажатии на ленте Конструктор кнопки Итоги со значком (, Access добавит в область конструирования запроса новую строку Групповая операция под строкой Поле.
По умолчанию в ячейку Групповая операция будет помещена функция Группировка, что обеспечит следующее: по этому полю будет автоматически производиться сортировка, и записи с одинаковыми значениями полей будут сгруппированы в одну.
Замените функцию Группировка на нужную групповую функцию для тех полей, по которым вы хотите произвести соответствующие вычисления. Выбрать необходимую групповую функцию можно в раскрывающемся списке в строке Группировка.

Наиболее часто употребляемые групповые функции
Обозначение
Функция
Назначение

SUM
Сумма
Вычисляет сумму сгруппированных данных

AVG
Среднее
Вычисляет среднее значение

MIN
Минимум
Находит наименьшее значение

MAX
Максимум
Находит наибольшее значение

COUNT
Счетчик
Считает количество сгруппированных записей


Сгруппируем заказы по дате и подсчитаем количество заказанных гарнитуров. В бланк конструирования нашего запроса включим групповую операцию. Для поля Количество выберем функцию Sum (рис. 7.3)

Рис.7.3. Групповая операция в бланке конструирования запроса

Подавление вывода на экран полей в запросе. Если вы не хотите, чтобы поле было выведено на экран в полученной выборке, то снимите флажок вывода на экране в столбце этого поля.
В поле Наименование товара используется подавление вывода значений. Ему назначается статус условия, чтобы значения этого поля не мешали группировке (рис. 7.3).

Вычисляемые поля в запросах
Access позволяет выполнять вычисления над данными в запросах.
Создать вычисляемое поле можно простым вводом выражения в пустом столбце запроса. Например, для вычисления суммы товара необходимо в строке Поле ввести выражение:
[Количество] * [Цена]
Заметим, что имена полей заключаются в квадратных скобках. После того, как ввод будет завершен, выражение примет вид:
Выражение 1: [Количество] * [Цена]
Access автоматически использует «Выражение 1» в качестве имени вычисляемого поля, это имя нужно заменить на более содержательное, например, «Сумма заказа». Окончательный вид выражения для вычисляемого поля должен быть следующим:
Сумма заказа: [Количество] * [Цена]

Создадим вычисляемое поле Сумма заказа.В отдельную колонку бланка нашего запроса введем выражение:
Сумма заказа: [Количество] * [Цена]
Для вычисляемого поля выберем групповую операцию Sum (рис.7.4).


Рис.7.4. Вычисляемое поле в запросе

Сохранение запроса. Запрос будет сохранен в области навигации запросов. Изменения запроса производятся в режиме Конструктора.
Задание 2. Создайте и сохраните последовательно запросы для получения следующих выборок из таблицы Покупатель:
сведения о покупателях из Новосибирска;
сведения о покупателях из Новосибирска и Бердска;
сведения о покупателях из Новосибирска, фамилии руководителей которых начинаются на «Л».

Задание 3. Из таблиц Товар на базе и Поставщик сформируйте список товаров зарубежных производителей.
Задание 4. Найдите контактную информацию поставщиков столов по цене более 10 тыс.р. и шкафов по цене менее 50 тыс.р.

Задание 5. Найдите информацию о товарах, заказанных до 20 июня 2011 г. (за исключением товаров из Минска)

Задание 6. Для товаров в ценовом диапазоне от 10 тыс.р. до 50 тыс.р. рассчитать сумму наценки в размере 15% и цены реализации с учетом наценки.

Задание 7. Вычислить сумму скидки в размере 2% от заказов на сумму свыше 200 тыс.р.

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

Запрашиваемый параметр вводится в квадратных скобках в строке Условие отбора конструктора запросов (рис. 7.5).

Рис.7.5. Параметрический запрос в режиме конструктора
Запрос на обновление
Запрос на обновление, в котором изменяется набор записей, удовлетворяющих указанным условиям поиска.
Задание 9. Организуйте автоматическое увеличение цены товаров низкой ценовой категории (менее 20 тыс.р.) на 10 %.
Для этого создайте запрос на обновление данных таблицы Товар на базе.
В окне конструктора запросов на ленте выберите пункт Обновление.
Для поля Цена установите правильное условие отбора!
Формулу [Цена]*1,1 введите в строку Обновление поля Цена.
Результаты выполнения запроса отразятся в таблице Товар на базе.

Основы SQL
Когда формируете запрос в Конструкторе запросов, то на самом деле этот запрос формируется на языке структурированных запросов (Structured Query Language – SQL).
В реляционной модели объекты реального мира и взаимосвязи между ними представляются с помощью совокупности связанных между собой таблиц (отношений). В результате разработки реляционной модели данных был создан язык SQL. Все современные профессиональные реляционные СУБД используют язык SQL,
Чтобы просмотреть создаваемые Access команды SQL, выберите команду Вид | Режим SQL.
Оператор SELECT – один из наиболее важных и самых распространенных операторов SQL. Он позволяет производить выборки данных из таблиц и преобразовывать к нужному виду полученные результаты.

Оператор SELECT определяет поля (столбцы), которые будут входить в результат выполнения запроса.
В списке они разделяются запятыми и приводятся в такой очередности, в какой должны быть представлены в результате запроса.
Если используется имя поля, содержащее пробелы, его следует заключить в квадратные скобки. Символом * можно выбрать все поля.
Порядок предложений и фраз в операторе SELECT не может быть изменен.
Только два предложения SELECT и FROM являются обязательными, все остальные могут быть опущены.
Параметр WHERE.
За ключевым словом WHERE следует перечень условий поиска, определяющих те строки, которые должны быть выбраны при выполнении запроса.
Существует пять основных типов условий поиска:
Сравнение: сравниваются результаты вычисления одного выражения с результатами вычисления другого.
Диапазон: проверяется, попадает ли результат вычисления выражения в заданный диапазон значений.
Принадлежность множеству: проверяется, принадлежит ли результат вычислений выражения заданному множеству значений.
Соответствие шаблону: проверяется, отвечает ли некоторое строковое значение заданному шаблону.
Значение NULL: проверяется, содержит ли данный столбец определитель NULL (неизвестное значение).

Параметр ORDER BY.
В общем случае строки в результирующей таблице SQL-запроса никак не упорядочены. Однако их можно отсортировать, для чего в оператор SELECT помещается фраза ORDER BY.
Сортировка может выполняться по нескольким полям, в этом случае они перечисляются за ключевым словом ORDER BY через запятую.

Задание 10.
Ниже приведены примеры семи запросов на языке SQL. Прокомментируйте их.

SELECT Покупатель.[Наименование покупателя], Покупатель.Город, Покупатель.Телефон
FROM Покупатель
WHERE (((Покупатель.Город)="Новосибирск"));

SELECT Покупатель.[Наименование покупателя], Покупатель.Город, Покупатель.Телефон
FROM Покупатель
WHERE (((Покупатель.Город)="Новосибирск")) OR (((Покупатель.Город)="Бердск"));

SELECT Покупатель.[Наименование покупателя], Покупатель.Город, Покупатель.[Фамилия руководителя], Покупатель.Телефон
FROM Покупатель
WHERE (((Покупатель.Город)="Новосибирск") AND ((Покупатель.[Фамилия руководителя]) Like "Л*"));

SELECT Поставщик.[Наименование поставщика], Поставщик.Страна, [Товар на базе].[Наименование товара]
FROM Поставщик INNER JOIN [Товар на базе] ON Поставщик.[Код поставщика] = [Товар на базе].[Код поставщика]
WHERE ((Not (Поставщик.Страна)="Россия"));

SELECT Поставщик.[Наименование поставщика], Поставщик.Страна, [Товар на базе].[Наименование товара]
FROM Поставщик INNER JOIN [Товар на базе] ON Поставщик.[Код поставщика] = [Товар на базе].[Код поставщика]
WHERE ((Not (Поставщик.Страна)="Россия"))
ORDER BY Поставщик.[Наименование поставщика];

SELECT Поставщик.[Наименование поставщика], Поставщик.Страна, [Товар на базе].[Наименование товара]
FROM Поставщик INNER JOIN [Товар на базе] ON Поставщик.[Код поставщика] = [Товар на базе].[Код поставщика]
WHERE ((Not (Поставщик.Страна)="Россия"))
ORDER BY Поставщик.[Наименование поставщика], [Товар на базе].[Наименование товара] DESC;

UPDATE [Товар на базе] SET [Товар на базе].Цена = [Цена]*1.1;
Вопросы и упражнения
С помощью запроса узнать, кто из контрагентов обслуживаются одинаковыми банками?
С помощью запроса определить, кто из менеджеров является лидером продаж?
С помощью запроса определить, кто из менеджеров оформил заказы на диваны и гарнитуры в первой декаде 2011 г.
Сколько заказов было осуществлено каждым покупателем?
Поясните, почему кнопки одних типов запросов помечены красными восклицательными знаками, а другие – черными?
Тема 8. Создание макросов
Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции. Макросы необходимы для автоматизации бизнес-процессов.
В рассматриваемой нами задаче необходимо с помощью макроса автоматизировать процесс обработки заказов покупателя: в результате выполнения заказа остаток каждого заказанного товара в таблице Товар на базе должен уменьшиться на соответствующее заказу количество. Если же какой-то товар заказан в количестве большем, чем этого товара имеется на базе, то заказ на такой товар вначале корректируется (делается равным остатку этого товара на базе), а затем исполняется.
Процесс обработки заказа можно разделить на несколько этапов:
Подготовка необходимых для обработки объектов (формы Товар на базе и Заказ на товар).
Поиск заказанных товаров в таблице Товар на базе (совпадение по полю Код товара).
Подтверждение наличия искомого товара в требуемом количестве.
Уменьшение остатка товара на базе на величину заказа.

Задание 1. Создание временной таблицы для обработки заказа.
Пояснения.
В процессе оформления заказов от покупателей Вами была сформирована таблица Заказ на товар, которая содержит множество заказов с различными кодами заказов. Для обработки заказа с определенным кодом создадим новую таблицу, содержащую только один этот заказ.
Для этого воспользуйтесь возможностью Запроса на создание таблицы:
На вкладке Создание перейдите в Конструктор запросов;
Оформите запрос как показано на рис. 8.1.
Вычисляемое поле Сумма должно выглядеть следующим образом:
Сумма: [Заказ на товар]![Количество]*[Товар на базе]![Цена].


Рис.8.1 Запрос на текущий заказ в режиме конструктора
В разделе тип запроса выберите команду Создание таблицы .
В открывшемся диалоговом окне присвойте создаваемой таблице имя Текущий заказ (рис. 8.2).


Рис.8.2 Создание таблицы Текущий заказ
Выберите команду и убедитесь, что таблица отобразилась в списке объектов Области переходов.
Присвойте запросу имя: Запрос на текущий заказ.
Запустите созданный запрос. В диалоговом окне Ввода значения параметра введите код одного из существующих заказов и убедитесь, что таблица Текущий заказ заполнилась данными из выбранного заказа.
Для выполнения следующего задания оформите новый заказ, содержащий одну позицию и зафиксируйте в тетради код заказанного товара.
Создайте формы Товар на базе и Текущий заказ любым из известных вам способов.

Создание макроса
Ознакомимся с общими принципами создания, запуска и отладки простейших наборов макрокоманд.
На вкладке Создание щелкните кнопку Макрос, откроется построитель макросов (рис. 8.3).


Рис.8.3. Окно конструктора макросов
При помощи кнопки Показать все действия переключите содержимое раскрывающегося списка в столбце Макрокоманда в режим отображения полного набора действий.
В окне построителя макросов создайте список макрокоманд, которые требуется выполнить при запуске макроса.
Для добавления в макрос других макрокоманд перейдите на следующую строку. Макрокоманды выполняются в порядке их расположения в бланке.
Если в макросе некоторая макрокоманда должна выполняться только при определенном условии, то такая макрокоманда должна содержать условное выражение. Если условное выражение ложно, Access игнорирует эту макрокоманду и переходит к ближайшей строке.


Задание 2. В конструкторе макросов создайте набор макрокоманд, показанный в таблице, и присвойте ему имя Пробный макрос (см. также рис. 8.4).

Пробный макрос
Макрокоманда
Аргумент
Значение

ОткрытьЗапрос
Имя запроса
Запрос на Текущий заказ


Режим
Таблица


Режим данных
Изменение

ОткрытьФорму
Имя формы
Текущий заказ


Режим
Форма


Режим данных
Изменение

ОткрытьФорму
Имя формы
Товар на базе


Режим
Форма


Режим данных
Изменение

Окно Сообщения
Сообщение
Формы для обработки открыты


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


Рис. 8.4. Пробный макрос в режиме конструктора
Для поиска заказанных товаров в таблице Товар на базе (совпадение по полю Код товара) дополните Пробный макрос следующими командами:

Макрокоманда
Аргумент
Значение

ЗапускМакроса
Имя макроса
Макрос2


Число повторов



Условие повтора
[Формы]![Текущий заказ]![Код товара]<>[Формы]![Товар на базе]![Код товара]

Окно Сообщения
Сообщение
Заказанный товар найден

Остановить макрос




Для заполнения строки Условие повтора воспользуйтесь построителем (рис. 8.5).


Рис.8.5. Задание условия повтора

Создайте Макрос2, необходимый для перемещения по строкам таблицы Товар на базе во время поиска кода заказанного товара.

Макрос: Макрос2
Макрокоманда
Аргумент
Значение

НаЗапись
Тип объекта
Форма


Имя объекта
Товар на базе


Запись
Следующая


Запустите Пробный макрос по шагам и убедитесь, что в таблице Товар на базе действительно найден заказанный Вами товар.

Примеры макросов
Задание 3. Создайте четыре макроса (их тексты даны ниже), которые обрабатывают заказ покупателя. Главным является макрос Обработка строк заказа, остальные три макроса с именами Макрос1, Макрос2 и Макрос3 являются вспомогательными.

Макрос: Обработка строк заказа
Макрокоманда
Аргумент
Значение

ОткрытьЗапрос
Имя запроса
Запрос на Текущий заказ


Режим
Таблица


Режим данных
Изменение

ОткрытьФорму
Имя формы
Текущий заказ


Режим
Форма


Режим данных
Изменение

ОткрытьФорму
Имя формы
Товар на базе


Режим
Форма


Режим данных
Изменение

ЗапускМакроса
Имя макроса
Макрос3


Число повторов
10000


Условие повтора
Not IsNull([Формы]![Текущий заказ]![Код товара])

Окно Сообщения
Сообщение
Все строки заказа этого покупателя обработаны

Закрыть
Тип объекта
Форма


Имя объекта
Товар на базе

Закрыть
Тип объекта
Форма


Имя объекта
Текущий заказ

Остановить макрос




Макрос: Макрос1
Условие
Макрокоманда
Аргумент
Значение

[Формы]![Товар на базе]![Остаток товара]<[Формы]![Текущий заказ]!Количество]
Окно Сообщения
Сообщение
Нет такого количества товара


ЗадатьЗначение
Элемент
[Формы]![Текущий заказ]![Количество]



Выражение
[Формы]![Товар на базе]![Остаток товара]


Макрос: Макрос2
Макрокоманда
Аргумент
Значение

НаЗапись
Тип объекта
Форма


Имя объекта
Запись
Товар на базе
Следующая

Макрос: Макрос3

Макрокоманда
Аргумент
Значение

IsNull([Формы]![Текущий заказ]![Код товара])
ОстановитьМакрос




НаЗапись
Тип объекта
Форма



Имя объекта
Товар на базе



Запись
Первая


ЗапускМакроса
Имя макроса
Макрос2



Число повторов




Условие повтора
[Формы]![Текущий заказ]![Код товара]<>[Формы]![Товар на базе]![Код товара]


ЗапускМакроса
Имя макроса
Число повторов
Условие повтора
Макрос1


ЗадатьЗначение
Элемент
[Формы]![Товар на базе]![Остаток товара]



Выражение
[Формы]![Товар на базе]![Остаток товара]-[Формы]![Текущий заказ]![Количество]


НаЗапись
Тип объекта
Форма



Имя объекта
Текущий заказ



Запись
Следующая


Откройте Макрос1 в режиме конструктора. Сравните полученный вами результат с рис.8.6. Убедитесь в том, что они совпадают.


Рис. 8.6. Макрос1 в режиме конструктора

Отладка макросов
Отладку макросов лучше производить в пошаговом режиме, в котором можно проследить передачу управления и результаты выполнения каждой макрокоманды. Это облегчает поиск макрокоманды, которая приводит к возникновению ошибки или дает неверные результаты.
Задание 4.. Произведите отладку макроса Обработка строк заказа и вспомогательных макросов Макрос1, Макрос2 и Макрос3.
Пояснения.
Через форму Покупатель – его заказы оформите заказ на единственный товар в количестве меньшем остатка этого товара на базе.
Зафиксируйте код заказа, количество заказанного товара и остаток данного товара на складе.
Запустите Макрос Обработка строк заказа, указав в качестве текущего код только что созданного заказа. При правильной работе макросов, остаток заказанного товара на базе уменьшится на количество заказанного товара.
Вопросы и упражнения
Поясните назначение макросов в Access.
Как создаются макросы?
Как можно указать условие выполнения одной или нескольких макрокоманд?
Какие методы отладки макросов предоставляет Access?
Как для запуска макроса можно использовать событие?
Как связать кнопку с выполнением определенного макроса?

Тема 9. Проектирование выходных документов с помощью отчетов
Отчеты позволяют отображать информацию из базы данных в виде печатного документа. Больше всего сведений в отчете берется из базовой таблицы или запроса, являющихся источниками данных для отчета. Другие сведения могут вводиться при разработке отчета.
В отчетах может производиться группировка данных с получением общих и промежуточных итогов, В отчеты, как и в формы, можно добавлять управляющие элементы и оформлять их в соответствии с собственным вкусом.
Разделы отчета
Отчет разбит на разделы, увидеть разделы отчета можно только в режиме конструктора. Перечислим разделы отчета и укажем назначение каждого из них.
Заголовок отчета. Выводится на печать только один раз в начале отчета, может содержать название отчета, дату
Верхний колонтитул. Печатается вверху каждой страницы.
Заголовок группы. Размещается перед каждой новой группой записей, соответствующих очередному значению поля Код (то есть того поля, по которому назначена группировка), используется для печати названия группы.
Область данных. Этот раздел печатается для каждой строки данных из источника записей. В нем размещаются элементы управления, составляющие основное содержание отчета.
Примечание группы. Печатается в конце каждой группы записей, может содержать информацию по группе.
Нижний колонтитул. Печатается внизу каждой страницы, используется для нумерации страниц и постраничной информации. Выводится и скрывается аналогично Верхнему колонтитулу.
Примечание отчета. Печатается один раз в конце отчета, может содержать итоги по всему отчету. Выводится и скрывается аналогично Заголовку отчета.

Пользователю доступны различные способы проектирования отчета: быстро – с помощью Отчета, за несколько шагов – с помощью Мастера отчетов или самостоятельно – с помощью Конструктора отчетов
Создание отчета при помощи стандартного средства Отчет
Задание 1. Получить в виде отчета сведения обо всех покупателях фирмы.
Пояснения.
Стандартное средство MS Access 2007 Отчет – самый быстрый способ создания отчета, с его помощью отчет формируется сразу же, без уточнения дополнительной информации.
Работа по созданию отчета всегда начинается с выбора источника, из которого будут извлекаться записи отчета.
Последовательность шагов будет следующей:
в области переходов щелкните таблицу Покупатель, на основе которой будет создаваться отчет;
на вкладке Создание ленты MS Access 2007 в разделе Отчет щелкните на пиктограмме Отчет, MS Access немедленно создаст отчет и отобразит его в режиме макета (рис. 9.1);
обратите внимание на разделы отчета (рис. 9.2), которые автоматически создаются при этом способе создания отчетов.


Рис. 9.1. Простой отчет, созданный при помощи стандартного средства Отчет

Рис. 9.2. Отчет Покупатель в режиме конструктора

Создание отчета с помощью Мастера отчетов
Задание 2. Получить в виде отчета сведения обо всех покупателях фирмы, сгруппированных по городам.
Пояснения.
1. Мастер отчета позволяет получать выходные документы по шагам. Перейдите на вкладку Создание, щелкните по кнопке Мастер отчетов в группе Отчеты. В первом окне мастера (рис. 9.3) укажите таблицу и поля, включаемые в отчет.


Рис. 9.3 . Выбор полей для отчета
2. Во втором окне мастера выбирается один или несколько уровней группировки. Схема группировки отображается в правой части диалогового окна (рис. 9.4).


Рис. 9.4. Выбор уровней группировки

3. На третьем шаге можно задать порядок сортировки записей. Выберите в списке 1 поле Наименование покупателя (рис. 9.5).

Рис. 9.5. Диалоговое окно третьего шага Мастера отчетов
4. Четвертое окно мастера позволяет выбрать способ расположения полей и ориентацию страницы, установим переключатель структура.


Рис. 9.6. Диалоговое окно четвертого шага Мастера отчетов
5. Пятое окно, показанное на рис. 9.7, позволяет задать имя отчета (присвоим ему имя Покупатели по городам) и просмотреть готовый отчет либо в режиме предварительного просмотра, либо в конструкторе.

Рис. 9.7. Пятое окно Мастера отчетов
Сформированный мастером отчет показан ниже.


Рис. 9.8. Отчет, созданный при помощи Мастера отчетов


Рис. 9.9. Отчет в режиме Конструктора
Задание 3. Усовершенствование отчета Покупатели по городам.
Требуется дополнить полученный ранее отчет (рис. 9.8 и 9.9) подсчетом количества покупателей в каждом из городов.
Пояснения.
Проанализируйте созданный отчет в режиме Конструктора (рис. 9.9). В нем автоматически были созданы разделы: Заголовок отчета, Верхний колонтитул, Заголовок группы «Город», Область данных, Нижний колонтитул, Примечание отчета.
Для печати итогов по городам потребуется раздел отчета Примечание группы, который нужно, чтобы появился в отчете.
1. В области навигации выделите строку отчета Покупатели по городам. Щелкните по нему правой кнопкой мыши и выберите в контекстном меню команду Конструктор, отчет откроется в режиме конструктора.
2. Щелкните на кнопке Группировка в группе Группировка и итоги вкладки Конструктор. Откроется область Группировка, сортировка и итоги (рис. 9.10).



Рис. 9.10. Область Группировка, сортировка и итоги

3. Использование области Группировка, сортировка и итоги обеспечивает гибкость при добавлении или изменении групп, порядка сортировки или параметров расчета итоговых значений в отчете.
Для отображения всех параметров, доступных для того или иного уровня группировки или сортировки щелкните на кнопке Больше на требуемом уровне.
Используя эти возможности, задайте для поля «Город» подсчет количества значений как общий итог и как промежуточный итог в примечании группы. Посмотрите отчет в режиме Отчет.


Рис. 9.11. Задание итогов в области Группировка, сортировка и итоги

4. Просмотрите полученный после добавления итогов отчет. Чтобы сделать его более информативным, дополните отчет в режиме конструктора как показано на рис. 9.12. Сформированный после этого отчет дан на рис. 9.13.


Рис. 9.12. Отчет Покупатели по городам
в режиме Конструктора


Рис. 9.13. Отчет Покупатели по городам

Формирование отчета с помощью конструктора

При самостоятельном проектировании отчета с помощью Конструктора на первом этапе необходимо создать пустой отчет, добавить необходимые указания в отношении сортировки и группировки данных, а затем ввести управляющие элементы и другие необходимые при оформлении компоненты.
В создаваемый отчет можно встраивать управляющие элементы с помощью панели инструментов (рис. 9.14).

13 SHAPE \* MERGEFORMAT 1415
Рис. 9.14. Панель инструментов Элементы управления вкладки Конструктор

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

Рис. 9.15. Вид окна свойств элемента (поле Дата)

Задание 4. Создание отчета Счет-фактура.
Создайте отчет для печати счетов-фактур (рис. 9.19).
Пояснения.
Этапы разработки и создания этого отчета могут быть следующими:
Создайте запрос, который содержал бы необходимые сведения о покупателе и купленных им товарах (см. рис. 9.20). Присвойте этому запросу имя Запрос для счета-фактуры.
На вкладке главной ленты Создание в разделе Отчеты запустите Мастер отчетов. В качестве источника записей для будущего отчета выберите Запрос для счета-фактуры
Из доступных полей этого запроса выберите поля: Код товара, Наименование товара, Количество, Цена, Сумма.
Продолжите создание отчета и на последнем шаге мастера присвойте отчету имя Счет-фактура. Переключитесь в режим Конструктора (рис. 9.16).


Рис. 9.16. Отчет Счет-фактура в режиме Конструктора

Увеличьте раздел Заголовок отчета для размещения в нем информации о Покупателе.
На вкладке ленты Конструктор в группе Сервис активируйте кнопку . Из раскрывшегося списка переместите в Область заголовка необходимые поля, содержащие данные о покупателе (рис. 9.17).


Рис. 9.17. Список полей для конструирования счета-фактуры

Информацию о поставщике – фирме “Оптовая торговля” разместите в левой части заголовка отчета, используя элемент управления Надпись.
Создайте поле, в котором будет отражаться номер счета фактуры, присвойте этому полю имя Номер. В надпись введите текст: Счет-фактура № (рис. 9.18).
В качестве источника данных для поля Номер создайте отдельную таблицу Номер нового счета-фактуры, в которой будет только одно поле – Номер счета-фактуры. На основе этой таблицы создайте форму с таким же именем – Номер нового счета-фактуры.
В таблице Номер нового счета-фактуры будет храниться номер счета-фактуры, который должен быть на единицу больше, чем номер предыдущего счета-фактуры; номер же предыдущего счета-фактуры можно выделить из последней записи в таблице Книга продаж. Формировать номер счета-фактуры будут первые пять команд макроса Формирование книги продаж.
В поле Номер счета-фактуры создаваемого отчета введите выражение:
=[Формы]![Номер нового счета-фактуры]![Номер счета-фактуры]
Создайте поле для размещения даты выписки счета-фактуры (см. рис. 9.18) и с помощью построителя выражений разместите в нем функцию:
=Date()
Присвойте полю имя Дата.


Рис. 9.18 Счет-фактура в процессе построения
Обратим внимание на следующую тонкость. Для того, чтобы правильно отображался номер счета-фактуры в отчете Счет-фактура, предварительно должна быть открыта форма Номер нового счета-фактуры.
В разделе Примечание отчета разместите поле Всего к оплате, с помощью которого будет рассчитываться общая сумма заказа (рис. 9.20).


Рис. 9.19. Вид выходного документа


Рис. 9.20. Счет-фактура в режиме Конструктора

Задание 4. При обработке заказов возможны случаи, когда заказанного товара на базе нет в нужном количестве. Спроектируйте таблицу, отчет и напишите макрос для получения ведомости Неудовлетворенные заказы.
Задание 5. Создание макроса для автоматического формирования таблицы Книга продаж.
Для работы вам потребуется форма Книга продаж. Создайте ее любым известным способом.
Создайте макрос с именем Формирование Книги продаж, который бы:
определял номер нового (выписываемого) счета-фактуры;
вносил в таблицу Книга продаж записи из этого счета-фактуры.
Далее этот макрос следует присоединить к ранее созданному макросу с именем Обработка строк заказа.

Макрос: Формирование Книги продаж
Макрокоманда
Аргумент
Значение

ОткрытьФорму
Имя формы
Книга продаж


Режим
Форма

НаЗапись
Тип объекта
Форма


Имя объекта
Книга продаж


Запись
Последняя

ОткрытьФорму
Имя формы
Номер нового счета-фактуры


Режим
Форма

НаЗапись
Тип объекта
Форма


Имя объекта
Номер нового счета-фактуры


Запись
Первая

ЗадатьЗначение
Элемент
[Формы]![Номер нового счета-фактуры]![Номер счета-фактуры]


Выражение
[Формы]![Книга продаж]![Номер счета-фактуры]+1

ОткрытьОтчет
Имя отчета
Счет-фактура


Режим
Просмотр

ОткрытьФорму
Имя формы
Текущий заказ


Режим
Форма

НаЗапись
Тип объекта
Форма


Имя объекта
Текущий заказ


Запись
Первая

НаЗапись
Тип объекта
Форма


Имя объекта
Книга продаж


Запись
Последняя

НаЗапись
Тип объекта
Имя объекта
Запись
Форма
Книга продаж
Новая

ЗапускМакроса
Имя макроса
МакросФормир


Число повторов
10000


Условие повтора
Not IsNull([Формы]![Текущий заказ]![ Код товара])

Закрыть
Тип объекта
Форма


Имя объекта
Номер нового счета-фактуры

Закрыть
Тип объекта
Форма


Имя объекта
Книга продаж

ОстановитьВсеМакросы




Макрос с именем МакросФормир является вспомогательным для предыдущего и его назначение – вносить в таблицу Книга продаж запись реквизитов об одном проданном товаре.

Макрос: МакросФормир
Условие
Макрокоманда
Аргумент
Значение

IsNull([Формы]![Текущий заказ]![Код товара])
ОстановитьМакрос




ЗадатьЗначение
Элемент
[Формы]![Книга продаж]![Номер счета-фактуры]



Выражение
[Отчеты]![Счет-фактура]![Номер]


ЗадатьЗначение
Элемент
[Формы]![Книга продаж]![Дата]



Выражение
[Отчеты]![Счет-фактура]![Дата]


ЗадатьЗначение
Элемент
[Формы]![Книга продаж]![Код покупателя]



Выражение
[Формы]![Текущий заказ]![Код покупателя]


ЗадатьЗначение
Элемент
[Формы]![Книга продаж]![Код товара]



Выражение
[Формы]![Текущий заказ]![Код товара]


ЗадатьЗначение
Элемент
[Формы]![Книга продаж]![Количество]



Выражение
[Формы]![Текущий заказ]![Количество]


ЗадатьЗначение
Элемент
[Формы]![Книга продаж]![Цена]



Выражение
[Формы]![Текущий заказ]![Цена]


ЗадатьЗначение
Элемент
[Формы]![Книга продаж]![Стоимость продаж]



Выражение
[Формы]![Текущий заказ]![Сумма]

Not IsNull([Формы]! [Текущий заказ]! [Код товара])
НаЗапись


Тип объекта
Имя объекта
Запись

Форма
Текущий заказ
Следующая



НаЗапись
Тип объекта
Имя объекта
Запись
Форма
Книга продаж
Следующая


Задание 6. Тестирование макроса.
Протестируйте созданные макросы и убедитесь, что они правильно формируют номер счета-фактуры и все продажи включают в таблицу Книга продаж.
Задание 7. Создание отчета о продаже товаров за определенный период.
На основе таблицы Книга продаж создайте отчет о продажах товаров покупателям за определенный период (рис. 9.21).

Рис.9 .21. Вид отчета о продажах товаров покупателям за определенный период
Пояснения.
Последовательность создания отчета может быть следующей.
1. Создайте запрос Группировка даты, для этого из таблицы Книга продаж выберите только одно поле Дата и сделайте по нему группировку.
2. Создайте форму в режиме Конструктора для определения периода, по которому будет выдаваться отчет (рис. 9.22). В этой форме разместите поля Начальная дата и Конечная дата в виде раскрывающихся списков. В качестве источника данных для этих полей выберите поле Дата из запроса Группировка даты.
Обязательно присвойте этим полям со списками соответствующие имена (Начальная дата, Конечная дата), задав их в окне свойств. Сохраните созданную форму под именем Выбор периода.


Рис. 9.22. Вид формы Выбор периода
3. Создайте запрос Группировка по номеру счета-фактуры на основе таблицы Книга продаж.
В запрос включите следующие поля: Номер счета-фактуры, Дата, Код покупателя, Стоимость продаж. Сделайте группировку по полю Стоимость продаж и установите групповую операцию Sum.
4. Создайте запрос Книга продаж для формирования отчета. В качестве источника данных для запроса выберите таблицу Покупатели и запрос Группировка по счету-фактуре.

Имя поля
Источник данных

Номер счета-фактуры
запрос Группировка по номеру счета-фактуры

Дата
запрос Группировка по номеру счета-фактуры

Наименование покупателя
таблица Покупатель

ИНН
таблица Покупатель

Sum_Стоимость продаж
запрос Группировка по номеру счета-фактуры


В поле Дата введите условие отбора:
BETWEEN[Формы]![Выбор периода]![Начальная дата]AND [Выбор периода]![Конечная дата]
5. Создайте отчет Книга продаж на основе запроса Книга продаж.
В заголовке отчета поместите надпись «Продажа за период» и поля Начальная дата и Конечная дата из формы Выбор периода.
В примечании отчета разместите поле Всего для подсчета общей суммы продаж за период.
7. В форме Выбор периода (рис. 9.22) создайте кнопку для просмотра отчета.
Вопросы и упражнения
Поясните назначение отчетов в Access.
Какие разделы отчета появляются по умолчанию в Конструкторе отчета? Какие еще разделы и как могут быть отображены в Конструкторе отчета?
Какими способами можно создать поле в отчете?
Как организовать сортировку и группировку данных в отчете?
Как создаются вычисляемые элементы управления?
Какое значение возвращает функция Date()?

Тема 10 Этапы разработки приложений

Проектирование и разработка любого приложения начинается с анализа предметной области. Рассмотрим этот процесс по шагам.

Шаг I.
Определение информационных потребностей пользователей базы данных.
Он включает в себя опрос будущих пользователей для того, чтобы понять и задокументировать их требования.
Следует выяснить следующие вопросы:
кто будет пользователем этой базы данных;
кто будет вводить данные в базу и в какой форме;
как часто будут изменяться данные;
какие запросы к базе данных могут быть у разных категорий пользователей.
Постарайтесь ответить на эти вопросы для своего варианта задания.
Шаг II.
Анализ объектов реального мира, которые необходимо смоделировать в базе данных.
Формирование концептуальной модели базы данных включает в себя:
идентификацию функциональной деятельности Вашей предметной области. Например, если речь идет о деятельности предприятия, то в качестве функциональной деятельности можно рассматривать следующие функции: Оформление заказов, Отгрузку продукции, Ведение учета работающих и т.п.;
идентификацию объектов, которые осуществляют эту функциональную деятельность (Это поможет Вам идентифицировать все сущности и взаимосвязи между ними.) Например, процесс «Ведение учета работающих» идентифицирует такие сущности как РАБОТНИК, ПРОФЕССИЯ, ОТДЕЛ;
Идентификацию характеристик этих сущностей.
Например, сущность РАБОТНИК может включать такие характеристики как Табельный номер, Фамилия, Имя, Отчество, Профессия, Зарплата
Идентификацию взаимосвязей между сущностями.
В реляционной модели объекты реального мира и взаимосвязи между ними представляются с помощью совокупности связанных между собой таблиц (отношений).
Покажем, например, каким образом сущности РАБОТНИК, ПРОФЕССИЯ, ОТДЕЛ взаимодействуют друг с другом?
РАБОТНИК имеет ПРОФЕССИЮ и значится в ОТДЕЛЕ, в то время как в одном ОТДЕЛЕ может работать много РАБОТНИКОВ.
Попытайтесь графически изобразить связи между сущностями и обозначить их глаголами. Заметим, что в проектировании информационных систем такие модели называются моделями «сущность - связь» или ER-моделями (от англ. Entity – сущность, Relationship - связь).
Шаг III.
Третий шаг заключается в установлении соответствия между сущностями и характеристиками предметной области и отношениями и атрибутами в нотации выбранной СУБД.
В качестве СУБД выбран Access 2007. Каждой сущности реального мира, обладающей некими характеристиками, можно поставить в соответствие отношение (таблицу) и набор атрибутов (полей).
Шаг IV.
На четвертом шаге для каждой таблицы определяются атрибуты, которые уникальным образом идентифицируют каждый объект.
Нужно определить первичный ключ для каждого из отношений. Если нет возможности идентифицировать кортеж с помощью одного атрибута, то первичный ключ нужно сделать составным – из нескольких атрибутов.
Шаг V.
Пятый шаг предполагает выработку правил, которые будут устанавливать и поддерживать целостность данных.
Эти правила включают:
определение типа данных;
установка значений по умолчанию;
определение ограничений целостности;
определение проверочных условий.
Шаг VI.
Устанавливаются связи между объектами (таблицами и столбцами) и производится операция нормализации таблиц.
Каждый из различных типов связей должен быть смоделирован в базе данных. Существует несколько типов связей:
связь “один-к-одному”
связь “один-ко-многим”
связь “многие-ко-многим”..
Связь “один-к-одному” представляет собой простейший вид связи данных, когда первичный ключ таблицы является в то же время внешним ключом, ссылающимся на первичный ключ другой таблицы.
Такую связь бывает удобно устанавливать тогда, когда невыгодно держать разные по размеру данные в одной таблице.
Например, можно выделить данные с подробным описанием изделия в отдельную таблицу с установлением связи «один-к-одному» для того чтобы не занимать оперативную память, если эти данные используются сравнительно редко.
Связь “один-ко-многим” в большинстве случаев отражает реальную взаимосвязь сущностей в предметной области. Она реализуется парой «внешний ключ - перв
· :·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·х ·
·
·
·
·
·
·
·
·
·тичный ключ».
Связь “многие-ко-многим” в явном виде в реляционных базах данных не поддерживается.
Однако имеется ряд способов реализации такой связи, которые с успехом возмещают ее отсутствие.
Например, можно ввести дополнительную таблицу, строки которой состоят из внешних ключей, ссылающихся на первичные ключи двух таблиц.
После определения таблиц, полей, индексов и связей между таблицами следует посмотреть на проектируемую базу данных в целом и проанализировать ее, используя правила нормализации, с целью устранения логических ошибок.
После применения правил нормализации логические группы данных располагаются не более чем в одной таблице. Это дает следующие преимущества:
данные легко обновлять или удалять;
исключается возможность рассогласования данных;
уменьшается возможность введения некорректных данных.
Процесс нормализации заключается в приведении таблиц в так называемые нормальные формы. С практической точки зрения, достаточно трех первых форм:
первая нормальная форма (1НФ),
вторая нормальная форма (2НФ),
третья нормальная форма (3НФ),
Процесс нормализации включает:
устранение повторяющихся групп (приведение к 1НФ)
удаление частично зависимых атрибутов (приведение к 2НФ)
удаление транзитивно зависимых атрибутов (приведение к 3НФ).
Шаг VII.
На этом шаге планируются вопросы надежности данных и сохранения секретности информации. Для этого необходимо ответить на следующие вопросы:
кто будет иметь права (и какие) на использование базы данных;
кто будет иметь права на модификацию, вставку и удаление данных;
как будет осуществляться контроль за корректностью вводимой информации;
нужно ли делать различие в правах доступа;
каким образом обеспечить общий режим защиты информации и т.п.

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

Практические задания
Цель практических заданий – приобретение навыков анализа предметной области, концептуального и логического проектирования базы данных, ее физической реализации в СУБД Access и создание на основе полученной базы данных приложения.
Студент может сам по желанию выбрать для моделирования любую другую предметную область, относящуюся к его профессиональной деятельности или представляющую для него интерес, например, связанную с темой его будущей дипломной работы.
Результат выполнения работы представляется в виде документа Word, который должен содержать:
анализ предметной области,
структуру спроектированных таблиц,
схему данных со связями между таблицами,
примеры форм, обеспечивающих интерфейс пользователя,
запросы (в режиме Конструктора и на языке SQL),
отчеты (в режиме отчета и в режиме Конструктора),

Варианты индивидуальных заданий

Вариант 1
Предметная область: «Ведение архива договоров»

Предполагается выполнение следующих процессов:
создание и ведение справочника заказчиков;
регистрация заключенных договоров с заказчиками;
учет выполнения договоров.
Необходимо спроектировать модель данных предметной области.
Отчеты, запросы, которые необходимо реализовать:
сведения о договорах, заключенных в период с ___ по___ ;
сведения о заказчиках, заключивших договоры на сумму, большую указанной, указать номера договоров;
сведения о договорах, срок действия которых закончится к определенной дате.

Вариант 2
Предметная область: «Учет материалов на складе»

Предполагается выполнение следующих процессов:
учет поступивших материалов;
учет материалов на ответственном хранении указанного материально ответственного лица;
учет выбывших материалов.
Необходимо спроектировать модель данных предметной области.
Отчеты, запросы, которые необходимо реализовать:
отчет о материалах, находящихся на ответственном хранении указанного материально ответственного лица;
отчет о поступивших материальных ценностях в период с ___ по ____ с указанием ФИО материально ответственного лица;
отчет о выбывших материальных ценностях указанного номенклатурного номера.

Вариант 3
Предметная область: «Библиотека»

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

Вариант 4
Предметная область: «Кадры предприятия»

Предполагается выполнение следующих процессов:
ведение справочника сотрудников;
учет вакантных мест;
учет движения кадров.
Необходимо спроектировать модель данных предметной области.
Отчеты, запросы, которые необходимо реализовать:
сведения об указанной группе сотрудников (сотрудники одного отдела, сотрудники с высшим образованием и т.д.);
сведения об имеющихся вакансиях;
сведения об уволенных сотрудниках.

Вариант 5
Предметная область: «Биржа труда»

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


Вариант 6
Предметная область: «Учет заявок на выполнение работ (услуг) рекламным агентством»

Выполняемые процедуры:
ведение каталога услуг (прайс листы);
учет поступивших заявок;
учет выполнения заявок (по срокам, объемам, исполнителям).
Необходимо спроектировать модель данных предметной области.
Отчеты, запросы, которые необходимо реализовать:
отчет об услугах, выполненных в период с___ по____;
отчет об объеме (стоимости) работ, выполненных указанным исполнителем;
отчет о невыполненных работах, услугах.

Вариант 7
Предметная область: «Агентство недвижимости»

Выполняемые процедуры:
учет предложений по продаже (вид недвижимости, клиент, характеристики жилья, цена).
учет заключенных договоров (риэлтер, клиент1, клиент2, предмет договора, объект договора, сумма сделки, вознаграждение агентства в процентах).
ведение справочных файлов базы данных: справочник видов недвижимости; справочник риэлтеров; справочник клиентов; справочник видов услуг.
Необходимо спроектировать модель данных предметной области.
Отчеты, запросы, которые необходимо реализовать:
подбор возможных вариантов по различным условиям, просмотр дополнительной информации по каждому варианту;
выбор заключенных договоров, удовлетворяющих каким-либо условиям;
расчет доходов агентства.

Вариант 8
Предметная область: «Учет выставочной деятельности»

Выполняемые процедуры:
ведение каталога участников выставки;
учет выставленных экспонатов.
Необходимо спроектировать модель данных предметной области.
Отчеты, запросы, которые необходимо реализовать:
список участников выставки, зарегистрированных на определенную дату;
сведения об указанном экспонате с указанием участника;
отчет по группам экспонатов (количество, представившие участники).

Вариант 9
Предметная область: «Научная конференция»
В
ыполняемые процедуры:
учет состава участников конференции;
учет мероприятий конференции (расписание мероприятий);
учет докладов, сообщений участников.
Необходимо спроектировать модель данных предметной области.
Отчеты, запросы, которые необходимо реализовать:
сведения о мероприятиях, проводимых в указанное время, указанную дату;
сведения об участниках, представивших доклад на заданную тему (контекстный поиск);
сведения о докладах, сообщениях, сделанных указанным участником.

Вариант 10
Предметная область «Страховая фирма»

Выполняемые процедуры:
учет заключенных договоров страхования ;
учет платежей;
учет страховых случаев;
учет страховых выплат.
Необходимо спроектировать модель данных предметной области. Состав файлов базы данных может быть следующим.
Файл базы данных договоров (клиент, вид страхования, страховая сумма, объект страхования, № договора, уровень риска, срок страхования, условия расторжения договора).
Файл базы данных платежей (клиент, № договора, дата внесения платежа, сумма).
Файл базы данных наступления страховых случаев (дата, № договора, вид страхового случая, выплачиваемая сумма, причина отказа, примечания).
Справочные файлы базы данных:
справочник клиентов;
справочник видов страхований;
справочник страховых случаев;
справочник условий расторжения договоров.

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

Задания повышенной сложности
(могут выполняться группой студентов из 2-3 человек)

Вариант 1
АРМ руководителя валютного отдела банка

1. Назначение: установление курса покупки-продажи валюты; учет количества проданной валюты, собственной выручки и размера перечисленных налогов; учет лиц, закупающих или продающих валюту в особо крупных размерах.
2. Состав файлов базы данных.
2.1. Файл базы данных покупки валют, содержащий следующую информацию: дата покупки, сведения о клиенте, сумма покупки, тип валюты.
2.2. Файл базы данных продажи валют (дата продажи, сведения о клиенте, сумма покупки, тип валюты).
2.3. Файл базы данных операций физических лиц (клиент, номер лицевого счета, тип операции, дата проведения операции, сумма, ставка процента и т.д.).
2.4. Файл базы данных операций юридических лиц (клиент, номер лицевого счета, тип операции, дата проведения операции, сумма, ставка процента и т.д.).
2.5. Справочные файлы базы данных:
справочник курсов валют (заполнятся ежедневно в начале рабочего дня);
справочник клиентов.
Для работы системы необходимо полное заполнение всех справочников.
3. Операции с базой данных.
3.1. Остановка операций банка на текущий день
Права по выполнению данной операции принадлежат начальнику отдела.
3.2. Редактирование справочных файлов базы данных.
3.3. Заполнение базы данных операций физических лиц.
Требования к реализации:
При истечении срока депозита, в зависимости от условий договора, депозит либо пролонгируется, либо переводится на «до востребования».
4. Запросы и печатные формы.
4.1. Сводка об объеме покупки, продажи валют по видам на определенную дату или за определенный период времени с указанием эквивалентной суммы в рублях.
4.2. Сводка об объеме привлеченных депозитов и средств на счета юридических лиц и сумма уплаченных процентов по депозитам и депозитным счетам на определенную дату или за определенный период времени.
4.3. Список клиентов банка с указанием суммы по каждому клиенту (возможна выборка по определенным условиям, например, номеру счета, признаку клиента, срока вклада и т.д.)
4.4. Объем имеющейся у банка валюты на определенную дату (по каждому виду валют) с указанием эквивалентной суммы в рублях.

Вариант 2
АРМ сотрудника отдела расчетно-кассового обслуживания банка

1. Назначение: автоматизация проведения платежей клиента.
2. Состав файлов базы данных.
2.1. Файл базы данных проводок, содержащий следующую информацию: текущая дата, расчетный счет плательщика, расчетный счет получателя, вид платежа, сумма.
2.2. Справочные файлы базы данных:
справочник клиентов.
Основанием для введения нового клиента является открытие нового расчетного счета;
справочник видов платежей.
3. Операции с базой данных.
3.1. Заполнение справочных файлов базы данных.
Перед началом работы необходимо заполнить все справочники.
3.2. Редактирование справочных файлов базы данных.
3.3. Заполнение основной базы данных.
При отсутствии денежных средств на расчетном счете плательщика проводка помечается как непроведенная.
Требования к реализации:
при обращении к расчетному счету выдается сообщение о сумме и количестве непроведенных платежей и остатке на расчетном счете плательщика;
возможность выбора проведения любого из непроведенных платежей.
3.4. Автоматическое выполнение платежа в зависимости от его вида (налоги в бюджет).
3.5. Начисление платы за расчетно-кассовое обслуживание.
4. Запросы и печатные формы.
4.1. Сводка в хронологическом порядке о всех операциях одного клиента.
4.2. Перечень всех операций на конкретную дату.
4.3. Группировка операция по видам платежей (возможность суммарной группировки и по каждому отдельному клиенту).
4.4. Список клиентов, их счетов и остатков на счетах.
4.5. Просмотр оборота по счетам за определенный период.

Вариант 3
АРМ сотрудника депозитария
1. Назначение: ведение реестра акционеров.
2. Состав файлов базы данных.
2.1. Файл базы данных приобретения ценных бумаг (дата покупки, акционер, вид ценной бумаги, количество ценных бумаг, № договора).
2.2. Файл базы данных продажи ценных бумаг (дата продажи, акционер, вид ценной бумаги, количество ценных бумаг, № договора).
2.3. Файл базы данных цен (дата, вид ценной бумаги, цена).
2.4. Файл базы данных договоров (№ договора, текст договора, контрагенты примечания).
2.5. Файл базы данных начисления дивидендов (дата начисления, вид ценных бумаг, процент начисления).
2.6. Файл базы данных заявлений (признак заявления (покупка/продажа), лицо, подавшее заявление, вид ценных бумаг, количество, ограничение на цену).
2.7. Справочные файлы базы данных:
справочник эмитентов, содержащий информацию об юридических лицах;
справочник держателей акций;
справочник ценных бумаг, содержащий информацию о том, кто и когда выпустил ценные бумаги.
3. Операции с базой данных.
3.1. Заполнение справочных файлов базы данных.
Перед началом работы необходимо заполнить все справочники.
3.2. Редактирование справочных файлов базы данных.
3.3. Заполнение баз данных приобретения и продажи ценных бумаг.
Требования к реализации:
если не введено хотя бы одно из полей, запись в базу данных не заносится;
при расчете суммы покупки, если для конкретной ценной бумаги на конкретную дату не установлена цена, использовать последнюю установленную цену;
необходима периодическая архивация данных.
3.4. Заполнение файла базы данных заявлений.
Требования к реализации:
- при вводе новой заявки происходит поиск удовлетворяющего варианта.

4. Запросы и печатные формы.
4.1. Объем заявлений на покупку/продажу какой-либо ценной бумаги того или иного юридического лица.
4.2. Сведения о количестве и типе ценных бумаг у определенного акционера.
4.3. Сведения о количестве держателей определенной ценной бумаги.
4.4. Сведения об объемах покупки/продажи за определенный период.
4.5. Динамика изменения цен и объемов продаж.

Вариант 4
АРМ работника отдела вкладов банка

1. Назначение: открытие, обслуживание и закрытие лицевых счетов.
2. Состав файлов базы данных:
2.1. Файл базы данных вкладов (клиент, дата вклада, вид вклада, сумма вклада, дата снятия).
2.2. Справочные файлы базы данных:
- справочник видов вкладов;
- справочник клиентов.
3. Операции с базой данных.
3.1. Заполнение справочных файлов базы данных.
Перед началом работы необходимо заполнить все справочники.
3.2. Редактирование справочных файлов базы данных.
3.3. Ведение основного файла базы данных.
Требования к реализации:
В зависимости от условий договора при окончании срока вклада и неснятии денежных средств клиентом, вклад либо пролонгируется, либо переводится "до востребования".
3.4. Ежедневный просмотр и начисление процентов.
3.5. Формирование проводки для бухгалтерии.
3.6. Удаление из базы данных и архивирование устаревших данных.
4. Запросы и печатные формы.
4.1. Отчет-список клиентов в зависимости от различных условий (срок вклада, номер лицевого счета, дата и т.д.).
4.2. Сумма полученных и уплаченных средств за определенный период.

Вариант 5
АРМ финансового менеджера

1. Назначение: определение наиболее выгодного вложения временно свободных денежных средств.
2. Состав файлов базы данных.
2.1. Файл базы данных вложений (дата, сумма, контрагент, вид вложения, срок вложения, предполагаемый доход).
2.2. Справочные файлы базы данных:
справочник законодательной базы;
справочник банков и условий вкладов;
справочник юридических лиц и видов их кредитования;
справочник видов ценностей и условий их покупки.
3. Операции с базой данных.
3.1. Заполнение справочных файлов базы данных.
Необходимо поддержание справочников каждый день.
3.2. Редактирование справочных файлов базы данных.
3.3. Ведение основной базы данных.
4. Запросы и печатные формы.
4.1. Список операций, сроки по которым истекают в ближайшие n дней.
4.2. Ранжирование способов вложения по доходности в зависимости от определенных условиях.
4.3. Выдача подтверждения получения денег

Вариант 6
АРМ сотрудника кредитного отдела

1. Назначение: осуществление ежедневных операций по обслуживанию кредитующихся предприятий.
2. Состав файлов базы данных.
2.1. Файл базы данных работы с клиентами (клиент, вид кредита, сумма кредита, код валюты, дата выдачи, срок кредита, штрафные проценты, сумма штрафа, дата возврата кредита, гарантия).
2.2. Файл базы данных желающих получить кредит (клиент, вид кредита, сумма, вид валюты).
2.3. Справочные файлы базы данных:
справочник видов кредитов;
справочник компаний;
справочник курсов валют.
3. Операции с базой данных.
3.1. Заполнение справочных файлов баз данных.
Перед началом работы необходимо заполнить все справочники.
3.2. Редактирование справочных файлов базы данных.
3.2. Ведение баз данных.
Требования к реализации:
если не указан код валюты, считать в рублях;
если не введены основные параметры, запись в базу данных введена не может быть;
если кредит возвращен, данная запись архивируется.
4. Запросы и печатные формы.
4.1. Объем выданных кредитов за период.
4.2. Объем полученных процентов за определенный период.
4.3. Любая информация по одному клиенту.
4.4. Объем просроченных кредитов на определенную дату.
4.5. Перечень всех фирм, удовлетворяющих определенным условиям.
4.6. Поиск фирм, желающих получить кредит при определенных условиях.
4.7. Сгруппировать кредиты по срочности (объему, количеству кредитов, просроченным задолженностям).

Вариант 7
АРМ сотрудника налоговой инспекции

1. Назначение: учет поступающих налогов, проверка расчета сумм налога.
2. Состав файлов базы данных.
2.1. Файл базы данных отчетности (дата отчета, дата предоставления отчета, статьи баланса, сумма налога по расчету предприятия, действительная сумма налога, отклонения, примечания).
2.2. Файл базы данных по налогам (юридическое лицо, дата отчета, вид налога, сумма по расчету предприятия, действительная сумма налога).
2.3. Справочные файлы базы данных:
справочник юридических лиц;
справочник ставок налога и методов расчета;
справочник сроков предоставления отчета.
3. Операции с базой данных.
3.1. Заполнение справочных файлов баз данных.
Перед началом работы необходимо заполнить все справочники.
3.2. Редактирование справочных файлов базы данных.
3.2. Ведение баз данных.
Требования к реализации:
- необходима защита данных от изменений.
4. Запросы и печатные формы.
4.1. Список юридических лиц, по которым выявлены нарушения:
несвоевременное предоставление отчета;
недовзнос суммы налога.
4.2. Сводные данные по отчетности на определенную дату по определенной категории юридического лица.
4.3. Справка о видах и ставках налога на определенную дату.
4.4. Сумма по каждому виду налога.

Вариант 8
АРМ сотрудника налоговой инспекции, работающего с физическими лицами

1. Назначение: Учет поступающих налогов, проверка расчета сумм налога.
2. Состав файлов базы данных.
2.1. Файл базы данных доходов, полученных в РФ (Дата, ФИО налогоплательщика, вид дохода, сумма налогооблагаемого дохода, номер месяца, сумма льгот, сумма исчисленного налога).
2.2. Файл базы данных доходов, полученных в иностранных государствах (дата, ФИО налогоплательщика, страна, код валюты, сумма в иностранной валюте, курс ЦБ на дату получения, сумма налога в рублях).
2.3. Файл базы данных доходов от иной деятельности (дата, ФИО налогоплательщика, вид дохода, сумма налогооблагаемого дохода, номер месяца, сумма льгот, сумма исчисляемого налога).
2.4. Справочные файлы базы данных:
- справочник физических лиц;
- справочник ставок налога;
- справочник сроков предоставления деклараций;
- справочник видов документов, удостоверяющих личность;
- справочник видов дохода;
- справочник стран и валют.
3. Операции с базой данных.
3.1. Заполнение справочных файлов баз данных.
Перед началом работы необходимо заполнить все справочники.
3.2. Редактирование справочных файлов базы данных.
3.3. Ведение баз данных.
Требования к реализации:
- необходима защита данных от изменений;
- при вводе данных по налогоплательщику автоматически осуществляется проверка правильности исчисления налогов налогоплательщиком.
Запросы и печатные формы.
Сумма дохода в зависимости от условий: страна, вид дохода.
Количество налогоплательщиков, получивших доход в заданных границах.
Сводные данные по отчетности на определенную дату.
Справка о видах и ставках налога на определенную дату.

Вариант 9
АРМ сотрудника таможни

1. Назначение: оформление, сбор и контроль за выплатой налогов на ввоз и вывоз ресурсов и готовой продукции за границы области, региона. Республики.
2. Состав файлов базы данных.
2.1. Файл базы данных налогов (дата, вид товара, категория товара, стоимость товара в руб., сумма акциза, сумма НДС, способ платежа, подробности подсчета (№ и дата платежного поручения)).
2.2. Файл базы данных уплаты налогов (клиент, вид товара, признак уплаты налогов)
2.3. Справочные файлы базы данных:
справочник налогов;
справочник участников ВЭД.
3. Операции с базой данных.
3.1. Заполнение справочных файлов баз данных.
Перед началом работы необходимо заполнить все справочники.
3.2. Редактирование справочных файлов базы данных.
3.2. Ведение баз данных.
Требования к реализации:
- необходима защита данных от изменений.
4. Запросы и печатные формы.
4.1. Список всех клиентов, работающих с определенным видом товара.
4.2. Справка о товарах, которые не облагаются НДС.
4.3. Список всех клиентов-должников.
4.4. Объем провезенных товаров по видам, категориям, периоду времени и т.д.

Вариант 10
АРМ сотрудника пенсионного фонда

1. Назначение: контроль за своевременной и правильной выплатой пенсий, учет лиц пенсионного возраста.
2. Состав файлов базы данных.
Файл базы данных начислений пенсий (№ лицевого счета, дата начисления, сумма начисления, отметка о выдаче, признак начисления [пересчет, основная пенсия и т.д.], примечания).
Файл базы данных пенсионеров (ФИО пенсионера, лицевой счет, дата рождения, адрес, категория пенсионера, льготы, дата постановки на учет, дата снятия с учета, причина снятия).
2.3. Справочные файлы базы данных:
справочник категорий пенсионеров ;
справочник минимальной заработной платы;
справочник начислений.
3. Операции с базой данных.
3.1. Заполнение справочных файлов баз данных.
Перед началом работы необходимо заполнить все справочники.
3.2. Редактирование справочных файлов базы данных.
3.3. Ведение основной базы данных.
Требования к реализации:
При снятии физического лица с учета данные о нем переносятся в архив.
4. Запросы и печатные формы.
4.1. Поиск людей, подходящим каким-либо условиям (район, возраст, категория пенсионеров и т.д.)
Количество пенсионеров, проживающих в данном районе.
Подсчет общей начисленной суммы по одному пенсионеру, по категории пенсионеров, по периоду времени и т.д.).
Подсчет статистических данных (количество лиц на учете, средний возраст безработных лиц, средний размер пенсии, период учета в зависимости от условий запроса).

Приложения
Приложение 1. Моделирование баз данных с помощью пакета ERwin
Основные функции пакета

С помощью CASE-средств можно автоматизировать работу по созданию базы данных на основе созданных логической модели и физической моделей данных.
ERwin – это программное средство, использующее методологию IDEF1X для концептуального моделирования баз данных (БД). Пакет ERwin реализует проектирование схемы БД и генерацию ее описания на языке целевой СУБД (ORACLE, Informix, Ingres, Sybase, Access и др.), а также реинжиниринг существующей БД.
Возможны две точки зрения на информационную модель и, соответственно, два уровня модели (рис. П.1). Первый – логический уровень (точка зрения пользователя) – прямое отображение фактов из реальной жизни. Например, сотрудники, отделы, продукция и компьютеры являются реальными объектами. Они именуются на естественном языке, с любыми разделителями слов (пробелы, запятые и т.д.).
На физическом уровне модели рассматривается использование конкретной СУБД, определяются типы данных (например, целое или вещественное число), индексы для таблиц. ERwin предоставляет возможности создавать как логические, так и физические модели баз данных. При этом термин «логическая модель» соответствует концептуальной модели.



Рис. П.1. Диалоговое окно создания новой модели в ERwin

Этапы построения базы данных:
определение сущностей;
определение зависимостей между сущностями;
задание первичных и альтернативных ключей;
определение атрибутов сущностей;
приведение модели к требуемому уровню нормальной формы;
переход к физическому описанию модели: назначение соответствий «имя сущности – имя таблицы», «атрибут сущности – столбец таблицы»;
задание триггеров, процедур и ограничений;
генерация базы данных.
ERwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться при детальном анализе, уточнении и распространении документации, необходимой в цикле разработки. Однако пакет ERwin – не только инструмент для рисования, он автоматически создает базу данных: таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными.

Создание логической модели

Создание сущности

Для внесения сущности в состав модели необходимо на панели инструментов (ERwin Toolbox) щелкнуть по кнопке 13 EMBED Word.Picture.8 1415, затем – по тому месту на диаграмме, где необходимо расположить новую сущность. Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Editor, можно вызвать диалоговое окно Entity Editor (рис. П.2), в котором указываются имя, описание и комментарии сущности.


Рис. П.2. Диалоговое окно для определения сущности

Каждую сущность необходимо полностью определить с помощью текстового описания на закладке Definition. Такие определения полезны не только на логическом уровне, где они позволяют понять характер объекта, но и на физическом уровне, поскольку их можно экспортировать как часть схемы и использовать в реальной БД. Закладки Note, Note2, Note3, UDP (User Defined Properties – Свойства, определенные пользователем) служат для внесения дополнительных комментариев и определений к сущности.
На закладке Icon каждой сущности можно поставить в соответствие разные значки для ее отображения в режиме просмотра модели на уровне иконок и на всех других уровнях.
Закладка UDP в диалоговом окне Entity Editor позволяет указать свойства, определяемые пользователем (User Defined Properties). При нажатии на расположенную здесь кнопку (вместо нее можно также воспользоваться пунктом Edit/UDPs в главном меню) вызывается диалоговое окно User Defined Property Editor.
Параметры символов для обозначения сущностей и атрибутов можно задать в диалоговом окне Default Fonts and Colors (рис. П.3), которое вызывается из контекстного меню (правой кнопкой мыши на свободном пространстве модели).


Рис. П.3. Диалоговое окно Default Fonts and Colors

Создание атрибутов
Для описания атрибутов следует после щелчка правой кнопкой мыши по сущности выбрать в появившемся меню пункт Attribute Editor. В результате откроется диалоговое окно Attribute (рис. П.4).

Рис. П.4. Диалоговое окно Attributes

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


Рис. П.5. Диалоговое окно для задания нового атрибута
Для атрибутов первичного ключа на закладке General в окне Attribute (рис. П.4) необходимо выбрать опцию Primary Key.
Закладки Definition, Note и UDP несут те же функции, что и при определении сущности, но на уровне атрибутов.
Для большей наглядности диаграммы с каждым атрибутом можно связать свою иконку. Это делается при помощи списка выбора Icon в закладке General.
Очень важно дать атрибуту правильное имя: атрибуты должны именоваться существительным в единственном числе и иметь четкое смысловое значение.
В соответствии с синтаксисом IDEF1X, имя атрибута должно быть уникальным не только в рамках сущности, но и по всей модели.
Тип связи (идентифицирующая/неидентифицирующая)
В IDEF1X различают зависимые и независимые сущности, причем тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Когда рисуется идентифицирующая связь, ERwin автоматически преобразует дочернюю сущность в зависимую (изображается прямоугольником со скругленными углами – рис. П.6).


Рис. П.6. Изображение сущностей и связи при построении логической модели
Экземпляр зависимой сущности определяется только через отношение к родительской сущности. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешние ключи – (FK).
При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав неключевых компонентов дочерней. Неидентифицирующая связь служит для связи независимых сущностей.
Идентифицирующая связь показывается на диаграмме сплошной линией с жирной точкой на дочернем конце связи, неидентифицирующая – пунктирной линией.
Для неидентифицирующей связи можно указать обязательность (опция Nulls на закладке General в диалоговом окне Relationship Editor). В случае обязательной связи (No Nulls) при генерации схемы БД атрибут внешнего ключа получит признак NOT NULL, несмотря на то, что внешний ключ не войдет в состав первичного ключа дочерней сущности. В случае необязательной связи (Nulls Allowed) внешний ключ может принимать значение NULL. Необязательная неидентифицирующая связь помечается прозрачным ромбом со стороны родительской сущности.
Создание связи

В палитре инструментов (ERwin Toolbox) предусмотрены следующие кнопки, которые позволяют создавать новые связи: – для идентифицирующей связи; – для неидентифицирующей связи; – для связи «многие-ко-многим». После выбора соответствующей кнопки следует щелкнуть сначала по родительской сущности, а затем – по дочерней.
Чтобы произвести редактирование свойств связи, необходимо щелкнуть правой кнопкой мыши по линии связи и в контекстном меню выбрать пункт Relationship Editor. При этом открывается диалоговое окно, в котором закладка General позволяет задать мощность, имя и тип связи.
Мощность связи (Cardinality) обозначает отношение числа экземпляров родительской сущности к числу экземпляров дочерней.
Различают четыре типа мощности:
1) общий случай, когда одному экземпляру родительской сущности может соответствовать любое положительное число экземпляров дочерней сущности (не помечается никаким символом);
2) символом P помечается случай, когда одному экземпляру родительской сущности соответствует не менее одного экземпляра дочерней сущности (нулевое значение исключено);
3) символом Z помечается случай, когда одному экземпляру родительской сущности соответствует не более одного экземпляра дочерней сущности (множественные значения исключены);
4) цифрой помечается случай, когда одному экземпляру родительской сущности соответствует заранее заданное число экземпляров дочерней сущности.
По умолчанию символ, обозначающий мощность связи, на диаграмме не показывается. Для отображения этого символа следует вызвать контекстное меню щелчком правой кнопки мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Relationship и затем включить опцию Cardinality.
Имя связи (Verb Phrase) – это фраза, которая характеризует отношение между родительской и дочерней сущностями. Для идентифицирующей или неидентифицирующей связи «один-ко-многим» достаточно указать имя, характеризующее отношение родительской сущности к дочерней (Parent-to-Child). Для связи «многие-ко-многим» следует указывать имена как Parent-to-Child, так и Child-to-Parent. Чтобы на диаграмме все связи отображались вместе со своими именами (рис. П.6), следует в контекстном меню, которое появляется при щелчке правой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Relationship и затем включить опцию Verb Phrase.

Правила ссылочной целостности (Referential Integrity – RI)

Это логические конструкции, которые выражают бизнес-правила использования данных и представляют собой правила вставки, замены и удаления. Задать правила ссылочной целостности можно на закладке Rolename/RI Actions в диалоговом окне Relationship Editor.
При генерации схемы БД на основе этих опций логической модели будут сгенерированы правила декларативной ссылочной целостности, предписанные для каждой связи, и триггеры, обеспечивающие ссылочную целостность.
Связь «многие-ко-многим» возможна только на уровне логической модели данных. Такая связь обозначается сплошной линией с двумя точками на концах. Для внесения этой связи следует сначала нажать кнопку 13 EMBED Word.Picture.8 1415 на палитре инструментов (ERwin Toolbox), а затем по очереди щелкнуть по обеим связываемым сущностям.
Чтобы облегчить чтение диаграммы, связь «многие-ко-многим» должна именоваться в обе стороны, т.е. двумя фразами (Verb Phrase).

Создание ключей

Каждый экземпляр сущности должен быть уникальным и отличаться от других экземпляров значениями своих атрибутов.
Первичный ключ (primary key) – это атрибут или группа атрибутов, однозначно идентифицирующих экземпляр сущности. На диаграмме атрибуты первичного ключа не требуют специального обозначения – они находятся в списке атрибутов выше горизонтальной линии. Если при внесении нового атрибута нужно сделать его атрибутом первичного ключа, то в диалоговом окне Attribute Editor следует включить флажок Primary Key в нижней части закладки General. Ключевой атрибут можно внести в состав первичного ключа и непосредственно на диаграмме, воспользовавшись операцией переноса атрибутов (кнопка в палитре инструментов).
В одной сущности может оказаться несколько атрибутов (или наборов атрибутов), претендующих на роль первичного ключа. Таких претендентов называют потенциальными ключами (candidate key). Многие сущности имеют только один потенциальный ключ, который и становится первичным. Некоторые сущности могут иметь более одного возможного ключа. Тогда один из них становится первичным, а остальные – альтернативными ключами. Альтернативный ключ (Alternative Key) – это потенциальный ключ, не ставший первичным.
Ключи могут быть сложными, т.е. содержащими несколько атрибутов. Сложные первичные ключи не требуют специального обозначения – это список атрибутов выше горизонтальной линии.
При выборе первичного ключа предпочтение должно отдаваться более простым ключам, т.е. ключам, содержащим меньшее количество атрибутов.
Каждому ключу соответствует индекс, имя которого также присваивается автоматически. Имена ключа и индекса при желании можно изменить вручную.
Внешние ключи (Foreign Key – FK) создаются автоматически при организации связей между сущностями, когда происходит так называемая миграция ключа и в дочерней сущности появляются ссылки на атрибуты первичного ключа. Эти новые атрибуты дочерней сущности образуют внешний ключ. Атрибуты внешнего ключа обозначаются символом (FK) после своего имени (рис. П.7).


Рис. П.7. Изображение сущностей и связей в логической модели

Домены

Доменом называют совокупность значений, из которых берутся значения атрибутов. Каждый атрибут может быть определен только на одном домене, но на каждом домене допускается определение нескольких атрибутов. В понятие домена входит не только тип данных, но и область значений данных. Например, можно объявить домен «Возраст» как положительное целое число, а затем определить атрибут «Возраст сотрудника» как принадлежащий этому домену.
Каждый домен в ERwin определяется только один раз, после этого он может использоваться как в логической, так и в физической модели.
На логическом уровне домены можно объявить без конкретных физических свойств. На физическом уровне они получают специфические свойства, которые можно изменить вручную. Наример, на логическом уровне домен «Возраст» может иметь тип Number, а на физическом уровне этому домену будет присвоен тип INTEGER.
При создании логической модели работа с доменами осуществляется в диалоговом окне Domain Dictionary Editor. Его можно вызвать из главного меню (пункт Edit/Domain Dictionary), а также из окна Attribute Editor с помощью кнопки, расположенной в верхней левой части закладки General.
В режиме Domain Dictionary Editor для создания нового домена нужно выполнить следующие действия:
щелчком по кнопке New открыть диалоговое окно New Domain;
выбрать родительский домен из списка Domain Parent. Новый домен создается на основе домена, который ранее объявлен пользователем, либо с использованием изначально существующего. По умолчанию ERwin имеет четыре предопределенных домена: String, Number, Blob, Datetime. Новый домен наследует все свойства родительского домена, но в дальнейшем эти свойства можно переопределить;
набрать имя домена в поле Logical Name. С помощью поля Physical Name можно также указать имя домена на физическом уровне. Если физическое имя не указано, то по умолчанию оно принимает значение логического имени;
щелкнуть по кнопке OK.
Диалоговое окно Domain Dictionary Editor позволяет связать домен с иконками двух типов:
Domain Icon – для отображения домена в общем списке доменов;
Icon Inherited by Attribute – для отметки в модели тех атрибутов, которые определены на данном домене.
Каждый домен может быть описан (закладка Definition), а также снабжен комментарием (закладка Note) или свойством, определенным пользователем (закладка UDP).
ERwin имеет специальный инструмент Independent Attribute Browser, который значительно облегчает создание в модели новых атрибутов с использованием описаний доменов. Соответствующее диалоговое окно вызывается (и скрывается) при нажатии комбинации клавиш CTRL+B. В списке этого окна нужно сначала выбрать домен, а затем с помощью мыши перенести его в какую-либо сущность, где будет создан новый атрибут, которому присваивается имя, указанное в поле Name Inherited by Attribute диалогового окна Domain Dictionary Editor. Если значение этого поля не задано, то по умолчанию новый атрибут принимает имя домена.
На физическом уровне диалоговое окно Domain Dictionary Editor позволяет редактировать физические свойства доменов. На соответствующей закладке, имя этой зависит от выбранного сервера БД, можно задать:
конкретный тип данных (в соответствии с определением домена);
правила присвоения NULL-значений;
правила валидации (проверки допустимых значений) и установки значений по умолчанию.
Правила валидации и значения по умолчанию должны быть предварительно описанными и поименованными. Для вызова диалоговых средств редактирования правил валидации и значений по умолчанию служат кнопки справа от соответствующих списков выбора (Valid и Default).

Создание физической модели

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


Рис. П.8. Физическая модель торговой фирмы


Сервер

Физический уровень представления модели зависит от выбранного сервера. ERwin поддерживает практически все распространенные СУБД, всего более 20 реляционных и нереляционных БД.
Для выбора СУБД служит редактор Target Server, вызов которого осуществляется с помощью пункта с помощью меню Database ( Choose Database в главном меню (доступен только на физическом уровне).
Диалоговое окно Target Server (рис. П.9) позволяет задать тип данных и опцию NULL для новых колонок, а также принимаемые по умолчанию правила ссылочной целостности. Кнопки в группе Default Non-Key Null Option разрешают или запрещают значения NULL для неключевых колонок.
По умолчанию ERwin генерирует имена таблиц, колонок и индексов по шаблону на основе имен соответствующих сущностей, атрибутов и ключей логической модели. Если в имени сущности или атрибута встречается пробел, то он заменяется символом подчеркивания. Автоматически создавая имена таблиц и колонок, ERwin учитывает максимальную длину имени и другие синтаксические ограничения, накладываемые СУБД. При генерации имени таблицы или колонки по умолчанию длина имени обрезается до максимальной длины, допустимой для выбранной СУБД.


Рис. П.9. Диалоговое окно Target Server для выбора СУБД

При смене СУБД ERwin предлагает автоматически преобразовать тип данных, связанный с каждым атрибутом, на ближайший, доступный для новой СУБД.

Таблицы

Для внесения новой таблицы на физическом уровне в модель можно вносить новые таблицы и связи. Связи между таблицами создаются точно так же, как на логическом уровне. Щелкнув правой кнопкой мыши по таблице и выбрав во всплывающем меню пункты Table Editor или Column Editor, можно вызвать редакторы для задания свойств таблиц и колонок.
Важно помнить, что все изменения, сделанные в Table Editor или Column Editor, не отражаются на именах сущностей и атрибутов, поскольку информация на логическом и физическом уровнях в ERwin хранится отдельно.
Редактор Table Editor позволяет задать свойства любой таблицы модели, отличные от значений по умолчанию, в том числе имя таблицы, синонимы, правила валидации, процедуры и т.д.
Колонки

Для задания свойств колонок, отличных от значений по умолчанию, служит редактор Column Editor. Чтобы вызвать его, нужно щелкнуть правой клавишей мыши по таблице и во всплывающем меню выбрать пункт Column Editor.
По умолчанию ERwin присваивает режимы нулевых значений всем неключевым колонкам, исходя из значений по умолчанию, устанавливаемых в редакторе Target Server. Для колонок первичного ключа и альтернативных ключей устанавливается режим NOT NULL.
При создании связи колонки первичного ключа родительской таблицы мигрируют в состав колонок дочерней таблицы в качестве внешнего ключа. Кнопка Migrate вызывает диалоговое окно Migrate Column Property, где можно определить, какие характеристики мигрировавшей колонки будут сохранены в дочерней таблице. В частности, для переноса каких-либо характеристик колонки необходимо включить соответствующую опцию, а для отказа от переноса – выключить.
Опциями в окне Migrate Column Property следует пользоваться очень осторожно. Это обусловлено следующими обстоятельствами:
1) новые свойства колонки перезаписывают (уничтожают) старые;
2) установленные опции действуют в рамках всей диаграммы, а не только текущей таблицы.

Представления

Представления (view) или, как их иногда называют, временные (производные) таблицы – это объекты БД, в которых данные не хранятся постоянно, как в обычной таблице, а формируются динамически при обращении к представлению.
Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц. Применение представлений позволяет разработчику БД обеспечить каждому пользователю (или группе пользователей) свой взгляд на данные, что решает проблемы простоты использования и безопасности данных.
ERwin имеет специальные инструменты для создания и редактирования представлений. Палитра инструментов на физическом уровне содержит кнопки внесения представлений и установления связей между таблицами и представлениями. Для внесения представления нужно сначала щелкнуть по кнопке , а затем по свободному месту диаграммы.
По умолчанию представление получает номер V_n, где n – уникальный порядковый номер представления. Для установления связи нужно щелкнуть по кнопке , затем по родительской таблице и, наконец, по представлению. Связи с представлениями и прямоугольники представлений отображаются на диаграмме пунктирными линиями.
Для редактирования представления служит диалоговое окно View Editor. Чтобы вызвать это окно, нужно щелкнуть правой кнопкой мыши по представлению и выбрать в меню пункт View Editor.

Правила валидации и значения по умолчанию

ERwin поддерживает правила валидации для колонок, а также значения, присваиваемые колонкам по умолчанию. Правило валидации задает список допустимых значений для конкретной колонки и(или) правила проверки допустимых значений. Значение по умолчанию будет занесено в колонку в случае, когда при вводе данных никакое другое значение явным образом не задано. Значение по умолчанию можно связать с каждой колонкой или доменом (если выбранная СУБД поддерживает домены).
Если щелкнуть по кнопке , расположенной справа от раскрывающегося списка Valid, то появляется диалоговое окно Validation Rule Editor, предназначенное для формирования правил валидации. Здесь можно задать максимальное и минимальное значение, а также тип валидации: проверка на сервере или в клиентском приложении.
Например, значение в колонке Age должно быть больше 18, но меньше 150. Для описания этого условия можно создать правило валидации, присвоив ему имя «Проверка_возраста» и включив в него выражение: Age BETWEEN 18 AND 150. Использование этого правила гарантирует, что СУБД выдаст сообщение об ошибке, если вводимый возраст находится вне границ заданного диапазона.
Правила валидации и значения по умолчанию после их создания можно присвоить одной или нескольким колонкам или доменам.

Индексы

Чтобы решить проблему поиска данных, СУБД использует особый объект, называемый индексом. Он подобен индексному указателю книги, где перечислены все номера страниц, посвященных конкретной теме. Индекс содержит информацию, отсортированную по одной или нескольким колонкам, и указывает на строки, в которых хранится конкретное значение колонки.
Например, если требуется искать клиента по его фамилии (рис. П.8), то можно создать индекс по колонке Фамилия покупателя таблицы Покупатель. В индексе имена клиентов будут отсортированы в алфавитном порядке. Для конкретного имени индекс будет содержать ссылку на соответствующую строку таблицы.
Для поиска клиента серверу направляется запрос с условием поиска: Фамилия покупателя = «Иванов». При выполнении запроса СУБД вместо того, чтобы просматривать по порядку все строки таблицы Покупатель, обращается к индексу. Поскольку в индексе значения хранятся в определенном порядке, нужно будет просмотреть данные в гораздо меньшем объеме, что значительно ускоряет выполнение запроса. Индексы можно создать для всех колонок таблицы, по которым часто производится поиск.
При генерации схемы физической БД ERwin автоматически создает отдельный индекс на основе первичного ключа каждой таблицы, а также на основе всех альтернативных ключей, внешних ключей и инверсионных входов, поскольку эти колонки наиболее часто используются для поиска данных.
Можно отказаться от генерации индексов по умолчанию и для повышения производительности создать собственные индексы. Администратор СУБД должен анализировать запросы, выполняемые наиболее часто, и для увеличения эффективности поиска при работе конкретных приложений создавать индексы для различных колонок с разным порядком сортировки.
Изменить характеристики существующего индекса или создать новый можно в редакторе Index Editor. Для его вызова следует щелкнуть правой кнопкой мыши по таблице и выбрать во всплывающем меню пункт Index.

Прямое и обратное проектирование

Процесс генерации физической схемы БД из логической модели данных называется прямым проектированием (Forward Engineering). При генерации физической схемы ERwin создает триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие возможности, доступные при определении таблиц в выбранной СУБД.
Процесс генерации логической модели из физической БД называется обратным проектированием (Reverse Engineering). Путем обратного проектирования ERwin позволяет получить логическую модель данных для имеющейся БД. После создания такой модели ее можно соответствующим образом конвертировать, а затем произвести прямое проектирование структуры БД для другой СУБД, т.е. переключиться на другой сервер.
Кроме режимов прямого и обратного проектирования, ERwin поддерживает синхронизацию между логической моделью и системным каталогом СУБД на протяжении всего жизненного цикла создания ИС.
Перед тем, как подключиться к СУБД, нужно создать пустую базу данных средствами Access (в нашем примере это - db2.mdb) (Пуск( Access(Новая база данных).
С помощью меню Database ( Database Connection осуществляется подключение к созданной СУБД Access (рис. П.10)


Рис. П.10. Диалоговое окно Access Connection

Для генерации системного каталога БД следует выбрать пункт Tools ( Forward Engineer/Schema Generation в главном меню или нажать кнопку на панели инструментов. В результате появится диалоговое окно Schema Generation (рис. П.11), которое имеет три закладки.


Рис. П.11. Диалоговое окно Schema Generation

Закладка Options этого окна служит для задания опций генерации объектов БД: триггеров, таблиц, представлений, колонок, индексов и т.д. Для установки опций генерации какого-либо объекта следует выбрать объект в левом списке закладки, после чего включить соответствующую опцию в правом списке.
В закладке Summary отображаются все опции, заданные в закладке Options.
Закладка Comment позволяет внести комментарий для каждого набора опций.
Кнопка Preview вызывает диалоговое окно Schema Generation Preview, в котором отображается SQL-скрипт, создаваемый ERwin для генерации системного каталога СУБД. Нажатие на кнопку Generate приведет к запуску процесса генерации схемы.
Кнопка Print предназначена для вывода на печать создаваемого ERwin SQL-скрипта.
Кнопка Report сохраняет тот же скрипт в ERS или SQL текстовом файле. Эти команды можно в дальнейшем редактировать любым текстовым редактором и выполнять при помощи соответствующей утилиты сервера.
Кнопка Generate запускает процесс генерации схемы. Возникает диалог связи с БД, устанавливается сеанс связи с сервером и начинает выполняться SQL-скрипт. При этом возникает диалог Generate Database Schema (рис. П.12).


Рис. П.12. Диалоговое окно Generate Database Schema

В диалогом окне Generate Database Schema сообщается, что генерация базы данных прошла успешно. Созданную базу данных и ее схему можно посмотреть в Access (рис. П.13 и 3.14).


Рис. П.13. Сгенерированная база данных


Рис. П.14. Схема сгенерированной базы данных

Для выполнения обратного проектирования следует выбрать пункт меню Tools ( Reverse Engineer
При этом возникает диалог Select Template (рис. П.15), в котором нужно выбрать шаблон диаграммы, затем диалог выбора СУБД и, наконец, диалог задания опций обратного проектирования Reverse Engineer – Set Options (рис. П.16).


Рис. П.15. Диалоговое окно Reverse Engineer – Select Template
После нажатия клавиши Next в диалоге Reverse Engineer – Set Options (рис. П.16) можно задать следующие опции:
группа Reverse Engineer From позволяет задать источник обратного проектирования – БД или SQL(DDL)-скрипт. При помощи кнопки Browse можно выбрать текстовый файл, содержащий SQL-скрипт;
группа Items to Reverse Engineer позволяет задать объекты БД, на основе которых будет создана модель. При помощи списка выбора Option Set, a также кнопок New, Update и Delete можно создавать и редактировать именованные конфигурации объектов БД, которые могут быть использованы многократно при других сеансах обратного проектирования;
группа Reverse Engineer (доступна только при обратном проектировании из БД) позволяет включить в модель системные объекты (окно выбора System Objects) и установить фильтр на извлекаемые таблицы по их владельцу.


Рис. П.16. Диалоговое окно Reverse Engineer – Set Options

После нажатия клавиши Next возникает диалоговое окно соединения с Access (рис. П.17).


Рис. П.17. Диалоговое окно Access Connection

В этом диалоге устанавливается сеанс связи с сервером (по нажатию кнопки Connect) и начинается процесс обратного проектирования. В результате процесса создается новая модель данных (рис. П.18).

Рис. П.18. Модель данных, созданная обратным проектированием
В процессе работы модель может изменяться и дополняться. С другой стороны, системный каталог БД может редактироваться другими проектировщиками. В результате спустя некоторое время после последнего сеанса обратного проектирования могут возникнуть расхождения между реальным состоянием системного каталога и моделью данных.
Для синхронизации системного каталога БД и текущей модели следует выбрать пункт меню Tools(Complete Compare или нажать кнопку на панели инструментов. Возникает диалог Complete Compare – Set Options, который во многом похож на описанный выше диалог Reverse Engineer-Set Options. Разница заключается в том, что, в отличие от обратного проектирования, сравнивать текущую модель можно не только с БД или SQL-скриптом, но и с другой моделью ERwin, хранящейся в файле или репозитории ModelMart.

Создание отчетов в пакете Erwin

Для генерации отчетов в ERwin имеется эффективный и простой в использовании инструмент – Report Browser. Он позволяет выполнять предопределенные отчеты (объединенные по типам), сохранять результаты их выполнения, создавать собственные отчеты, печатать и экспортировать их в распространенные форматы. Каждый отчет может быть настроен индивидуально, данные в нем могут быть отсортированы и отфильтрованы.
Диалог Report Browser вызывается кнопкой в панели инструментов ERwin.
Диалог Report Browser имеет собственное меню и панель инструментов.
По умолчанию Report Browser содержит предварительно определенные отчеты, позволяющие наглядно представить информацию об основных объектах модели данных как логической, так и физической.
Для выполнения отчета достаточно дважды щелкнуть по нему в дереве отчетов или щелкнуть мышью по соответствующей кнопке на панели инструментов. Результат выполнения отчета будет отображен в правом окне диалога Report Browser. Иконка результирующего набора будет также добавлена в дерево отчетов.

Приложение 2. Тесты
ВАРИАНТ 1
СУБД представляет собой:
совокупность языковых и программных средств
программные средства
централизованно хранящиеся данные

Структурированными моделями являются:
семантические сети
иерархические
реляционные

Преимуществами настольных СУБД по сравнению с корпоративными являются:
Простота использования
Большее быстродействие
Более низкая стоимость программного обеспечения

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

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

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

Таблица “Успеваемость” содержит следующие поля:

№ п/п
Название поля

1
Номер зачетной книжки

2
Код предмета

3
Дата сдачи

4
Оценка


Студент не может по одному предмету иметь несколько оценок
Ключом данной таблицы является:

1
2
1+2
1+2+3
1+2+3+4

Таблица “Сотрудник ” содержит следующие поля:

№ п-п
Название поля


Фамилия


Имя


Отчество


Табельный номер


Дата рождения


Пол


Должность


Вероятным ключом данной таблицы является:
1
2+3
1+2+3
4
4+5
1+5

Между атрибутами А, В, С, Д имеются следующие функциональные зависимости:
F (А,В) = С
F (В) =Д
Ключом отношения О (А,В,С,Д), содержащего все эти атрибуты, является:
А
В
С
Д
АВ

Между атрибутами А, В, С, Д имеются следующие функциональные зависимости:
А 13 SHAPE \* MERGEFORMAT 1415 В
В 13 SHAPE \* MERGEFORMAT 1415 С
В 13 SHAPE \* MERGEFORMAT 1415 Д
В какой нормальной форме находится отношение, содержащее все эти атрибуты?
Выбрать один из следующих вариантов ответов (укажите максимальную НФ):
1НФ
2НФ
3НФ
отношение не нормализовано
недостаточно информации, чтобы ответить на вопрос

Отношение, находящее в третьей нормальной форме (3НФ):
может не находится в 1НФ
может не находится в 2НФ
находится в 1НФ
находится во 2НФ


ФИО
Высш_мат.
Ин._яз.
БД

Х

Иванов
5
4
5



Якушкина
4
5
4

.


В приведенном варианте структуры БД изменение учебного плана:
приведет к необходимости изменения структуры таблицы
не потребует никаких изменений
потребует изменения хранимых данных:

На предприятии имеются цеха, каждый из которых содержит несколько участков. Каждый цех имеет название и номер. Номера цехов – от 1 до N. Участки нумеруются в пределах каждого цеха. Тип связи между объектами «Цех» и «Участок»:

1:1
1:M
M:1
М:М

Преподаватель может владеть одним или несколькими Предметами. Предметом владеют несколько преподавателей. Тип связи между объектами «Преподаватель» и «Предмет»:

1:1
М:М
1:M
M:1

Изображенная в IDEF1X ER модель:
правильно отображает предметную область
только один из атрибутов следовало сделать идентификатором объекта, остальные – обычными атрибутами
объект обязательно должен содержать не ключевые атрибуты



На рисунке (ER-модель в нотации IDEF1X) сущность О2 является:
независимой по идентификации
зависимой по идентификации



При использовании неидентифицирующей связи в ER-модели в нотации IDEF1X ключ основной сущности:
мигрирует в зависимую сущность
не мигрирует в зависимую сущность

При вводе данных в базу данных уникальность ключа проверяется:
при завершении ввода ключа
при переходе к следующей записи
при закрытии таблицы

Внешний ключ:
может быть уникальным
должен быть уникальным
может быть не уникальным

Язык SQL является:
языком описания данных
языком манипулирования данными
включает в себя два языка: язык описания данных и язык манипулирования данными
является непроцедурным языком запросов, к которому неприменимы понятия «язык описания данных» и «язык манипулирования данными»




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

В Access длина текстового поля:
не ограничена
меньше 256 символов
меньше 1024 символов

Какие из ниже перечисленных операций допустимы (имеют смысл) над полем типа “Дата”:
из даты вычесть дату
к дате прибавить число
дату умножить на число

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

Если от поля типа “дата” отнять целое число
в результате получится дата, отстоящая от исходной на число дней, равное второму слагаемому.
производить операции над полями разных типов нельзя; операция не будет выполнена.
операция будет выполнена, но ее результат не имеет смысла.




При связывании таблиц «Послужной список» и «Дети» связь надо «тянуть»
от таблицы «Послужной список» к таблице «Дети», так как связь всегда направлена справа налево
Направление связи не имеет значения
Эти таблицы связывать нельзя, так как в них не определены ключи
Эти таблицы связывать нельзя, так как они не имеют одноименных полей
Связывание этих таблиц противоречит сути реляционной модели, так как отношение между таблицами М:М

Каждый сотрудник имеет уникальный код в пределах всего института. На каждой кафедре обязательно работают хотя бы один преподаватель и лаборант, а аспиранты могут быть, а могут и не быть.
Изображенная в IDEF1X ER-модель:
правильно отображает предметную область
изображена идентифицирующая связь, а должна быть – неидентифицирующая
не правильно указаны кардинальные числа
Объекты «ПРЕПОДАВАТЕЛЬ», «ЛАБОРАНТ» и «АСПИРАНТ» отображены как подклассы объекта «КАФЕДРА», что не правильно
изображена неидентифицирующая связь, а должна быть – идентифицирующая
Идентификаторы объектов «ПРЕПОДАВАТЕЛЬ», «ЛАБОРАНТ» и «АСПИРАНТ» должны иметь одинаковые имена


Если для поля задано свойство «Условие на значения» то при вводе данных:
Значение поля должно быть введено обязательно
Обязательность ввода значения определяется значением свойства ««Обязательное поле»» и не зависит от того, задано или нет свойство «Условие на значения»
Значение может отсутствовать только в том случае, если в «Условие на значения» это явно задано
При заданном свойстве «Условие на значения» значение свойства поля «Обязательное поле» игнорируется

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

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

ВАРИАНТ 2
СУБД представляет собой:
совокупность программных средств и данных, находящихся под их управлением
совокупность языковых и программных средств
технические средства

Реляционные модели данных относятся к классу:
неструктурированных
частично структурированных
структурированных

Преимуществами настольных СУБД по сравнению с корпоративными являются:
Более низкая стоимость эксплуатации
Возможности масштабирования
Поддерживаемые объемы данных

К стадии даталогического проектирования относятся следующие из перечисленных ниже работ :
выявление ограничений целостности
определение способа хранения данных
определение состава таблиц (для реляционных баз данных)

Какие из перечисленных ниже утверждений являются истинными:
Атрибут может быть определен только на одном домене
Атрибут может быть определен на нескольких доменах
На одном домене могут быть определено несколько атрибутов

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

Таблица “Успеваемость” содержит следующие поля:

№ п/п
Название поля

1
Номер зачетной книжки

2
Код преподавателя

3
Код предмета

4
Номер семестра (по учебному плану)

5
Дата сдачи

6
Оценка


Студент может по одному предмету иметь несколько оценок (например, если предмет читается в течение нескольких семестров или студент пересдавал экзамен).
Один преподаватель может принимать экзамены по разным предметам.
Студент не может в один и тоже день несколько раз сдавать один и тот же экзамен, но может сдавать экзамен по одному и тому же предмету за разные семестры.
Ключом данной таблицы является:
1
3
1+3
1+2+3
1+2+3+4
1+3+4+5

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

Между атрибутами А, В, С, Д имеются следующие функциональные зависимости:
F(А) = С
F (С) = В
F (В) = Д

Ключом отношения О (А,В,С,Д), содержащего все эти атрибуты, является:
А
В
С
АВ
АВС

Между атрибутами А, В, С, Д имеются следующие функциональные зависимости:
А 13 SHAPE \* MERGEFORMAT 1415 В
В 13 SHAPE \* MERGEFORMAT 1415 С
В 13 SHAPE \* MERGEFORMAT 1415 Д
В какой нормальной форме находится отношение, содержащее все эти атрибуты?
Выбрать один из следующих вариантов ответов (укажите максимальную НФ):
1НФ
2НФ
3НФ
отношение не нормализовано
недостаточно информации, чтобы ответить на вопрос

Отношение, находящее в первой нормальной форме (1НФ):
может не находится в 3НФ
может не находится в 2НФ
находится в 3НФ
находится во 2НФ


ФИО
Предмет
Оценка

Иванов
Высш. мат
5

Якушкина
Высш. мат
4

Иванов
Ин. яз.
4

Якушкина
Ин. яз
5

.
.
..


В приведенном варианте структуры БД изменение учебного плана:
приведет к необходимости изменения структуры таблицы
не потребует никаких изменений
потребует изменения ранее введенных данных:

В Институте возможны перечисленные ниже ситуации: студент может одновременно учиться на нескольких специальностях, при этом он зачислен соответственно в несколько разных групп, студент может обучаться экстерном или дистанционно, при этом он не зачисляется в группу. Тип между объектами «Группа» и «Студент»

1:1
1:M
M:1
М:М

В институте разрешено внутривузовское совместительство, т.е. преподаватель может работать на одной или нескольких кафедрах. Тип связи между объектом «Преподаватель» и «Кафедра»:
1:1
М:М
1:M
M:1

Изображенная в IDEF1X ER модель:
правильно отображает предметную область
идентификатором объекта (Primary Key) обычно выбирают атрибут, который более полно определяет объект
объект обязательно должен содержать не ключевые атрибуты



Изображенный на рисунке фрагмент ER-модели в нотации IDEF1X означает:
В группе не может быть больше 10 человек
В группе не может быть меньше 10 человек
В группе должно быть ровно 10 человек


При описании сущности в нотации IDEF1X признак Primary Key :
должен быть задан хотя бы у одного атрибута
может быть задан, а может и отсутствовать
обязательно должно быть задано и только у одного атрибута

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

Для таблиц «Сотрудник» и «Дети» задано ограничение целостности связи.
В таблицу «Дети» можно ввести новую запись с кодом сотрудника, равным 5.
да
нет


Таблица «Сотрудник»


Таблица «Дети»





В таблице «Послужной список» при вводе данных:
поле «должность» обязательно должно быть заполнено, так как оно входит в состав составного ключа
поле «должность» может быть не заполнено, так как значение свойства «Обязательное поле» - «нет»
таблица описана некорректно: все поля, входящие в ключ, должны иметь значение свойства «Обязательное поле» - «да»




В описании таблицы "Дети":
ошибочно определен тип поля «код_сотрудника»
не определен ключ, что является обязательным в реляционных базах данных
ошибки отсутствуют




Редко, но могут быть ситуации, что у человека несколько детей имеют одинаковое имя.
Ключом таблицы «Дети» будет являться:
код_сотрудника
код_сотрудника+фио_ребенка
код_сотрудника+фио_ребенка+дата_рождения ребенка
таблица не имеет ключа
в качестве ключа обязательно надо создать дополнительное поле «код_ребенка»


В Access длина поля типа MEMO:
меньше 65 535 символов
не ограничена символов
меньше 256 символов
меньше 1024 символов

Если к полю типа “дата” прибавить целое число
производить операции над полями разных типов нельзя; операция не будет выполнена.
операция будет выполнена, но ее результат не имеет смысла.
в результате получится дата, отстоящая от исходной на число дней, равное второму слагаемому.




При связывании таблиц «Сотрудник» и «Кафедры» связь надо «тянуть»
от таблицы «Сотрудник» к таблице «Кафедры», так как связь всегда направлена справа налево
от таблицы «Сотрудник» к таблице «Кафедры», так как таблица «Сотрудник» содержит основную информацию, а таблица «Кафедры» является просто справочником
от таблицы «Кафедры» к таблице «Сотрудник», так как в паре таблиц «Сотрудник» - «Кафедры» основной является таблица «Кафедры», а зависимой – «Сотрудник»
Направление связи вообще не имеет значения

Поля связи должны:
иметь одинаковые имена
иметь одинаковые имена, тип и размер
иметь одинаковые тип и размер
иметь соответствующие друг другу типы и одинаковые размеры




В изображенном запросе таблицы связаны:
внутренним соединением (INNER JOIN
правым соединением (RIGHT JOIN)
левым соединением (LEFT JOIN)
вид связи определить нельзя

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

В состав Банка данных не входят:
описание базы данных
входные данные
описание пользователей
результатные документы (отчеты)
запросы

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

Ввод данных

поиск

корректировка

анализ данных


ВАРИАНТ 3
СУБД представляет собой:
совокупность языковых и технических средств
централизованно хранящиеся данные
совокупность языковых и программных средств

СУБД Access относится к классу
настольных
корпоративных
реляционных

Корпоративными СУБД являются:
Paradox
Progress
FoxPro

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

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

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

Таблица “Знание иностранных языков” содержит следующие поля:

№ п-п
Название поля

1
Код сотрудника

2
Название языка

3
Степень владения


Сотрудник может знать несколько иностранных языков, а может и не знать ни одного иностранного языка.
Ключом данной таблицы является:
1
2
1+3
1+2
1+2+3

Таблица “Сотрудник ” содержит следующие поля:

№ п-п
Название поля

1
ФИО

2
Табельный номер

3
дата рождения

4
пол

5
должность

Вероятным ключом данной таблицы является:
1
2
1+2
2+3
1+3

Между атрибутами А, В, С, Д имеются следующие функциональные зависимости:
F(А,В) = С
F (В) =Д
Ключом отношения О (А,В,С,Д), содержащего все эти атрибуты, является:
А
В
С
Д
АВ

Между атрибутами А, В, С, Д имеются следующие функциональные зависимости:
А,В 13 SHAPE \* MERGEFORMAT 1415 С
В 13 SHAPE \* MERGEFORMAT 1415 Д
В какой нормальной форме находится отношение О (А,В,С,Д), содержащее все эти атрибуты? Выбрать один из следующих вариантов ответов (укажите максимальную НФ):
1НФ,
2НФ
3НФ,
отношение не нормализовано,
недостаточно информации, чтобы ответить на вопрос

Отношение, находящее во второй нормальной форме (2НФ):
может не находится в 1НФ
может не находится в 3НФ


ФИО
Высш_мат.
Ин._яз.
БД

Иванов
5
4
5

Якушкина
4
5
4


Приведенная таблица находится;
В первой нормальной форме
Во второй нормальной форме
В третьей нормальной форме
Не нормализовано

В Институте возможны только перечисленные ситуации: студент может одновременно учиться только в одной группе, студент обязательно приписан к какой-нибудь группе. Тип связи между объектами «Студент» и «Группа»:

1:1
1:M
M:1
М:М

Преподаватель владеет одним Предметом. Предметом владеют несколько преподавателей. Тип связи между объектами «Преподаватель» и «Предмет»:

1:1
М:М
1:M
M:1

Изображенная в IDEF1X ER модель:
правильно отображает предметную область
идентификатором объекта следовало сделать ФАМИЛИЮ
ФАМИЛИЯ обозначена как уникальный атрибут, а, в принципе, могут быть однофамильцы



Изображенный на рисунке фрагмент ER-модели в нотации IDEF1X означает:
В группе должно быть ровно 10 человек
Слушатель обязательно учится в какой-либо группе
Слушатель может быть не приписан ни к какой группе


При описании атрибута сущности в нотации IDEF1X имя атрибута (Name):
должно обязательно присутствовать
может отсутствовать.

В таблице реляционной базы данных:
может быть только один внешний ключ
может быть несколько внешних о ключей

Описание таблицы создается командой:
DECLARE
OPEN
CREATE
DESCRIBE

Команда SELECT позволяет:
отбирать данные из одной или нескольких таблиц и выводить их на экран
создавать таблицы
корректировать данные
удалять отобранные записи




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




индексы определены правильно
поля «код_кафедры» и «ФИО» не являются уникальными и по ним индексировать нельзя
индексировать одновременно по полям «ФИО» и «код_сотрудника» не имеет смысла

Для каких из перечисленных ниже типов полей в описании базы данных отсутствует свойство размер поля:
текстовый
числовой
дата
логический

Какие из ниже перечисленных операций допустимы (имеют смысл) над полем типа “Дата”:
из даты вычесть дату
к дате прибавить дату
дату умножить на дату

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




При связывании таблиц «Послужной список» и «Дети» связь надо «тянуть»
от таблицы «Послужной список» к таблице «Дети», так как связь всегда направлена справа налево
Направление связи не имеет значения
Эти таблицы связывать нельзя, так как в них не определены ключи
Эти таблицы связывать нельзя, так как они не имеют одноименных полей
Связывание этих таблиц противоречит сути реляционной модели, так как отношение между таблицами М:М

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

Преимуществами Банков данных являются:
непротиворечивость и целостность данных
простота проектирования
наличие языковых средств, ориентированных на разные категории пользователей

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

Хранимые данные:

оперативные

охватывающие большой период времени,

детализированные

агрегированные


Корпоративными СУБД являются:
Access
Sybase
MS SQL Server


Словарь терминов
Атрибут
Свойство, характеризующее сущность, в таблице представляет собой заголовок таблицы.
Атрибут неключевой
Любой атрибут, не являющийся частью первичного ключа сущности. Неключевые атрибуты могут входить в инверсионный вход и (или) альтернативный ключ, а также могут быть внешними ключами.
Атрибут собственный
Атрибут, не являющийся внешним ключом. Собственный атрибут является представителем первичной связи с единичным доменом внутри информационной модели.
Атрибуты расширенные
Также называются «расширенная информация, относящаяся к определениям колонок». Представляют собой информацию, которую определяют с целью контроля за изображением на экране и валидацией данных, хранящихся в колонке.
База данных
Зарезервированный объем памяти на одном или нескольких устройствах хранения информации, используемый для хранения данных и определений объектов, например, таблиц и индексов.
Базовое имя
Исходное имя внешнего ключа, которому присвоено имя роли.
Бинарная связь
Связь, в которой ровно один экземпляр родительской сущности соответствует 0,1 или более экземплярам дочерней. В IDEF1X идентифицирующие, неидентифицирующие связи и связи подтипа являются бинарными связями.
Валидации правила
Правила проверки допустимых значений.
Вход инверсионный
Атрибут (атрибуты), который не определяют уникальным образом экземпляр сущности, но часто используются для обращения к экземплярам сущностей. ERwin генерирует неуникальные индексы для всех инверсионных входов.
Вычисляемое поле
Поле, определенное в запросе для вывода результата вычисления выражения, а не хранимых данных. Значение пересчитывается при каждом изменении выражения.
Вычисляемый элемент управления
Элемент управления в форме, отчете или на странице доступа к данным, в котором выводится результат вычисления выражения. Результат пересчитывается при каждом изменении любого значения, входящего в выражение.
Главная таблица
Таблица на стороне "один" при связи двух таблиц с отношением "один ко многим". В главной таблице должен существовать первичный ключ, а все записи в ней должны быть уникальными
Дискриминатор
Значение атрибута в экземпляре общего родителя определяет, к какому из возможных подтипов принадлежит этот экземпляр. Этот атрибут принято называть дискриминатором. Например, значение атрибута «пол» в экземпляре сущности «служащий» определяет, к какому из возможных подтипов (мужчина-служащий или женщина-служащий) принадлежит этот экземпляр.
Домен
Совокупность значений, из которых берутся значения атрибутов. Каждый атрибут может быть определен только на одном домене, но на каждом домене может быть определено множество атрибутов. В понятие домена входит не только тип данных, но и область значений данных. Например, можно определить домен «возраст» как положительное целое число и определить атрибут «возраст сотрудника» как принадлежащий этому домену. В ERwin домен может быть определен только один раз и использоваться как в логической, так и в физической модели .
Запрос
Вопрос о данных, хранящихся в таблицах, или требование на выполнение определенных действий с данными. Запрос позволяет объединить данные, находящихся в разных таблицах, использовать их в качестве источника данных для формы или отчета.
Запрос SQL
Запрос, состоящий из инструкции SQL. К запросам SQL относятся вложенные запросы, запросы к серверу, запросы на объединение и запросы определения данных.
Запрос к серверу
Запрос SQL, используемый для передачи команд напрямую на сервер базы данных ODBC. Запрос к серверу позволяет непосредственно работать с таблицами на сервере вместо обработки их данных с помощью ядра СУБД Microsoft Access.
Запрос на выборку
Запрос, в котором задается вопрос о данных, хранящихся в таблицах, и возвращается результирующий набор в форме таблицы без изменения самих данных.
Запрос на добавление
Запрос на изменение, добавляющий записи из результирующего набора в конец существующей таблицы.
Запрос на изменение
Запрос, в котором выполняется копирование или изменение данных. В число запросов на изменение входят запросы на добавление, удаление, создание таблицы и обновление. Имена таких запросов обозначены восклицательным знаком (!) в области переходов.
Запрос на обновление
Запрос на изменение в котором изменяется набор записей, удовлетворяющих указанным условиям поиска.
Запрос на объединение
Запрос, в котором используется оператор UNION для объединения результатов нескольких запросов на выборку.
Запрос на создание таблицы
Запрос (инструкция SQL), создающий новую таблицу, в которую копируются записи (строки) из существующей таблицы или результаты запроса.
Запрос на удаление
Запрос (инструкция SQL), которой удаляет записи, удовлетворяющие указанным условиям, из одной или нескольких таблиц
Запрос с параметрами
Запрос, в котором одно или несколько условий вводятся в интерактивном режиме пользователем. Запрос с параметрами не является отдельным типом запроса; он расширяет гибкость обычного запроса.
Индекс
Указатель на данное, размещенное в реляционной таблице, он предоставляет информацию о точном физическом их расположении
Каскадное обновление
Обновление всех связанных записей в связанной таблице или таблицах при изменении записи в главной таблице (при наличии отношений, обеспечивающих целостность данных между таблицами).
Каскадное удаление
Удаление всех связанных записей в связанной таблице или таблицах при удалении записи в главной таблице (при наличии отношений, обеспечивающих целостность данных между таблицами).
Кардинальность
Называется также «мощность связи». Отношение числа экземпляров родительской сущности к числу экземпляров дочерней. В IDEF1X кардинальность бинарных связей равна 1:n, где n может равняться:
0, 1 или более – обозначается пробелами,
1 или более – обозначается буквой «р»,
0 или 1 – обозначается буквой «z»,
ровно n – где n – некоторое число.
Кластер подтипа неполный
Если кластер подтипа не включает в себя все возможные подтипы (каждый экземпляр общего родителя не связан с одним подтипом), тогда кластер подтипа называется неполным. Например, если часть служащих работает на договорной основе, то кластер подтипа, состоящий из служащих на окладе и служащих с частичной занятостью, будет неполным.
Кластер подтипа полный
Кластер подтипа, включающий в себя все возможные подтипы. Например, любой служащий относится к мужскому или женскому полу. Кластер подтипа, состоящий из мужчины-служащего и женщины-служащего, является полным кластером подтипа.
Ключ альтернативный
1. Атрибут, который уникальным образом идентифицирует экземпляр сущности.
2. Если правилу 1 удовлетворяет более, чем один атрибут (группа атрибутов), то альтернативным ключом называются те атрибуты или группы атрибутов, которые не были выбраны в качестве первичного ключа.
ERwin генерирует уникальный индекс для каждого альтернативного ключа.
Ключ внешний
Атрибут, мигрировавший от родительской сущности к дочерней через связь. Представляет собой вторичную ссылку на единичный домен, где первичной ссылкой является собственный атрибут.
Ключ первичный
1. Атрибут (атрибуты), который(е) уникальным образом идентифицирует экземпляр сущности.
2. Если более, чем один атрибут (группа атрибутов) удовлетворяют правилу 1, то первичный ключ выбирается из этого списка кандидатов, исходя из того, каким представляется его значение для бизнеса в качестве идентификатора. В идеале первичные ключи не должны меняться со временем и должны быть как можно меньшего размера. ERwin генерирует уникальный индекс для каждого первичного ключа.
Ключа внешнего миграция
Ситуация, при которой ключ родительской сущности автоматически появляется в ключе дочерней сущности со значком (FK), обозначающим внешний ключ.
Кнопка
Элемент управления, используемый для запуска макроса, вызова функции Visual Basic или запуска процедуры обработки событий. В других программах кнопки иногда называют командными кнопками.
Конструктор
Режим, в котором отображается макет следующих объектов базы данных: таблицы, запросы, формы, отчеты и макросы. В конструкторе можно создавать новые объекты базы данных или изменять макет существующих.
Лента MS Access 2007.
Широкая полоса в верхней части окна программы, на которой расположены группы команд.
Макрокоманда
Основной стандартный блок макроса; автономная инструкция, которая может применяться отдельно или в сочетании с другими макрокомандами для автоматизации задач. В других языках макросов макрокоманды иногда называют просто командами.
Макрос
Макрокоманда или набор макрокоманд, используемый для автоматизации задач.
Метамодель
Определяет структуры данных, необходимые для хранения всей нужной информации о диаграмме, включающей в себя определения, адреса, шрифты, цвета и т.д.
Нормализация данных
Процесс, направленный на уменьшение избыточности информации в реляционной базе данных. Нормализация несет с собой немало преимуществ. Очевидно, что в нормализованной базе данных уменьшается вероятность возникновения ошибок, она занимает меньше места на жестком диске и т.д.
Отчет
Средство отображения информации из базы данных в виде печатного документа.
Представление
Объект БД, данные в котором не хранятся постоянно, как в таблице, а формируются динамически при обращении к нему. Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц. Применение представлений позволяет разработчику БД обеспечить каждому пользователю или группе пользователей свой взгляд на данные, что решает проблемы простоты использования и безопасности данных.
Проектирование обратное
Процесс генерации логической модели из физической базы данных.
Проектирование прямое
Процесс генерации физической модели (схемы базы данных) из логической модели данных.
Репозиторий
База данных проекта. Может хранить: структурные диаграммы, определения экранов и меню, проекты отчетов, описания данных, логику обработки, модели данных, их организации и обработки, исходные коды, элементы данных и т.п. На основе репозитория осуществляется интеграция CASE-средств и разделение системной информации между разработчиками в соответствии с их правами доступа.
Связь
Служит для описания связей или отношений между сущностями.
Связь идентифицирующая
Связь, в которой экземпляр дочерней сущности идентифицируется с помощью своего отношения к родительской сущности. Атрибуты первичного ключа родительской сущности становятся атрибутами первичного ключа дочерней.
Связь неидентифицирующая
Связь, в которой экземпляр дочерней сущности не идентифицируется с помощью ее отношения к родительской сущности. Атрибуты первичного ключа родительской сущности становятся неключевыми атрибутами дочерней.
Связь неопределенная
Связи «родительская-дочерняя сущность» и связи подтипа считаются определенными связями, поскольку они точно определяют, каким образом экземпляры одной сущности связаны с экземплярами другой. Однако на начальных этапах разработки модели часто бывает полезно задание «неопределенных» связей между двумя сущностями. Неопределенная связь, которую называют также связью «многие-ко-многим», – отношение между двумя сущностями, при котором каждый экземпляр первой сущности связан с 0, 1 или более экземплярами второй сущности и каждый экземпляр второй сущности связан с 0, 1 или более экземплярами первой сущности.
Связь определенная
Отношение между сущностями, в котором каждый экземпляр родительской сущности связан с 0, 1 или более экземплярами дочерней сущности и каждый экземпляр дочерней сущности связан с 0 или 1 экземплярами родительской сущности.
Связь подтипа
Связью подтипа категоризационной связью называют связь между сущностью подтипа и ее групповым родителем. Связь подтипа всегда связывает один экземпляр группового родителя с 0 или 1-м экземпляром подтипа.
Сегмент
Именованное множество из одного устройства или более, зарезервированное для использования какой-то определенной базой данных SQL Server. Созданный сегмент можно использовать для хранения объектов базы данных, например, таблиц и индексов.
Сегмент отката
Зарезервированный объем памяти внутри табличного пространства, используемое для хранения «снимка» данных в том виде, в котором они находились до выполнения транзакции. Если транзакция не завершится вследствие сбоя, все изменения данных откатываются и восстанавливается тот образ данных, который хранится в сегменте отката.
Словарь ERwin
База данных, которая генерируется из метамодели ERwin и в которой хранится информация о структурах данных, используемых в моделях, в отличие от бизнес-информации, хранящейся в других базах данных.
Ссылочная целостность
Утверждение, что для значений внешнего ключа в экземпляре родительской сущности существуют соответствующие значения родительской сущности.
Сущность
Набор реальных или абстрактных предметов (людей, мест, событий и т.д.), имеющих общие атрибуты или характеристики.
Сущность зависимая
Сущность, экземпляры которой не могут быть уникальным образом идентифицированы, если не определена ее связь с другой сущностью или сущностями.
Сущность независимая
Сущность, экземпляры которой могут быть уникальным образом идентифицированы без определения ее связи с другой сущностью.
Сущность подтипа
Сущность, которая является типом другой сущности. Например, служащий, работающий на окладе – это определенный тип служащего. Они полезны при формулировании таких связей, которые допустимы только для данного подтипа, например, того факта, что служащий на окладе имеет право на определенную пенсию, а служащий, работающий на условиях частичной занятости, не имеет такого права. В IDEF1X подтипы внутри кластера подтипа являются взаимно исключающими.
Схема
Структура базы данных. Как правило, строится на основе файла скрипта, написанного на DDL (языке определения данных). DDL состоит из операторов CREATE TABLE, CREATE INDEX и других.
Таблица
Объект базы данных, в котором данные хранятся в виде записей (строк) и полей (столбцов). Данные в отдельной таблице обычно относятся к определенной категории (например, сведения о сотрудниках или заказах).
Триггер
Процедура (именованный блок кода SQL), которая выполняется автоматически при свершении определенного события.
Унификация
Слияние двух или более атрибутов внешнего ключа в один атрибут внешнего ключа на основе утверждения, что значения исходных атрибутов внешнего ключа должны быть идентичны.
Уровень логический
Представление и моделирование предметов непосредственно из реального мира.
Уровень физический
Информация, относящаяся к модели, которая определяется в зависимости от базы данных и СУБД; например, таблицы, колонки, типы данных и т.д.
Форма
Объект базы данных, который можно использовать для ввода, изменения или отображения данных из таблицы или запроса.
Формат ERX
Собственный текстовый формат ERwin, позволяющий сохранять информацию, которая содержится в графической модели данных, в виде текстового описания.
Формат SML
Специальный тип файла, предназначенный для хранения информации, относящейся к модели «Сущность-связь», в текстовом формате.
CASE-технология
Совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем, поддерживаемая комплексом средств автоматизации.

Список литературы
Автоматизированные информационные технологии в экономике / [ Cкачайте файл, чтобы посмотреть ссылку ] – М.: [ Cкачайте файл, чтобы посмотреть ссылку ], 2006. – 400 с.
Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. – М.: Финансы и статистика, 1998. – 176 с.
Грабер М.. SQL. Справочное руководство – М: ЛОРИ, 2006.
Гурвиц Г.А. Microsoft Access 2007. Разработка приложений на реальном примере. – СПб. БХВ-Петербург, 2010.– 496 с.
Диго С. М. Базы данных: проектирование и использование: Учебник. - М.: Финансы и статистика, 2005. – 592 с.
Информационные системы и технологии в экономике и управлении. Учебник / Под ред. проф. В.В. Трофимова. – М.: Высшее образование, 2007. – 480с.
Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite. – М.: Диалог-МИФИ, 2003. – 432 с.

ОГЛАВЛЕНИЕ
13 TOC \o "1-3" \h \z \u 1413 LINK \l "_Toc314077660" 14Тема 1. Знакомство с оболочкой Access 13 PAGEREF _Toc314077660 \h 1431515
13 LINK \l "_Toc314077661" 14Запуск программы 13 PAGEREF _Toc314077661 \h 1431515
13 LINK \l "_Toc314077662" 14Оболочка Access 13 PAGEREF _Toc314077662 \h 1441515
13 LINK \l "_Toc314077663" 14Создание новой базы данных 13 PAGEREF _Toc314077663 \h 1451515
13 LINK \l "_Toc314077664" 14Окно базы данных 13 PAGEREF _Toc314077664 \h 1451515
13 LINK \l "_Toc314077665" 14Тема 2. Проектирование таблиц базы данных 13 PAGEREF _Toc314077665 \h 1491515
13 LINK \l "_Toc314077666" 14Cоздание базы данных 13 PAGEREF _Toc314077666 \h 1491515
13 LINK \l "_Toc314077667" 14Создание таблиц 13 PAGEREF _Toc314077667 \h 14111515
13 LINK \l "_Toc314077668" 14Определение полей таблицы 13 PAGEREF _Toc314077668 \h 14141515
13 LINK \l "_Toc314077669" 14Задание свойств полей 13 PAGEREF _Toc314077669 \h 14141515
13 LINK \l "_Toc314077670" 14Определение ключевого поля 13 PAGEREF _Toc314077670 \h 14151515
13 LINK \l "_Toc314077671" 14Создание связей между таблицами. 13 PAGEREF _Toc314077671 \h 14171515
13 LINK \l "_Toc314077672" 14Тема 3. Ввод и редактирование записей 13 PAGEREF _Toc314077672 \h 14221515
13 LINK \l "_Toc314077673" 14Ввод данных непосредственно в таблицу 13 PAGEREF _Toc314077673 \h 14221515
13 LINK \l "_Toc314077674" 14Ввод данных с использованием поля со списком 13 PAGEREF _Toc314077674 \h 14241515
13 LINK \l "_Toc314077675" 14Импортирование таблицы в свою базу данных 13 PAGEREF _Toc314077675 \h 14281515
13 LINK \l "_Toc314077676" 14Тема 4. Создание простых форм 13 PAGEREF _Toc314077676 \h 14311515
13 LINK \l "_Toc314077677" 14Автоматическое создание формы в столбец. 13 PAGEREF _Toc314077677 \h 14311515
13 LINK \l "_Toc314077678" 14Создание формы в режиме мастера форм. 13 PAGEREF _Toc314077678 \h 14341515
13 LINK \l "_Toc314077679" 14Создание формы с вкладками. 13 PAGEREF _Toc314077679 \h 14371515
13 LINK \l "_Toc314077680" 14Создание формы в режиме конструктора 13 PAGEREF _Toc314077680 \h 14401515
13 LINK \l "_Toc314077681" 14Тема 5. Разработка сложных форм 13 PAGEREF _Toc314077681 \h 14411515
13 LINK \l "_Toc314077682" 14Создание сложной формы. 13 PAGEREF _Toc314077682 \h 14411515
13 LINK \l "_Toc314077683" 14Создание вычисляемых полей 13 PAGEREF _Toc314077683 \h 14441515
13 LINK \l "_Toc314077684" 14Добавление управляющих элементов в форму. 13 PAGEREF _Toc314077684 \h 14471515
13 LINK \l "_Toc314077685" 14Тема 6. Создание запросов с помощью Мастера 13 PAGEREF _Toc314077685 \h 14521515
13 LINK \l "_Toc314077686" 14Формирование простых запросов 13 PAGEREF _Toc314077686 \h 14521515
13 LINK \l "_Toc314077687" 14Перекрестный запрос 13 PAGEREF _Toc314077687 \h 14551515
13 LINK \l "_Toc314077688" 14Поиск повторяющихся записей 13 PAGEREF _Toc314077688 \h 14581515
13 LINK \l "_Toc314077689" 14Поиск записей, не имеющих подчиненных 13 PAGEREF _Toc314077689 \h 14591515
13 LINK \l "_Toc314077690" 14Тема 7. Формирование запросов с помощью Конструктора 13 PAGEREF _Toc314077690 \h 14611515
13 LINK \l "_Toc314077691" 14Конструирование запроса 13 PAGEREF _Toc314077691 \h 14611515
13 LINK \l "_Toc314077692" 14Выполнение запроса 13 PAGEREF _Toc314077692 \h 14631515
13 LINK \l "_Toc314077693" 14Ввод условий отбора 13 PAGEREF _Toc314077693 \h 14631515
13 LINK \l "_Toc314077694" 14Сортировка записей в выборке 13 PAGEREF _Toc314077694 \h 14651515
13 LINK \l "_Toc314077695" 14Проведение группировки и групповых вычислений 13 PAGEREF _Toc314077695 \h 14651515
13 LINK \l "_Toc314077696" 14Вычисляемые поля в запросах 13 PAGEREF _Toc314077696 \h 14671515
13 LINK \l "_Toc314077697" 14Запрос с параметрами 13 PAGEREF _Toc314077697 \h 14691515
13 LINK \l "_Toc314077698" 14Запрос на обновление 13 PAGEREF _Toc314077698 \h 14701515
13 LINK \l "_Toc314077699" 14Основы SQL 13 PAGEREF _Toc314077699 \h 14701515
13 LINK \l "_Toc314077700" 14Тема 8. Создание макросов 13 PAGEREF _Toc314077700 \h 14731515
13 LINK \l "_Toc314077701" 14Создание макроса 13 PAGEREF _Toc314077701 \h 14761515
13 LINK \l "_Toc314077702" 14Примеры макросов 13 PAGEREF _Toc314077702 \h 14791515
13 LINK \l "_Toc314077703" 14Отладка макросов 13 PAGEREF _Toc314077703 \h 14811515
13 LINK \l "_Toc314077704" 14Тема 9. Проектирование выходных документов с помощью отчетов 13 PAGEREF _Toc314077704 \h 14831515
13 LINK \l "_Toc314077705" 14Разделы отчета 13 PAGEREF _Toc314077705 \h 14831515
13 LINK \l "_Toc314077706" 14Создание отчета при помощи стандартного средства Отчет 13 PAGEREF _Toc314077706 \h 14841515
13 LINK \l "_Toc314077707" 14Создание отчета с помощью Мастера отчетов 13 PAGEREF _Toc314077707 \h 14851515
13 LINK \l "_Toc314077708" 14Формирование отчета с помощью конструктора 13 PAGEREF _Toc314077708 \h 14911515
13 LINK \l "_Toc314077709" 14Тема 10 Этапы разработки приложений 13 PAGEREF _Toc314077709 \h 141031515
13 LINK \l "_Toc314077710" 14Практические задания 13 PAGEREF _Toc314077710 \h 141071515
13 LINK \l "_Toc314077711" 14Варианты индивидуальных заданий 13 PAGEREF _Toc314077711 \h 141071515
13 LINK \l "_Toc314077712" 14Задания повышенной сложности 13 PAGEREF _Toc314077712 \h 141121515
13 LINK \l "_Toc314077713" 14Приложения 13 PAGEREF _Toc314077713 \h 141261515
13 LINK \l "_Toc314077714" 14Приложение 1. Моделирование баз данных с помощью пакета ERwin 13 PAGEREF _Toc314077714 \h 141261515
13 LINK \l "_Toc314077715" 14Основные функции пакета 13 PAGEREF _Toc314077715 \h 141261515
13 LINK \l "_Toc314077716" 14Создание логической модели 13 PAGEREF _Toc314077716 \h 141271515
13 LINK \l "_Toc314077717" 14Создание физической модели 13 PAGEREF _Toc314077717 \h 141371515
13 LINK \l "_Toc314077718" 14Прямое и обратное проектирование 13 PAGEREF _Toc314077718 \h 141421515
13 LINK \l "_Toc314077719" 14Приложение 2. Тесты 13 PAGEREF _Toc314077719 \h 141501515
13 LINK \l "_Toc314077720" 14Словарь терминов 13 PAGEREF _Toc314077720 \h 141721515
13 LINK \l "_Toc314077721" 14Список литературы 13 PAGEREF _Toc314077721 \h 141821515
15








13 PAGE \* MERGEFORMAT 141015


13 PAGE \* MERGEFORMAT 142515


13 PAGE \* MERGEFORMAT 143215


13 PAGE \* MERGEFORMAT 143315


13 PAGE \* MERGEFORMAT 1418615





13 EMBED PBrush 1415

13 EMBED PBrush 1415

13 EMBED PBrush 1415


Контрольная работа
Ответить письменно и сдать преподавателю. Пользоваться можно любыми источниками.
Ответ на п.7 дать модификацией БД и продублировать рисунком в ответе.






·

·



&

·

·

·

·

·

·

·

·

·

·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Рисунок 5Рисунок 4Рисунок 2Рисунок 1Рисунок 14Рисунок 11Рисунок 10Рисунок 1Рисунок 1Рисунок 1Root EntryНовое пос>
·
·
·
·
·14Новое пособиеAccessРисунок 1Рисунок 1Рисунок 1Рисунок 1Рисунок 1Рисунок 2Рисунок 3Рисунок 4Рисунок 6Рисунок 7Рисунок 8Рисунок 12Рисунок 13Рисунок 2Рисунок 5Рисунок 4Рисунок 1Рисунок 1Рисунок 1Рисунок 1Рисунок 1Рисунок 1Рисунок 1Рисунок 1Рисунок 1Рисунок 115Times New Roman

Приложенные файлы

  • doc 15620112
    Размер файла: 7 MB Загрузок: 0

Добавить комментарий