- •Раздел 1.
- •Основы построения баз данных
- •Самостоятельная работа №1 (6 часов)
- •Тема: Этапы развития баз данных. Языковые средства банка данных. Роль субд.
- •Основные этапы развития баз данных
- •Первый этап — базы данных на больших эвм
- •Второй этап - эпоха персональных компьютеров
- •Третий этап - распределенные базы данных
- •Языковые средства банка данных
- •Пользователи банков данных
- •Четвертый этап - перспективы развития систем управления базами данных
- •Контрольные вопросы
- •Самостоятельная работа №2 (8 часов)
- •Общий обзор средств для работы с базами данных
- •Как связаны друг с другом компоненты для работы с базами данных
- •Назначение bde Administrator
- •Создание псевдонима бд
- •Параметры баз данных типа standard
- •Установки параметров драйвера paradox
- •Установки параметров драйвера interbase
- •Контрольные вопросы
- •Самостоятельная работа №3 (8 часов)
- •Архитектура базы данных. Физическая и логическая независимость
- •Классификация субд
- •Способы разработки и выполнения приложений
- •Контрольные вопросы
- •Самостоятельная работа №4 (8 часов)
- •Классификация моделей данных
- •Основные особенности систем, основанных на инвертированных списках
- •Файловые структуры, используемые для хранения данных в бд
- •Этапы доступа к бд
- •Компоненты модели данных
- •Контрольные вопросы
- •Самостоятельная работа №5 (8 часов)
- •Методы хранения данных и доступа к ним
- •Последовательный метод
- •Прямой метод
- •Индексные методы
- •Индексно-последовательный метод
- •Индексно-произвольный метод
- •Инвертированные списки
- •Контрольные вопросы
- •Раздел 2. Проектирование и использование баз данных самостоятельная работа №6 (8 часов)
- •Этапы проектирования баз данных
- •Внешний уровень — подготовительный этап инфологического проектирования
- •Составные части инфологической модели
- •Требования и подходы к инфологическому проектированию
- •Контрольные вопросы
- •Самостоятельная работа №7 (8 часов)
- •1. Отсутствие кортежей-дубликатов
- •2. Отсутствие упорядоченности кортежей
- •3. Отсутствие упорядоченности атрибутов
- •4. Атомарность значений атрибутов
- •Нормализация - за и против
- •Контрольные вопросы
- •Самостоятельная работа №8 (8 часов)
- •Ссылочная целостность и каскадные воздействия
- •Контрольные вопросы
- •Раздел 3 Структурированный язык запросов sql самостоятельная работа №9 (12 часов)
- •Роль sql
- •Манипулирование реляционными данными
- •Контрольные вопросы
- •Самостоятельная работа №10 (12 часов)
- •Выбор данных с помощью команды select.
- •Объединение таблиц. Использование агрегатных функций
- •Реализация вложенных запросов
- •Модификация данных. Операторы insert, delete, update
- •Контрольные вопросы
- •Список рекомендуемой литературы
Установки параметров драйвера interbase
VERSION - неизменяемый параметр. Содержит версию драйвера InterBase.
TYPE - значение SERVER указывает, что работа с БД происходит с использованием SQL-сервера.
DLL - неизменяемый параметр, для внутреннего использования. Содержит имя библиотеки динамического вызова (DLL, dynamic link library) для работы с 16-разрядными вызовами.
DLL32 - неизменяемый параметр, для внутреннего использования Содержит имя библиотеки динамического вызова (DLL, dynamic link library) для работы с 32-разрядными вызовами.
TRACE MODE - числовое значение, определяющее способ трассировки информации в системный журнал.
BATCH COUNT - число записей, изменяемых в рамках неявной транзакции. Перед изменением записей автоматически стартует транзакция на сервере. После изменения этого числа записей транзакция на сервере автоматически подтверждается. Более подробно о явном и неявном старте и подтверждении транзакций см. раздел книги, посвященный управлению транзакциями. Использование BATCH COUNT дает возможность изменить число записей в пакете обновлений для каждой подтвержденной транзакции, если размер подобного пакета на сервере недостаточно велик. По умолчанию - число записей, умещающихся в пакете длиной 32 К.
ENABLE BCD - Указывает на необходимость для BDE переводить целые и десятичные значения полей в значения BCD.
ENABLE SCHEMA CACHE - при значении TRUE позволяет хранить сведения о структуре, удаленной БД на клиентском компьютере в каталоге, определяемом параметром SCHEMA CACHE DIR. Хранение структуры БД хорошо тем, что в этом случае BDE не нужно всякий раз считывать данную информацию из удаленной БД, что экономит время и ресурсы. Однако хранение структуры БД возможно лишь для БД, чья структура (состав таблиц, столбцов, индексов и др.) не изменяется во времени. В противном случае выдается ошибка.
SCHEMA CACHE TIME - в случае хранения сведений о структуре БД параметр указывает, с какой периодичностью BDE обновляет сведения о структуре БД. Значения:
• 0 - хранение схемы БД не используется;
• 1 (по умолчанию) - после закрытия БД в приложении (т.е. после разрыва соединения с БД);
• число в диапазоне 1..2 147 483 647 - число секунд для обновления
сведений о структуре БД.
LANGDRIVER - Языковый драйвер, используемый для кодировки символьных полей и определяющий также порядок сортировки символьных значений. Для русскоязычных приложений рекомендуется Pdox ANSI Cyrillic. Для этого драйвера без ошибок работают символьные функции преобразования строчных/заглавных букв AnsiUpperCase и AnsiLowerCase. Pdox ANSI Cyrillic совместим с кодировкой символов InterBase WIN 1251 и порядком сортировки символов (collation order) PXW_CYRL. Эти значения указываются в БД в атрибутах: DEFAULT CHARACTER SET для баз данных, CHARACTER SET и COLLATE для доменов и столбцов.
МАХ ROWS - указывает максимальное число записей, которые драйвер пытается считать из удаленной БД при посылке каждого SQL-запроса к серверу, с учетом запросов на чтение структуры БД и проверки соответствия значений столбцов накладываемым на них ограничениям. Используется для предотвращения безграничного расхода системных ресурсов, например, при выдаче оператора "SELECT *..." для большой по объему таблицы БД. Малое значение МАХ ROWS может привести к тому, что таблица БД не сможет быть открыта, поскольку запрос чтения структуры таблицы может возвратить больше записей, чем указано в МАХ ROWS. Однако МАХ ROWS никак не воздействует на не-обновляемые запросы. По умолчанию принято (-1), что означает отсутствие лимита на количество считываемых строк.
В случае, если количество возвращаемых строк больше установленного лимита, выдается ошибка DBIERR_ROWFETCHLIMIT. Поэтому следует перенастраивать такие приложения для использования DBIERR.ROWFETCHLIMIT вместо DBIERR_EOF (конец данных). OPEN MODE - устанавливает режим чтения-записи данных из (в) БД (значение READ/WRITE, по умолчанию) и режим "только для чтения" (READ ONLY).
SERVER NAME - для удаленных БД содержит имя сетевого сервера и путь к БД на сетевом сервере. Вид указания имени сервера и пути зависит от используемого сетевого протокола. Для протокола TCP/IP при расположении БД на сервере, который работает под управлением Windows NT/95, указание пути к удаленной БД производится в формате ИмяСервера:Путь\ИмяБД.gdb, например:
mdl:c:\ptoject\bd\mon.gdb
При этом должны быть соответствующим образом настроены файлы HOSTS и SERVICES на компьютере, имеющем доступ к удаленной БД (более подробно см. раздел, посвященный введению в технологию "клиент-сервер", где, в частности, обсуждаются вопросы связи БД InterBase и клиентских приложений, созданных с помощью Delphi). SQLPASSTHRU MODE - важнейший в рамках технологии "клиент-сервер" режим, определяющий, каким образом происходит взаимодействие BDE с сервером на уровне транзакций приложения клиента.
Значение параметра определяет, может ли BDE передавать серверу собственные команды для управления запросами, или нет. В последнем случае используется Passthrough SQL - операторы SQL, выполняемые при помощи компонента TQuery клиентского приложения. Также данный параметр определяет режимы использования неявного старта и подтверждения транзакций. Более подробно с данной проблематикой можно ознакомиться в разделе книги, посвященном управлению транзакциями.
Параметр SQLPASSTHRU MODE может принимать следующие значения:
• SHARED AUTOCOMMIT - PassthroughSQL и команды BDE используют одно и то же соединение с удаленной БД, реализуемое в приложении через один компонент TDatabase. В том случае, если в приложении транзакция явно не реализуется методом TDatabase-StartTransaction, происходит неявный старт транзакции и ее автоматическое подтверждение.
• SHARED NOAUTOCOMMIT - Passthrough SQL и команды BDE используют одно и то же соединение с удаленной БД, неявные транзакции стартуют аналогично режиму SHARED AUTOCOMMIT, однако их неявного подтверждения не происходит и это нужно делать явно. Поведение Passthrough SQL в этом случае зависит от сервера.
• NOT SHARED - Passthrough SQL и команды BDE не могут использовать одно и то же соединение с удаленной БД. Обновляемые запросы на SQL не поддерживаются псевдонимами БД, для которых установлен режим NOT SHARED.
SHARED AUTOCOMMIT и SHARED NOAUTOCOMMIT не поддерживают всех операторов Passthrough SQL. В режимах SHARED AUTOCOMMIT или SHARED NOAUTOCOMMIT не следует управлять транзакциями при помощи SQL-оператора SET TRANSACTION.
SQLQRYMODE определяет режим выполнения запросов SQL.
Возможные значения:
• NULL (по умолчанию) - для доступа как к локальным, так и серверным БД. Запросы вначале посылаются к SQL-серверу. Если тот не в состоянии выполнить запрос, он выполняется локально.
• SERVER - только серверные БД. Запрос посылается SQL-серверу. Если сервер не может выполнить запрос, локального выполнения не происходит.
• LOCAL - только локальные БД. Запрос всегда выполняется на клиентской машине, т.е. локально.
Заметим, что запрос может быть отвергнут сервером БД, если:
1. имеет место гетерогенный запрос, т.е. запрос к различным БД;
2. запрос состоит более чем из одного SQL-оператора;
3. сервер БД не поддерживает синтаксис операторов, присутствующих в запросе.
• USER NAME - определяет имя, которое выдается в качестве подсказки имени пользователя при запросе имени пользователя и пароля в момент соединения с БД.
