Delphi 3 и создание приложений баз данных

         

Delphi 3 и создание приложений баз данных

Компонент Tdatabase
Принятые сокращения
Введение
Понятие баз данных. Степень детализации информации в базе данных
Реляционные базы данных
Понятие первичного ключа
Реляционные отношения (связи) между таблицами базы данных
Отношение "один-ко-многим"
Отношение "один-к-одному"

Отношение "многие-ко-многим"
Связь между записями одной таблицы
Ссылочная целостность и каскадные воздействия
Понятие внешнего ключа
Индексы и методы доступа
Нормализация таблиц при проектировании базы данных
Нормализация - за и против
Понятие транзакций
Типы таблиц БД по виду их изменения -справочные, операционные и транзакционные
Типы информационных систем

Навигационный и SQL-ориентированный подходы к операциям над данными
С чего начать
Постановка задачи
Создание псевдонима базы данных
Объявление полей
Запоминание таблицы
Изменение структуры существующей таблицы
Определение индексов
Определение ссылочной целостности между таблицами
Создание простейшего приложения

Создание приложения для работы с двумя таблицами
Уточнение списка полей и настройка параметров столбцов в TDBGnd. Смена активного индекса
Определение визуальных компонентов для работы с полями записи набора данных
Реализация связи Master-Detail между наборами данных
Использование компонента TQuery для формирования набора данных из нескольких таблиц
Общий обзор средств для работы с базами данных
Архитектуры баз данных
Локальные базы данных и архитектура "файл-сервер"
Удаленные базы данных и архитектура "клиент-сервер"
Многозвенная архитектура "клиент-сервер"

Общая структура приложения, работающего с базами данных
Обзор не визуальных компонентов для работы с базами данных
Обзор визуальных компонентов для работы с базами данных
Иерархия классов важнейших невизуальных компонентов для представления данных и доступа к ним
Функциональная иерархия компонентов Delphi для работы с базами данных
Как связаны друг с другом компоненты для работы с базами данных
Назначение BDE Administrator
Создание псевдонима БД
Параметры баз данных типа STANDARD
Установки параметров драйвера PARADOX

Установки параметров драйвера INTERBASE
Системные стартовые установки
Установки форматов
Параметры формата даты
Параметры формата времени
Параметры числового формата
Сохранение конфигурации в отдельном файле
Объединение файлов конфигурации
Применение TField
Использование редактора полей

Типы полей
Обращение к полям и их значениям
Обращение к значению поля. Свойства Value и AsNNN
Событие OnGetText
Свойство DisplayFormat
Форматирование полей во время их редактирования
Свойство IsNull и обработчики событий OnSetText, On Validate, OnChange
Значение поля по умолчанию и ограничения на значения поля
Создание вычисляемых полей
Поля выбора данных

Поля выбора данных, использующиеся
Буфер значений полей выбора данных
Обзор полей TxxxField
Информация о типе поля
Информация о виде поля
Имя поля в SQL-запросах
Проверка применимости символа в поле
Понятие наборов данных
Набор данных TTable
Набор данных TQuery

Состояния наборов данных
Общие положения
Определение начала и конца набора данных
Порядок следования и порядок сортировки записей
Навигация по набору данных вниз
Навигация по набору данных вверх
Спонтанные перемещения по набору данных
Реакция на изменение курсора набора данных
Временное отключение визуализации при работе с НД
Свойства, запрещающие или разрешающие изменять записи в НД

Изменение текущей записи
Добавление новой записи
Запоминание изменений - метод Post
Отмена сделанных изменений - метод Cancel
Оценка изменения записи
Реакция на изменение данных
Удаление записи
Сценарий обновления записей на одной форме с компонентом TDBGrid
Закладки на записях НД
Поиск записей в наборах данных

Метод Locate
Использование методов FindFirst, FindLast, FindNext, FindPrior
Метод Lookup
Фильтрация записей в наборах данных
Свойство Filtered
Событие OnFilterRecord
Свойство Filter
Свойство FilterOptions
Навигация в неотфильтрованном НД между записями, удовлетворяющими фильтру
Использование компонента TFieldDefs

Использование свойств FieldCount и Fields
Свойства DefaultFields, CacheBlobs, метод ClearFields
Способы обращения к полям набора данных
Блокировка таблиц в многопользовательском режиме
Синхронизация содержимого наборов данных
Синхронизация содержимого наборов данных в одном приложении
Синхронизация содержимого наборов данных в разных приложениях
Обработка ошибок смены состоянии набора данных
Ограничения на значения полей
Получение информации об индексах ТБД

Установка текущего индекса ТТаЫе
Добавление нового индекса
Удаление существующего индекса
Установка приоритетного доступа при многопользовательском режиме
Очистка записей ТБД
Уничтожение таблицы
Создание новой таблицы
Обзор методов
Установка значений для поиска
Точный поиск

Неточный поиск
Инкрементальный локатор
Поиск по части текущего индекса
Обзор методов
Использование SetRange
Методы SetRangeStart, SetRangeEnd, ApplyRange
Метод CancelRange
Методы EditRangeStart, EditRangeEnd
Свойство KeyExclusive
Фильтрация по составному индексу

Фильтрация по частичному соответствию
Фильтрация по части составного индекса
Ограничения возможностей фильтрации при использовании методов SetRange/SetRangeStart и др.
Множественный взгляд на НД
Совмещение курсоров двух НД
Создание отдельной формы
Переназначение TDataSource во время выполнения
Создание отдельной формы
Использование контейнера TDataModule
Общие сведения

Соединение компонента TQuery с базой данных
Соединение компонента TQuery и визуальных компонентов для работы с данными
Выполнение статических запросов
Методы открытия и закрытия компонента TQuery
Изменяемые TQuery
Понятие динамического запроса
Формирование динамического запроса
Установка значений параметров динамического запроса во время выполнения
Методы Prepare и Unprepare
Указание значения NULL для параметров

Delphi 3 и создание приложений баз данных

Формируемые запросы

Динамический редактор SQL
Использование TQuery для получения агрегированных значений
Использование компонента TQuery для локальных и удаленных БД
Понятие столбцов TDBGrid
TDBGrid и динамические свойства столбцов
Постоянные и динамические столбцы
Работа с редактором столбцов
Изменение свойств постоянных столбцов во время выполнения. TDBGridColumns как набор столбцов
Другие свойства набора столбцов TDBGridColumns
Пустые" постоянные столбцы

Формирование списка возможных значений столбца
Управление видом и поведением TDBGrid
Редактирование наборов данных непосредственно из TDBGrid
Добавление записей
Корректировка
Возникновение исключений при добавлении и корректировке записей в TDBGrid
Определение текущего столбца во время выполнения программы и проверка правильности индекса
Изменение порядка следования столбцов во время разработки приложения
Изменение порядка следования столбцов во время выполнения приложения
Управление отображением данных в TDBGrid

Перемещение между ячейками TDBGrid
Действия с мышью и клавиатурой в момент, когда TDBGrid обладает фокусом управления
Работа с компонентом TDBCtrlGrid
Компонент TDBText
Компонент TDBEdit
Компонент TDBCheckBox
Компонент TDBRadioGroup
Компонент TDBListBox
Компонент TDBComboBox
Компонент TDBLookupComboBox

Компонент TDBLookupListBox
Компонент TDBMemo
Назначение компонента
Работа с абзацем
Сохранение комментария в файле и считывание комментария из файла
Работа с выделенным текстом
Поиск фрагмента текста
Назначение компонента TSession
Работа с установками BDE
Чтение имен таблиц базы данных

Список объявленных БД
Хранение соединения с неактивной БД
Работа с активными БД
Управление парольной защитой
Работа с паролями для Paradox-таблиц
Средства TSession для работы с паролями
Определение служебных каталогов сессии
Событие активизации сессии
Построение графиков. Компонент TDBChart
Создание графика

Добавление серии в график
Выбор источника данных
Определение функций
Добавление серии во время выполнения
Работа с сериями. Компонент TChartSeries
Свойства компонента TChartSeries
Методы компонента TChartSeries
События компонента TChartSeries
Компоненты для построения отчетов
Компонент TQuickRep

Компонент TQRBand
Создание простейшего отчета
Использование компонента TQRExpr для определения выражений
Использование TQRBand для представления заголовков столбцов
Использование TQRBand для показа заголовка и подвала страницы
Использование компонента TQRSysData для показа вспомогательной и системной информации
Группировки данных в отчете
Множественная группировка данных в отчете
Построение отчета на основе
Построение композитного отчета

Понятие многомерных данных
Метакуб (многомерный куб)
Динамическая фиксация числа измерений
Обзор компонентов Delphi для разработки систем принятия решений
Пример многомерных данных
Использование компонента TDecisionQuery
Редактор многомерного запроса
Использование компонента TDecisionCube
Использование компонента TDecisionSource
Создание сетки многомерных данных

Раскрытие и закрытие данных по измерениям средствами компонента TDecisionGrid
Показ промежуточных сумм
Исключение и включение измерения в состав показываемых в сетке данных
Установка свойств показа данных по отдельному измерению
Свойства и события, управляющие поведением TDecisionGrid в целом
Создание переключателя активных измерений
Изменение способа показа данных по измерению
Фиксация значения в измерении
Свойства, управляющие представлением в форме компонента TDecisionPivot
Архитектуры "файл-сервер" и "клиент-сервер"

SQL-сервер Borland InterBase и его основные компоненты
InterBase: некоторые технические характеристики
Физическая организация базы данных InterBase
Delphi и InterBase
Вопросы соединения с удаленным сервером
Создание БД "Учет товаров на складе"
Создание псевдонима удаленной БД
Создание БД
Соединение с БД
Создание таблиц БД

Создание приложения для занесения данных
Соединение с БД из приложения
Создание формы ввода в ТБД
Создание триггеров для поддержания каскадных воздействий
Использование генератора
Работа с утилитой Windows Interactive SQL (WISQL)
Установка набора символов текущей сессии
Создание БД
Соединение с БД
Выполнение SQL-операторов

Подтверждение и откат изменений
Просмотр структуры компонентов БД
Просмотр структуры БД
Установка режимов работы WISQL
Выполнение Script-файлов
Delfi 3 БД глава 19
Обзор типов данных InterBase
Целочисленные значения
Значения с плавающей запятой
Фиксированно-десятичные значения

Значения типа даты
Символьные типы данных
Значения типа BLOB
Совместимость типов столбцов
Понятие домена
Ограничения на значения столбцов, ассоциированных с доменом
Изменение определения домена
Общий вид оператора CREATE TABLE
Столбцы вычисляемых значений
Ограничения целостности

Первичный ключ
Уникальный ключ
Внешний ключ и определение ссылочной целостности
Именование ссылочной целостности
Требования к значениям столбцов
Изменение объявления таблиц
Изменение атрибутов столбца
Удаление таблицы
Логическое разделение на ключи и индексы
Необходимость создания индексов

Создание индекса
Улучшение производительности индекса
Перестройка индекса
Повторное вычисление показателя "полезности" индекса
Удаление существующего индекса
Компонент TDatabase
Оператор SELECT
Оператор SELECT
(SELECT ..FROM)
Использование предложения WHERE

Сравнение значения столбца с константой
Сравнение значения столбца
Использование псевдонимов таблиц
Предложение ORDER BY - определение сортировки
Устранение повторяющихся значений
Расчет значений результирующих столбцов на основе арифметических выражений
Агрегатные функции
Использование группировок записей
Предложение HAVING - наложение ограничений на группировку записей

Delphi 3 и создание приложений баз данных

SELECT POKUP, SUM(KOLVO) FROM RASHOD GROUP BY POKUP HAVING MIN(KOLVO) = 100
Предложение WHERE : задание сложных условий поиска

Использование логических выражений
Сравнение столбца с результатом вычисления выражения
Использование BETWEEN
Tovar
Использование IN (список значений)
Использование STARTING
Использование CONTAINING
Использование функции UPPER
Использование LIKE
Использование функции CAST

Использование подзапросов
Geneial SQL eiroi. multiple rows in singleton select.
Вложение подзапросов
Использование EXISTS
Использование SINGULAR
Использование ALL, SOME
Использование HAVING и агрегатных функций для вложенных подзапросов
Внешние соединения
UNION - объединение результатов выполнения нескольких операторов SELECT
Использование IS NULL

Использование операции сцепления строк
SELECT POKUP || ' (' || GOROD || ')' FROM POKUPATELI
Работа с разными БД в одном запросе
Добавление, изменение, удаление записей
Оператор INSERT
Явное указание списка значений
Указание значений при помощи оператора SELECT
Ператор UPDATE
Оператор DELETE
Понятие просмотра как виртуальной таблицы

Способы формирования просмотров
Указание столбцов просмотра в операторе CREATE VIEW
Обновляемые и необновляемые просмотры
Использование CHECK OPTION
Компоненты Delphi и использование просмотров
Понятие хранимой процедуры
Создание хранимой процедуры
Алгоритмический язык хранимых процедур
Объявление локальных переменных
Операторные скобки BEGIN... END

Оператор присваивания
Оператор IF... THEN ... ELSE
Оператор SELECT
Оператор FOR SELECT... DO
Оператор SUSPEND
Оператор WHILE... DO
Оператор EXIT
Оператор EXECUTE PROCEDURE
Оператор POST_EVENT
Вызов процедур выбора в приложении клиента

Компонент TStoredProc
Изменение и удаление хранимых процедур
Работа с триггерами
Создание триггеров
Определение заголовка триггера
Значения OLD и NEW
Обеспечение каскадных воздействий
Ведение журнала изменений
Использование триггеров для реализации бизнес-правил
Изменение и удаление триггеров

Delfi 3 БД глава 30
Использование утилиты Database Explorer
Просмотр метаданных
Просмотр и изменение данных
Просмотр столбцов
Просмотр ограничений на значения столбцов
Просмотр индексов
Просмотр триггеров
Откат изменений и целостность БД
Понятие транзакции

Уровни изоляции транзакций: приложение клиента
Уровень изоляции транзакций Dirty Read
Уровень изоляции транзакций Read Commited
Уровень изоляции транзакций Repeatable Read
Установка уровней изоляции транзакций в Delphi
Свойство UpdateMode и обновление записей
Firma
Явно и неявно стартуемые транзакции
Управление транзакциями на SQL-сервере InterBase
Где

Использование кэшированных изменений
Активизация режима кэшированных изменений
Отмена кэшированных изменений
Подтверждение кэшированных изменений
Фаза
Фаза
Подтверждение кэшированных изменений методом ApplyUpdates компонента TDatabase
Подтверждение кэшированных изменений методом ApplyUpdates набора данных
Видимость измененных записей
Использование обработчика OnUpdateError

Использование параметра UpdateKind
Использование параметра UpdateAction
А) б)
Использование параметра Е
S : = ' '
Использование компонента TUpdateSQL

Компонент TUpdateSQL: этап разработки
Компонент TUpdateSQL: выполнение SQL-операторов
Понятие события
Приложения Delphi и компонент TIBEventAlerter
Использование компонента
Обмен сообщениями между приложениями
Обмен инициализирующими сообщениями между приложениями
Понятие функции, определяемой пользователем
Общие положения
Совместимость типов параметров

Особенности использования в UDF параметров типа PChar
Особенности использования в UDF параметров типа даты и времени
ДaтаDelphi =ДатаInterBase.Days -15018 +ДamaInlerBase.MSec/(MSecsPerDay * 10);
Объявление UDF в БД InterBase
Пример создания DLL с несколькими UDF и объявления их в БД
Размещение бизнес-правил
Ограничения значения столбца записи
Запрет добавления записей в просмотре
Использование триггеров для поддержания ссылочной целостности

Реализация бизнес-правил в приложении клиента
Реализация бизнес-правил в компонентах типа "набор данных"
Свойство Constrained (компонент TQuery)
Свойство Constraints
Реализация бизнес-правил в компоненте TField
Реализация бизнес-правил в иных компонентах
Использование словаря данных для определения атрибутов полей
Оптимизация работы с БД
Оптимизация структуры БД
Нормализация таблиц: теория и практика

Частичная зависимость структуры данных от методов доступа к ним
Физические характеристики БД
Оптимизация запросов
Оптимальная структура индексов
Полезность" индексов
Просмотр плана выполнения запросов
Целесообразность создания индексов
Частичное использование составного индекса
Многопоточность поиска по OR и IN
Уменьшение общего количества индексов

Оптимизация клиентских приложений
Минимизация соединений с БД
Использование TQuery
Перенос тяжести вычислительной работы на сервер
Работа с утилитой InterBase Server Manager
Соединение с сервером
Соединение с БД
Выбор текущего сервера и БД
Разрыв соединения
Изменение конфигурации сервера

Статистические данные непосредственно о БД
Анализ БД
Информация о таблице БД
Принудительная сборка мусора
Создание резервной копии (сохранение) и восстановление БД
Переход в однопользовательский режим соединения с БД
Резервное копирование БД
Восстановление БД из резервной копии

Delphi 3 и создание приложений баз данных

Принудительная запись на диск
Восстановление транзакций
Регистрация новых пользователей

Установка привилегий доступа
Привилегии доступа по умолчанию
Виды привилегий
Минимальный состав параметров при предоставлении привилегий доступа к таблице БД
Предоставление нескольких привилегий
Предоставление привилегий нескольким пользователям
Назначение привилегий всем пользователям
Установка привилегий доступа к отдельным столбцам таблицы
Предоставление пользователю права назначать привилегии другим пользователям
Назначение привилегий вызова хранимых процедур

Назначение процедуре прав доступа к таблице
Ликвидация привилегий
Приложение В. Формат SQL-операторов (СУБД InterBase) База данных *
Создание базы данных
Определение типа данных
Создание домена
Ограничение, накладываемое на значения полей, ассоциированных с доменом
Изменение определения домена
Таблицы базы данных
Определение ограничения внешнего ключа и ссылочной целостности с родительской таблицей

Ограничения на значения столбца
Добавление нового столбца в таблицу БД
Добавление новых ограничений целостности
Удаление столбца (столбцов) из таблицы БД
Удаление ограничений целостности
Создание индекса
Выборка данных из таблиц БД
Добавление записей
Изменение записей
Создание просмотра

Создание хранимой процедуры
Обращение к хранимой процедуре (утилита WISQL)
Тело процедуры
Изменение хранимой процедуры
Объявление локальных переменных
Условный оператор
Оператор выбора SELECT
Оператор циклической выборки
Вложенный вызов другой хранимой процедуры
Создание триггера

Структура тела триггера
Изменение существующего триггера
Старт транзакции
Объявление UDF (функций, определяемых пользователем) в базе данных
Предоставление привилегий доступа к таблицам БД, просмотрам, вызовам процедур
Отъем привилегий
Приложение А.
Свойства, методы, события.
Свойства
Методы

Компонент TDBComboBox
Компонент TDBLookupComboBox

Компонент ТТаblе
Компонент Tdatabase

Передача параметров через свойство DataSource

Unigraphics. Справочник по интерфейсу далее
Фотосъёмка.Универсальный самоучитель далее