- •Лекция 1. Создание баз данных Знакомство с sql Server
- •Создание Базы данных
- •Команда создания бд (create database)
- •Опции базы данных
- •Категории опций базы данных
- •Источники информации о бд
- •Изменение параметров бд (alter database)
- •Удаление бд (drop database)
- •Создание Групп файлов (Filegroups)
- •Создание Схем (Schemas)
- •Создание Снапшотов (Snapshots)
- •Лекция 2. Создание типов данных и таблиц
- •Создание типов данных (Types)
- •Создание таблиц
- •Как организовано хранение данных в строках
- •Как хранятся большие значения данных
- •Рекомендации по созданию таблиц
- •Изменение и удаление таблиц
- •Создание секционированных таблиц
- •Функции секционирования (Partition Functions)
- •Операции над секционированными таблицами
- •Лекция 3 Получение xml-документов из реляционных таблиц (for xml)
- •Введение
- •Введение в for xml
- •Введение
- •Синтаксис фразы for xml
- •Примеры использования for xml
- •Запросы в режиме raw
- •Введение
- •Получение данных в сгенерированных элементах-строках
- •Получение данных в виде элементов
- •Получение данных при использовании корневого элемента и настроенного имени элемента строки
- •Запросы в режиме auto
- •Введение
- •Получение вложенных данных при использовании режима auto
- •Получение данных в виде элементов
- •Запросы в режиме explicit
- •Введение
- •Универсальные таблицы
- •Определение столбцов универсальной таблицы
- •Создание запроса для построения универсальной таблицы
- •Запросы в режиме path
- •Введение
- •Получение данных при использовании режима path
- •Изменение имени элемента row
- •Синтаксис для получения вложенных xml-документов
- •Введение
- •Использование режима auto для получения вложенных xml
- •Использование type для получения типа данных xml в подзапросе
- •Вложение таблиц при использовании режима explicit
- •Лекция 4 Разбор документов xml с использованием синтаксиса openxml
- •Введение
- •Порядок разбора данных xml
- •Хранимые процедуры для управления внутренним представлением дерева
- •Создание дерева с помощью хранимой процедуры sp_xml_preparedocument
- •Удаление дерева с использованием sp_xml_removedocument
- •Примеры a. Использование простой инструкции select с openxml
- •Б. Указание ColPattern для сопоставления столбцов xml-атрибутам
- •Дополнительная информация
- •Что такое xQuery?
- •Введение
- •Синтаксис xQuery
- •Операторы flowr
- •Метод value
- •Метод exist
- •Связывание реляционных столбцов и переменных
- •Метод modify
- •Введение
- •Оператор insert
- •Оператор replace
- •Оператор delete
- •Лекция 5 Реализация Хранимых Процедур и Функций
- •Лекция 7 Поддержка целостности данных
Лекция 2. Создание типов данных и таблиц
Данные в базе хранятся в таблицах. Каждая единица информации базируется на определенном типе данных. В данной лекции рассматриваются предопределенные типы данных и описывается как создать собственные типы данных. Здесь также описывается как создать таблицы, как и для чего использовать секционирование таблиц.
Создание типов данных (Types)
Типы данных определяют набор возможных значений для каждого столбца таблицы БД. SQL Server поддерживает некоторое количество системных типов данных. Необходимо использовать по возможности самые короткие типы данных. Это позволит поместиться большему количеству строк на странице, что обеспечит наилучшую производительность.
В следующей таблице приведены некоторые системные типы данных SQL Server.
Таблица 1. Некоторые системные типы данных
Категория |
Тип данных |
Описание |
Символьные |
char |
Строка символов с фиксированной длиной (до 8 кб – 8192 символа) |
varchar |
Строка символов с переменной длиной (до 8 кб) |
|
text |
Символьные данные, размер которые может превышать 8 кб |
|
Unicode |
nchar |
Строка символов Unicode с фиксированной длиной (до 4 кб – 4096 символов) |
nvarchar |
Строка символов Unicode с переменной длиной (до 4 кб – 4096 символов) |
|
ntext |
Символьные данные Unicode, размер которых может превышать 4096 символов |
|
Дата и время |
datetime |
Даты из диапазона 1.01.1753 г. – 31.12.9999 г. |
smalldatetime |
Даты из диапазона 1.01.1900 г. – 6.06.2079 г. |
|
Число с фиксированной запятой |
decimal numeric |
Данные до 38 знаков в длину. Этот тип требует задания общей длины числа и точности – числа знаков после запятой |
Число с плавающей запятой |
float |
Числа из интервала от -1,79Е+308 до 1,79Е+308 |
real |
Числа из интервала от -3,40Е+38 до 3,40Е+38 |
|
Целочисленные |
int |
Число из интервала от -2147483648 до 2147483647 |
smallint |
Число из интервала от -32768 до 32767 |
|
Денежные |
money |
Суммы от -922337203685477,5808 до 922337203685477,5808 |
smallmoney |
Суммы от -214748,3648 до 214748,3648 |
|
XML |
xml |
0-2Gb |
Изображение |
image |
0-2Gb |
Двоичные |
binary[(n)] varbinary[(n)] varbinary(max) |
0-8000b 0-2Gb |
Глоб идентиф |
uniqueidentifier |
16b |
Специальные |
bit cursor timestamp sysname table sql_variant |
1b 0-8b 8b 256b 0-8,016b |
Можно определить собственный тип данных на основе одного из существующих системных типов. Пользовательский тип данных:
Определяется для конкретной базы данных
Должен иметь уникальное имя внутри БД
Пользовательский тип данных следует создавать, если необходимо определить элементы данных в различных таблицах с одним и тем же форматом. Например, столбец с кодом страны в соответствии со стандартом ISO – 2 латинских символа: JP – Япония, CH – Швеция, RU – Россия и т.д. Различные таблицы могут содержать столбец, хранящий код страны. Тогда можно определить тип данных CountryCode и использовать его в разных таблицах в качестве типа данных.
Если создать тип данных CountryCode в БД model, то он автоматически будет включаться во все вновь создаваемые БД.
Чтобы создать тип данных, необходимо использовать Object Explorer в SQL Server Management Studio или команду CREATE TYPE языка Transact-SQL. Пример:
CREATE TYPE dbo.CountryCode
FROM char(2)
NULL
Чтобы изменить созданный ранее тип данных используется команда ALTER TYPE. Чтобы удалить – команда DROP TYPE.