- •Введение
- •Содержание
- •1. Файловые системы
- •История развития
- •Файловые системы, принципы построения
- •Работа с типизированным файлом
- •Недостатки файловых систем
- •Задание
- •Реляционная таблица
- •Определение домена
- •Создание таблиц в среде Microsoft Access
- •Задание
- •Реляционные ключи
- •Связь между таблицами
- •Обеспечение целостности данных
- •Построение схемы данных средствами Microsoft Access
- •Мастер подстановок
- •Задание
- •Концепция ER-модели
- •Задание
- •Первая нормальная форма (1NF)
- •Вторая нормальная форма (2NF)
- •Третья нормальная форма (3NF)
- •Нормальная форма Бойса-Кодда (BCNF)
- •Четвёртая нормальная форма (4NF)
- •Пятая нормальная форма (5NF)
- •Задание
- •Выборка значений из таблиц – SELECT
- •Порядок сортировки – ORDER BY
- •Ограничение набора данных – WHERE
- •Предикат существования EXISTS
- •Агрегатные функции
- •Группировка данных – Group By
- •Псевдонимы столбцов
- •Псевдонимы таблиц
- •Объединение нескольких таблиц
- •Построение запросов в среде Microsoft Access
- •Задание
- •Вставка новой записи – INSERT
- •Редактирование данных – UPDATE
- •Удаление записей – DELETE
- •Задание
- •Основные типы данных SQL-92
- •Язык определения данных – DDL
- •Задание
- •Подготовка отчёта в среде Access
- •Задание
- •3-х уровневая архитектура ANSI-SPARC
- •Создание форм для ввода данных в Microsoft Access
- •Задание
- •Строка соединения ADO
- •Соединение с хранилищем данных, компонент TADOConnection
- •Установка соединения
- •Пример соединения без регистрации пользователя
- •Информирование о БД
- •Задание
- •Базовый класс доступа к данным TDataSet
- •Открытие и закрытие набора данных
- •Обновление набора данных
- •Перемещение по набору данных
- •Создание закладок и переход к закладке
- •Редактирование записей в наборе
- •Фильтрация набора данных
- •Организация поиска данных
- •Взаимодействие с элементами управления данными
- •Задание
- •Поле таблицы – класс TField
- •Классификация полей по функциональному назначению
- •Классификация полей по типу обслуживаемых данных
- •Обращение к отдельному объекту-полю
- •Задание
- •Поля подстановки
- •Вычисляемые поля
- •Организация отношения главная-подчинённая таблица
- •Задание
- •Поля BLOB
- •Задание
- •Источник данных – компонент TDataSource
- •Общие черты компонентов отображения данных
- •Сетка базы данных – компонент TDBGrid
- •Статический текст – компонент TDBText
- •Строка ввода БД – компонент TDBEdit
- •Многострочный текстовый редактор БД – TDBMemo
- •Изображение БД – компонент TDBImage
- •Список БД – TDBListBox
- •Комбинированный список БД – TDBComboBox
- •Флажок БД – TDBCheckBox
- •Радиогруппа БД – TDBRadioGroup
- •Компонент – TDBCtrlGrid
- •Навигатор – TDBNavigator
- •Задание
- •Создание базы данных
- •Удаление базы данных
- •Создание таблиц
- •Пример создания таблиц средствами Transact SQL
- •Создание представлений
- •Задание
- •Определение и использование переменных
- •Операторы управления Transact-SQL
- •Базовые функции Transact-SQL
- •Хранимые процедуры
- •Триггеры
- •Задание
- •Запрос TADOQuery
- •Хранимая процедура TADOStoredProc
- •Транзакции и их изоляция
- •Управление транзакциями и компонент TADOConnection
- •Задание
- •Построение простейшего документа XML
- •Атрибуты
- •Определение документа DTD
- •Задание
60
способа представления данных в интересах конечного пользователя – мы будем работать на внешнем уровне архитектуры ANSI-SPARC.
Создание форм для ввода данных в Microsoft Access
Среди всех сред программирования, специализирующихся на работе с БД Microsoft Access предоставляет едва ли ни самый простой и удобный способ создания интерфейса доступа к базам данных. Здесь предусмотрено несколько способов создания форм. К простейшим из них относится применение средств автоматического создания форм на основе таблицы (запроса). Различается несколько видов “автоформ” (автоматически создаваемых форм):
1.Автоформа, организованная "в столбец". Это наиболее часто используемое представление формы.
2.Табличная форма. Форма, повторяющая внешний вид таблицы Access.
3.Ленточная форма. Поля каждой записи располагаются в отдельной строке, причём каждое поле представлено в виде отдельного элемента управления.
4.Автоформа в виде сводной таблицы или сводной диаграммы.
Рисунок 10.2. – Мастер создания новой формы
Вернёмся к нашему проекту по учёту студентов ВУЗа и создадим автоформу для таблицы специальностей обучения.
1.Щелкните по кнопке “Формы” и нажмите кнопку “Создать”. Появится диалоговое окно мастера по созданию новой формы (рис. 10.2).
2.В перечне способов создания форм выделите один из вариантов автоформы, например: “Автоформа: в столбец”.
3.В поле со списком выберите источник данных для формы – таблицу Spec (справочник специальностей).
4.Нажмите кнопку ОК.
Автоматически созданная форма далеко не безукоризненна, с точки зрения конечного пользователя у неё как минимум четыре недостатка (рис. 10.3). Во-первых, подписи полей не отражают их назначения. Во-вторых, на форме присутствует поле первичного
Ставропольский государственный университет, кафедра КБ
61
ключа, причём создаётся впечатление, что оно доступно для редактирования, а в этом нет необходимости. В-третьих, размер поля с названием специальности не позволяет полностью отображать своё содержимое. В-четвёртых, название формы не отражает её назначения.
Рисунок 10.3. – Недостатки автоформы специальностей
Для внесения исправлений и доработок в автоформу необходимо перейти в режим конструктора. Для этого нажмите на стрелку, расположенную справа от кнопки “Вид” на панели инструментов, и в открывшемся списке выберите элемент “Конструктор”. В режиме конструктора Вы сможете управлять всеми элементами управления, расположенными на форме. Для этого достаточно обратиться к контекстному меню компонента и выбрать пункт “Свойства”. На рисунке 10.4. представлена форма с устранёнными недостатками.
Рисунок 10.4. – Форма с устранёнными недостатками
Рекомендации по проектированию пользовательского интерфейса
При разработке пользовательского интерфейса следует руководствоваться рядом рекомендаций. Ниже перечислены основные из них:
1.Название формы должно отражать её назначение.
2.Последовательность полей и их группировка должны быть логически обоснованы.
3.Названия полей легко узнаваемы.
4.Форма должна иметь привлекательный вид.
5.Используется только общепринятая терминология и сокращения.
6.Визуальное выделение пространства и границ полей ввода данных.
7.Удобные средства перемещения курсора.
8.Наличие средств исправления отдельных ошибочных символов и целых полей.
Ставропольский государственный университет, кафедра КБ
62
9.Наличие сообщений об ошибках при вводе недопустимых значений.
10.Выделение обязательных для ввода данных полей.
11.Средства вывода пояснительных сообщений с описанием полей.
12.Средства вывода сообщения об окончании заполнения формы.
Задание
Применяя различные виды автоформ создайте формы для ввода, редактирования и удаления данных для своего проекта БД. При проектировании интерфейса форм опирайтесь на рекомендации по разработке пользовательского интерфейса БД.
Ставропольский государственный университет, кафедра КБ
63
XI. Организация доступа к данным средствами ActiveX Data Object (ADO)
Вид занятия – лабораторное занятие. Время занятия – 2 часа.
Технология объектов данных ActiveX (Microsoft® Ac-
tiveX® Data Objects, ADO) появилась на свет в стенах корпорации Microsoft и считается логическим развитием системы доступа к данным OLE DB. У ADO много
достоинств, основное из них в том, что технология обеспечивает единый механизм доступа к разнотипным хранилищам данных. Приложение ADO обраща-
ется не к конкретной СУБД, а к объекту COM. Многокомпонентная модель объектов (Component Object Model, COM) описывает способ взаимодействия программ любого типа, программа-сервер предоставляет в
распоряжение окружающих собственные службы, про- грамма-клиент пользуется услугами доступных служб.
Для доступа к данным в рамках ADO (см. рис. 11.1) реализована коллекция интерфейсов COM-объектов предназначенных для работы, как с реляционными, так и с не реляционными наборами данных, включая майнфреймы, иерархические базы данных, текстовые,
графические, географические данные, XML, e-mail и многое другое. Доступ к данным предоставляют драйверы, называемые провайдерами.
Все элементы управления VCL, нацеленные на работу с объектами данных ADO, собраны на странице dbGo палитры компонентов Delphi XE. Основной программный код всех интересующих нас сегодня классов сосредоточен в модуле ADODB, а описания их интерфейсов в ADOInt. Семёрку компонентов ADO можно условно разделить на три категории (рис. 11.2):
Рисунок 11.1. Архитектура универсального доступа к данным ADO
•Компоненты обеспечения централизованного до-
ступа к данным – TADOConnection и TRDSConnection. Эти компоненты обычно используются при разработке сложных приложений, базирующихся на архитектуре клиент-сервер. Экземпляр класса TADOConnection отвечает за установку соединения и взаимодействие проекта с БД, все остальные компоненты dbGo пользуются его посредническими услугами.
•Компоненты обслуживания данных в стиле Microsoft ADO – командный компонент
TADOCommand и набор данных TADODataSet.
•Компоненты, работающие с данными в классическом для программистов Delphi духе. Это компонент-таблица TADOTable, запрос TADOQuery и хранимая процедура
TADOStoredProc.
© Осипов Д.Л., 2011