Слайд 2Пример
Преподаватели пишут учебники по предметам
Преподаватель – Предмет – Учебник
![Пример Преподаватели пишут учебники по предметам Преподаватель – Предмет – Учебник](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-1.jpg)
Слайд 3Пример
Преподаватель
IdTeacher
Name
Birthday
Учебник
IdBook
BookName
PublcationYear
NumberOfPages
IdSubject
Предмет
IdSubject
SubjectName
SubjectType
Авторы
IdBookAuthor
IdTeacher
IdBook
![Пример Преподаватель IdTeacher Name Birthday Учебник IdBook BookName PublcationYear NumberOfPages IdSubject Предмет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-2.jpg)
Слайд 4Пример
Студент – Группа – Староста
![Пример Студент – Группа – Староста](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-3.jpg)
Слайд 5Пример
Студент
IdStudent
StudentName
Birthday
Address
IdGroup
Группа
IdGroup
GroupNum
Profession
Faculty
Head
![Пример Студент IdStudent StudentName Birthday Address IdGroup Группа IdGroup GroupNum Profession Faculty Head](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-4.jpg)
Слайд 6Типы данных
Числовые
Денежные
Символьные
Дата и время
Прочие
![Типы данных Числовые Денежные Символьные Дата и время Прочие](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-5.jpg)
Слайд 7Числовые типы данных
Точные
Приближенные
![Числовые типы данных Точные Приближенные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-6.jpg)
Слайд 9Точность и масштаб
Точность представляет собой количество десятичных знаков в числе
Масштаб представляет
![Точность и масштаб Точность представляет собой количество десятичных знаков в числе Масштаб](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-8.jpg)
собой количество десятичных знаков справа от десятичного разделителя
Например:
число 153,411
точность 6
масштаб 3
Слайд 12Приближенные числовые типы данных
![Приближенные числовые типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-11.jpg)
Слайд 13Приближенные числовые типы данных
![Приближенные числовые типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-12.jpg)
Слайд 19Типы данных для даты и времени
SELECT
CAST('2017-05-08 12:35:29. 1234567 +12:15' AS time(7))
![Типы данных для даты и времени SELECT CAST('2017-05-08 12:35:29. 1234567 +12:15' AS](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-18.jpg)
AS 'time',
CAST('2017-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date',
CAST('2017-05-08 12:35:29.123' AS smalldatetime) AS 'smalldatetime',
CAST('2017-05-08 12:35:29.123' AS datetime) AS 'datetime',
CAST('2017-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS 'datetime2',
CAST('2017-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS 'datetimeoffset';
Слайд 21Функции CAST и CONVERT
CAST ( expression AS data_type)
CONVERT ( data_type, expression[
![Функции CAST и CONVERT CAST ( expression AS data_type) CONVERT ( data_type,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-20.jpg)
, style ] )
Слайд 23Двоичные типы данных
Хранится последовательность битов
Применяются для хранения изображений, звука, видео
Можно хранить любые
![Двоичные типы данных Хранится последовательность битов Применяются для хранения изображений, звука, видео Можно хранить любые данные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-22.jpg)
данные
Слайд 26Прочие типы данных
TIMESTAMP
UNIQUEIDENTIFIER
XML
HIERARCHYID
GEOGRAPHY, GEOMETRY
FILESTREAM
SQLVARIANT
TEXT, NTEXT, IMAGE
![Прочие типы данных TIMESTAMP UNIQUEIDENTIFIER XML HIERARCHYID GEOGRAPHY, GEOMETRY FILESTREAM SQLVARIANT TEXT, NTEXT, IMAGE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-25.jpg)
Слайд 27TIMESTAMP
ROWVERSION - синоним TIMESTAMP
Необходимо установить хронологию изменения данных
занимает 8 байт
Значения могут вводиться
![TIMESTAMP ROWVERSION - синоним TIMESTAMP Необходимо установить хронологию изменения данных занимает 8](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-26.jpg)
и изменяться только сервером
Слайд 29UNIQUEIDENTIFIER
16-байтовый идентификатор GUID
Главная особенность – способность генерировать уникальные значения, которые с очень
![UNIQUEIDENTIFIER 16-байтовый идентификатор GUID Главная особенность – способность генерировать уникальные значения, которые](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-28.jpg)
малой вероятностью могут быть независимо получены еще раз.
Могут быть получены при помощи встроенной функции NEWID.
Могут быть преобразованы из строковой константы в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где каждый символ x представляет шестнадцатеричную цифру в диапазоне 0–9 или a–f
Пример:
8F1719F1-8B37-D821-B52D-00C04FC964FF
Слайд 31XML
Тип данных, в котором хранятся XML-данные
Very Useful Journal
![XML Тип данных, в котором хранятся XML-данные Very Useful Journal sdsds 8-3232-121212](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-30.jpg)
sdsds 8-3232-121212 8-3232-121212 j@j.ru www.j.ru
XML today
12.09.98
XML
www.j.ru/issues/
Issue overview
/article1
language
marckup >
Слайд 32HIERARCHYID
Системный тип данных переменной длины
Используется для представления положения в иерархии
![HIERARCHYID Системный тип данных переменной длины Используется для представления положения в иерархии](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-31.jpg)
Слайд 33Пространственные типы
GEOGRAPHY
GEOMETRY
geography хранит эллиптические данные, такие как координаты широты и долготы GPS
geometry представляет
![Пространственные типы GEOGRAPHY GEOMETRY geography хранит эллиптические данные, такие как координаты широты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-32.jpg)
данные в эвклидовом пространстве (плоской системе координат)
Слайд 34FILESTREAM
FILESTREAM размещает данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде
![FILESTREAM FILESTREAM размещает данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-33.jpg)
файлов
Можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM
Следует использовать в следующих случаях:
средний размер сохраняемых объектов превышает 1 МБ;
важен быстрый доступ для чтения;
Слайд 35SQLVARIANT
Тип данных, хранящий значения различных типов данных
Максимальная длина значения типа sql_variant составляет 8016 байт
Сюда
![SQLVARIANT Тип данных, хранящий значения различных типов данных Максимальная длина значения типа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-34.jpg)
включены структура и значение базового типа
Максимальная длина значения соответствующего базового типа составляет 8 000 байт
Слайд 36SQLVARIANT
Типы значений, которые не могут храниться в типе данных sql_variant
![SQLVARIANT Типы значений, которые не могут храниться в типе данных sql_variant](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-35.jpg)
Слайд 37Приоритет
Тип данных с меньшим приоритетом будет преобразован в тип данных с большим
![Приоритет Тип данных с меньшим приоритетом будет преобразован в тип данных с](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-36.jpg)
приоритетом
Если неявное преобразование не поддерживается, возвращается ошибка
Слайд 38Приоритет
определяемые пользователем типы данных (высший приоритет);
sql_variant;
xml;
datetimeoffset;
datetime2;
datetime;
smalldatetime;
date;
time;
float;
text;
image;
timestamp;
uniqueidentifier;
nvarchar (включая nvarchar(max));
nchar;
varchar (включая varchar(max));
char;
varbinary (включая varbinary(max));
binary (низший приоритет).
real;
decimal;
money;
smallmoney;
bigint;
int;
smallint;
tinyint;
bit;
ntext;
![Приоритет определяемые пользователем типы данных (высший приоритет); sql_variant; xml; datetimeoffset; datetime2; datetime;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-37.jpg)
Слайд 40Ограничения целостности
Для ограничений целостности
PRIMARY KEY
FOREIGN KEY
UNIQUE
CHECK
может быть задано имя
Если это
![Ограничения целостности Для ограничений целостности PRIMARY KEY FOREIGN KEY UNIQUE CHECK может](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-39.jpg)
имя не задано, при создании таблицы сервер назначает ограничениям собственные имена
Слайд 41PRIMARY KEY
Столбец или группа столбцов, имеющие уникальные значения для каждой строки, называется
![PRIMARY KEY Столбец или группа столбцов, имеющие уникальные значения для каждой строки,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-40.jpg)
ключом
Create table FACULTY -- факультет
( FACULTY char(10), -- идентификатор
FACULTY_NAME varchar(50) ); -- полное имя
Слайд 42PRIMARY KEY
Create table FACULTY --факультет
( FACULTY char(10) primary key, --идентификатор
FACULTY_NAME varchar(50)
![PRIMARY KEY Create table FACULTY --факультет ( FACULTY char(10) primary key, --идентификатор](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-41.jpg)
--полное имя
);
Слайд 43PRIMARY KEY
Create table FACULTY
( FACULTY char(10)
constraint PK_FACULTY_FACULTY
primary key,
FACULTY_NAME
![PRIMARY KEY Create table FACULTY ( FACULTY char(10) constraint PK_FACULTY_FACULTY primary key,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-42.jpg)
varchar(50));
Create table FACULTY
( FACULTY char(10),
FACULTY_NAME varchar(50),
constraint PK_FACULTY_FACULTY
primary key (FACULTY));
Слайд 44PRIMARY KEY
Create table SHEDULE_TEACHER -- расписание преподавателей
( CLASSDATE smalldatetime, -- дата и
![PRIMARY KEY Create table SHEDULE_TEACHER -- расписание преподавателей ( CLASSDATE smalldatetime, --](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-43.jpg)
время занятий
TEACHER char(10), -- преподаватель
SUBJECT char(10), -- дисциплина
AUDITORIUM char(10), -- аудитория
constraint PK_ S_TEACHER primary key
(CLASSDATE, TEACHER) );
Слайд 48FOREGN KEY
Внешний ключ – ограничение целостности, основанное на связи, установленной между двумя
![FOREGN KEY Внешний ключ – ограничение целостности, основанное на связи, установленной между](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1179575/slide-47.jpg)
таблицами БД
Виды связей:
1:1 − каждому экземпляру одной таблицы соответствует в точности один экземпляр второй и наоборот
1:n − может существовать экземпляр одной таблицы, который соответствует нескольким экземплярам другой, и обратное не допускается
m:n − экземпляр одной таблицы соответствует нескольким экземплярам другой таблицы и наоборот