ГБОУ СПО «Тверской химико-технологический колледж» Методические указания к практическим занятиям

advertisement
ГБОУ СПО «Тверской химико-технологический колледж»
Методические указания к практическим занятиям
по профессиональному модулю
ПМ.02 Участие в разработке информационных систем
для специальности 230401 Информационные системы (по отраслям)
Тверь
2013
ОДОБРЕНЫ
на заседании ЦК дисциплин
профессионального цикла
Протокол № _____
от «___»__________ 201__ г.
Принято
Методическим Советом
Протокол
№ ___ от «___»__________ 201__ г.
Председатель ЦК
__________ Н.А. Щеголева
Составлены в соответствии с учебным
планом
и
рабочей
программой
профессионального
модуля
ПМ.02
Участие в разработке информационных
систем для подготовки по специальности
230401 Информационные системы (по
отраслям)
Составитель: А.А. Пирогова
Преподаватель
ЦК
дисциплин
профессионального цикла ГБОУ СПО
«Тверской
химико-технологический
колледж»
Содержание
1 Пояснительная записка ……………………………………………………………...
3
2 Инструкция по технике безопасности ……………………………………………...
5
3 Перечень практических работ ………………………………………………………
6
4 Методические указания к практическим занятиям ………………………………..
8
Список литературы …………………………………………………………………….
171
1 Пояснительная записка
Методические указания к практическим работам по профессиональному модулю
ПМ.02 Участие в разработке информационных систем предназначены для студентов по
специальности 230401 Информационные системы (по отраслям).
Цель методических указаний: оказание помощи студентам в выполнении
практических работ по ПМ.02 Участие в разработке информационных систем.
Настоящие методические указания содержат практические работы, которые
позволят студентам закрепить теорию по наиболее сложным разделам профессионального
модуля и направлены на формирование следующих компетенций:
ОК 1. Понимать сущность и социальную значимость своей будущей профессии,
проявлять к ней устойчивый интерес.
ОК 2. Организовывать собственную деятельность, выбирать типовые методы и
способы выполнения профессиональных задач, оценивать их эффективность и качество.
ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за
них ответственность.
ОК 4. Осуществлять поиск и использование информации, необходимой для
эффективного выполнения профессиональных задач, профессионального и личностного
развития.
ОК
5.
Использовать
информационно-коммуникационные
технологии
в
профессиональной деятельности.
ОК 6. Работать в коллективе и команде, эффективно общаться с коллегами,
руководством, потребителями.
ОК 7. Брать на себя ответственность за работу членов команды (подчиненных),
результат выполнения заданий.
ОК 8. Самостоятельно определять задачи профессионального и личностного
развития,
заниматься
самообразованием,
осознанно
планировать
повышение
квалификации.
ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной
деятельности.
ОК 10. Исполнять воинскую обязанность, в том числе с применением полученных
профессиональных знаний (для юношей).
ПК 2.1. Участие в разработке технического задания.
ПК 2.2. Программирование в соответствии с требованиями технического задания.
3
ПК 2.3. Применение методики тестирования разрабатываемых приложений.
ПК 2.4. Формирование отчетной документации по результатам работ.
ПК 2.5. Оформление программной документации в соответствии с принятыми
стандартами.
ПК
2.6.
Использование
критериев
оценки
качества
и
надежности
функционирования информационной системы.
В результате выполнения практических работ по профессиональному модулю
студенты должны уметь:
- осуществлять математическую и информационную постановку задач по
обработке информации, использовать алгоритмы обработки информации для различных
приложений;
- решать прикладные вопросы интеллектуальных систем с использованием
статических экспертных систем, экспертных систем реального времени;
-
использовать
языки
структурного,
объективно-ориентированного
программирования и языка сценариев для создания независимых программ, разрабатывать
графический интерфейс приложения;
- создавать проект по разработке приложения и формулировать его задачи,
выполнять управление проектом с использованием инструментальных средств.
Практические занятия по профессиональному модулю проводятся в лаборатории
информационных технологий, оборудованной:
- рабочими местами обучающихся и преподавателя (персональные компьютеры с
доступом к сети Интернет);
- мультимедийным проектором с экраном;
- программным обеспечением профессионального назначения.
4
2 Инструкция по технике безопасности
СТРОГО ЗАПРЕЩАЕТСЯ:

Трогать разъёмы соединительных кабелей.

Прислоняться к экрану и тыльной стороне монитора.

Включать и выключать компьютер без разрешения преподавателя.

Прислоняться к проводам и устройствам заземления.

При обнаружении запаха гари немедленно остановить работу, выключить
компьютер и сообщить преподавателю.
ПЕРЕД НАЧАЛОМ РАБОТЫ:

Убедитесь в отсутствии видимых повреждений рабочего места.

Запрещается работать во влажной одежде, в верхней одежде, с влажными
руками.

На рабочем месте размещаются тетрадь и учебные пособия так, чтобы они
не мешали работе.
ВО ВРЕМЯ РАБОТЫ:
 При работе находитесь на расстоянии 60-80 см от компьютера.
 Строго выполняйте вышеуказанные правила.
 Следите за исправностью аппаратуры.
 Немедленно прекратите работу при появлении звука и немедленно сообщите
преподавателю.
 Пользуйтесь клавиатурой с чистыми руками.
 Никогда не пытайтесь сами устранить неисправность при работе с аппаратурой.
 Не вставайте со своих мест, когда входит посетитель.
ПО ОКОНЧАНИИ РАБОТЫ:

Выключите компьютер, наведите порядок на рабочем месте.

Сдайте рабочее место преподавателю, сообщите о всех неполадках.
5
3 Перечень практических работ
МДК.02.01.
Информационные
технологии
и
платформы
разработки
информационных систем.
Раздел 2. Структурный подход к проектированию программного обеспечения.
Тема 2.5. Практикум по структурному проектированию.
Практическая работа № 1: Описание предметной области организации.
Практическая работа № 2: Построение начальной контекстной диаграммы и полной
контекстной диаграммы.
Практическая работа № 3: Построение концептуальной модели данных (ER-диаграммы).
Раздел 3. Объектно-ориентированный подход к проектированию программного
обеспечения.
Тема 3.2. Диаграммы классов.
Практическая работа № 4: Общие сведения о диаграммах классов.
Практическая работа № 5: Ассоциации.
Практическая работа № 6: Атрибуты, операции, обобщения, ограничения.
Практическая работа № 7: Сложные элементы диаграмм классов.
Практическая работа № 8: Механизм пакетов.
Раздел 4. Технология разработки информационных систем в среде СУБД Microsoft
Access.
Тема 4.1. Проектирование реляционных баз данных.
Практическая работа № 9: Реляционные базы данных: таблицы, ключи, отношения.
Практическая работа № 10: Нормализация базы данных. Приведение БД к третьей
нормальной форме.
Тема 4.2. Создание и модификация таблиц.
Практическая работа № 11: Конструктор таблиц. Типы данных в MS Access. Настройка
свойств «Размер поля», «Подпись», «Число десятичных знаков», «Условие на значение»,
«Значение по умолчанию».
Практическая работа № 12: Настройка свойств «Формат поля» и «Маска ввода».
Практическая работа № 13: Настройка заполнения поля путем подстановки.
Практическая работа № 14: Объявление ключевых и индексируемых полей.
Практическая работа № 15: Модификация таблицы. Операции с таблицами в окне БД.
Практическая работа № 16: Определение связей между таблицами в схеме данных.
Изменение и удаление связей.
Практическая работа № 17: Поддержка целостности данных. Каскадные операции.
Практическая работа № 18: Режим таблицы. Ввод данных, изменение макета таблицы,
просмотр связанных таблиц, поиск, фильтрация.
Тема 4.3. Создание запросов и формирование отчетов.
Практическая работа № 19: Назначение и виды запросов. Вычисляемые поля. Групповые
операции.
Практическая работа № 20: Конструктор запросов. Создание простых запросов, запросов с
параметрами, запросов с группировкой.
Практическая работа № 21: Мастер отчетов. Корректировка отчета в режиме макета.
Тема 4.4. Реализация пользовательского интерфейса – форм ввода и кнопочных
форм.
Практическая работа № 22: Формы ввода данных. Автоформы. Конструктор форм.
Практическая работа № 23: Этапы создания интерфейса пользователя. Кнопочные формы.
Практическая работа № 24: Макросы.
6
Тема 4.5. Практикум по разработке ИС.
Практическая работа № 25: Понятие БД. Структурированные данные. Кодирование
информации.
Практическая работа № 26: Создание БД из одной таблицы.
Практическая работа № 27: Использование связанных таблиц. Создание форм и отчетов.
Практическая работа № 28: Работа с данными при помощи запросов.
Практическая работа № 29: Создание страницы удаленного доступа к данным.
Практическая работа № 30: Автоматизация задач с помощью макросов.
Практическая работа № 31: Анализ таблиц.
Практическая работа № 32: Вычисления в запросах и отчетах.
Практическая работа № 33: Построение форм со средствами автоматического перехода.
МДК.02.02. Управление проектами.
Раздел 2. Практикум по управлению проектами.
Тема 2.1. Управление проектами в MS Excel.
Практическая работа № 1: Проект «Снеси-построй».
Практическая работа № 2: Распределение финансовых ресурсов по времени в процессе
выполнения проекта.
Практическая работа № 3: Сетевые диаграммы и расчет сети по модели «узел – работа».
Практическая работа № 4: Изучение влияния длительности отдельных стадий на
длительность проекта.
Практическая работа № 5: Сокращение длительности проекта.
Практическая работа № 6: Исследование соотношения «длительность-издержки».
Тема 2.2. Управление проектами в MS Project.
Практическая работа № 7: Основы работы в MS Project. Подготовка к созданию проекта.
Практическая работа № 8: Создание нового проекта.
Практическая работа № 9: Настройка базового календаря.
Практическая работа № 10: Ввод работ.
Практическая работа № 11: Создание и оформление графика работ. Просмотр
критического пути.
Практическая работа № 12: Ввод таблицы ресурсов. Назначение ресурсов.
Практическая работа № 13: Различные виды просмотра информации в проекте.
Практическая работа № 14: Решение проблемы перегрузки ресурсов.
Практическая работа № 15: Способы оптимизации графика работ.
Практическая работа № 16: Отслеживание хода выполнения работ и фактических затрат.
7
4 Методические указания к практическим занятиям
ПРАКТИЧЕСКАЯ РАБОТА № 1:
ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ ОРГАНИЗАЦИИ.
В качестве предметной области рассматривается работа одного из подразделений
государственной налоговой инспекции (ГНИ), а именно подразделения учета
налогоплательщиков-организаций (юридических лиц). Модели строятся с использованием
нотации CASE-средства Silverrun.
Прикладная система, разрабатываемая для данного подразделения, должна
обеспечивать информационную поддержку функции
учета и регистрации
налогоплательщиков-организаций. Реализация функции учета включает следующие
действия:
• первичную постановку на налоговый учет (налогоплательщик первый раз становится
на учет);
• повторную постановку на налоговый учет (налогоплательщик уже имеет ИНН
(идентификационный номер налогоплательщика));
• снятие с налогового учета (без ликвидации юридического лица);
• снятие с налогового учета (при ликвидации юридического лица);
• ведение Государственного реестра (Госреестра) налогоплательщиков;
• учет сведений об открытии и закрытии банковских счетов налогоплательщика;
• сверку данных по расчетным счетам налогоплательщиков с коммерческими банками;
• прием заявлений налогоплательщиков об изменении учетной политики, организации
учета и отчетности.
Налогоплательщик-организация в соответствии с пунктом 1 статьи 83 Налогового
кодекса подлежит постановке на учет в налоговом органе:
• по месту нахождения организации;
• по месту нахождения филиалов и представительств организации;
• по месту нахождения принадлежащего организации недвижимого имущества и
транспортных средств, подлежащих налогообложению.
Учет и регистрация выполняются налоговым инспектором ГНИ.
Налогоплательщик должен представить следующие документы:
• заявление о постановке на учет;
• устав организации;
• письмо с кодами статистики из Госкомстата;
• свидетельство о государственной регистрации юридического лица, полученное в
Государственной регистрационной палате;
• протокол собрания учредителей.
Заявление регистрируется в журнале движения документов. Формы и документы
проверяются на соответствие законодательству, полноту заполнения и точность
представленной информации. Если документы в порядке, налогоплательщику
присваиваются ИНН (десятизначный цифровой код) и код причины постановки на учет
(КПП), которые записываются в свидетельство о регистрации и в журнал регистрации
предприятий. КПП представляет собой девятизначный цифровой код, состоящий из кода
ГНИ (4 знака), кода причины постановки на учет (2 знака) и порядкового номера
постановки на учет по соответствующей причине (3 знака). Данные из заявления о
постановке на учет вводятся в базу данных ГНИ с последующим занесением в Госреестр.
Вводимые данные проверяются на правильность по соответствующим справочникам.
Свидетельство о регистрации представляется руководителю налоговой инспекции на
8
подпись и печать. После выполнения всех формальных процедур налогоплательщику
выдается свидетельство о постановке на учет в налоговом органе, предъявив которое он
может открыть расчетный счет в каком-либо банке. Об открытии счета банк и
налогоплательщик должны известить налоговую инспекцию по специальной форме.
После того как информация о расчетном счете введена в базу данных налоговой
инспекции, налогоплательщик может платить налоги.
По каждому налогоплательщику в БД должны храниться следующие данные
реестра:
• ИНН;
• КПП;
• наименование плательщика;
• юридический адрес;
• фактический адрес;
• номер расчетного счета и атрибуты банка, его обслуживающего;
• полные атрибуты учредителей плательщика (как юридических, так и
физических лиц);
• дата регистрации;
• размер уставного фонда;
• данные о директоре и бухгалтере;
• код ФС (формы собственности);
• код ОПФ (организационно-правовой формы);
• код ОКПО (общероссийский классификатор предприятий и организаций);
• код ОКОНХ (общероссийский классификатор отрасли народного хозяйства);
• вид деятельности;
• место регистрации;
• регистрационный номер;
• сведения о подразделениях (филиалах, дочерних предприятиях и др.);
• иностранные инвестиции;
• информация о всех счетах предприятия (валютные, текущие, субсчета и др.).
Получаемая в результате БД является основой для последующих камеральных
проверок и ведения лицевых карточек предприятий.
9
ПРАКТИЧЕСКАЯ РАБОТА № 2:
ПОСТРОЕНИЕ НАЧАЛЬНОЙ КОНТЕКСТНОЙ ДИАГРАММЫ
И ПОЛНОЙ КОНТЕКСТНОЙ ДИАГРАММЫ.
На стадии формирования требований к ПО строятся начальная контекстная DFD,
контекстные диаграммы, определяется состав потоков данных и конструируется
концептуальная модель данных в виде ERD.
Из описания предметной области следует, что в процессе работы данной
подсистемы ГНИ участвуют налогоплательщики и другие подсистемы. Эти объекты
являются внешними сущностями. Они не только взаимодействуют с системой, но также
определяют ее границы и изображаются на начальной контекстной DFD как терминаторы.
Начальная контекстная диаграмма в нотации Гейна-Сэрсона изображена на рис.
2.40.
Для завершения анализа функционального аспекта системы строится полная
контекстная диаграмма, включающая диаграмму нулевого уровня (рис. 2.41). При этом
подсистема учета и регистрации декомпозируется на четыре процесса. Существующие
"абстрактные" потоки данных между терминаторами и процессами трансформируются в
потоки, представляющие обмен данными на более конкретном уровне.
10
11
ПРАКТИЧЕСКАЯ РАБОТА № 3:
ПОСТРОЕНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ ДАННЫХ
(ER-ДИАГРАММЫ).
Концептуальная модель данных в виде ERD (рис. 2.42) строится исходя из
следующих соображений:
• сущности могут быть распознаны как структуры данных в DFD. Чтобы
рассматривать объект в качестве сущности, он должен обладать более чем одним
атрибутом;
• связи должны отражать наличие взаимодействия между сущностями, причем в
системе должна сохраняться информация об этом взаимодействии.
С использованием построенных структур данных определяются атрибуты каждой
сущности и изображаются на диаграмме. Внешние ключи можно не показывать,
поскольку они определяются связями между сущностями. Выделяются (при
необходимости) зависимые от идентификатора сущности и связи "супертип-подтип".
Проверяется соответствие между описанием структур данных и концептуальной
моделью (все элементы данных должны быть использованы в качестве атрибутов).
На стадии проектирования выполняются детальное описание функционирования
системы, дальнейший анализ используемых данных и построение реляционной модели
для последующего проектирования базы данных. Определяется структура
пользовательского интерфейса. Результатами проектирования являются:
• модель системных процессов;
• архитектура ЭИС;
• модели данных приложений;
• модель пользовательского интерфейса.
На стадии реализации выполняются генерация SQL-предложений, определяющих
структуру целевой БД (таблицы, индексы, ограничения целостности), и генерация кода
приложений.
На основе анализа потоков данных и взаимодействия процессов с хранилищами
данных осуществляется окончательное выделение подсистем (предварительное должно
быть сделано и зафиксировано на этапе формулирования требований в техническом
задании). При выделении подсистем необходимо руководствоваться принципами
функциональной связанности и минимизации информационной зависимости. Необходимо
учитывать, что на основании таких элементов подсистемы, как процессы и данные, на
этапе разработки должно быть создано приложение, способное функционировать
самостоятельно. С другой стороны, при группировке процессов и данных в подсистемы
необходимо учитывать требования к конфигурированию продукта, если они были
сформулированы на этапе анализа.
12
Следует запомнить:
Сущность структурного подхода к разработке ПО ЭИС заключается в его
декомпозиции (разбиении) на автоматизируемые функции. В структурном анализе
используются в основном две группы средств, иллюстрирующих функции, выполняемые
системой, и отношения между данными.
Основные понятия:
Диаграммы потоков данных, диаграммы "сущность-связь", функциональная
модель, внешняя сущность, процесс, накопитель данных, поток данных, сущность, связь,
атрибут.
Вопросы для самоконтроля:
1. В чем заключаются основные принципы структурного подхода?
2. Что общего и в чем различия между методом SADT и моделированием потоков данных?
3. В чем заключаются достоинства и недостатки структурного подхода?
13
ПРАКТИЧЕСКАЯ РАБОТА № 4:
ОБЩИЕ СВЕДЕНИЯ О ДИАГРАММАХ КЛАССОВ.
Диаграммы классов являются центральным звеном объектно-ориентированных
методов. Диаграмма классов определяет типы объектов системы и различного рода
статические связи, которые существуют между ними. Имеются два основных вида
статических связей:
• ассоциации (например, клиент может сделать заказ);
• подтипы (частный клиент является разновидностью клиента).
На диаграммах классов изображаются также атрибуты классов, операции классов и
ограничения, которые накладываются на связи между объектами.
На рис. 3.2 изображена типичная диаграмма классов.
Перед тем как приступить к описанию диаграмм классов, следует обратить
внимание на один важный момент, связанный с характером использования этих диаграмм
разработчиками. Этот момент обычно никак не документируется, однако оказывает
существенное воздействие на способ интерпретации диаграмм и поэтому имеет важное
отношению к тому, что описывается с помощью модели.
Построение диаграмм классов можно рассматривать в различных аспектах:
• концептуальный аспект – диаграммы классов отображают понятия изучаемой
предметной области (моделируемой организации). Эти понятия, естественно, будут
соответствовать реализующим их классам, однако такое прямое соответствие зачастую
14
отсутствует. На самом деле концептуальная модель может иметь весьма слабое
отношение или вообще не иметь никакого отношения к реализующему ее программному
обеспечению, поэтому ее можно рассматривать как не зависимую от средств реализации
(языка программирования);
• аспект спецификации – модель спускается на уровень ПО, но рассматриваются
только интерфейсы, а не программная реализация классов (под интерфейсом здесь
понимается набор операций класса, видимых извне);
• аспект реализации – модель действительно определяет реализацию классов ПО.
Этот аспект наиболее важен для программистов.
Понимание аспекта имеет большое значение как для построения, так и для чтения
диаграмм классов. К сожалению, различия между аспектами не столь отчетливы, и
большинство разработчиков при построении диаграмм допускают их смешение.
При построении диаграммы необходимо выбрать единственный аспект. При
чтении диаграммы следует выяснить, в соответствии с каким аспектом она строилась.
Если нужно интерпретировать эту диаграмму правильным образом, то без такого знания
не обойтись
Tочка зрения на диаграммы классов, не будучи собственно формальной частью
UML, однако при построении и анализе моделей является крайне важной. Конструкции
UML можно использовать с любой из трех точек зрения. Большинство опытных
разработчиков-программистов предпочитают аспект реализации. С другой стороны
очевидно, что построение диаграмм классов на стадии формирования требований к ПО
должно выполняться с концептуальной точки зрения.
15
ПРАКТИЧЕСКАЯ РАБОТА № 5: АССОЦИАЦИИ.
На рис. 3.2 изображена простая модель классов, связанная с обработкой заказов
клиентов. Опишем каждый фрагмент модели и рассмотрим его возможную
интерпретацию с различных точек зрения.
Ассоциации представляют собой связи между экземплярами. С концептуальной
точки зрения ассоциации представляют собой концептуальные связи между классами. На
диаграмме показано, что Заказ должен поступить от единственного Клиента, а Клиент в
течение некоторого времени может сделать несколько Заказов. Каждый из этих Заказов
содержит несколько Строк заказа, каждая из которых соответствует единственному
Продукту.
Каждая ассоциация обладает двумя ролями; каждая роль представляет собой
направление ассоциации. Таким образом, ассоциация между Клиентом и Заказом
содержит две роли: одна от Клиента к Заказу, другая – от Заказа к Клиенту.
Роль может быть явно поименована с помощью метки. Например, роль ассоциации
в направлении от Заказа к Строкам заказа называется "позиции заказа". Если такая метка
отсутствует, роли присваивается имя класса-цели – таким образом, роль ассоциации от
Заказа к Клиенту может быть названа Клиент (термины "начало" (source) и "цель" (target)
употребляются для обозначения классов, являющихся соответственно начальным и
конечным для ассоциации).
Роль также обладает множественностью, которая показывает, сколько объектов
может участвовать в данной связи. На рис. 3.2 символ "*" над ассоциацией между
Клиентом и Заказом означает, что с одним Клиентом может быть связано много Заказов;
символ "1" показывает, что любой Заказ может поступить только от одного Клиента.
В общем случае множественность указывает нижнюю и верхнюю границы
количества объектов, которые могут участвовать в связи. Символ "*" в действительности
выражает диапазон "ноль-бесконечность": Клиент может и не сделать ни одного Заказа, а
может сделать неограниченное количество Заказов (теоретически). Единица означает
диапазон "один-один": Заказ должен быть сделан одним и только одним Клиентом.
На практике наиболее распространенными вариантами множественности являются
"1", "*" и "0..1" (либо ноль, либо единица). В общем случае может использоваться
единственное число (например, 11 для количества игроков в команде), диапазон
(например, 2..4 для игроков в карты) или дискретная комбинация из чисел и диапазонов (например, 2,4 для количества дверей в автомобиле).
Ассоциации в аспекте спецификации представляют собой ответственности классов.
На рис. 3.2 подразумевается, что существуют методы (один или более), связанные с
Клиентом, с помощью которых можно узнать, какие заказы сделал данный Клиент.
Аналогично в классе Заказ существуют методы, с помощью которых можно узнать, какой
Клиент сделал данный Заказ и какие Позиции Заказа строки входят в Заказ.
Если допустить, что имеются стандартные соглашения по именованию методов
запросов, то можно извлечь из диаграммы наименования этих методов. Например, можно
принять соглашение, в соответствии с которым однозначные связи реализуются
посредством метода, который возвращает связанный объект, а многозначные связи
реализуются посредством перечисления (enumeration) или итератора, указывающего на
совокупность связанных объектов.
Диаграмма классов (см. рис. 3.2) также предполагает, что существуют некоторые
механизмы обновления связей. Например, должен существовать некоторый способ связи
конкретного Заказа с конкретным Клиентом. Детали этого способа на диаграмме
отсутствуют.
Если же модель отражает аспект реализации, можно исходить из предположения,
что между связанными классами существуют указатели в обоих направлениях. Диаграмма
16
может теперь сообщить, что Заказ содержит поле, представляющее собой совокупность
указателей на Строки заказа, а также содержит указатель на Клиента.
Рассмотрим теперь рис. 3.3. В основном он совпадает с рис. 3.2, за исключением
того, что к ассоциациям добавлены стрелки. Эти стрелки показывают направление
навигации.
На модели спецификаций таким образом можно показать, что Заказ обязан
ответить на вопрос, к какому Клиенту он относится, а у Клиента соответствующая
ответственность отсутствует. Вместо симметричных ответственностей показываются
только односторонние. На диаграмме реализации это может означать, что Заказ содержит
указатель на Клиента, но Клиент не указывает на Заказ.
Как можно увидеть, направление навигации является важной частью диаграмм
спецификации и реализации. На концептуальных же диаграммах, как правило,
направления навигации отсутствуют. Они появляются по мере того, как аспект меняется в
сторону спецификации и реализации.
17
Если навигация указана только в одном направлении, то такая ассоциация
называется однонаправленной. У двунаправленной ассоциации навигация указана в обоих
направлениях. В языке UML отсутствие стрелок у ассоциации трактуется следующим
образом: направление навигации неизвестно, или ассоциация является двунаправленной.
Для моделей спецификации и реализации предпочтительнее трактовать отсутствие
стрелок как неопределенное направление навигации.
Двунаправленные ассоциации содержат дополнительное ограничение, которое
заключается в следующем: две их роли являются инверсными (обратными) по отношению
друг к другу. Это утверждение подобно понятию обратных функций в математике. По
отношению к рис. 3.3 это означает, что каждая Строка заказа, связанная с некоторым
Заказом, должна быть связана с конкретным Заказом-источником (в смысле направления
навигации). Аналогично если взять какую-либо Строку заказа и взглянуть на Позиции
Строки, соответствующие связанному с ними Заказу, то можно обнаружить Строку заказа
– источник данной совокупности элементов. Указанное свойство остается справедливым
для любой из трех точек зрения.
18
ПРАКТИЧЕСКАЯ РАБОТА № 6:
АТРИБУТЫ, ОПЕРАЦИИ, ОБОБЩЕНИЯ, ОГРАНИЧЕНИЯ.
АТРИБУТЫ.
На концептуальном уровне наличие атрибута "имя Клиента" указывает на то, что
Клиенты обладают именами. На уровне спецификаций этот атрибут указывает на то, что
объект Клиент может сообщить свое имя и обладает некоторым механизмом его
определения. На уровне реализации Клиент содержит поле (называемое также переменной
или элементом данных), соответствующее его имени.
В зависимости от степени детальности диаграммы обозначение атрибута может
включать имя атрибута, тип и значение, присваиваемое по умолчанию (в синтаксисе UML
это выглядит следующим образом: <признак видимости> <имя>: <тип> = <значение по
умолчанию>, где признак видимости имеет такое же значение, как и для операций,
описываемых в следующем подразделе).
Атрибуты всегда имеют единственное значение. Обычно на диаграмме не
показывается, является атрибут обязательным или необязательным.
ОПЕРАЦИИ.
Операции представляют собой процессы, реализуемые классом. Наиболее
очевидное соответствие существует между операциями и методами над классом. На
уровне спецификаций операции соответствуют общим методам над типом. На диаграмме
обычно не показывают простые операции манипулирования атрибутами, поскольку они и
так подразумеваются. Иногда все же бывает необходимо показать, предназначен ли
данный атрибут только для чтения (readonly) или его значение является постоянным (immutable), т.е. никогда не изменяется. В модели реализации может также потребоваться
отражение уровней секретности и защиты операций.
Полный синтаксис UML для операций выглядит следующим образом:
<признак-видимости>
<имя>
(<список-параметров>):
<тип-выражениявозвращающего-значение> {<строка-свойств>},
где признак-видимости может принимать одно из трех значений: "+" (общий), "#"
(защищенный) или "–" (секретный); имя представляет собой символьную строку; списокпараметров содержит необязательные аргументы, синтаксис которых совпадает с
синтаксисом
атрибутов;
тип-выражения-возвращающего-значение
является
необязательной спецификацией и зависит от конкретного языка программирования;
строка-свойств показывает значения свойств, которые применяются к данной операции.
Пример записи операции: кредитныйРейтинг(): Строка.
Полезно проводить границу между операциями, изменяющими состояние класса, и
операциями, которые этого не делают. Операция, не изменяющая наблюдаемого
состояния класса, результатом которой является некоторое значение, извлекаемое из
класса, называется запросом. Наблюдаемым состоянием объекта является состояние,
которое можно определить посредством связанных с ним запросов.
Рассмотрим объект Счет, который рассчитывает свой баланс исходя из перечня
статей. Чтобы повысить производительность, Счет может помещать результат расчета
баланса в специальное поле – кэш для будущих запросов. Таким образом, если кэш пуст,
операция "баланс" при первом вызове помещает свой результат в кэш. Операция "баланс",
следовательно, изменяет текущее состояние объекта Счет, но не изменяет его
наблюдаемое состояние, поскольку любой запрос к объекту возвращает одно и то же
значение независимо от того, пуст кэш или полон. Операции, изменяющие наблюдаемое
состояние объекта, называются модификаторами.
Следует четко понимать разницу между запросами и модификаторами. Запросы
могут выполняться в любом порядке, однако последовательность выполнения
модификаторов имеет более существенное значение.
19
ОБОБЩЕНИЕ.
Типичный пример обобщения включает частного и корпоративного клиентов
(см. рис. 3.2). Они обладают некоторыми различиями, однако у них также много общего.
Одинаковые характеристики можно поместить в обобщенный класс Клиент (супертип),
при этом Частный клиент и Корпоративный клиент будут выступать в качестве подтипов.
Этот феномен служит объектом разнообразных интерпретаций в моделях
различных уровней. На концептуальном уровне, например, можно утверждать, что
Корпоративный клиент является подтипом Клиента, если все экземпляры Корпоративного
клиента являются также (по определению) экземплярами Клиента. Корпоративный
клиент, таким образом, является особым видом Клиента. Основная идея заключается в
следующем: все, что известно о Клиенте (ассоциации, атрибуты, операции), справедливо
также и для Корпоративного клиента.
В рамках модели спецификации смысл обобщения заключается в том, что
интерфейс подтипа должен включать все элементы интерфейса супертипа. Говорят, что
интерфейс подтипа согласован с интерфейсом супертипа.
Другая сторона обобщения связана с принципом подстановочное определение.
Можно подставить определение Корпоративного клиента в любой код, требующий
определения Клиента, и при этом все должно нормально работать. По существу, это
означает, что, разрабатывая код, предполагающий использование Клиента, можно
свободно использовать экземпляр любого подтипа Клиента. Корпоративный клиент может
реагировать на некоторые команды отличным от другого Клиента образом (в
соответствии с принципом полиморфизма), но вызывающий объект это отличие не
должно беспокоить.
Обобщение в аспекте реализации связано с понятием наследования в языках
программирования. Подкласс наследует все методы и поля суперкласса и может
переопределять наследуемые методы.
ОГРАНИЧЕНИЯ.
При построении диаграмм классов на них отображаются различные ограничения.
На рис. 3.3 показано, что Заказ может быть сделан одним-единственным Клиентом.
Диаграмма также подразумевает, что каждая Позиция Заказа рассматривается отдельно:
можно заказать 40 коричневых штук, 40 голубых штук и 40 красных штук, а не 40
коричневых, голубых и красных штук. Далее, диаграмма говорит, что Корпоративный
клиент располагает кредитным лимитом, а Частный клиент – нет.
С помощью конструкций ассоциации, атрибута и обобщения можно
специфицировать наиболее важные ограничения, но невозможно выразить все
ограничения. Эти ограничения отображаются произвольным образом, поскольку в UML
отсутствует строгий синтаксис описания ограничений, за исключением помещения их в
фигурные скобки. Можно использовать неформальную запись ограничений на
естественном языке, чтобы их было проще понимать, или использовать более формальные
выражения, такие, как исчисление предикатов или производные функции. Другая
возможность — это использование фрагментов программного кода.
28. ПРАКТИЧЕСКАЯ РАБОТА № 7:
СЛОЖНЫЕ ЭЛЕМЕНТЫ ДИАГРАММ КЛАССОВ.
(2 ч.)
Понятия, описанные выше, соответствуют основным нотациям на диаграмме
классов. Эти понятия являются самыми первыми, с которыми следует познакомиться и
которые необходимо освоить, поскольку с ними связаны 90% деятельности по
построению диаграмм классов.
С другой стороны, диаграммы классов содержат множество нотаций,
соответствующих различным вспомогательным понятиям. Они используются не столь
часто, но в отдельных случаях оказываются весьма удобными.
20
Стереотипы. В объектно-ориентированных проектах нередко можно столкнуться с
такой ситуацией, когда один класс выполняет практически все функции системы,
зачастую посредством одного огромного метода, а другие классы не делают в основном
ничего, кроме инкапсуляции данных. Такое решение никак нельзя назвать удачным,
поскольку при этом данный класс (условно можно назвать его "регулятором") слишком
сложен и работать с ним трудно.
Чтобы улучшить такой проект, следует перенести поведение "регулятора" к
другим, сравнительно незанятым объектам, благодаря чему эти объекты становятся более
интеллектуальными и функционально нагруженными. "Регулятор" при этом превращается
в "координатора". "Координатор" отвечает за выполнение задач в определенной
последовательности, а другие объекты знают, как выполнять эти задачи.
Сущность стереотипа заключается в том, что он характеризует принципиальное
назначение класса. Оригинальная идея стереотипа заключается в классификации объектов
на высоком уровне, дающей некоторое представление о типе каждого объекта. Примером
может служить различие между "регулятором" и "координатором". UML заимствовал эту
идею и трансформировал ее в общий механизм расширения самого языка.
Стереотипы обычно изображаются с помощью текста, заключенного в кавычки
("управляющий объект"), однако они могут также изображаться с помощью пиктограммы.
Многие расширения ядра UML можно описать в виде совокупности стереотипов. В
рамках диаграмм классов могут существовать стереотипы классов, ассоциаций или
обобщений.
Множественная и динамическая классификация. Понятие "классификация"
касается связи между объектом и его типом.
Однозначная классификация подразумевает, что любой объект принадлежит
единственному типу, который может наследовать свойства от супертипов. Согласно
множественной классификации объект может быть описан несколькими типами, которые
не обязательно должны быть связаны наследованием.
Отметим, что множественная классификация отличается от множественного
наследования. При множественном наследовании тип может иметь много супертипов, но
для каждого объекта должен быть определен только один тип. Множественная
классификация допускает принадлежность объекта многим типам без определения для
этих целей какого-либо специального типа.
В качестве примера рассмотрим диаграмму на рис. 3.4: подтипом личности
является мужчина или женщина, доктор или медсестра, пациент или вообще никто.
Множественная классификация допускает, чтобы объект принадлежал любым из этих
типов в любом допустимом сочетании, при этом нет необходимости определять типы для
всех допустимых сочетаний.
21
Если используется множественная классификация, то необходимо четко
определить, какие сочетания являются допустимыми. Это делается с помощью
дискриминатора, который помечает ассоциацию-обобщение и характеризует сущность
подтипов. Несколько подтипов могут характеризоваться одним и тем же
дискриминатором. Все подтипы с одним и тем же дискриминатором являются
непересекающимися. Это означает, что любой экземпляр супертипа может быть
экземпляром только одного из подтипов, описываемых данным дискриминатором.
Удачный способ изобразить такое обобщение графически – это свести ассоциации всех
подклассов к одной треугольной стрелке с одним дискриминатором, как показано на рис.
3.4. Альтернативный способ – изобразить несколько стрелок с одинаковыми текстовыми
метками.
Дискриминатор может быть помечен как {полный} (что является дополнительным
ограничением). Это означает, что любой экземпляр суперкласса должен быть экземпляром
одного из подклассов в данной группе. (Суперкласс в этом случае является абстрактным.)
В качестве иллюстрации отметим следующие допустимые сочетания подтипов на
диаграмме: (Женщина, Пациент, Медсестра); (Мужчина, Физиотерапевт); (Женщина,
Пациент) и (Женщина, Доктор, Хирург). Отметим также, что такие сочетания, как
(Пациент, Доктор) и (Мужчина, Доктор, Медсестра), являются недопустимыми: первое не
включает типа, определенного {полным} дискриминатором "Пол", а второе включает
сразу два типа, определенных одним и тем же дискриминатором "Роль". Однозначной
классификации соответствует (по определению) единственный, непомеченный
дискриминатор.
Еще одна проблема связана с возможностью изменения типа объекта. Хорошим
примером такой ситуации является банковский счет. Когда счет остается пустым, он
22
существенно меняет свое поведение – в частности, переопределяются некоторые операции
(включая "снять со счета" и "закрыть счет").
Динамическая классификация допускает изменение типа объектов в рамках
структуры подтипов, а статическая классификация этого не допускает. Статическая
классификация проводит границу между типами и состояниями, а динамическая
классификация объединяет эти понятия.
На рис. 3.5 показан пример использования динамической классификации в
отношении работы, выполняемой личностью, которая, естественно, может меняться. При
этом для подтипов требуется определить дополнительное поведение, а не только одни
метки. В таких случаях зачастую имеет смысл создать отдельный класс для выполняемой
работы и связать этот класс с личностью посредством некоторой ассоциации.
Агрегация и композиция. Агрегация представляет собой связь "часть-целое" и
является одним из наиболее часто используемых приемов моделирования (например,
можно сказать, что двигатель и колеса являются частями автомобиля).
В дополнение к простой агрегации UML вводит более сильную разновидность
агрегации, называемую композицией. Согласно композиции объект-часть может
принадлежать только единственному целому и, кроме того, как правило, жизненный цикл
частей совпадает с циклом целого: они живут и умирают вместе с ним. Любое удаление
целого распространяется на его части.
Такое каскадное удаление нередко рассматривается как часть определения
агрегации, однако оно всегда подразумевается в том случае, когда множественность роли
составляет 1..1; например, если необходимо удалить Клиента, то это удаление должно
распространиться и на Заказы (и, в свою очередь, на Строки заказа).
На рис. 3.6 показаны примеры агрегации и композиции. Согласно данной
диаграмме Многоугольник состоит из упорядоченной совокупности Вершин. Эти
Вершины могут изменяться при изменении Многоугольника, вследствие чего
применяется агрегация. Композиция применяется для связи между Многоугольником и
Графическим объектом.
23
Графический объект содержит такие атрибуты, как цвет и текстура. Он
рассматривается отдельно от Многоугольника, поскольку многие графические элементы
могут использовать такой набор атрибутов. Связь между Многоугольником и
Графическим объектом определяется как композиция. Таким образом, показывается, что
данный Графический объект создается и уничтожается вместе с данным
Многоугольником и не может быть изменен. Разумеется, можно изменить атрибуты
Графического объекта, но невозможно заменить один Графический объект другим.
Класс ассоциаций. Он позволяет определять для ассоциаций атрибуты, операции и
другие свойства, как это показано на рис. 3.7.
Из данной диаграммы видно, что Личность может работать только в одной
Компании. При этом необходимо каким-то образом хранить информацию относительно
периода времени, в течение которого каждый служащий работает в каждой Компании.
Это можно сделать, дополнив ассоциацию атрибутом типа "интервал Времени".
Можно включить этот атрибут в класс Личность, однако на самом деле он характеризует
не Личность, а ее связь с Компанией, которая будет меняться при смене работодателя.
На рис. 3.8 показан другой способ представления данной информации:
преобразование Работы в обычный класс (множественность при этом также подвергается
соответствующему преобразованию). В данном примере каждый из классов в
первоначальной ассоциации обладал однозначной ролью по отношению к классу Работа.
24
Таким образом, класс ассоциаций дает возможность определить дополнительное
ограничение, согласно которому двум участвующим в ассоциации объектам может
соответствовать только один экземпляр класса ассоциаций. Диаграмма на рис. 3.7 не
допускает, чтобы Личность могла более чем один раз работать в одной и той же
Компании. Если необходимо, чтобы такое допускалось, то Работу следует преобразовать в
обычный класс, как это сделано на рис. 3.8.
25
ПРАКТИЧЕСКАЯ РАБОТА № 8: МЕХАНИЗМ ПАКЕТОВ.
Один из подходов к решению проблемы сложности систем ПО, о которой
говорилось в начале главы 2, заключается в группировке классов в компоненты более
высокого уровня. Эта идея проявляется во многих объектно-ориентированных методах. В
UML такой способ группировки носит название механизма пакетов (package).
Механизм пакетов применим к любым элементам модели, а не только к классам.
Если для группировки классов не использовать некоторые эвристики, то она становится
весьма произвольной. Одна из них, которая в основном используется в UML, – это
зависимость. Таким образом, диаграмма пакетов представляет собой диаграмму,
содержащую пакеты классов и зависимости между ними. Строго говоря, пакеты и
зависимости являются элементами диаграммы классов, т.е. диаграмма пакетов – это всего
лишь форма диаграммы классов.
Зависимость между двумя элементами имеет место в том случае, если изменения в
определении одного элемента могут повлечь за собой изменения в другом. Что касается
классов, то причины для зависимостей могут быть самыми разными: один класс посылает
сообщение другому; один класс включает часть данных другого класса; один класс
использует другой в качестве параметра операции. Если класс меняет свой интерфейс, то
любое сообщение, которое он посылает, может утратить свою силу.
В идеальном случае только изменения в интерфейсе класса должны воздействовать
на другие классы. Искусство проектирования больших систем включает в себя
минимизацию зависимостей - таким способом снижается воздействие изменений и
требуется меньше усилий на их внесение.
На рис. 3.9 показаны классы предметной области, сгруппированные в два пакета:
Заказы и Клиенты. Оба пакета, в свою очередь, являются частью общего пакета
предметной области. Приложение Сбора Заказов имеет зависимости с обоими пакетами
предметной области. Пользовательский интерфейс Сбора Заказов имеет зависимости с
Приложением Сбора Заказов и AWT (средством разработки графического интерфейса
пользователя (GUI) в языке Java).
Зависимость между двумя пакетами существует в том случае, если между любыми
двумя классами в пакетах существует любая зависимость. Например, если любой класс в
пакете Список Рассылки зависит от какого-либо класса в пакете Клиенты, то между
соответствующими пакетами существует зависимость.
Существует очевидное сходство между зависимостями пакетов и составными
зависимостями. Однако между ними имеется принципиальное различие: зависимости
26
пакетов не являются транзитивными. Чтобы понять, почему это так важно для
зависимостей, обратимся снова к рис. 3.9. Если какой-либо класс в пакете Заказы
изменяется, то это совсем не означает, что должен измениться пакет Пользовательский
интерфейс Сбора Заказов. Это означает всего лишь, что может измениться пакет
Приложение Сбора Заказов. Пакет Пользовательский интерфейс Сбора Заказов должен
измениться только в том случае, если меняется интерфейс пакета Приложение Сбора
Заказов. В данной ситуации Приложение Сбора Заказов защищает Пользовательский
интерфейс Сбора Заказов от изменений в заказах.
Пакеты не дают ответа на вопрос, каким образом можно уменьшить количество
зависимостей в вашей системе, однако они помогают выделить эти зависимости, а после
того, как они все окажутся на виду, остается только поработать над снижением их
количества. Диаграммы пакетов можно считать основным средством управления общей
структурой системы.
На рис. 3.10 представлена более сложная диаграмма пакетов, содержащая ряд
дополнительных конструкций. Добавлен пакет Предметная область, включающий пакеты
Заказы и Клиенты. Это нужно для того, чтобы можно было заменить множество
отдельных зависимостей на более общие зависимости с пакетом в целом.
Если показывается содержимое пакета, то имя пакета помещается в "этикетку", а
содержимое – внутрь основного прямоугольника. Это содержимое может быть перечнем
классов (как в пакете Общий), другой диаграммой пакетов (как в пакете Предметная
область) или диаграммой классов (этот вариант не показан, однако идея вполне очевидна).
В большинстве случаев достаточно перечисления основных классов, однако иногда
дополнительная диаграмма оказывается полезной. В данном случае (см. рис. 3.10)
показано, что, в то время как Приложение Сбора Заказов связано зависимостью со всем
пакетом Предметная область, Приложение Списка Рассылки зависит только от пакета
Клиенты.
На рис. 3.10 имеется пакет Общий, помеченный как {глобальный}. Это означает,
что все пакеты в системе связаны зависимостью с данным пакетом. Разумеется, такую
конструкцию следует применять очень расчетливо, однако общие классы (такие, как
Деньги) используются во всей системе.
27
По отношению к пакетам можно использовать механизм обобщения. Это означает,
что конкретный пакет должен соответствовать интерфейсу общего пакета. Такое
определение можно сравнить с аспектом спецификации относительно механизма
подклассов в диаграммах классов. Следовательно, в соответствии с рис. 3.10 Интерфейс
Базы данных может использовать либо Интерфейс Oracle, либо Интерфейс Sybase. Когда
обобщение применяется таким образом, общий пакет может быть помечен как
{абстрактный}, чтобы показать, что он всего лишь определяет интерфейс, реализуемый
конкретным пакетом.
Обобщение подразумевает наличие зависимости подтипа от супертипа. (Нет
необходимости показывать дополнительную зависимость; достаточно наличия самого
обобщения.) Помещение абстрактных классов в пакет-супертип – это хороший способ
ликвидации циклов в структуре зависимостей. В данном случае пакеты интерфейса с
базой данных отвечают за загрузку объектов предметной области в базу данных и их
хранение. Следовательно, им необходимо располагать информацией относительно
объектов предметной области. С другой стороны, объекты предметной области должны
инициировать загрузку и хранение, т. е. необходим соответствующий триггер.
Механизм обобщения позволяет поместить необходимый интерфейс триггера
(различные операции загрузки и сохранения) в пакет интерфейса с базой данных. Эти
операции впоследствии реализуются классами в рамках пакетов-подтипов. Нам не нужна
какая-либо зависимость между пакетом интерфейса с базой данных и пакетом интерфейса
28
с Oracle, поскольку во время выполнения и так будет вызываться именно тот пакетподтип, который необходим. При этом пакет Предметная область имеет дело только с
простым пакетом интерфейса с базой данных.
В существующей системе зависимости могут быть выведены на основании анализа
классов. Эта задача является крайне полезной для реализации с помощью любого
инструментального средства. В качестве самого первого шага желательно разделить
классы на пакеты и проанализировать зависимости между пакетами. Затем следует
уменьшить количество зависимостей.
Пакеты являются жизненно необходимым средством для больших проектов. Их
следует использовать в тех случаях, когда диаграмма классов, охватывающая всю систему
в целом и размещенная на единственном листе бумаги формата А4, становится
нечитаемой.
Стремление свести к минимуму количество зависимостей обусловлено снижением
степени связности пакетов системы. С другой стороны, эвристический подход к этому
процессу далек от идеала.
Пакеты особенно полезны при тестировании. Каждый пакет при этом может
содержать один или несколько тестовых классов, с помощью которых проверяется
поведение пакета.
29
ПРАКТИЧЕСКАЯ РАБОТА № 9:
РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ:
ТАБЛИЦЫ, КЛЮЧИ, ОТНОШЕНИЯ.
ВВЕДЕНИЕ.
Почти все современные информационные системы основаны на реляционной
модели управления базами данных. Название «реляционная» связано с тем, что каждая
запись в такой базе данных содержит сведения, относящиеся только к одному
конкретному объекту.
Как начинающий, так и опытный пользователи при разработке реляционной базы
данных в Microsoft Access сталкиваются с трудностями. В учебном пособии рассмотрены
почти все аспекты, в которых может возникать необходимость. Простые и полезные
приемы помогают создать хороший проект реляционной базы данных без особых усилий.
Наличие хорошего проекта – ключ к построению удобного в работе приложения.
Процесс проектирования базы данных и соответствующего приложения становится
более ясным, если осознавать различие между данными и информацией, что облегчит
выявление сведений, которые необходимо хранить в базе данных. Различие состоит в том,
что данные – это статистические значения, хранящиеся в таблицах базы данных, в то
время как информация – это сведения, которые запрашиваются пользователем и
предоставляются ему в наиболее удобном виде. Другими словами, данные хранятся, а
информация запрашивается. Отличие данных от информации надо учитывать при
разработке проекта. Сначала определяем задачи: какую информацию можно будет
запрашивать и получать. Затем выясняем, что нужно хранить в базе данных для
выполнения этих задач: какие данные нужны для получения и представления требуемой
информации. Когда мы ссылаемся на элементы, хранимые в таблицах, запросах, макросах
и процедурах, или работаем с ними, то имеем дело с данными. Когда мы работаем с
наборами записей запросов, фильтрами, формами или отчетами, то имеем дело с
информацией.
При создании реляционной базы данных необходимо учитывать особенности
таблиц. Все изменения в таблицах сохраняются автоматически в режиме реального
времени. Режим реального времени означает, что пока мы работаем с таблицей,
происходит непрерывное сохранение. Как только заканчивается ввод данных в одно поле
и происходит переход к следующему полю, данные немедленно записываются на жесткий
диск.
Все изменения, которые вносятся в содержание таблиц, имеют необратимый
характер. Эта особенность требует аккуратного отношения к работе с таблицами. Для
экспериментов надо создавать отдельные копии базы данных и работать с ними.
1. РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ.
Теория реляционных баз данных была разработана в начале 70-х годов Коддом на
основе математической теории отношений. В реляционной базе данных все данные
хранятся в виде таблиц, при этом все операции над базой данных сводятся к
манипулированию таблицами. Основными понятиями являются: таблица, отношение,
строка, столбец, первичный и внешний ключи.
Таблица состоит из строк и столбцов и имеет уникальное имя в базе данных. База
данных содержит множество таблиц, связь между которыми устанавливается с помощью
совпадающих полей - ключей. В каждой из таблиц содержится информация о каких-либо
объектах одного типа (группы). В качестве примера рассмотрим базу данных,
предназначенную для учета заказов покупателей и состоящую из двух таблиц: Клиенты
(табл. 1) и Заказы (табл. 2). В первой таблице содержится информация о покупателях
(фамилия, имя, отчество, адрес, телефон и т.п.), а во второй таблице содержится
информация о заказах различных покупателей.
30
С помощью этой базы данных можно получить информацию о каждом клиенте
(таблица Клиенты) и сделанных им заказах (таблица Заказы). Каждая запись в таблицах
идентифицирует один объект группы (покупатель или сделанный заказ).
Предполагается, что один и тот же покупатель может сделать несколько заказов.
Таким образом, между покупателями и сделанными ими заказами существует отношение
один–ко–многим. Связь таблиц осуществляется на основании данных в совпадающих
полях Код клиента.
Другие примеры - отношения между предприятием и работающими на нем
сотрудниками. Аналогичный тип отношения существует между компьютером и
входящими в него компонентами. При иерархической организации данных тип отношения
один-ко-многим является наиболее общим.
MS Access поддерживает четыре типа отношений между таблицами: один–к–
одному, один–ко–многим, много–к–одному, много–ко–многим.
1.1. Отношение один-к-одному.
Отношение один-к-одному означает, что каждая запись в одной таблице
соответствует только одной записи в другой таблице.
В качестве примера рассмотрим отношение между группами полей Физические
лица (табл. 3) и Сотрудники (табл. 4).
В табл. 3 содержатся данные о личности сотрудника, а в табл. 4 –
профессиональные сведения. Между таблицами Физические лица и Сотрудники
существует отношение один-к-одному, поскольку для одного человека может
существовать только одна запись, содержащая профессиональные сведения.
Связь между этими таблицами поддерживается при помощи совпадающих полей:
Код сотрудника (табл. 4) и КодФизЛица (табл. 3). Отметим, что эти поля имеют разные
наименования, но один и тот же тип данных. Связь между таблицами устанавливается на
основании значений совпадающих полей, но не их наименований.
1.2. Отношение много-к-одному.
31
Отношение много-к-одному аналогично рассмотренному ранее типу один-комногим. Тип отношения между объектами зависит от вашей точки зрения.
Например, если мы будем рассматривать отношение между сделанными заказами и
клиентами, то получим отношение много-к-одному.
1.3. Отношение много-ко-многим.
Отношение много-ко-многим возникает между двумя таблицами в тех случаях,
когда:
одна запись из первой таблицы может быть связана более чем с одной записью из
второй таблицы;
одна запись из второй таблицы может быть связана более чем с одной записью из
первой таблицы.
В качестве примера обратимся к магазину оптовой торговли.
Рассмотрим две группы объектов.
1. В таблице Поставки товаров (табл. 5) представлен список товаров,
производимых предприятиями-поставщиками.
2. В таблице Заказы потребителей (табл. 6) содержится список товаров,
заказанных потребителями.
Между таблицами Поставки товаров и Заказы потребителей существует
отношение много-ко-многим, так как каждый поставляемый товар может входить в
несколько заказов. Аналогично каждый заказанный товар может производиться более чем
одним предприятием. Связь между таблицами устанавливается на основании значений в
совпадающих полях Код товара.
32
ПРАКТИЧЕСКАЯ РАБОТА № 10:
НОРМАЛИЗАЦИЯ БАЗЫ ДАННЫХ.
ПРИВЕДЕНИЕ БД К ТРЕТЬЕЙ НОРМАЛЬНОЙ ФОРМЕ.
При проектировании реляционной базы данных необходимо решить вопрос о
наиболее эффективной структуре данных. Основные цели проектирования:
- обеспечить быстрый доступ к данным таблицы;
- исключить ненужное повторение данных, которое является причиной ошибок при
вводе и нерационального использования дискового пространства вашего компьютера;
- обеспечить целостность данных таким образом, чтобы при изменении одних
объектов автоматически происходило соответствующее изменение связанных с ними
объектов.
Процесс уменьшения избыточности информации в базе данных называется
нормализацией. В теории нормализации базы данных разработаны достаточно
формализованные подходы к разбиению данных, обладающих сложной структурой на
несколько таблиц.
Теория нормализации структуры оперирует пятью нормальными формами таблиц.
Каждая следующая нормальная форма должна удовлетворять требованиям предыдущей
формы и некоторым дополнительным условиям. Ограничимся рассмотрением первых
трех нормальных форм, поскольку при практическом проектировании баз данных
четвертая и пятая формы используются в редких случаях.
В качестве примера рассмотрим таблицу Продажи (табл. 7).
Таблицу Продажи можно рассматривать как однотабличную базу данных.
Основная проблема заключается в том, что в ней содержится значительное количество
повторяющейся информации. Например, сведения о покупателе повторяются для каждого
сделанного им заказа. Такая структура данных является причиной следующих проблем,
возникающих при работе с базой данных: значительные затраты времени на ввод
повторяющихся данных.
Например, для всех заказов, сделанных одним из покупателей, придется каждый
раз вводить одни и те же данные о покупателе; при изменении адреса или телефона
33
покупателя необходимо корректировать все записи, содержащие сведения о заказах этого
покупателя; наличие повторяющейся информации приведет к неоправданному
увеличению размера базы данных. В результате снизится скорость выполнения запросов.
Кроме того, повторяющиеся данные нерационально используют дисковое пространство
вашего компьютера; любые внештатные ситуации потребуют значительного времени для
получения требуемой информации. Например, при больших размерах таблиц поиск
ошибок будет занимать значительное время.
2.1. Первая нормальная форма.
Табл. 7 является ненормализованной таблицей.
Требования к таблице в первой нормальной форме:
1. Таблица не должна иметь повторяющихся групп полей;
2. В таблице должны отсутствовать повторяющиеся записи.
Для выполнения условия пункта 2 каждая таблица должна иметь первичный ключ.
Таблица Продажи (табл. 7) не содержит первичного ключа, что допускает наличие в ней
повторяющихся записей. Для выполнения условия 2 добавим поле Код клиента, которое
будет содержать значение первичного ключа.
Требование 1 постулирует устранение повторяющихся групп полей.
Поскольку каждый покупатель может сделать несколько заказов, каждый из
которых в свою очередь может содержать несколько товаров, то необходимы две таблицы.
Каждая запись одной таблицы будет содержать сведения об одном из покупателей, а
второй таблицы – информацию о каждом заказе.
Поэтому надо разбить таблицу Продажи на две отдельные таблицы Клиенты и
Заказы и определить поля Код клиента в качестве ключей связи. Структуры таблиц
Клиенты и Заказы приведены на рис. 1. Тип связи между таблицами Клиенты и Заказы
будет один-ко-многим.
Таким образом, для таблицы Клиенты решена проблема повторяющихся групп
полей.
Таблица Заказы содержит сведения о товарах, включенных в конкретный заказ.
Для исключения повторяющихся записей можно воспользоваться одним из способов:
1) добавить в таблицу новое уникальное ключевое поле Код заказа, что позволит
однозначно идентифицировать каждый из заказов. Однако при работе с Ms Access это
далеко не лучший метод, так как при разработке многотабличных форм и отчетов связь
между таблицами осуществляется посредством ключевых полей с совпадающими
значениями;
2) использовать уникальный составной ключ, состоящий из полей Код клиента,
Код товара и Дата заказа.
34
После того как мы разделили повторяющиеся записи и определили ключевые поля
в каждой таблице, таблицы Клиенты и Заказы находятся в первой нормальной форме
(рис. 1).
Структура связей между таблицами называется схемой данных.
2.2. Вторая нормальная форма.
Таблица находится во второй нормальной форме, если:
- она удовлетворяет условиям первой нормальной формы;
- любое неключевое поле однозначно идентифицируется полным набором
ключевых полей, входящих в составной ключ.
Из приведенного выше определения следует, что понятие второй нормальной
формы применимо только к таблицам, имеющим составной ключ. В рассматриваемом
примере такой таблицей является таблица Заказы, в которой составной ключ образуют
поля Код клиента, Код товара и Дата заказа. Она является таблицей во второй
нормальной форме, поскольку поля Категория, Наименование товара и Цена
однозначно определяются только одним из ключевых полей (Код товара).
Для приведения таблицы ко второй нормальной форме выделим из таблицы
Заказы таблицу Товары, которая будет содержать информацию о товарах каждого типа.
Для связывания таблиц Заказы и Товары используется поле Код товара (рис. 2).
2.3. Третья нормальная форма.
Таблица находится в третьей нормальной форме, если она удовлетворяет условиям
второй нормальной формы; ни одно из неключевых полей таблицы не идентифицируется
с помощью другого неключевого поля.
Обратимся к таблице Клиенты. Поле Руководитель этой таблицы содержит имена
руководителей компаний, которые однозначно определяются значением поля
Предприятие. Поскольку неключевое поле Руководитель однозначно определяется
другим неключевым полем Предприятие, таблица Клиенты не является таблицей в
третьей нормальной форме.
Для приведения ее к третьей нормальной форме создадим новую таблицу
Предприятие (рис. 3.)
35
36
ПРАКТИЧЕСКАЯ РАБОТА № 11:
КОНСТРУКТОР ТАБЛИЦ. ТИПЫ ДАННЫХ В MS ACCESS.
НАСТРОЙКА СВОЙСТВ «РАЗМЕР ПОЛЯ», «ПОДПИСЬ»,
«ЧИСЛО ДЕСЯТИЧНЫХ ЗНАКОВ», «УСЛОВИЕ НА ЗНАЧЕНИЕ»,
«ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ».
СОЗДАНИЕ ТАБЛИЦ.
Таблицы базы данных – это фундаментальные объекты реляционной базы данных,
в которых хранится основная часть данных приложения.
Отдельная таблица, как правило, содержит информацию о конкретном объекте,
например сведения о сотрудниках организации или данные о поставщиках товара и т.п.
Таблица создается в два этапа: вначале определяется ее структура, а затем таблица
заполняется данными.
Структура таблиц.
Структура таблицы определяет, какие данные будут храниться в таблице, а также
правила, используемые для контроля правильности ввода, редактирования или удаления
данных. Для создания структуры необходимо:
1. Создать новую таблицу, для чего можно использовать следующие способы:
- щелкнуть по кнопке Создать окна базы данных;
- выполнить команду главного меню: Вставка, Таблица;
- щелкнуть по кнопке Новый объект на панели инструментов базы данных и
выбрать из появившегося меню пункт Таблица;
- дважды щелкнуть на одном из ярлыков, например Создание таблицы в режиме
конструктора. Этот способ можно применять, если установлен флажок Новые ярлыки
объектов в окне Параметры, которое появляется после выполнения команды Сервис,
Параметры;
2. Для каждого поля ввести имя, тип данных и описание;
3. Определить свойства для полей;
4. Назначить первичный ключ;
5. Создать индексы для требуемых полей;
6. Сохранить созданную таблицу, задав ей имя.
Щелкнем по кнопке Создать окна базы данных, чтобы начать процесс создания
таблицы. При этом должна быть нажата кнопка Таблицы для перехода на вкладку
Таблицы. Откроется диалоговое окно Новая таблица (рис. 5), в правой части которого
находится список вариантов создания таблицы:
Режим таблицы позволяет создать новую таблицу путем ввода данных.
Конструктор позволяет создать новую таблицу с помощью конструктора таблиц.
Мастер таблиц позволяет создать новую таблицу путем выбора предварительно
построенной таблицы.
Импорт таблиц позволяет осуществлять импорт таблиц из внешнего файла в
текущую базу данных в новую таблицу.
Связь таблиц позволяет установить для создаваемой таблицы связь с другими
таблицами.
Способы создания таблицы, приведенные в диалоговом окне Новая таблица,
требуют от пользователя разную степень полноты данных об именах и свойствах полей.
37
Рис. 5. Диалоговое окно Новая таблица
Процесс создания структуры таблицы различными способами рассмотрим на
примере таблицы Клиенты. На первом шаге следует определить имена полей
создаваемой таблицы.
Наименование поля.
Наименование каждого из полей таблицы, как правило, выбирается произвольно,
но таким образом, чтобы отразить характер информации, которая будет храниться в
данном поле по следующим правилам:
- наименование поля может содержать до 64 символов, но не следует задавать
слишком длинные имена;
- наименование поля может содержать буквы, цифры, пробелы и специальные
символы, за исключением точки, восклицательного знака, квадратных скобок ([]) и
управляющих символов с кодами ASCII 0-31;
- наименование поля не может начинаться с пробела, нельзя использовать двойные
кавычки (“,”);
- два поля в одной таблице не могут иметь одинаковых наименований;
- в качестве наименования поля рекомендуется использовать аббревиатуры или
краткие названия.
Создание таблицы в окне Конструктора.
Создание таблицы в окне конструктора предоставляет более широкие возможности
по определению параметров создаваемой таблицы. Конструктор позволяет задавать
значения всех свойств параметров, характеризующих поле.
Активизировать Конструктор для создания новой таблицы можно либо
непосредственно из окна диалога Новая таблица, выбрав из списка вариантов значение
Конструктор и нажав кнопку ОК, либо дважды щелкнув кнопкой мыши на ярлыке
Создание таблицы с помощью Конструктора. В результате выполнения этих действий
откроется окно Конструктора таблиц (рис. 8), в котором можно выделить три основные
области: панель инструментов Конструктор таблиц, область ввода имен и типов полей,
область для задания свойств полей.
Область ввода имен и типов полей представляет собой таблицу, которая содержит
следующие атрибуты создаваемой таблицы: наименование поля, тип данных и
описание. Панель инструментов Конструктор таблиц содержит кнопки для активации
команд, используемых при создании структуры таблицы (табл. 9).
38
Рис.8. Окно Конструктора таблиц
В окне Конструктора таблиц в столбце Имя поля вводятся имена полей
создаваемой таблицы.
В столбце Тип данных вводится или выбирается из раскрывающегося списка тип
данных, которые будут содержаться в поле, для каждого поля таблицы.
В столбце Описание можно ввести описание данного поля, хотя это необязательно,
однако при работе приложения эта информация выводится в строке состояния окна
приложения и может служить справкой пользователю.
В нижней части Конструктора таблиц на вкладках Общие и Подстановка можно
ввести свойства каждого поля или оставить значения свойств по умолчанию.
После описания всех полей будущей таблицы нажать на кнопку Закрыть. На
вопрос Сохранить изменения макета или структуры таблицы < имя таблицы> ? надо
нажать на кнопку Да.
В окне Сохранить как в поле Имя таблицы ввести имя создаваемой таблицы и
нажать кнопку ОК.
В ответ на сообщение Ключевые поля не заданы и вопрос Создать Ключевое
поле сейчас? нажмем Да, если ключевое поле необходимо, и Нет в противном случае.
После указанных действий в списке таблиц в окне базы данных появится имя и
значок новой таблицы. Ввести данные в создаваемую таблицу можно, открыв таблицу в
Режиме таблицы.
39
Определение типа данных.
После ввода имени поля надо определить его тип. Подходящий тип данного
позволяет уменьшить размеры базы данных, увеличивает скорость выполнения операций.
Для определения типа используется раскрывающийся список в столбце Тип данных.
После щелчка на ячейке столбца Тип данных ячейка становится полем со списком.
Справа в ней появится кнопка со стрелкой вниз, после щелчка на которой раскрывается
список типов данных.
В MS Access допустимыми являются данные следующих типов:
• Текстовый
• Числовой
• Денежный
• Счетчик
• Логический
• Поле Memo
• Поле объекта OLE
• Гиперссылка
Текстовые поля.
В этом поле хранится произвольный текст или комбинация текста и чисел,
например адрес, а также цифры, с которыми не предполагается производить вычислений,
например, номера телефонов, почтовый индекс или табельные номера. Кроме того, эти
поля могут содержать и специальные символы.
По умолчанию MS Access задает размер текстового поля равным 50. Для установки
требуемого размера поля используется свойство Размер поля раздела Свойства поля, с
помощью которого можно задать число, определяющее ширину поля (от 0 до 255).
40
Независимо от длины текстового поля оно хранится в базе данных в формате
переменной длины, Access не сохраняет пустые символы в используемой части текстового
поля.
Поля типа Счетчик.
Поля типа Счетчик предназначены для хранения данных, значения которых не
редактируются, а устанавливаются автоматически при добавлении каждой новой записи в
таблицу.
Их значения являются уникальными: либо последовательно возрастающими на 1
при добавлении каждой новой записи, либо могут быть любыми случайными числами.
Для создания возрастающего счетчика следует задать в свойстве Размер поля значение
Длинное целое, а в свойстве Новое значение - Последовательные. Для создания
счетчика случайных чисел для свойства Новые значения нужно установить значение
Случайные, размер поля 4 байт, а для Кодов репликации 16 байт.
Код репликации используется при репликации базы данных для создания
уникальных идентификаторов, обеспечивающих синхронизацию реплик. При репликации
базы данных необходимо определить подходящий размер для поля типа Счетчик,
используемого в качестве ключевого поля таблицы. В этом случае можно установить два
значения для свойства Размер поля: Длинное целое или Код репликации.
Если между операциями синхронизации реплик добавляется менее 100 записей, то
для экономии дискового пространства для свойства Размер поля используется значение
Длинное целое.
Если между операциями синхронизации добавляется более 100 записей, то для
предотвращения повторения значений в ключевых полях в разных репликах используется
значение Код репликации.
Числовые поля.
В поле этого типа хранятся числовые данные, используемые в математических
расчетах. Числовой тип обладает следующими свойствами:
1. При вводе данных числового типа автоматически производится проверка
данных. Если данные содержат текстовые или специальные символы, MS Access выдаст
предупреждение и не введет ошибочные данные.
2. Только над числовыми полями возможно выполнение математических операций,
за исключением вычислений над денежными данными, для которых используется
денежный тип.
Числовой тип имеет ряд подтипов, которые устанавливаются значением свойства
Размер поля (табл. 10). От выбора подтипа зависит точность вычислений.
41
Прежде чем установить размер поля, подумаем, какие значения будем хранить в
нем. Выбрав оптимальное значение, можно сэкономить место для хранения данных.
Обычно по умолчанию используется подтип Длинное целое.
Для указания количества десятичных знаков используется свойство поля Число
десятичных знаков. Оно может принимать значение от 0 до 15.
Атрибут Авто данного свойства служит для автоматической установки количества
знаков после запятой.
Поля денежного типа.
Денежный тип используется для предотвращения округлений во время
вычислений. Предполагает до 15 знаков в целой и до 4 знаков в дробной частях. При этом
размер поля составляет 8 байт.
Поля Дата/время.
Тип для представления даты и времени. Позволяет вводить даты с 100 по 9999 год.
Все изменения, внесенные в форматы дат и времени в окне Язык и стандарты Панели
управления Windows, будут автоматически отражены в полях типа Дата/Время. Размер
поля 8 байт. Даты и время хранятся в специальном фиксированном числовом формате.
Дата является его целой частью, а время – дробной.
Гиперссылка.
В поле этого типа хранятся строки, состоящие из букв и цифр, представляющие
адрес гиперссылки. Адрес гиперссылки (табл. 11) может состоять максимум из трех
частей. Каждая из них может содержать до 2048 символов. Каждая часть гиперссылки
отделяется символом #.
Гиперссылка позволяет вставить в поле гиперссылку, с помощью которой можно
ссылаться на произвольный фрагмент данных внутри файла или страницы на том же
компьютере, в локальной сети или в Internet.
Для вставки адреса гиперссылки в поле или в элемент управления выберите
команду Вставка, Гиперссылка.
Поле Memo.
Используется для хранения длинного текста или большого количества цифр,
например комментариев или описаний, длина которых превышает 255 символов. Этот тип
данных отличается от Текстового тем, что в таблице хранятся не сами данные, а ссылки
на блоки данных, которые хранятся отдельно. За счет этого ускорена обработка таблиц
(сортировка, поиск и т.д.). Поля типа Memo не могут быть индексированы или
отсортированы. Для хранения форматированного текста или очень больших документов
вместо этого поля следует создать поле объекта OLE. Размер поля Memo до 65535
символов.
Логический тип.
Это поле может содержать только два значения, интерпретируемых как Да/Нет,
Истина/Ложь, Вкл/Выкл. Размер поля 1 бит. Access использует -1 для представления
значения Да и 0 для Нет. Поля этого типа не могут быть ключевыми, но их можно
индексировать.
Поле объекта OLE.
42
Тип Поле объекта OLE содержит ссылку на OLE-объект (лист MS Excel, документ
Word, звук, изображение и т.п.). Тип объекта OLE не указывается в свойствах поля
объекта OLE. Он зависит от приложения, использованного для создания объектов OLE,
которые хранятся в этом поле. Упаковщик объектов позволяет внедрить файлы, созданные
приложениями, которые не являются серверами объектов OLE. Например, он позволяет
внедрить текстовые файлы в качестве объектов в таблицы Access 2000. В Поле объекта
OLE могут храниться произвольные данные, в том числе данные нескольких типов. Это
позволяет обойти основное ограничение реляционных баз данных, требующее хранения в
каждом поле данных только одного типа. Тем не менее в каждом поле объекта OLE
рекомендуется хранить объекты только одного типа.
Объекты, например документы Word, Excel, рисунки, звуки и другие данные,
созданные в программах, использующих технологии OLE, могут сохраняться в этом поле.
Они могут быть связанными или внедренными в таблицу MS Access. Для отображения
объекта OLE в форме или отчете необходимо использовать элемент управления
Присоединенная рамка объекта. Размер поля до 1 гигабайта. Для ввода данных в поле
типа OLE надо: щелкнуть на поле в Режиме таблицы правой кнопкой мыши; в
контекстном меню выбрать команду Добавить объект; в появившемся диалоговом окне
Вставка объекта: с помощью двух переключателей выбрать Создавать новый объект
или Создать из файла; из списка Тип объекта надо выбрать тип объекта, добавляемого в
поле типа OLE или имя файла в разделе Файл для добавления объекта из файла.
Создание поля OLE в таблице и форме.
Создать в конструкторе поле типа OLE, например поле Фото.
• Закрыть конструктор.
• Открыть таблицу в режиме таблицы. Установить курсор в поле типа OLE.
• Щелкнуть правой кнопкой мыши и выбрать пункт Добавить объект.
• Выбрать из диалога Вставка объекта, например файл снимка или фотография
MS Photo Editor. В последнем случае появляется диалоговое окно Создание рисунка, в
котором можно создать рисунок со сканера, с буфера обмена, новый рисунок или выбрать
имеющиеся. Можно использовать команду Вставка, Объект.
• Закрыть таблицу.
• Создать с помощью конструктора свободную форму.
• В контекстном меню выбрать команду Свойства, откроется окно Свойства.
• На вкладке Данные установить свойству Источник записей имя таблицы,
которая с ней будет связана.
• Разместить на бланке нужные поля. Для поля типа OLE с панели элементов
использовать сначала элемент управления Присоединенная рамка объекта.
• Для Присоединений рамки объекта открыть окно Свойства и на вкладке
Данные свойству Данные назначить значение ФОТО. На вкладке Макет выполнить
требуемые настройки.
• Удалить заголовок элемента Присоединенная рамка объекта.
СВОЙСТВА ПОЛЕЙ.
После задания имени и выбора типа данных для поля на нижней панели окна
отображается список свойств этого поля (рис. 15).
43
Для того чтобы просмотреть или изменить свойства конкретного поля таблицы,
необходимо:
- выделить нужное поле таблицы в окне Конструктора;
- раскрыть вкладку Общие для просмотра общих свойств данного поля или
вкладку Подстановка для просмотра параметров подстановки.
Список свойств поля, отображаемый на вкладке Общие, зависит от типа данных и
отображается в разделе Свойства поля окна Конструктора.
Рассмотрим основные свойства полей таблицы.
Свойство Размер поля.
Допустимые значения этого свойства для различных типов данных перечислены
выше. Пользователь имеет возможность указать стандартные размеры текстовых и
числовых полей в разделе Размеры полей по умолчанию на вкладке Таблицы/Запросы
в диалоговом окне Параметры, которое вызывается командой Сервис, Параметры.
Для числовых данных размер поля служит дополнительным определителем типа
числа, от которого зависит объем выделяемой памяти. В Access 2002 для числовых
данных определен подтип Действительное с диапазоном от -1023 до 1023 – 1. Подтип
Код репликации может использоваться с типом данных Счетчик, применяющийся в
реплицируемых базах данных, в которые регулярно добавляется много записей. Этот
подтип можно использовать и для первичных ключей. Если не использовать для таких
полей этот подтип, то при синхронизации двух полей таблиц, возможно, будет
дублирование значений числовых полей. Этот подтип генерирует 128-битовые значения,
что требует значительной дисковой памяти. Размер поля следует устанавливать как можно
меньше, так как Access быстрее работает с полями меньшего размера.
Чтобы задать свойства полей в режиме Конструктор, надо выделить поле, для
которого необходимо задать свойства. Тогда в области панели Свойства поля
отобразится вкладка Общие. На ней выведен список свойств данного поля. Затем
щелкнуть на том свойстве, которое необходимо задать, ввести значение свойства (или
выбрать его в раскрывающемся списке).
Подписи.
Подписи используют для отображения в формах или отчетах альтернативных имен
для данного поля. Если это свойство не определено, то для полей в форме или отчете
используются имена полей таблицы, которые должны быть как можно более короткими,
так как их проще использовать в вычислениях, а в отчетах и формах лучше использовать
развернутые имена. Длина текста в свойстве Подпись может достигать 2048 символов.
44
Свойство Число десятичных знаков.
Оно появляется, если тип поля установлен как Числовой или Денежный.
Количество десятичных знаков меняется от 0 до 15 в зависимости от значения
свойства Размер поля. Если свойство Размер поля имеет значение Байт, Целое, Длинное
целое, то десятичных знаков не будет. Для значения Одинарное с плавающей точкой их
число меняется от 0 до 7. Для значения Двойное с плавающей точкой число десятичных
знаков меняется от 0 до 15. Для типов данных Денежный или таких стандартных типов
данных, как Фиксированный, Основной, Процентный или Экспоненциальный, Access
установит по умолчанию свойству Число десятичных знаков значение, равное 2.
Пользователь может менять это значение.
Для большинства типов данных свойство Обязательное поле определяет, является
ли ввод данных в это поле обязательным.
Свойство Индексированное поле определяет, является ли данное поле
индексированным, и если является, то в каком режиме. Существуют два режима
индексирования: Совпадения допускаются и Совпадения не допускаются. Они
определяют условия для данных, вводимых в это поле. По умолчанию это свойство имеет
значение Нет.
Для большинства полей определено свойство Значение по умолчанию. Этим
свойством задается значение, которое Access автоматически отображает в данном поле
при добавлении новой записи. Это только начальное значение и его можно изменять при
вводе данных. Значением по умолчанию может быть выражение, число или текст. Для
данных типа Числовой или Денежный свойство Значение по умолчанию получает
значение 9, которое пользователь затем может изменить.
Свойство Условие на значение.
Условие на значение определяет требования к данным, которые вводятся в поле.
Оно может задаваться автоматически, например при проверке числового поля (не
содержится ли в нем текст) или корректности ввода даты.
Пользователь может с помощью этого свойства задавать свои условия
корректности вводимых данных. Например, для типа Длинное целое можно ввести для
этого свойства значение <120000, а в ячейку свойства Сообщение об ошибке – текст:
Вводимое значение не может превышать 120 000.
Для поля типа Дата/время можно потребовать принадлежность вводимых дат
некоторому диапазону значений, например:
Between #1.1.80# and #21.12.04#
Between #1.1.80# and Date().
Здесь значения дат ограничены символом #. Функция Date() задает для верхней
границы текущую дату.
Оператор Between можно использовать и для числовых полей.
Пусть имеется поле Пол, в котором должны содержаться символы М – мужской, Ж
– женский и Н – неизвестен. Тогда свойству Условие на значение можно задать
выражение InStr(“МЖН”;[Пол])>0, а свойству Сообщение об ошибке – текст:
Вводимые символы М, Ж, Н. Функция InStr() позволяет проверить, совпадает ли
введенное значение с тем, что указано в двойных кавычках.
Свойство Пустые строки специфично для текстового типа и определяет,
используется или нет кодировка UNICODE для данного поля.
Свойства, специфичные для полей Числового типа:
• Размер поля – по умолчанию используется значение Длинное целое и Двойное с
плавающей точкой (8 байт). Из раскрывающего списка можно выбрать: Байт, Целое,
Одинарное с плавающей точкой (4 байта), Код репликации, Десятичное.
• Число десятичных знаков – определяет число десятичных знаков справа от
десятичного разделителя. Выбирается из раскрывающегося списка.
45
Чтобы число знаков определилось автоматически, необходимо выбрать значение
Авто.
Последнее свойство используется и для полей Денежного типа.
Дополнительные свойства поля типа Счетчик:
• Размер поля – допустимы два значения: Длинное целое и Код репликации;
• Новые значения – задает способ формирования следующего значения Счетчика.
Допустимы два варианта: Последовательные и Случайное.
Рекомендуется для каждого поля создаваемой таблицы предварительно определить
все основные свойства, и результаты свести в таблицу.
46
ПРАКТИЧЕСКАЯ РАБОТА № 12:
НАСТРОЙКА СВОЙСТВ «ФОРМАТ ПОЛЯ» И «МАСКА ВВОДА».
Использование форматов.
Настройка свойства Формат поля, заданная в режиме Конструктора таблицы,
определяет способ отображения данных в Режиме таблицы. Эта же настройка
применяется при создании связанных с этим полем новых Элементов управления в
форме или отчете. Одни типы данных используют стандартные форматы, другие – только
форматы, определенные пользователем, третьи – те и другие. Форматы влияют только на
отображение данных, но ни на способ их ввода и хранения в таблице.
В MS Access определены стандартные форматы для полей с типами данных
Числовой, Дата/Время, Логический, Текстовый и Поле Memo. В качестве стандартных
используются национальные форматы, выбираемые в окне Язык и стандарты Панели
управления Windows. Набор форматов определяется настройками для конкретной страны.
Например, если на вкладке Язык и стандарты указать Английский (США), то число
1234,56 в денежном формате будет выглядеть как $1,234.56. Но если указать на этой
вкладке Русский, то это число будет выглядеть 1 234,56р.
Стандартные форматы можно выбирать из раскрывающегося списка в ячейке
свойства Формат поля. При определении специальных форматов можно использовать
символы (табл. 14).
Для любых типов данных полей, отличных от объектов OLE, есть возможность
создания собственных специальных форматов. Значение данного свойства можно задать в
макросе или в программе Visual Basic.
Не допускается смешивать в одном формате специальные символы,
предназначенные для определения числовых форматов, даты/времени и текстовых
форматов. Если для поля определено значение свойства Маска ввода, а в свойстве
Формат поля задается другое формирование тех же данных, то приоритет имеют
настройки, заданные в свойстве Формат поля, а значение Маска ввода игнорируется.
Свойство Формат поля для текстовых и Memo-полей.
Свойство Формат поля позволяет создавать определенные пользователем
форматы для текстовых и Memo-полей (табл. 16) с помощью специальных символов
(табл. 15).
47
Пользовательские форматы для текстовых и Memo-полей могут включать один или
два раздела, разделяемых точкой с запятой. Первый представляет собой формат для полей
с текстом, второй – для полей нулевой длины или со значениями Null. Для первого
раздела можно использовать символы @, &, >, <, а для второго – любой, заключенный в
двойные кавычки, текст, который надо отобразить вместо значения Null.
Например, в свойстве Формат поля поля Фамилия введено:
>@[Зеленый];"Не известна"[Красный]
Тогда в Режиме таблицы введенные данные выводятся заглавными буквами
зеленым цветом, а в случае отсутствия данных будет выведено Не известна красным
цветом.
Первая строка содержит формат для ввода и вывода номеров телефонов. Его можно
усовершенствовать, если предусмотреть место для кода города. Например, (@@@)
@@@-@@@. Теперь, если ввести 095583687, то данные будут отображаться в виде (095)
583-687.
Если требуется, чтобы в случае незаполненной ячейки поля Номер телефона
выводилось бы сообщение Нет данных, выделенное красным цветом, а при наличии
данных номер телефона выводился в описанном выше формате, тогда формат должен
иметь вид
(@@@) @@@-@@@;”Нет данных”[Красный]
Первый раздел
Второй раздел
В первом разделе используются символы <, >, @, &, а во втором – текст,
заключенный в двойные кавычки.
Свойство Формат поля для числовых и денежных полей.
В свойстве Формат поля можно использовать стандартные (табл. 17) и
специальные форматы для числовых и денежных типов данных.
48
Стандартные форматы создаются с помощью специальных символов (табл. 18).
Все приведенные выше форматы основываются на том, что свойство Число
десятичных знаков имеет значение Авто.
Пользовательские числовые форматы могут включать в себя от одного до четырех
разделов, отделенных друг от друга точкой с запятой (;). Каждый формат содержит
спецификацию (табл.19) для различных разделов (типов) числовых данных.
Символы пользовательских числовых форматов приведены в табл. 20.
49
Например, возможно использование следующего специального денежного
формата:
# ##0,00 р.;-# ##0,00 р. [Красный]
Этот формат определяется двумя компонентами, разделяемыми точкой с запятой,
которые определяют вывод положительных и отрицательных значений. Отрицательные
значения будут выведены красным цветом. Это очень удобно при просмотре денежных
данных, например с целью анализа финансовых потерь. Использование разделов
позволяет сделать вывод достаточно информативным за счет окрашивания различными
цветами данных с различными свойствами.
Если описано несколько разделов, но формат каждого из них не указан,
форматирования не произойдет либо будет использовано форматирование первого из них.
Например, можно создать пользовательский формат для поля типа Денежный:
$# ##0,00[Зеленый];($# ##0,00)[Красный];”Ноль”;”Нет данных”
Этот формат содержит четыре раздела. Все положительные значения будут
выведены зеленым цветом, отрицательные – красным и в круглых скобках. Поле,
содержащее ноль, отобразит слово Ноль, а в поле, в котором ничего не было, появится
текст Нет данных.
Свойство Формат поля для Логических полей.
Данные с типом Логический Access отображает как True (Истина) – число 1, False
(Ложь) – число 0. Если бы не было встроенных форматов, то эти значения так и пришлось
бы вводить, и они так же отображались бы на экране. В Access имеются три встроенных
формата для полей логического типа:
• Да/Нет. Установлено по умолчанию. Отображает -1 как Да и 0 как Нет;
• Истина/Ложь. Отображает -1 как Истина и 0 как Ложь;
• Вкл/Выкл. Отображает -1 как Вкл и 0 как Выкл.
Пользовательский логический формат (табл. 21) может содержать от одного до
трех разделов, отделенных точкой с запятой.
50
Например, в таблице о домашних животных имеется логическое поле, в которое
заносятся сведения об их способности к размножению: -1 означает, что животное
кастрировано, 0 – способно к размножению. Эта информация в привычном для нас виде
будет выводиться с помощью формата:
;”Стерилизовано”[Красный];”Способно к размножению”[Зеленый]
При применении свойства формата логического поля на уровне таблицы возникают
две проблемы:
1) если вы вводите пользовательский формат, подобный приведенному выше
примеру, как значение свойства, то необходимо изменить тип элемента управления на
вкладке Подстановка с заданного по умолчанию значения Флажок на Поле, чтобы
можно было увидеть новый формат;
2) когда назначен новый формат и в качестве элемента управления для
отображения значений логического поля используется Поле, пользователь может вводить
только значения 1 или 0. Это происходит потому, что свойство Формат поля влияет
только на отображение данных, содержащихся в поле таблицы, но не на их ввод.
Формат полей с типом данных Гиперссылка.
Этот формат состоит из трех частей:
• Отображаемый текст – видимый текст, который отображается в поле или
элементе управления;
• Адрес – путь к файлу (URC) или странице (URL) в Internet;
• Смещение – определяет место в файле или на странице.
Эти части разделяются символом #, например,
Microsoft Net Home Page#htpp:/www.msn.com.
Свойство Формат поля для Даты/времени.
Свойство Формат поля позволяет использовать встроенные (табл. 22) или
пользовательские форматы для полей Дата/время.
Специальные форматы выводятся в соответствии со значениями, установленными в
окне Язык и стандарты Панели управления Windows.
51
Специальные форматы, противоречащие настройке окна Язык и стандарты
Панели управления Windows, игнорируются.
Ниже приведены примеры специальных форматов Даты/времени (табл. 23).
Специальные форматы даты и времени определяются с помощью символов (табл.
24).
При добавлении в специальный формат запятой или другого символа разделителя
этот символ следует вводить в кавычках, например формат mmmm dd”, yyyy отобразит
дату август 04, 2004.
Определение Маски ввода.
52
Маска упрощает пользователю ввод данных в поле. Маска ввода задается с
помощью символов (табл. 25).
Для того чтобы сформировать маску ввода, можно использовать Мастер масок
ввода, но только для Текстовых полей и полей типа Даты/времени.
Открыть таблицу в режиме Конструктор. Выделить нужное поле для ввода маски
ввода. Для этого поля щелкнуть мышью на ячейке свойства Маска ввода. Нажать
небольшую кнопку с тремя точками, которая появится справа (эта кнопка называется
кнопкой построителя).
1. В первом окне Мастера можно выбрать нужную маску из списка, которую он
может создать (рис.16). Если щелкнуть мышью по полю Проба в нижней части окна и
ввести пробные данные, то можно увидеть, как будут формироваться вводимые символы.
53
2. Во втором диалоговом окне увидим название маски, предлагаемую для нее
символьную строку, поле со списком Заполнитель, в котором можно выбрать символуказатель заполняемых при вводе позиций, и поле проверки работы маски работы маски
(рис. 17). Здесь же в поле Маска ввода можно с помощью приведенных в таблице
символов маски выполнить корректировку маски ввода.
3. В последнем диалоговом окне выбрать способ сохранения данных: вместе со
знаками маски или без знаков маски, и нажать кнопку Готово.
Если в первом диалоговом окне нажать кнопку Список, то появится диалоговое
окно Настройка масок ввода (рис.18). В нем надо ввести имя Маски ввода. Затем в поле
Маска ввода сформировать с помощью символов, приведенных в таблице, саму маску
ввода и выбрать символ-заполнитель при отображении маски.
54
В поле Проба можно выполнить проверку работы созданной Маски ввода. После
нажатия кнопки Закрыть созданная маска ввода появится под заданным именем в списке
масок первого диалогового окна Мастера создания масок ввода.
55
ПРАКТИЧЕСКАЯ РАБОТА № 13:
НАСТРОЙКА ЗАПОЛНЕНИЯ ПОЛЯ ПУТЕМ ПОДСТАНОВКИ.
Тип данных Мастер подстановок.
В этом поле с помощью Мастера подстановок создается поле со списком,
содержащее набор или постоянных значений, значений из другой таблицы или запроса.
Размер данного поля совпадает с размером ключевого поля, используемого в
качестве подстановки (обычно 4 байта).
Создание в таблице поля со списком подстановок или списком значений.
Сделать более простым ввод значений в поле позволяет операция подстановки. Она
позволяет организовать ввод значений в поле путем выбора одного из значений в
специально созданном поле со списком.
Создать такое поле можно, если назначить полю тип данных Мастер подстановок,
который автоматически запускает специальный мастер, он также называется Мастер
подстановок. Источником данных для раскрывающегося списка Мастер подстановок
позволяет назначить:
- список, состоящий из данных другой существующей таблицы или запроса;
- список из фиксированных постоянных значений.
Наиболее распространенным видом списка является список значений из ссылочной
таблицы. Например, пусть имеются таблицы Заказы, Товары, Клиенты и Поставщики
и при выборе в таблице Заказы поля Код клиента для ввода в него значений необходимо
вывести список наименований клиентов, а не их коды, и вводить после выбора из списка
нужного клиента в таблицу Заказы его Код. Если между таблицами Клиенты и Заказы
установлена связь, то мастер выведет сообщение об этом. В нем объясняется, почему
нельзя изменить тип данных этого поля, и предлагается решить эту проблему. Нажмем на
кнопку OК, чтобы вернуться в окно конструктора.
Выполним команду Сервис, Схема данных и удалим связь между таблицами
Клиенты и Заказы. После закрытия окна Схема данных вновь запустим Мастер
подстановок.
Чтобы использовать Мастер подстановок необходимо:
1. Открыть таблицу Заказы в режиме Конструктор.
2. Выделить поле Код клиента и выбрать из списка в столбце Тип данных
значение Мастер подстановок (рис. 9).
3. В открывшемся диалоговом окне Мастер подстановок (рис. 9) выбрать способ
задания значений: Объект "Столбец подстановки" будет использовать значения из
таблицы или запроса, т.к. в данном случае мы должны использовать данные из таблицы
Клиенты. Нажать кнопку Далее.
4. Во втором диалоговом окне можно выбрать из списка таблицу или запрос, из
которого будет осуществляться подстановка. Выбрать таблицу Клиенты и нажать кнопку
Далее.
56
5. В третьем диалоговом окне в списке Доступные поля выводятся все поля
таблицы Клиенты. Переместим из списка Доступные поля в список Выбранные поля
Код клиента и Фамилия и нажмем кнопку Далее (рис. 10).
6. В четвертом диалоговом окне с помощью перетаскивания границы выбрать
ширину столбца, оставив установленный по умолчанию флажок Скрыть ключевое поле,
чтобы не выводить в раскрывающемся списке коды клиентов. Нажать кнопку Далее (рис.
11).
7. В последнем диалоговом окне ввести название столбца подстановок и нажать на
кнопку Готово.
Столбец подстановок создан.
Такой же список создается для поля Код товара таблицы Заказы с
использованием данных из таблицы Товары.
Создать поле со списком подстановок и списком значений можно как в режиме
конструктора, так и в режиме таблицы.
Создание списка значений в режиме Конструктор.
Чтобы создать список значений в режиме Конструктор надо:
1. Открыть таблицу в режиме Конструктор.
2. Для вставки поля выбрать строку, над которой его необходимо поместить, и на
панели инструментов нажать кнопку Добавить строки. Для добавления поля в конец
таблицы, выбрать первую пустую строку.
57
3. В столбце Имя поля ввести имя поля, следуя соглашениям об именах объектов
MS Access.
4. В столбце Тип данных нажать стрелку и выбрать Мастер подстановок.
5. В диалоговом окне Мастера подстановок выбрать параметр, указывающий
требуемый тип значений, в данном случае: Будет введен фиксированный набор
значений. Нажать кнопку Далее.
6. На втором шаге определить количество столбцов и ввести значения для списка.
Нажать кнопку Далее.
7. На последнем шаге ввести заголовок списка и нажать кнопку Готово.
Поле со списком создано.
Создание списка значений в Режиме таблицы.
1. Открыть таблицу в Режиме таблицы.
2. Выбрать ячейку в столбце, слева от которого требуется вставить поле, и выбрать
команду Вставка, Столбец подстановок.
3. В первом диалоговом окне Мастера подстановок выбрать один из параметров:
• объект «столбец подстановки» будет использовать значения из таблицы или
запроса;
• будет введен фиксированный набор значений.
Далее действия полностью совпадают с описанными выше. После нажатия кнопки
Готово будет вставлено новое поле с указанным именем.
Применять операцию подстановки можно только к полям, содержащим текстовые
и числовые данные, а также к логическим полям.
На нижней панели окна Конструктора таблиц находится вкладка Подстановка.
Она предоставляет альтернативный способ создания полей подстановок.
По умолчанию для текстовых и числовых полей значение свойства Тип элемента
управления задается как Поле, при этом остальные свойства на вкладке Подстановка
отсутствуют. Для полей логического типа значение этого свойства по умолчанию
определяется как Флажок, но можно установить и значение Поле.
Для всех трех типов полей можно установить значение Поле со списком для
свойства Тип элемента управления. В этом случае на вкладке Подстановка появляется
ряд свойств, позволяющих управлять параметрами подстановки (рис. 12).
Легко заметить, что значения этих свойств можно настраивать с помощью Мастера
подстановок, его использование делает эту процедуру более естественной и удобной.
Перечень свойств на вкладке Подстановка приведен в табл. 12.
58
Для текстовых и числовых полей свойству Тип элемента управления можно
задавать значение Список. В этом случае на вкладке Подстановка появляются только те
свойства, которые отмечены звездочкой (*) в табл. 12.
59
ПРАКТИЧЕСКАЯ РАБОТА № 14:
ОБЪЯВЛЕНИЕ КЛЮЧЕВЫХ И ИНДЕКСИРУЕМЫХ ПОЛЕЙ.
Первичный ключ.
Первичный ключ содержит информацию, которая однозначно идентифицирует
запись. Иногда его называют ключевое поле. Ключ – это одно или несколько полей,
комбинация значений которых однозначно определяет каждую запись в таблице. Если для
таблицы определен первичный ключ, то MS Access предотвращает дублирование или ввод
пустых значений в ключевое поле. Первичный ключ используется для установления
связей между таблицами, а также для ускорения операций поиска и сортировки. В MS
Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной
ключ.
Для создания ключевого поля типа Cчетчик необходимо в режиме Конструктора
таблиц:
- включить в таблицу поле типа Счетчик. Для этого в поле, где будут уникальные
значения, например номер зачетной книжки, установить тип Счетчик;
- задать свойству Новое значение значение Последовательные, которое
обеспечивает автоматическое увеличение значения в этом поле на 1 при добавлении новой
записи;
- назначить это поле в качестве ключевого, нажав на кнопку Ключевое поле на
панели инструментов Конструктор таблиц.
Если же до сохранения созданной таблицы ключевые поля не были определены, то
при сохранении будет выдано сообщение о создании ключевого поля. При нажатии
кнопки Да будет создано ключевое поле с именем Код и с типом данных Счетчик. В
случае если таблица уже создана и содержит данные, то для создания простого ключа
достаточно найти поле, которое содержит уникальные значения, например Табельный
номер сотрудника.
Это поле надо выделить и нажать кнопку Ключевое поле на панели инструментов
Конструктор таблиц. Но если выбранное поле содержит повторяющиеся или пустые
значения, то при попытке определить его как ключевое в области маркировки выбранного
поля, где появляется пиктограмма с изображением ключа, будет выведено сообщение об
ошибке, так как для ключевого поля устанавливаются ограничения Unique и Not Null.
В этом случае для определения записей, содержащих повторяющиеся данные,
можно выполнить запрос на поиск повторяющихся записей. Если устранить повторы
путем изменения значений невозможно, то следует либо добавить в таблицу поле
счетчика и сделать его ключевым, либо определить составной ключ. Он представляет
собой комбинацию нескольких полей. Для определения составного ключа необходимо:
- открыть таблицу в режиме Конструктора;
- выделить поля, которые необходимо определить как ключевые. Выделить
несколько полей можно, нажав и удерживая при выборе клавишу Ctrl;
- нажать кнопку Ключевое поле на панели инструментов Конструктор таблиц.
Индексы.
С целью ускорения поиска данных в любой СУБД используются индексы. Индекс
является средством, которое обеспечивает быстрый доступ к данным в таблице на основе
значений одного или нескольких столбцов. Кроме того, индекс позволяет определить
способ представления данных: отсортированными по возрастанию или по убыванию.
Индекс представляет собой упорядоченный список значений со ссылками на те записи, в
которых хранятся эти значения. Чтобы найти нужные записи, СУБД сначала ищет
требуемое значение в индексе, а затем по ссылкам быстро отбирает соответствующие
записи. Индексы бывают двух типов: простые и составные. Простые индексы
60
представляют собой индексы, созданные по одному столбцу. Индекс, построенный по
нескольким столбцам, называется составным.
Индексировать можно любые поля, кроме Memo-полей, полей типа Гиперссылка
и Поле объекта OLE.
Индекс – независимый объект, создание или удаление индекса никак не
воздействует на определение или данные индексированной таблицы.
Индексы должны постоянно поддерживаться, чтобы отражать последние
изменения индексированных столбцов таблицы. Эти процедуры выполняются
автоматически после вставки, редактирования или удаления значения в индексированном
столбце и требуют затрат времени на обновление индекса.
Поэтому индексы используются для относительно статичных таблиц и для тех
столбцов, по которым наиболее часто выполняется поиск записей.
В MS Access допускается создание произвольного количества индексов.
Важной особенностью индексов является возможность использования их для
создания первичных ключей. Первичный ключ содержит информацию, которая
однозначно идентифицирует запись. При назначении свойству Индексированное поле
(табл. 13) полю таблицы значения Да (совпадения не допускаются) в это поле нельзя
добавить значение дубль, что удовлетворяет требованиям, предъявляемым к первичным
ключам.
Создание индекса для одного поля.
Для создания простого индекса необходимо выбрать:
- в окне конструктора таблицы в верхней половине окна поле, для которого
создается индекс;
- в нижней половине окна для свойства Индексированное поле одно из следующих
значений:
Да (Допускаются совпадения);
Да (Совпадения не допускаются). Значение Да (Совпадения не допускаются)
обеспечивает уникальность каждого значения данного поля.
Ключевое поле автоматически индексируется и свойству Индексированное поле
присваивается значение Да (Совпадения не допускаются).
Создание составного индекса.
Составной индекс создается в специальном диалоговом окне. Чтобы создать
составной индекс необходимо:
- открыть таблицу, для которой создается составной индекс, в режиме
Конструктора. Для этого в окне базы данных установить указатель на имя данной
таблицы и нажать кнопку Конструктор;
- нажать кнопку Индексы на панели инструментов. На экране откроется окно
диалога Индексы (рис. 13);
- в открывшемся окне диалога ввести имя индекса в первом пустом поле столбца
Индекс. В качестве имени индекса можно использовать имя одного из полей, включенных
в индекс, или любое допустимое имя;
- в столбце Имя поля той же строки нажать кнопку раскрытия списка и выбрать
первое поле индекса;
61
- в столбце Имя поля следующей строки выбрать имя следующего поля индекса.
(В этой строке поле столбца Индекс следует оставить пустым). Определить таким же
образом остальные поля индекса. Составной индекс может включать до 10 полей;
- закончив выбор полей для индекса, нажать кнопку закрытия окна,
расположенную в строке заголовка окна диалога.
По умолчанию задается порядок сортировки По возрастанию. Для сортировки
конкретного поля по убыванию выбрать в столбце Порядок сортировки строки с
выбранным полем значение По убыванию.
Чтобы просмотреть в таблице индексы необходимо:
- открыть таблицу в режиме Конструктор;
- нажать на кнопку Индексы на панели инструментов Конструктор таблиц;
В- окне Индексы просмотреть необходимую информацию.
Чтобы изменить существующие в таблице индексы необходимо:
- открыть окно Индексы так же, как для просмотра;
- выбрать строку с подлежащим модификации индексы;
- изменить название индекса в поле Индекс;
- изменить поле, соответствующее данному индексу, выбрать новое поле из списка
в поле Имя поля;
- выбрать порядок сортировки в поле Порядок сортировки: По возрастанию или
По убыванию;
- изменить свойства данного индекса в нижней части окна (рис. 14):
•Ключевое поле определяет, является ли индексированное поле ключевым;
•Уникальный индекс определяет, должно ли быть каждое значение в этом поле
уникальным;
• Пропуск пустых полей определяет, включаются или не включаются в индекс
записи с пустым (Null) значением данного поля;
- для включения в индекс еще одного поля надо добавить строку, выделив строку,
перед которой необходимо вставить новую, и нажав правую кнопку мыши, и из
контекстного меню выбрать Добавить строки. Пункты 3-7 процедуры выполняются по
необходимости.
62
Для удаления индекса необходимо:
- открыть окно Индексы так же, как для просмотра;
- выбрать строку (строки) с подлежащим удалению индексом;
- щелкнуть правой кнопкой мыши по выделенной строке; из контекстного меню
выбрать команду Удалить строки.
63
ПРАКТИЧЕСКАЯ РАБОТА № 15:
МОДИФИКАЦИЯ ТАБЛИЦЫ.
ОПЕРАЦИИ С ТАБЛИЦАМИ В ОКНЕ БД.
МОДИФИКАЦИЯ СТРУКТУРЫ ТАБЛИЦЫ.
При задании структуры таблицы возможны следующие ошибки:
• изменение наименования поля и/или его типа;
• вставка пропущенного поля;
• удаление ошибочно введенного поля;
• изменение порядка следования полей в таблице.
Для модификации структуры таблицы, входящей в базу данных, установить в окне
Базы данных указатель на модифицируемую таблицу и нажать кнопку Конструктор. На
экране откроется окно конструктора, содержащее структуру выбранной таблицы.
Изменение наименования поля и/или его типа.
Предположим, что при задании имени поля или его типа была допущена ошибка.
Она была обнаружена только после окончания ввода поля.
Установим указатель на наименование поля или тип, который требуется изменить.
Для удаления неправильных символов и имени поля используется клавиша Backspace или
Delete. После этого введем правильное имя поля.
Изменение типа поля осуществляется аналогично его присвоению.
Изменение порядка следования полей.
Чтобы перенести одно из полей на несколько полей выше или ниже того места, где
оно находится сейчас, выполняются следующие действия: слева от имен полей находится
область выбора поля. В строке с описанием поля, которое хотим переместить, нажмем на
эту область, при этом вся строка будет выделена; теперь нажать еще раз на область
выбора поля и не отпускать кнопку мыши. Обратить внимание на маленький пунктирный
прямоугольник, появившийся под курсором мыши; перенести всю строку так, чтобы она
оказалась прямо над полем, перед которым надо ее расположить; отпустить кнопку мыши.
Поле теперь будет находиться на новом месте; с помощью команды Правка, Отменить
сдвиг можно вернуть перемещенное поле на прежнее место.
Двигая поле вверх или вниз, надо следить за черной горизонтальной линией,
которая двигается вместе с ним. Если отпустить кнопку мыши при перемещении поля,
поле будет размещено над этой линией.
Удаление полей из таблицы.
64
В конструкторе таблиц нажать на область выбора поля, которое надо удалить, и
нажать клавишу Delete. Когда требуется удалить несколько соседних полей
одновременно, необходимо:
- нажать мышью на область выбора первого из удаляемых полей;
- не отпуская кнопку мыши, нажать и удерживать клавишу Shift;
- нажать мышью последнее поле из тех, которые надо удалить. После этого первая,
последняя и все строки между ними будут выделены;
- отпустить клавишу Shift;
- нажать клавишу Delete для удаления всех выделенных полей.
Аналогичным образом можно использовать клавишу Ctrl для выбора и удаления
полей, которые расположены не подряд. Нажать мышью на область выбора первого поля;
нажать и не отпускать клавишу Ctrl; выбрать мышью все остальные поля, которые надо
удалить. После этого отпустить клавишу Ctrl и нажать клавишу Delete.
Такие же действия можно выполнять, когда требуется одновременно переместить
несколько полей. Выбрать группу полей одним из описанных выше способов и перенести
ее в нужное место.
Добавление нового поля.
Если забыли создать поле, следует выполнить команду Вставка, Строки. Новая
строка будет вставлена над текущей строкой, то есть над строкой, которая выделена в
настоящий момент (она отмечена стрелкой в области выбора поля). Ввести в новой строке
имя поля и тип данных, как делали это уже неоднократно.
Поле можно вставить, используя правую кнопку мыши. Нажать ее на строке,
находящейся ниже того места, куда надо вставить новое поле. Выбрать пункт
всплывающего меню Добавить строки для добавления нового поля.
Этот способ выбора можно использовать и для удаления полей.
Изменение типа поля.
Изменять тип поля в готовой таблице следует осторожно, чтобы не повредить
содержащуюся в таблице информацию. В Access предусмотрены четыре основных типа
преобразования данных.
Преобразование данных к типу Текстовый.
Это самый простой способ преобразования. Числовые и денежные величины
преобразуются в текст без специального форматирования (без знаков валют и
разделителей), но дробные десятичные знаки сохраняются. Логические данные после
преобразования выглядят такими, как они есть. То же самое касается данных типа
Дата/время, когда используется полный формат даты: дд.мм.гг чч:мм:сс. Данные
гиперссылки также преобразуются в текст.
Отображаемый текст перестает быть подчеркнутым, служебные указатели на
ресурсы Internet становятся видимыми.
Преобразование Текстового типа к типу Числовой, Денежный, Дата/Время,
Логический, Гиперссылка.
Текстовые данные можно преобразовать в числа, если они содержат символы
0,1,2,…,9, точки и запятые, или в денежные величины (все перечисленные символы и
денежная единица, например, символ $).
Максимальная длина текстовой строки не должна превышать размер числового или
денежного поля для преобразования.
Текстовые данные с допустимым представлением даты и/или времени
преобразуются в формат Дата/Время. Например, 12.10.2003 или 13-06-2004.
Текстовые поля можно преобразовать в логический тип, если они содержат
допустимое значение для логического типа: Да/Нет, Истина/Ложь, Вкл/Выкл.
Числовые данные также можно преобразовать к логическому типу: система
преобразует Null как Null, 0 как Нет, а любое ненулевое значение как Да.
65
Текстовое поле, содержащее правильно сформированный текст гиперссылки, будет
преобразовываться в гиперссылку (отображаемый текст и адрес).
Преобразование Денежного типа к Числовому.
Денежные значения можно преобразовать в числовые, если для нового типа
подходят размер и количество десятичных знаков. Любое значение может быть
преобразовано в числовой формат Двойной с плавающей точкой – 8 байт и 15
десятичных позиций.
Преобразование Текстового типа в тип Memo.
Значение текстового типа всегда преобразуется в тип Memo; обратное
преобразование возможно, если длина каждого из значений в поле Memo не превышает
255 символов. Более длинные данные усекаются.
ОСНОВНЫЕ ОПЕРАЦИИ С ТАБЛИЦАМИ В ОКНЕ БАЗЫ ДАННЫХ.
Основные операции с таблицами в окне базы данных:
• переименование;
• удаление;
• копирование;
• экспорт таблиц в другую базу данных.
Для переименования таблицы в окне базы данных надо:
- выделить таблицу в окне базы данных;
- щелкнуть на имени выделенной таблицы;
- ввести новое имя и нажать клавишу F1.
То же самое можно сделать с помощью команды Правка, Переименовать или
выбрать из контекстного меню команду Переименовать. Новое имя появится в списке
таблиц окна базы данных. После переименования таблицы надо изменить ее имя во всех
объектах, в которых она используется.
Для удаления таблицы надо выделить ее имя и нажать клавишу Delete, или
выполнить команду Правка, Удалить, или выполнить команду Удалить из контекстного
меню.
Копирование таблиц в базе данных выполняется с помощью команд Копировать,
Вставить. При вставке скопированной таблицы появится диалоговое окно Вставка
таблицы, в котором можно выбрать одну из опций:
• только структура;
• структура и данные;
• добавление данных в таблицу.
Первая опция позволяет создать новую пустую таблицу с теми же именами полей и
свойствами, какие были в исходной таблице. Эта опция обычно используется для создания
временных таблиц той же структуры для хранения старых записей.
Вторая опция позволяет создать точную копию структуры таблицы со всеми ее
данными.
Третья опция позволяет добавлять данные в существующую таблицу.
После выбора нужной опции надо ввести имя новой таблицы и нажать OК.
При экспорте таблицы в другую базу данных связи между таблицами не
копируются. Access копирует только структуру и данные. Для экспорта таблицы надо:
- выбрать имя таблицы в окне базы данных;
- выполнить команду Правка, Копировать;
- открыть другую базу данных;
- выполнить команду Правка, Вставить;
- ввести имя новой таблицы;
- выбрать одну из опций групп Параметры вставки в окне Вставка таблицы и
нажать кнопку OК.
66
ПРАКТИЧЕСКАЯ РАБОТА № 16:
ОПРЕДЕЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ В СХЕМЕ ДАННЫХ.
ИЗМЕНЕНИЕ И УДАЛЕНИЕ СВЯЗЕЙ.
ОПРЕДЕЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ.
В Access встроено мощное средство установки связей между таблицами. Оно
позволяет добавлять в схему новые таблицы, устанавливать, изменять и удалять связи, а
также переходить в режим Конструктора для корректировки свойств таблиц.
Окно диалога Схема данных.
Создание связей между таблицами в MS Access осуществляется в окне диалога
Схема данных. Перед созданием связей между таблицами необходимо предварительно
закрыть все открытые таблицы. Не допускается создание или удаление связей между
открытыми таблицами. Для определения связей между таблицами необходимо выполнить
следующие действия:
1. Выполнить команду Сервис, Схема данных или нажать кнопку Схема данных
на панели инструментов. Откроется окно диалога Схема данных.
2. Если база данных не содержит предварительно определённых связей, то
дополнительно к окну Схема данных откроется диалоговое окно Добавление таблицы.
Добавить в окно диалога Схема данных последовательно связываемые таблицы. Если же
окно Добавление таблицы неактивизировано, выполнить команду Связи, Добавить
таблицу или нажать кнопку Добавить таблицу на панели инструментов. На экране
откроется окно диалога Добавление таблицы (рис. 20).
67
3. В списке таблиц выделить первую добавляемую таблицу (например, Клиент) и
нажать кнопку Добавить. Затем выделить вторую добавляемую таблицу (например,
Заказы) и нажать кнопку Добавить и т. д. Далее нажать кнопку Закрыть для закрытия
диалога Добавление таблицы. В окне диалога Схема данных появятся связываемые
таблицы (рис. 21).
4. Для связывания таблиц выбрать поле связи в первой связываемой таблице, и
переместить его с помощью мыши на соответствующее поле второй таблицы. Для
связывания сразу нескольких таблиц надо выбрать эти поля при нажатой клавише Ctrl и
переместить во вторую таблицу группу выделенных полей.
В большинстве случаев ключевое поле (представленное в списке полей
полужирным шрифтом) одной таблицы связывают с соответствующим ему полем
внешнего ключа (часто имеющим то же имя) во второй таблице.
Связанные поля необязательно должны иметь одинаковые имена, однако, они
должны иметь одинаковые типы данных (из этого правила существуют два исключения).
Кроме того, связываемые поля типа Числовой должны иметь одинаковые значения
свойства Размер поля. Исключениями из этого правила являются поля Счётчика с
последовательной нумерацией, которые могут связываться с числовыми полями размера
Длинное целое, а также поля счётчика с размером Код репликации, связываемые с
полями типа Числовой, для которых также задан размер Код репликации.
На экране откроется окно диалога Изменение связей (рис. 22).
В данном окне диалога проверить правильность имен связываемых полей,
находящихся в столбцах. При необходимости можно выбрать другие имена полей. В
диалоговом окне установить флажок Обеспечение целостности данных, затем нажать
68
кнопку Создать. Мы вернулись в окно диалога Схема данных, которое принимает вид,
аналогичный рис. 21. Связи между таблицами будут установлены, и Access нарисует
линию, соединяющую две таблицы, и покажет тип связи между ними (рис. 23). Для
вызова окна Изменения связей нужно дважды щёлкнуть на линии связи между двумя
таблицами.
Тип отношения в окне Схемы данных не будет показан без установления флажка
обеспечения целостности данных. В окне Изменения связей содержится информация о
том, какая из связанных таблиц является главной, а также опции поддержания
целостности данных.
Кроме того, в нижней части окна приводится информация о типе связи между
таблицами.
В верхней части диалогового окна Изменения связей находятся имена таблиц, а
также поля связи этих таблиц. Если порядок связи установлен неверно, то нужно
щёлкнуть по кнопке Отмена для возврата в окно Схема данных. Если поле одной из
таблиц определено неверно, нужно выбрать необходимое поле из раскрывающегося
списка под именем таблицы.
Изменение существующей связи.
Прежде чем приступить к изменению связи между таблицами, закрыть все
открытые таблицы. Access не допускает изменения связи между открытыми таблицами.
Затем выполнить следующую последовательность действий:
- находясь в окне базы данных, нажать кнопку Схема данных на панели
инструментов или выполнить команду Сервис, Схема данных;
- если таблицы, связи между которыми требуется изменить, не отображаются в
окне диалога Схема данных, нажать кнопку Добавить таблицу на панели инструментов,
установить указатель на имя нужной таблицы и дважды нажать кнопку мыши. После
этого нажать кнопку Закрыть;
- установить указатель на линию связи, которую требуется заменить, и дважды
нажать кнопку мыши;
- в открывшемся окне диалога Изменение связей внести нужные изменения и
нажать кнопку ОК.
По умолчанию Access отображает все связи всех таблиц баз данных.
Но, например, при создании запроса может оказаться необходимым просмотр всех
связей одной или нескольких таблиц, т.е. если вся схема данных достаточно сложна, то
связи таблиц трудно отследить.
Для просмотра связей одной таблицы необходимо:
- нажать на кнопку Очистить макет на панели инструментов Схема данных или
выбрать команду Правка, Очистить макет для удаления изображения всех таблиц из
окна Схема данных;
- в диалоговом окне предупреждения найдите кнопку Да. Но отметим, что при
очистке макета схема базы данных не изменяется, удаляется лишь ее изображение;
69
- добавить в схему нужную таблицу путем нажатия кнопки Отобразить таблицу
на панели инструментов;
- выделить таблицу, связи которой нужно показать, либо нажать кнопку.
Отобразить прямые связи на панели инструментов, либо выполнить команду меню
Связи, Отобразить прямые связи. На рис. 23 показаны прямые связи таблицы Заказы.
Удаление связи.
Удалить существующую связь легче, чем создать:
- находясь в окне базы данных, нажать кнопку Схема данных на панели
инструментов;
- установить указатель на линию связи, которую требуется удалить, и выделить ее,
нажав кнопку мыши;
- нажать клавишу Delete. Когда MS Access предложит подтвердить удаление связи,
нажать кнопку Да.
Удаление таблицы из макета Схемы данных.
Открыть окно диалога Схема данных.
Выбрать таблицу, которую требуется удалить из данного окна, и нажать клавишу
Delete. Таблица будет удалена из макета схемы данных вместе с определенными для нее
связями.
Данная операция изменяет только макет в окне диалога Схема данных. Таблица и
ее связи будут по-прежнему сохраняться в базе данных.
ПРАКТИЧЕСКАЯ РАБОТА № 17:
ПОДДЕРЖКА ЦЕЛОСТНОСТИ ДАННЫХ. КАСКАДНЫЕ ОПЕРАЦИИ.
Поддержка целостности данных.
Целостность данных – это система правил, используемых для поддержки связей
между записями в связанных таблицах, а также по защите записи от случайного удаления
или изменения связанных данных.
Установить проверку целостности данных можно, если выполнимы условия:
- связанное поле главной таблицы является ключевым полем или имеет
уникальный индекс;
- связанные поля имеют один тип данных. Здесь существуют два исключения: Поле
Счётчика может быть связано с числовым полем, если в последнем в свойстве Размер
поля указано значение Длинное целое или в обоих полях свойство Размер поля указано
значение Код репликации;
- обе таблицы принадлежат к одной базе данных MS Access.
После установки целостности данных надо придерживаться следующих правил:
- невозможно ввести в связанное поле подчинённой таблицы значение,
- отсутствующее в связанном поле главной таблицы. Однако можно ввести пустое
значение, показывающее, что для данной записи связи отсутствуют;
- не допускается удаление записей из главной таблицы, если существуют связанные
с ней записи в подчинённой таблице;
- невозможно изменение значения ключевого поля в главной таблице, если
существуют записи, связанные с данной.
Чтобы эти правила применить к конкретной связи, при её создании следует
установить флажок Обеспечение целостности данных. После этого любая попытка
выполнить действия, нарушающие одно из перечисленных выше правил, приведет к
выводу на экран предупреждения, а сами действия выполняться не будут.
Чтобы преодолеть ограничения на удаление или изменение связанных записей,
сохранив при этом целостность данных, следует установить флажки:
• каскадное обновление связанных полей;
• каскадное удаление связанных записей.
70
Если установили первый флажок, то при изменении ключевого поля главной
таблицы автоматически изменяется и соответствующее значение в связанных записях.
При установленном втором флажке при удалении записи в главной таблице
удаляются и все связанные записи в подчинённой таблице.
В окне диалога Схема данных можно не только создавать связи между таблицами,
но и выполнять следующие действия:
• изменить структуру таблицы;
• изменить существующую связь;
• удалить связь;
• удалить таблицу из окна диалога Схема данных;
• вывести на экран все существующие связи или связи только для конкретной
таблицы;
• определить связи для запросов, не задавая условия целостности данных.
Использование каскадных операций.
Следует еще раз обратиться к окну диалога Изменение связи. При установке
опции Обеспечение целостности данных стали доступны опции каскада обновления
связанных полей и каскада удаления связанных записей. При выборе этих опций MS
Access выполняет изменения в связанных таблицах таким образом, чтобы сохранить
целостность данных, даже если изменяется значение ключевых полей или удаляется
запись в главной таблице.
Каскадные изменения.
Иногда может возникнуть необходимость изменения в ключевом поле записи,
связанной по типу один-ко-многим. Если не установлена опция Каскадное обновление
связанных полей, то MS Access не позволит этого сделать. Вместо изменения MS Access
выдаст предупреждение о нарушении целостности данных при попытке осуществить это
изменение.
Что является нарушением? Это поле – первичный ключ связи один-ко-многим, и
изменяемое значение имеется, по крайней мере, в одной записи в поле связанной с ним
таблицы.
Если же установлено Каскадное обновление связанных полей, проблем не
возникнет. Если пользователь изменяет значение ключевого поля в главной таблице, то
MS Access проверяет корректность значения в этом поле (в первичной таблице не должно
быть ключей дубликатов) и изменяет соответствующие поля во всех связанных таблицах.
Если опция не включена, изменять значение ключевого поля главной таблицы не
удаётся. Если ключевое поле главной таблицы является полем связи между таблицами, то
для обеспечения правильности работы опция Каскадное обновление связанных полей
должна быть установлена для всех подчинённых таблиц.
Каскадные удаления.
При попытке удалить запись в ключевом поле записи, связанной по типу один-комногим при снятом флажке Каскадное удаление связанных записей, MS Access выдаст
сообщение об ошибке.
Однако при установленной опции Каскадное удаление связанных записей можно
удалить запись из главной таблицы. Связанные с ней записи в подчиненных таблицах
будут автоматически удалены, соблюдая, таким образом, правила целостности данных.
Другими словами, если выбрана опция Каскадное удаление связанных записей, то все
связанные поля из подчиненной таблицы удаляются, как только удаляется запись из
главной таблицы.
При каскадном удалении не выводится предупреждающая запись.
Если эта опция не включена, то сначала нужно удалить все связанные записи в
подчиненных таблицах, а затем соответствующие им записи в главной таблице.
71
ПРАКТИЧЕСКАЯ РАБОТА № 18:
РЕЖИМ ТАБЛИЦЫ.
ВВОД ДАННЫХ, ИЗМЕНЕНИЕ МАКЕТА ТАБЛИЦЫ,
ПРОСМОТР СВЯЗАННЫХ ТАБЛИЦ, ПОИСК, ФИЛЬТРАЦИЯ.
РАБОТА С ИНФОРМАЦИЕЙ В ТАБЛИЦАХ. РЕЖИМ ТАБЛИЦЫ.
Режим таблицы – это один из нескольких способов просмотра данных в Access.
Окно Режима таблицы выглядит так же, как и окна других объектов Access (рис. 24). В
строке состояния, расположенной в нижней части главного окна приложения,
отображаются значения свойства Описание, которые вводятся для полей при создании
структуры таблицы. Например, оно может содержать информацию об ошибке,
инструкцию по вводу данных. Если у поля нет описания, то Access отображает слова
Режим таблицы. Сообщение и предупреждения об ошибках обычно появляются в
диалоговых окнах в центре экрана.
В центре экрана расположена состоящая из строк и столбцов таблица данных – это
и есть окно Режима таблицы. Строка таблицы – это запись, в столбце, имеющем имя,
находятся значения поля. Первоначально записи упорядочиваются по первичному ключу,
а поля располагаются в порядке их создания в структуре таблицы. В правой части
таблицы находится полоса прокрутки для быстрого перемещения по записям. В строке в
нижней части таблицы имеется текстовое поле, содержимое которого показывает номер
текущей записи. Справа от кнопок перемещения выводится количество записей,
хранящихся в таблице.
Перемещение по таблице.
72
По записям, видимым на экране, для перемещения на нужную запись надо просто
щелкнуть линию на любом поле этой записи.
MS Access имеет набор клавишных команд, предназначенных для быстрого
перемещения по таблице. Список команд приведен в табл. 26.
Средства быстрого перемещения очень полезны при редактировании полей
больших таблиц.
Для перемещения по таблице можно использовать кнопки навигации,
расположенные в нижней части окна (рис. 24). Их назначение перечислено в порядке
расположения на экране слева направо: Первая запись, Предыдущая запись,
Следующая запись, Последняя запись, Новая запись. То же самое выполняют команды
меню Правка, Перейти.
Кроме того, в Режиме таблицы можно использовать полосы прокрутки (если они
видимы) – горизонтальную и вертикальную.
Панель инструментов Таблица в Режиме таблицы (рис. 25).
Первая кнопка Вид позволяет переключаться между режимами: Конструктор,
Режим таблицы, Сводная таблица, Сводная диаграмма.
Все эти режимы являются пунктами раскрывающегося списка, который появляется
при щелчке по направленной вниз стрелке справа от кнопки.
Кнопка Сохранить позволяет сохранить любое изменение макета в режиме
таблицы.
Кнопка Найти открывает окно Обычный поиск, которое используется для поиска
определенных файлов на локальном или сетевом диске. Если щелкнуть по кнопке
Расширенный поиск в нижней части этого окна, то можно включить режим
Расширенный поиск (рис. 26).
73
Далее следуют три кнопки Вырезать, Копировать, Вставить, они позволяют
удалить, копировать в буфер обмена или вставить объект из буфера обмена. Для таблицы
объект – набор строк, полей, область и т.п.
Кнопка Отмена позволяет отменить последние выполненные изменения.
Следующие две кнопки – это кнопки сортировки. Можно выбрать один или
несколько столбцов, щелкнуть по одной из кнопок и отсортировать их в порядке
возрастания или убывания.
Следующие три кнопки – Фильтр по выделенному, Изменить фильтр, последняя
кнопка Включить или отключить фильтр.
Кнопка Найти с изображением бинокля позволяет найти выделенный текст. После
щелчка по ней появляется диалоговое окно, с помощью которого можно найти нужное
значение в заданном поле.
Следующие две кнопки используются для добавления и удаления записей в
таблице.
Кнопка Окно базы данных – переход в окно базы данных.
Кнопка Новый объект – это раскрывающийся список, с помощью которого
создаются такие объекты, как таблицы, формы, запросы, макросы, модули.
Последняя кнопка Справка открывает окно интерактивной справочной системы
MS Office.
Для открытия таблицы в Режиме таблицы надо:
- щелкнуть по кнопке таблицы в левой части окна базы данных;
- выделить имя таблицы в списке имен таблицы на вкладке таблицы;
- щелкнуть на кнопке Открыть.
Ввод данных в таблицу.
В Режиме таблицы отображаются все введенные значения (рис. 27).
Если создана только структура таблицы, то в Режиме таблицы будет введена
пустая строка. Маркер текущей записи с изображениями треугольника, направленного
вправо, находится в левой колонке первой записи. Если в таблице первое поле имеет тип
данных Счетчик, то после добавления новой строки содержимое данного столбца
74
автоматически увеличится на единицу, обеспечивая уникальные значения столбца. Для
ввода данных:
- нажать клавишу Tab для перехода на следующее поле, с которого начнется ввод
информации;
- ввести информацию в данное поле;
- нажать Tab еще раз, чтобы перейти на следующее поле, выполнить ввод данных и
так далее до конца записи.
Можно оставлять поля пустыми. Для перехода можно также использовать клавишу
Enter. Для возврата в предыдущее поле используется комбинация Shift +Tab. После
нажатия в последнем поле записи клавиши Tab будет выполнен переход в начало
следующей записи.
Пиктограммы, появляющиеся в области выбора записи (слева от первого поля)
таблицы (рис. 27), меняются при изменении состояния записи. Символ черный
треугольник показывает текущую запись. Ввод или редактирование данных в эту запись
меняет этот символ на карандаш.
Это означает, что вводимые или редактируемые данные пока не сохранены.
Символ звездочка появляется в новой пустой записи в конце таблицы. До тех пор пока
выполняются операции ввода, в текущей записи все внесенные в нее изменения можно
отменить нажатием клавиши Esc.
Добавление новых записей.
Чтобы добавить в таблицу новую запись, необходимо нажать на кнопку Новая
запись на панели инструментов Таблица, а затем ввести данные в поля новой записи.
Кроме того, можно использовать один из вариантов:
- нажать на кнопку Добавление новой записи в нижней части окна таблицы;
- переместить указатель на запись, отмеченную в области выделения звездочкой;
- выполнить команду Вставка, Новая запись;
- щелкнуть правой кнопкой мыши на области выделения и из контекстного меню
выбрать команду Новая запись.
Иногда надо добавить несколько новых записей, а существующие сделать
временно невидимыми. Команда Записи, Ввод данных позволяет на время очистить
экран от всех записей и можно вводить новые записи.
Для восстановления всех записей надо выбрать команду Записи, Удалить фильтр.
Удаление записей из таблицы.
В MS Access можно удалить в таблице как одну или несколько записей, так и все
сразу. Удаление информации из связанных таблиц может привести к нарушению
целостности данных. Вполне возможно, что в других таблицах останутся ссылки на
данные этой таблице. Например, удалив записи из таблицы Клиенты, можно навсегда
потерять сведения о том, кто же заказал некоторые товары.
Для удаления одной или нескольких записей выделить удаляемые записи, после
чего нажать клавишу Delete или выполнить команду Правка, Удалить, или нажать
комбинацию клавиш Ctrl + дефис (Ctrl+-).
На запрос MS Access о подтверждении удаления выберем ОК.
Для выделения нескольких записей используется клавиша Shift.
75
Выделить первую запись из тех, которые надо удалить, и не отпуская клавишу
Shift, нажать на область маркировки последней строки выбираемой группы. В результате
будут выделены первая и последняя строки, а также все строки между ними.
Для удаления всей информации из таблицы выберем все записи командой Правка,
Выделить все записи. В результате все строки будут выделены. Теперь надо просто
нажать Delete и подтвердить свой выбор.
Ввод данных типа OLE.
В поле с типом OLE могут хранитьcя объекты: растровые изображения, звуковые
файлы, графики (диаграммы), флажки Word или Excel, Web или гиперссылка. Ввести
OLE-объект можно двумя способами:
- вставить из буфера;
- вставить из диалогового окна, появляющегося после выполнения команды
Вставка, Объект.
После размещения OLE в поле появится текст с описанием объекта.
Ввод данных в поле Memo.
Так как в этом поле может содержаться до 65555 символов, то для удобства ввода,
а также при просмотре содержимого этого поля надо нажать комбинацию клавиш Shift +
F2, которая выводит диалоговое окно Область вывода с полосой прокрутки, которое
позволяет сразу увидеть до 1000 символов текста. С помощью кнопки Шрифт можно
настроить параметры шрифта отображаемого текста.
Гиперссылка.
Гиперссылка – это специальное поле, содержащее адрес гиперссылки,
используемый Access для перехода к указанному в адресе объекту базы данных,
документу MS Office или страницы в Web. Адрес гиперссылки может быть адресом URL
(адрес узла в Интернет или во внутренней сети – Интеранет) или сетевым маршрутом в
формате UNC (адрес файла в локальной сети). Адрес гиперссылки может также содержать
специальную адресную информацию, например, указание на объект БД, закладку в
документе Word, диапазон ячеек в таблице Excel или адрес электронной почты. Если,
например, щелкнуть по гиперссылке, содержащей адрес электронной почты, то откроется
окно нового сообщения с указанным адресом получателя.
Компоненты адреса гиперссылки.
Адрес гиперссылки может состоять максимум из трех частей:
- необязательный текст, который отображается в поле гиперссылки вместо ее
фактического адреса;
- адрес, который представляет собой путь к объекту перехода. Например, С:\Мои
документы\Поездки.doc, или http://www.mywebsite.com, или mailto: Memynet.com;
- необязательный дополнительный адрес, который указывает на расположение в
документе объекта перехода. Это может быть закладка в документе Word или объект в
Access.
Эти части адреса разделяются символом фунта (#), например,
ДомашняяCтраница#http://www.sybex.com#.
Если будет в адресе указан “отображаемый текст”, то он появится на месте
гиперссылки в ячейке поля типа гиперссылки в таблице. Для адресов, которые указывают
на объекты в открытой БД или другой БД, Access автоматически создает текст с именем
объекта. Чтобы просмотреть адрес гиперссылки за отображаемым текстом, надо перейти
на ячейку с гиперссылкой, не щелкая по ней, и нажать клавишу F2.
Ввод адреса документа Office.
Поле адреса гиперссылки может указывать на файлы MS Office, такие как таблицы
Excel или документы Word. Следующий пример показывает, как можно ввести адрес
документа Word в поле Участие в проектах таблицы Сотрудники.
1. Щелкнуть на той записи поля гиперссылки, куда следует ввести адрес. В данном
случае это поле Участие в проектах.
76
2. Щелкнуть по кнопке Добавление гиперссылки на панели инструментов
Таблица в Режиме таблицы.
3. В поле Текст указать имя файла, к которому следует перейти. Для определения
адреса файла, на который должна быть выполнена ссылка, можно использовать
раскрывающийся список Папка или кнопку Поиск файла на панели инструментов окна
(рис. 28). Затем щелкнуть по кнопке Файл в разделе Найдите. На рис. 28 указан путь
D:\Jobs\Учебник по Access\Запросы.doc
4. Щелкнуть по кнопке OК, чтобы вставить гиперссылку в поле. Результат будет
таким, как показано на рис. 29.
Введенную гиперссылку можно редактировать с помощью диалогового окна
Изменение гиперссылки, которое аналогично окну Добавление гиперссылки.
Ввод адреса гиперссылки.
Адреса гиперссылки имеют сложную структуру. Для их формирования
используются:
• кнопка Добавление гиперссылки на панели инструментов Таблица в Режиме
таблицы;
• копирование и вставка адреса гиперссылки;
• перетаскивание гиперссылки;
• ввод адреса гиперссылки с клавиатуры.
Переход к документу Office.
Для такого перехода достаточно одного щелчка по полю с гиперссылкой.
Открытое окно можно закрыть, свернуть, восстановить.
Адрес гиперссылки по умолчанию выделяется синим цветом с подчеркиванием.
После использования гиперссылки цвет шрифта меняется на фиолетовый.
Чтобы изменить вид гиперссылки по умолчанию, надо выполнить команду Сервис,
Параметры, затем перейти на вкладку Общие и щелкнуть по кнопке Параметры Webдокумента. Откроется окно диалога, в котором можно изменить цвет гиперссылки и при
желании отменить режим подчеркивания.
Ввод адреса Web-страницы или URL.
77
В следующем примере будет показано, как ввести адрес, указывающий на
начальную страницу издательства SYBEX в Интернете.
1. Щелкнуть в незаполненном поле гиперссылки, куда вставляется адрес.
2. Ввести www.sybex.com (если надо чтобы отображался текст, то ввести Первая
страница SYBEX#http:// www.sybex.com#).
Составить такой текст несложно, при этом нет необходимости выводить окно
диалога Добавление гиперссылки. В случае с более сложным адресом удобнее открыть
это окно и воспользоваться средствами поиска Web-страницы или адреса URL. При этом
полезны следующие советы:
1. Если недавно просматривали Web-страницу, на которую следует сделать ссылку,
надо щелкнуть по кнопке Файлы Web-страницы. Затем щелкнуть по кнопке
Просмотренные страницы и выбрать страницу в списке диалогового окна.
2. Если надо найти страницу в Интернете, то необходимо убедиться в наличии
соединения, после чего в диалоговом окне Добавление гиперссылки щелкнуть по кнопке
Файлы Web-страницы, затем щелкнуть по кнопке Интернет панели инструментов окна,
при этом запустится установленный на компьютере броузер. После того как будет найдена
в сети необходимая страница, надо вернуться в окно Access. Теперь в поле Адрес
появится адрес URL для выбранной страницы.
Если адрес гиперссылки начинается с www, Access распознает в тексте такой
записи Web-страницу и добавляет за нас к началу адреса символы http:\\.
Access создает отображаемый текст для данного адреса, который начинается не с
http:\\, а с www.
Для перехода к Web-странице из Access надо шелкнуть по гиперссылке.
Если окно броузера не открыто, щелкнуть на значке Web-броузера, например на
рабочем столе.
Вставка в поле Значения по умолчанию.
Если значения в поле часто повторяются, то надо определить свойство поля
Значение по умолчанию, тогда при каждом добавлении новой записи в это поле
автоматически будет введено Значение по умолчанию. Указанное свойство не влияет на
данные, уже введенные в поле, но можно заменить существующие данные на Значение по
умолчанию, нажав комбинацию клавиш Ctrl+Alt+Spacebar.
Для заполнения поля Значением по умолчанию необходимо:
- открыть таблицу в режиме Конструктора. Если находились в Режиме таблицы,
выполнить команду Вид, Конструктор таблиц;
- установить курсор в поле, в котором хотим задать Значение по умолчанию;
- перейти в раздел Свойства поля данного поля и в свойстве Значение по
умолчанию ввести наиболее часто употребляемое значение для данного поля. Например,
полю Страна можно задать значение Россия;
- перейти в Режим таблицы, выполнив команду Вид, Режим таблицы;
- при переходе на новую запись, в поле, для которого задано Значение по
умолчанию, значение вводится автоматически. В случае необходимости скорректировать
его.
Вставка в поле значения этого же поля из предыдущей записи.
Ввод информации в таблицы является довольно трудоемкой работой.
Значительно облегчить ее помогут клавишные команды, выполняющие различные
функции ввода информации. К таким функциям относится вставка в поле значения этого
поля из предыдущей записи. Для этого в Режиме таблицы выбрать поле, в которое
требуется вставить значение; нажать комбинацию клавиш Ctrl + ‘ (Ctrl + апостроф). В
поле будет введено значение из того же поля предыдущей записи.
Удаление отдельных символов поля.
78
Для удаления ошибочно введенного символа в поле можно использовать клавишу
Backspace после того, как курсор мыши будет помещен после ошибочно введенного
символа. Можно также выделить текст мышью и удалить его нажатием клавиши Delete.
Удаление всего значения поля.
Для удаления значения, введенного в поле, и замены его новыми данными
установить курсор в крайнюю левую часть этого поля. Когда курсор изменится на
большой белый крест, нажать кнопку мыши. В результате все значение окажется
выделенным. То же самое будет, если дважды щелкнуть мышью на поле, или протянуть
курсор мыши слева направо, или нажать клавишу F2. После этого ввести новые данные,
старая информация будет автоматически удалена.
Отмена выполненных действий.
Способы отмены ошибочных действий при работе с таблицей приведены в табл. 27.
Допустимые значения поля.
При попытке выйти из поля после ввода данных MS Access проверяет, являются ли
введенные данные допустимыми для этого поля.
Если значение не является допустимым, появляется предупреждающее сообщение.
Для того чтобы выйти из поля, следует ввести правильное значение или отменить
внесенные изменения.
Значение поля может оказаться недопустимым, когда:
- значение несовместимо с типом данных поля (в числовых и текстовых полях или
в полях даты), если введено значение, не соответствующее типу данных поля. MS Access
пытается преобразовать его в правильный тип данных, если это не удается, выводится
сообщение об ошибке;
- данные нарушают условие, определенное в свойстве Условие на значение этого
поля;
- в поле необходимо ввести данные, а оно было оставлено пустым;
- обновление поля было отменено в макросе, связанном с событием До
обновления, так как оно противоречит проверяемому условию.
Данные проверяются также при выходе из записи. Перед сохранением записи MS
Access проверяет все условия, заданные в свойстве Условие на значение. Кроме того,
если таблица, в которую вносятся изменения, имеет ключ или уникальный индекс, то
проверяется, не содержит ли изменяемая запись в этом поле или полях значений,
совпадающих со значениями в других записях таблицы. Если запись нельзя сохранить,
надо внести необходимые изменения или нажать кнопку Отменить на панели
инструментов для отмены всех изменений, внесенных в запись.
Выделение полей и записей.
Способы выделения данных в режиме таблицы с помощью мыши приведены в
табл. 28.
79
Перемещение данных внутри таблицы.
Для перемещения или копирования данных из одной части таблицы в другую
используются стандартные средства Удалить в буфер (команда Вставка, вырезать или
комбинация Ctrl + X), Копировать в буфер (команда Вставка, Копировать или
комбинация Ctrl + C), Вставить из буфера (команда Вставка, Вставить или комбинация
Ctrl+V). Прежде чем выполнить эти действия, данные необходимо выделить.
Перемещение данных из одного поля в другое.
Пусть требуется переместить данные из одного поля в другое. Для этого выделим
текст поля; выполним команду Правка, Вырезать или нажмем кнопку Вырезать на
панели инструментов; нажмем кнопку мыши в любом месте поля, в которое хотим
перенести информацию, выполним команду Правка, Вставить или нажмем кнопку
Вставить.
Копирование информации из нескольких полей.
В таблице можно копировать данные из нескольких рядом расположенных полей в
то же самое количество полей. Допустим, что при вводе адреса в таблицу информация в
полях Индекс, Страна, Область повторяется для другого клиента. Для их копирования
необходимо:
- выбрать копируемые поля, переместив указатель мыши по требуемым полям.
Начать с левого края первого поля, где видите белый крест;
- скопировать в буфер;
- выделить с помощью мыши поля, куда мы хотим поместить данные.
Если в выбранных нами ячейках уже есть какая-то информация, ее можно заменить
новой. Убедиться в том, что выделено такое же количество полей, которое помещено в
буфер; вставить содержимое буфера.
Поиск заданного значения.
Перед поиском нужно щелкнуть мышью по любой ячейке поля, в котором будет
осуществляться поиск. Для этого используем один из трех способов:
1) выбрать команду Правка, Найти;
2) щелкнуть по кнопке Найти на панели инструментов (на ней изображен
бинокль);
3) нажать комбинацию клавиш Ctrl+F.
В любом случае появится диалоговое окно Поиск и замена (рис. 30).
80
В этом диалоговом окне в текстовом поле Образец ввести искомое значение. Так
как это поле является Полем со списком, то из раскрывающегося списка можно выбрать
одно из значений, по которым уже выполнялся поиск.
В раскрывающемся списке Поиск в: можно выбрать таблицу, поиск будет
выполняться по всей таблице, а не только в конкретном поле.
Значение можно ввести в том виде, как оно представлено в поле, а также
использовать подстановочные символы: *, ?, #.
С помощью раскрывающегося списка Просмотр можно задать направление
поиска: Вверх, Вниз, Все.
В раскрывающемся списке Совпадение имеются три пункта: С любого чистого
поля, Поле целиком, С начала поля. По умолчанию установлено значение Поле
целиком. Работа их очевидна.
Флажок С учетом регистра определяет, будут ли различаться прописные и
строчные буквы. По умолчанию они не различаются.
Пусть требуется найти всех клиентов, которые родились в апреле 1960 года. В этом
случае надо установить флажок С учетом формата полей и в поле Образец ввести
апрель 1960. В противном случае нужно выполнять поиск по конкретной дате, например
12.04.60.
Поиск начинается после щелчка по кнопке Найти далее. Для поиска следующей
записи надо еще раз щелкнуть по этой кнопке и т.д.
Способы редактирования данных в ячейке.
Ctrl+Enter – вставка символа разрыва строки в текстовое поле или поле Меmо.
Shift + Enter – сохранение редактируемой записи и переход к следующей.
Ctrl + ; – вставка текущей даты.
Ctrl + : – вставка текущего времени.
Ctrl + – добавление новой записи
Ctrl - – удаление текущей записи.
Нельзя редактировать поля типа Счетчик, вычисляемые поля, в меню
пользовательских блокированных записях.
Отмена действий.
Для этого используется кнопка Отмена на панели инструментов.
Клавиша Esc отменяет редактирование в текущем поле. Дважды нажав на клавишу
Esc, можно отменить изменения во всей текущей записи.
Команда Правка, Отменить также используется для отмены операций, причем
имя команды изменяется в зависимости от отменяемого действия:
- Правка, Отмена невозможна. Последнее действие не допускает отмены.
- Правка, Отменить вниз. Отменяет последнее изменение данных.
Замена значений.
Для замены значений полей используется диалоговое окно Поиск и замена,
которое можно вызвать следующими способами:
- выполнить команду Правка, Найти;
81
- щелкнуть по кнопке Найти (на ней изображен бинокль);
- нажать комбинацию клавиш Ctrl+F;
- выполнить команду Правка, Заменить.
На вкладке Замена в поле Образец вводится значение, на которое следует
заменить существующее. После установки опций таких же чисел, как и при поиске, Access
найдет искомое значение и после щелчка по кнопке Заменить заменит выделенное
значение на то, которое введено в поле Заменить на:.
Если нужно одновременно заменить все значения, совпадающие со значением,
введенным в поле Образец, надо нажать на кнопку Заменить все. Назначение остальных
кнопок показано на рис. 31.
Добавление, изменение и удаление столбцов.
Для удаления столбца его надо выделить и выполнить команду Правка. Удалить
столбец. После подтверждения столбец будет удален.
Для добавления столбца надо поместить курсор в любую ячейку столбца, перед
которым будет выполнена вставка, и выполнить команду Вставка, Столбец.
Для изменения имени столбца надо дважды щелкнуть по нему и ввести новое имя.
Изменение порядка следования полей.
При работе в режиме таблицы можно изменять порядок следования полей, не
выходя из данного режима. Для этого необходимо:
- поместить указатель мыши в верхнюю часть столбца, который надо переместить;
- после появления черной стрелки, нажать кнопку мыши, выделив весь столбец;
- установить указатель примерно в середине имени поля, не приближая слишком
близко к границам. Нажать кнопку мыши и держать ее нажатой. Появится белая стрелка с
маленьким прямоугольником на ее конце;
- переместить поле в нужное место. Появится широкая черная вертикальная линия,
которая перемещается между полями при перемещении столбца. Она указывает, где будет
находиться левая граница поля, если отпустить кнопку в данный момент. После
размещения поля в новом месте отпустить кнопку мыши.
Изменение внешнего вида таблицы.
MS Access позволяет изменять внешний вид таблиц путем расширения или
сужения столбцов, изменения их высоты. Кроме того, можно сделать невидимыми
столбцы, которые не нужны в данный момент, и сделать видимыми нужные.
Изменение ширины столбцов.
Для просмотра информации поля большой длины можно использовать окно
диалога Область вывода, открываемое с помощью комбинаций клавиш Shift+F2. Кроме
этого, можно увеличить ширину столбца таблицы, используя любой из приведенных ниже
способов.
Первый способ:
- поместить указатель мыши на правую границу расширяемого поля. Вид указателя
изменится на двунаправленную стрелку;
82
- нажать кнопку мыши и удерживать ее. В результате появится вертикальная
черная линия. Она показывает, где будет находиться граница поля после того, как кнопка
мыши будет отпущена;
- перемещаем линию вправо до тех пор, пока ширины поля не будет достаточно,
чтобы отобразить всю информацию поля.
Второй способ:
- выделить столбец, в котором необходимо видеть все символы;
- выполнить команду Формат, Ширина столбца;
- в открывшемся окне диалога Ширина столбца нажать кнопку По ширине
данных в нижнем левом углу, а затем – ОК.
Можно также ввести требуемое значение в поле Ширина столбца.
Изменение количества отображаемых столбцов.
На практике достаточно часто оказывается недостаточно ширины экрана, чтобы
отобразить все поля таблицы. Команда Скрыть столбцы позволяет скрыть отдельные
столбцы таблицы, оставив на экране только необходимые.
Скрываемые столбцы не удаляются и информация, хранящаяся в них, не пропадает,
они просто не отображаются на экране.
Для того чтобы скрыть столбец, сначала надо выбрать его нажатием на область
маркировки этого столбца, затем выполнить команду Формат, Cкрыть столбцы из
главного или контекстного меню.
Для отображения на экране скрытых столбцов используется команда Формат,
Отобразить столбцы. При выполнении данной команды на экране открывается окно
диалога Отображение столбцов со списком всех полей таблицы (рис. 32). Видимые в
данный момент столбцы отмечены.
Чтобы сделать столбец видимым, установим соответствующий ему флажок, и
наоборот.
Фиксация столбцов таблицы.
При просмотре таблиц с большим количеством столбцов требуется зафиксировать
один или более столбцов, то есть сделать так, чтобы они оставались видимыми при
горизонтальной прокрутке. Например, при просмотре таблицы Телефонно-адресная
книга желательно, чтобы на экране всегда отображался столбец с фамилиями. Для этих
целей служит команда Формат, Закрепить столбцы. Выделим Закрепляемый столбец и
выполним данную команду. Теперь при перемещении по таблице вправо
зафиксированные столбцы останутся видимыми на экране. Отменить фиксацию можно
выбором команды Формат, Освободить все столбцы.
Изменение параметров шрифта.
83
Для того чтобы облегчить чтение, можно изменить размер шрифта, тип шрифта и
его начертание (курсив, полужирное и т.д.). Для изменения параметров шрифта выполним
следующие действия:
- открыть окно диалога Выбор шрифта, выполнив команду Формат, Шрифт;
- выбрать наиболее подходящий шрифт, его начертание и размер. В области
Образец можно увидеть образец выбранного шрифта;
- нажать ОК.
Сохранение информации.
Вводимые данные MS Access сохраняет автоматически. После нажатия Tab в
последнем поле записи и перехода на новую запись информация, введенная в предыдущей
записи, сохраняется. При закрытии таблицы все несохраненные данные будут записаны на
жесткий диск.
Даже если отключается электропитание, информация надежно сохраняется на
диске.
Все вышесказанное относится только к вводу информации в таблицу.
При изменении структуры таблицы автоматическое сохранение их не
предусмотрено. Запись изменений структуры таблицы, сделанных во время текущего
сеанса выполняется через диалог, который появляется при выходе из системы.
Использование фильтров.
При работе с таблицами в базе данных фильтр используется, чтобы отображать
только значения, определяемые заданным критерием. Фильтр создают, используя три
кнопки панели инструментов
и соответствующие им команды меню.
Первая кнопка имеет название Фильтр по выделенному – осуществляет
фильтрацию данных по выделенному значению данного столбца. То же самое делает
команда меню Записи, Фильтр, Фильтр по выделенному.
Вторая кнопка – Изменить фильтр – открывает окно диалога с вкладками для
задания критерия фильтрации. Тот же эффект можно получить, выбрав команду Записи,
Фильтр, Изменить фильтр.
Третья кнопка – Применить фильтр/Удалить фильтр – Переключает состояние
применения и снятия фильтра.
Команда Записи, Фильтр содержит четыре вида фильтров: Изменить фильтр,
Фильтр по выделенному, Исключить выделенное и Расширенный фильтр.
Рассмотрим применение данных фильтров.
Фильтр по выделенному.
Данный фильтр наиболее прост и понятен. Его название определяет принцип его
применения. При выделении информации в таблице данных задается критерий
фильтрации.
Допустим, нужны все поставщики товаров из Москвы. Надо просто выбрать слово
Москва в поле Город, а затем нажать мышью кнопку Фильтр по выделенному на панели
инструментов или выполнить команду Записи / Фильтр/ Фильтр по выделенному.
Каждый из различных видов выбора (табл.29) влияет на результат фильтрации.
84
Гибкость данного фильтра относительно ограничена, нельзя использовать в
критерии символы шаблона.
Можно применить фильтр к отфильтрованной таблице, сделав другой выбор и
профильтровав вновь. Кроме того, отфильтрованную таблицу можно отсортировать. При
фильтрации мы находимся в Режиме таблицы и поэтому доступны все команды меню
Формат. Можно сделать невидимыми, фиксировать или изменить размеры столбцов по
своему усмотрению.
Исключение записей.
Можно фильтровать записи с помощью исключения данных, вместо их включения.
Другими словами будут возвращаться только те записи, которые не были выбраны.
Открыть таблицу, которую надо профильтровать.
Выбрать значения, которые будут служить критерием.
Нажать на выбранное место правой кнопкой мыши. Появится контекстное меню.
Выбрать из контекстного меню команду Исключить выделенное.
Использование фильтров по вводу.
Критерием фильтрации необязательно должно быть все поле записи.
Можно фильтровать по части от записи или использовать средство Фильтрация
по вводу. Можно также формировать критерии фильтрации, используя шаблоны и маски.
Так, чтобы отыскать в поле Фамилия все записи, первой буквой которых буква Р, введем
Р*. Если надо отыскать все фамилии, начинающиеся на буквы А-Ф, в качестве критерия
используется символ <Х. Чтобы задать такой фильтр, надо щелкнуть правой кнопкой
мыши, в контекстном меню выбрать команду Фильтр для и ввести условие фильтрации.
Команда Изменить фильтр.
Данный фильтр является более мощным средством по сравнению с Фильтром по
выделенному. В нем можно устанавливать критерии И и ИЛИ, а также использовать
математические и логические выражения.
Для задания критерия фильтрации этим фильтром надо нажать кнопку Изменить
фильтр на панели инструментов или выполнить команду Записи, Фильтр, Изменить
фильтр. На экране откроется окно диалога, представленное на рис. 33.
В верхней части окна установки фильтра расположены все поля текущей таблицы,
в нижней – ярлычки Найти и Или. Если установить указатель в какую-либо ячейку из
полей таблицы, появится кнопка раскрытия списка. При нажатии на эту кнопку
открывается список всех возможных значений, которые встречаются в этом поле.
Чтобы выбрать, например, список контрагентов из ближнего зарубежья, имеющих
кредит свыше 2000, необходимо:
- установить курсор в поле Кредит;
- нажать кнопку раскрытия списка и выберем из него значение 2000;
- выбранное значение появится в строке ввода, ввести перед ним символ >;
- нажать кнопку Применить фильтр на панели инструментов. На экране будет
отображен результат фильтрации;
- в результате применения фильтра наименование кнопки изменится на Удалить
фильтр. Для отмены фильтрации нажать эту кнопку еще раз.
85
Для задания значений фильтра можно использовать символы шаблона. Допустим,
нужны данные о фирмах, в названии которых присутствуют символы «СП». Для выбора
нужных фирм ввести в поле ввода Название значение *СП*
Использование критериев И и ИЛИ.
При использовании критерия И необходимо, чтобы выполнились все заданные
условия сравнения.
В качестве примера такого фильтра может служить отображение записей о
контрагентах из ближнего зарубежья, имеющих оговоренный кредит. Для задания такого
критерия И необходимо, чтобы все условия сравнения размещались в одной и той же
строке. Поэтому в поле Страна было помещено значение <>Россия, а в поле Кредит –
>2000.
При использовании критерия ИЛИ необходимо, чтобы выполнилось хотя бы одно
из условий сравнения.
Чтобы получить, например, данные о контрагенте из Москвы и Минска, надо:
- открыть таблицу, содержащую требуемые данные. В данном случае это
Телефонно-адресная книга;
- для задания критерия фильтрации данным фильтром нажать кнопку Изменить
фильтр на панели инструментов или выполнить команду Записи, Фильтр, Изменить
фильтр;
- в открывшемся окне диалога установить курсор в поле Город и выбрать из списка
значение Москва;
- нажать ярлычок ИЛИ. На экране откроется новая страница фильтра;
- в открывшемся окне диалога установить курсор в поле Город и выбрать из списка
значение Москва;
- нажать кнопку Применить фильтр на панели инструментов – получится список
контрагентов из Москвы и Минска.
После нажатия ярлычка ИЛИ в нижней части окна диалога появится еще один
ярлычок ИЛИ. Можно продолжить добавлять критерии ИЛИ один за другим.
Пусть необходимы данные о контрагентах из Новосибирска и Новочеркасска,
являющихся сотрудниками совместных предприятий (то есть в названии фирмы
присутствует СП). Для создания такого фильтра следует:
- открыть требуемую таблицу;
- нажать кнопку Изменить фильтр на панели инструментов или выполнить
команду Записи, Фильтр, Изменить фильтр;
- в открывшемся окне диалога установить курсор в поле Город и выбрать из списка
значение Новосибирск;
- в поле ввода Предприятие ввести значение *СП*;
- нажать ярлычок ИЛИ. На экране откроется новая страница фильтра;
- в открывшемся окне диалога установить курсор в поле Город и выбрать из списка
или ввести значение Новочеркасск, а в поле ввода Предприятие – значение *СП*;
- нажать кнопку Применить фильтр на панели инструментов – появится список
контрагентов из Новосибирска и Новочеркасска, являющихся сотрудниками совместных
предприятий.
В качестве критерия в окне Фильтр можно использовать любое выражение и
символ Шаблоны шаблона.
Расширенный фильтр.
Для задания критерия с помощью расширенного фильтра выполнить команду
Записи, Фильтр, Расширенный фильтр. Откроется окно диалога (рис. 34), в верхней
части которого расположен список полей таблицы, а в нижней – бланк формирования
выражения для фильтра.
86
По сравнению с предыдущим фильтром данный фильтр позволяет проводить не
только фильтрацию, но одновременно сортировку по возрастанию или убыванию по
нескольким полям одновременно. Для этих целей используется строка Сортировка.
Для создания фильтра, аналогичного рассмотренному в предыдущем примере,
предназначенного для выбора данных о поставщиках из Москвы и Торжка, фамилии
которых содержат буквы С и И соответственно, в нижней части окна диалога необходимо
задать Условие отбора (рис. 35).
Затем нажать кнопку Применить фильтр на панели инструментов.
Сохранение фильтра.
Для сохранения фильтра выполнить команду Файл / Сохранить в режиме
просмотра. Фильтр сохраняется вместе с таблицей и будет действовать при следующем
открытии таблицы.
Печать таблицы.
Простейший способ печати (без создания отформатированного отчета) – открыть
таблицу и выполнить команду Файл, Печать или нажать кнопку Печать на панели
инструментов. Появится окно Печать (рис. 36). В нем можно управлять процессом печати
путем выбора следующих опций:
Печатать. Распечатывает всю таблицу, только выбранные страницы или записи;
Копии. Определяет количество копий;
флажок разобрать по копиям. Определяет, будет ли распечатка разобрана по
копиям.
87
С помощью кнопки Свойства можно вызвать диалоговое окно настройки
принтера. Кнопка Настройка позволит задать поля на странице и определить, печатать ли
заголовки.
Перед печатью таблицы следует оценить параметры форматирования таблицы, для
чего используется команда Файл, Предварительный просмотр и кнопка с аналогичным
именем.
С помощью кнопок на панели инструментов окна предварительного просмотра
можно определить количество отобранных страниц, печатать таблицу, изменять масштаб
отображения документа. Кнопка Закрыть возвращает в Режим таблицы, где можно
выполнить редактирование и форматирование данных таблицы.
На распечатке таблицы будет отражено действие всех опций, которые были
установлены на момент печати. Скрытые столбцы распечатаны не будут. Линии сетки
будут напечатаны, если установлена опция в группе Линии сетки окна Формат таблицы.
При печати будут действовать установки для высоты строки и ширины столбцов.
РАБОТА СО СВЯЗАННЫМИ ТАБЛИЦАМИ.
Просмотр связанных таблиц.
Access автоматически добавляет к таблице кнопки развертывания (рис. 37). В
режиме таблица слева от каждой записи находится маркер развертывания «+». Эти значки
позволяют развернуть подтаблицу, в которой отображаются соответствующие записи из
связанной таблицы.
Открытие подтаблицы.
Чтобы развернуть подтаблицу для определенной записи, надо щелкнуть по кнопке
со значком «+». Откроется подтаблица (рис. 37) с записями из связанной таблицы,
соответствующими текущей записи главной таблицы. Их может быть несколько (связь в
направлении «многие»).
Подтаблица содержит только те записи из таблицы Заказы, которые относятся к
коду товара М2 (Монитор 17” Samsung 720NA), второму в списке таблицы Товары.
Если в подтаблице находится довольно большое количество полей, внутри окна
подтаблицы появится горизонтальная полоса прокрутки.
88
Если в подтаблице содержится слишком длинный список записей, появится
вертикальная полоса прокрутки.
Подтаблица может иметь собственные кнопки развертывания, если существует
связь с другой таблицей, для которой она является главной.
Главная (или основная) таблица – это основная таблица, в которую добавляется
подтаблица. Подчиненная таблица – это таблица, из которой поступают записи для
подтаблицы.
Таблица Заказы связана с таблицей Наличие товара, поэтому имеется
возможность просмотреть связанные записи в таблице Наличие товара, для которой
таблица Заказы является главной.
В подтаблице можно редактировать данные, а также добавлять, удалять,
сортировать записи и устанавливать фильтры. Все инструкции по работе с таблицами
применимы и для подтаблиц.
Закрытие подтаблицы.
Чтобы по окончанию работы закрыть подтаблицу, надо щелкнуть на кнопке
свертывания (значок «–»). Чтобы свернуть все раскрытые подтаблицы разом, необходимо
щелкнуть по кнопке свертывания верхнего уровня – все подтаблицы более низкого уровня
свернутся автоматически.
При закрытии Access запоминает список всех отрытых уровней, и при следующем
развертывании подтаблицы для той же записи все они будут развернуты.
Одновременное разворачивание всех подтаблиц.
Чтобы не открывать подтаблицы поочередно, можно развернуть их все сразу.
Открыть главную таблицу, затем в меню выбрать команду Формат, Подтаблица,
Развернуть все. Несколько подтаблиц в таблице Товары развернуты на рис. 38.
Чтобы свернуть все открытые подтаблицы в текущей таблице, в меню выбрать
команду Формат, Подтаблица, Свернуть все. Если свернуть все подтаблицы после
щелчка в поле таблицы Товары, все открытые подтаблицы таблицы Заказы, а также
таблицы Клиенты будут закрыты.
Если текущее поле находится в подтаблице Заказы, закроются только подтаблицы,
начиная с уровня Клиенты.
89
Удаление подтаблицы.
В Access существует возможность не только закрыть подтаблицу, но и удалить ее.
Выберите команду Формат, Подтаблица, Удалить. Все кнопки развертывания
подтаблиц из текущей таблицы будут удалены.
После удаления подтаблицы ее можно снова восстановить. Для восстановления
удаленной таблицы при закрытии таблицы можно отказаться от внесенных изменений. В
результате будет сохранен исходный вариант таблицы, который существовал до редакции.
Добавление новой подтаблицы.
Даже если между двумя таблицами не определено никакой связи, к таблице можно
добавить подтаблицу, если эти таблицы имеют общее поле.
Например, когда открывается в таблице Товары подтаблица Заказы, Access не
добавляет автоматически кнопок развертывания из таблицы Наименование товара.
Однако можно самостоятельно добавить подтаблицу с записями из таблицы Наличие
товара. Последовательность действий при добавлении таблицы следующая:
- открыть таблицу Заказы в режиме Таблицы;
- выбрать команду Вставка, Подтаблица. Откроется диалоговое окно Вставка
подтаблицы (рис. 39);
- в списке таблиц выделить таблицу Наличие товара;
- выбрать в обоих разворачивающихся списках – Основные поля и Подчиненные
поля – поле Код товара;
- щелкнуть по кнопке ОК.
После выполнения этих действий в таблице появятся для каждой записи кнопки
развертывания. Теперь можно раскрыть любую из этих подтаблиц, в которых содержатся
записи из таблицы, выбранной в диалоговом окне Вставка подтаблицы.
90
Если возникает необходимость сменить таблицу – источник для подтаблицы, надо
повторить указанные действия и выбрать новую таблицу в диалоговом окне Вставка
подтаблицы.
91
ПРАКТИЧЕСКАЯ РАБОТА № 19:
НАЗНАЧЕНИЕ И ВИДЫ ЗАПРОСОВ.
ВЫЧИСЛЯЕМЫЕ ПОЛЯ. ГРУППОВЫЕ ОПЕРАЦИИ.
Запрос — это объект базы данных, являющийся основным инструментом выборки,
обновления и обработки данных в таблицах базы данных. Запрос на выборку позволяет
сформировать пользовательское представление о данных, Не обязательно отвечающее
требованиям нормализации. Результат выполнения запроса на выборку — это новая, чаще
всего временная, таблица, которая существует до закрытия запроса. Структура такой
таблицы определяется выбранными из одной или нескольких взаимосвязанных таблиц
полями. Записи формируются путем объединения записей таблиц, участвующих в
запросе. Способ объединения записей различных таблиц указывается при определении их
связи. Условия отбора, сформулированные в запросе, позволяют фильтровать записи,
составляющие результат объединения таблиц. Простейшие запросы могут быть созданы с
помощью мастера. Любой запрос можно создать в режиме конструктора. Конструктор
предоставляет удобное для пользователя диалоговое графическое средство формирования,
с помощью которого легко может быть построен сложный запрос.
Запрос может получать данные из одной или нескольких таблиц, из существующих
запросов или из комбинаций таблиц и запросов, объединяя данные, содержащиеся в них.
Таблицы и запросы, объединенные для получения данных, образуют источник записей
для запроса. Запрос, построенный на другом запросе, использует его временную таблицу с
результатами в качестве источника записей.
Назначение и виды запросов.
Запрос позволяет выбрать необходимые данные из одной или нескольких
взаимосвязанных таблиц, произвести вычисления и получить результат в виде
виртуальной таблицы. Полученная таблица может использоваться в качестве источника
данных в формах, отчетах, других запросах. Через запрос можно производить обновление
данных, добавление и удаление записей и таблицах.
С помощью запроса можно выполнить следующие виды обработки данных:
-сформировать на основе объединения записей взаимосвязанных таблиц новую
виртуальную таблицу;
-включить в результирующую таблицу запроса заданные пользователем поля;
-выбрать записи, удовлетворяющие условиям отбора;
-произвести вычисления в каждой из полученных записей;
-сгруппировать записи, которые имеют одинаковые значения в одном или
нескольких полях, в одну запись с одновременным выполнением над другими полями
статистических функций;
-добавить в результирующую таблицу запроса строку итогов;
-произвести обновление полей в выбранном подмножестве записей;
-создать новую таблицу базы данных, используя данные из существующих таблиц;
В Access может быть создано несколько видов запроса:
- запрос на выборку — выбирает данные из взаимосвязанных таблиц базы данных и
таблиц запросов. Результатом является таблица, которая существует до закрытия запроса.
На основе такого запроса могут строиться запросы других видов;
ЗАМЕЧАНИЕ Таблицу с результатами запроса на выборку можно использовать для
работы с данными в таблицах, на которых построен запрос. Например, через таблицу
запроса можно корректировать данные в исходных таблицах базы данных. Запросы могут
служить источниками записей для форм и отчетов.
- запрос на создание таблицы — также выбирает данные из взаимосвязанных
таблиц и других запросов, но в отличие от запроса на выборку результат сохраняется в
новой постоянной таблице базы данных;
92
- запросы на обновление, добавление, удаление — являются запросами, в
результате выполнения которых изменяются данные в таблицах.
Для создания запроса может быть использован либо режим конструктора, либо
мастер. Если пользователь знаком с созданием инструкций SQL (таких как SELECT, UPDATE или DELET, включающих предложения, например WHERE, ORDER BY или
GROUP BY), можно создать запрос в режиме SQL.
Вычисляемые поля.
В запросе для каждой записи могут производиться вычисления с числовыми,
строковыми значениями или значениями дат с использованием данных из одного или
нескольких полей. Результат вычисления образует в таблице запроса новое вычисляемое
поле. В исходных таблицах базы данных новых полей не создается. При каждом
выполнении запроса производится вычисление на основе текущих значений полей.
В выражениях вычисляемых полей помимо имен полей могут использоваться
константы и функции. В результате обработки выражения может получаться только одно
значение.
Имя вычисляемого поля становится заголовком столбца в таблице с результатами
выполнения запроса. Это имя можно изменить. Для вычисляемых полей допускается
сортировка, задание условий отбора и расчет итоговых значений, как и для любых других
полей.
Групповые операции в запросах.
Групповые операции позволяют выделить группы записей с одинаковыми
значениями в указанных полях и использовать для этих групп одну из сташ стических
функций. В Access предусматривается девять статистических функций:
Sum — сумма значений некоторого поля для группы;
Avg — среднее от всех значений поля в группе;
Max, Min — максимальное, минимальное значение поля в группе;
Count — число значений поля в группе без учета пустых значений;
StDev – среднеквадратичное отклонение от среднего значения поля в группе.
Var – дисперсия значений поля в группе;
First, Last — значение поля из первой или последней записи в группе.
Результат запроса с использованием групповых операций содержит по одной
записи для каждой группы.
Многотабличные запросы.
Многотабличный запрос позволяет сформировать записи результата путем
объединения взаимосвязанных записей из таблиц базы данных и выбора т них нужных
полей и записей. Многотабличный запрос часто осуществляет объединение данных,
которые на этапе проектирования были разделены им множество объектов в соответствии
с требованиями нормализации. Разделение на объекты обеспечивает, прежде всего,
отсутствие дублируемости данных и базе, повторяются только значения ключевых полей.
В результате выполнения запроса формируется таблица с повторяющимися данными, в
которой каждая запись собирает необходимые данные из разных объектов — таблиц.
Например, при объединении двух нормализованных связанных 1-М отношениями
таблиц, для которых обеспечивается связная целостность, результирующая запись
образуется на основе записи подчиненной таблицы, в которую добавляются поля из
связанной записи в главной таблице Подобное объединение формирует
ненормализованную таблицу, в которой число записей равно числу записей в
подчиненной таблице. При этом данные главной таблицы дублируются в различных
записях результирующей таблицы.
При проектировании и конструировании запроса важнейшим условием является
правильное представление о том, как идет объединение записей таблиц при
формировании результата.
93
ПРАКТИЧЕСКАЯ РАБОТА № 20:
КОНСТРУКТОР ЗАПРОСОВ. СОЗДАНИЕ ПРОСТЫХ ЗАПРОСОВ,
ЗАПРОСОВ С ПАРАМЕТРАМИ, ЗАПРОСОВ С ГРУППИРОВКОЙ.
Запросы, как вы уже знаете, нужны для работы с данными, находящимися
в таблицах.
Чтобы создать запрос…
1) …в окне базы данных открываете Запросы
2) …и создаете запрос с помощью конструктора.
НЕ пользуйтесь для создания запросов Мастером, потому что он позволяет делать
только самые простые запросы, а переделывать их потом в более продвинутые даже
сложнее, чем создать запрос в конструкторе «с нуля».
Запросы на выборку.
В запросах на выборку вы просите отобразить на экране определенные данные
из таблиц.
Итак, вот главные элементы конструктора запросов:
1 – область данных (таблиц);
2 – область условий отбора;
3 – кнопка запуска запроса.
94
Условия отбора.
В запросах
на выборку
можно
задавать
условия.
Для этого
в СООТВЕТСТВУЮЩЕМ СТОЛБЦЕ нужно указать в строке Условие отбора нужное
значение.
Например, в базе данных «Выставка собак» найдем всех шар-пеев.
Будьте внимательны! Компьютер ищет ТОЧНЫЕ совпадения, поэтому если
вы случайно сделали опечатку, поставили лишний пробел или забыли дефис,
то запрос может не сработать.
95
При задании условия отбора можно использовать операторы >, <, =, >= (больше
или равно),<=
(меньше
или равно),
<>
(не
равно).
Найдем всех молодых (моложе 2 лет) собак.
Обратите внимание! Также как и Excel, Access работает с разными типами
данных: строковыми, числовыми, временными, логическими и др. Чтобы показать,
к какому типу он отнес данное условие отбора, Access автоматически заключает строки
в кавычки («шар-пей»), даты – в решетки (#01.05.2008#), числа оставляет, как есть (15),
а логические проверяет, чтобы были либо ИСТИНА, либо ЛОЖЬ.
Составные условия отбора.
Если нужно задать несколько условий, то условия для оператора «И» записывайте
в одной строчке, а для оператора «ИЛИ» в одном в столбце друг под другом.
Здесь мы находим всех английских сеттеров и сеттеров-гордонов.
96
А здесь всех щенков (моложе года) шар-пеев.
А кого мы найдем здесь?
а) всех щенков шар-пеев и щенков английских сеттеров;
б) всех щенков шар-пеев и всех английских сеттеров;
в) всех шар-пеев и всех щенков английских сеттеров.
Проверьте! Сформулируйте правило, по которому Access из записей в ячейках
формирует составные условия отбора.
Составные условия отбора также можно писать в одну ячейку, используя
операторы Or, And.
Вот так будут выглядеть те же запросы, но записанные с помощью операторов:
Все английские сеттеры и сеттеры-гордоны.
97
Все юниоры (которым больше года, но меньше двух лет).
Оператор LIKE.
На выставке организована секция сеттеров. Для участия в ней нам необходимо
отобрать всех представителей этой группы. Если мы просто напишем в условиях отбора
«сеттер», то запрос не отберет ни одной записи, поскольку у нас нет просто сеттеров,
а есть английские, ирландские сеттеры, сеттеры-гордоны, а Access требует полного
совпадения значения в ячейке со значением, указанным в условии отбора. Перечислять
их всех
слишком
долго,
к тому
же можно
кого-нибудь
забыть.
В этом случае нам пригодится оператор LIKE, который позволяет делать отбор
по фрагменту строки. Использование LIKE перед условием отбора, это все равно,
что включение режима подстановочных знаков в Word (* – любая последовательность
символов; ? – любой символ). Значит, чтобы Access мог отыскать английских, ирландских
сеттеров и сеттеров-гордонов, нужно написать в условии отбора LIKE *сеттер*.
98
Кто и почему будет отобран, если мы напишем в условии отбора LIKE *сеттер?
Запросы из нескольких таблиц.
В запросах мы можем объединять данные из нескольких связанных между собой
таблиц. Отобразим в запросе клички, породы собак, фамилии их владельцев и город,
откуда они приехали на выставку.
Чтобы добавить в запрос еще одну таблицу, вызовите контекстное меню на области
таблиц и в нем пункт Добавить таблицу.
99
Добавьте таблицы, в которых содержатся необходимые данные (фамилия
владельцев и город). Перебросьте из области таблиц вниз, в область условий отбора,
те поля из новых таблиц, которые должны быть отображены в результатах запроса.
Запустите запрос и проверьте, получилось ли у вас, как на рисунке.
Отсев пустых строк.
Когда связываются несколько таблиц, то могут возникать пустые строки.
Почему это происходит?
Дело в том, что у нас в таблице tbPerson наряду с владельцами собак записаны
и судьи (Петровская, Елец, Терещук). Судьи не имеют права привозить своих собак
на выставку, поэтому в строках с их фамилиями пустые ячейки с кличками собак.
Есть два способа удалить пустые строки.
1. Поставить условие на значение клички собаки Is not Null, т.е. НЕ ПУСТА.
100
2. Или поменять тип связи между таблицами в области таблиц: нужно на линии
связи, дающей неточный результат, вызвать контекстное меню, и поменять Параметры
объединения.
Вопрос вам: какие настройки нужно поменять в диалоговом окне параметров
объединения?
Запросы с вычислениями.
До сих пор мы только отбирали записи по различным условиям. Но Access
позволяет не только просматривать данные, записанные в таблицах, но и производить
ВЫЧИСЛЕНИЯ: по дате рождения определять возраст; из имени, фамилии и отчества
делать фамилию с инициалами; по цене единицы товара и его количества определять
общую стоимость покупки; по дате выдачи книги в библиотеке определять величину
штрафа при задолженности и многое другое. Для вычислений используются встроенные
функции (похожие на те, что есть в Excel).
101
Простейшая операция – это сложение строк. Напишем в ячейке выражение
для вывода такой фразы: владелец из города город. Для этого запишем в верхней строке
нового столбца области условий: [LastName] + “ из города ” + [City].
Имена полей записываются в квадратных скобках, фрагменты строк – в кавычках,
между ними стоят знаки сложения.
Выражения для вычислений записываются в самой верхней строке (Поле) области
условий. До сих пор мы писали условия в нижних строках (Условия отбора).
Чтобы вам не запутаться: в верхней строке мы пишем, ЧТО выводить
на экран, а затем (в нижней) – при КАКОМ УСЛОВИИ.
Задание: Напишите выражение для вывода в одной ячейке фамилии владельца и в
скобках города, в котором он живет. Вот так: Иванов (Москва). Город и фамилия
должны подставляться из таблицы.
Построитель выражений.
Чтобы удобнее было редактировать выражения, существует специальный редактор
– «Построитель выражений». Он выглядит так:
102
И вызывается с помощью контекстного меню: нужно поставить курсор на ту
ячейку, куда вы будете записывать выражение:
В построителе выражений вы можете выбирать из библиотеки функции:
и данные из таблиц (можно пользоваться ТОЛЬКО теми таблицами, которые
используются в данном запросе и отображены в области данных):
103
Когда вы двойным щелчком мыши выбираете из списка имя поля или функцию,
Access часто вставляет еще слово «выражение», показывая, что НА ЭТО МЕСТО можно
вставить другие функции и имена полей. Не забывайте удалять лишние слова
«выражение»!
Мы познакомимся с текстовыми и временными функциями, а также с условным
оператором Iif(condition; if-true; if-false).
Текстовые функции позволяют преобразовывать строковые переменные:
Left(«Иванов»; 2) = «Ив» оставляет n левых символов
LCase(«Иванов») = иванов делает все буквы строчными
InStr(1; «Иванов»; «но») = 4 находит подстроку (третий аргумент) в строке (второй
аргумент), и равняется позиции (от начала) подстроки в строке
Len («Иванов») = 6 выводит количество символов в строке
StrComp(«Иванов»; «Петров») = -1 сравнивает две строки: если они равны,
то выдает 0
и другие…
Временные позволяют работать с временными переменными:
Month(#12.04.2007#) = 4
Year(#12.04.2007#) = 2007
Day(#12.04.2007#) = 12.
Now() = 28.04.2008 14:15:42 (текущие дата и время)
Date() = 28.04.2008 (сегодняшняя дата)
DateDiff(«d»; #12.04.2007#; #28.04.2007#) = 16 находит разницу между двумя
датами («d» – в днях, “ww”– в неделях, “m” – в месяцах, “yyyy” – в годах и др.)
и другие…
Логические обрабатывают условные выражения:
Iif([Age]<=1; «щенок»; «взрослый») аналог функции ЕСЛИ из Ecxel.
и другие…
Задание: напишите выражение, которое из фамилии, имени и отчества делает
фамилию с инициалами. Иванов Иван Иванович -> Иванов И.И.
Задание: напишите выражение, которое вычисляет, сколько собаке лет по дате
ее рождения.
104
Задание: напишите выражение, которое определяет по возрасту, в какой
возрастной категории выступает собака: «щенок» – до года; «юниор» – от года до двух
лет; «сеньор» – старше двух лет.
Дополнение: Есть два способа вычислить возраст собаки: один более точный,
другой менее:
1) из текущего года вычесть год рождения собаки;
2) с помощью функции DateDiff посчитать, сколько дней прошло с рождения
до сегодняшнего дня. Примените в одном из заданий один способ, в другом – другой.
Запросы с параметром.
Когда вы запускаете запрос с параметром, он, в отличие от обычного запроса
на выборку, не выполняется сразу, а сначала в диалоговом окне просит вас уточнить
некоторые условия отбора. Например, мы хотим получить полную информацию о собаке
с определенным турнирным номером.
Устроен этот запрос так:
105
На том месте, где обычно стоит условие отбора, теперь записан вопрос (в
квадратных скобках), который будет задан пользователю. А ответ пользователя,
как вы уже догадались, будет подставлен в эту ячейку в качестве условия отбора.
Задание: создайте запрос, который будет выводить всех собак по фамилии
владельца, являющейся свободным параметром.
Запросы с группировкой.
С помощью построителей выражений мы можем производить операции над одной
строкой:
складывать
значения
в ячейках,
преобразовывать
данные.
Но что, если нам надо обработать сразу несколько строк: посчитать сумму баллов, найти
количество
строк
с одинаковым
значением
заданного
поля?
Для этого используется группировка (она очень похожа на подведение итогов в Excel).
Посчитаем, сколько собак каждой породы приехали на выставку. Для этого
перебросим в область условий всего два поля: кличка и порода – и вызовем
дополнительную строку групповые операции (через контекстное меню на области
условий):
Теперь сгруппируем собак по породе и посчитаем количество разных кличек
в каждой группе:
Подведем итоги выставки и посчитаем средний балл за экстерьер, средний балл
за дрессировку и их сумму.
106
Добавляем в область таблиц таблицу с оценками (tbMarks). Группируем оценки
по турнирному номеру собаки и среди групповых операций выбираем среднее значение
Avg (от англ. average – среднее).
Выполните запрос и в режиме просмотра обратите внимание, что столбцы
с групповыми операциями имеют двойное название (операция + имя поля). Нам это
пригодится при подсчете суммы баллов.
Осталось посчитать сумму. В новом столбце записываете выражение для суммы,
(используя имена полей из этого же запроса!). Не забудьте при этом в строке групповых
операций поставить Выражение.
Можно также округлить значения до одного знака после запятой: Round([AvgExterior]+[Avg-Training];1)
Задание: выясните, какая собака вызвала наиболее противоречивые мнения судей.
Для этого надо из максимального балла вычесть минимальный.
107
Запросы на изменение, удаление, добавление.
На первом уроке мы уже говорили о том, что запросы позволяют не только
просматривать данные из таблиц, но и редактировать записи: добавлять новые, удалять,
изменять. Тип запроса можно изменить с помощью списка запросов на панели
инструментов.
Оператору базы данных накануне выставки пришла новая информация:
1) собака Дези заболела и не сможет принять участия в выставке;
2) по ошибке Гардиен, являющийся на самом деле английским сеттером,
был указан как ирландский сеттер;
3) владелец Мигунова подала заявку на участие в выставке еще одной своей собаки
(кличка: Гарри, порода: сеттер-гордон, пол: м, дата рождения: 15.09.07).
Приступим к редактированию базы данных.
1) Удалить запись с Дези.
Создаем запрос quDelDog. Тип запроса – на удаление. Со сменой типа запроса
несколько изменяется и область условий. Появилась новая ячейка Удаление. Под ней
вы указываете условие, по которому нужно отобрать записи, подлежащие удалению. Даже
если вы указываете условие отбора для одного поля, удалена будет ВСЯ запись.
108
После того, как вы нажали на «восклицательный знак», на экране появится
сообщение о том, что запись удалена. Теперь откройте таблицу tbDog и убедитесь,
что Дези в ней нет.
2) У Гардиена изменить ирландский сеттер на английский сеттер.
Создаем запрос quUpdateDog. Тип запроса – на обновление. Находим Гардиена
и обновляем у него породу.
Откройте таблицу tbDog и убедитесь, что у Гардиена порода – английский сеттер.
3) Добавить запись с Гарри.
Создаем запрос quAddDog. Тип запроса – на добавление. У запросов на добавление
есть одна особенность: в области таблиц отображены НЕ те таблицы, КУДА
вы добавляете запись, а ОТКУДА вы берете данные (если это требуется). Целевую
таблицу (в которую добавляются записи) вы указываете в диалоговом окне, которое
появляется сразу, как только вы установите тип запроса (на добавление):
109
Поскольку мы не берем данные из других таблиц, а создаем новую запись,
то область таблиц должна быть ПУСТОЙ! (там не должно быть ни одной таблицы).
В области условий в строке Поле вы пишете, ЧТО добавить (новое значение для каждого
поля), а в строке Добавление КУДА (имена полей):
Откройте таблицу tbDog и убедитесь, что Гарри в ней появился!
Язык запросов SQL.
Когда вы нажимаете на «восклицательный знак», запрос выполняется. Так это
представляется на взгляд новичка.
Профессионалы знают, что на самом деле в этот момент выполняется инструкция
на специальном языке запросов SQL. Дело в том, что Access – не единственная система
управления базами данных (СУБД). Может быть, вы слышали о таких СУБД в Интернете
как MySQL, FreeBSD??? Access просто предлагает очень удобный интерфейс для работы
с БД, а в других СУ нет никакой кнопочки с восклицательным знаком. Зато
110
там обязательно есть специальное окошко, в котором можно писать SQL-инструкции.
Access тоже позволяет редактировать запросы в режиме SQL-инструкций:
Правила языка SQL не так сложны. Вы можете сами в этом убедиться! Сделайте
простой запрос на выборку (например, выведите кличку, породу и дату рождения собаки
по кличке Гарри). Теперь откройте запрос на поиск Гарри в режиме SQL!
Инструкция устроена очень просто:
SELECT поле1, поле2,…
FROM таблица1, таблица2,…
WHERE условие1, условие2,…
Откройте теперь запросы на обновление, изменение, удаление (quDelDog,
quUpdateDog, quAddDog) в режиме SQL и выпишите на листе бумаги шаблоны их SQLинструкций (как это только что было сделано для запроса на выборку).
Запросы с параметром, запросы на группировку, запросы с вычислениями
представляют собой такие же SQL-запросы, но только с несколько более сложными
условиями отбора. Язык SQL – незаменимый инструмент для тех, кто работает с базами
данных!
Задания.
1. Выборка
quSelectDog: Найдите всех шар-пеев и сеттеров-гордонов из регионов (НЕ
из Москвы); используйте оператор «не равно».
2. Оператор Like
quLike: Найдите всех абонентов МТС (те, у кого номер мобильного телефона
начинается с 8(916)…).
111
3. Выражения
quEvalText: Напишите выражение, которое из фамилии, имени и отчества делает
фамилию с инициалами. Иванов Иван Иванович -> Иванов И.И.
quEvalDate: напишите выражение, которое вычисляет, сколько собаке лет по дате
ее рождения.
quEvalIif: напишите выражение, которое определяет по возрасту, в какой
возрастной категории выступает собака: «щенок» – до года; «юниор» – от года до двух
лет; «сеньор» – старше двух лет.
Дополнение: Примените в одном задании один способ вычислить возраст собаки,
в другом – другой: 1) из текущего года вычесть год рождения собаки; 2) с помощью
функции DateDiff посчитать, сколько дней прошло с рождения до сегодняшнего дня.
4. Параметр
quParametre: Создайте запрос, который будет выводить всех собак по фамилии
владельца, являющейся свободным параметром.
5. Группировка
quGroup: Выясните, какая собака вызвала наиболее противоречивые мнения судей.
6. Редактирование БД
Незадолго до выставки владелец Гороховец уехал на ПМЖ (постоянное место
жительства) в Германию и передал всех собак своему другу Карпову Михаилу Игоревичу.
Требуется:
1) quAddOwner: добавить запись о новом владельце;
2) quUpdateOwner: изменить у собак Гороховца ID владельца на ID Карпова;
3) quDelOwner: удалить Гороховца из базы данных.
112
ПРАКТИЧЕСКАЯ РАБОТА № 21:
МАСТЕР ОТЧЕТОВ.
КОРРЕКТИРОВКА ОТЧЕТА В РЕЖИМЕ МАКЕТА.
Отчеты.
Средства Access по разработке отчетов предназначены для конструирования макета
отчета, в соответствии с которым осуществляется вывод данных из определенного
источника записей отчета в виде выходного печатного документа. Эти средства позволяют
создавать отчет любой сложности, обеспечивающий вывод взаимосвязанных данных из
многих таблиц, их группировку, вычисления итоговых значений. При этом могут быть
выполнены самые высокие требования к оформлению документа.
Перед началом конструирования пользователь должен спроектировать макет
отчета. При этом определяется состав и содержание разделов отчета, размещение в нем
значений, выводимых из полей таблиц (запросов) базы данных, и вычисляемых
реквизитов, определяются поля, по которым нужно группировать данные. Для каждого
уровня группировки определяются заголовки и примечания, вычисляемые итоговые
значения. Кроме того, оформляются заголовки и подписи реквизитов отчета.
Определяется также порядок вывода данных в отчете.
Отчет может создаваться с помощью мастера или в режиме конструктора отчетов.
Во многих случаях удобно использовать мастера отчетов. Созданный мастером отчет
можно доработать в режиме конструктора.
При необходимости вывода в отчете результатов решения задачи в качестве основы
для отчета может быть использован многотабличный запрос, представляющий эти
результаты. На запрос могут быть возложены наиболее сложные виды выборки и
предварительной обработки данных. Разнообразные возможности конструктора отчетов
позволят легко структурировать и оформить полученные в запросе данные.
Технология получения отчета.
Новые средства Access 2007 позволяют создать профессионально оформленные
отчеты не только с помощью мастера или конструктора, но и в режиме макета. При этом
простыми средствами перетаскивания в отчет нужных полей из таблиц базы данных
строится запрос — источник записей отчета, а использование свойств отчета позволяет
сразу видеть, как именно будут выглядеть содержащиеся в нем данные на странице, и
усовершенствовать макет.
Чтобы правильно создавать отчеты, необходимо понимать назначение каждого его
раздела. Например, от выбора раздела, в который будет помещен вычисляемый элемент
управления, зависит способ вычисления результата. Создание и изменение макета отчета
осуществляется в расчете на структуру отчета.
Назначение каждого из разделов:
- Заголовок отчета обычно включает эмблему компании, название отчета, дату.
Заголовок отображается перед верхним колонтитулом только один раз в начале отчета;
- Верхний колонтитул отображается вверху каждой страницы и используется в
случае, когда нужно, чтобы название отчета и другая общая информация повторялись на
каждой странице;
- Заголовок группы (Report Headler) используется при группировке записей отчета
для вывода названия группы и однократного отображения полей, по которым
производится группировка. Отображается перед каждой новой группой записей.
Например, если отчет сгруппирован по покупателям, в заголовке группы можно указать
название покупателя, а также адрес, телефон и другие реквизиты. Допускается до 10
уровней группировки выводимых записей;
113
- Область данных (Detail) отображает записи из источника данных, составляющие
основное содержание отчета;
- Примечание группы (Footer) используется для отображения итогов и другой
сводной информации по группе в конце каждой группы записей. Если поместить в
примечание группы вычисляемый элемент управления, использующий статистическую
функцию Sum, сумма будет рассчитываться для текущей группы;
- Нижний колонтитул применяется для нумерации страниц и отображения другой
информации внизу каждой страницы;
- Примечание отчета служит для отображения итогов и другой сводной
информации по всему отчету один раз в конце отчета. Если в примечании отчета
поместить вычисляемый элемент управления, использующий статистическую функцию
Sum, сумма рассчитывается для всего отчета.
В Access существуют два представления, в которых можно вносить изменения в
отчет: режим макета и режим конструктора. Режим макета являем и наиболее удобным
для внесения изменений в отчет, поскольку пользователь сразу видит данные отчета. В
этом режиме предусмотрено большинство инструментов, необходимых для его настройки.
В нем можно изменить шрифт столбцов, поменять их местами, добавить или изменить
уровни группировки и итоги. Можно также разместить в макете отчета новые поля, а
также задавать свойства отчета и элементов управления.
В режиме конструктора отображаются разделы отчета и предусмотрены
дополнительные инструменты и возможности разработки. Переходите в режим
Конструктора, если не удается выполнить изменения в режиме макета. В определенных
случаях в Access отображается сообщение о том, что для внесения изменений следует
переключиться в режим конструктора. Просматривать отчет можно в режимах
Представление отчета (Report View), Предварительный просмотр (Print Preview) или
Макет (Layout Preview). В режиме Представление отчета можно отфильтровать данные
для отображения только заданных строк, найти нужные данные, скопировать текст отчета
или его часть в буфер обмена. Режим предварительного просмотра предназначен для
просмотра отчета перед печатью. В этом режиме можно увеличивать масштаб для
просмотра деталей или уменьшать его для проверки размещения данных на странице,
изменить параметры страницы. Режим макета позволяет, просматривая данные отчета,
изменять его макет.
Отчет (report) — это объект базы данных, который используется для вывода на
экран, в печать или файл структурированной информации. Reports позволяют извлечь из
таблиц или запросов базы данных необходимую информацию и представить ее в виде
удобном для восприятия. Report содержит заголовок, область данных, верхний и нижний
колонтитулы, примечание и разбит на страницы. В Microsoft Access 2007 для создания
отчетов можно использовать различные средства (рис. 1):

Мастер отчетов

Конструктор отчетов

Инструмент Report

Пустой report
Рис. 1.
114
Отчеты целесообразно выполнять с помощью Мастера или других указанных
инструментов, а дорабатывать их, т.е. вносить необходимые изменения можно в режиме
макета или конструктора. В Microsoft Access 2007 предусмотрено два режима внесения
изменений и дополнений в reports: режим макета и режим конструктора.
Режим макета — это более наглядный режим редактирования и форматирования
(изменения) отчетов, чем режим конструктора. В тех случаях, когда в режиме макета
невозможно выполнить изменения в отчете, то целесообразно применять режим
конструктора.
Мастер отчетов. Для создания отчета при помощи Мастера отчетов необходимо
выполнить следующие действия:

В окне базы данных Access щелкнуть на вкладке Создание и затем щелкнуть
на кнопке Мастер отчетов в группе Отчеты. Появится диалоговое окно Создание отчетов.

В поле Таблицы и отчеты щелкнуть на стрелке и выбрать в качестве
источника данных таблицу Студенты.

Щелкнуть на кнопке ОК (рис. 2).
Рис. 2.
Все "Доступные поля" переведем в "Выбранные поля", выделив их и
щелкнув на кнопку >>.

На следующем шаге (Добавить уровни группировки?) щелкаем далее.

На шаге "Выберите порядок сортировки записей". В раскрывающемся
списке выберем "Фамилия" для сортировки по возрастанию.

На шаге "Выберите вид макета для отчета". Выбираем: Макет - блок,
ориентация - книжная. Щелкнуть на кнопке Далее.

На шаге " Выберите требуемый стиль". Выбираем - Изящная.

Следующий шаг - "Задайте имя отчета". Вводим имя - Студенты
мастер_отчетов. Дальнейшие действия: Просмотреть report; Изменить макет отчета.
Выбираем Просмотреть, щелкаем на кнопке Готово. Report открывается в режиме
Предварительного просмотра, который позволяет увидеть, как будет выглядеть report в
распечатанном виде.

115
Рис. 3.

Перейдите в режим Конструктора и выполните редактирование и
форматирование отчета. Для перехода из режима предварительного просмотра в режим
конструктора необходимо в области переходов щелкнуть правой кнопкой мыши на имени
отчета и в контекстном меню выбрать режим конструктора. На экране появится report в
режиме Конструктора.
Рис. 4.
Редактирование:
1) удалите поля КодСтудента в верхнем колонтитуле и области данных;
2) удалите поля КодГруппы в верхнем колонтитуле и области данных;
3) На место поля КодГруппы переместить поле "Название" из списка "Группы
студентов";
4) переместите влево все поля в верхнем колонтитуле и области данных.
5) Измените надпись в заголовке страницы, введите НТУ «ХПИ» и нажмите Enter.
6) Переместите Надпись. В Нижнем колонтитуле выделить поле =Now() и
перетащить его в Заголовок под название Студенты. Дата будет отображаться под
заголовком.
Форматирование:
1) Выделите заголовок Студенты НТУ «ХПИ»
2) Измените гарнитуру, начертание и цвет шрифта, а также цвет заливки фона.
Report в режиме конструктора примет вид, представленный на рисунке 5.
116
Рис. 5.
3) Перейдите в режим предварительного просмотра. Для перехода в режим
предварительного просмотра необходимо щелкнуть правой кнопкой мыши на названии
отчета в области переходов и в контекстном меню выбрать режим "Предварительный
просмотр" (рис 6).
Рис. 6.
Инструмент Отчет. Для быстрого создания отчета, т.е. создания одним щелчком
мыши можно воспользоваться инструментом Report. В этом случае report формируется на
базе существующей таблицы или запроса. В созданном отчете будут отображаться все
записи таблицы или запроса, на базе которых создается report. Но созданный report можно
будет изменить в режиме макета или конструктора.
Для создания отчета необходимо выполнить следующее. В области переходов надо
выделить таблицу (например, Студенты), на основе которой нужно создать report. Затем
перейти на вкладку Создание и щелкнуть на пиктограмме Report. На экране будет
отображен простой Отчет на основе текущей таблицы Студенты.
Средство Пустой отчет. Инструмент "Пустой report" позволяет создавать reports с
нуля в режиме макета. Для этого надо щелкнуть Пустой report в группе Отчеты на вкладке
Создание. В окне редактирования Access 2007 появится Отчет1 с пустой областью
данных, а в правой части окна будет отображаться область "Список полей"
существующих таблиц. Щелкнув на знак "+" таблицы (например, Студенты), откроется
список необходимых полей.
Перетащите требуемые поля из этого списка в report, нажав и удерживая левую
клавишу мыши. С помощью инструментов из группы "Элементы управления" на вкладке
Формат, можно доработать report, добавив заголовок, номера страниц, дату и время. При
необходимости его можно доработать в режиме конструктора. Сохраните report.
117
ПРАКТИЧЕСКАЯ РАБОТА № 22:
ФОРМЫ ВВОДА ДАННЫХ. АВТОФОРМЫ. КОНСТРУКТОР ФОРМ.
Удобный для пользователя и эффектный внешний вид придают базе данных
различные формы.
Чтобы «преподнести товар лицом», нужно облечь БД в формы. Например, так:
Но формы нужны не только для красоты, на них возложено много ответственных
задач:
1. Юзкейсы.
Одной и той же базой данных могут пользоваться разные люди для разных целей:

оператор на регистрации вносит в БД данные о владельцах и их собаках;

организаторы просматривают список всех участников;

судьи выставляют оценки;

ведущий вручает премии победителям.
Каждая такая ситуация использования БД разными группами пользователей
на языке разработчиков называется юзкейсом (от англ. use case – «случай
использования»). Для каждого юзкейса требуется специальная форма со своим набором
данных, с определенной функциональностью.
2. Интерактивность.
Чтобы пользователю было удобно работать с БД, разработчики размещают
на формах разные элементы управления: кнопки, вкладки, рисунки, списки. Нажимая
на такие кнопки, вводя данные, выбирая значения из списка, пользователь (сам о том
не ведая!) запускает маленькие программки, которые называются макросы. Макросы
открывают новое окно, находят нужную запись, сортируют записи, выводят данные
на печать и др.
Более
сложные
операции
по преобразованию
данных,
нестандартной
интерактивности записываются на языке программирования Visual Basic for Applications
(VBA) в специальном редакторе. Но для того, чтобы писать такие программы, надо
уже быть специалистом в программировании.
3. Защита данных.
Одной из важных функций форм является защита данных! Благодаря формам,
обычный пользователь БД не имеет прямого доступа к таблицам и запросам. Таблицы
и запросы относятся к закрытой, хорошо охраняемой части БД, т.к. неумелый
118
или злонамеренный пользователь может вывести из строя всю систему, просто поменяв
названия таблиц или полей или удалив часть записей.
Для работы с БД напрямую нужны профессиональная квалификация и знание
схемы данных, а также (что немаловажно!) права доступа. Даже отдельные формы
или фрагменты форм могут быть защищены паролями. Например, форма, в которой судьи
выставляют оценки собакам (чтобы никто другой не мог поменять оценки).
Создание форм.
При создании формы важно помнить вот о чем:
В основе любой формы с данными лежит таблица или запрос.
Задайте себе вопрос: какие данные будут расположены в полях формы?
1. Если все они находятся в одной таблице, то форму можно связать напрямую
с таблицей.
2. Если в форму должны быть подставлены данные из разных таблиц, то сначала
нужно сделать запрос, который будет собирать все данные, а потом связать с ним форму.
Перейдем от слов к делу!
Формы – это единственный элемент БД, который рекомендуется создавать
с помощью мастера.
Задание 1. Создадим с помощью мастера форму fmDogInfo, в которой будет
выводиться подробная информация о собаке (с фотографией).

В качестве источника данных в мастере укажите таблицу tbDog.

Вид формы «в один столбец», в некоторых версиях Access она еще
называется «одинарная» (не ленточная, не табличная).

Название fmDogInfo.
Наша форма связана с таблицей tbDog, и в полях, расположенных на макете
формы, отображается информация из полей таблицы.
119
При этом из всех записей таблицы одна считается активной, и именно
она отображается в полях формы (в нашем случае активной является запись о псе
Гардиене). Для перехода по записям («на следующую», «на предыдущую») следует
поставить на форме специальные кнопки (либо можно воспользоваться встроенными –
по умолчанию они есть внизу формы).
Редактирование форм в режиме конструктора.
После того, как вы создали форму, она открывается в режиме конструктора
и выглядит вот так:
На
макете
формы
вы можете
менять
РАСПОЛОЖЕНИЕ
и РАЗМЕРЫ
элементов
управления.
На панели элементов выбирайте
НОВЫЕ элементы управления, чтобы
добавить их на форму.
В списке полей отображаются
ПОЛЯ таблицы или запроса,
выбранного в качестве ИСТОЧНИКА
ДАННЫХ формы. Их можно
перетаскивать на форму, и тогда
на ней будут появляться
соответствующие элементы
управления.
Диалоговое
окно
Свойства
позволяет
настраивать самые разные характеристики
элемента управления, выделенного на макете.
120
Замечание: Если вы перешли в режим конструктора, а какое-то из вспомогательных
окон НЕ ВИДНО на экране, просто щелкните на кнопочки на панели инструментов
. Тогда откроются соответствующие окна.
Потренируемся работать в конструкторе!
Задание 2. Приведите в порядок внешний вид формы.

Расположите красиво элементы.

Сделайте подписи по-русски.
(Подписи можно поменять прямо на макете формы. При этом будьте
внимательны: в ПОЛЯХ, в отличие от ПОДПИСЕЙ, указаны имена соответствующих
данных из таблицы-источника. Поля должны оставаться английскими и в точности
соответствовать исходной таблице.)
Настройка данных формы.
Чтобы лучше разобраться, как настраивать данные формы, переделаем форму
fmDogInfo в форму fmPerson в режиме конструктора.
Пожалуйста, сделайте копию формы fmDogInfo (с помощью клавиш Ctrl+C
и Ctrl+V) в главном окне базы данных, чтобы сделанная форма с собаками не пропала.
Задание 3. Переделайте форму копия fmDogInfo в fmPerson в режиме
конструктора. Нам для этого потребуется вторая вкладка диалогового окна «Свойства»,
которая называется «Данные».

Первое, что нужно сделать, это сменить источник данных всей формы
(раньше это была таблица tbDog, а теперь будет tbPerson). Для этого выделите всю форму
121
(кликните на квадратик в верхнем левом углу макета формы) и на вкладке «Данные» окна
«Свойства» установите в качестве источника записей таблицу tbPerson.

Следующий шаг – расставить на форме поля с данными владельцев:
фамилией, именем, отчеством, телефоном и адресом электронной почты. Это можно
сделать двумя способами (испытайте каждый их них):
1.
Либо удалить все старые поля, относящиеся к собакам, и расставить новые
поля, перетащив их на макет формы из Списка полей. Как вы помните,
там отображаются поля той таблицы (или запроса), которую мы назначили
источником данных формы.
2.
Либо заменить источники данных у существующих полей. Каждое поле
на макете формы связано с полем таблицы-источника данных формы. Наверное,
вы заметили, что после смены источника данных формы на tbPerson в полях на форме
появились странные надписи #Имя?
Это происходит потому, компьютер пытается (но не может!) найти в новой таблице
поля, относящиеся к собакам: кличку, породу, дату рождения и др. Выделите каждый
из элементов управления и вкладке «Данные» окна «Свойства» установите в качестве
источника записей одно из полей таблицы tbPerson.
122
ПРАКТИЧЕСКАЯ РАБОТА № 23:
ЭТАПЫ СОЗДАНИЯ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ.
КНОПОЧНЫЕ ФОРМЫ.
Формы являются основой разработки диалоговых приложений пользователя ля
работы с базой данных. Формы, адекватные формам первичных документов, позволяют
выполнить загрузку справочных, плановых и оперативно-учетных данных, в любой
момент просмотреть и отредактировать содержимое ранее введенных в базу данных
документов, оформить новый документ.
Формы обеспечивают удобную работу с данными одной или нескольких
взаимосвязанных таблиц, которые выводятся на экран с использованием ее макета,
разработанного пользователем. Работая с формой, пользователь может добавлять, удалять
и изменять записи таблиц, получать расчетные данные. В процессе работы может
осуществляться контроль вводимых данных, могут проверяться ограничения на доступ к
данным, выводиться необходимые дополнительные сведения.
Форма состоит из элементов управления, которые отображают поля таблиц, и
графические элементы, не связанные с полями таблиц. Графические элементы управления
предназначены, прежде всего, для разработки макета формы: надписей, внедряемых
объектов (рисунков, диаграмм), вычисляемых полей, кнопок, выполняющих печать,
открывающих другие объекты или задачи.
Как форма в целом, так и каждый из ее элементов обладает множеством свойств.
Посредством их изменения можно настроить внешний вид, размер, местоположение
элементов в форме, определить источник данных формы, режим ввода/вывода, привязать
к элементу выражение, макрос или программу. Набор свойств доступен в
соответствующем окне, где они разбиты на категории, каждая из которых представлена на
своей вкладке. Основными вкладками в окне свойств являются:
Макет — представляет свойства, ориентированные на определение внешнего
вида формы или ее элементов;
Данные — представляет свойства для определения источника данных формы или
ее элементов, режима использования формы (только разрешение на изменение,
добавление, удаление и т. п.);
События — событиями называют определенные действия, возникающие при
работе с конкретным объектом или элементом: нажатие кнопки мыши, изменение данных,
до обновления, после обновления, открытие или закрытие формы и т. д. Они могут быть
инициированы пользователем! или системой. С событием может связываться макрос или
процедура обработки события на языке VBA, выполняющая некоторые действия или
рассчитывающая значения. Например, в процедуре можно организовать открытие
связанной формы, обновление данных таблицы расчетными значениями, печать формы,
вывод отчета. Запрограммировав в процедурах вызов различных объектов базы данных,
можно автоматизировать выполнение задач приложения.
Для быстрого создания формы предназначены мастера Access. Однако точное
формирование макета формы, отвечающего заданным требованиям дополнение
процедурами обработки событий, возникающих в форме, обеспечивается средствами
конструирования. Конструктор форм можно пользовать как для создания новой формы,
так и для редактирования формы, созданной мастером. Кроме того, в Access 2007
включены новые функциональные возможности, позволяющие выполнить доработку
форм в режиме макета.
В процессе создания формы выбираются поля таблицы, которые должны быть
представлены в форме, осуществляется их размещение в форме, создаются вычисляемые
поля, графические элементы — кнопки, выключатели, элементы оформления,
поясняющий текст и рисунки. Для настройки различных элементов формы используется
типовой набор их свойств.
123
Формы в Access могут быть представлены в трех режимах.
- Режим формы предназначен для ввода, просмотра и корректировки данных
таблиц, на которых основана форма.
- Режим макета обеспечивает просмотр данных почти в таком виде, в каком они
отображаются в режиме формы, и в то же время позволяет изменять форму. В этом
режиме элементы формы становятся выделяемыми, их можно перетаскивать в другие
места, редактировать содержимое надписей полей, изменять формат, размер и т. п. Режим
макета позволяет удобно настраивать внешний вид формы и может использоваться для
внесения большинства структурных изменений. Если некоторую часть невозможно
выполнить в режиме макета, следует переключиться в режим конструктора. В ряде
случаев в Access отображается сообщение о том, что для внесения изменений надо
переключиться в режим конструктора.
Конструктор предназначен для разработки формы с помощью полного набора
инструментов, обеспечивающего более детальную проработку структуры формы,
использование всех элементов управления. В этом режиме форму можно разработать с
нуля или доработать ее после создания мастером. Просмотр данных при внесении
изменений в этом режиме не предусматривается.
Этапы создания интерфейса в Access.
Многооконный интерфейс.
Вы знаете, что каждое окно связано с одной формой или одним запросом.
Но интерфейс большой базы данных включает множество окон. Их всех нужно связать
воедино, чтобы получился законченный программный продукт, которым удобно
пользоваться. Обычно это одно главное окно, из которого мы можем получить доступ
ко всем остальным. Существует два основных способа связывания форм между собой:
1. вложенные формы;
2. формы, открывающиеся в новом окне по нажатию кнопки.
Сделаем вот такую базу данных:
124
Внутри формы с владельцами fmPerson расположена форма со списком
принадлежащих им собак fmDogList. При нажатию на кнопочку [...] открывается
дополнительное окно с подробными сведениями о собаке и ее фотографией.
Задание 6. Создайте ленточную форму fmDogList со списком собак (на рисунке
хорошо видно, чем ленточная форма отличается от одиночной).
Задание 6а. Встройте форму с собаками внутрь формы с владельцами и настройте
связь между ними так, чтобы отображались не все собаки, а только те, что принадлежат
данному владельцу.
Задание 6б Расположите напротив каждой записи в форме fmDogList кнопочку [...],
по нажатию на которую будет открываться форма fmDogInfo с подробными сведениями
о собаке
и ее
фотографией.
Инструкция – в разделе Открытие связанной формы в новом окне.
Организация поиска по БД.
Одно из важных назначений БД – это поиск по большим массивам данных.
Разместим на форме с владельцами поле для поиска владельца по первым буквам
его фамилии. Вот так:
Задание 7. Разместите на форме поле поиска.
Инструкция – в разделе Поиск записи по образцу.
125
ПРАКТИЧЕСКАЯ РАБОТА № 24: МАКРОСЫ.
Макрос – программа, состоящая из последовательности макрокоманд (макрос от
слова "макрокоманда"). Макрокоманда — это инструкция, ориентированная на
выполнение определенного действия над объектами Access и их элементами.
Например, макрокомандой можно открыть форму, отчет, напечатать отчет,
запустить на выполнение запрос, применить фильтр, присвоить значение, создать свое
меню. Макрокоманда ВыполнитьКоманду (RunCommand) позволяет выполнить любую
встроенную команду Access, которые выводятся на вкладках ленты или в контекстном
меню. Имеющийся в Access набор макрокоманд (более 50) реализует практически любые
действия, которые необходимы для решения задачи.
Язык макросов обеспечивает возможность выполнения большинства задач, не
прибегая к программированию на VBA. Макросы предоставляют пользователю средства
решения задач, не требующие знания детального программирования. Язык макросов
является языком более высокого уровня, чем VBA.
Макрос может быть наряду с другими объектами представлен как отдельный
объект (изолированный макрос), который отображается в области переходов в группе
Макросы (Macros). В Access 2007 макрос может быть внедрен в любые события в форме,
отчете или элементе управления (внедренный макрос). При этом он не отображается как
объект в группе Макросы (Macros), а становится компонентом формы, отчета.
Макросы могут запускаться на выполнение прямо из области переходов. Возможно
решение задач с помощью ряда взаимосвязанных макросов, первый из которых будет
запускаться на выполнение из области переходов. Пользователь запускает главный макрос
на выполнение и далее все управление выполнением задачи осуществляется изнутри
макроса. Макрос сам открывает нужные объекты, выбирает и обрабатывает данные,
вызывает другие макросы, следуя алгоритму, приводящему к решению задачи. При
необходимости из макроса может быть инициирован диалог с пользователем. Для
перехода по различным ветвям макроса в строке макрокоманды используется условие.
Внедренные макросы выполняются в ответ на многочисленные виды события
возникающих в формах, отчетах и их элементах управления. Они наступают при
выполнении определенных действий с объектами, к которым относятся прежде всего,
действия пользователя. Примерами событий являются: изменение данных в поле,
открытие или закрытие формы или отчета, нажатие кнопки в форме и просто передача
фокуса от одного поля к другому. Связь макросов с событиями позволяет
автоматизировать приложения, используя макросы для открытия форм, печати отчетов,
выполнения последовательности запросов, для выполнения действий, зависящих от
значений некоторого поля в базе данных, для вывода пользовательских сообщений или
отключения предупреждающих сообщений во время выполнения запросов действия и
многого другого. Сохранение внедренных макросов вместе с формами и отчетами
упрощает управление объектами приложения.
Программы на языке макросов реализуют алгоритмы решения отдельных задач
приложения. Механизм связывания макросов с событиями в объектах позволяет
объединить разрозненные задачи приложения в единый комплекс, управляемый
пользователем. Пользователь, выполняя различные действия в формах, инициирует
выполнение макросов, автоматизирующих решение связанных с действиями пользователя
задач.
Конструирование макроса.
Создание макросов осуществляется в диалоговом режиме и сводится к записи в
окне макроса последовательности макрокоманд, для которых задаются аргументы.
Каждому макросу присваивается имя. При выполнении макроса макрокоманды
выполняются последовательно в порядке их расположения. При этом используются
126
объекты или данные, указанные в аргументах макрокоманд. Имеется возможность
изменить порядок выполнения макрокоманд, определяя условия их выполнения.
Выполнение макросов инициируется простой операцией и может сводиться к его
открытию, как это делается и для других объектов базы данных. Помимо этого, Access
предоставляет возможность автоматически инициировать выполнение макроса при
наступлении некоторого события. Для связи макроса с событием достаточно в окне
свойств объекта или его элемента управления внести в строку этого события имя макроса
или создать внедренный макрос. События, с которыми можно связать макрос,
определяются в свойствах форм и отчетов и их элементов управления.
Мы хотим, чтобы форма не только отображала данные из таблиц, но и была
«интерактивна», т.е. на ней были бы разные кнопочки, на которые можно нажимать. Здесь
нам как раз и пригодятся макросы!
Задание 4. Сделаем кнопки для перехода на следующую и предыдущую запись.

шаг 1 ставим кнопку. Добавляем на форму fmPerson кнопку с панели
элементов (проверьте, чтобы мастер был ОТКЛЮЧЕН т.е. кнопочка с волшебной
палочкой НЕ горела).

шаг 2 пишем макрос. Заходим в главном окне базы данных в раздел
Макросы и создаем новый макрос mcGotoRecord в режиме конструктора.
В конструкторе макроса мы описываем последовательность команд, которые компьютер
должен будет выполнить. Вверху записываются команды, а внизу – дополнительные
параметры каждой команды. Для перехода на следующую запись выберем команду
НаЗапись с параметром Следующая.
шаг 3 связываем нажатие кнопки и макрос. Осталось сообщить
компьютеру, что именно этот макрос нужно выполнить, после нажатия на данную кнопку.
Выделяем на макете формы кнопку и переходим на вкладку «События» окна «Свойства».
На этой вкладке перечислены все-все действия, которые пользователь может осуществить
с данным элементом управления: кликнуть, дважды кликнуть, просто навести мышку,
не нажимая на ее клавиши, одновременно набрать текст с клавиатуры и др. Каждое такое
действие называется событием. С каждым событием можно связать выполнение
определенного макроса. Его имя записывается в пустую ячейку напротив
соответствующего события.

127
Проверьте! Теперь ваша кнопка должна работать!
Задание 4а (самостоятельное). Сделайте кнопку для перехода на предыдущую
запись. Для этого надо будет написать еще один похожий макрос. Но если два макроса
очень похожи по функциональности, то рекомендуется объединять их в один. Для этого
кликните правой кнопкой мыши на заголовок редактора макросов и подключите
там раздел Имена макросов. Все макрокоманды ниже слова Next будут относиться
к первому макросу, ниже слова Prev – ко второму.
В ячейках вкладки «События» вы сможете записывать имена этих составных
макросов через точку, вот так:
Мастерa. VBA.
При создании кнопки переходов по записям я просила вас отключить мастер.
Теперь пришло время узнать, что такое мастер и как он работает. Давайте создадим
еще одну кнопку для перехода по записям, но уже с помощью мастера, и посмотрим, в чем
отличие!
128
Задание 5. Подключите мастер и сделайте кнопку для перехода на следующую
запись. Для этого нужно перед тем как ставить кнопку, «зажечь» кнопочку с волшебной
палочкой.
Проверьте: при нажатии на кнопку форма действительно переходит на следующую
запись. Мастер написал за нас соответствующие команды. Но где же они записаны?!
Выделим кнопку и откроем вкладку «События» окна «Свойства». Напротив события
Нажатие кнопки стоит надпись Процедура обработки событий. Кликнув на кнопочку
с многоточием [...], мы попадаем в редактор языка программирования Visual Basic
for Applications (VBA). Вот так выглядят те же самые команды для перехода
на следующую запись, написанные на VBA.
Что лучше: писать макросы или пользоваться мастером?
С точки зрения конечного результата оба способа равнозначны. С помощью
мастера получается чуть быстрее: не нужно тратить время на шаги 2 (написание макроса)
и 3 (связывание события кнопки с выполнением макроса). Однако, выбор действий,
которые может выполнить мастер, существенно уступает возможностям редактора
макросов. Поэтому для создания действительно удобной и интерактивной БД, важно
уметь самостоятельно писать макрокоманды.
А вот совсем настоящие профессионалы не будут пользоваться ни тем, ни другим.
Они будут писать программы прямо на VBA!
129
ПРАКТИКУМ ПО РАЗРАБОТКЕ
ИНФОРМАЦИОННЫХ СИСТЕМ.
ПРАКТИЧЕСКАЯ РАБОТА № 25:
ПОНЯТИЕ БД. СТРУКТУРИРОВАННЫЕ ДАННЫЕ.
КОДИРОВАНИЕ ИНФОРМАЦИИ.
Цель работы. Научиться выявлять структурированные данные в сообщениях и
представлять их в виде таблицы.
Теоретическая часть.
Определение! База данных (БД) – это именованная совокупность
взаимосвязанных структурированных данных, отражающая состояние объектов и их
отношений в рассматриваемой предметной области.
Например,
● коммерческая база данных по продовольственным товарам;
● база данных по учебному процессу;
● производственная база данных;
● управленческая база данных.
Основополагающим принципом создания баз данных является минимизация
избыточности данных.
Сообщения в базе данных обычно являются структурированными, то есть легко
разделяются на компоненты (параметры).
Если параметрам сообщения дать названия, то их представление можно задать в
виде такой таблицы.
Замечание. В СУБД Microsoft Access столбцы таблицы называются полями, а
строки – записями.
Определение! Кодирование – это процесс присвоения объектам условного
обозначения. Коды могут быть цифровыми, буквенными и буквенно-цифровыми.
В управленческой документации одна часть данных кодируется, а другая – нет
(адреса, фамилии). Кодирование выполняется с целью сокращения затрат на ввод
документов и упрощение операций по их автоматизированной обработке. Коды находятся
в классификаторах, содержащих также систематизированный свод наименований
объектов и их группировки.
Распространенными являются следующие системы кодирования: порядковая,
серийная, позиционная, мнемоническая, шахматный код.
Порядковая система кодирования предполагает присвоение всем позициям
кодируемой номенклатуры порядковых номеров без пропусков. Например, виды
начислений заработной платы: 01 – основная заработная плата, 02 – премия, 03 – работа в
ночное время и т.д.
Практическая часть.
Пример. Пусть имеются сообщения
1) «В детский сад №5 12.11.2012 от ОАО «Уральский Хлеб» поступили пряники
«Чайные» в количестве 20 кг по цене 30 рублей за килограмм и хлеб белый в количестве
12 штук по 18 рублей за штуку».
2) «В детский сад №8 14.11.2012 от ОАО «Уральский Хлеб» поступили пряники
«Чайные» в количестве 15 кг по цене 30 рублей за килограмм, хлеб белый в количестве 10
штук по 18 рублей и батон «Особый» в количестве 5 штук по цене 25 рублей».
130
3) «В детский сад №5 15.11.2012 от ООО «СахароК» поступил сахар-песок в
количестве 50 кг по цене 23 рубля».
4) «В детский сад №8 15.11.2012 от ОАО «УралКартон» поступил картон цветной в
количестве 2 коробок по цене 120 рублей».
Таких сообщений может быть достаточно много. Они совпадают по названиям
компонентов (получатель, поставщик, дата, товар, единица измерения, цена, количество),
но различаются по их значениям. Представим эти сообщения в виде такой таблицы:
Задание.
1) Создайте и заполните эту таблицу, используя текстовый редактор Ms Word и
электронную таблицу MS Excel (рабочий лист с таблицей назовите Приход). Добавьте
столбец «Сумма» и рассчитайте суммы за товар. Сохраните файлы.
2) Какие недостатки, на ваш взгляд, есть в организации таблицы? Попробуйте
выполнить сортировку таблицы по получателям. Сделайте вывод и выполните
корректировку таблицы.
3) Пусть цена на пряники стала 35 рублей за килограмм, а на хлеб – 20 рублей.
Выполните редактирование таблицы. Вспомните определение БД и основной принцип
создания баз данных.
Как, по-вашему, можно избежать многократного выполнения одних и тех же
действий?
В Microsoft Excel переименуйте пустой рабочий лист в Справочник. Создайте
таблицу:
131
Выделите таблицу вместе с заголовком (диапазон А1:D6).
Откройте вкладку «Формулы», в группе «Определенные имена» нажмите кнопку
«Присвоить имя». Введите имя диапазона – Товары. На листе Приход удалите столбцы
«Единица измерения» и «Цена». В ячейку F1запишите название – Сумма, в ячейку F2
наберите формулу для расчета суммы:
=E2*ВПР(D2;Товары;4;0).
С помощью функции автозаполнения скопируйте формулу на остальные ячейки
столбца F. Используя справку по функции ВПР, объясните результат расчета по данной
формуле. Скопируйте обе таблицы в документ MS WORD и запишите свои пояснения.
Задачи для самостоятельной работы.
Задача 1. Используя редактор Ms Word и электронную таблицу Ms Excel,
представьте в виде таблицы приведенные ниже сообщения. Имена параметров выберите
самостоятельно.
1) «В отделе АХЧ предприятия работают четверо сотрудников. Это: Николаев,
принят 11.01.2001 с тарифом почасовой оплаты в размере 100 руб./час; Плюшина, принята
20.08.2003 с почасовой оплатой 90 руб./час; Куприянов, принят 15.03.1997 с почасовой
оплатой 90 руб./час; Мокина – 23.04.2001 – 100 руб./час».
2) «В экспедиционном отделе этого же предприятия также работают четверо
сотрудников: Деркач, принят 01.09.1993 с почасовой оплатой 120 руб./час; Емельянова –
05.10.2000 – 110 руб./час; Акуленко, принят 07.11.2005 и 120 руб./час; Бабушкин –
09.12.2007 – 110 руб./час».
В Ms Excel определите общее количество работающих мужчин и женщин.
Добавьте в экспедиционный отдел еще одного сотрудника с фамилией Николаев
(15.10.2003, 120 руб./час). Что можно теперь сказать о получившейся таблице? Какая
дополнительная информация для идентификации рабочих, по вашему мнению, требуется
в таблице?
Задача 2. Используя Ms Excel, представьте в виде таблицы приведенные ниже
сообщения. Имена параметров выберите самостоятельно.
1) «Предприятие 1 февраля 2012 года приняло решение о ликвидации принтера с
инвентарным номером 0011, введенного в эксплуатацию 1 декабря 2003 года. Его
первоначальная стоимость – 13 000 руб., сумма износа – 10 000 руб. Устройство
находилось в отделе кадров. Начальник отдела кадров – Никулина А.А.».
2) «В отделе кадров 1 февраля 2012 года ликвидируется также монитор с
инвентарным номером 0022 стоимостью 10 000 рублей, введенный в эксплуатацию 1
июня 1999 года. Сумма износа монитора составила 8 500 рублей. Начальник отдела
кадров – Никулина А.А.».
3) «Предприятие 1 ноября 2012 года приняло решение о списании сервера с
инвентарным номером 0111, находящегося в отделе ИТ и введенного в эксплуатацию 1
сентября 2000 года. Его первоначальная стоимость – 30 000 руб., сумма износа – 25 000
руб.
Начальник отдела ИТ – Гордеев Н.Б.».
132
4) «Подлежит списанию от 10 ноября 2012 года автомобиль «Лада-Приора» с
инвентарным номером 0333 стоимостью 300 000 рублей, введенный в эксплуатацию 1
октября 2011 года.
Сумма износа – 15 000 рублей. Автомобиль являлся служебным в отделе ИТ».
Добавьте к получившейся таблице столбцы «Остаточная стоимость» и «Причина
списания». В качестве причин можете указать, например, «моральный износ»,
«повреждения при транспортировке», «угон» (для автомобиля), «поломка с
невозможностью восстановления» и т.п.
133
ПРАКТИЧЕСКАЯ РАБОТА № 26:
СОЗДАНИЕ БД ИЗ ОДНОЙ ТАБЛИЦЫ.
Цель работы. Научиться выявлять объекты (таблицы) предметной области и их
идентификаторы.
Теоретическая часть.
Определение! Предметная область – это часть реальной системы,
представляющая область интересов для пользователя (сведения о конкретных объектах,
ресурсах, процессах). То есть нужно определить основные темы таблиц базы данных и
информацию, которую будут содержать поля таблиц.
Разработка таблиц – один из наиболее сложных этапов в процессе проектирования
базы данных. При разработке таблиц рекомендуется руководствоваться следующими
основными принципами:
1. Каждая таблица должна содержать информацию только на одну тему, а каждое
поле в таблице – отдельные сведения по теме таблицы.
2. Информация в таблице не должна дублироваться. Определенная информация
должна храниться только в одном месте.
3. Не рекомендуется включать в таблицу данные, которые являются результатом
выражения.
4. В каждой таблице должно быть поле (или набор полей), значения которого
однозначно идентифицируют каждую запись таблицы (не повторяются). Если такое поле
одно, его называют простым ключом. Если для идентификации строк таблицы нужно два
и более поля, то этот набор называют составным ключом.
Практическая часть.
Пример. Создание базы данных Автомагазин, состоящей из одной таблицы
Автомобили.
1. Запустите Microsoft Access, щелкнув по кнопке Пуск и выбрав в меню Windows
пункт Все программы, далее подменю Microsoft Office, а затем команду Microsoft Access.
2. В диалоговом окне при старте Access выберите опцию Создать файл – Новая
база данных. В диалоговом окне Файл новой базы данных выберите папку (например,
Мои документы) и задайте имя базы данных Автомагазин.
3. В окне СУБД Access выберите объект Таблицы, в правой области окна выберите
вариант Создание таблицы в режиме конструктора.
4. В режиме конструктора таблицы в столбце Имя поля введите имя Марка. В
столбце Тип данных оставьте тип Текстовый. В столбце Описание введите описание
данных, которые будет содержать это поле, например, марка автомобиля. Текст
описания будет выводиться в строке состояния при добавлении данных в поле, а также
будет включен в описание объекта таблицы. Вводить описание не обязательно. Перейдите
в раздел Свойства поля в нижней части окна и задайте значения Размер поля: 30
символов. Действуя аналогично, задайте названия, укажите тип и свойства данных для
остальных полей, как показано в таблице 1.
5. После ввода описанных полей таблицы укажите ключевое поле, для чего
щелкните в области выделения строки с записью поля Номер кузова и нажмите на кнопку
Ключевое поле на панели инструментов. После этого в области выделения поля Номер
кузова появится знак ключевого поля – ключ.
134
6. Сохраните структуру таблицы и перейдите в режим заполнения таблицы
командой Вид / Режим таблицы. На вопрос Сначала необходимо сохранить таблицу.
Сделать это сейчас? нажмите кнопку Да. В диалоговом окне Сохранение задайте имя
таблицы Автомобили и нажмите ОК.
7. Заполните таблицу записями (рис. 1).
8. Сохраните таблицу, щелкнув по кнопке Сохранить на панели инструментов.
9. Выполните сортировку записей по объему двигателя в порядке убывания. Для
этого установите курсор в столбце Объем двигателя и щелкните по кнопке Сортировка
по убыванию на панели инструментов.
10. Отсортируйте записи по году выпуска в порядке возрастания. Для этого
установите курсор в столбце Год выпуска и щелкните по кнопке Сортировка по
возрастанию на панели инструментов.
11. Используя фильтр, отобразите в таблице Автомобили записи об автомобилях с
кузовом «седан». Для этого в поле Тип кузова найдите значение «седан». Выделив это
значение, щелкните по кнопке Фильтр по выделенному на панели инструментов. Для
отмены фильтра нажмите кнопку Удалить фильтр на панели инструментов.
12. Используя расширенный фильтр, отобразите в таблице Автомобили записи об
автомобилях с кузовом «седан», год выпуска которых не старше 1995 г. Для этого
выберите в меню Записи подменю Фильтр, затем – команду Расширенный фильтр.
После этого на экране будет раскрыт бланк создания расширенного фильтра.
Добавим в бланк поля Тип кузова и Год выпуска. Зададим Условие отбора у
поля Тип кузова – «седан», Год выпуска >1995. Чтобы __________указать порядок
сортировки, выберите ячейку Сортировка в поле Год выпуска, щелкните стрелку и
выберите порядок сортировки по возрастанию. Чтобы применить фильтр, выберите в
меню Фильтр команду Применить фильтр. После этого данные в таблице будут
отображаться, как показано на рис. 2.
135
Для отмены фильтра щелкните по кнопке Удалить фильтр на панели
инструментов. Сохраните и закройте таблицу.
Задание для самостоятельной работы.
Задача. В качестве предметной области рассмотрим деятельность деканата в части
ведения личных дел студентов (ограничимся пока этой функцией для упрощения задачи).
Допустим, что имеются личные дела студентов двух групп – 157 и 158. Некоторая
нужная информация собрана в таблицу:
Запустите Microsoft Access. Создайте новую базу данных с именем Успеваемость.
На вкладке Режим таблицы создайте и заполните таблицу Студенты. Перейдите в режим
конструктора таблицы и установите, где это необходимо, требуемые значения для
структуры таблицы.
Для поля Пол создайте список подстановок из двух вариантов – М, Ж. Для поля
Город – Челябинск, Златоуст, Копейск, Усть-Катав, Касли, Юрюзань, Коркино и т.д. Для
поля Язык создайте список, содержащий три варианта – нем, англ, фр. Заполните таблицу
до конца вашими данными.
Замечание. Все объекты, относящиеся к одной базе данных, – таблицы, формы,
запросы и т. п. – сохраняются в одном файле. Такое файл имеет имя с расширением
*.accdb (Access data base).
136
ПРАКТИЧЕСКАЯ РАБОТА № 27:
ИСПОЛЬЗОВАНИЕ СВЯЗАННЫХ ТАБЛИЦ.
СОЗДАНИЕ ФОРМ И ОТЧЕТОВ.
Цель работы. Научиться устанавливать связи между таблицами, создавать
простые формы и отчеты.
Практическая часть.
Создание в базе данных Автомагазин таблицы Поставщики. В таблицу
Автомобили добавим столбец Поставщик и создадим связь таблиц.
1. Откройте таблицу Автомобили в режиме конструктора, для чего укажите в
списке объектов базы данных Автомагазин вкладку Таблицы, выберите таблицу
Автомобили и щелкните по кнопке Конструктор.
2. Вставьте в таблицу новое поле, для чего выделите поле Объем двигателя,
выберите в меню Вставка команду Строки.
Введите в новой строке следующее описание:
3. Сохраните изменения в структуре таблицы, для чего щелкните по кнопке
сохранить , затем закройте ее, выбрав в меню Файл команду Закрыть.
4. Создайте таблицу Поставщики, описав ее поля следующим образом:
Для создания таблицы щелкните по кнопке Создать, в открывшемся окне Новая
таблица выберите пункт Конструктор и нажмите кнопку ОК.
В режиме конструктора таблицы в столбце Имя поля введите имя Код фирмы. В
столбце Тип данных оставьте тип Счетчик. В столбце Описание введите описание
данных, которое будет содержать это поле, например Номер фирмы. Перейдите в бланк
Свойства поля в нижней части окна и задайте Новые значения: последовательные,
Индексированное поле: Да (совпадения не допускаются). Действуя аналогично, задайте
названия, укажите тип и свойства данных для остальных полей.
137
Для поля Телефон в бланке Свойства поля задайте маску ввода, которая
обеспечит контроль ввода телефонного номера с кодом города, например, (0243)-456-7598. Для этого введите в строке Маска ввода текст маски «(«9999»)»-999-99-99.
В качестве ключевого поля укажите поле Код фирмы, значения которого в таблице
являются уникальными. Перейдите в режим заполнения таблицы командой Вид / Режим
таблицы.
Заполните таблицу записями.
Закройте таблицу Поставщики с сохранением структуры.
Установите связь между таблицами Автомобили и Поставщики: между полем с
первичным ключом Код фирмы главной таблицы Поставщики и полем Поставщик
подчиненной таблицы Автомобили. Для этого:
▪ Откройте таблицу Автомобили в режиме конструктора, для этого, указав в
списке объектов базы данных Автомагазин вкладку Таблицы, выберите таблицу
Автомобили и щелкните по кнопке Конструктор.
▪ В списке Типа данных поля Поставщик выберите пункт Мастер подстановок
(рис. 3).
▪ В первом окне создания подстановки выберите положение переключателя
Объект «столбец подстановки» будет использовать значения из таблицы или запроса
и щелкните на кнопке Далее.
▪ Во втором окне создания подстановки выберите таблицу Поставщики и
щелкните на кнопке Далее.
138
▪ В третьем окне мастера выберите из таблицы Поставщики поля, участвующие в
подстановке (рис. 4). Этот список обязательно должен содержать поле Код Фирмы, то
есть поле таблицы Поставщики. Щелкните на пункте Код Фирмы, затем на кнопке со
стрелкой вправо.
▪ Добавьте в список выбранные поля пункт Фирма. Затем щелкните по кнопке
Далее.
▪ В следующем окне мастера продемонстрирован один столбец таблицы-источника,
при этом столбец Код Фирмы, содержащий идентификатор записи скрыт, щелкните по
кнопке Далее.
▪ В последнем окне мастера задайте название столбца подстановки – Поставщик,
которое заменит имя столбца Код Фирмы, и щелкните по кнопке Готово.
▪ В появившемся окне диалога щелчком по кнопке Да подтвердите необходимость
сохранения построенной структуры.
▪ Щелкните по кнопке Режим таблицы, чтобы снова переключиться в режим ввода
данных.
▪ Заполните поле Поставщик в таблице Автомобили в пяти введенных ранее
записях (рис. 5). Введите шестую запись в таблицу Автомобили. Теперь в столбце
Поставщик вы можете выбрать название фирм из списка подстановки, сформированного
на базе поля Фирма таблицы Поставщики.
После связи таблиц при помощи Мастера подстановок между ними появится
связь. Для того чтобы ее увидеть, выберите команду Схема данных на вкладке Работа с
базами данных.
▪ Дважды щелкните левой клавишей мыши по линии связи. Откроется окно
Изменение связей (рис. 6).
▪ Активизируйте флажок Обеспечение целостности данных, затем включите
переключатели каскадной модификации – обновления и удаления связанных записей.
139
▪ Щелкните по кнопке ОК. Как показано на рис. 6, в окне Схема данных появится
графическое изображение установленной связи. Оно означает, что одна запись таблицы
Поставщики может иметь сколько угодно связанных записей с таблицей Автомобили.
Создание форм.
Теоретическая часть.
Форма – это гибкий объект, который воспроизводит информацию, хранящуюся в
таблицах БД для облегчения ввода данных.
Рассмотрим некоторые варианты форм.
● Простая форма отображает единственную запись в базовом макете в столбик.
Для создания простой формы выберите вкладку Создание >группу Формы > кнопку
Форма.
● Форма без макета позволяет помещать элементы управления в любое место
формы. При создании такой формы приходится делать всю работу самому. Начать можно
с выбора вкладки Создание >группы Формы > кнопки Пустая форма , которая
открывается в Режиме макета.
● Ленточная форма отображает записи в табличном макете. Обычно в таких
формах одновременно отображается несколько записей. Для быстрого создания выберите
вкладку Создание >группу Формы > кнопку Несколько элементов.
● Разделенная форма в одном окне объединяет два типа форм. Одна часть окна
отображает текущую запись в простой форме. В другой части окна выводится таблица с
несколькими записями. Для создания разделенной формы выберите > вкладку Создание
>группу Формы > Разделенная форма
● Форма в режиме таблицы выглядит точно так же, как лист данных с таблицей.
Можно создать табличную форму, отображающую меньше столбцов, применяющую
фильтр для скрытия определенных записей, запрещающую вставку записей,
использующую другое форматирование и т. д. Для создания формы в режиме формы в
режиме таблицы выберите вкладку Создание >группу Формы > стрелку кнопки Другие
формы > вариант
Режим таблицы.
● Мастер создания форм. Он задает ряд вопросов и затем создает
соответствующую форму. Выберите вкладку Создание >группу Формы > стрелку кнопки
Другие формы > вариант
Мастер форм. На экране появляется первое окно мастера Создание форм. Из
раскрывающегося списка выберите таблицу, которую хотите использовать. В списке
Доступные поля отображаются все поля из вашей таблицы. Добавьте поля, которые
хотите включить. Можно выбрать поля из нескольких таблиц, при условии, что эти
таблицы связаны. Выберите вариант макета и стиль оформления формы.
● Форма со сводной диаграммой или сводной таблицей – это форма,
единственная задача которой – вывод на экран сводной диаграммы или сводной таблицы
Практическая часть.
140
▪ Выберите объект Формы, щелкните в правой области окна по кнопке Создание
формы с помощью мастера.
▪ На первом шаге диалогового окна Создание форм выберите таблицы
Поставщики, затем Автомобили, включив в форму все поля таблицы Поставщики,
кроме поля Код фирмы, а также все поля таблицы Автомобили, кроме поля Поставщик
(эти числовые поля связывают таблицы, но названия фирмы поставщика автомобиля в них
нет). Щелкните кнопку Далее.
▪ На втором шаге диалога с мастером выберите вид представления данных, указав в
качестве главной таблицу Поставщики и включив опцию Подчиненные формы.
Щелкнув кнопку Далее, выберите внешний вид подчиненной формы – табличный, далее
выберите один из стилей оформления на ваше усмотрение (например, Рисовая бумага).
▪ На следующих этапах диалога с мастером Создание форм задайте имя для
каждой из связанных форм и выберите в качестве дальнейших действий вариант
Открыть форму для просмотра и ввода данных. Завершите создание формы, щелкнув
кнопку Готово. После этого на экране раскроется окно формы Поставщики с
подчиненной формой Автомобили.
● Попробовав ввести данные, обнаруживаем, что размер поля в форме мал для
представления данных. Щелкните по кнопке Конструктор, чтобы переключиться в режим
конструктора.
Измените размеры, цвет, фон и начертание рамок у элементов управления форм,
как показано на рис. 7, и затем перейдите в режим показа формы, нажав кнопку Режим
формы на панели инструментов. Сохраните изменения макета формы.
● Введите данные еще о нескольких фирмах-поставщиках и автомобилях.
● Закройте окно формы и, открыв таблицы Поставщики и Автомобили,
посмотрите внесенные записи и убедитесь, что в обеих таблицах внесены связанные
записи.
Создание отчета.
● Выберите в списке объектов Отчеты, щелкнув кнопку Создать отчет с
помощью мастера.
● На первом шаге мастера Создание отчетов выберите таблицу Поставщики,
включите в отчет поля Фирма и Телефон. Выберите из таблицы Автомобили поля
Марка, Объем двигателя, Цвет, Тип кузова, Год выпуска, Номер кузова. Щелкнув
кнопку Далее, выберите в качестве главной таблицу Поставщики.
● На следующем шаге диалога с мастером Создание отчетов добавьте уровень
группировки, выбрав поле Марка и нажав кнопку со стрелкой вправо (рис. 8).
141
● Щелкнув кнопку Далее, выберите сортировку по возрастанию по полю Год
выпуска. Щелкнув кнопку Итоги, включите опцию Мах в поле Объем двигателя.
Включите опцию данные и итоги (рис. 9) и, щелкнув кнопку ОК, закройте окно выбора
вычисляемых итогов.
● Щелкнув кнопку Далее, выберите вид макета ступенчатый и включите опцию
настройки ширины полей для размещения их на одной странице.
● Нажмите кнопку Далее и выберите стиль оформления создаваемого отчета по
Вашему усмотрению (например, Деловой) и нажмите кнопку Далее.
● На заключительном этапе Создание отчетов задайте имя отчета: Пример
отчета1 и, выбрав Просмотреть отчет, щелкните кнопку Готово для завершения
создания отчета и просмотра полученного отчета.
● Просмотрев отчет, обнаруживаем, что размер некоторых полей и их заголовков в
отчете мал для представления данных. Щелкните по кнопке Конструктор, чтобы
переключиться в режим конструктора.
Измените размеры, цвет, фон и начертание элементов отчета (рис. 10) и перейдите
в режим показа отчета, нажав кнопку Предварительный просмотр на панели
инструментов или команду Предварительный просмотр меню Вид. Сохраните
изменения макета формы.
142
● После просмотра отчета закройте его, щелкнув кнопку Закрыть.
143
ПРАКТИЧЕСКАЯ РАБОТА № 28:
РАБОТА С ДАННЫМИ ПРИ ПОМОЩИ ЗАПРОСОВ.
Цель работы. Научиться создавать запросы к базе данных.
Практическая часть.
I. Создание запроса к таблицам базы данных Автомагазин, который отберет
данные об автомобилях, произведенных не ранее 1997 г. и поставленных фирмой
АвтоВАЗ.
● Выберите вкладку Запросы, в правой области окна щелкните кнопку Создание
запроса в режиме конструктора.
● В окне Добавление таблицы, выделив таблицы Поставщики, затем
Автомобили и щелкнув по кнопке Добавить, добавьте обе таблицы базы данных
Автомагазин. Щелкнув кнопку Закрыть, закройте окно Добавление таблицы.
● Перетащив поля из таблиц Автомобили и Поставщики в бланк запроса,
определите поля таблиц для запроса, порядок их размещения. В строке Вывод на экран
включите флажок отображения полей. В строке Условие отбора в столбце Фирма
задайте условие отбора «АвтоВАЗ», в столбце Год выпуска задайте условие отбора
>1997, как показано на рис. 11.
● Перейдите в режим таблицы, нажав кнопку Режим таблицы и просмотрите
записи базы данных, отображенные согласно созданному запросу.
● Закройте окно запроса, сохранив макет запроса под именем АвтоВАЗ старше
1997.
II. Создание запроса с параметром Поиска автомобилей по марке.
● Выберите вкладку Запросы, в правой области окна щелкните кнопку Создание
запроса в режиме конструктора.
● В окне Добавление таблицы, выделив таблицы Поставщики и Автомобили и
щелкнув по кнопке Добавить, добавьте обе таблицы базы данных Автомагазин.
Щелкнув кнопку Закрыть, закройте окно Добавление таблицы.
● Перетащив поля из таблиц Автомобили и Поставщики в бланк запроса,
определите поля таблиц для запроса, порядок их размещения. В строке Вывод на экран
включите флажок отображения полей. В столбце поля Марка, которое предполагается
использовать как параметр, введите в ячейку строки Условие отбора текст приглашения
[Введите марку автомобиля]. Сохраните запрос, задав ему имя Запрос нужной марки
авто.
144
Для проверки действий запроса выберите в меню Вид опцию Режим таблицы. В
окне Введите значение параметра задайте значение искомой марки автомобиля,
например, ВАЗ-3107, как показано на рис. 12.
● Закройте окно запроса, сохранив все изменения в макете запроса.
145
ПРАКТИЧЕСКАЯ РАБОТА № 29:
СОЗДАНИЕ СТРАНИЦЫ УДАЛЕННОГО ДОСТУПА К ДАННЫМ.
Цель работы. Научиться создавать объект «Страница».
Практическая часть.
Создайте страницу доступа из Интернет к базе данных Автомагазин, которая
обеспечит посетителям Web-страницы просмотр характеристик автомобилей.
● Выберите вкладку Страницы, в правой области окна щелкните кнопку Создание
страницы доступа к данным с помощью мастера.
● На первом шаге диалога с мастером определите состав полей таблицы данных,
отображаемых на странице доступа к данным. Для этого выберите базовую таблицу
Поставщики, выбирая в списке Доступные поля поля таблицы данных и, щелкнув
кнопкой , включите в список Выбранные поля поля Фирма и Телефон этой таблицы.
Затем выберите таблицу Автомобили и добавьте ее поля Марка, Объем двигателя,
Цвет, Тип кузова, Год выпуска в список Выбранные поля.
● Щелкнув кнопку Далее, перейдите к этапу определения уровней группировки.
Добавьте уровни группировки по названию фирмы-поставщика автомобилей (рис. 13).
Учитывайте, что добавление уровней группировки приводит к тому, что страница будет
доступна только для чтения, т. е. посетители Web-страницы смогут просматривать
информацию, но не смогут изменять ее.
● Щелкнув кнопку Далее, перейдите к определению Порядка сортировки записей
базы данных. Задайте порядок сортировки:
1) по маркам автомобилей в алфавитном порядке;
2) по убыванию года выпуска автомобилей (рис. 14).
146
● Щелкнув кнопку Далее, задайте название страницы Автомобили и включите
флажок Применить тему к странице. Выбрав опцию Открыть страницу (рис. 15),
нажмите кнопку Готово. После этого выполнится инициализация страницы доступа к
данным.
● Перейдите в режим конструктора страницы, щелкнув по кнопке Конструктор.
Правой кнопкой мыши щелкните по синей полосе названия страницы и в контекстном
меню выберите команду Тема (рис. 16).
147
● Выберите в списке Выберите тему вариант оформления страницы, просматривая
в правой области окна образец оформления. Выбрав, например, тему Рисовая бумага,
щелкните ОК для завершения выбора темы оформления.
● Выбрав команду Рисунок меню Вставка, вставьте рисунок автомобиля в
заголовок страницы. Отредактируйте элементы управления страницы, изменив текст и
формат надписей.
● Для просмотра страницы выберите в меню Вид команду Просмотр страницы.
● Сохраните созданную страницу на своей дискете для следующего использования.
Для этого в меню Файл выберите команду Сохранить как, затем в диалоговом окне
укажите папку Диск 3,5 (А:) и имя файла, например, Автомобили.htm. Закройте окно
Access.
● Для просмотра созданной страницы доступа к данным запустите Microsoft
Internet Explorer и выберите автономный режим работы.
● Выберите в меню Microsoft Internet Explorer пункт Файл команду Открыть.
Щелкнув кнопку Обзор в окне Открыть, выберите папку Диск 3,5 (А:), файл страницы
доступа Автомобили.htm и щелкните кнопку Открыть. Проверьте запись адреса
страницы в поле Открыть и щелкните кнопку ОК, откроется указанная страница в
Интернет-браузере.
● После этого указанная страница будет загружена в окно Microsoft Internet
Explorer.
● Для просмотра записей воспользуйтесь кнопками перехода по записям в нижней
части окна. Для просмотра записей внутри группы щелкните кнопку + около названия
фирмы. После этого запись об автомобилях группы представляется развернутой, а около
названия фирмы отображается знак «-».
Как видно на рисунке, в связи с группированием записей на экране присутствуют
две строки перехода по записям: нижняя строка для перехода между группами фирмпоставщиков, верхняя – для перехода к отдельным записям автомобилей, представленных
одной фирмой. В связи с тем, что группировка записей представляет возможность
посетителям страницы доступа к данным только в режиме чтения, инструменты в строке
перехода по записям (добавить, удалить запись, сохранить, отсортировать, задать, снять
фильтр) неактивны и не могут быть использованы пользователем для внесения изменений
в данные.
● Закройте окно Microsoft Internet Explorer.
148
ПРАКТИЧЕСКАЯ РАБОТА № 30:
АВТОМАТИЗАЦИЯ ЗАДАЧ С ПОМОЩЬЮ МАКРОСОВ.
Цель работы. Научиться создавать макросы к базе данных.
Теоретические сведения.
Действия, необходимые для создания макроса: вкладка Создание > Другие >
Макрос.
На экране появится новое окно для создания нового макроса. Неофициально оно
называется конструктором макроса.
Любой макрос состоит либо из последовательности одного или нескольких шагов,
либо из действий (макрокоманд). Для создания макроса вы формируете список
макрокоманд, помещая каждую из них в отдельную строку столбца Макрокоманда (рис.
17). Первоначально этот список пуст и ваш макрос ничего не выполняет. Макрокоманды
представлены в алфавитном порядке.
В нижней части вкладки макроса в разделе «Аргументы макрокоманды»
отображаются параметры макрокоманды вашего макроса.
Параметры – это дополнительные сведения, так как большинству макрокоманд для
выполнения их работы нужна некоторая информация.
В самой макрокоманде мало смысла до тех пор, пока вы не сообщите программе
Access, какой именно запрос хотите открыть.
В нижнем правом углу окна появляется краткое, но полезное описание
макрокоманды (рис. 18).
149
Практическая часть.
I. Создание макроса, который открывает созданный ранее в лабораторной работе 4
запрос с параметром, позволяющий отобрать в базе данных Автомагазин автомобили
определенной марки.
● Выберите вкладку Макросы, щелкните кнопку Создать на панели
инструментов. В окне конструктора макроса выберите из списка в столбце
Макрокоманда команду ОткрытьЗапрос. В бланке Аргументы макрокоманды в поле
Имя запроса задайте имя запроса с параметром Запрос нужной марки авто. В поле
Режим задайте Таблица, а в поле Режим данных задайте Изменение (рис. 19).
● Закройте окно конструктора макроса, сохранив его под именем Выбор нужной
марки авто.
● Проверьте действия макроса, для чего запустите его щелчком кнопки !Запуск.
После старта макроса на экране откроется окно ввода значения параметра с приглашением
Введите марку автомобиля. Задав марку искомого автомобиля, просмотрите таблицурезультат действия вызванного макросом запроса. Если автомобили такой марки есть, то
данные о них будут отображены в таблице. Если таких автомобилей нет, таблица будет
пуста.
II. Создание макроса, который открывает Пример отчета1, созданный ранее при
выполнении лабораторных работ 3, 4, отбирает в данные об автомобилях поставщика
АвтоВАЗ и выводит отчет на экран для предварительного просмотра.
● Выберите вкладку Макросы, щелкните кнопку Создать на панели
инструментов. В окне конструктора макроса выберите из списка в столбце
Макрокоманда команду ОткрытьОтчет. В бланке Аргументы макрокоманды в поле
Имя отчета задайте имя отчета Пример отчета1. В поле Режим задайте Просмотр, а в
поле Условие отбора задайте [Поставщики]![Код фирмы]=1.
150
Из таблицы Поставщики видно, что у поставщика-АвтоВАЗ – Код фирмы=1,
поэтому в строке условие отбора мы написали условие, что поле Поставщик таблицы
Автомобили должно быть равным 1).
● Закройте окно конструктора, сохранив макрос под именем Автомобили
поставщика АвтоВАЗ. Проверьте действие макроса, для чего запустите его щелчком
кнопки !Запуск. После этого будет сформирован отчет, в который будут включены
записи, отобранные базой данных по заданному условию.
III. Определение параметров запуска СУБД Access при эксплуатации базы данных
Автомагазин.
● В меню Сервис выберите команду Параметры запуска.
● Для получения справки о конкретном элементе диалогового окна нажмите
кнопку со знаком вопроса в правом верхнем углу диалогового окна, затем нажмите
нужный элемент.
● В окне Параметры запуска определите заголовок приложения, укажите на
загрузку страницы доступа к данным, как показано на рис. 20.
● Проверьте действие установленных параметров, для чего закройте окно Access, а
затем запустите MS Access и убедитесь, что при запуске Access открывается база данных
Автомагазин и заданная страница доступа к данным Автомобили.
IV. Отправка данных по электронной почте.
Одна из скрытых возможностей макроязыка программы Access – команда
ОтправитьОбъект – универсальная команда для отправки сообщений электронной
почты.
Для отправки по электронной почте объекта БД другому пользователю объект БД
преобразуется в другой выбранный вами формат, например электронную таблицу Excel,
Web-страницу на языке HTML или даже подготовленный для вывода на печать PDF-файл.
Объект, который вы хотите послать, задается с помощью аргументов Тип объекта и Имя
объекта.
Добавьте макрокоманду ОтправитьОбъект (рис. 21). В разделе «Аргументы
макрокоманды» укажите
Тип объекта – Запрос (объект выбрать из списка)
Имя объекта – Нужная марка авто (объект выбрать из списка)
Формат вывода – Книга Excel (объект выбрать из списка)
Кому – itm@csaa.ru (набрать на клавиатуре)
Тема – Нужная марка автомобиля (набрать на клавиатуре)
Сообщение – В электронном письме вы получите список нужной марки
автомобиля (набрать на клавиатуре).
151
Сохраните и выполните запрос. Закройте окно конструктора.
V. Создание кнопочной формы для отображения связанных записей в отдельной
форме.
Можно добавить на форму кнопку, которая раскрывает другую форму со
связанными записями.
На основе таблицы Поставщики создайте с помощью Мастера простую форму в
столбец (Выберите вкладку Создание >группу Формы > стрелку кнопки Другие формы
> вариант Мастер форм). Сохраните форму.
Аналогично, на основе таблицы Автомобили создайте ленточную форму.
Закройте окно формы, сохранив результат.
Для реализации кнопки, открывающей вторую форму для отображения связанных
записей, проделаем следующие шаги:
1. Откройте родительскую форму – Поставщики в режиме конструктора.
2. На вкладке Конструктор в группе Элементы управления щелкните кнопкой
мыши пиктограмму Кнопка. Нарисуйте кнопку на вашей форме в области данных
(возможно, область данных нужно увеличить). Запустится Мастер кнопок.
3. Выберите категорию Работа с формой и действие Открыть форму и щелкните
мышью кнопку Далее. На следующем этапе мастер отобразит все формы в вашей БД.
4. Выберите подчиненную форму Автомобили, в которой есть связанные записи, и
затем щелкните мышью кнопку Далее.
5. Выберите переключатель «Открыть форму и показать все записи» и затем
щелкните мышью кнопку Далее. Выбрать нужно этот вариант, так как, к сожалению, в
этой области у мастера существенная ошибка, мешающая создать правильное условие
отбора. Поэтому определим самостоятельно условие отбора записей.
6. Введите какой-нибудь текст или выберите рисунок.
7. Оставьте имя кнопки по умолчанию и щелкните мышью кнопку Готово.
Теперь у вас есть кнопка, открывающая нужную форму, но не задана фильтрация.
Для этого необходимо изменить макрос, который использует данная кнопка.
8. Если на экране нет Окна свойств, выберите на ленте Инструменты
конструктора форм: | Конструктор > Сервис > Страница свойств.
9. Выделите кнопку, щелкнув ее мышью на рабочей поверхности формы. Ее также
можно выбрать из списка в верхней части Окна свойств.
10. В Окне свойств выберите вкладку События и щелкните кнопкой мыши поле
Нажатие кнопки. Вы увидите в нем текст [Внедренный макрос], свидетельствующий о
том, что к данному событию присоединен макрос.
152
Можно создать макрос, который запускается при щелчке кнопки мышью, открытии
формы или внесении изменения в текстовое поле. Эти побудительные причины называют
событиями.
11. Щелкните мышью кнопку с многоточием для открытия окна редактирования
макроса. Появится новая вкладка, на которой перечислены по порядку все макрокоманды,
выполняемые макросом. Нужно внести только два простых изменения.
12. В начале списка вы увидите макрокоманду ОткрытьФорму (она открывает
подчиненную форму при щелчке мышью кнопки). Щелкните её кнопкой мыши (рис.), и в
нижней части окна, в разделе Аргументы макрокоманды, появится набор сведений о
ней.
13. Щелкните кнопкой мыши поле Условие отбора (в нижней части окна, в разделе
Аргументы макрокоманды) и затем введите ваше выражение для фильтрации записей. Это
условие отбора должно выбрать связанные записи. В данном примере это означает, что
нас интересуют записи, у которых поставщик совпадает с текущим.
Далее приведено нужное вам условие отбора:
[Поставщик]=[Формы]![Поставщики]![Код фирмы]
Это выражение сообщает программе Access о том, что необходимо отображать
запись, только если значение поля Код фирмы в форме Поставщики совпадает со
значением этого поля в форме Автомобили. Другими словами, вы получите список
автомобилей текущего поставщика.
Примечание. Восклицательные знаки в выражении для фильтрации позволяют
связать две формы.
Изменение, сделанное в предыдущем пункте, почти завершает корректировку
макроса, но хорошо бы добавить еще одну макрокоманду. Щелкните кнопкой мыши поле,
расположенное под макрокомандой ОткрытьФорму, и введите Обновление.
Данная команда заставляет программу Access обновить текущую форму. Этот шаг
необходим. Закройте вкладку с макросом и щелкните мышью кнопку Да в ответ на
предложение программы Access сохранить макрос.
У вас появилась кнопка перехода, отображающая связанную форму и
ограничивающая ее лишь теми записями, которые вас интересуют.
VI. Теперь с помощью макроса организуем поиск нужной записи в форме (фильтр).
Откройте форму Поставщики в режиме конструктора. Добавьте в
153
Теперь создадим еще один макрос (Создание > Другие > Макрос) по рисунку:
Сохраните макрос с именем Поиск фамилии. Вернитесь к форме Поставщики.
Нарисуйте справа от созданного поля кнопку. В окне Мастера нажмите кнопку Отмена. В
окне свойств кнопки щелкните на вкладке События. Щелкните кнопкой мыши
направленную вниз стрелку в поле события Нажатие кнопки и затем из списка выберите
только что созданный макрос – Поиск фамилии.
Теперь выберите в окне свойств вкладку Макет и в поле Подпись введите слово
Поиск – этот пояснительный текст появится на кнопке.
Данный шаг завершает пример. Для его проверки перейдите в Режим формы,
введите в свободное поле текст Иванов и щелкните мышью кнопку Поиск. Вы перейдете
сразу к записи, в которой есть такая фамилия.
154
ПРАКТИЧЕСКАЯ РАБОТА № 31: АНАЛИЗ ТАБЛИЦ.
Цель работы. Научиться использовать анализатор таблиц для устранения
избыточности в базе данных.
Теоретические сведения.
В МА существует возможность анализа таблицы с целью ее декомпозиции для
устранения избыточности в данных. Мастер анализа разбивает таблицу, содержащую
много повторяющихся записей, на несколько связанных таблиц для более эффективной
работы с базой данных.
Практическая часть.
Для начала работы с мастером создайте таблицу Закупки, которую следует
разбить.
После заполнения таблицы в меню Сервис выберите команду Анализ и
подкоманду Таблица. Следуйте инструкциям мастера анализа таблиц.
1. Первые два шага мастера содержат ознакомительную информацию.
2. На третьем шаге мастера укажите таблицу для разбиения.
3. На следующем шаге установите переключатель «Да, разделение полей
выполняется мастером». Далее.
4. На этом этапе мастер предложит схему разбиения полей таблицы. Если одна из
таблиц содержит только одно поле исходной таблицы, то следует перетащить мышью это
поле в Таблицу 1.
Новым таблицам необходимо дать имена, исходя из их содержания. Для этого
нужно указать таблицу и нажать кнопку. Таблицу 1 переименуем в Поступления, а
таблицу 2 – Товары.
155
5. Укажите первичные ключевые поля новых таблиц, если мастер их не определил.
6. Установите переключатель «Нет. Запрос создавать не нужно». Нажмите кнопку
Готово.
В результате будут созданы новые таблицы базы данных и между ними будут
установлены связи. Это можно проверить, выполнив команду Сервис/Схема данных.
Работа с базой данных.
1. Удалить исходную таблицу Закупки.
2. Таблицу «Товары» открыть в режиме конструктора и добавить поле «Цена» с
денежным типом данных. Заполнить это поле самостоятельно.
3. Таблицу «Поступления» открыть в режиме конструктора. Переименовать поле
«Код» в «Номер п/п» и добавить поля «Номер счета» и «Дата оплаты».
156
«Номер счета» – текстовый. «Дата оплаты» – дата\время. Выполнить сортировку
таблицы по названиям магазинов. Заполнить таблицу.
4. Выполнить анализ этой таблицы. Разбить ее на две новые: «Счета магазинов» и
«Поступления товара».
5. Удалить таблицу «Поступления». Проверить схему данных.
157
6. Разработать формы данных для таблиц БД: для таблицы «Товары» форма
должна быть одиночная (в столбец), для второй («Поступления товара») – ленточная. В
форму «Товары» вставить кнопку для вызова связанных записей из второй формы.
7. Сформировать запрос на выборку данных о поступлениях заданного магазина
(запрос с параметром).
8. Найти сумму каждого счета.
9. Сконструировать следующий отчет.
158
ПРАКТИЧЕСКАЯ РАБОТА № 32:
ВЫЧИСЛЕНИЯ В ЗАПРОСАХ И ОТЧЕТАХ.
Цель работы. Научиться выполнять расчеты в базах данных и создавать сложные
отчеты.
Практическая часть.
Рассмотрим отношение, моделирующее учет отработанных часов сотрудниками
отделов АХЧ и УМО – таблица Сотрудники.
Полная имеющаяся информация сведена в таблицу – Отработано.
Задание. Создать базу данных Учет из этих двух таблиц.
Технология создания вычисляемого запроса.
Определим стаж каждого сотрудника. Для этого создадим запрос к таблице
Сотрудники (см. рисунок).
159
Для поля Отдел укажем сортировку. Выполним запрос и сохраним результат с
именем Стаж.
Теперь, на основе запроса создадим отчет. В качестве источника данных укажем
запрос Стаж. На вкладке «Создание» в группе «Отчеты» нажмем кнопку «Отчет».
Произойдет автоматическое формирование отчета с заголовком Стаж в виде
таблицы.
Удерживая клавишу «Shift», выделите все данные в макете отчета.
160
Перейдите на вкладку «Упорядочить» и в группе «Макет» нажмите кнопку «В
столбик».
Должно получиться как на рисунке:
Модифицируем отчет, перейдем в режим конструктора. Нажмем кнопку
«группировка» . В нижней части отчета появится кнопка «Добавить группировку».
161
В области «выбрать поле» выберем Отдел. Появятся свойства группы, в которых
укажем «Больше», «с разделом примечания».
Перенесем поле Отдел из Области данных в Область заголовка группы.
Отформатируем это поле: увеличим шрифт надписи и данных, в свойствах поля, на
вкладке Макет укажем значение свойства «тип границы» – отсутствует.
В Примечании группы создадим итоги со средним стажем (см. рисунок).
162
В надписи наберем текст «Средний стаж в отделе, года».
Увеличим шрифт надписи и поля. Перейдем к предварительному просмотру.
Для второго отчета создадим запрос по начислению выплат.
Сохраним запрос с именем Начислено.
На основе этого запроса создадим отчет с помощью Мастера отчетов. Для этого в
окне базы откроем объект Отчеты и нажмем кнопку «Создание отчета с помощью
мастера». Укажем запрос «начислено» и выберем все поля запроса.
163
На втором шаге добавим уровень группировки по отделам.
На третьем шаге укажем сортировку по фамилиям и нажмем кнопку «Итоги». В
открывшемся окне «Итоги» поставим флажки у функций Sum и Avg.
На четвертом шаге выберем макет «Структура».
На пятом – оформление.
Результат:
164
Добавим нумерацию фамилий по порядку. В режиме конструктора вставить новое
поле в область данных кнопкой поле. Надпись (на рисунке это объект «Поле18:»)
вырезать из области данных и вставить в область заголовка.
В поле вместо текста «свободный» набрать текст =1. В свойствах этого поля
указать у свойства «сумма с накоплением» значение «для группы».
165
В надписи указать текст «№ п/п», выровнять содержимое по центру. В результате
должно получиться, как на рисунке:
166
ПРАКТИЧЕСКАЯ РАБОТА № 33:
ПОСТРОЕНИЕ ФОРМ СО СРЕДСТВАМИ
АВТОМАТИЧЕСКОГО ПЕРЕХОДА.
Цель работы. Научиться создавать сложные формы в базах данных.
Для получения дополнительных средств управления и создания дружественной
внешней оболочки многие специалисты Access встраивают средства переходов в свои
формы (и иногда в отчеты). В конце концов, форма предоставляет практически
неограниченные возможности настройки несколькими простыми кнопками.
Практическая часть.
Вначале откройте таблицу Сотрудники в режиме конструктора и установите
размеры текстовых полей.
На основе таблицы создайте с помощью Мастера простую форму в столбец.
Сохраните форму.
На основе таблицы Отработано создайте ленточную форму.
Закройте окно формы, сохранив результат.
167
Для реализации кнопки, открывающей вторую форму для отображения связанных
записей, проделаем следующие шаги:
1. Откройте родительскую форму – Сотрудники в режиме конструктора.
2. На вкладке Конструктор в группе Элементы управления щелкните кнопкой
мыши пиктограмму Кнопка. Нарисуйте кнопку на вашей форме в области данных
(возможно, область данных нужно увеличить). Запустится Мастер кнопок.
3. Выберите категорию Работа с формой и действие Открыть форму и щелкните
мышью кнопку Далее. На следующем этапе мастер отобразит все формы в вашей БД.
4. Выберите подчиненную форму Отработано, в которой есть связанные записи, и
затем щелкните мышью кнопку Далее.
5. Выберите переключатель «Открыть форму и показать все записи» и затем
щелкните мышью кнопку Далее. Выбрать нужно этот вариант, так как, к сожалению, в
этой области у мастера существенная ошибка, мешающая создать правильное условие
отбора. Поэтому определим самостоятельно условие отбора записей.
6. Введите какой-нибудь текст или выберите рисунок.
7. Оставьте имя кнопки по умолчанию и щелкните мышью кнопку Готово.
Теперь у вас есть кнопка, открывающая нужную форму, но не задана фильтрация.
Для этого необходимо изменить макрос, который использует данная кнопка.
Примечание. Макрос – это список действий, которые должна выполнить программа
Access.
8. Если на экране нет Окна свойств, выберите на ленте
Инструменты конструктора форм: | Конструктор > Сервис > Страница
свойств.
9. Выделите кнопку, щелкнув ее мышью на рабочей поверхности формы. Ее также
можно выбрать из списка в верхней части Окна свойств.
10. В Окне свойств выберите вкладку События и щелкните кнопкой мыши поле
Нажатие кнопки. Вы увидите в нем текст [Внедренный макрос], свидетельствующий о
том, что к данному событию присоединен макрос.
11. Щелкните мышью кнопку с многоточием для открытия окна редактирования
макроса. Появится новая вкладка, на которой перечислены по порядку все макрокоманды,
выполняемые макросом. Нужно внести только два простых изменения.
12. В начале списка вы увидите макрокоманду Открыть Форму. (Она открывает
подчиненную форму при щелчке мышью кнопки.) Щелкните её кнопкой мыши, и в
нижней части окна, в разделе Аргументы макрокоманды, появится набор сведений о
ней.
13. Щелкните кнопкой мыши поле Условие отбора (в нижней части окна, в разделе
Аргументы макрокоманды) и затем введите ваше выражение для фильтрации записей. Это
условие отбора должно выбрать связанные записи. В данном примере это означает, что
вас интересуют записи, у которых табельный номер совпадает с текущим.
Далее приведено нужное вам условие отбора:
168
[Табельный №]=[Формы]![Сотрудники]![Табельный №]
Это выражение сообщает программе Access о том, что необходимо отображать
запись, только если значение поля Табельный номер в форме Сотрудники совпадает со
значением этого поля в форме Отработано. Другими словами, вы получите список
отработанных часов текущим сотрудником.
Примечание. Восклицательные знаки в выражении для фильтрации позволяют
связать две формы.
Изменение, сделанное в предыдущем пункте, почти завершает корректировку
макроса, но хорошо бы добавить еще одну макрокоманду. Щелкните кнопкой мыши поле,
расположенное под макрокомандой ОткрытьФорму, и введите Обновление.
Данная команда заставляет программу Access обновить текущую форму. Этот шаг
необходим. Закройте вкладку с макросом и щелкните мышью кнопку Да в ответ на
предложение программы Access сохранить макрос.
У вас появилась кнопка перехода, которая отображает связанную форму и
ограничивает ее лишь теми записями, которые вас интересуют.
Создание главной кнопочной формы.
Программа Access предлагает несколько вариантов, включая встроенную
поддержку объекта, именуемого кнопочной формой.
Кнопочная форма – это форма, единственная цель которой перенаправить вас к
другим формам (обычно при щелчке мышью кнопки формы). Она – своего рода главное
меню вашей БД. Такая форма – одновременно и отправная точка, и центр действий.
Типичная кнопочная форма содержит набор кнопок, направляющих к разным объектам.
Для автоматического создания кнопочной формы следует применять Мастер форм:
Выберите на ленте Работа с базами данных > Работа с базами данных >
Диспетчер кнопочных форм.
Появится сообщение, на которое нужно ответить «Да».
Диспетчер кнопочных форм выводит на экран список страниц. Каждая страница –
отдельная часть меню кнопочной формы. У самых простых кнопочных форм только одна
страница, что означает поддержку формой одного уровня глубины и выполнение каждой
кнопкой полезного действия (например, открытие формы или отчета).
Щелкните мышью кнопку Изменить для редактирования страницы кнопочной
формы. На экране появляется окно Изменение страницы кнопочной формы . Именно здесь
определяются реальные команды меню.
169
Для создания новой команды меню щелкните мышью кнопку Создать. На экран
выводится окно Изменение элемента кнопочной формы. Для создания команды меню
необходимо предоставить две порции информации: текст, появляющийся на форме, и
команду, которую должна выполнить программа Access, когда вы щелкните мышью
кнопку.
Из раскрывающегося списка Команда выберите действие, которое должна
выполнять команда, например Учет часов сотрудников.
Выберите действие, которое должна выполнять кнопка: открыть форму для
изменения (открывает форму в обычном режиме для просмотра и редактирования
записей). Этот режим не разрешает редактировать форму, вопреки вводящему в
заблуждение названию.
Укажите форму Сотрудники.
Аналогично добавьте команды для отображения отчетов и кнопку выхода из
приложения согласно рисунку. Нажмите кнопку Закрыть.
Контрольные вопросы
1. Какие данные называются структурированными?
2. Дайте определение и опишите назначение базы данных.
3. Какие модели данных вы знаете?
170
4. Назовите и поясните взаимосвязь структурных элементов реляционной базы
данных.
5. Дайте определения понятиям «ключевое поле», «первичный ключ», «внешний
ключ», «составной ключ».
6. Какие типы данных могут храниться в СУБД Access?
7. Какие типы объектов включает в себя СУБД Access?
8. Поясните различия между таблицей, формой и отчетом.
9. В чем отличие режимов создания таблицы в СУБД Access?
10. Каким образом можно сформировать запрос в СУБД Access?
11. Какие аналоги перекрестного и итогового запросов в СУБД Access есть в Excel?
12. Какие основные элементы форм и отчетов вы знаете?
13. Что такое макрос? Какие задачи можно решать с помощью макросов?
14. Перечислите этапы процесса обработки информации с помощью СУБД.
171
Список литературы
Основные источники:
1. Витт А.М., Торбеева Е.А. Практикум по Microsoft Access 2007: Методические
рекомендации. –Челябинск: ФГБОУ ВПО «Челябинская государственная
агроинженерная академия», 2012.
2. Гагарина Л.Г., Киселев Д.В., Федотова Е.Л. Разработка и эксплуатация
автоматизированных информационных систем: учебное пособие. –М. ИД
«ФОРУМ»: ИНФРА-М, 2012.
3. Голышева А.В., Клеандрова И.А., Прокди Р.Г. Access 2007 без воды. Все, что
нужно для уверенной работы. –М.: Наука и техника, 2013.
4. Горбовцов Г.Я. Управление проектом: Учебно-практическое пособие. –М.: Изд.
центр ЕАОИ, 2009.
5. Горохова Т.Н. Разработка и эксплуатация информационных систем: Учебное
пособие. –СПб.: ГОУ СПО Санкт-Петербургский колледж управления и
экономики «Александровский лицей», 2010.
6. Дунаев В. Базы данных. Язык SQL для студента. –СПб: БХВ-Петербург, 2012.
7. Избачков Ю.С., Петров В.Н. Информационные системы. –СПб.: Питер, 2011.
8. Илюшечкин В.М. Основы использования и проектирования баз данных. –М.:
Юрайт, 2011.
9. Карпова И.П. Базы данных. –СПб: Питер, 2013.
10. Ньютон Р. Управление проектами от А до Я. –М.: Альпина Бизнес Брукс, 2009.
11. Портни С.Э. Управление проектами для «чайников». –М.: Диалектика, 2008.
12. Советов Б.Я., Цехановский В.В., Чертовской В.Д. Базы данных. Теория и
практика. –М.: Юрайт, 2013.
13. Фуфаев Э.В. Базы данных: учебное пособие для студентов среднего
профессионального образования. –М.: Издательский центр «Академия», 2012.
14. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. –СПб.: КОРОНА
принт, 2011.
Дополнительные источники:
1. Брешенков А.В., Губарь А.М. Проектирование баз данных в среде Access:
Учебное пособие для вузов. –М.: Изд-во МГТУ им. Н.Э. Баумана, 2012.
172
2. Вендров
А.М.
CASE-технологии.
Современные
методы
и
средства
проектирования информационных систем. –М.: Финансы и статистика, 2011.
3. Виноградов Г.П., Кирсанова Н.В. Проектирование структуры и создание
реляционных баз данных средствами СУБД Access: Учебное пособие. 1-е изд. –
Тверь: ТГТУ, 2012.
4. Епанешников А.М., Епанешников В.А. Практика создания приложений в
Access. –М.: Диалог-МИФИ, 2009.
5. Информатика и информационные технологии: учебное пособие / под ред. Ю.Д.
Романовой. –М.: Эксмо, 2009.
6. Кириллов В., Громов Г. Введение в реляционные базы данных. –СПб: БХВПетербург, 2009.
7. Леонтьев Ю. Microsoft Office 2007. Краткий курс. –СПб.: Питер, 2012.
8. Международный
стандарт
ISO/IEC
12207
«Жизненный
цикл
автоматизированных информационных систем».
9. Михеева
И.В.
профессиональной
Практикум
по
деятельности:
информационным
Учебное
пособие
технологиям
для
в
среднего
профессионального образования. –М.: Издательский центр «Академия», 2009.
10. Попов В.Б. Основы информационных и телекоммуникационных технологий. –
М.: Финансы и статистика, 2011.
11. Фуфаев Э.В., Фуфаева Л.И. Пакеты прикладных программ: Учебное пособие
для среднего профессионального образования. –М.: Академия, 2009.
12. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. –СПб.: КОРОНА
принт, 2011.
Интернет-ресурсы:
1. http://www.interface.ru/ - Разработчикам информационных систем.
2. http://citforum.ru/ - Разработчикам информационных систем.
3. http://www.torins.ru/ - Сайт ассоциации разработчиков информационных систем.
173
Download