- •Технології проектування баз даних в delphi
- •6.051001 - Метрологія та інформаційно-вимірювальні технології
- •Технології проектування баз даних в delphi
- •6.051001 - Метрологія та інформаційно-вимірювальні технології
- •1Введение
- •2Введение в базы данных
- •2.1Типы субд
- •2.2Стандарт odbc
- •2.3Технологии взаимодействия delphi с бд
- •2.3.1Особенности технологии bde
- •2.3.2Особенности технологии ado
- •2.4Таблицы бд и связи между ними
- •2.5Первичные ключи и индексы
- •2.6Демонстрационная бд "поставщик книг"
- •3Использование odbc для подключения источника данных. Псевдонимы бд
- •3.1Внешний и внутренний псевдонимы бд
- •3.1.1Создание внешнего псевдонима
- •3.1.2Проверка работоспособности внешнего псевдонима в среде Delphi
- •3.2Внутренний псевдоним бд
- •3.2.1Назначение внутреннего псевдонима бд
- •3.2.2Создание внутреннего псевдонима
- •3.2.3Преимущества использования внутреннего псевдонима и проблемы перехода на другие субд
- •4Создание проекта с бд в технологии bde
- •4.1Особенности использования bde для соединения с источником данных
- •4.2Структура проекта с бд и визуальными компонентами
- •4.3Активизация проекта
- •4.4.4Компоненты tdbGrid
- •4.5Модуль данных
- •4.5.1Создание модуля данных tDataModule
- •4.5.2Связь модуля главного окна с модулем данных
- •4.5.3Создание компонента tDatabase
- •4.5.4Создание компонента tTable
- •4.5.5Создание компонента tDataSource
- •4.5.6Связь модуля главного окна с модулем данных
- •4.5.7Связь сетки tdbGrid и навигатора dbNavigator c источником данных tDataSource
- •4.5.8Связь главный-детальный между наборами данных
- •4.5.9Задание реляционной связи между наборами данных
- •4.5.10Активизация наборов данных
- •4.5.11Недостатки полученных решений и пути их устранения
- •4.6Объекты-столбцы сетки dbGrid
- •4.6.1Создание объектов-столбцов
- •4.6.2Редактирование объекта-столбца
- •4.7Объекты-поля наборов данных
- •4.7.1Назначение объектов-полей
- •4.7.2Создание объектов-полей
- •4.7.3Присоединение к наборам данных новых полей
- •4.7.4Присоединение полей из других таблиц. Подстановочные поля
- •4.7.5Вычисляемые поля
- •4.8Обработчики событий компонент работы с бд
- •4.8.1Обработчики событий OnGetText полей нд и компонента визуализации данных tdbGrid
- •4.8.2Установка системных переменных в обработчике событя OnCreate
- •4.9Бизнес-правила и обработчики событий компонент работы с бд
- •5Sql запросы к бд
- •5.1Компонент tQuery
- •5.2Создание компонента tQuery
- •5.3Использования компонента tQuery
- •5.3.1Свойство sql компонента tQuery
- •5.3.2Методы Open и ExecSql
- •5.3.3Схема программного формирования sql-запроса
- •5.3.4Параметрические запросы
- •5.3.5Параметрические запросы и свойство DataSource компонента tQuery
- •5.3.6Связь главный-детальный с компонентом tQuery в качестве детального набора данных
- •5.4Доступ к полям запроса
- •5.4.1Обращение к значению поля при помощи свойств объектов-полей Value и AsXxxx
- •5.4.2Обращение к значению поля при помощи свойств набора данных Fields и FieldValues
- •5.4.3Обращение к значению поля при помощи функции набора данных FieldByName
- •5.5Программный доступ к данным запроса
- •5.5.1Общая схема программного доступа к данным запроса
- •5.5.2Последовательная навигация по записям
- •5.6Обзор событий компонента tQuery
- •6Хранимые процедуры и триггеры
- •6.1Хранимые процедуры
- •6.2Создание хранимых процедур
- •6.3Вызов хранимых процедур
- •6.4Триггеры
- •7Наборы данных
- •7.1Обзор событий класса tdbDataSet
- •7.1.1Реализация каскадных изменений и бизнес-правил
- •7.1.2Другие события
- •8Технология ado
- •8.1Основные особенности технологии ado
- •8.2Реализация технологии ado в Delphi
- •8.3Создание проекта с бд в технологии ado. Установка связи с бд
- •8.3.1Создание модуля данных
- •8.3.2Начало настройки связи
- •8.3.3Выбор провайдера
- •8.3.4Настройка провайдера
- •8.3.5Настройка провайдера Microsoft Jet 4.0 ole db Provider
- •8.3.6Настройка провайдера Microsoft ole db Provider for odbc Drivers
- •8.3.7Завершение настройки связи
- •8.3.8Настройка оставшихся компонент модуля данных
- •8.4Особенности использования компонентов ado
- •8.4.1Базовые объекты ado
- •8.4.2Объект Recordset
- •8.4.3Объект Command
- •8.4.8Связной компонент tadoConnection
- •8.4.9Компонент tadoCommand
- •8.5Свойства, методы и события ado компонентов-наборов
- •8.5.1Общие свойства с bde-компонентами
- •8.5.2Специфические свойства
- •8.5.3Методы класса tCustomAdoDataSet
- •8.5.4События класса tCustomAdoDataSet
- •8.6Компонент tadoDataSet
- •8.7Компонент tadoTable
- •8.8Компонент tadoQuery
- •9Компоненты визуализации данных в Delphi
- •9.1Компонент tdbGrid
- •9.1.1Свойства
- •9.1.2Дополнительные возможности сетки
- •9.2Компоненты визуализации полей текущей записи
- •9.2.1Компонент tdbText
- •9.2.2Компонент tdbEdit
- •9.2.3Компонент tdbCheckBox
- •9.2.4Компонент tdbRadioGroup
- •9.2.5Списочные компоненты
- •9.2.6Компонент tdbMemo
- •9.2.7Компонент tdbRichEdit
- •9.2.8Компонент tdbCtrlGrid
- •9.2.9Компонент tdbNavigator
- •Приложение 2. Бд "поставщик книг"
- •Рекомендованная литература
3.1.2Проверка работоспособности внешнего псевдонима в среде Delphi
Для того чтобы убедиться в работоспособности внешнего псевдонима в среде Delphi выберите пунк меню Database и запустите утилиту Explorer (SQL Explorer). Получите окно:
Рисунок 2.7 – SQL Explorer
Если теперь на вкладке Databases щелкнуть на значке свернутого узла слева от имени псевдонима BiblDataPgSQL, то будет затребовано разрешение на вход в БД
Рисунок 2.8 – Database Login
Нажмите ОК, а затем под значком свернутого узла Tables вы увидите все таблицы БД "Поставщик книг".
Рисунок 2.9 – Таблицы БД "Поставщик книг"
Щелкнув на любой таблице и открыв вкладку Data, можно увидеть содержимое выбранной таблицы.
Рисунок 2.10 – Отображение содержимого таблицы в окне SQL Explorer
Таким образом, Delphi имеет доступ к БД BiblData. Теперь можно перейти к созданию приложения для работы с БД BiblData.
3.2Внутренний псевдоним бд
Этот шаг необходим для подключения к программному приложению БД разного месторасположения, не внося изменения в текст программы в зависимости от конкретного внешнего псевдонима.
3.2.1Назначение внутреннего псевдонима бд
В BDE внутренний (локальный) псевдоним БД или просто псевдоним БД это имя БД, как его воспринимает конкретная программа по работе с БД, независимо от конкретной СУБД. Для файл-серверных БД псевдоним определяет путь доступа к файлам БД. Для локальных и клиент-серверных БД это просто заменитель внешнего псевдонима (имени) БД.
В дальнейшем, возможно, путь к БД потребуется изменить. В этом случае не придется исправлять внешний псевдоним в многочисленных компонентах доступа к данным - достаточно в настройках внутреннего псевдонима удалить старое определение внешнего псевдонима и ввести определение нового псевдонима, и все ссылающиеся на псевдоним компоненты будут связаны с новым местом размещения данных.
Внимание! Ознакомление с этим подразделом не обязательно, но следует учесть, что Delphi 7 при работе под управлением Windows 7 не всегда "видит" внешний псевдоним БД. Тем не менее, Delphi 7 позволяет создать внутренний псевдоним БД, с которым далее успешно работает программа.
3.2.2Создание внутреннего псевдонима
Ниже рассматривается процесс создания псевдонима для БД PostgreSQL, которая используется в лабораторных работах.
С помощью команды Database>Explorer из среды Delphi запустите утилиту SQL Explorer. Получите уже знакомое окно:
Рисунок 2.6 - SQL Explorer
На вкладке Databases открывшегося окна щелкните правой кнопкой мыши и выберите команду New в контекстном меню.
Утилита предложит выбрать тип вновь создаваемого псевдонима.
Рисунок 2.7 - Выбор типа создаваемого псевдонима Базы данных
Откажитесь от варианта Standard, предлагаемого по умолчанию для обслуживания файл-серверных БД с таблицами Paradox, и выберите PostgreSQL ANSI.
Рисунок 2.8 – Выбор драйвера БД
Сразу после этого появится имя псевдонима ODBC1 и на вкладке Definition будут перечислены его свойства. В результате форма SQL Explorer примет вид:
Рисунок 2.9 – Стандартное определение псевдонима БД
Воспользуйтсь тем, что выделено имя ODBC1, и сразу замените его на удобный псевдоним. Пусть таким псевдонимом будет то же имя - BiblData.
Рисунок 2.10 - Определение имени собственного псевдонима БД
Щелкните на вновь созданном псевдониме на вкладке Databases правой кнопкой мыши, выберите команду Apply в контекстном меню и подтвердите необходимость запомнить вновь созданный псевдоним
Рисунок 2.11 - Запомнить вновь созданный псевдоним БД
Теперь перейдите на вкладку Definition и в пустом поле справа от свойства ODBC DSN и из предоставляемого ODBC списка Системный DSN выберите внешний псевдоним BiblData_PgSQL.
Рисунок 2.12 - Определение псевдонима БД
Примечание. В дальнейшем, выбирая разные внешние псевдонимы, мы можем настраивать наши приложения на работу с разными БД данного типа, не меняя текст программы.
Щелкните на вновь созданном псевдониме на вкладке Databases правой кнопкой мыши и вновь выберите команду Apply в контекстном меню. В появившемся после этого диалоговом окне подтвердите необходимость запомнить вновь созданный псевдоним
Рисунок 2.13 - Запомнить вновь созданный псевдоним БД
Если теперь на вкладке Databases щелкнуть на значке свернутого узла слева от имени псевдонима, то будет затребовано разрешение на вход в БД
Рисунок 2.14 - Разрешение на вход в БД
Нажмите ОК, а затем - на значке свернутого узла Tables, вы увидите все таблицы БД "Поставщик книг".
Рисунок 2.15 - Отображение содержимого таблицы в окне SQL Explorer
Щелкнув на любой из них и открыв вкладку Data, вы сможете увидеть содержимое выбранной таблицы.
Рисунок 2.16 - Отображение содержимого таблицы в окне SQL Explorer
