Слайд 2
![Пример Преподаватели пишут учебники по предметам Преподаватель – Предмет – Учебник](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-1.jpg)
Пример
Преподаватели пишут учебники по предметам
Преподаватель – Предмет – Учебник
Слайд 3
![Пример Преподаватель IdTeacher Name Birthday Учебник IdBook BookName PublcationYear NumberOfPages](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-2.jpg)
Пример
Преподаватель
IdTeacher
Name
Birthday
Учебник
IdBook
BookName
PublcationYear
NumberOfPages
IdSubject
Предмет
IdSubject
SubjectName
SubjectType
Авторы
IdBookAuthor
IdTeacher
IdBook
Слайд 4
![Пример Студент – Группа – Староста](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-3.jpg)
Пример
Студент – Группа – Староста
Слайд 5
![Пример Студент IdStudent StudentName Birthday Address IdGroup Группа IdGroup GroupNum Profession Faculty Head](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-4.jpg)
Пример
Студент
IdStudent
StudentName
Birthday
Address
IdGroup
Группа
IdGroup
GroupNum
Profession
Faculty
Head
Слайд 6
![Типы данных Числовые Денежные Символьные Дата и время Прочие](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-5.jpg)
Типы данных
Числовые
Денежные
Символьные
Дата и время
Прочие
Слайд 7
![Числовые типы данных Точные Приближенные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-6.jpg)
Числовые типы данных
Точные
Приближенные
Слайд 8
![Точные числовые типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-7.jpg)
Точные числовые типы данных
Слайд 9
![Точность и масштаб Точность представляет собой количество десятичных знаков в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-8.jpg)
Точность и масштаб
Точность представляет собой количество десятичных знаков в числе
Масштаб
представляет собой количество десятичных знаков справа от десятичного разделителя
Например:
число 153,411
точность 6
масштаб 3
Слайд 10
![Точность и масштаб](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-9.jpg)
Слайд 11
![Числовые типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-10.jpg)
Слайд 12
![Приближенные числовые типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-11.jpg)
Приближенные числовые типы данных
Слайд 13
![Приближенные числовые типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-12.jpg)
Приближенные числовые типы данных
Слайд 14
![Денежные типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-13.jpg)
Слайд 15
![Символьные типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-14.jpg)
Слайд 16
![Символьные типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-15.jpg)
Слайд 17
![Типы данных для даты и времени](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-16.jpg)
Типы данных для даты и времени
Слайд 18
![Типы данных для даты и времени](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-17.jpg)
Типы данных для даты и времени
Слайд 19
![Типы данных для даты и времени SELECT CAST('2017-05-08 12:35:29. 1234567](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-18.jpg)
Типы данных для даты и времени
SELECT
CAST('2017-05-08 12:35:29. 1234567 +12:15' AS
time(7)) 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';
Слайд 20
![Типы данных для даты и времени](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-19.jpg)
Типы данных для даты и времени
Слайд 21
![Функции CAST и CONVERT CAST ( expression AS data_type) CONVERT](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-20.jpg)
Функции CAST и CONVERT
CAST ( expression AS data_type)
CONVERT ( data_type,
expression[ , style ] )
Слайд 22
![Функции CAST и CONVERT](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-21.jpg)
Слайд 23
![Двоичные типы данных Хранится последовательность битов Применяются для хранения изображений, звука, видео Можно хранить любые данные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-22.jpg)
Двоичные типы данных
Хранится последовательность битов
Применяются для хранения изображений, звука, видео
Можно хранить
любые данные
Слайд 24
![Двоичные типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-23.jpg)
Слайд 25
![Двоичные типы данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-24.jpg)
Слайд 26
![Прочие типы данных TIMESTAMP UNIQUEIDENTIFIER XML HIERARCHYID GEOGRAPHY, GEOMETRY FILESTREAM SQLVARIANT TEXT, NTEXT, IMAGE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-25.jpg)
Прочие типы данных
TIMESTAMP
UNIQUEIDENTIFIER
XML
HIERARCHYID
GEOGRAPHY, GEOMETRY
FILESTREAM
SQLVARIANT
TEXT, NTEXT, IMAGE
Слайд 27
![TIMESTAMP ROWVERSION - синоним TIMESTAMP Необходимо установить хронологию изменения данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-26.jpg)
TIMESTAMP
ROWVERSION - синоним TIMESTAMP
Необходимо установить хронологию изменения данных
занимает 8 байт
Значения могут
вводиться и изменяться только сервером
Слайд 28
![TIMESTAMP](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-27.jpg)
Слайд 29
![UNIQUEIDENTIFIER 16-байтовый идентификатор GUID Главная особенность – способность генерировать уникальные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-28.jpg)
UNIQUEIDENTIFIER
16-байтовый идентификатор GUID
Главная особенность – способность генерировать уникальные значения, которые с
очень малой вероятностью могут быть независимо получены еще раз.
Могут быть получены при помощи встроенной функции NEWID.
Могут быть преобразованы из строковой константы в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где каждый символ x представляет шестнадцатеричную цифру в диапазоне 0–9 или a–f
Пример:
8F1719F1-8B37-D821-B52D-00C04FC964FF
Слайд 30
![UNIQUEIDENTIFIER](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-29.jpg)
Слайд 31
![XML Тип данных, в котором хранятся XML-данные Very Useful Journal](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-30.jpg)
XML
Тип данных, в котором хранятся XML-данные
Very Useful Journal
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 >
Слайд 32
![HIERARCHYID Системный тип данных переменной длины Используется для представления положения в иерархии](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-31.jpg)
HIERARCHYID
Системный тип данных переменной длины
Используется для представления положения в иерархии
Слайд 33
![Пространственные типы GEOGRAPHY GEOMETRY geography хранит эллиптические данные, такие как](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-32.jpg)
Пространственные типы
GEOGRAPHY
GEOMETRY
geography хранит эллиптические данные, такие как координаты широты и долготы GPS
geometry
представляет данные в эвклидовом пространстве (плоской системе координат)
Слайд 34
![FILESTREAM FILESTREAM размещает данные больших двоичных объектов (BLOB) типа varbinary(max)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-33.jpg)
FILESTREAM
FILESTREAM размещает данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в
виде файлов
Можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM
Следует использовать в следующих случаях:
средний размер сохраняемых объектов превышает 1 МБ;
важен быстрый доступ для чтения;
Слайд 35
![SQLVARIANT Тип данных, хранящий значения различных типов данных Максимальная длина](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-34.jpg)
SQLVARIANT
Тип данных, хранящий значения различных типов данных
Максимальная длина значения типа sql_variant составляет 8016
байт
Сюда включены структура и значение базового типа
Максимальная длина значения соответствующего базового типа составляет 8 000 байт
Слайд 36
![SQLVARIANT Типы значений, которые не могут храниться в типе данных sql_variant](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-35.jpg)
SQLVARIANT
Типы значений, которые не могут храниться в типе данных sql_variant
Слайд 37
![Приоритет Тип данных с меньшим приоритетом будет преобразован в тип](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-36.jpg)
Приоритет
Тип данных с меньшим приоритетом будет преобразован в тип данных с
большим приоритетом
Если неявное преобразование не поддерживается, возвращается ошибка
Слайд 38
![Приоритет определяемые пользователем типы данных (высший приоритет); sql_variant; xml; datetimeoffset;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-37.jpg)
Приоритет
определяемые пользователем типы данных (высший приоритет);
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;
Слайд 39
![Ограничения целостности](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-38.jpg)
Слайд 40
![Ограничения целостности Для ограничений целостности PRIMARY KEY FOREIGN KEY UNIQUE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-39.jpg)
Ограничения целостности
Для ограничений целостности
PRIMARY KEY
FOREIGN KEY
UNIQUE
CHECK
может быть задано имя
Если
это имя не задано, при создании таблицы сервер назначает ограничениям собственные имена
Слайд 41
![PRIMARY KEY Столбец или группа столбцов, имеющие уникальные значения для](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-40.jpg)
PRIMARY KEY
Столбец или группа столбцов, имеющие уникальные значения для каждой строки,
называется ключом
Create table FACULTY -- факультет
( FACULTY char(10), -- идентификатор
FACULTY_NAME varchar(50) ); -- полное имя
Слайд 42
![PRIMARY KEY Create table FACULTY --факультет ( FACULTY char(10) primary](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-41.jpg)
PRIMARY KEY
Create table FACULTY --факультет
( FACULTY char(10) primary key, --идентификатор
FACULTY_NAME
varchar(50) --полное имя
);
Слайд 43
![PRIMARY KEY Create table FACULTY ( FACULTY char(10) constraint PK_FACULTY_FACULTY](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-42.jpg)
PRIMARY KEY
Create table FACULTY
( FACULTY char(10)
constraint PK_FACULTY_FACULTY
primary key,
FACULTY_NAME varchar(50));
Create table FACULTY
( FACULTY char(10),
FACULTY_NAME varchar(50),
constraint PK_FACULTY_FACULTY
primary key (FACULTY));
Слайд 44
![PRIMARY KEY Create table SHEDULE_TEACHER -- расписание преподавателей ( CLASSDATE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-43.jpg)
PRIMARY KEY
Create table SHEDULE_TEACHER -- расписание преподавателей
( CLASSDATE smalldatetime, -- дата
и время занятий
TEACHER char(10), -- преподаватель
SUBJECT char(10), -- дисциплина
AUDITORIUM char(10), -- аудитория
constraint PK_ S_TEACHER primary key
(CLASSDATE, TEACHER) );
Слайд 45
![NOT NULL](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-44.jpg)
Слайд 46
![DEFAULT](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-45.jpg)
Слайд 47
![DEFAULT](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-46.jpg)
Слайд 48
![FOREGN KEY Внешний ключ – ограничение целостности, основанное на связи,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-47.jpg)
FOREGN KEY
Внешний ключ – ограничение целостности, основанное на связи, установленной между
двумя таблицами БД
Виды связей:
1:1 − каждому экземпляру одной таблицы соответствует в точности один экземпляр второй и наоборот
1:n − может существовать экземпляр одной таблицы, который соответствует нескольким экземплярам другой, и обратное не допускается
m:n − экземпляр одной таблицы соответствует нескольким экземплярам другой таблицы и наоборот
Слайд 49
![FOREGN KEY](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-48.jpg)
Слайд 50
![FOREGN KEY – INSERT](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-49.jpg)
Слайд 51
![FOREGN KEY – INSERT](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-50.jpg)
Слайд 52
![FOREGN KEY – UPDATE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-51.jpg)
Слайд 53
![FOREGN KEY – UPDATE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-52.jpg)
Слайд 54
![FOREGN KEY – DELETE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-53.jpg)
Слайд 55
![CHECK](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-54.jpg)
Слайд 56
![CHECK](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-55.jpg)
Слайд 57
![CHECK](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-56.jpg)
Слайд 58
![UNIQUE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-57.jpg)
Слайд 59
![UNIQUE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-58.jpg)
Слайд 60
![IDENTITY](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-59.jpg)
Слайд 61
![IDENTITY](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/312540/slide-60.jpg)