- •Этапы проектирования информационных систем.
- •Понятие субд. Ddl, dml, dcl.
- •Тип и класс сущности в нотации Чена.
- •Тип и класс атрибута в нотации Чена.
- •Составные и множественные атрибуты.
- •Числовые характеристики связей.
- •Домены. Типы ограничений домена. Связь домена и атрибута.
- •Семантика и синтаксис сущности в idef1x.
- •Семантика и синтаксис атрибута в idef1x.
- •Потенциальные, первичные и альтернативные ключи.
- •Спецификации и кардинальности в idef1x со стороны предка и со стороны потомка.
- •Идентифицирующее соединение. Миграция атрибутов.
- •Неидентифицирующие соединения. Миграция атрибутов.
- •Теоретико-множественные операции реляционной алгебры. Привести диаграммы Эйлера-Венна для операций.
- •Специальные операции реляционной алгебры.
- •Понятие функциональной зависимости. Символическая запись фз.
- •Понятие избыточности. Типы аномалий, порождаемые избыточностью.
- •Фундаментальные свойства отношений.
- •Понятие неполной функциональной зависимости. Вторая нормальная форма.
- •Понятие транзитивной зависимости. Третья нормальная форма.
- •Защита данных. Схемы управления доступом к данным.
- •Целостность данных. Типы ограничений целостности.
- •Выборка данных. Основные предложения команды select.
- •Последовательность обработки предложений команды select.
- •Понятие транзакции. Свойства транзакций.
-
Выборка данных. Основные предложения команды select.
Обязательные:
SELECT <список полей>
FROM <источник данных>
Необязательные:
WHERE <условия выборки>
GROUP BY <условия группировки>
HAVING <условия фильтрации групп>
LIMIT <количество>
ORDER BY <условие сортировки>
Count – количество; min, max; avg – среднее значение; sum – сумма.
Пример:
SELECT f1, f2
FROM t1
WHERE f3 >10
Выбирает из таблицы те строки, в которых значение атрибута f3>10 и выводит для этих строк только атрибуты f1, f2.
SELECT count(*)
FROM t1
WHERE f3 >10
Возвращает количество строк, удовлетворяющих заданному условию.
-
Последовательность обработки предложений команды select.
-
Первым всегда обрабатывается предложение FROM. Оно описывает источник данных – набор таблиц, содержащих запрашиваемые данные. В результате обработки в рабочем буфере системы создается неименованная временная таблица, которую мы будем называть далее F-таблицей. С концептуальной точки зрения она представляет собой расширенное прямое произведение таблиц, указанных после ключевого слова FROM.
-
Необязательные предложения WHERE, GROUP BY, HAVING, если они использованы в команде, обрабатываются в указанном порядке после предложения FROM. В результате обработки в рабочих буферах системы создаются неименованные временные таблицы, которые мы будем называть W-, G- и H-таблицами соответственно. Каждая из них является преобразованием таблицы предыдущего уровня.
-
W-таблица содержит только те строки F-таблицы, на которых предикат предложения WHERE принял значение TRUE.
-
G-таблица представляет собой F- или W-таблицу, строки которой собраны в группы с одинаковыми наборами значений в столбцах, указанных после ключевого слова GROUP BY.
-
H-таблица включает только такие группы строк из G-таблицы, на которых предикат предложения HAVING принял значение TRUE.
-
Выходная таблица запроса является результатом обработки предложения SELECT. В простейшем случае её можно представлять себе как реляционную проекцию F-, W-, G- или H-таблицы на столбцы, указанные после ключевого слова. На самом деле это неточно, так как элементами целевого списка запроса могут быть не только имена столбцов источника, но и выражения, агрегатные функции и т.п.
-
Предложение ORDER BY всегда обрабатывается после предложения SELECT. Результатом обработки является выходная таблица запроса, строки которой упорядочены по значениям столбцов, указанных после ключевого слова ORDER BY.
-
В процессе обработки оператора SELECT никаких изменений в физической базе данных не происходит. Система манипулирует копиями базовых таблиц в своих рабочих буферах.
-
Понятие транзакции. Свойства транзакций.
Транзакция — группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта.
Свойства транзакций (ACID):
-
Atomicity – атомарность – все транзакции являются атомарными, то есть либо выполняются все обновления в транзакции, либо ни одного.
-
Consistency – согласованность – транзакции переводят БД из одного непротиворечивого состояния в другое без обязательной поддержки непротиворечивости в промежуточных точках.
-
Isolation – изолированность – на логическом уровне транзакции изолированы одна от другой. Это означает, что если будет запущено несколько параллельно работающих транзакций, результаты любой операции обновления, выполняемые отдельной транзакцией, будут скрыты от других транзакций до тех пор, пока она не будет зафиксирована. Различные СУБД поддерживают различные уровни изолированности.
-
Durability – долговечность – все обновления, выполненные транзакцией, являются необратимыми, они останутся даже при последующих сбоях.