Московский государственный университет печати




         

Технология разработки автоматизированных информационных систем

Лабораторные работы



Технология разработки автоматизированных информационных систем
Начало
Печатный оригинал
Об электронном издании
Оглавление
1.

Введение в Microsoft Access

1.1.

Элементы базы данных Access

1.2.

Понятие баз данных и таблиц в Access

1.3.

Файл рабочей группы

1.4.

Основные функции Access

1.5.

Режимы работы Access

2.

Лабораторная работа 1 «Работа с базами данных и таблицами»

2.1.

Просмотр, выделение и изменение данных в таблице

2.2.

Работа в режиме конструктора таблиц

2.2.1.

Создание новой базы данных

2.2.2.

Свойства таблиц и полей

2.2.3.

Создание таблицы

2.3.

Работа со связями, ключевыми полями и индексами

2.4.

Обеспечение ссылочной целостности

2.5.

Изменение свойств полей и связей между таблицами

2.6.

Добавление, изменение данных в таблицах

2.7.

Выражения

2.8.

Определение условий на значение

2.9.

Проверка корректности данных в таблице

3.

Лабораторная работа 2 «Сортировка, поиск, фильтрация, запросы»

3.1.

Сортировка данных в таблице

3.2.

Поиск записей по значению поля

3.3.

Замена вхождений образца в поле

3.4.

Отбор данных при помощи фильтров

3.4.1.

Фильтр по выделенному фрагменту

3.4.2.

Обычный фильтр

3.4.3.

Расширенный фильтр и расширенная сортировка

3.5.

Создание простейшего запроса

3.6.

Создание запросов других типов

3.7.

Использование простых запросов на создание таблиц

3.8.

Добавление параметра к запросу

3.9.

Соединение таблиц для создания многотабличного запроса

3.9.1.

Создание внутреннего соединения по одному полю

3.9.2.

Создание внутреннего соединения по нескольким полям

3.9.3.

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

3.9.4.

Создание внешнего соединения

3.9.5.

Создание рекурсивного соединения

3.9.6.

Создание соединения по отношению

3.10.

Вычисления на подмножестве записей

3.11.

Создание перекрестных запросов

3.12.

Справочная информация по синтаксису некоторых команд SQL

4.

Лабораторная работа 3 «Создание форм»

4.1.

Типы форм Access

4.2.

Управление транзакциями при помощи Мастера форм

4.3.

Использование конструктора форм

4.3.1.

Изменение цвета фона формы

4.3.2.

Изменение фонового рисунка

4.3.3.

Изменение цвета текста, цвета и стиля рамки элементов формы

4.3.4.

Выделение, изменение и перемещение элементов управления

4.3.5.

Изменение расположения различных элементов формы

4.4.

Изменение свойств формы

4.5.

Изменение последовательности перехода по клавише <Tab>

4.6.

Изменение источника данных формы и сортировка данных

4.7.

Создание сложных многотабличных форм

4.8.

Типы элементов управления

4.9.

Создание пустой формы с заголовком и примечанием

4.10.

Создание текстовых полей

4.11.

Добавление поля ввода, связанного с полем таблицы

4.12.

Добавление поля ввода с линейкой прокрутки

4.13.

Создание вычисляемого поля

4.14.

Изменение макета формы

4.15.

Создание группы элементов управления

4.16.

Использование списков и полей со списками

5.

Лабораторная работа 4 «Создание отчетов»

5.1.

Типы отчетов Access

5.2.

Создание итогового отчета при помощи Мастера отчетов

5.3.

Изменение отчета, построенного при помощи Мастера отчетов

5.4.

Установка свойств для печати отчетов

5.5.

Группировка данных

5.6.

Создание отчета с нуля

5.6.1.

Добавление и удаление разделов отчета

5.6.2.

Использование разрыва страницы и печать колонтитулов

5.7.

Создание подчиненного отчета, связанного с главным

5.7.1.

Использование независимых подчиненных отчетов

5.8.

Добавление в отчет дополнительных элементов управления

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

По умолчанию все таблицы открываются в режиме просмотра. Если режим просмотра был изменен, то чтобы снова перейти в режим таблицы, раскройте список рядом с кнопкой "Представление таблицы" и выделите "Режим таблицы" (Datasheet View).

Маркер записи, напоминающий карандаш, говорит о том, что в запись вносятся изменения. Чтобы добавить новую запись в таблицу, используйте запись, помеченную звездочкой. Если таблица содержит объекты OLE, то слова "Точечный рисунок BMP" говорят о том, что поле содержит рисунок. Изменять текст, содержащийся в полях объектов OLE, нельзя! Чтобы просмотреть рисунок, содержащийся в поле объекта OLE, дважды щелкните по ячейке данных, которая содержит строку "Точечный рисунок BMP". Запустится графический редактор Paint и рисунок, хранящийся в поле объекта OLE, будет открыт в нем. Чтобы возвратиться в Access, закройте окно Paint.

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

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

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

Нажмите кнопку "Создать базу данных" (New) на панели инструментов или выберите команду "Файл, Создать" (File, New Database). Чтобы кнопка "Создать базу данных" и команда "Файл, Создать" были доступны, необходимо, чтобы окно базы данных было активно или чтобы главное окно Access было пусто.

Чтобы создать пустую базу данных, раскройте вкладку "Общие" (General) диалогового окна "Создание", выделите элемент "Новая база данных" и нажмите кнопку ОК. Появится диалоговое окно "Файл новой базы данных".

Свойства таблицы Access определяют параметры таблицы в целом. Откройте таблицу в режиме конструктора и нажмите кнопку "Свойства" (Properties) на панели инструментов. Каждая таблица имеет 5 свойств:

  • Описание (Description). Определяет текст, содержащий описание таблицы в окне базы данных.
  • Условие на значение (Validation Rule). Определяет требования к данным, вводящимся в поля записи. Используется для обеспечения целостности и непротиворечивости данных. Это свойство, в отличие от аналогичного свойства поля, применяется к нескольким (всем) полям таблицы.
  • Сообщение об ошибке (Validation Text). Позволяет указать текст сообщения, выводящегося на экран, если введенные данные нарушают условие, определенное в свойстве "Условие на значение".
  • Фильтр (Filter). Определяет подмножество записей, выводящихся после применения фильтра к таблице.
  • Порядок сортировки (Order By). Определяет порядок сортировки записей в таблице.

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

  • Имя поля (Field Name). Каждое поле таблицы должно иметь уникальное имя. Хорошим тоном считается отказ от включения в имя поля пробелов и замена пробелов на знаки подчеркивания "_".
  • Тип данных (Data Type): "Текстовый", "Поле MEMO", "Числовой", "Дата/Время", "Денежный", "Счетчик", "Логический", "Поле объекта OLE".
  • Описание (Description). Этот текст выводится в строке состояния при добавлении или изменении данных в поле.
  • Ключевое поле (Primary Key). Чтобы сделать поле ключевым, выделите его и нажмите кнопку "Ключевое поле" на панели инструментов.

Вкладка "Общие" (General) содержит основные свойства поля. Во вкладке "Подстановка" (Lookup) можно задать поведение поля в форме. В следующем списке приведены свойства полей таблицы, устанавливаемые во вкладке "Общие":

  • Размер поля (Field Size). Определяет размер данных для полей с типом "Текстовый" (целое число в диапазоне от 0 до 255, по умолчанию задается размер 50) или "Числовой" (нужно выбрать размер поля в раскрывающемся списке). Свойство "Размер поля" не задается для полей с типами данных "Дата/Время", "Логический", "Денежный", "MEMO" и полей объектов OLE.
  • Формат поля (Format). Позволяет указать форматы вывода текста, чисел и дат на экран и на печать. Можно оставить формат, выбранный автоматически, выбрать формат в раскрывающемся списке или ввести пользовательский формат. Свойство "Формат поля" не задается для полей объектов OLE.
  • Число десятичных знаков (Decimal Places). Определяет число десятичных знаков, используемое при отображении чисел.
  • Маска ввода (Input Mask). Задает маску ввода, облегчающую ввод данных в поле. Например, удобно создать следующую маску ввода для поля "Телефон", позволяющую вводить только цифры и автоматически добавляющую промежуточные символы: "(___) ___-____". Чтобы запустить Мастера по созданию масок ввода, выделите поле с типом данных "Текстовый" или "Дата/Время" и нажмите кнопку построителя ("…") в правой части вкладки "Общие".
  • Подпись (Caption). Указывает текст, который выводится для таблицы или запроса в заголовке столбца в режиме таблицы. Можно использовать любые знаки пунктуации.
  • Значение по умолчанию (Default Value). Позволяет указать значение, автоматически появляющееся в поле при создании новой записи. Например, в поле с типом данных "Дата/Время" можно вводить по умолчанию текущую дату. Не задается для полей с типом данных "Счетчик" и полей объектов OLE.
  • Условие на значение (Validation Rule). Определяет требования к вводимым данным. Значение этого свойства представляет собой выражение. Не задается для полей "Счетчик", "MEMO" и полей объектов OLE.
  • Сообщение об ошибке (Validation Text). Позволяет указать текст сообщения, выводящегося на экран, если введенные данные нарушают условие, определенное в свойстве "Условие на значение".
  • Обязательное поле (Required). Указывает, требует ли поле обязательного ввода значения. Пустые (Null) значения в этом поле не допускаются. Для ключевого поля должно иметь значение "Да".
  • Пустые строки (Allow Zero Length). Определяет, допускается ли ввод в данное поле пустых строк. Используется для полей с типом данных "Текстовый" и "MEMO".
  • Индексированное поле (Indexed). Определяет индекс, создаваемый по одному полю.
  • Новые значения (New Values). Задается только для полей с типом данных "Счетчик" и определяет способ изменения значений поля счетчика при добавлении новых записей. Обычно используют значение: "Последовательные" - значение поля счетчика увеличивается на 1 в каждой новой записи.

Раскройте вкладку "Таблицы" и нажмите кнопку "Создать". В окне "Новая таблица" выберите элемент "Конструктор", нажмите кнопку ОК. Определите вышеперечисленные свойства для всех полей создаваемой таблицы. Нажмите кнопку "Режим таблицы", чтобы переключиться в режим таблицы и увидеть результат выполненной работы. Появится диалоговое окно "Сохранение" (Save As). Введите имя таблицы и нажмите кнопку ОК или <Enter>. Чтобы увидеть все поля таблицы сразу, измените ширину полей, перетаскивая разделительную черту, которая находится справа от имени поля. Если определены не все свойства полей, не добавляйте новые записи в таблицу!

Чтобы увеличить производительность работы при вводе данных в таблицу, необходимо задать значения по умолчанию для полей таблицы. Например, значение по умолчанию "=Date()+28" является выражением. Оно возвращает текущую дату и прибавляет к ней 4 недели. После того, как значения по умолчанию присвоены, возвратитесь в режим таблицы, нажав кнопку "Режим таблицы" на панели инструментов.

Перед началом заполнения таблицы нужно определить связи этой таблицы с другими таблицами базы данных, определить ключевое поле и создать индексы. Первичный ключ - это одно или несколько полей таблицы, однозначно определяющее запись. Определение ключа таблицы помогает предотвратить появление в таблице одинаковых записей. Откройте таблицу в режиме конструктора. Нажмите клавишу <Ctrl> и, удерживая ее нажатой, выделите необходимые поля. Нажмите кнопку "Ключевое поле" (Primary Key) на панели инструментов. Слева от каждого из выделенных полей появится маркер ключевого поля. Чтобы определить последовательность, в которой выделенные поля входят в ключ, нажмите кнопку "Индексы" (Indexes) на панели инструментов.

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

Индексирование таблицы. Хотя Access автоматически индексирует таблицу по значению ключа, может потребоваться создать дополнительные индексы по значениям других полей. Индексы - это внутренние таблицы, ускоряющие построение таблицы, содержащей результаты запросов, и сортирующие таблицу по значению ключевого поля. Каждая таблица Access может иметь до 32 индексов, 5 из которых могут быть составными (в составной индекс может входить не более 10 полей). Но не стоит создавать индексы для каждого поля таблицы и всех их комбинаций, поскольку это может существенно замедлить процесс заполнения таблицы (при изменении или добавлении записи автоматически обновляются все индексы!).

Чтобы проиндексировать таблицу по значению некоторого поля, выделите поле, нажав на кнопку выделения поля в левой части бланка структуры таблицы. Сделайте активным свойство "Индексированное поле" (Indexed), в списке нужно выбрать значение "Да (Допускаются совпадения)". В окне "Индексы" выводятся все индексы таблицы. Чтобы создать составной индекс, введите его название в столбце "Индекс" (index Name) и выберите необходимые поля в раскрывающихся списках столбца "Имя поля" (Field Name). Перейдите в режим таблицы. Подтвердите сохранение структуры таблицы.

Связи между таблицами базы данных можно определить и просмотреть в окне "Схема данных" (Relationships).

- Выберите команду "Сервис, Схема данных" (Tools, Relationships) или нажмите кнопку "Схема данных" (Relationships) на панели инструментов.

- Выберите команду "Связи, Добавить таблицу" (Relationships, Show Table) или нажмите кнопку "Добавить таблицу" (Show Table) на панели инструментов. В списке таблиц выделите необходимые таблицы и нажмите кнопку "Добавить" (Add). Нажмите кнопку "Закрыть" (Close).

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

- Нажмите кнопку "Объединение" (Join Type). Появится диалоговое окно "Параметры объединения" (Join Properties). Выберите нужный тип объединения.

- В диалоговом окне "Связи" для обеспечения ссылочной целостности установите флажок "Обеспечение целостности данных" (Enforce Referential Integrity).

- Нажмите кнопку "Создать" (Create), чтобы подтвердить создание связи и перейти в окно "Схема данных".

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

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

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

Изменение связей между таблицами, содержащими данные, является очень решительным шагом, поэтому старайтесь правильно определить типы связей до того, как в таблицу будут добавлены данные! Старайтесь избегать изменения имен полей таблицы после того, как созданы формы и отчеты, использующие эту таблицу.

Изменение связи может быть вызвано изменением типа данных полей, по которым строится связь. В этом случае нужно удалить связь, изменить типы данных и переустановить связь. Для этого закройте все окна таблиц. Щелкните левой кнопкой мыши по связи, которую нужно изменить. Нажмите клавишу <Delete>. Если предполагается изменить тип поля, входящего в ключ таблицы, то удалите остальные связи с этой таблицей. Измените типы данных полей таблиц. Переустановите связи.

Простота добавления и изменения информации является одним из основных критериев эффективности СУБД. Для проверки структуры базы требуется ввести в нее тестовые данные. В этом случае для добавления данных лучше использовать режим таблицы. Другой важной функцией, которую должна обеспечивать СУБД, является поддержка целостности данных ("Условие на значение" (Validation Rule) полей или таблиц).

Выражения используются для вычисления различных величин и содержат, по крайней мере, один оператор (например, арифметические операторы, операторы сравнения и т.д.). Чаще всего используются арифметические операторы +, -, * (оператор умножения), / (оператор деления). Величины, к которым применяется оператор, называются операндами.

Существуют операторы сравнения (например, > (знак больше), = (знак равенства) и т.д.). Логические операторы (And, Or, is, Not, Between и Like) возвращают в качестве результата одно из значений "Истина" (True), "Ложь" (False) или пустое значение (Null), если результат вычислить невозможно. Оператор <?xml version="1.0"?>
используется для слияния (конкатенации) двух строк в одну. Можно создавать сложные выражения из простых, комбинируя их.

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

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

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

Поместите курсор в поле ввода "Условие на значение" и нажмите кнопку "..." (для вызова Построителя выражений) справа от поля ввода. Появится диалоговое окно Построителя выражений. В левом списке этого диалогового окна выделена таблица, а в центральном списке выводится список полей таблицы. Пример выражения, определяющего условие на значение: [ДатаФакт]>=[ДатаПлан] ОR [ДатаФакт] IS Null. В поле ввода "Сообщение об ошибке" введите текст сообщения об ошибке, который будет выводиться при нарушении условия на значение.

Тестирование приложений баз данных часто занимает гораздо больше времени, чем их разработка. Необходимо разработать тестовые примеры, которые помогут проверить правильность работы условий на значение и режима ссылочной целостности. В процессе заполнения таблицы можно проверить правильность определения значений свойств "Значение по умолчанию" и "Формат поля". Можно попробовать ввести в таблицу некорректные данные, чтобы проверить условия на значение полей и записей. Для заполнения откройте таблицу в режиме таблицы.

Условие на значение. Введите в поле неверное значение и нажмите клавишу <стрелка вверх>. При попытке сохранения изменений в новой записи Access автоматически проверяет условие на значение, появляется сообщение об ошибке. Уникальность значений ключа таблицы. В добавленной записи введите значения полей, совпадающие с предыдущей записью, а затем нажмите клавишу <стрелка вверх>. Появится сообщение об ошибке.

© Центр дистанционного образования МГУП