- •Bde та ado
- •Введение
- •Введение в базы данных
- •Типы субд
- •Стандарт odbc
- •Технологии взаимодействия delphi с бд
- •Особенности технологии bde
- •Особенности технологии ado
- •Таблицы бд и связи между ними
- •Первичные ключи и индексы
- •Демонстрационная бд "поставщик книг"
- •Использование odbc для подключения источника данных. Внешний псевдоним бд
- •Создание внешнего псевдонима бд
- •Создание проекта с бд в технологии bde
- •Особенности использованияbdeдля соединения с источником данных
- •Структура проекта с бд и визуальными компонентами
- •Активизация проекта
- •Главная форма проекта
- •Модуль данных
- •Создание модуля данныхTDataModule
- •Создание компонента tDatabase
- •Создание компонента tTable
- •Создание компонентаTDataSource
- •Связь модуля главного окна с модулем данных
- •Связь сеткиTdbGrid и навигатораDbNavigatorcисточником данныхTDataSource
- •Связь главный-детальный между наборами данных
- •Задание реляционной связи между наборами данных
- •Активизация наборов данных
- •Недостатки полученных решений и пути их устранения
- •Объекты-столбцы сетки dbGrid
- •Объекты-поля наборов данных
- •Создание объектов-полей
- •Присоединение к наборам данных новых полей
- •Присоединение полей из других таблиц. Подстановочные поля
- •Вычисляемые поля
- •Обработчики событий компонент работы с бд
- •Обработчики событий OnGetText полей нд и компонента визуализации данныхTdbGrid
- •Установка системных переменных в обработчике событяOnCreate
- •Бизнес-правила иобработчики событий компонент работы с бд
- •Implementation
- •Sql запросы к бд
- •КомпонентtQuery
- •СозданиекомпонентаtQuery
- •ИспользованиякомпонентаtQuery
- •Свойство sql
- •Методы Open и ExecSql
- •Параметрические запросы
- •Параметрические запросы и свойство DataSource компонента tQuery
- •Связь главный-детальный с компонентомTQuery в качестве детального набора данных
- •Доступ к полям запроса
- •Обращение к значению поля при помощи свойств объектов-полейValueиAsXxxx
- •Обращение к значению поля при помощи свойств набора данных Fields и FieldValues
- •Обращение к значению поля при помощи функции набора данных FieldByName
- •Программный доступ к данным запроса
- •Общая схема программного доступа к данным запроса
- •Последовательная навигация по записям
- •Обзор событий компонентаtQuery
- •Хранимые процедуры и триггеры
- •Хранимые процедуры
- •Создание хранимых процедур
- •Вызов хранимых процедур
- •Триггеры
- •Наборы данных
- •Обзор событий класса tdbDataSet
- •Реализация каскадных изменений и бизнес-правил
- •Другие события
- •Технология ado
- •Основные особенности технологии ado
- •Реализация технологии ado в Delphi
- •Создание проекта с бд в технологии ado. Установка связи с бд
- •Создание модуля данных
- •Начало настройки связи
- •Выбор провайдера
- •Настройка провайдера
- •Настройка провайдераMicrosoftJet4.0oledbProvider
- •Настройка провайдера Microsoft ole db Provider for odbc Drivers
- •Завершение настройки связи
- •Настройка оставшихся компонент модуля данных
- •Особенности использования компонентов ado
- •Базовые объекты ado
- •ОбъектRecordset
- •ОбъектCommand
- •ОбъектParameter
- •Компонент tadoCommand
- •Свойства, методы и события ado компонентов-наборов
- •Общие свойства с bde-компонентами
- •Специфические свойства
- •Методы класса tCustomAdoDataSet
- •События класса tCustomAdoDataSet
- •Компонент tadoDataSet
- •Компонент tadoTable
- •Компонент tadoQuery
- •Компоненты визуализации данных вDelphi
- •Компонент tdbGrid
- •Свойства
- •Дополнительные возможности сетки
- •Компоненты визуализации полей текущей записи
- •Компонент tdbText
- •Компонент tdbEdit
- •Компонент tdbCheckBox
- •Компонент tdbRadioGroup
- •Списочные компоненты
- •Компонент tdbMemo
- •Компонент tdbRichEdit
- •Компонент tdbCtrlGrid
- •Компонент tdbNavigator
- •Приложение 2. Бд "поставщик книг"
- •Рекомендованная литература
Введение
Исторически вычислительные машины появились как средство резкого ускорения при проведении сложных расчетов в научной и инженерной деятельности. Однако на сегодня эти задачи перестали быть господствующими при использовании компьютерной техники и составляют по разным оценкам от 3%до5%общих затрат машинного времени.
На сегодня на передний план вышла способность компьютеров хранить и обеспечивать быстрый доступ и обработку больших объемов данных, что связано с использованием компьютера для моделирования и решения задач в различных предметных (проблемных) областях человеческой деятельности. Компьютерная техника стала центральным звеном систем обработки данных.
Решение задач обработки данных достигается применением определенных средств организации (представления) данных в памяти компьютера, а также созданием специальных средств доступа и обработки этих данных.
Для хранения больших объемов данных в современных компютерных системах используются определенным образом организованные базы данных (БД), а для управления и взаимодействия сБД–системы управления базами данных(СУБД). Следует подчеркнуть, что каждый типСУБДориентирован на свой типБД.
Многие из современных СУБДобладают весьма гибкими и мощными средствами высокоуровневого программирования задач обработкиБД. Во многих случаях этих средств достаточно для задач, решаемых конкретными организациями. Вместе с тем возможности такихСУБДрезко сокращаются, если необходимо выполнять обработку данных изБДдругих типов.
С другой стороны современные высокоуровневые языки и среды программирования, ориентированные на обработку данных, обладают мощными средствами по обработке БДразных типов, как локальных, так и распределенных. К таким средам программирования относится иDelphi.
В настоящем пособии на примере БДPostgreSQL, подробно рассматриваются вопросы подключения к программеБДразных типов и средстваDelphiпо высокоуровневому программированию задач обработки данных.
Еще двумя важными свойствами сред программирования, ориентированных на обработку данных, являются:
Возможность создания в этих средах развитых отчетов на основе данных из БД;
Обеспечение переносимости.
Этим вопросам посвящено отдельное учебно-методическое пособие "Проектирование баз данных в Delphi. Создание отчетов и распространение пприложений"[1].
Введение в базы данных
Базами данных (БД) называют электронные хранилища информации, доступ к которым осуществляется с одного или нескольких компьютеров. ОбычноБДсоздается для хранения и доступа к данным, содержащим сведения о некоторой предметной области (ПО), то есть некоторой области человеческой деятельности или области реального мира.
Типы субд
Системы управления базами данных (СУБД)- это программные средства, предназначенные для создания, наполнения, обновления, поиска и удаления данных вБД.
По своей архитектуре СУБДделятся наодно-,двух- итрехзвенные(рисунок 1.1).В однозвенной архитектуреиспользуется единственное звено (клиент), обеспечивающее необходимую логику управления данными и их визуализацию.
В двухзвенной архитектурезначительную часть логики управления данными берет на себясерверБД, в то время как клиент в основном занят отображением данных в удобном для пользователя виде. При этом клиент должен знать, где расположен сервер.
В трехзвенной архитектуреиспользуется промежуточное звено - сервер приложений, являющееся посредником между клиентом и сервером БД. Сервер приложений призван полностью избавить клиента от каких бы то ни было забот по управлению данными и обеспечению связи с сервером БД.
аб в
Рисунок 1.1 –Архитектура СУБД: однозвенная (а), двухзвенная (б), трехзвенная (в)
В зависимости от местоположения отдельных частей СУБД различают локальные и сетевые СУБД.
Все части локальной СУБД размещаются на компьютере пользователя БД.
К сетевым относятся файл-серверные, клиент-серверные и распределенные СУБД. Непременным атрибутом этих систем является сеть, обеспечивающая аппаратную связь компьютеров и делающая возможной корпоративную работу множества пользователей с одними и теми же данными.
В файл-серверных СУБД все данные обычно размещаются в одном или нескольких каталогах достаточно мощной машины, специально выделенной для этих целей и постоянно подключенной к сети. Такой компьютер называется файл-сервером. Безусловным достоинством СУБД этого типа является относительная простота ее создания и обслуживания - фактически все сводится лишь к развертыванию локальной сети и установке на подключенных к ней компьютерах сетевых операционных систем (ОС). Недостатком файл-серверных систем является значительная нагрузка на сеть, так как между клиентом и сервером пересылается весь фал. Такие СУБД на сегодня уходят в прошлое.
Клиент-серверные (двухзвенные) системы значительно снижают нагрузку на сеть, так как клиент общается с данными через специализированного посредника - сервер БД, который размещается на машине с данными. Сервер БД принимает запрос от клиента, отыскивает в данных нужные записи и передает их клиенту. Таким образом, по сети передаются относительно короткий запрос и нужные записи, даже если соответствующий файл с данными содержит сотни тысяч записей.
Клиент-серверные СУБД масштабируются до сотен и тысяч клиентских мест.
Запрос к серверу формируется на специальном языке структурированных запросов (Structured Query Language, SQL), поэтому часто серверы БД называются SQL-серверами. Серверы БД представляют собой относительно сложные программы, разрабатываемые различными фирмами. К ним относятся, например, Microsoft SQL Server, Sybase SQL Server, Oracle, DB2, Informix, MySQL, PostgreSQL и т. д.
SQL-сервером является и сервер InterBase корпорации Borland, который поставляется вместе с Delphi 7 Studio в комплектациях Enterprise и Architect.
Распределенные СУБД могут содержать несколько десятков и сотен серверов БД. Количество клиентских мест в них может достигать десятков и сотен тысяч. СУБД ведущих производителей Oracle, Sybase, Informix, Microsoft, IBM на сегодня, в той или иной форме, предоставляют возможности по построению распределенных БД.