- •1. Введение в предмет.
- •1.1 Данные и информация.
- •1.2 Предметная область.
- •1.3 Понятие и сущность.
- •1.4 Концептуальная модель объекта.
- •1.5 Связь или отношение.
- •1.6 Логическая модель базы данных.
- •1.7 Физическая модель базы данных.
- •1.8 Введение в работу с базами данных на платформе Microsoft sql Server.
- •1.8.1 Платформа Microsoft sql Server.
- •1.8.2 Среда sql Server Management Studio.
- •2. Основные понятия баз данных.
- •2.3 Типы данных ms sql Server.
- •2.3.1 Типы char и varchar.
- •2.3.2 Типы данных nchar и nvarchar.
- •2.3.3 Типы точных числовых данных.
- •2.3.4 Тип данных даты и времени.
- •2.3.5 Типы данных Decimal, Float и Real.
- •2.3.6 Тип денежных данных.
- •2.3.7 Типы binary и varbinary.
- •2.3.8 Типы данных больших значений.
- •2.4 Индексы.
- •2.4.1 Простой индекс.
- •2.4.2 Уникальный индекс.
- •2.4.3 Первичный ключ.
- •2.4.4 Уточнение определения индексов для ms sql Server.
- •2.4.4.1 Создание кластеризованного индекса.
- •2.4.4.2 Создание некластеризованных индексов.
- •2.5 Ограничения (Constraints).
- •2.5.1 Ограничение первичного ключа (Primary key constraints).
- •2.5.2 Создание или изменение ограничения primary key.
- •2.5.2.1 Свойство identity.
- •2.5.2.2 Глобальные уникальные идентификаторы.
- •2.6 Отношения между таблицами.
- •2.7 Нормализация данных.
- •2.7.1 Функциональные зависимости.
- •2.7.2 Первая нормальная форма таблицы.
- •2.7.3 Вторая нормальная форма таблицы.
- •2.7.4 Третья нормальная форма таблицы.
- •2.8 Ограничение foreign key.
- •2.8.1 Ведение ссылочной целостности.
- •2.8.2 Диалоговое окно "Связи внешнего ключа".
- •2.9 Ограничение unique.
- •2.9.1 Создание ограничения уникальности визуальными средствами.
- •2.9.2 Изменение ограничения уникальности.
- •2.10 Проверочные ограничения check.
- •2.11 Значения по умолчанию (Default).
- •3. Диаграммы базы данных.
- •3.1 Конструктор баз данных.
- •3.1.1 Таблицы и столбцы в диаграмме базы данных.
- •3.2 Редактирование диаграммы.
- •4. Основы Transact-sql.
- •4.1 Введение в sql.
- •4.1.1 Особенности выполнения инструкций Transact-sql.
- •4.2 Запросы.
- •4.2.2 Синтаксис инструкции select.
- •4.2.2.1 Предложение select.
- •4.2.2.2 Предложение select_list.
- •4.2.2.3 Предложение into.
- •4.2.2.4 Предложение from.
- •4.2.2.5 Предложение where.
- •4.2.2.6 Предложение group by.
- •4.2.2.7 Предложение having.
- •4.2.2.8 Предложение order by.
- •4.3 Ввод данных.
- •4.4 Обновление или изменение данных.
- •4.5 Удаление данных.
- •4.6 Представления.
- •4.6.1 Сравнительные характеристики запросов и представлений.
- •4.6.2 Типы представлений.
- •4.6.2.1 Стандартные представления.
- •4.6.2.2 Индексированные представления.
- •4.6.3 Создание представлений.
- •4.6.3.1 Обновляемые представления.
- •4.7.5 Настройка разрешений на объекты базы данных.
- •4.7.5.3 Создание пользователя в базе данных.
- •4.7.5.4 Инструкция grant.
- •4.7.6 Удаление объектов базы данных.
2.10 Проверочные ограничения check.
Проверочные ограничения CHECK обеспечивают целостность домена путем ограничения значений, которые могут быть помещены в столбец.
Аналогично ограничениям внешнего ключа, они управляют значениями, которые присваиваются столбцу. Однако они по-разному определяют допустимые значения: ограничения внешнего ключа получают список допустимых значений из другой таблицы, а проверочные ограничения определяют допустимые значения по логическому выражению, которое не основано на данных в столбце или столбцах.
Например, для того чтобы ограничить интервал значений столбца salary, можно создать проверочное ограничение, позволяющее столбцу принимать значения только в интервале от 15 до 100 тыс. долларов. Это ограничение исключает возможность устанавливать размер зарплаты, отличный от установленного.
Проверочное ограничение можно создать с любым логическим выражением, возвращающим значение TRUE или FALSE на основе логических операторов. Для предыдущего примера логическое выражение будет выглядеть следующим образом:
salary >= 15000 AND salary <= 100000
К одному столбцу можно применять несколько проверочных ограничений. Кроме того, можно применять одно проверочное ограничение к нескольким столбцам. Для этого ограничение нужно создать на уровне таблицы. Например, с помощью проверочного ограничения на несколько столбцов можно подтвердить то, что любая строка со значением USA в столбце country/region может принимать двухсимвольное значение в столбце state. Это позволяет выполнить проверку сразу нескольких условий из одного выражения.
Ограничения CHECK можно создавать как часть определения таблицы при ее создании. Если таблица уже существует, можно добавить ограничение CHECK.
Таблицы и столбцы могут содержать несколько ограничений CHECK.
Если ограничение CHECK уже существует, его можно изменить или удалить. Например, может возникнуть необходимость изменить выражение, используемое в ограничении CHECK для столбца таблицы.
Примечание. Чтобы изменить ограничение CHECK, нужно, прежде всего удалить существующее ограничение CHECK и повторно создать его с новым определением.
2.11 Значения по умолчанию (Default).
Значение по умолчанию определяет значение, автоматически вводимое в соответствующий столбец, в том случае, если пользователь по каким либо причинам его не ввёл.
Значение по умолчанию определяется как свойство соответствующего столбца таблицы.
Каждый столбец записи должен содержать значение, даже если это значение равно NULL. Возможны случаи, когда необходимо поместить данные в таблицу, однако значение какого-либо столбца неизвестно, или же это значение не существует. Если столбец допускает значения NULL, то можно поместить в него значение NULL. Поскольку иногда помещать в столбцы значения NULL нежелательно, лучшим решением может оказаться определение для столбца значения по умолчанию (DEFAULT). Например, для числовых столбцов обычно в качестве значения по умолчанию указывается ноль, а для символьных - значение "н/д".
При загрузке строки в таблицу, имеющую для столбца определение DEFAULT, SQL Server Database Engine неявно выполняет в этот столбец вставку значения по умолчанию, если оно явно не указано.
Если столбец не допускает значений NULL и определение DEFAULT для него отсутствует, необходимо явно указать значение столбца, в противном случае компонент Database Engine возвратит сообщение об ошибке, указывающее, что значения NULL в столбце не допускаются.
Вставляемое в столбец значение определяется совместно определением DEFAULT и возможностью помещать в столбец значения NULL. Сводка результатов при различных комбинациях этих параметров приведена в следующей таблице.
Определение столбца |
Значение отсутствует, нет определения DEFAULT |
Значение отсутствует, есть определение DEFAULT |
Ввод значения NULL |
Значения NULL допустимы |
NULL |
Значение по умолчанию |
NULL |
Значения NULL запрещены |
Ошибка |
Значение по умолчанию |
Ошибка |
Можно создать определение DEFAULT в определении таблицы при ее создании. Если таблица уже существует, можно добавить к ней определение DEFAULT. Каждый столбец таблицы может содержать лишь одно определение DEFAULT.
Если определение DEFAULT уже существует, можно изменить его или удалить. Например, можно изменить значение, которое будет помещаться в столбец, если при вставке значение не указано.
Примечание. Для изменения определения DEFAULT необходимо сначала удалить существующее определение DEFAULT, а затем создать его повторно в новом определении.