- •Основные понятия баз данных. Этапы развития субд. Функции субд. Требования к системам управления базами данных.
- •Архитектура баз данных. Логическая и физическая независимость данных. Схема прохождения запросов к бд.
- •Логическая и физическая независимость данных
- •Классификация моделей данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •Модели «клиент-сервер» в технологи баз данных
- •Модель файлового сервера
- •Модель удаленного доступа к данным
- •Модель сервера баз данных
- •Модель сервера приложений
- •Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений.
- •Фундаментальные свойства отношений
- •Обеспечение целостности данных.
- •Основы реляционной алгебры. Операторы реляционной алгебры. Операторы реляционной алгебры
- •Понятия полной и транзитивной функциональной зависимости. Нормализация, третья нормальная форма, шаги нормализации.
- •Нормальные формы и нормализация
- •Модель «объект-свойство-отношение», er-диаграммы, проектирование схемы баз данных. Инфологическая модель данных «Сущность-связь»
- •Классификация сущностей
- •Язык sql, его структура, стандарты, история развития. Подмножество языка dml: операторы select, insert, update, delete.
- •Типы данных в субд oracle 9.2i
- •Структура языка sql
- •Оператор выбора select
- •Запросы с использованием единственной таблицы Выборка без использования параметра where
- •Выборка с использованием параметра where
- •Использование параметров group by и having
- •Запросы с использованием нескольких таблиц Запросы с использованием соединений
- •Последовательности
- •Создание и удаление последовательностей
- •Изменение последовательностей
- •.Использование последовательностей
- •Оператор ввода новых строк insert Вставка единственной записи в таблицу
- •Вставка множества записей
- •Оператор изменения значений полей update
- •Обновление единственной записи
- •Обновление множества записей
- •Обновление с подзапросом
- •Оператор удаления строк delete
- •Удаление единственной записи
- •Удаление множества записей
- •Удаление с вложенным подзапросом
- •Подмножество языка ddl: операторы create, alter, drop. Представления, их значение; обновляемые представления. Оператор create Создание таблицы
- •Создание первичного ключа
- •Создание уникального ключа
- •Создание домена
- •Создание внешнего ключа
- •Удаление ограничений целостности
- •Оператор drop
- •Представления
- •Создание и удаление представлений
- •Операции выборки из представлений
- •Обновляемые представления
- •Подмножество языка dcl: операторы grant, revoke. Системные привилегии, привилегии на объекты, роли.
- •Объектные и системные привилегии
- •Операторы grant и revoke
- •Транзакции, операторы управления транзакциями: commit, rollback, savepoint; журнал транзакций, уровни блокировок.
- •Операторы управления транзакциями
- •Журналы транзакций
- •Язык pl/sql, его структура, основные операторы.
- •Курсоры, явные и неявные курсоры, операторы работы с курсором, оператор select into.
- •Процедуры, функции, пакеты.
- •Триггеры, их основные свойства и значение.
- •Параллельные архитектуры бд; масштабируемость, надежность, производительность.
- •Распределенные базы данных, фрагментация, тиражирование.
- •Средства защиты данных в субд.
- •Аутентификация/авторизация при помощи паролей.
- •Инкапсуляция передаваемой информации в специальных протоколах обмена.
- •Ограничение информационных потоков.
- •Классы безопасности
- •Шлюзы к базам данных. Архитектура odbc. Www-интерфейс к бд. Промежуточное программное обеспечение (ппо) баз данных
- •Доступ к базам данных
- •Недостатки реляционных субд
- •Манифест систем объектно-ориентированных баз данных Обязательные свойства: золотые правила
- •Необязательные возможности Множественное наследование, проверка и вывод типов, распределенность, проектные транзакции (протяженные транзакции или вложенные транзакции), версии
- •Объектная модель данных
- •Объектно-ориентированные, объектно-реляционные бд, универсальные бд
- •Эволюция технологий и возможностей субд oracle (oracle 8i, oracle 9i, oracle 10g).
- •Роль grid-технологий в организации хранения и обработки данных. Перспективы развития технологий баз данных.
Оператор удаления строк delete
Оператор DELETE используется для удаления существующих строк таблиц.
DELETE FROM имя_таб[WHERE усл_фильтр_строк];
Параметр WHERE используется для отбора тех строк, которые необходимо удалить. Если параметр WHERE не будет указан, то будут удалены все строки указанной таблицы.
Удаление единственной записи
Для удаления единственной записи из таблицы в условие фильтрации включают условное выражение с участием оператора сравнения на равенство с константой атрибутов, составляющих первичный или уникальный ключ. Поскольку атрибуты, входящие в состав первичного или уникального ключа, имеют уникальные значения в таблице, их использование гарантирует выполнение оператора DELETE по отношению к одной единственной строке. Например:
-- удаление из таблицы MANAGERS информации о
-- менеджере с номером 1
DELETE FROM Managers WHERE Man_id = 1;
Удаление множества записей
Для удаления множества записей из таблицы условие фильтрации может включать любые атрибуты таблицы с использованием любых логических операторов. Например:
-- удаление из таблицы MANAGERS информации о менеджерах,
-- проработавших меньше недели
DELETE FROM Managers
WHERE Hire_Date >= sysdate - 7;
Удаление с вложенным подзапросом
Причины использования подзапросов были описаны ранее. Для таких случаев синтаксис оператора DELETE допускает использование подзапросов в параметре WHERE для формирования набора строк, которые предполагается удалить. Например:
-- удаление информации о тех менеджерах,
-- чей размер комиссионных не превышает средний уровень
DELETE FROM MANAGES
WHERE Procent < (SELECT AVG(Procent) FROM Managers);
Поскольку синтаксис оператора DELETE не допускает одновременное указание нескольких таблиц после ключевого слова DELETE, подзапросы в параметре WHERE также используются в тех случаях, когда необходимо составить условие фильтрации на основе данных другой таблицы или таблиц. Например:
-- удаление информации о тех менеджерах,
-- которые не продали ни одного товара за последнюю неделю
DELETE FROM Managers
WHERE Man_id NOT IN
(SELECT DISTINCT Man_id FROM Outgoing
WHERE Out_date >= sysdate - 7);
Подмножество языка ddl: операторы create, alter, drop. Представления, их значение; обновляемые представления. Оператор create Создание таблицы
Оператор CREATE служит для создания любого типа объектов, из которых состоит база данных, в том числе таблиц].
Синтаксис команды создания таблицы:
CREATE TABLE имя_таблицы(
поле1 тип1 [ограничения],
[поле2 тип2 [ограничения],
…]);
Возможные ограничения в таблицах:
NOT NULL – значение атрибута должно быть определено (опция NOT NULL);
UNIQUE – значения атрибутов являются уникальными (уникальный ключ);
PRIMARY KEY – атрибут является первичным ключом (первичный ключ);
CHECK – определяет условие, которому должны удовлетворять значения атрибута (домен);
DEFAULT – присвоение значений «по умолчанию» для атрибутов.
Используя приведенный выше синтаксис, вместе с созданием таблицы можно вместе с атрибутами таблицы сразу же задать и ограничения декларативной и ссылочной целостности, но только в том случае, если они касаются только одного конкретного атрибута. Если же первичный, уникальный или вторичный ключ должны быть составными, для их создания нужно применять команду ALTER TABLE.
Например, для создания таблицы Dealers из схемы, приведенной в разделе 3.3, достаточно выполнить следующую команду:
CREATE TABLE Dealers1(
D_id NUMBER,
Name VARCHAR2(30),
Procent NUMBER(4,2),
Comments VARCHAR2(50) DEFAULT ‘no comments’);
Создание копии таблицы
Иногда необходимо создать таблицу в точности или частично по структуре и содержанию копирующую какую-либо из существующих таблиц. В этом случае используется следующий синтаксис:
CREATE TABLE имя_таблицы AS оператор SELECT;
Например, для того чтобы создать копию таблицы Dealers можно выполнить следующую команду:
CREATE TABLE Dealers_Copy AS SELECT * FROM Dealers;
Оператор ALTER
Оператор ALTER служит для изменения структуры любых объектов, из которых состоит база данных. В зависимости от типа объекта, изменяются и параметры команды ALTER. Далее рассмотрены примеры применения команды ALTER для изменения структуры объектов TABLE.
Добавление атрибута таблицы
Для добавления атрибута к таблице применяется следующий синтаксис:
ALTER TABLE имя_таблицы ADD поле тип [ограничения];
Например, для добавления к таблице Dealers целого поля Age можно выполнить следующую команду:
ALTER TABLE Dealers ADD Age NUMBER(2);
Удаление атрибута таблицы
Для удаления атрибута таблицы применяется следующий синтаксис:
ALTER TABLE имя_таблицы DROP COLUMN поле;
Например, для удаления поля Age из таблицы Dealers можно выполнить следующую команду:
ALTER TABLE Dealers DROP COLUMN Age;
Изменение типа атрибута, размера типа и наличия опции NOT NULL
Для изменения типа данных атрибута, размера типа данных или наличия опции NOT NULL используется следующие синтаксис:
ALTER TABLE имя_таблицы MODIFY поле тип [ограничения];
Например, для изменения размера типа данных атрибута D_id в таблице Dealers можно выполнить следующую команду:
ALTER TABLE Dealers MODIFY D_id NUMBER(8) NOT NULL;
При изменении типов данных и размеров типов данных атрибутов следует соблюдать осторожность. Дело в том, что при «сужении» области допустимых значений, который может принимать атрибут, могут быть утеряны («обрезаны») данные, выходящие за пределы новой области допустимых значений.