- •Базы данных
- •Введение
- •Часть 1. Проектирование баз данных
- •1.1. Некоторые понятия и определения
- •1. 2. Модели данных
- •1.2.1. Иерархическая модель данных
- •1.2.2. Сетевая модель данных
- •1.2.3. Реляционная модель данных Основные определения
- •Типы связей между отношениями
- •1.3. Классификация баз данных
- •1.4. Цели проектирования баз данных
- •1.5. Проектирование баз данных с использованием универсального отношения
- •1.5.1. Универсальное отношение
- •1.5.2. Проблемы, вызываемые использованием универсального отношения
- •Проблема вставки
- •Проблемы обновления
- •Проблемы удаления
- •1.5.3. Нормальная форма Бойса -Кодда
- •Функциональные зависимости
- •Возможный ключ и детерминант
- •Общий подход к декомпозиции
- •Анализ исходных аномалий
- •1.5.4. Возможные потери фз при декомпозиции
- •1.5.5. Избыточные функциональные зависимости
- •Приемы удаления избыточных фз
- •Минимальное покрытие
- •Модернизированный алгоритм проектирования бд
- •1.6. Метод er - проектирования
- •1.6.1. Сущности и связи
- •1.6.2. Степень связи
- •1.6.3. Переход от диаграмм er – типа к отношениям
- •Предварительные отношения для бинарных связей степени 1:1
- •Предварительные отношения для бинарных связей степени 1:n.
- •Предварительные отношения для бинарных связей степени n:m
- •1.6.4. Дополнительные конструкции, используемые в er - методе
- •Необходимость связей более высокого порядка
- •Предварительные отношения для трехсторонних связей
- •Использование ролей
- •1.6.5. Последовательность проектирования бд при использовании er- метода
- •1.6.6. Проверка отношений на завершающейся фазе проектирования
- •1.7. Другие нормальные формы
- •1.8. Контрольные вопросы
- •Часть 2. Специальные аспекты работы с базами данных
- •2.1. Защита данных в базе
- •2.2.1. Общие вопросы защиты данных
- •2.2.2. Реализация защиты данных в различных системах
- •Управление доступом в sql
- •Реализация системы защиты в ms sql Server
- •2.2. Обеспечение целостности данных
- •2.3. Организация параллельных процессов обработки данных
- •2.4. Восстановление бд
- •2.4.1. Уровни восстановления.
- •2.4.2. Восстановление и логический элемент работы
- •Требования к лэр
- •2.4.3. Промежуточное восстановление
- •2.4.4. Длительное восстановление
- •2.5. Математический аппарат, используемый при работе с реляционной базой данных
- •2.5.1. Теоретико-множественные операции реляционной алгебры
- •2.5.2. Специальные операции реляционной алгебры
- •2.6. Контрольные вопросы
- •Часть 3. Разработка приложений для работы с базами данных
- •3.1. Краткий обзор субд
- •3.2. Субд Access
- •3.2.1. Вводные замечания
- •3.2.2. Создание базы данных
- •3.2.3. Создание и работа с таблицами
- •3.2.4. Работа с запросами
- •3.2.5. Создание форм
- •3.2.6. Отчеты в Access
- •3.2.7. Макросы в Access
- •Преобразование макросов в программы на Visual Basic
- •3.2.8. Работа с внешними данными
- •3.3. Программирование в Access
- •3.3.1. Вводные замечания
- •3.3.2. Объявление переменных
- •3.3.3. Константы
- •3.3.4. Тип данных Variant
- •3.3.5. Пользовательские типы данных
- •3.3.5.Операторы, команды и выражения в vba
- •3.3.7. Процедуры vba
- •3.3.8. Управляющие структуры в vba
- •Работа с управляющими структурами
- •3.3.9. Объекты в Access
- •3.3.10. Классы в Access
- •3.3.11. Работа с ошибками в vba
- •3.4.Работа в ms sql –Server
- •3.4.1. Основные количественные показатели системы sql-сервер
- •3.4.2. Создание баз данных
- •3.4.3. Создание таблицы
- •3.4.4. Извлечение данных
- •3.4.5. Добавление данных
- •3.4.6. Изменение данных
- •3.4.7. Удаление данных
- •3.5. Контрольные вопросы
- •Цитированная литература
- •Оглавление
- •Часть 1. Проектирование баз данных 3
- •Часть 2. Специальные аспекты работы с базами данных 71
- •Часть 3. Разработка приложений для работы с базами данных 114
3.2.5. Создание форм
Формы используются для достижения комфорта в работе с Access и при обработке базы данных несколькими пользователями. Форма может служить средством защиты базы от действий неквалифицированных пользователей, а также ширмой, заслоняющей от любопытных глаз конфиденциальную информацию.
В Access существует несколько способов создания форм:
- Автоформа - автоматическое создание формы с использованием одного из стандартных шаблонов. Это наиболее простой и быстрый способ создания формы.
- Мастер форм - создание формы с помощью мастера; в зависимости от назначения формы мастер предлагает на выбор стандартные шаблоны и стили оформления.
- Режим конструктора - создание формы на основе пустого бланка при помощи инструментальных средств конструктора форм.
- Мастер диаграмм - создание формы с диаграммой на основе выбранных полей таблицы.
- Мастер сводных таблиц - создание сводной таблицы Excel на основе таблиц или запросов Access.
Формы создаются на основе таблиц и запросов. При каждом открытии сохраненной формы обновляются данные запроса, на основе которого создается форма. Благодаря этому содержимое формы всегда соответствует информации в таблицах и запросах.
Для обработки готовых форм предназначен конструктор форм. Чтобы создать форму, необходимо на вкладке Формы окна базы данных нажать кнопку Создать. На экране появится диалоговое окно Новая форма, в котором программа предлагает пользователю выбрать способ создания формы.
Прежде чем выбрать в списке способ построения формы, надлежит в поле, находящемся в нижней части окна Новая форма, указать таблицу или запрос, на основе которого она создается.
Виды формы и их особенности приведены в таблице.
Виды формы |
Особенности |
В один столбец |
Для каждой записи отводится отдельная страница формы. Подходит для записей с большим числом полей |
Ленточная форма |
Каждая запись размещается в одной строке таблицы. Позволяет наглядно представить нескольких записей. |
Табличная форма |
Имеет вид таблицы и выступает в качестве подчиненной формы в составных формах. |
Составная |
Состоит из главной и подчиненной форм, связанных отношением One-To- Many |
Диаграмма |
Диаграмма создается на основе числовых значений одного или нескольких полей таблицы. |
Если выбрать в списке элемент Автоформа: в столбец и нажать кнопку ОК. то через некоторое время на экране появится готовая форма. Если попытаться закрыть ее, Access напомнит, что данная форма не сохранена, и предложит сохранить ее под именем той таблицы, по которой создается форма и которую можно всегда изменить.
Создание форм с помощью мастера. Если не знать, как создаются формы, то можно воспользоваться помощью мастера форм, который выполняет поэтапное руководство процессом создания формы.
При создании формы на основе стандартного шаблона должно быть открыто окно базы данных. Средства построения форм доступны независимо от того, в каком режиме находится система: в режиме конструктора или в режиме таблицы. Более того, таблица, для которой создается форма, может быть закрыта.
Построение стандартной формы осуществляется следующим образом:
- В окне базы данных открывается вкладка Формы и нажимается кнопка Создать.
- В появившемся окне Новая форма задается создание формы с помощью мастера форм и нажимается кнопка ОК.
- В первом диалоговом окне мастера форм выбирается в списке Таблицы/ Запросы нужная таблица, а в списке Доступные поля - поля для подготавливаемой формы. С помощью кнопки с двойной стрелкой (>>) переносятся все поля в список Выбранные поля и, нажатием кнопки Далее, осуществляется переход в следующее окно мастера форм.
-Во втором окне мастера форм активизируется переключатель В один столбец и нажимается кнопка Далее.
-В третьем окне мастера задается стиль оформления, после чего нажимается кнопка Далее.
-В последнем окне мастера вводится заголовок формы и нажимается кнопка Готово.
Перемещение и редактирование полей формы. Работать с формой удобнее, если для ее окна задано полноэкранное представление.
Чтобы на экране полностью были видны все элементы формы, необходимо использовать команду По размеру формы из меню Окно. Данная команда недоступна, если окно открыто в полноэкранном представлении.
Просмотр записей в форме осуществляется с помощью кнопок со стрелками, расположенными в нижней части окна формы, а также посредством клавиш [PgUp] и [PgDn]. Переход из поля в поле выполняется с помощью клавиши [Tab] или клавиш управления курсором. Содержимое активизированного поля маркируется. Режим редактирования, в котором можно изменять содержимое полей формы, устанавливается в результате нажатия клавиши [F2]. При изменении содержимого поля в колонке маркировки окна формы появляется изображение карандаша.
В форму можно вводить новые записи. Для этой цели предназначена команда Ввод данных из меню Записи. В результате ее активизации появляется пустая запись, которая может быть заполнена новой информацией. Вернуться к просмотру всех записей позволяет команда Удалить фильтр из меню Записи.
Удаление записей из формы производится с помощью клавиши [Del]. Удаляемую запись необходимо маркировать. Для этого достаточно щелкнуть в столбце маркировки (левый столбец в окне). Выделение записи отменяется при выполнении щелчка вне столбца маркировки.
Маркированные записи могут быть вставлены в буфер обмена посредством команд Вырезать и Копировать из меню Правка.
В формах возможно выполнение операций поиска и замены.
В случае необходимости скопировать в буфер обмена несколько записей надлежит предварительно отобрать их с помощью фильтра, а затем активизировать команду Выделить все записи из меню Правка.
Фильтрация данных в форме. Фильтры можно использовать в тех же целях, что и запросы на выборку данных, однако фильтры уступают запросам по функциональным возможностям: при фильтрации нельзя подавить отображение отдельных полей и выполнить вычисления и, наконец, фильтр позволяет только отобрать и отсортировать нужные записи.
Существует три способа создания фильтров в форме:
Фильтр по выделенному и Исключить выделенное – позволяет создать фильтр, основанный на выбранном тексте или значении.
Фильтр по форме – создает пустую форму или таблицу, в которую можно ввести данные, которые необходимо отображать.
Расширенный фильтр – позволяет ввести более сложные условия фильтрации и сортировки способом, аналогичным написанию запроса.
Форма ленточного типа. Выбрав форму ленточного типа, пользователь получает в свое распоряжение логическую структуру, определяющую столбцы и строки формы, которая очень близка к исходной таблице, а при выборе табличной формы - структуру, идентичную таблице. Преимуществом форм этих типов является возможность одновременного отображения на экране нескольких записей. Для каждой записи в форме отводится по одной строке.
Если форма содержит небольшое количество полей, все они, как правило, видны на экране. Чтобы отобразить невидимую область формы, следует использовать полосу прокрутки. Форма ленточного типа подходит для отображения информации из таблиц с большим числом записей.
Создание диаграмм. Access позволяет представлять в виде диаграммы сведения, содержащиеся в форме. При этом диаграмму не обязательно строить на основе всех данных. Ее можно создать на основе данных, удовлетворяющих заданным условиям, например, на основе сведений, полученных в результате фильтрации.
Перед построением диаграммы следует указать программе, содержимое каких полей таблицы или формы использовать. По умолчанию значения столбца образуют на диаграмме ряд данных, а значения строки - категорию. Диаграмма может состоять из нескольких рядов и категорий.
Для отображения числовых значений на диаграмме служат маркеры данных - линии, полосы, секторы и т.д. Иногда маркеры данных снабжают метками, которые представляют собой числовые или текстовые значения элементов ряда. Оси используются для отображения шкалы - диапазона значений рядов данных, представленных на диаграмме.
Диаграмму часто сопровождают легендой - поясняющим текстом и сводом условных знаков.
В Access существует несколько способов построения диаграмм. Самый простой - создание стандартных диаграмм с помощью мастера диаграмм. Более эффектные диаграммы создаются посредством программы Microsoft Graph, входящей в состав пакета Microsoft Office.
Access позволяет создавать диаграммы 15-ти типов.
Поскольку возможности мастера диаграмм ограничены, для оформления и редактирования диаграмм лучше использовать Microsoft Graph, запуск которого осуществляется после выполнения двойного щелчка на диаграмме в режиме Вид/Заголовок/Примечание формы.
Существует много способов изменения стандартного оформления диаграммы. Каждый элемент диаграммы имеет определенный набор параметров, значения которых устанавливаются в соответствующем диалоговом окне, открывающемся вследствие двойного щелчка на элементе диаграммы.
Составные и связанные формы. Мастер, а также конструктор форм позволяют создавать сложные логические структуры из нескольких связанных таблиц - составных форм. Связанные поля не обязательно должны иметь одинаковые имена, однако они должны иметь одинаковые типы данных.
Главная форма включает содержимое некоторой записи главной таблицы, а подчиненная - зависимые записи подчиненной таблицы. Подчиненная форма встраивается в главную форму таким образом, чтобы они обе были видны в общем окне. Связь между таблицами можно проследить в окне Схема данных, которое открывается в результате активизации одноименной команды из меню Сервис.
Каждый вызов составной формы сопровождается обновлением данных соответствующих таблиц.
Access позволяет устанавливать связь не только между таблицами, но и между формами. Если во втором окне мастера форм активизировать опции Связанные формы, выбранные поля из связанных таблиц будут включены в разные формы (окна). В этом случае можно просматривать подчиненную форму параллельно с главной при условии, что кнопка вызова подчиненной формы, расположенная в левом верхнем углу окна, нажата.
Применение элементов управления в формах. Во время редактирования формы в режиме конструктора на экран автоматически выводится Панель элементов, которая содержит инструменты для создания элементов управления. Наличие их в форме увеличивает эффективность работы и делает ее более комфортной. Одна из кнопок на панели инструментов – Мастера элементов – определяет, каким способом создаются новые элементы управления. Если кнопка нажата, то для создания элемента запускается соответствующий мастер.
Если от услуг мастера отказаться, а для этого достаточно отжать кнопку Мастера элементов, то элемент управления создается как заготовка, без определения многих свойств. Их необходимо будет задать на дальнейших этапах разработки.
Вставлять элементы управления лучше в поля данных и примечания. В форму можно вставить любой элемент, имеющийся на панели элементов.
Списки в формах. В Access существуют две разновидности списков как элементов управления: Список и Поле со списком. Рассмотрим работу с ними на примере поля со списком. Для создания этого элемента в форме надо выполнить следующую последовательность действий:
1. В режиме конструктора формы нажать кнопку Поле со списком и нарисовать мышью прямоугольник — место будущего списка. Запустится мастер полей со списком.
2. На первом шаге мастера установить переключатель в положение «Таблица или запрос содержат значения, которые использует поле со списком».
3. На втором шаге мастера указать необходимую таблицу или запрос.
4. На третьем шаге мастера задать поля таблицы. Порядок выбора полей определяет порядок следования их в списке, когда последний раскрывается в форме.
5. На четвертом шаге мастера необходимо настроить ширину колонок списка.
5. На пятом шаге мастера необходимо задать поле, которое будет однозначно определять строку списка. Значения этого поля будут заноситься в поле списка.
7. На шестом шаге мастера определяется, каким образом предполагается использовать список. Первое положение переключателя («Запомнить») пpедполагает, что выбранное из списка значение будет применяться для управления формой или другим объектом. Второе положение переключателя («Сохранить в поле») подразумевает заполнение поля базы данных путем выбора значений из списка. Этот выбор целиком зависит от конкретной задачи.
8. На седьмом шаге мастера надо определить подпись для списка. После того как мастер закончит работу, необходимо задать обязательные свойства списка. Высоту рамки списка целесообразно выбрать равной высоте строки в форме.
Раскрыв контекстное меню, относящееся к списку, выбрать команду Свойства и посмотреть, какое имя программа дала списку. Имена назначаются так, чтобы избежать повторений. Затем на вкладке Макет найти свойство Заглавия столбцов. По умолчанию там стоит Нет, то есть заголовки не выводятся. Установить это свойство как Да, потому что списки, состоящие из нескольких столбцов, лучше смотрятся, когда у последних есть заголовки. Выбрать вкладку События. Она предназначена для создания подпрограмм, которые позволят списку нормально функционировать. Необходимо выбрать строку Нажатие кнопки. Ясно, что в приложении должно что-нибудь происходить, когда пользователь раскроет список и щелкнет мышью один из его элементов. Поэтому для такого события надо предусмотреть реакцию системы. Справа от строки свойства имеется кнопка с тремя точками, которая позволяет раскрыть окно модуля (окно построителя) для редактирования подпрограмм. Щелкнем эту кнопку и выберем Программы. В списке Процедура укажем Click, что соответствует обрабатываемому событию, и введем команду
MsgBox "Выбрано из списка; " & ПолеСоСпискомN
Здесь N – номер, который присвоила программа.
Это приведет к тому, что в дальнейшем при выборе элемента списка будет раскрываться окно сообщения. Далее необходимо закрыть окно, где вводился код.
В реальной программе в качестве элементов списка лучше использовать текстовые поля для удобства в работе.
Размещение в форме графического объекта. Для размещения присоединенного объекта в форме необходимо выполнить следующие действия:
1. Для добавления графического поля типа OLE в форму нужно выбрать инструмент Присоединенная рамка объекта на панели элементов.
2. Нажать мышью место, где нужно добавить поле. Удерживая кнопку мыши в нажатом состоянии, переместить указатель по диагонали так, чтобы получилась рамка требуемого размера.
3. Открыть окно свойств созданного объекта.
4. Чтобы связать созданное поле с полем таблицы, выбрать свойство Данные. В поле ввода свойства необходимо воспользоваться кнопкой раскрытия списка и из списка полей открытой таблицы выбрать поле типа OLE.
5. Просмотреть форму в режиме формы. Если рисунок не помещается в рамке целиком, нужно вернуться в режим конструктора и увеличить размер поля.