29.1. Основные определения
База данных – это набор взаимосвязанных таблиц, которые могут храниться в отдельных файлах (Dbase, Paradox и т.д.) или в одном файле (Access).
Таблица – набор полей (столбцов), количество которых почти постоянно, и записей (строк), количество которых меняется в процессе работы.
Рассмотрим пример базы данных, содержащей две таблицы. Одна таблица будет представлять список сотрудников – TSPIS, а вторая – список должностей – TDOL:
Таблица TSPIS
ID | FIO | CODEDOL | STAG | DATEB | OKLAD |
01 | Иванов | 2 | 10 | 11.02.1970 | 300000 |
02 | Сидоренко | 1 | 5 | 21.11.1981 | 200000 |
… | … | … | … | … |
|
В этой таблице 6 полей: ID – номер сотрудника; FIO – фамилия, имя и отчество; CODEDOL – код должности; STAG – стаж работы; DATEB – дата рождения; OKLAD – оклад сотрудника.
Таблица TDOL
CODE | NAMEDOL |
1 | Инженер |
2 | Техник |
…. | ….. |
В таблице TDOL всего 2 поля: CODE – код должности, NAMEDOL – наименование должности. Эти две таблицы будут в дальнейшем связаны по полю CODEDOL таблицы TSPIS и полю CODE таблицы TDOL, это позволяет существенно экономить память, занимаемую таблицами, так как код должности занимает в основной таблице гораздо меньше места, чем наименование должности. Обычно эти связываемые таблицы называют справочниками.
Обычно первые поля таблиц определяют ключ записи или строки. Его значение должно быть уникально и не может повторяться. Строки в таблицах реляционных баз данных образуют множество, они не имеют последовательных номеров, а для их идентификации используется значение ключа.
Индексные поля определяют порядок сортировки строк таблицы. Индекс может залаваться одним полем, несколькими полями или выражением от значений полей. Индексы позволяют значительно ускорить поиск информации в таблице по значению индексного поля за счет предварительной сортировки записей и использования бинарного поиска. Например, если таблица содержит 1000 записей, то для поиска нужной строки в среднем надо произвести 500 сравнений. Бинарный поиск уменьшает число сравнений до 10, так как 1000 ~ 210. Индексы приводят к появлению дополнительных таблиц в базе данных.
Домен – это диапазон или набор значений какого–либо поля.
Сессия – представляет собой канал связи с базой данных. Приложение может иметь несколько сессий. Сессии являются владельцами курсоров и блокировок.
Курсор – специальный объект, в котором хранятся текущий набор строк таблицы и информация о закладках (BookMark). Все операции с таблицами осуществляются только через курсор. Он позволяет ускорить работу с таблицами, т.к. его буфер хранит не одну, а 100–1000 строк таблицы, что позволяет существенно реже обращаться к файлам таблиц. Курсор может находиться как на стороне сервера, так и на стороне клиента.
Клиент – приложение, которое задает вопросы.
Сервер – приложение, которое отвечает на вопросы.
Запрос – оператор на языке SQL (Structured Query Language).
Транзакция – система взаимосвязанных действий по изменению базы данных. Она должна быть выполнена до конца или отменена полностью, т.е. должна быть предусмотрена возможность отката назад. Транзакция требует наличия дополнительной памяти для хранения временных изменений в базе данных.
Хранимая процедура – набор SQL запросов, хранимых на сервере, который можно вызвать со стороны клиента по одному имени.
- Программирование в среде Delphi
- Программирование в среде Delphi
- 1. История развития вычислительной техники, системы счисления и единицы информации.................................................7
- 2. Структура персонального компьютера и операционные системы.........................................................................13
- 3. Основы алгоритмизации и работа в delphi..........................18
- 4. Базовые элементы delphi...................................................................26
- 5. Стандартные функции и подпрограммы................................30
- 6. Операторы delphi......................................................................................33
- 7. Операторы циклов....................................................................................35
- 18. Выделение памяти под объект и прародитель всех классов – tobject..........................................................................................84
- 19. Обработка исключительных ситуаций................................87
- 20. Основные классы и общие свойства компонентов...93
- 26. Технология com.....................................................................................129
- 1. История развития вычислительной техники, системы счисления и единицы информации
- 1.1. История развития вычислительной техники
- 1.2. Системы счисления
- 1.3. Единицы информации
- 2. Структура персонального компьютера и операционные системы
- 2.1. Структура персонального компьютера.
- 2.2. Операционные системы
- 3. Основы алгоритмизации и работа в delphi
- 3.1. Основы программирования
- 3.2. Программирование в среде Delphi
- 4. Базовые элементы delphi
- 4.1. Алфавит среды Delphi
- 4.2. Константы
- 4.3. Переменные
- 4.4. Основные типы переменных
- 4.5. Операции над переменными и константами
- 5. Стандартные функции и подпрограммы
- 5.1. Математические функции
- 5.2. Функции преобразования
- 5.3. Дополнительные системные подпрограммы и функции
- 6. Операторы delphi
- 6.1. Оператор присваивания
- 6.2. Оператор безусловной передачи управления
- 6.3. Условный оператор if
- 6.4. Оператор разветвления Case
- 6.5. Составной оператор
- 7. Операторы циклов
- 7.1. Оператор цикла For
- 7.2. Оператор цикла Repeat
- 7.3. Оператор цикла While
- 8. Работа с массивами
- 9. Работа со строками
- 9.1. Процедуры работы со строками
- 9.2. Функции работы со строками
- 10. Работа с записями
- 11. Процедуры и функции
- 12. Модуль unit
- 13. Работа со множествами
- 14. Работа с файлами
- 14.1. Текстовые файлы
- 14.2. Типированные файлы
- 14.3. Нетипированные файлы
- 15. Работа с файлами и каталогами
- 16. Динамические переменные и структуры данных
- 16.1. Динамические переменные
- 16.2. Работа со стеком
- 16.3. Работа со списками или очередями
- 16.4. Работа с деревьями
- 17. Основы объектно–ориентированного программирования
- 17.1. Объекты и классы
- 17.2. Области видимости класса
- 17.3. Свойства (Property) и инкапсуляция
- 17.4. Методы, наследование и полиморфизм
- 17.5. События (Events)
- 18. Выделение памяти под объект и прародитель всех классов – tobject
- 18.1. Выделение памяти под объект
- 18.2. Описание класса tObject
- 18.3. Операторы приведения типов классов
- 19. Обработка исключительных ситуаций
- 19.1. Два вида оператора Try
- 19.2. Программное создание исключительной ситуации
- 19.3. Основные исключительные ситуации
- 20. Основные классы и общие свойства компонентов
- 20.1. Класс tList
- 20.2. Класс tStrings
- 20.3. Общие свойства компонентов
- 21. Графические возможности delphi
- 21.1. Класс Tcanvas
- 21.2. Классы тGгарhic и тРicture
- 21.3. Классы tFont, tPen и tBrush
- 21.4. Работа с изображениями
- 22. Визуальные компоненты delphi
- 22.1. Компонент tBitBtn
- 22.2. Компоненты tDrawGrid и tStringGrid
- 22.3. Компонент tPageControl
- 22.4. Компонент tTimer
- 22.5. Компонент tGauge
- 22.6. Компонент tСolorGrid
- 23. Стандартные диалоговые окна и типовые диалоги
- 23.1. Стандартные диалоговые окна
- 23.2. Типовые диалоги
- 24. Форма, приложение и глобальные объекты
- 24.1. Форма и ее свойства
- 24.2. Объект Application
- 24.3. Глобальные объекты
- Объект ClipBoard
- Объект Screen
- Объект Printer
- 25. Межпрограммное взаимодействие
- 25.1. Обмен сообщениями
- 25.2. Динамический обмен данными
- 25.3. Совместное использование общей памяти
- 25.4. Каналы
- 25.5. Сокеты
- 26. Технология com
- 26.1. Интерфейс
- 27. Технология автоматизации
- 27.1. Основы ole Automation
- 27.2. Примеры использования серверов автоматизации
- 27.3. Компоненты ActiveX
- 28. Динамические библиотеки
- 28.1. Создание dll
- 28.2. Использование dll
- 28.3. Пример написания dll
- 29. Работа с базами данных
- 29.1. Основные определения
- 29.2. Взаимодействие приложения на Delphi с базами данных
- 29.3. Компоненты взаимодействия с базами данных
- If adoTable1.Locate(’fio,stag’,varArrayOf([’Иванов’,’10’]),[])Then …;
- 29.4. Работа с локальной базой данных
- 30. Основы языка sql
- 30.1. Составные части sql
- 30.2. Команда select
- 30.3. Пример использования запросов в Delphi
- 31. Создание собственных компонентов
- 32. Работа с реестром
- 33. Перспективы программирования в delphi
- Литература
- 220013, Минск, п.Бровки, 6