- •Основные понятия баз данных. Этапы развития субд. Функции субд. Требования к системам управления базами данных.
- •Архитектура баз данных. Логическая и физическая независимость данных. Схема прохождения запросов к бд.
- •Логическая и физическая независимость данных
- •Классификация моделей данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •Модели «клиент-сервер» в технологи баз данных
- •Модель файлового сервера
- •Модель удаленного доступа к данным
- •Модель сервера баз данных
- •Модель сервера приложений
- •Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений.
- •Фундаментальные свойства отношений
- •Обеспечение целостности данных.
- •Основы реляционной алгебры. Операторы реляционной алгебры. Операторы реляционной алгебры
- •Понятия полной и транзитивной функциональной зависимости. Нормализация, третья нормальная форма, шаги нормализации.
- •Нормальные формы и нормализация
- •Модель «объект-свойство-отношение», 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-технологий в организации хранения и обработки данных. Перспективы развития технологий баз данных.
Запросы с использованием единственной таблицы Выборка без использования параметра where
Выборка данных без использования параметра WHERE с использованием единственной таблицы является наиболее простой формой использования оператора SELECT.
Выборка всей информации из таблицы
SELECT список_всех_полей_таблицы | * FROM имя_таблицы;
Данная форма оператора SELECT используется, когда не нужно выполнять ни горизонтальную, ни вертикальную фильтрации. Символ «*» заменяет необходимость указания всех полей таблицы. Например:
Вертикальная фильтрация с указанием порядка вывода атрибутов
SELECT поле1[, поле2, …] FROM имя_таблицы;
В результирующий набор записей попадут данные только из указанных полей таблицы, причем в том же самом порядке, в каком они указаны в операторе SELECT. Например:
Исключение дубликатов
При использовании в операторе SELECT вертикальной фильтрации строк таблицы может сложиться ситуация, когда набор записей будет включать дубликаты – записи, значения полей которых полностью совпадают. Для исключения дубликатов из результирующего набора записей используют параметр DISTINCT, который указывают сразу после ключевого слова SELECT. Например:
вывод номеров хотя бы раз проданных товаров
SELECT DISTINCT Prod_id FROM Outgoing;
Выборка вычисляемых значений
Наравне с перечнем полей таблиц после ключевого слова SELECT можно указывать выражения, вычисляемые на основе полей таблиц, либо встроенных функций СУБД. Например, если нужно получить информацию о комиссионных дилеров не в процентном, а в долевом выражении, можно выполнить следующий запрос:
SELECT Name “Имя”, (Procent / 100) “Доля” FROM Dealers;
В приведенном примере также показана возможность назначения синонимов полям результирующего набора записей. Обычно синонимы используются либо для именования результатов выражений, либо для замены полей таблицы более подходящими в конкретной ситуации названиями.
Сортировка результирующего набора данных
Строки в таблицах базы данных изначально хранятся в том порядке, в каком их туда поместили. Иногда СУБД по своему усмотрению может менять внутреннюю организацию хранения данных. По этой причине никогда не стоит надеяться, что оператор SELECT вернет отсортированный набор данных, даже в том случае, если записи заносились в таблицу в соответствии с возрастанием или убыванием значений в определенных полях. Для сортировки результирующего набора данных используется параметр ORDER BY оператора SELECT. Например:
-- вывод информации о дилерах, отсортированной
-- по именам дилеров и размерам их комиссионных
SELECT * FROM DEALERS ORDER BY Name, Procent;
Если после параметра ORDER BY указано более одного поля, сортировка сначала осуществляется по первому полю, потом, в случае наличия одинаковых значений, по второму и т.д. В приведенном примере результирующий набор данных сначала будет отсортирован по значениям поля Name, и в том случае, если в каких-то строках имена некоторых дилеров совпадут, эти строки отдельно будут отсортированы по значению поля Procent.
По умолчанию (неявно) сортировка всегда происходит по возрастанию. Но способ сортировки можно задать явно, указав после соответствующего поля параметр ASC или DESC для сортировки по возрастанию или убыванию соответственно. Например:
-- вывод информации о дилерах, отсортированной
-- по именам дилеров по возрастанию и размерам их
-- комиссионных по убыванию
SELECT * FROM DEALERS ORDER BY Name ASC, Procent DESC;