- •Концепция баз данных
- •Не реляционные модели данных. Примеры реализации.
- •Реляционная модель данных. Таблицы, записи, поля, связи.
- •Нормализация баз данных
- •Достижения реляционной алгебры
- •Особенности языка sql
- •Преимущества и недостатки sql
- •Реляционные операции.
- •Расширения, диалекты и средства интеграции языка sql
- •Группы операторов sql и операторы, входящие в группы.
- •Sql и реляционная модель. Компромиссы в технических решениях
- •Базы данных и субд. Определение реляционной субд.
- •Развитие реляционных субд. Современные субд. Классификация субд.
- •Основные функции субд (в скобочках в основном дополнение пункта, а не расшифровка)
- •Транзакции. Свойства транзакции.
- •Поддержка транзакций в sql.
- •Механизмы транзакций. Снапшот.
- •Блокировки и клинчи. Разрешение клинчей
- •Журнализирование. Зачем нужны журналы транзакций.
- •Восстановление субд после сбоев.
- •Управление внешней памятью.
- •Словарь субд. Данные в словаре субд.
- •Архитектура субд. Взаимодействие субд с клиентом.
- •Создание таблиц и атрибутов. Ограничение таблиц и атрибутов.
- •Типы связей между сущностями и их реализация в реляционной субд.
- •Ключи, как средство создания связей, первичные и внешние ключи.
- •Ключи и атрибуты. Суррогатные ключи как идеальные первичные ключи.
- •Вопрос 31 про ключи.
- •Ключи и индексы.
- •Использование индексов и основные сведения о индексах.
- •Удаление записей и целостность базы данных.
- •Секционирование и кластеризация таблиц.
- •Основные цели и основной результат проектирования бд.
- •Представление и их место в бд.
- •Роли пользователей субд. Пользователи, роли и разграничение прав доступа.
- •Хранимые (встроенные) процедуры субд. Типы хранимых процедур.
- •Триггеры и их использование в субд.
- •NoSql базы, особенности и место в информационных системах.
- •Особенности тестирования программ, написанных на языке sql.
- •Администрирование субд. Основные функции администратора субд.
- •Обеспечение живучести и отказоустойчивости. Копирование и репликация.
Ключи и индексы.
Про ключи вопросы 30-31.
Ключи служат для организации связей между таблицами
Индексы создаются для организации (ускорения) поиска и сортировки записей таблицы
Индекс (англ. index) — объект БД, который создается для повышения производительности поиска данных.
Использование индексов и основные сведения о индексах.
Создание индексов
CREATE [UNIQUE] INDEX имя_индекса
ON имя_таблицы (имя_поля[, ...])
CREATE INDEX История ON
Приказы (Дата_приказа)
Поиск по индексу (B – дерево)
Что нужно помнить об индексах (основные сведения):
Индексы создаются для ускорения поиска
Индексы замедляют все операции кроме выборки
Индексы занимают место
Для маленьких таблиц индексы не нужны
Для составного индекса важен порядок полей в индексе
Для временных таблиц индексы не нужны
Для таблиц, которые часто обновляются используйте как можно меньше индексов
Удаление записей и целостность базы данных.
Удаление. При удалении записи удаляется значение первичного ключа. Если есть записи в дочерней таблице, ссылающиеся на ключ удаляемой записи, то значения внешних ключей станут некорректными. Операция может привести к нарушению ссылочной целостности.
Под целостностью понимают «правильность» данных, содержащихся в БД, по отношению к предметной области.
Сущностная целостность
Доменная целостность
Ссылочная целостность
Пользовательская целостность
Целостность на уровне сущности означает обеспечение уникальности экземпляра сущности, т.е., строки в конкретной таблице. Она обеспечивается указанием ограничений целостности PRIMARY KEY или UNIQUE в SQL, или указанием первичного ключа таблицы.
Доменная целостность - достоверность значений атрибута, или в конкретном столбце. Она поддерживается в соответствии с указанием типа данных, формата, правил и ограничений CHECK, а также ограничения на диапазон возможных значений, задаваемого с помощью FOREIGN KEY (внешний ключ), DEFAULT (значение по умолчанию), определений NOT NULL (недопустимость значения NULL).
Ссылочная целостность гарантирует согласованность значений ключевых атрибутов в связанных таблицах. Этот вид целостности проверяет наличие ссылок на несуществующие значения, а также обеспечивает согласованное изменение ссылок во всей базе данных при изменении значения ключа. Обычно ссылочная целостность основана на связи первичных и внешних ключей и обеспечивается с помощью ограничений FOREIGN KEY и CHECK.
При обеспечении ссылочной целостности СУБД не допускает следующих действий пользователей.
· Добавления или изменения строк в связанной таблице, если в первичной таблице нет соответствующей строки.
· Изменения значений в первичной таблице, которое приводит к появлению потерянных строк в связанной таблице.
· Удаления строк из первичной таблицы, если имеются соответствующие ей строки в связанных таблицах.
Пользовательская целостность подразумевает определение бизнес-правил. Поддержку пользовательской целостности обеспечивают с помощью ограничений на уровне атрибутов (столбцов) и таблицы при описании структуры таблицы, в операторе CREATE TABLE, хранимых процедурах и триггерах.
Триггером является хранимая процедура, выполняемая автоматически при возникновении события на сервере.
