- •1.Понятие модели, виды, характеристики, преимущества и недостатки:
- •2. Понятие нормализации, нормальные формы, принципы Кодда:
- •3. Средства проектирования бд:
- •4. Реляционная бд, объекты:
- •5.Типы данных:
- •6. Агрегирующие функции:
- •7. Создание таблиц:
- •8. Извлечение данных из одной таблицы:
- •9.Извлечение данных из нескольких таблиц:
- •10.Union, особенности объединения:
- •11. Jion, одностороннее, полное соединение:
- •12. Вложенные запросы:
- •13.Представления и курсоры:
- •14.Индексы:
- •15.Вставка данных:
- •16.Модификация данных:
- •17. Удаление данных:
- •18.Управление данными через представления:
- •19.Целостность данных, ограничения:
- •20.Сценарии, триггеры:
- •21.Хранимые процедуры:
- •22.Хранимые функции:
- •23.Транзакции:
- •24.Уровни изоляции:
- •25.Блокировки:
- •26.Пользователи и привилегии:
- •27.Роли:
11. Jion, одностороннее, полное соединение:
Join - объединение таблиц по некоторому условию (условиям). Join’ы могут содержаться во FROM или WHERE частях запроса, в SELECT, UPDATE и DELETE запросах. Результатом любого join является некая таблица.
Типы:
Перекрестное соединение(CROSS JOIN) - возвращает декартово произведение строк соединяемых таблиц.
Внутреннее соединение (INNER JOIN) - группируются только те строки, значения которых по соединяемым (одноименным) столбцам совпадают.
Внешнее левое соединение LEFT JOIN [OUTER] - в результирующий набор будут выбраны все строки из левой таблицы (первой).
Внешнее правое соединение RIGHT JOIN [OUTER] - в результирующий набор будут выбраны все строки из правой таблицы (второй).
Полное внешнее соединение FULL JOIN [OUTER] - в результирующий набор будут выбраны все строки - как из правой, так и из левой таблицы.
12. Вложенные запросы:
<запрос 0>
<выражение 1> <оператор 2>
<подзапрос 3> …
Выполнение основного запроса при выполнении подзапроса (необратимость последовательности <1><2><3>).
Основные правила:
1.Подзапрос выбирает значение одного поля, тип которого совпадает с типом выражения.
2.Подзапрос может выбрать в качестве результата несколько значений, что может сделать невыполнимым оценку предиката.
3.Подзапрос может вообще не выбрать значений, то основной запрос не сможет оценить предикат (неизвестное значение рассматривается как ложное).
Существуют три основных типа подзапросов, которые:
- работают в списках, вставленных после ключевого слова IN, или тех, которые оператор сравнения изменил с помощью ключевого слова ANY или ALL;
- вставлены оператором немодифицированных сравнений и должны возвращать одно значение;
- являются тестами на существование, начинающимися с ключевого слова EXISTS.
13.Представления и курсоры:
Представление VIEW – это именованная виртуальная таблица, содержание которой выбирается из других таблиц с помощью запросов. При изменении значений в таблицах автоматически меняются значения представления. Наличие имени у такой таблицы позволяет пользователю выполнять с ней операции аналогичные операциям с базовыми таблицами. Когда СУБД отыскивает в команде ссылку на представление, она отыскивает его определение, хранящееся в БД. После этого происходит преобразование пользовательской команды в её эквивалент с учетом запроса. У пользователя возникает впечатление, что он работает с настоящей реально существующей таблицей.
CREATE VIEW <имя представления>
AS SELECT * FROM <имя таблицы>
WHERE (условие)
Для удаления представлений используется команда: DROP VIEW <имя представления>;
Курсор – это вид переменной, которая связана с запросом.
DECLARE CURSOR <имя курсора>
FOR SELECT <список атрибутов>
FROM <имя таблицы>
WHERE (условие);
Управление курсором:
DECLARE – создание или объявление курсора;
OPEN – открытие курсора, т.е. наполнение его данными;
FETCH – выборка из курсора и изменение строк данных с помощью курсора;
CLOSE – закрытие курсора;
DEALLOCATE – освобождение курсора, т.е. удаление курсора как объекта.