- •Федеральное агентство связи
- •Государственное образовательное учреждение высшего
- •Профессионального образования
- •«Поволжская государственная академия телекоммуникаций и информатики»
- •Разработка и эксплуатация удаленных баз данных
- •Конспект лекций
- •Введение
- •Раздел 1. Теория проектирования удаленных баз данных архитектуры удаленных бд Структурная схема терминов
- •Архитектуры бд
- •Локальная
- •Архитектура "файл-сервер"
- •Архитектура удаленных бд ("клиент-сервер")
- •Достоинства и недостатки различных архитектур приложений бд
- •Основные технологии доступа к данным Технология com (component object model)
- •Создание распределенных приложений на базе dCom
- •Технология corba (общая архитектура брокеров объектных запросов)
- •Технология midas
- •Доступ к данным по технологии ado
- •Технология com (component object model)
- •Составные части технологии com
- •Создание распределенных приложений на базе dCom
- •Технология midas
- •Доступ к данным по технологии ado
- •Введение в работу с удаленными бд
- •Организация сеанса связи с удаленной бд
- •Сервер interbase
- •Физическая организация базы данных формата InterBase
- •Типы данных в таблицах InterBase Типы столбцов таблиц формата InterBase
- •Организация сеанса связи с удаленной бд
- •Физическая организация удаленной бд
- •Создание и модификация таблиц Операции с таблицами
- •Операции с индексами
- •Графическое проектирование структуры бд Просмотры View
- •Создание бд
- •Создание и использование доменов
- •Компоненты доступа к данным. Запросы на выборку данных
- •Компоненты для доступа к данным и их отображения
- •Формирование запросов на выборку данных
- •Запросы на изменение данных Структурная схема терминов
- •Работа с записями
- •Методика изменения данных при помощи компонент
- •Использование хранимых процедур
- •Понятие и назначение хранимых процедур
- •Язык хранимых процедур
- •Использование триггеров и генераторов
- •Понятие триггера
- •Команды создания, изменения и удаления триггера
- •Генераторы - назначение, создание, установка начального значения
- •Функции, определяемые пользователем – назначение, создание, применение, порядок работы с ними
- •Сортировка, поиск и фильтрация в бд и выборках
- •Сортировка
- •Фильтрация записей
- •Организация данных в бд InterBase
- •Поиск в наборах данных
- •Манипулирование данными в выборках
- •Управление транзакциями и кэширование памяти
- •Механизм транзакций
- •Механизм кэшированных изменений
- •Перехват исключительных ситуаций и обработка ошибок
- •Понятие исключительных ситуаций
- •Обработка исключений
- •Формирование и вывод отчетов
- •Назначение и виды отчетов
- •Компоненты для формирования отчетов
- •Особенности проектирования клиентской части приложения в различных технологиях доступа
- •Особенности проектирования клиентской части приложения в различных технологиях доступа
- •Установка привилегий доступа к данным
- •Понятие привилегии, привилегии по умолчанию
- •Состав параметров при установлении привилегий
- •Назначение привилегий пользователю и группам пользователей
- •Отмена привилегий
- •Копирование, перенос и восстановление данных Создание резервной копии и восстановление бд
- •Восстановление транзакций
- •Регистрация новых пользователей
- •Копирование клиентской части приложения бд Структурная схема терминов
- •Утилита Install Shield
- •Определение файлов, объектов и элементов среды
- •Задание диалога при разархивировании
- •Создание прообраза копии диска
- •Создание копии на дискетах
Создание и модификация таблиц Операции с таблицами
Создание таблиц
Осуществляется оператором:
CREATE TABLE <имя таблицы> (<список вида <имя поля> <тип> [<размер>]>);
Пример:
CREATE TABLE Pers (Num smallint not null primary key, fam char(20),
name char(20), year_b smallint() default 1950,
Age Calculate by (2004 – year_b));
Создаваемую таблицу можно связать с другой с помощью ключевых полей:
CREATE TABLE <имя таблицы> (<список вида <имя поля> <тип> [<размер>]>)
Primary key (<имя поля>)
Foreign key (<список ключевых полей>)
[references<имя родит. таблицы> <список ключевых полей родит. таблицы>]
[on delete <действие>]
[on update <действие>];
Действие выполняется, если запись родительской таблицы удаляется или модифицируется. Действие может быть задано с помощью следующих ключевых слов:
NO ACTION – запретить удаление и модификацию при наличии связных записей в дочерней таблице;
CASCADE – производить каскадные изменения (т.е. одновременные аналогичные действия) в дочерней таблице.
Пример:
CREATE TABLE Dep(
Dep char(15) not null Primary key,
Proisv char(1)
);
CREATE TABLE Pers(
Num smallint not null primary key,
Dep char(15),
Fio char(60),
Sex char(1),
Foreign key (Dep) references Dep {взаимосвязь}
On delete set default on update cascade, {целостность данных
на уровне ссылок}
CONSTRAINT Dep CHECK (EXISTS( {значение можно ввести в
дочернюю таблицу только при наличии
такого значения в родительской таблице}
SELECT Dep FROM Dep WHERE Pers.Dep=Dep.Dep));
Изменение структуры таблицы
ALTER TABLE <имя таблицы> <действие> <имя поля> <тип>
Пример:
ALTER TABLE Pers Drop Sex, add year_b date
Удаление таблицы
Drop <имя таблицы>
Операции с индексами
Создание индекса
Производится оператором:
CREATE iNDEX <имя индекса> ON <имя таблицы> <список полей>
Пример:
Create index Depycar on Pers, Dep, year_b
Удаление индекса
Производится оператором:
Drop Index <имя таблицы> <имя индекса>
Пример:
DROP INDEX Pers depycar
Команды перестройки индекса обеспечивают переиндексацию.
ALTER Index <имя индекса> deactivate
ALTER Index <имя индекса> activate
Графическое проектирование структуры бд Просмотры View
Просмотры (обзоры) – это дочерние образования заданной таблицы, куда перемещаются только дочерние поля, удовлетворяющие заданным условиям.
Создание просмотра
Create View <имя просмотра> as select <список полей> from <таблица> where <условия>
Удаление просмотра
Drop view <имя просмотра>
Просмотры можно создавать на основе нескольких таблиц, тогда при их создании в предложении From через запятую пишутся имена этих таблиц.
Создание бд
CREATE {database | schema} "<имя файла>"
[user "имя пользователя" [Password "пароль"]]
[Page_size [=] целое] {размер БД в байтах}
[Length [=] целое Page [s]]
[Default character set набор_символов]
[<вторичный файл>];
<вторичный файл> = File "имя файла" [<файловая информация>[<вторичный файл>]]
<файловая информация> = LENGTH [=] целое [PAGE[S]|STARTING AT [PAGE] целое] [<файловая информация>]
STARTING AT [PAGE] – указывает, с какой страницы располагается тот или иной вторичный файл для многофайловых БД.
LENGTH [=] целое – указывает длину файла.
БД может состоять из нескольких файлов, расположенных на отдельных носителях. Первый из них называется первичным, а другие вторичными.