- •Лекция №1 Информационные системы
- •Лекция № 2 Базы данных и стория появления бд
- •Основная концепция технологии бд:
- •Основные понятия курса (определения):
- •Характеристики субд
- •Основные свойства бд:
- •Лекция №3 Этапы проектирования бд Обобщенная архитектура субд
- •Этапы проектирования бд
- •Лекция №4 Модели данных
- •Реляционная модель данных (рмд)
- •Лекция №5
- •Рмд: языки манипулирования данными (ямд)
- •Лекция №6
- •Нормализация отношений
- •Определение фз
- •Лекция №7 Нормализация отношений (продолжение)
- •Лекция № 8 Платформа sql Server
- •Выпуски sql Server
- •Компоненты sql Server
- •Экземпляры sql Server
- •Системные базы данных
- •Лекция № 9 Файлы и файловые группы
- •Файловая группа по умолчанию
- •Физическая структура файлов данных
- •Страницы
- •Поддержка больших строк
- •Экстенты
- •Журнал транзакций и восстановление
- •Физическая архитектура журнала транзакций
- •Лекция № 10 Опции базы данных
- •Параметры сортировки (collation)
- •Модель восстановления (recovery)
- •Уровень совместимости (compatibility_level)
- •Автоматические
- •Восстановление
- •Состояние
- •Лекция № 11
- •Изменение настроек базы данных
- •Удаление базы данных
- •Лекция № 12 Типы данных Microsoft sql Server
- •Точные числа
- •Приблизительные числа
- •Двоичные данные
- •Пространственные типы данных
- •Специальные типы данных
- •Устаревшие типы данных
- •Пользовательские типы данных
- •Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Создание таблиц
- •Изменение таблиц
- •Удаление таблиц
- •Системные функции
- •Строковые функции
- •Функции даты (времени)
- •Обновление данных
- •Лекция № 14 Создание индексов и управление индексами Структура хранения данных
- •Структуры кластеризованного индекса
- •Структуры некластеризованного индекса
- •Оптимизация индексов
- •Источники информации об индексах
- •Создание индексов
- •Вычисляемые столбцы
- •Изменение индексов
- •Восстановление индексов
- •Удаление индексов
- •Лекция № 15 Ограничения целостности данных Назначение
- •Типы ограничений целостности данных
- •Определение default значений
- •Ограничение not null
- •Ограничения check
- •Ограничения unique
- •Ограничения primary key
- •Ограничения foreign key
- •Ссылочная целостность
- •Индексирование ограничений foreign key
- •Количество ограничений foreign key в таблице
- •Ограничения столбцов и таблиц
- •Применение триггеров
- •Программирование триггеров
- •Создание триггеров
- •Изменение триггеров
- •Удаление триггеров
- •Лекция № 16 Представления Что такое представление?
- •Использование представлений
- •Источники информации о представлениях Обозреватель объектов sql Server Management Studio
- •Функции динамического управления
- •Создание предавлений
- •Изменение представлений
- •Удаление представлений
- •Обновление данных в представлении
- •Типы представлений Стандартные представления
- •Индексированные представления
- •Секционированные представления
- •Секционированные представления
- •Создание таблиц-элементов
- •Определение распределенных секционированных представлений
- •Правила таблиц
- •Правила столбцов
- •Правила столбцов секционирования
- •Индексированные представления
- •Создание индексированных представлений
- •Лекция № 17 Хранимые процедуры и функции Преимущества хранимых процедур
- •Источники информации о хранимых процедурах Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Функции динамического управления
- •Создание хранимых процедур
- •Вызов хранимых процедур
- •Перекомпиляция хранимых процедур
- •Преимущества определяемых пользователем функций
- •Источники информации о пользовательских функциях Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Функции динамического управления
- •Типы определяемых пользователем функции
- •Возвращающие табличное значение определяемые пользователем функции
- •Определяемые пользователем встроенные функции
- •Концепция транзакций
- •Эффекты одновременного доступа
- •Блокировки и управление версиями строк
- •Типы управления одновременным доступом
- •Режимы блокировки
- •Взаимоблокировка
- •Отображение сведений о блокировках
- •Режимы транзакций
- •Автоматическая фиксация транзакций
- •Явные транзакции
- •Неявные транзакции
- •Распределенные транзакции
- •Уровни изоляции в ядре субд
Приблизительные числа
Типы приблизительных числовых данных, используемые для хранения числовых данных с плавающей запятой. Данные с плавающей запятой являются приблизительными, поэтому не все значения из диапазона могут быть отображены точно.
Тип данных |
Диапазон |
Объем памяти |
float |
- 1,79E+308 — -2,23E-308, 0 и 2,23E-308 — 1,79E+308 |
Зависит от значения n |
real |
- 3,40E + 38 — -1,18E - 38, 0 и 1,18E - 38 — 3,40E + 38 |
4 байта |
float [ (n) ]
Где n – это количество битов, используемых для хранения мантиссы числа в формате float при экспоненциальном представлении. Определяет точность данных и размер для хранения. Значение параметра n должно лежать в пределах от 1 до 53. Значением по умолчанию для параметра n является 53.
-
n
Точность
Объем памяти
1–24
7 знаков
4 байта
25–53
15 знаков
8 байт
|
Дата и время
В предыдущих версия Microsoft SQL Server существовали только два типа, обеспечивавших хранение дат и времени: datetime и smalldatetime.
При разработке реальных приложений часто приходилось сталкиваться с практическими ограничениями этих типов. Поскольку оба типа предназначены для хранения даты и времени, при необходимости хранить только дату или только время приходилось оговаривать фиксированную часть. Например, если необходимо хранить только время, для даты можно выбрать фиксированное значение 01-01-2010. Недостатком такого подхода является усложнение логики приложения, поскольку при изменении значений каждый раз необходимо дату на соответствие 01-01-2010. В противном случае возможны некорректные сравнения, если не совпадает дата.
Тип данных |
Диапазон дат |
Диапазон времени |
Объем памяти |
Максимальная Точность |
datetime |
От 01.01.1753 до 31.12.9999 |
От 00:00:00 до 23:59:590,997 |
8 байт
|
Округлено до приращения 0,000, 0,003 или 0,007 секунд |
smalldatetime |
От 01.01.1900 до 06.06.2079 |
От 00:00:00 до 23:59:59 |
4 байта, фиксированный. |
Одна минута
|
date |
От 01.01.0001 до 31.12.9999 |
|
3 байта, фиксированный |
Один день |
time [(0-7)] |
|
От 00:00:00 до 23:59:59.9999999 |
3-5 байт, зависит от точности |
100 наносекунд |
datetime2 [(0-7)] |
От 01.01.0001 до 31.12.9999 |
От 00:00:00 до 23:59:59.9999999 |
6 байт для 2 и менее цифр, 7 байт для 3 и 4 цифр. 8 байт. |
100 наносекунд |
Datetimeoffset [(0-7)] Учитывает часовой пояс |
От 01.01.0001 до 31.12.9999 |
От 00:00:00 до 23:59:59.9999999 |
10 байт, зависит от точности
|
100 наносекунд |
Типы данных datetime и smalldatetime, существовавшие в предыдущих версиях SQL Server, имели более низкую точность по сравнению с новыми типами, и не имели возможности учитывать часовой пояс.
Символьные строки
char [ ( n ) ]
Символьные данные фиксированной длины, не в Юникоде, с длиной n байт. Значение n должно находиться в интервале от 1 до 8000. Размер хранения данных этого типа равен n байт. Синонимом по стандарту ISO для типа char является character.
varchar [ ( n | max ) ]
Символьные данные переменной длины, не в Юникоде. n может иметь значение от 1 до 8 000. max означает, что максимальный размер хранения равен 2^31-1 байт. Размер хранения равен фактической длине данных плюс два байта. Введенные данные могут иметь длину 0 символов. Синонимами по стандарту ISO для типа varchar являются типы charvarying или charactervarying.
nchar [ ( n ) ]
Символьные данные в Юникоде длиной в n символов. Аргумент n должен иметь значение от 1 до 4000. Размер хранилища вдвое больше n байт. Синонимами по стандарту ISO для типа nchar являются типы national char и national character.
nvarchar [ ( n | max ) ]
Символьные данные в Юникоде переменной длины. Аргумент n может принимать значение от 1 до 4 000. Аргумент max указывает, что максимальный размер хранилища равен 2^31-1 байт. Размер хранилища в байтах вдвое больше числа введенных символов + 2 байта. Введенные данные могут иметь длину в 0 символов. Синонимами по стандарту ISO для типа nvarchar являются типы national char varying и national character varying.