ШУМАКОВ

 

 

 

 

 

базы данных

в среде

Delphi 3

 

Глава 1

Введение *

Часть 1*

Общие принципы разработки приложений баз данных в среде Delphi 3 *

1. Введение в базы данных *

1.1. Понятие баз данных. Степень детализации информации в базе данных *

1.2. Реляционные базы данных *

1.3. Понятие первичного ключа *

1.4. Реляционные отношения (связи) между таблицами базы данных *

1.4.1. Отношение "один-ко-многим" *

1.4.2. Отношение "один-к-одному" *

1.4.3. Отношение "многие-ко-многим" *

1.4.4. Связь меяаду записями одной таблицы *

1.5. Ссылочная целостность и каскадные воздействия *

1.6. Понятие внешнего ключа *

1.7. Индексы и методы доступа *

1.8. Нормализация таблиц при проектировании базы данных *

1.9. Нормализация - за и против *

1.10. Понятие транзакций *

1.11. Типы таблиц БД по виду их изменения -справочные, операционные и транзакционные *

1.12. Типы информационных систем по виду накапливания итоговой информации -операционные и накопительные *

1.13. Навигационный и SQL-ориентированный подходы к операциям над данными *

глава 2

С чего начать

2.1. Постановка задачи *

2.2. Создание псевдонима базы данных *

2.3. Создание таблиц базы данных *

2.3.1. Объявление полей *

2.3.2. Запоминание таблицы *

2.3.3. Изменение структуры существующей таблицы *

2.3.4. Определение индексов *

2.3.5. Определение ссылочной целостности между таблицами *

2.4. Создание простейшего приложения *

2.5. Создание приложения для работы с двумя таблицами *

2.6. Уточнение списка полей и настройка параметров столбцов в TDBGnd. Смена активного индекса *

2.7. Определение визуальных компонентов для работы с полями записи набора данных *

2.8. Реализация связи Master-Detail между наборами данных *

2.9. Использование компонента TQuery для формирования набора данных из нескольких таблиц *

глава 3

3. Средства Delphi для разработки приложений, использующих базы данных

3.1. Общий обзор средств для работы с базами данных *

3.2. Архитектуры баз данных *

3.2.1 Локальные базы данных и архитектура "файл-сервер" *

3.2.2. Удаленные базы данных и архитектура "клиент-сервер" *

3.2.3. Многозвенная архитектура "клиент-сервер" *

3.3. Общая структура приложения, работающего с базами данных *

глава 4

4. Компоненты для работы с базами данных

4.1. Обзор не визуальных компонентов для работы с базами данных *

4.2. Обзор визуальных компонентов для работы с базами данных *

4.3. Иерархия классов важнейших невизуальных компонентов *

4.4. Функциональная иерархия компонентов Delphi для работы с базами данных *

4.5. Как связаны друг с другом компоненты для работы с базами данных *

глава 5

5. Работа с утилитой BDE Administrator

5.1. Назначение BDE Administrator *

5.2. Создание псевдонима БД *

5.3. Параметры баз данных типа STANDARD *

5.4. Установки параметров драйвера PARADOX *

5.5. Установки параметров драйвера INTERBASE *

5.6. Системные стартовые установки *

5.7. Установки форматов *

5.7.1. Параметры формата даты *

5.7.2. Параметры формата времени *

5.7.3. Параметры числового формата *

5.8. Сохранение конфигурации в отдельном файле *

5.9. Объединение файлов конфигурации *

глава 6

6. Работа с полями - компонент TField

6.1. Применение TField *

6.2. Использование редактора полей для организации компонентов TField *

6.3. Типы полей *

6.4 Обращение к полям и их значениям *

6.5. Обращение к значению поля. Свойства Value и AsNNN *

6.6. Форматирование значений полей при их показе в визуальных компонентах во время выполнения *

6.6.1. Событие OnGetText *

6.6.2. Свойство DisplayFormat *

6.7. Форматирование полей во время их редактирования *

6.8. Проверка введенного в поле значения *

6.8.1. Свойство IsNull и обработчики событий OnSetText, On Validate, OnChange *

6.8.2. Значение поля по умолчанию и ограничения на значения поля *

6.9. Создание вычисляемых полей *

6.10. Создание полей выбора данных (lookup-полей) *

6.10.1. Поля выбора данных *

6.10.2. Поля выбора данных, использующиеся для занесения информации. Коды и семантически значимые поля *

6.10.3. Буфер значений полей выбора данных *

6.11. Обзор полей TxxxField *

6.12. Информация о типе поля *

6.13. Информация о виде поля *

6.14. Имя поля в SQL-запросах *

6.15. Проверка применимости символа в поле *

глава 7

7. Общие принципы работы с наборами данных

7.1. Понятие наборов данных *

7.1.1. Набор данных TTable *

7.1.2. Набор данных TQuery *

7.2. Состояния наборов данных *

7.3. Навигация по набору данных *

7.3.1. Общие положения *

7.3.2. Определение начала и конца набора данных *

7.3.3. Порядок следования и порядок сортировки записей *

7.3.4. Навигация по набору данных вниз *

7.3.5. Навигация по набору данных вверх *

7.3.6. Спонтанные перемещения по набору данных *

7.3.7. Реакция на изменение курсора набора данных *

7.3.8. Временное отключение визуализации при работе с НД *

7.4. Внесение изменений в НД *

7.4.1. Свойства, запрещающие или разрешающие изменять записи в НД *

7.4.2. Изменение текущей записи *

7.4.3. Добавление новой записи *

7.4.4. Запоминание изменений - метод Post *

7.4.5. Отмена сделанных изменений - метод Cancel *

7.4.6. Оценка изменения записи *

7.4.7. Реакция на изменение данных *

7.4.8. Удаление записи *

7.5. Сценарий обновления записей на одной форме с компонентом TDBGrid *

7.6. Закладки на записях НД *

7.7. Поиск записей в наборах данных *

7.7.1. Метод Locate *

7.7.2. Использование методов FindFirst, FindLast, FindNext, FindPrior *

7.7.3. Метод Lookup *

7.8. Фильтрация записей в наборах данных *

7.8.1. Свойство Filtered *

7.8.2. Событие OnFilterRecord *

7.8.3. Свойство Filter *

7.8.4. Свойство FilterOptions *

7.8.5. Навигация в неотфильтрованном НД между записями, удовлетворяющими фильтру *

7.9. Получение информации о полях *

7.9.1. Использование компонента TFieldDefs *

7.9.2. Использование свойств FieldCount и Fields *

7.9.3. Свойства DefaultFields, CacheBlobs, метод ClearFields *

7.9.4. Способы обращения к полям набора данных *

7.10. Блокировка таблиц в многопользовательском режиме *

7.11. Синхронизация содержимого наборов данных *

7.11.1. Синхронизация содержимого наборов данных в одном приложении *

7.11.2. Синхронизация содержимого наборов данных в разных приложениях *

7.12. Обработка ошибок смены состоянии набора данных *

7.13. Ограничения на значения полей *

глава 8

8. Работа с компонентом ТТаblе

8.1. Работа с индексами *

8.1.1. Получение информации об индексах ТБД *

8.1.2. Установка текущего индекса ТТаЫе *

8.1.3. Добавление нового индекса *

8.1.4. Удаление существующего индекса *

8.2. Исключительный доступ к НД *

8.2.1. Установка приоритетного доступа при многопользовательском режиме *

8.2.2. Очистка записей ТБД *

8.2.3. Уничтожение таблицы *

8.2.4. Создание новой таблицы *

8.3. Поиск записей в НД *

8.3.1. Обзор методов *

8.3.2. Установка значений для поиска *

8.3.3. Точный поиск *

8.3.4. Неточный поиск *

8.3.5. Инкрементальный локатор *

8.3.6. Поиск по части текущего индекса *

8.4. Фильтрация записей в TTable *

8.4.1. Обзор методов *

8.4.2. Использование SetRange *

8.4.3. Методы SetRangeStart, SetRangeEnd, ApplyRange *

8.4.4. Метод CancelRange *

8.4.5. Методы EditRangeStart, EditRangeEnd *

8.4.6. Свойство KeyExclusive *

8.4.7. Фильтрация по составному индексу *

8.4.8. Фильтрация по частичному соответствию *

8.4.9. Фильтрация по части составного индекса *

8.4.10. Ограничения возможностей фильтрации *

8.5. Множественный взгляд на НД *

8.5.1. Совмещение курсоров двух НД *

8.5.2. Создание отдельной формы для изменения записи НД. Форма добавления\корректировки записи с использованием механизма совмещения курсоров *

8.5.3. Переназначение TDataSource во время выполнения *

8.5.4. Создание отдельной формы для изменения записи НД. Форма добавления\корректировки записи с использованием переадресации DataSource дочерней формы *

8.5.5. Использование контейнера TDataModule *

глава 9

9. Работа с компонентом TQuery

9.1. Общие сведения *

9.2. Соединение компонента TQuery с базой данных *

9.3. Соединение компонента TQuery и визуальных компонентов для работы с данными *

9.4. Выполнение статических запросов *

9.5. Методы открытия и закрытия компонента TQuery *

9.6. Изменяемые TQuery *

9.7. Выполнение динамических запросов *

9.7.1. Понятие динамического запроса *

9.7.2. Формирование динамического запроса *

9.7.3. Установка значений параметров динамического запроса во время выполнения *

9.7.4. Методы Prepare и Unprepare *

9.7.5. Указание значения NULL для параметров *

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

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

9.9. Динамический редактор SQL *

9.10. Использование TQuery для получения агрегированных значений *

9.11. Использование компонента TQuery для локальных и удаленных БД *

глава 10

10. Использование компонента TDBGrid

10.1. Понятие столбцов TDBGrid *

10.2. TDBGrid и динамические свойства столбцов *

10.3. Редактор столбцов TDBGrid, постоянные столбцы и компонент TDBGridColumns *

10.3.1. Постоянные и динамические столбцы *

10.3.2. Работа с редактором столбцов *

10.3.3. Изменение свойств постоянных столбцов во время выполнения. TDBGridColumns *

10.3.4. Другие свойства набора столбцов TDBGridColumns *

10.3.5. "Пустые" постоянные столбцы *

10.3.6. Формирование списка возможных значений столбца *

10.4. Управление видом и поведением TDBGrid *

10.5. Редактирование наборов данных непосредственно из TDBGrid *

10.5.1. Добавление записей *

10.5.2. Корректировка *

10.5.3. Возникновение исключений при добавлении и корректировке записей в TDBGrid *

10.6. Определение текущего столбца во время выполнения программы и проверка правильности индекса *

10.7. Изменение порядка следования столбцов в TDBGrid *

10.7.1. Изменение порядка следования столбцов во время разработки приложения *

10.7.2. Изменение порядка следования столбцов во время выполнения приложения *

10.8. Управление отображением данных в TDBGrid *

10.9. Обработка иных событий в DBGrid *

10.9.1. Перемещение между ячейками TDBGrid *

10.9.2. Действия с мышью и клавиатурой в момент, когда TDBGrid обладает фокусом управления *

10.10. Работа с компонентом TDBCtrlGrid *

глава 11

11. Визуальные компоненты для работы с текущей записью набора данных

11.1. Компонент TDBText *

11.2. Компонент TDBEdit *

11.3. Компонент TDBCheckBox *

11.4. Компонент TDBRadioGroup *

11.5. Компонент TDBListBox *

11.6. Компонент TDBComboBox *

11.7. Компонент TDBLookupComboBox *

11.8. Компонент TDBLookupListBox *

11.9. Компонент TDBMemo *

11.10. Компонент TDBRichEdit *

11.10.1. Назначение компонента *

10.11.2. Работа с абзацем *

11.10.3. Сохранение комментария в файле и считывание комментария из файла *

11.10.4. Работа с выделенным текстом *

11.10.5. Поиск фрагмента текста *

глава 12

12. Компонент TSession

12.1. Назначение компонента TSession *

12.2. Работа с установками BDE *

12.3. Чтение имен таблиц базы данных *

12.4. Работа с базами данных *

12.4.1. Список объявленных БД *

12.4.2. Хранение соединения с неактивной БД *

12.4.3. Работа с активными БД *

12.5. Управление парольной защитой *

12.5.1. Работа с паролями для Paradox-таблиц *

12.5.2. Средства TSession для работы с паролями *

12.6. Определение служебных каталогов сессии *

12.7. Событие активизации сессии *

глава 13

13. Построение графиков. Компонент TDBChart

13.1. Создание графика *

13.2. Добавление серии в график и установка свойств серии в редакторе графика *

13.2.1. Добавление серии в график *

13.2.2. Выбор источника данных *

13.2.3. Определение функций *

13.3. Добавление серии во время выполнения *

13.4. Работа с сериями. Компонент TChartSeries *

13.4.1.Свойства компонента TChartSeries *

13.4.2. Методы компонента TChartSeries *

13.4.3. События компонента TChartSeries *

глава 14

14. Введение в построение отчетов

14.1. Компоненты для построения отчетов *

14.2. Компонент TQuickRep *

14.3. Компонент TQRBand *

14.4. Создание простейшего отчета *

14.5. Использование компонента TQRExpr для определения выражений *

14.6. Использование TQRBand для представления заголовков столбцов *

14.7. Использование TQRBand для показа заголовка и подвала страницы *

14.8. Использование компонента TQRSysData для показа вспомогательной и системной инф *

14.9. Группировки данных в отчете *

14.10. Множественная группировка данных в отчете *

14.11. Построение отчета на основе наборов данных, связанные в приложении как Master - Detail *

14.12. Построение композитного отчета *

глава 15

15. Введение в разработку систем принятия решений

15.1. Понятие многомерных данных *

15.2. Метакуб (многомерный куб) *

15.3. Динамическая фиксация числа измерений *

15.4. Обзор компонентов Delphi для разработки систем принятия решений *

15.5. Пример многомерных данных *

15.6. Использование компонента TDecisionQuery *

15.7. Редактор многомерного запроса *

15.8. Использование компонента TDecisionCube *

15.9. Использование компонента TDecisionSource *

15.10. Использование компонента TDecisionGrid *

15.10.1. Создание сетки многомерных данных *

15.10.2. Раскрытие и закрытие данных по измерениям средствами компонента TDecisionGrid *

15.10.3. Показ промежуточных сумм *

15.10.4. Исключение и включение измерения в состав показываемых в сетке данных *

15.10.5. Установка свойств показа данных по отдельному измерению *

15.10.6. Свойства и события, управляющие поведением TDecisionGrid в целом *

15.11. Использование компонента TDecisionPivot *

15.11.1. Создание переключателя активных измерений *

15.11.2. Изменение способа показа данных по измерению *

15.11.3. Фиксация значения в измерении *

15.11.4. Свойства, управляющие представлением в форме компонента TDecisionPivot *

глава 16

Часть 2

Построение приложений баз данных в архитектуре "клиент-сервер"

16. Введение в технологию клиент-сервер

16.1. Архитектуры "файл-сервер" и "клиент-сервер" *

16.2. SQL-сервер Borland InterBase и его основные компоненты *

16.3. InterBase: некоторые технические характеристики *

16.4. Физическая организация базы данных InterBase *

16.5. Delphi и InterBase *

16.6. Вопросы соединения с удаленным сервером *

глава 17

17. Пример создания удаленной БД и приложения

17.1. Создание БД "Учет товаров на складе" *

17.2. Создание псевдонима удаленной БД *

17.3. Создание БД *

17.4. Соединение с БД *

17.5. Создание таблиц БД *

17.6. Создание приложения для занесения данных *

17.6.1. Соединение с БД из приложения *

17.6.2. Создание формы ввода в ТБД *

17.6.3. Создание триггеров для поддержания каскадных воздействий *

17.6.4. Использование генератора и хранимой процедуры для присвоения уникального значения столбцу первичного индекса *

глава 18

18. Работа с утилитой Windows Interactive SQL (WISQL)

18.1. Установка набора символов текущей сессии *

18.2. Создание БД *

18.3. Соединение с БД *

18.4. Выполнение SQL-операторов *

18.5. Подтверждение и откат изменений *

18.6. Просмотр структуры компонентов БД *

18.7. Просмотр структуры БД *

18.8. Установка режимов работы WISQL *

18.9. Выполнение Script-файлов *

 

глава 19

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

19.1. Оператор CREATE DATABASE *

19.2. Многофайловая БД *

19.3. Определение пароля *

19.4. Указание размера страницы БД *

19.5. Указание национальной кодировки символов, принимаемой по умолчанию *

глава 20

20. Типы столбцов таблиц БД

20.1. Обзор типов данных InterBase *

20.2. Целочисленные значения *

20.3. Значения с плавающей запятой *

20.4. Фиксированно-десятичные значения *

20.5. Значения типа даты *

20.6. Символьные типы данных *

20.7. Значения типа BLOB *

20.8. Совместимость типов столбцов *

глава 21

21. Создание доменов

21.1. Понятие домена *

21.2. Ограничения на значения столбцов, ассоциированных с доменом *

21.3. Изменение определения домена *

глава 22

22. Создание таблиц

22.1. Общий вид оператора CREATE TABLE *

22.2. Столбцы вычисляемых значений *

22.3. Ограничения целостности *

22.4. Первичный ключ *

22.5. Уникальный ключ *

22.6. Внешний ключ и определение ссылочной целостности *

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

22.8. Требования к значениям столбцов *

22.9. Изменение объявления таблиц *

22.10. Изменение атрибутов столбца *

22.11. Удаление таблицы *

глава 23

23. Работа с индексами

23.1. Логическое разделение на ключи и индексы *

23.2. Необходимость создания индексов *

23.3. Создание индекса *

23.4. Улучшение производительности индекса *

23.4.1. Перестройка индекса *

23.4.2. Повторное вычисление показателя "полезности" индекса *

23.5. Удаление существующего индекса *

глава 24

24. Компонент Tdatabase 204

 

глава 25

25. Оператор SELECT

25.1. Простейший вид оператора SELECT *

25.2. Использование предложения WHERE *

25.2.1. Сравнение значения столбца с константой *

25.2.2. Сравнение значения столбца из одной таблицы со значением столбца из другой таблицы (внутреннее соединение) *

25.3. Использование псевдонимов таблиц *

25.4. Предложение ORDER BY - определение сортировки *

25.5. Устранение повторяющихся значений *

25.6. Расчет значений результирующих столбцов на основе арифметических выражений *

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

25.8. Использование группировок записей *

25.9. Предложение HAVING - наложение ограничений на группировку записей *

25.10. Предложение WHERE : задание сложных условий поиска *

25.10.1. Использование логических выражений *

25.10.2. Сравнение столбца с результатом вычисления выражения *

25.10.3. Использование BETWEEN *

25.10.4. Использование IN (список значений) *

25.10.5. Использование STARTING *

25.10.6. Использование CONTAINING *

25.10.7. Использование функции UPPER *

25.10.8. Использование LIKE *

25.10.9. Использование функции CAST *

25.11. Использование подзапросов *

25.12. Вложение подзапросов *

25.13. Дополнительные возможности использования подзапросов, возвр единичное значение *

25.13.1. Использование EXISTS *

25.13.2. Использование SINGULAR *

25.14. Использование подзапросов, возвращающих множество значений *

25.14.1. Использование ALL, SOME *

25.14.2. Использование HAVING и агрегатных функций для вложенных подзапросов *

25.15. Внешние соединения *

25.16. UNION - объединение результатов выполнения нескольких операторов SELECT *

25.17. Использование IS NULL *

25.18. Использование операции сцепления строк *

25.19. Работа с разными БД в одном запросе *

глава 26

26. Добавление, изменение, удаление записей

26.1. Оператор INSERT *

26.1.1. Явное указание списка значений *

26.1.2. Указание значений при помощи оператора SELECT *

26.2..0ператор UPDATE *

26.3. Оператор DELETE *

глава 27

27. Работа с просмотрами VIEW

27.1. Понятие просмотра как виртуальной таблицы *

27.2. Способы формирования просмотров *

27.3. Указание столбцов просмотра в операторе CREATE VIEW *

27.4. Обновляемые и необновляемые просмотры *

27.5. Использование CHECK OPTION *

27.6. Компоненты Delphi и использование просмотров *

 

глава 28

28. Работа с хранимыми процедурами

28.1. Понятие хранимой процедуры *

28.2. Создание хранимой процедуры *

28.3. Алгоритмический язык хранимых процедур *

28.3.1. Объявление локальных переменных *

28.3.2. Операторные скобки BEGIN... END *

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

28.3.4. Оператор IF... THEN ... ELSE *

28.3.5. Оператор SELECT *

28.3.6. Оператор FOR SELECT... DO *

28.3.7. Оператор SUSPEND *

28.3.8. Оператор WHILE... DO *

28.3.9. Оператор EXIT *

28.3.10. Оператор EXECUTE PROCEDURE *

28.3.11. Оператор POST_EVENT *

28.4. Вызов процедур выбора в приложении клиента *

28.5. Обращение к процедурам действия. *

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

глава 29

29. Работа с триггерами

29.1. Создание триггеров *

29.2. Определение заголовка триггера *

29.3. Значения OLD и NEW *

29.4. Обеспечение каскадных воздействий *

29.5. Ведение журнала изменений *

29.6. Использование триггеров для реализации бизнес-правил *

29.7. Изменение и удаление триггеров *

глава 30

30. Использование генераторов *

глава 31

31. Использование утилиты Database Explorer

31.1. Просмотр метаданных *

31.2. Работа с таблицами *

31.2.1. Просмотр и изменение данных *

31.2.2. Просмотр столбцов *

31.2.3. Просмотр ограничений на значения столбцов *

31.2.4. Просмотр индексов *

31.2.5. Просмотр триггеров *

глава 32

32. Транзакции

32.1. Откат изменений и целостность БД *

32.2. Понятие транзакции *

32.3. Уровни изоляции транзакций: приложение клиента *

32.3.1. Уровень изоляции транзакций Dirty Read *

32.3.2. Уровень изоляции транзакций Read Commited *

32.3.3. Уровень изоляции транзакций Repeatable Read *

32.3.4. Установка уровней изоляции транзакций в Delphi *

32.4. Свойство UpdateMode и обновление записей *

32.5. Явно и неявно стартуемые транзакции *

32.6. Управление транзакциями на SQL-сервере InterBase *

глава 33

33. Кэшированные изменения

33.1. Использование кэшированных изменений *

33.2. Активизация режима кэшированных изменений *

33.3. Отмена кэшированных изменений *

33.4. Подтверждение кэшированных изменений *

33.4.1. Подтверждение кэшированных изменений методом ApplyUpdates компонента TDatabase *

33.4.2. Подтверждение кэшированных изменений методом ApplyUpdates набора данных *

33.5. Видимость измененных записей *

33.6. Обработка ошибок. Обработчик события OnUpdateError *

33.6.1. Использование обработчика OnUpdateError *

33.6.2. Использование параметра UpdateKind *

33.6.3. Использование параметра UpdateAction *

33.6.4. Использование параметра Е *

33.7. Компонент TUpdateSQL *

33.7.1. Использование компонента TUpdateSQL *

33.7.2. Компонент TUpdateSQL: этап разработки *

33.7.3. Компонент TUpdateSQL: выполнение SQL-операторов *

глава 34

34.Работа с событиями

34.1. Понятие события *

34.2. Приложения Delphi и компонент TIBEventAlerter *

34.3. Использование компонента TIBEventAlerter для обработки событий сервера БД в клиентском приложении *

34.4. Обмен сообщениями между приложениями *

34.5. Обмен инициализирующими сообщениями между приложениями *

глава 35

35. Функции, определяемые пользователем

35.1. Понятие функции, определяемой пользователем *

35.2. Разработка DLL и UDF в Delphi *

35.2.1. Общие положения *

35.2.2. Совместимость типов параметров *

35.2.3. Особенности использования в UDF параметров типа PChar *

35.2.4. Особенности использования в UDF параметров типа даты и времени *

35.3. Объявление UDF в БД InterBase *

35.4. Пример создания DLL с несколькими UDF и объявления их в БД *

глава 36

36. Определение бизнес-правил

36.1. Размещение бизнес-правил *

36.2. Реализация бизнес-правил на сервере *

36.2.1. Ограничения значения столбца записи *

36.2.2. Запрет добавления записей в просмотре *

36.2.3. Использование триггеров для поддержания ссылочной целостности *

36.3. Реализация бизнес-правил в приложении клиента *

36.3.1. Реализация бизнес-правил в компонентах типа "набор данных" *

36.3.2. Свойство Constrained (компонент TQuery) *

36.3.3. Свойство Constraints *

36.3.4. Реализация бизнес-правил в компоненте TField *

36.3.5. Реализация бизнес-правил в иных компонентах *

36.4. Использование словаря данных для определения атрибутов полей *

 

глава 37

37. Оптимизация работы с БД

37.1. Оптимизация структуры БД *

37.1.1. Нормализация таблиц: теория и практика *

37.1.2. Частичная зависимость структуры данных от методов доступа к ним *

37.1.3. Физические характеристики БД *

37.2. Оптимизация запросов *

37.2.1. Оптимальная структура индексов *

37.2.2. "Полезность" индексов *

37.2.3. Просмотр плана выполнения запросов *

37.2.4. Целесообразность создания индексов *

37.2.5. Частичное использование составного индекса *

37.2.6. Многопоточность поиска по OR и IN *

37.2.7. Уменьшение общего количества индексов *

37.3. Оптимизация клиентских приложений *

37.3.1. Минимизация соединений с БД *

37.3.2. Использование TQuery *

37.3.3. Перенос тяжести вычислительной работы на сервер *

глава 38

38. Работа с утилитой InterBase Server Manager

38.1. Соединения *

38.1.1. Соединение с сервером *

38.1.2. Соединение с БД *

38.1.3. Выбор текущего сервера и БД *

38.1.4. Разрыв соединения *

38.2. Изменение конфигурации сервера *

38.3. Сбор статистики о БД *

38.3.1. Статистические данные непосредственно о БД *

38.3.2. Анализ БД *

38.4. Принудительная сборка мусора *

38.5. Создание резервной копии (сохранение) и восстановление БД *

38.5.1. Переход в однопользовательский режим соединения с БД *

38.5.2. Резервное копирование БД *

38.5.3. Восстановление БД из резервной копии *

38.6. Принудительная запись на диск *

38.7. Восстановление транзакций *

38.8. Регистрация новых пользователей *

глава 39

39. Установка привилегий доступа

39.1. Привилегии доступа по умолчанию *

39.2. Виды привилегий *

39.3. Минимальный состав параметров при предоставлении привилегий доступа к таблице БД *

39.4. Предоставление нескольких привилегий *

39.5. Предоставление привилегий нескольким пользователям *

39.6. Назначение привилегий всем пользователям *

39.7. Установка привилегий доступа к отдельным столбцам таблицы *

39.8. Предоставление пользователю права назначать привилегии другим пользователям *

39.9. Назначение привилегий вызова хранимых процедур *

39.10. Назначение процедуре прав доступа к таблице *

39.11. Ликвидация привилегий *

 

 

приложение А

Свойства, методы, события.

Компонент TDataBase *

Компонент TDBChart *

Компонент TDBCheckBox *

Компонент TDBComboBox *

Компонент TDBCtriGrid *

Компонент TDBEdit *

Компонент TDBGrid *

Компонент TDBListBox *

Компонент TDBLookupComboBox *

Компонент TDBMemo *

Компонент TDBRadioGroup *

Компонент TDBRichEdit *

Компонент TDBText *

Компонент TDecisionCube *

Компонент TdecisionGrid *

Компонент TDecisionPivot *

Компонент TDecisionSource *

Компонент TField *

Компонент TIBEventAlerter *

Компонент TQuery *

Компонент TQRBand *

Компонент TQRExp *

Компонент TQRGroup *

Компонент TQRSubDetail *

Компонент TQRSysData *

Компонент TQuickRep *

Компонент TChartSeries *

Компонент TSession *

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

Компонент TUpdateSQL *

приложение B

Формат SQL-операторов (СУБД InterBase)

База данных *

Создание базы данных *

Определение типа данных *

Домены *

Создание домена *

Ограничение, накладываемое на значения полей, ассоциированных с доменом *

Изменение определения домена *

Таблицы базы данных *

Определение первичного ключа *

Определение уникального ключа *

Определение ограничения внешнего ключа и ссылочной целостности с родительской таблицей *

Ограничения на значения столбца *

Добавление нового столбца в таблицу БД *

Добавление новых ограничений целостности *

Удаление столбца (столбцов) из таблицы БД *

Удаление ограничений целостности *

Удаление таблицы БД целиком *

Индексы *

Создание индекса *

Деактивизация индекса *

Активизация индекса *

Вычисление показателя "полезности" индекса *

Удаление индекса *

Выборка данных из таблиц БД *

Изменение данных *

Добавление записей *

Изменение записей *

Просмотры *

Создание просмотра *

Удаление просмотра *

Хранимые процедуры *

Создание хранимой процедуры *

Обращение к хранимой процедуре (утилита WISQL) *

Тело процедуры *

Изменение хранимой процедуры *

Удаление хранимой процедуры: *

Алгоритмический язык триггеров и хранимых процедур *

Объявление локальных переменных *

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

Условный оператор *

Оператор выбора SELECT *

Оператор циклической выборки *

Принудительная выдача выходных параметров (только хранимые процедуры) *

Оператор цикла *

Выход из процедуры, триггера *

Вложенный вызов другой хранимой процедуры *

Инициация наступления события *

Обращение к старому и новому значениям столбца (только триггеры) *

Триггеры *

Создание триггера *

Структура тела триггера *

Изменение существующего триггера *

Удаление триггера *

Генераторы *

Создание генератора *

Установка стартового значения генератора *

Транзакции *

Старт транзакции *

События *

Инициация наступления события *

UDF (Функции, определяемые пользователем) *

Объявление UDF (функций, определяемых пользователем) в базе данных *

Привилегии доступа *

Предоставление привилегий доступа к таблицам БД, просмотрам, вызовам процедур *

Отъем привилегий *