Информация о книге

978-5-9775-0659-5

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Программирование » Delphi » Базы данных и Delphi. Теория и практика (+ DVD)

Осипов Д., Базы данных и Delphi. Теория и практика (+ DVD)


серия: Профессиональное программирование
БХВ-Петербург, 2011 г., 752 стр., 978-5-9775-0659-5


Описание книги

Книга основана на материалах лекций и практических занятий, разработанных автором, и объединяет теоретические основы и практические аспекты разработки реляционных баз данных. В первой части рассмотрена концепция реляционных баз данных: реляционная модель данных, жизненный цикл информационной системы, концептуальное и логическое моделирование БД, нормализация отношений, обеспечение многопользовательского доступа к данным, вопросы обеспечения безопасности БД, языки SQL и XML и др. Во второй части описаны возможности современных версий Delphi в области разработки приложений баз данных: подробное описание технологий dbExpress, Interbase Express и ADO, особенности использования компонентов управления данными визуальной библиотеки Delphi, механизм разработки многоуровневых приложений на основе технологии DataSnap, порядок создания отчетов для печати и многое другое. На диске (DVD-ROM) размещены дополнительные главы, а также материалы и пробные вер-сии ПО компании Embarcadero,...

Скачать, но не бесплатно эту книгу можно в интернет-магазинах

  Литрес - 383 руб.

Читать онлайн


Доступен для чтения фрагмент книги

Ключевые слова

Поделиться ссылкой на книгу



Содержание книги

ВВЕДЕНИЕ 1
ЧАСТЬ I. ВВЕДЕНИЕ В РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ
5
ГЛАВА 1. СИСТЕМЫ, ОСНОВАННЫЕ НА ФАЙЛАХ 7
Принцип построения систем, основанных на файлах
9
Недостатки систем, основанных на файлах 10
Пути устранения недостатков систем, основанных
на файлах 13
Резюме 14
ГЛАВА 2. ЭВОЛЮЦИЯ МОДЕЛЕЙ РЕАЛИЗАЦИИ
ДАННЫХ 15
Необходимость моделирования 17
Иерархическая модель 18
Сетевая модель 20
Попытки разработки стандарта БД 21
Реляционная модель 23
Объектно-ориентированная модель 25
Резюме 26
ГЛАВА 3. ФУНКЦИИ И КОМПОНЕНТЫ СУБД 27
Функциональные обязанности СУБД 27
Компоненты СУБД 29
Архитектурные решения доступа к БД 32
Файл-сервер 32
Клиент-сервер 34
Многоуровневые решения 36
Резюме 37
ГЛАВА 4. РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ 38
Сущность и атрибуты 39
Тип данных и домен 41
Связь 43
Реляционная таблица 45
Ключ 47
Целостность данных 48
Целостность доменов 48
Целостность сущностей 49
Ссылочная целостность 50
Корпоративная целостность 50
Реляционная алгебра 51
Резюме 56
ГЛАВА 5. МОДЕЛЬ "СУЩНОСТЬ-СВЯЗЬ" 57
Сущности и атрибуты в ER-модели 58
Подтипы сущностей 61
Связи в ER-модели 63
Сильные и слабые связи 66
Рекурсивная связь 67
Связи высокого порядка 68
Вариации ER-моделей 70
Резюме 72
ГЛАВА 6. НОРМАЛИЗАЦИЯ 73
Первая нормальная форма 76
Функциональная зависимость атрибутов 79
Порядок определения первичного ключа 81
Вторая нормальная форма 82
Третья нормальная форма 84
Нормальная форма Бойса—Кодда 86
Четвертая нормальная форма 87
Пятая нормальная форма 88
Резюме 90
ГЛАВА 7. ИНДЕКСИРОВАНИЕ 91
Индексы на основе хеширования 93
Хеш-функции 95
Хеширование текстовых данных 96
Борьба с коллизиями 96
Индексы на основе B-деревьев 98
Битовые индексы 103
Правила назначения вторичных индексов 103
Резюме 104
ГЛАВА 8. ТРАНЗАКЦИИ И ПАРАЛЛЕЛЬНАЯ
ОБРАБОТКА ДАННЫХ 105
Понятие транзакции 106
Проблемы параллельного доступа к данным 108
Потерянные обновления 108
Неактуальные чтения ("грязное чтение") 109
Несогласованная обработка 110
Чтение строк-фантомов 111
Управление параллельными транзакциями 112
Метод блокировок 113
Метод временных меток 115
Метод двухфазной блокировки 116
Оптимистический подход 116
Уровни изоляции SQL-транзакций 117
Резюме 118
ГЛАВА 9. ПРОЕКТИРОВАНИЕ БД 119
Понятие информационной системы 119
Этапы жизненного цикла базы данных 122
Планирование разработки БД 123
Определение и анализ требований к системе 123
Проектирование БД 127
Выбор СУБД 130
Создание прикладного программного обеспечения
131
Тестирование 132
Реализация 133
Эксплуатация и сопровождение 133
Резюме 134
ГЛАВА 10. ЗАЩИТА БД 135
Откуда исходят угрозы 136
Правила защиты БД 139
Аутентификация и авторизация 140
Криптографическая защита 141
Резервное копирование 143
Аудит событий безопасности 144
Модернизация системного и прикладного ПО 145
Доступ к данным только при посредничестве
представлений и хранимых процедур 145
Резюме 146
ГЛАВА 11. ЗНАКОМСТВО С SQL 147
Назначение SQL 149
Типы данных SQL 150
Предопределенные типы данных 152
Непредопределенные типы данных 157
Массив 158
Мультимножество 158
Пользовательский тип 159
Другие типы 160
Определение констант 160
Преобразование данных 161
Операторы 162
Встроенные функции 163
Резюме 164
ГЛАВА 12. ПОСТРОЕНИЕ ЗАПРОСОВ 165
Порядок сортировки — ORDER BY 167
Условие отбора данных — WHERE 167
Сравнение 168
Попадание в диапазон — BETWEEN 169
Соответствие шаблону — LIKE 169
Проверка неопределенного значения — IS NULL 170
Принадлежность множеству — IN, ALL, ANY, SOME
170
Предикат существования — EXISTS 171
Многотабличные запросы 171
Слияние UNION 173
Объединение ON 173
Объединение USING 176
Агрегирующие функции 176
Группировка данных — GROUP BY 177
Дополнительная фильтрация группы строк —
HAVING 178
Оконные функции 178
Рекурсивные запросы 182
Резюме 184
ГЛАВА 13. МАНИПУЛИРОВАНИЕ ДАННЫМИ И
УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ 185
Язык манипулирования данными DML 185
Вставка, инструкция INSERT 185
Редактирование, инструкция UPDATE 187
Удаление, инструкция DELETE 188
Слияние данных, инструкция MERGE 190
Транзакции 191
Диагностирование ошибок в работе транзакции 194
Настройка уровня изоляции 196
Резюме 197
ГЛАВА 14. ОПРЕДЕЛЕНИЕ ДАННЫХ В SQL 198
Базы данных (схемы) 198
Таблицы 200
Индексы 205
Домены 208
Представления (виртуальные таблицы) 209
Хранимые процедуры 210
Триггеры 212
Курсоры 217
Управление доступом к данным 220
Управление наборами привилегий 221
Предоставление привилегий 222
Лишение привилегий 224
Резюме 225
ГЛАВА 15. ОСНОВЫ XML 226
Правильность и допустимость документа 229
Построение простейшего документа XML 229
Элементы 230
Специальные символы 232
Атрибуты 232
Пространство имен 233
Определение документа 236
DTD 236
Хранение DTD во внешнем файле 240
Резюме 242
ГЛАВА 16. XML SCHEMAS 243
Определение элемента <element> 246
Тип данных 248
Производные типы <simpleType> 248
Глобальное и локальное объявление 252
Квалифицирование элемента 252
Ограничения на число элементов 253
Значение по умолчанию и фиксированное значение
253
Создание сложных структур <complexType> 254
Определение атрибута <attribute> 256
Подключение XML-схемы к документу 257
Пример схемы computers.xsd 258
Пример документа computers.xml 261
Резюме 262
ЧАСТЬ II. ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЙ БД В
DELPHI 263
ГЛАВА 17. КОНЦЕПЦИЯ ПРИЛОЖЕНИЯ БД DELPHI
265
Пример простейшего приложения БД 265
Архитектура приложения БД 269
Общая характеристика компонентов соединения с
БД 271
Общая характеристика компонентов наборов
данных 271
Источник данных 273
Общая характеристика компонентов управления
данными 274
Резюме 275
ГЛАВА 18. УНИВЕРСАЛЬНЫЙ НАБОР ДАННЫХ
TDATASET 276
Функционал набора данных 278
Открытие и закрытие набора данных 278
Обновление набора данных 279
Перемещение по набору данных 280
Создание закладок и переход к закладке 282
Состояние набора данных 284
Редактирование записей в наборе 286
Организация доступа к отдельному полю 288
Вычисляемые поля 290
Агрегатное поле 290
Фильтрация набора данных 291
Организация поиска данных 292
Обработка событий 294
Кэширование данных 295
Взаимодействие с элементами управления 296
Резюме 297
ГЛАВА 19. ОБЩАЯ ХАРАКТЕРИСТИКА ПОЛЕЙ
НАБОРА ДАННЫХ 298
Поле таблицы — класс TField 298
Классификация полей по функциональному
назначению 301
Классификация полей по типу хранимых данных
301
Обращение к полю 303
Доступ к данным поля 304
Низкоуровневый доступ к данным 306
Преобразование типа данных 307
Размер поля 308
Значение по умолчанию 309
Ограничения на ввод данных 310
Маска ввода 311
Индексные поля 312
Отображение данных 312
Обработка событий 314
Поля подстановки 315
Вычисляемые поля 322
Числовые поля, класс TNumericField 324
Поля целых чисел TLargeintField, TIntegerField,
TSmallintField, TWordField, TAutoIncField 326
Поля вещественных чисел TFloatField и
TCurrencyField 326
Бинарно-кодированные десятичные поля TBCDField
и TFMTBCDField 327
Текстовые поля, TStringField 328
Поле глобального идентификатора, TGuidField 329
Логическое поле, TBooleanField 330
Бинарные поля TBinaryField, TBytesField и
TVarBytesField 330
Дата и время, поля TDateTimeField, TDateField и
TTimeField 330
Дата и время, поле TSQLTimeStampField 331
Поля больших бинарных объектов, TBlobField,
TGraphicField, TMemoField и TWildMemoField 331
Композитные поля, TObjectField 338
Резюме 340
ГЛАВА 20. ВСПОМОГАТЕЛЬНЫЕ КЛАССЫ НАБОРА
ДАННЫХ 341
Коллекция TParams и динамический SQL 341
Параметр TParam 344
Описание структуры таблицы и ее индексов 347
Коллекция полей структуры таблицы TFieldDefs 349
Определение поля, класс TFieldDef 351
Коллекция структуры индексов таблицы, класс
TIndexDefs 352
Определение индекса, класс TIndexDef 353
Пример создания таблицы 354
Резюме 356
ГЛАВА 21. КЛИЕНТСКИЙ НАБОР ДАННЫХ
TCLIENTDATASET 357
Проекты БД, основанные на файлах 358
Загрузка и сохранение данных 361
Требования к структуре XML 365
Хранение данных в компоненте 366
Управление данными 367
Работа с индексами 370
Определение диапазона 373
Ограничения 376
Применение агрегирующих функций 376
Агрегат, класс TAggregate 377
Агрегатные поля TAggregateField 378
Место TClientDataSet в многоуровневых проектах
БД 379
Работа в клиентских приложениях DataSnap ранних
версий 380
Сохранение данных на сервере 381
Отмена изменений 382
Применение точек сохранения 383
Обработка ошибок 383
Оптимизация пакета с данными 385
Обновление данных 386
Выполнение команд SQL 387
Резюме 387
ГЛАВА 22. ВВЕДЕНИЕ В ТЕХНОЛОГИЮ ADO 388
Взаимодействие ADO и компонентов VCL 389
Строка соединения ADO 392
Соединение с хранилищем данных, компонент
TADOConnection 393
Установка соединения 393
Пример соединения без регистрации пользователя
397
Регистрация пользователя 402
Разрыв соединения 408
Информирование о соединении 408
Отправка команд 410
Управление подчиненными компонентами dbGo 413
Транзакции 413
Кэширование 415
Сервисные методы модуля ADODB 416
Резюме 418
ГЛАВА 23. НАБОРЫ ДАННЫХ ADO 419
Командный объект — TADOCommand 419
Коллекция ошибок Errors и объект ошибки Error 424
Набор данных ADO, компонент TADODataSet 425
Интерфейс множества записей _Recordset 426
Доступ к хранилищу данных 427
Выбор библиотеки курсора 428
Редактирование данных 429
Перемещение по множеству строк 430
Особенности применения поля BCD 432
События TCustomADODataSet 432
Работа с индексами 436
Сортировка записей 436
Поиск данных 436
Особенности изоляции транзакций 437
Фильтрация множества записей 438
Кэширование записей 438
Фильтрация записей в кэше 440
Организация отложенного обновления данных в
ADO 441
Портфельный режим обработки данных 443
Управление данными ADO в стиле Delphi 444
Таблица TADOTable 445
Организация отношения "главная – подчиненная
таблица" 446
Запрос TADOQuery 448
Хранимая процедура TADOStoredProc 450
Резюме 452
ГЛАВА 24. ДОСТУП К БД INTERBASE 453
Доступ к базе данных, компонент TIBDatabase 454
Выбор диалекта ISQL 455
Создание и уничтожение базы данных 456
Соединение с базой данных 457
Регистрация пользователя 459
Разрыв соединения 460
Информирование о составе БД 462
Управление транзакциями 463
Контроль за событиями 464
Совместная работа с SQL монитором 464
Транзакция, компонент TIBTransaction 465
Управление транзакцией 466
Тайм-аут транзакции 468
Диагностика состояния транзакции 469
Параметры транзакции 469
Информация об объектах БД, компонент TIBExtract
471
События InterBase, компонент TIBEvents 473
Информация о БД, компонент TIBDatabaseInfo 474
Монитор SQL, TSQLMonitor 476
Файл инициализации БД, TIBDataBaseINI 476
Резюме 478
ГЛАВА 25. НАБОРЫ ДАННЫХ INTERBASE 479
Инструкция SQL, компонент TIBSQL 480
Подготовка к работе 480
Обслуживание полученного набора данных 482
Наборы данных InterBase, компонент TIBDataSet
483
Подготовка к работе 483
Обработка событий 485
Генератор значений 486
Особенности редактирования данных 488
Работа в режиме кэширования обновлений 488
Перемещение по записям 490
Фильтрация данных 490
Запрос, компонент TIBQuery 491
Редактирование данных, доступных только для
чтения 492
Хранимая процедура, компонент TIBStoredProc 492
Таблица, компонент TIBTable 494
Экспорт-импорт данных 494
Модифицируемый запрос, компонент TIBUpdateSQL
496
Диалог фильтрации, компонент TIBFilterDialog 498
Резюме 500
ГЛАВА 26. АДМИНИСТРИРОВАНИЕ СЕРВЕРА
INTERBASE 501
Свойства сервера, TIBServerProperties 505
Сервис лицензирования, TIBLicensingService 510
Конфигурирование сервера, TIBConfigService 511
Ведение журнала транзакций 514
Протокол работы сервера, TIBLogService 517
Статистика, TIBStatisticalService 518
Проверка БД, TBDValidationService 520
Управление учетными записями, TIBSecurityService
522
Резервное копирование и восстановление,
TIBBackupService и TIBRestoreService 528
Резюме 532
ГЛАВА 27. ТЕХНОЛОГИЯ ДОСТУПА К ДАННЫМ
DBEXPRESS 533
Соединение с сервером БД, компонент
TSQLConnection 534
Настройка компонента 535
Управление соединением 537
Создание БД 539
Создание подключения в Data Explorer 539
Пример подключения 542
Управление подчиненными наборами данных 547
Управление транзакциями 547
Выполнение SQL-инструкций 548
Ограничение числа выполняющихся инструкций
549
Информирование о БД 549
Аутентификация пользователя в DataSnap 551
Мониторинг работы программы, TSQLMonitor 551
Резюме 553
ГЛАВА 28. НАБОРЫ ДАННЫХ DBEXPRESS 554
Базовый класс TCustomSQLDataSet 555
Формирование инструкций SQL 556
Получение системной информации 557
Набор данных dbExpress, компонент TSQLDataSet
561
Особенности обслуживания BLOB-полей 563
Таблица TSQLTable 563
Запрос TSQLQuery 565
Хранимая процедура TSQLStoredProc 565
Простой набор данных TSimpleDataSet 567
Резюме 569
ГЛАВА 29. ИНТЕРФЕЙС ПРИЛОЖЕНИЯ И
КОМПОНЕНТЫ DATA ACCESS 570
Источник данных — компонент TDataSource 570
Общие черты компонентов отображения данных
572
Сетка базы данных — компонент TDBGrid 573
Одновременный выбор нескольких строк 575
Колонки сетки 576
Коллекция колонок — класс TDBGridColumns 576
Колонка — класс TColumn 578
Обработка событий 582
События прорисовки данных 583
Статический текст — компонент TDBText 585
Строка ввода — компонент TDBEdit 586
Многострочный редактор — TDBMemo 587
Редактор расширенного формата — TDBRichEdit 588
Изображение — компонент TDBImage 588
Список — TDBListBox 589
Комбинированный список — TDBComboBox 590
Группа переключателей — TDBRadioGroup 590
Флажок — TDBCheckBox 591
Компонент — TDBCtrlGrid 591
Поля подстановки 594
Список подстановки — TDBLookupListBox 595
Комбинированный список подстановки —
TDBLookupComboBox 596
Навигатор — TDBNavigator 596
Резюме 598
ГЛАВА 30
. НЕСТАНДАРТНЫЕ РЕШЕНИЯ ДЛЯ СТАНДАРТНЫХ
КОМПОНЕНТОВ 599
Компоненты-списки 599
Компонент TListView 604
Сетка, компонент TStringGrid 607
Иерархические данные 610
Многотабличное представление иерархических
данных 610
Рекурсивная связь 611
Инициализация проекта 614
Новая запись 615
Сбор данных 617
Очистка данных 618
Редактирование записи 619
Удаление записи 620
Сортировка узлов 621
Переподчинение узлов 623
Резюме 628
ГЛАВА 31. МНОГОУРОВНЕВЫЕ БД НА ОСНОВЕ
DATASNAP 629
Архитектура трехзвенного проекта БД DataSnap
630
Сервер TDSServer 633
Класс сервера TDSServerClass 637
Обмен данными между клиентом и сервером,
компоненты TDSTCPServerTransport и
TDSHTTPService 638
Аутентификация,
TDSHTTPServiceAuthenticationManager 641
Метод сервера TSqlServerMethod 641
Пример проекта DataSnap 642
Регистрация службы 648
Подготовка клиентского приложения 649
Подключение сервера приложений к БД 651
Получение данных клиентским приложением 652
Реализация на сервере метода вставки новой
записи 654
Доступ к методу вставки записи на стороне
клиента 655
Архитектура DataSnap, совместимая со старыми
клиентскими приложениями 655
Интерфейс IAPPServer 656
Провайдер набора данных, компонент
TDataSetProvider 658
Подключение к провайдеру набора данных,
компонент TDSProviderConnection 664
Клиентское приложение БД на основе IAppServer
665
Механизм обратного вызова 666
Резюме 669
ГЛАВА 32. УПРАВЛЕНИЕ СЛУЖБОЙ СЕРВЕРА
ПРИЛОЖЕНИЙ DATASNAP 670
Менеджер управления службами 671
Работа со службой 672
Пример управляющего приложения SCP 673
Доработка сервиса DataSnap 680
Создание модуля панели управления 682
Резюме 686
ГЛАВА 33. ОТЧЕТЫ RAVE REPORTS 687
Обзор компонентов Rave Reports 687
Соединение TRvCustomConnection 688
Проект TRvProject 688
Системный компонент TRvSystem 689
Компоненты экспорта отчета в файл 690
Пример работы с редактором Rave Reports 690
Вызов отчета из приложения 696
Резюме 697
ГЛАВА 34. РАЗРАБОТКА ДИНАМИЧЕСКИХ
БИБЛИОТЕК ДЛЯ ПРОЕКТОВ БД 698
Общая характеристика DLL 698
Создание шаблона динамической библиотеки в
Delphi 700
Экспортирование функций DLL 702
Пример простой DLL 703
Взаимодействие динамической библиотеки с
проектом 704
Размещение файла DLL 705
Явная загрузка DLL 705
Неявная загрузка DLL 706
Пример DLL универсального генератора отчетов
707
Резюме 712
ЗАКЛЮЧЕНИЕ 713
СПИСОК ЛИТЕРАТУРЫ 715
СОДЕРЖИМОЕ DVD 717
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 719


Об авторе


Отзывы

Есть опечатки  [30 January 2013]
В книге много полезной информации, но, к сожалению, присутствуют опечатки, и если тема для тебя новая, то можно впасть в заблуждение. Например, в определении функциональной зависимости между атрибутами, автор пишет: "Говорят, что атрибут A зависит от B, если ..." и дальше приводит определение зависимости B от A, а не A от B (страница 79). Затем, в определении оператора ANY автор пишет: "ANY возвратит True, если если хотя бы одна из записей выдержала сравнение, False мы получим, если хотя бы одна из записей не выдерживает сравнения" вместо "False мы получим, если ни одна из записей не выдерживает сравнения".
Хороший старт для новичка  [16 May 2012]
Описана история возникновения БД и хорошо описаны методы хранения данных и различные методики проектирования БД. Всё это даёт хороший старт для понимания работы с БД. Тем более Delphi хорошо подходит для создания приложений работающих с БД.
Рассказано про основные компоненты и на примерах объясняется, как и что сделать нужно делать.
Понравилось что автор рассказывает про все этапы работы с БД от проектирования, заканчивая созданием отчётов.
P.S. диск к книге прочитался. Специально скопировал его к себе на винчестер что-бы проверить читаемость.
отзыв о книге  [15 March 2012]
Книга хорошая. Огорчило только то что диск не читается (пробовал на разных пк) поэтому поставит 5 рука не поднимается. Может это мне так повезло а может брак.

Последние поступления в рубрике "Delphi"



Информатика. Основы визуального программирования (+ CD-ROM) Информатика. Основы визуального программирования (+ CD-ROM) Кащеев Л.

Предлагаемое учебное пособие является составной частью учебно-методического комплекта по основам визуального программирования, который также включает тетрадь для практических работ и методические рекомендации для учителей. Главная цель пособия —......

Программирование в среде Delphi. Основные команды. Первые проекты Программирование в среде Delphi. Основные команды. Первые проекты Саблукова Н.

Учебное пособие включает в себя теоретический материал, разобранные примеры и задания по одной из наиболее популярных в настоящее время систем программирования Delphi. Весь теоретический материал и практические задания ориентированы на разработку......

Программирование в среде Delphi. Создание проектов Программирование в среде Delphi. Создание проектов Саблукова Н.

Учебное пособие включает в себя теоретический материал, разобранные примеры и задания по одной из наиболее популярных в настоящее время систем программирования Delphi. Весь теоретический материал и практические задания ориентированы на разработку......

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Осипов Д., Базы данных и Delphi. Теория и практика (+ DVD) в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.