- •АвОсновные понятия баз данных. Этапы развития субд. Функции субд. Требования к системам управления базами данных.
- •Архитектура баз данных. Логическая и физическая независимость данных. Схема прохождения запросов к бд.
- •Классификация моделей данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений.
- •Обеспечение целостности данных.
- •Основы реляционной алгебры. Операторы реляционной алгебры.
- •6.1. Основы реляционной алгебры
- •6.2. Операторы реляционной алгебры
- •Понятия полной и транзитивной функциональной зависимости. Нормализация, третья нормальная форма, шаги нормализации.
- •7.1. Понятия полной и транзитивной функциональной зависимости
- •7.2. Нормализация, третья нормальная форма, шаги нормализации
- •Модель «объект-свойство-отношение», er-диаграммы, проектирование схемы баз данных.
- •8.1. Модель «объект-свойство-отношение»
- •8.3. Проектирование схемы баз данных
- •Язык sql, его структура, стандарты, история развития. Подмножество языка dml: операторы select, insert, update, delete.
- •Структура языка sql
- •Вставка множества записей
- •Оператор изменения значений полей update
- •Оператор удаления строк delete
- •Подмножество языка ddl: операторы create, alter, drop. Представления, их значение; обновляемые представления.
- •10.1. Подмножество языка ddl: операторы create, alter, drop Оператор create - создание таблицы.
- •Создание внешнего ключа
- •Оператор drop
- •10.2. Представления, их значение; обновляемые представления
- •Создание и удаление представлений
- •Обновляемые представления
- •Подмножество языка dcl: операторы grant, revoke. Системные привилегии, привилегии на объекты, роли.
- •Объектные и системные привилегии
- •Операторы grant и revoke
- •Транзакции, операторы управления транзакциями: commit, rollback, savepoint; журнал транзакций, уровни блокировок.
- •Операторы управления транзакциями
- •Журналы транзакций
- •Язык pl/sql, его структура, основные операторы.
- •Курсоры, явные и неявные курсоры, операторы работы с курсором, оператор select into.
- •Процедуры, функции, пакеты.
- •Триггеры, их основные свойства и значение.
- •Параллельные архитектуры бд; масштабируемость, надежность, производительность.
- •Распределенные базы данных, фрагментация, тиражирование.
- •Средства защиты данных в субд.
- •Шлюзы к базам данных. Архитектура odbc. Www-интерфейс к бд.
- •Объектная модель данных
- •Объектно-ориентированные, объектно-реляционные бд, универсальные бд
- •Эволюция технологий и возможностей субд oracle (oracle 8i, oracle 9i, oracle 10g).
- •Роль grid-технологий в организации хранения и обработки данных. Перспективы развития технологий баз данных.
Вставка множества записей
Вставка множества записей осуществляется посредством использования подзапроса внутри оператора INSERT:
INSERT INTO имя_таблицы оператор_SELECT;
В данном случае оператор SELECT формирует набор данных, который сразу же транслируется в указанную таблицу. В отличие от использования параметра VALUES в операторе INSERT, с помощью подзапроса можно за раз вставить любое количество записей. Пример использования команды приведен ниже:
-- копирование всех имен дилеров из таблицы
-- DEALERS в таблицу MANAGERS
INSERT INTO MANAGERS(Man_id, Name)
SELECT managers_seq.Nextval, Name FROM Dealers;
Оператор изменения значений полей update
Оператор UPDATE используется для изменения существующих строк таблиц. Оператор UPDATE имеет следующий синтаксис:
UPDATE имя_таблицы SET поле1=значение1, [поле2=значение2, …]
[WHERE условие_фильтрации_строк];
Параметр WHERE используется для отбора тех строк, в которых необходимо произвести изменения, описанные в параметре SET. Если параметр WHERE не будет указан, то изменению подвергнутся все строки указанной таблицы.
Иногда для составления условия отбора строк, в которых необходимо произвести какие-либо изменения, не хватает логических операторов. Для таких случаев синтаксис оператора UPDATE допускает использование подзапросов в параметре WHERE для формирования набора строк, которые предполагается подвергнуть изменению
Оператор удаления строк delete
Оператор DELETE используется для удаления существующих строк таблиц. Оператор DELETE имеет следующий синтаксис:
DELETE FROM имя_таблицы
[WHERE условие_фильтрации_строк];
Параметр WHERE используется для отбора тех строк, которые необходимо удалить. Если параметр WHERE не будет указан, то будут удалены все строки указанной таблицы.
Синтаксис оператора DELETE допускает использование подзапросов в параметре WHERE для формирования набора строк, которые предполагается удалить
Поскольку синтаксис оператора DELETE не допускает одновременное указание нескольких таблиц после ключевого слова DELETE, подзапросы в параметре WHERE также используются в тех случаях, когда необходимо составить условие фильтрации на основе данных другой таблицы или таблиц.
Подмножество языка ddl: операторы create, alter, drop. Представления, их значение; обновляемые представления.
10.1. Подмножество языка ddl: операторы create, alter, drop Оператор create - создание таблицы.
Оператор CREATE служит для создания любого типа объектов, из которых состоит база данных, в том числе таблиц.
Синтаксис команды создания таблицы:
CREATE TABLE имя_таблицы(
поле1 тип1 [ограничения],
[поле2 тип2 [ограничения],
…]);
Возможные ограничения в таблицах:
NOT NULL – значение атрибута должно быть определено (опция NOT NULL);
UNIQUE – значения атрибутов являются уникальными (уникальный ключ);
PRIMARY KEY – атрибут является первичным ключом (первичный ключ);
CHECK – определяет условие, которому должны удовлетворять значения атрибута (домен);
DEFAULT – присвоение значений «по умолчанию» для атрибутов.
Используя приведенный выше синтаксис, вместе с созданием таблицы можно вместе с атрибутами таблицы сразу же задать и ограничения декларативной и ссылочной целостности, но только в том случае, если они касаются только одного конкретного атрибута. Если же первичный, уникальный или вторичный ключ должны быть составными, для их создания нужно применять команду ALTER TABLE.
Оператор ALTER
Оператор ALTER служит для изменения структуры любых объектов, из которых состоит база данных. В зависимости от типа объекта, изменяются и параметры команды ALTER.
Добавление атрибута таблицы
Для добавления атрибута к таблице применяется следующий синтаксис:
ALTER TABLE имя_таблицы ADD поле тип [ограничения];
Удаление атрибута таблицы
Для удаления атрибута таблицы применяется следующий синтаксис:
ALTER TABLE имя_таблицы DROP COLUMN поле;
Изменение типа атрибута, размера типа и наличия опции NOT NULL
Для изменения типа данных атрибута, размера типа данных или наличия опции NOT NULL используется следующие синтаксис:
ALTER TABLE имя_таблицы MODIFY поле тип [ограничения];
Например, для изменения размера типа данных атрибута D_id в таблице Dealers можно выполнить следующую команду:
ALTER TABLE Dealers MODIFY D_id NUMBER(8) NOT NULL;
Создание первичного ключа
Для создания первичного ключа используется следующий синтаксис:
ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения
PRIMARY KEY(список_полей);
Если создаваемый первичный ключ является составным, то есть состоит из нескольких атрибутов, атрибуты перечисляются через запятую.
Создание уникального ключа
Для создания уникального ключа используется следующий синтаксис:
ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения
UNIQUE(список_полей);
Например, для создания уникального ключа в таблице Dealers, гарантирующего уникальность значений в атрибуте Name, можно выполнить следующую команду:
ALTER TABLE Dealers ADD CONSTRAINT Dealers_Name_uk
UNIQUE (Name);
Создание домена
Для создания домена используется следующий синтаксис:
ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения
CHECK(условное_выражение);