Центральный Дом Знаний - Ачкасов В.Ю. Программирование баз данных в Delphi

Информационный центр "Центральный Дом Знаний"


      cendomzn@yandex.ru  

Наш опрос

Как Вы планируете отдохнуть летом?
Всего ответов: 924

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Форма входа

Ачкасов В.Ю. Программирование баз данных в Delphi

Год: 2010
Автор: Ачкасов В.Ю.
Язык: Русский
Формат: PDF
Качество: Изначально компьютерное (eBook)
Количество страниц: 255
Курс посвящен программированию локальных, клиент-серверных и распределенных (многоуровневых) баз данных в среде разработки программ Borland Delphi.
Данный курс является продолжением курса «Введение в программирование на Delphi», разработанным по многочисленным просьбам учащихся. Курс позволит вам освоить все аспекты разработки приложений с базами данных, которые в настоящее время являются наиболее востребованным на рынке продуктом. Курс «Программирование баз данных в Delphi», помимо обычной информации, содержит множество недокументированных возможностей Delphi. Он позволит вам освоить работу с базами данных шаг за шагом, от простых приложений с локальными БД до сложной архитектуры клиент-серверных и распределенных БД. Лекции курса содержат множество практических примеров, подкрепленных подробными комментариями.

СОДЕРЖАНИЕ

ЛЕКЦИЯ 1. ТЕОРИЯ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ..................................................................................................2

Введение....................................................................................................................................................................................2

Терминология...........................................................................................................................................................................2

Связи (отношения)...................................................................................................................................................................3

Ссылочная целостность..........................................................................................................................................................5

Нормализация базы данных...................................................................................................................................................6

ЛЕКЦИЯ 2. ADO. СВЯЗЬ С ТАБЛИЦЕЙ MS ACCESS...........................................................................................................8

Сравнение BDE и ADO.............................................................................................................................................................8

Создание базы данных MS Access..........................................................................................................................................9

Практика работы с БД MS Access из Delphi.........................................................................................................................13

ЛЕКЦИЯ 3. ПОИСК, ФИЛЬТРАЦИЯ И ИНДЕКСАЦИЯ ТАБЛИЦ...................................................................................24

Последовательный перебор...................................................................................................................................................24

Метод Locate..........................................................................................................................................................................24

Метод Lookup.........................................................................................................................................................................26

Фильтрация данных...............................................................................................................................................................27

Свойство Filter......................................................................................................................................................................27

Событие onFilterRecord.......................................................................................................................................................28

Использование индексов......................................................................................................................................................29

ЛЕКЦИЯ 4. НАБОРЫ ДАННЫХ. ОСНОВНЫЕ СВОЙСТВА, МЕТОДЫ И СОБЫТИЯ.................................................32

Свойства.................................................................................................................................................................................32

Методы....................................................................................................................................................................................34

События...................................................................................................................................................................................35

Блокировка таблиц в архитектуре файл-сервер..................................................................................................................36

Курсоры в наборах данных ADO..........................................................................................................................................36

CursorLocation (положение курсора)..................................................................................................................................36

CursorType (тип курсора)....................................................................................................................................................37

ЛЕКЦИЯ 5. ТАБЛИЦЫ PARADOX В ADO.............................................................................................................................38

Подключение таблиц Paradox 7 к приложению через ADO..............................................................................................38

ЛЕКЦИЯ 6. ПОЛЯ (TFIELD)....................................................................................................................................................45

Подстановочные (Lookup) поля...........................................................................................................................................45

Вычисляемые (Calculated) поля.........................................................................................................................................45

Поле данных (Data)...............................................................................................................................................................47

Свойство DisplayValues.......................................................................................................................................................47

Другие наиболее важные свойства класса TField............................................................................................................48

Наиболее важные методы класса TField............................................................................................................................49

Наиболее важные события класса TField..........................................................................................................................49

Обращение к значению поля.................................................................................................................................................49

ЛЕКЦИЯ 7. ЗАПРОСЫ..............................................................................................................................................................51

Запросы (TQuery, TADOQuery)............................................................................................................................................51

Компонент TADOQuery........................................................................................................................................................51

Свойства компонента-запроса............................................................................................................................................55

Методы компонента-запроса...............................................................................................................................................56

ЛЕКЦИЯ 8. КРАТКИЙ КУРС ЯЗЫКА ЗАПРОСОВ SQL.....................................................................................................57

Команда SELECT....................................................................................................................................................................57

Команда WHERE....................................................................................................................................................................58

Команда ORDER BY...............................................................................................................................................................59

Оператор IN.............................................................................................................................................................................60

Оператор BEETWEEN.............................................................................................................................................................60

Оператор LIKE.........................................................................................................................................................................60

Агрегатные функции..............................................................................................................................................................60

Команда GROUP BY...............................................................................................................................................................61

Команда DISTINCT | ALL.......................................................................................................................................................62

Команда HAVING...................................................................................................................................................................62

ЛЕКЦИЯ 9. ПРИЕМЫ СОЗДАНИЯ И МОДИФИКАЦИИ ТАБЛИЦ ПРОГРАММНО....................................................64

BDE. Простая таблица...........................................................................................................................................................64

BDE. Таблица с ключом и индексами..................................................................................................................................66

ADO. Создание простой таблицы посредством запроса SQL...........................................................................................69

ЛЕКЦИЯ 10. СОХРАНЕНИЕ ДРЕВОВИДНЫХ СТРУКТУР В БАЗЕ ДАННЫХ..............................................................72

Подготовка проекта..............................................................................................................................................................73

Создание и сохранение в таблицу дерева разделов...........................................................................................................74

Чтение древовидной структуры из таблицы........................................................................................................................78

ЛЕКЦИЯ 11. ОТЧЕТЫ. QUICK REPORT...............................................................................................................................82

Установка Quick Report.......................................................................................................................................................82

Простой отчет.........................................................................................................................................................................82

Отчет из связанных таблиц...................................................................................................................................................88

Экспорт отчета в другие форматы........................................................................................................................................90

ЛЕКЦИЯ 12. РАБОТА С СЕТКОЙ DBGRID...........................................................................................................................92

Столбцы DBGrid.....................................................................................................................................................................92

Пустые столбцы......................................................................................................................................................................95

Список выбора в столбце......................................................................................................................................................97

Выделение отдельных строк.................................................................................................................................................98

ЛЕКЦИЯ 13. DBCHART. ГРАФИКИ И ДИАГРАММЫ......................................................................................................101

Простое приложение с графиком.......................................................................................................................................101

Печать графика.....................................................................................................................................................................106

Основные методы и свойства DBChar.............................................................................................................................108

ЛЕКЦИЯ 14. ВВЕДЕНИЕ В КЛИЕНТ-СЕРВЕРНЫЕ БД. INTERBASE............................................................................110

InterBase...............................................................................................................................................................................111

Регистрация сервера............................................................................................................................................................113

Регистрация нового пользователя....................................................................................................................................117

ЛЕКЦИЯ 15. ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ. СОЗДАНИЕ И ПЕРЕНОС БАЗЫ ДАННЫХ............................119

Основные технические характеристики...........................................................................................................................119

Создание базы данных........................................................................................................................................................119

Размер страницы...................................................................................................................................................................120

Кодировка по умолчанию...................................................................................................................................................121

Диалект..................................................................................................................................................................................121

Регистрация базы данных...................................................................................................................................................122

Перенос базы данных...........................................................................................................................................................124

ЛЕКЦИЯ 16. ТИПЫ ДАННЫХ. ДОМЕНЫ...........................................................................................................................129

Типы данных.........................................................................................................................................................................129

Целые числа..........................................................................................................................................................................130

Вещественные числа...........................................................................................................................................................132

Числа с фиксированной точкой.........................................................................................................................................132

Даты и время.........................................................................................................................................................................133

Текстовые типы....................................................................................................................................................................133

Тип данных BLOB.................................................................................................................................................................135

Столбцы - массивы..............................................................................................................................................................135

Логический тип....................................................................................................................................................................136

Домены..................................................................................................................................................................................136

ЛЕКЦИЯ 17. СОЗДАНИЕ, МОДИФИКАЦИЯ И УДАЛЕНИЕ ТАБЛИЦ И ПРЕДСТАВЛЕНИЙ..................................137

CREATE TABLE.....................................................................................................................................................................137

Вычисляемые столбцы........................................................................................................................................................138

Значения по умолчанию.....................................................................................................................................................138

Параметр NOT NULL............................................................................................................................................................139

Ограничения столбцов........................................................................................................................................................139

Ограничения CHECK в доменах.........................................................................................................................................141

Порядок сортировки COLLATE...........................................................................................................................................141

Удаление таблиц..................................................................................................................................................................141

Модификация таблицы........................................................................................................................................................141

Представления......................................................................................................................................................................142

Изменяемые представления...............................................................................................................................................144

Модификация представления............................................................................................................................................144

ЛЕКЦИЯ 18. КЛЮЧИ И ИНДЕКСЫ.....................................................................................................................................145

Примечание о терминологии..............................................................................................................................................145

PRIMARY KEY......................................................................................................................................................................146

UNIQUE.................................................................................................................................................................................. 146

FOREIGN KEY.......................................................................................................................................................................147

Механизмы управления ссылками внешних ключей.....................................................................................................149

Именование ссылочной целостности...............................................................................................................................149

Индексы.................................................................................................................................................................................151

ЛЕКЦИЯ 19. ХРАНИМЫЕ ПРОЦЕДУРЫ............................................................................................................................153

Хранимые процедуры (Stored Procedures)......................................................................................................................153

Терминаторы.........................................................................................................................................................................154

Заголовок..............................................................................................................................................................................154

Тело процедуры....................................................................................................................................................................155

Блок кода процедуры...........................................................................................................................................................155

Оператор присваивания......................................................................................................................................................156

Условный оператор IF... THEN ... ELSE.............................................................................................................................156

Оператор SELECT.................................................................................................................................................................156

Цикл FOR SELECT и SUSPEND............................................................................................................................................157

Цикл WHILE ... DO................................................................................................................................................................157

Операторы INSERT, UPDATE, DELETE...............................................................................................................................158

Оператор EXECUTE PROCEDURE.......................................................................................................................................158

Исключения..........................................................................................................................................................................158

События и оператор POST EVENT.....................................................................................................................................159

Изменения и удаления хранимых процедур.....................................................................................................................160

Примеры создания и вызова хранимых процедур............................................................................................................160

ЛЕКЦИЯ 20. ГЕНЕРАТОРЫ И ТРИГГЕРЫ. РЕАЛИЗАЦИЯ АВТОИНКРЕМЕНТНОГО ПОЛЯ................................163

Генераторы............................................................................................................................................................................163

Увеличение шага генератора.............................................................................................................................................164

Триггеры................................................................................................................................................................................165

[ACTIVE | INACTIVE]........................................................................................................................................................ 165

{BEFORE I AFTER} {DELETE | INSERT | UPDATE}.........................................................................................................165

[POSITION  число 1......................................................................................................................................................... 166

AS........................................................................................................................................................................................166

Переменные NEW и OLD......................................................................................................................................................166

Реализация автоинкрементных ключевых полей...........................................................................................................167

ЛЕКЦИЯ 21. КОМАНДЫ МОДИФИКАЦИИ ДАННЫХ DML. СКРИПТЫ....................................................................169

INSERT................................................................................................................................................................................... 169

UPDATE................................................................................................................................................................................. 170

DELETE.................................................................................................................................................................................. 171

Скрипты.................................................................................................................................................................................172

ЛЕКЦИЯ 22. СОЕДИНЕНИЕ С БД КЛИЕНТСКОЙ ПРОГРАММЫ. ПРОБЛЕМЫ РУССКИХ БУКВ В INTERBASE. .....................................................................................................................................................................................................174

BDE......................................................................................................................................................................................... 174

Проблемы русских букв в InterBase..................................................................................................................................176

dbExpress...............................................................................................................................................................................177

InterBase Express (IBX).......................................................................................................................................................179

ЛЕКЦИЯ 23. СТАНДАРТНЫЕ ФУНКЦИИ INTERBASE. UDF.........................................................................................181

Стандартные функции InterBase.......................................................................................................................................181

AVG....................................................................................................................................................................................181

COUNT...............................................................................................................................................................................181

MAX / MIN..........................................................................................................................................................................182

SUM.................................................................................................................................................................................... 182

CAST................................................................................................................................................................................... 183

UPPER................................................................................................................................................................................ 183

GEN ID.............................................................................................................................................................................. 184

UDF......................................................................................................................................................................................... 184

ЛЕКЦИЯ 24. ТРАНЗАКЦИИ................................................................................................................................................... 188

Атомарность (Atomicity)....................................................................................................................................................188

Согласованность (Consistency)........................................................................................................................................188

Изолированность (Isolation)..............................................................................................................................................189

Устойчивость (Durability).................................................................................................................................................189

Неявный и явный страт транзакций...................................................................................................................................189

Как транзакция работает....................................................................................................................................................190

Уровни изолированности транзакций...............................................................................................................................191

Параметры транзакций........................................................................................................................................................192

Практика применения транзакций.....................................................................................................................................193

ЛЕКЦИЯ 25. АДМИНИСТРИРОВАНИЕ INTERBASE: БЕЗОПАСНОСТЬ БД...............................................................198

Утилиты командной строки...............................................................................................................................................198

Пользователи........................................................................................................................................................................200

Права.....................................................................................................................................................................................201

Роли........................................................................................................................................................................................203

ЛЕКЦИЯ 26. АДМИНИСТРИРОВАНИЕ INTERBASE: ОБСЛУЖИВАНИЕ БД.............................................................205

Резервное копирование базы данных (Backup)................................................................................................................205

Backup с помощью IBConsole............................................................................................................................................205

Backup с помощью утилиты командной строки..............................................................................................................206

Restore с помощью IBConsole...........................................................................................................................................208

Restore с помощью утилиты командной строки.............................................................................................................209

Теневые (Shadow) копии.....................................................................................................................................................210

Утилита командной строки gfix........................................................................................................................................212

Рекомендации по ремонту поврежденных баз данных...................................................................................................215

ЛЕКЦИЯ 27. ПРОГРАММНОЕ АДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ INTERBASE.............................................217

Разработка программы AdminIB.........................................................................................................................................217

Реализация резервного копирования................................................................................................................................217

Реализация восстановления из резервной копии............................................................................................................223

Работа с пользователями....................................................................................................................................................227

Добавление нового пользователя.......................................................................................................................................232

Редактирование пользователя..........................................................................................................................................233

Удаление пользователя......................................................................................................................................................235

ЛЕКЦИЯ 28. МНОГОУРОВНЕВАЯ АРХИТЕКТУРА.........................................................................................................236

Преимущества многоуровневых моделей........................................................................................................................237

Сервер приложений..............................................................................................................................................................237

ЛЕКЦИЯ 29. МНОГОУРОВНЕВАЯ АРХИТЕКТУРА. СОЗДАНИЕ «ТОНКОГО» КЛИЕНТА.....................................244

Создание клиентского приложения..................................................................................................................................244

Основные свойства и методы компонента ClientDataSet...........................................................................................246

Реализация подключений к серверным наборам данных...............................................................................................248

Сохранение данных в локальный файл, и чтение из файла............................................................................................250