- •АвОсновные понятия баз данных. Этапы развития субд. Функции субд. Требования к системам управления базами данных.
- •Архитектура баз данных. Логическая и физическая независимость данных. Схема прохождения запросов к бд.
- •Классификация моделей данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений.
- •Обеспечение целостности данных.
- •Основы реляционной алгебры. Операторы реляционной алгебры.
- •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-технологий в организации хранения и обработки данных. Перспективы развития технологий баз данных.
Структура языка sql
Язык SQL делится на подмножества.
1) Язык определения данных (DDL – Data Definition Language) предоставляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в базе данных.
Операторы: CREATE, ALTER, DROP.
2) Язык манипулирования данными (DML – Data Manipulation Language) позволяет вставлять, обновлять и извлекать информацию из базы данных.
Операторы: SELECT, INSERT, DELETE, UPDATE.
3) Язык управления данными (DCL – Data Control Language) состоит из управляющих операторов.
Операторы – GRANT, REVOKE.
4) Язык управления транзакциями (TCL – Transaction Control Language) состоит из операторов, предназначенных для управления ходом выполнения транзакций.
Операторы: COMMIT, ROLLBACK, SAVEPOINT.
9.2. Подмножество языка DML: операторы SELECT, INSERT, UPDATE, DELETE.
Оператор выбора SELECT
Все запросы на получение практически любого количества данных из одной или нескольких таблиц выполняются с помощью единственного предложения SELECT. Синтаксис оператора SELECT имеет следующий вид:
SELECT [ALL | DISTINCT] <список полей> | *
FROM <список таблиц>
[WHERE <условие фильтрации строк>]
[GROUP BY <условия группировки строк>]
[HAVING <условие фильтрации групп>]
[ORDER BY <условие сортировки результата запроса>]
Результатом выполнения оператора SELECT является набор данных (временная таблица), который затем либо передается пользователю, запросившему данные, либо используется как источник данных для другого оператора SELECT в качестве подзапроса.
Исключение дубликатов
При использовании в оператора SELECT может сложиться ситуация, когда набор записей будет включать дубликаты. Для исключения дубликатов из результирующего набора записей используют параметр DISTINCT, который указывают сразу после ключевого слова SELECT.
Сортировка результирующего набора данных
Для сортировки результирующего набора данных используется параметр ORDER BY оператора SELECT. По умолчанию (неявно) сортировка всегда происходит по возрастанию. Но способ сортировки можно задать явно, указав после соответствующего поля параметр ASC или DESC для сортировки по возрастанию или убыванию соответственно. Например:
Выборка с использованием параметра WHERE
Параметр WHERE служит для отбора кортежей, или строк, удовлетворяющих определенному условию. Условие может быть составлено с использованием следующих конструкций:
операторы сравнения: =, < , > , <= , >= , <>;
булевы операторы: AND, OR, NOT;
оператор проверки на вхождение в множество: IN;
оператор проверки на вхождение в диапазон: BETWEEN (Использование оператора BETWEEN возможно не только по отношению к полям числового типа, он применим также к полям строкового типа и датам);
оператор проверки удовлетворению шаблону (только для символьных полей): LIKE;
операторы сравнения с NULL: IS NULL, IS NOT NULL; (В ORACLE вообще нельзя вставить пустую строку – она всегда будет рассматриваться как NULL.)
агрегатные функции: COUNT, SUM, AVG, MAX, MIN;
константы и выражения;
подзапросы.
Следует быть осторожными при использовании булевых операторов, поскольку существует приоритет AND над OR (сначала выполняются все операции AND и только после этого операции OR). Для получения желаемого результата WHERE условия должны быть введены в правильном порядке, который можно организовать введением скобок.
Использование IN
Оператор IN используется для проверки вхождения значения какого-либо столбца в множество. Например:
SELECT Name FROM Managers
WHERE Procent IN (5, 10, 15);
В сочетании с оператором IN можно также использовать NOT для отбора строк, в которых значение какого-либо столбца наоборот не входит в множество. Например:
SELECT Name FROM Managers
WHERE Procent NOT IN (5, 10, 15);
Использование LIKE
Оператор LIKE используется для отбора строк, в которых значение какого-либо удовлетворяет определенному шаблону. Шаблон - строка, состоящая из обычных символов и специальных символов: % и _
% - любое количество любых символов, в том числе и нулевое
_ - любой один символ
County LIKE 'Р%'
'%'
'_'
'%_'
Оператор LIKE также можно сочетать с NOT для получения строк, значения определенных столбцов которых не удовлетворяют указанному шаблону.
Оператор ввода новых строк INSERT - вставка единственной записи в таблицу
Любая новая информация попадает в базу данных посредством использования оператора INSERT. Для добавления информации о каждом новом объекте используется один оператор INSERT, имеющий следующий синтаксис:
INSERT INTO имя_таблицы[(список_атрибутов)]
VALUES (список_значений);
В общем случае допускается неполное указание атрибутов в произвольном порядке, но среди этих атрибутов обязательно должны указываться те, которые имеют опцию NOT NULL и не имеют значения по умолчанию.