- •1. Основные понятия баз данных. Этапы развития субд. Функции, требования к субд.
- •2. Архитектура баз данных. Логическая и физическая независимость данных. Схема прохождения запросов к бд. Классификация моделей данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •3. Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений. Обеспечение целостности данных.
- •4. Основы реляционной алгебры. Операторы реляционной алгебры. Понятия полной, транзитивной, функциональной зависимостей. Нормализация, третья нормальная форма, шаги нормализации.
- •5. Модель «объект-свойство-отношение», er-диаграммы, проектирование схемы баз данных.
- •6. Язык sql, его структура, стандарты, история развития. Подмножество языка dml: операторы select, insert, update, delete.
- •7. Подмножество языка ddl: операторы create, alter, drop. Представления, их значение; обновляемые представления.
- •8. Подмножество языка dcl: операторы grant, revoke. Системные привилегии, привилегии на объекты, роли.
- •9. Транзакции, операторы управления транзакциями: commit, rollback, savepoint; журнал транзакций, уровни блокировок.
- •10. Pl/sql, структура, основные операторы.
- •11. Курсоры, операторы работы с курсором, оператор select into.
- •12. Процедуры, функции, пакеты.
- •13. Триггеры, их основные свойства и значение.
- •14. Параллельные архитектуры бд; масштабируемость, надежность, производительность.
- •15. Распределенные базы данных, фрагментация, тиражирование.
- •16. Средства защиты данных в субд.
- •17. Шлюзы к базам данных. Архитектура odbc. Www-интерфейс к бд.
- •18. Объектная модель данных.
- •19. Объектно-ориентированные и объектно-реляционные бд.
- •20. Эволюция технологий и возможностей субд oracle (oracle 8i, oracle 9i, oracle 10g).
- •21. Перспективы развития бд.
3. Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений. Обеспечение целостности данных.
Реляционной считается БД, в кот. данные представлены для пользователя в виде прямоугольных таблиц значений, и все операции над БД сводятся к манипуляциям с таблицами. Таблица состоит из строк и столбцов, имеет имя, уникальное в БД. Таблица отражает тип объекта реального мира (сущность), каждая ее строка — конкр. объект. Каждый столбец — совокуп. значений атрибута объекта (объектов?).
Каждый столбец имеет имя (уникальное в таблице), которое обычно записывается в верхней части таблицы. Любая таблица должна иметь, по крайней мере, один столбец; столбцы расположены в таблице в соответствии с порядком следования их имен при ее создании. В отличие от столбцов, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено.
К осн. достоинствам РМД относят:
Наличие небольшого набора абстракций, которые позволяют моделировать предметную область и допускают точные формальные определения.
Наличие простого и достаточно мощного математического аппарата, опирающего на теорию множеств и математическую логику и обеспечивающего теоретический базис реляционного подхода к организации БД.
Возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации БД во внешней памяти.
Формал. реляц. термин |
Неформал. эквивалент |
Отношение |
Таблица |
Кортеж / запись |
Строка |
Кардинальное число |
Кол-во строк |
Атрибут / поле |
Столбец |
Степень |
Кол-во столбцов |
Первичный ключ |
Уник. идентификатор |
Домен |
Совокуп. допустимых знач. |
Фундаментальные свойства отношений:
в 1-м отношении нет абсолютно одинак. кортежей;
все кортежи в отношении не упорядочены;
все атрибуты в отношении не упорядочены;
все значения атрибутов атомарные.
Целостность (integrity) — корректность (однознач., непротиворечивость) данных в любой момент времени. Эта цель мб достиг. лишь в опред. пределах.
Ограничения целостности (data integrity constraints) — ограничения на таблицы БД, обеспечивающие корректность, непротиворечивость, … данных.
Поддержание целостности БД может рассм. как защита данных от неверных изменений / разрушений.
Выделяют четыре вида целостности:
декларативная целостность (по сущностям);
ссылочная целостность — referential integrity;
семантическая целостность (определяемая юзером);
физическая целостность (целостность файлов ОС).
Ограничения, необх. для обеспеч. декларативной целостности обычно задаются при объявлении (declaration — декларирование) сущности.
Деклар. целостность БД обеспеч. механизмами:
тип данных;
размер типа данных;
опция Not Null;
домен;
первичный ключ;
уникальный ключ.
Тип данных — характеристика, задающая перечень возможных значений атрибута.
Размер типа данных — ограничение перечня возмож. знач. атрибута, заданного типом данных. #: для типа данных "строка" всегда указ. максимальное кол-во символов, кот. она может содержать.
Not Null — ограничение, назнач. атрибуту, если нужно, чтобы он не мог содерж. неопределенное знач.
Домен — также как и тип данных, хар-ка, задающая перечень возможных знач. атрибута, но обычно этот перечень более узкий. #: при помощи домена можно наложить ограничение «возраст > 0 и возраст < 100», кот. не позволит для атрибута "возраст" использовать знач., выходящие за указанный диапазон.
Первичный ключ (ПК) — минимальный набор атрибутов, по знач. которых можно найти требуемый экземпляр сущности. Минимальность — исключение из набора атрибута не позволит идентиф. сущность по оставшимся. ПК должен быть уникален, следовательно, не может принимать неопределенное знач.
Уникальный ключ — ограничение, не допускающее повторения значений в указ. атрибутах. В отличие от ПК, можно задать несколько уникальных ключей для сущности. Уникальный ключ не требует отсутствия неопред. знач. в используемых атрибутах.
Ссылочная целостность — целостность по ссылкам. Этот вид целостности необходимо обеспечивать, когда данные, находящиеся в разных таблицах, связаны и зависят друг от друга. Ссылочная целостность обеспечивается с помощью внешних ключей.
Внешний (вторичный) ключ — набор атрибутов зависимой сущности, по значениям которой можно идентиф. сущность, с которой она связана. Т. е., знач. атрибутов, входящих в состав внешнего ключа, выбир. из значений ПК сущности, на кот. ссылается зависимая сущность. В общем случае значения внешнего ключа могут иметь неопред. знач. (Null).
Каскадные действия — операции, выполняемые СУБД автоматически (неявно) при появлении события, чаще всего вызванного действиями пользователей. При указании внешнего ключа, связывающего сущности, определяется необходимость вып. каскадных действий.
В частности, необх. определить, что случится при удалении сущности, на кот. ссылается внешний ключ. #: Что делать с поставками при удалении поставщика?
Существует три возможности:
Каскадир.: удаляются поставки и сам поставщик.
Ограничение: операция удаления применяется к поставщикам, которые не осуществляли поставок.
Установка: внешний ключ приравн. null для всех поставок удаляемого поставщика и он удаляется.
Аналогич. определяется, что произойдет при обновл. ПК сущности, на кот. ссылается внешний ключ.