- •Назначение и основные компоненты системы баз данных. Одно, двух и трехзвенная архитектура системы бд.
- •Субд, их функции и виды, обзор современных субд.
- •Архитектура приложений бд, механизмы доступа к данным.
- •Модели данных: иерархическая, сетевая, реляционная, объектно – ориентированная модель.
- •Реляционная модель данных (структурная часть): домен, атрибут, кортеж, отношение и его свойства, первичный ключ.
- •6. Реляционная модель данных (целостная часть): целостность отношений и ссылок, внешний ключ, индексы.
- •Реляционная модель данных (манипуляционная часть): язык манипулирования данными для реляционной модели; реляционная алгебра.
- •Создание базы данных (на примере InterBase, FireBird), объекты, входящие в состав бд и их назначение.
- •Описание таблицы:
- •Sql, выбор данных, назначение и примеры использования инструкций: select, all, distinct, from, where,order by, вычисляемых полей, логических выражений.
- •Sql, выбор данных, назначение и примеры использования инструкций: union, group by, having, агрегатных функций.
- •11. Sql, выбор данных из нескольких таблиц, примеры внутреннего и внешнего соединения.
- •12.Sql, подзапросы, назначение и примеры использования инструкций: exist, singular, all, any
- •13. Sql, добавление, изменение, удаление данных.
- •Values ('Иванов', 35);
- •15.Хранимые процедуры, использование переменных, циклов.
- •16.Триггеры.
- •Лабораторная работа 9 задание 3
- •17.Представленния (view).Генераторы.
- •18.Транзакции их назначение и реализация
- •19.Транзакции уровни изоляции и управление транзакциями в приложении.
- •Уровни изоляции транзакции:
- •20.Администрирование сервера
- •25. Разработка печатных документов с использованием редактора отчетов.
- •Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (ibx): tibStoredProc, tibsql, динамическое формирование запросов sql.
- •Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (ibx): tibDatabase. Создание модифицируемых наборов данных, механизм master-detail.
16.Триггеры.
Структура:
CREATE TRIGGER имя_триггера For имя_таблицы
[Active| inActive]
Before | After
Update | Insert | Delete
Position номер_позиции // указывает порядок выполнения триггера (по умолчанию позиция «0») если с одной таблицы связаны несколько триггеров то позиция определяет очередность запуска триггеров.
As
Тело_триггера
Специальные контекстные переменные, которые используются только в триггерах:
OLD.имя_столбца // содержит старые значения столбца которые были до изменения данных
NEW.имя_столбца // новые значения столбца, новые значения данных
Пример:
CREATE TRIGGER Bef_Ins_Rashod For Rashod
Active
Before
Insert
Position 0
As
Begin NEW.ID=Gen_ID (Gen_Rashod_ID, 1);
End
Пример:
Изменение поля остатка после изменения записи в таблицу расход.
CREATE TRIGGER Af_Ins_Rashod For Rashod
Active After Insert Position 0
As
Begin
Update Tovar Set ostatok=ostatok – NEW.kolvo
Where Tovar.ID=NEW.NTovar ;
Лабораторная работа 9 задание 3
CREATE TRIGGER Af_Up_Prof For Prof
Active After Update Position 0
As
Begin
Update Uplan Set Uprof=New.ID Where UProf=Old.ID;
Update Stud set SProf=New.ID where SProf=OLD.ID;
End
17.Представленния (view).Генераторы.
View (представление) – это виртуальная таблица, созданная на основе инструкции select.
Созданное представление можно использовать в других инструкциях select как источник данных.
Пример:
CREATE VIEW STOIM_Rashod (Dat, Tovar, Stoim)
As
Select RDate, T.Name, R.kolvo*T.Zena
From Rashod R, Tovar T
Where R.NTovar = T.ID;
DROP VIEW Stoim_Rashod;
Представление будет обновляемым, если данные выбираются из одной таблицы и отсутствует группировка и агрегатные функции, и представление включает все поля таблицы, имеющие ограничения Not Null.
Генератор - это именованный счетчик возвращающий уникальное целочисленное значение. Используется генератор для автоматического формирования значения первичных ключей таблицы. В других СУБД вместо генератора используется специальный тип – автоинкрементное поле.
Присвоение генератора:
CREATE Generator Gen_ID_Tovar;
Set Generator Gen_ID_Tovar To значение;
Использование генератора:
Gen_ID (имя_генератора, прирощение)
(Gen_ID_Tovar , 1)
Пример:
Insert into Tovar (ID, Name, Zena)
Values (Gen_ID (Gen_IRTovar,1), ‘блокнот’, 10);
18.Транзакции их назначение и реализация
Транзакция – это механизм позволяющий объединять различные действия с данными в логические блоки и обеспечивает возможность принимать решение об успешности всего блока в целом.
Логический блок операций осуществляет перевод базы данных из одного целостного состояния в другое целостное состояние.
Целостное состояние – все ограничения, все правила бизнес логики выполнены.
Механизм транзакции обеспечивает их изолированность.
Механизм транзакции основан на принципе множества версий.
MGA (Multi Generation Architecture) – многоверсионная архитектура. Все изменения проводимые над конкретными записями проводится не над сомой записью а над её версией. В один момент в базе может существовать несколько версий одной записи. Для реализации этой архитектуры в СУБД существуют страницы учета транзакций. Каждая транзакция видит и работает только с одной версией данных.