БД_л3_Типы_данных_констрейны

Содержание

Слайд 2

Пример

Преподаватели пишут учебники по предметам
Преподаватель – Предмет – Учебник

Пример Преподаватели пишут учебники по предметам Преподаватель – Предмет – Учебник

Слайд 3

Пример

Преподаватель
IdTeacher
Name
Birthday

Учебник
IdBook
BookName
PublcationYear
NumberOfPages
IdSubject

Предмет
IdSubject
SubjectName
SubjectType

Авторы
IdBookAuthor
IdTeacher
IdBook

Пример Преподаватель IdTeacher Name Birthday Учебник IdBook BookName PublcationYear NumberOfPages IdSubject Предмет

Слайд 4

Пример

Студент – Группа – Староста

Пример Студент – Группа – Староста

Слайд 5

Пример

Студент
IdStudent
StudentName
Birthday
Address
IdGroup

Группа
IdGroup
GroupNum
Profession
Faculty
Head

Пример Студент IdStudent StudentName Birthday Address IdGroup Группа IdGroup GroupNum Profession Faculty Head

Слайд 6

Типы данных

Числовые
Денежные
Символьные
Дата и время
Прочие

Типы данных Числовые Денежные Символьные Дата и время Прочие

Слайд 7

Числовые типы данных

Точные
Приближенные

Числовые типы данных Точные Приближенные

Слайд 8

Точные числовые типы данных

Точные числовые типы данных

Слайд 9

Точность и масштаб

Точность представляет собой количество десятичных знаков в числе
Масштаб представляет

Точность и масштаб Точность представляет собой количество десятичных знаков в числе Масштаб
собой количество десятичных знаков справа от десятичного разделителя
Например:
число 153,411
точность 6
масштаб 3

Слайд 10

Точность и масштаб

Точность и масштаб

Слайд 11

Числовые типы данных

Числовые типы данных

Слайд 12

Приближенные числовые типы данных

Приближенные числовые типы данных

Слайд 13

Приближенные числовые типы данных

Приближенные числовые типы данных

Слайд 14

Денежные типы данных

Денежные типы данных

Слайд 15

Символьные типы данных

Символьные типы данных

Слайд 16

Символьные типы данных

Символьные типы данных

Слайд 17

Типы данных для даты и времени

Типы данных для даты и времени

Слайд 18

Типы данных для даты и времени

Типы данных для даты и времени

Слайд 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
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

Типы данных для даты и времени

Типы данных для даты и времени

Слайд 21

Функции CAST и CONVERT

CAST ( expression AS data_type)
CONVERT ( data_type, expression[

Функции CAST и CONVERT CAST ( expression AS data_type) CONVERT ( data_type,
, style ] )

Слайд 22

Функции CAST и CONVERT

Функции CAST и CONVERT

Слайд 23

Двоичные типы данных

Хранится последовательность битов
Применяются для хранения изображений, звука, видео
Можно хранить любые

Двоичные типы данных Хранится последовательность битов Применяются для хранения изображений, звука, видео Можно хранить любые данные
данные

Слайд 24

Двоичные типы данных

Двоичные типы данных

Слайд 25

Двоичные типы данных

Двоичные типы данных

Слайд 26

Прочие типы данных

TIMESTAMP
UNIQUEIDENTIFIER
XML
HIERARCHYID
GEOGRAPHY, GEOMETRY
FILESTREAM
SQLVARIANT
TEXT, NTEXT, IMAGE

Прочие типы данных TIMESTAMP UNIQUEIDENTIFIER XML HIERARCHYID GEOGRAPHY, GEOMETRY FILESTREAM SQLVARIANT TEXT, NTEXT, IMAGE

Слайд 27

TIMESTAMP

ROWVERSION - синоним TIMESTAMP
Необходимо установить хронологию изменения данных
занимает 8 байт
Значения могут вводиться

TIMESTAMP ROWVERSION - синоним TIMESTAMP Необходимо установить хронологию изменения данных занимает 8
и изменяться только сервером

Слайд 28

TIMESTAMP

TIMESTAMP

Слайд 29

UNIQUEIDENTIFIER

16-байтовый идентификатор GUID
Главная особенность – способность генерировать уникальные значения, которые с очень

UNIQUEIDENTIFIER 16-байтовый идентификатор GUID Главная особенность – способность генерировать уникальные значения, которые
малой вероятностью могут быть независимо получены еще раз.
Могут быть получены при помощи встроенной функции NEWID.
Могут быть преобразованы из строковой константы в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где каждый символ x представляет шестнадцатеричную цифру в диапазоне 0–9 или a–f
Пример:
 8F1719F1-8B37-D821-B52D-00C04FC964FF

Слайд 30

UNIQUEIDENTIFIER

UNIQUEIDENTIFIER

Слайд 31

XML

Тип данных, в котором хранятся XML-данные



Very Useful Journal

XML Тип данных, в котором хранятся XML-данные Very Useful Journal sdsds 8-3232-121212

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

Системный тип данных переменной длины
Используется для представления положения в иерархии

HIERARCHYID Системный тип данных переменной длины Используется для представления положения в иерархии

Слайд 33

Пространственные типы

GEOGRAPHY
GEOMETRY
geography хранит эллиптические данные, такие как координаты широты и долготы GPS
geometry представляет

Пространственные типы GEOGRAPHY GEOMETRY geography хранит эллиптические данные, такие как координаты широты
данные в эвклидовом пространстве (плоской системе координат)

Слайд 34

FILESTREAM

FILESTREAM размещает данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде

FILESTREAM FILESTREAM размещает данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой
файлов
Можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM
Следует использовать в следующих случаях:
средний размер сохраняемых объектов превышает 1 МБ;
важен быстрый доступ для чтения;

Слайд 35

SQLVARIANT

Тип данных, хранящий значения различных типов данных
Максимальная длина значения типа sql_variant составляет 8016 байт
Сюда

SQLVARIANT Тип данных, хранящий значения различных типов данных Максимальная длина значения типа
включены структура и значение базового типа
Максимальная длина значения соответствующего базового типа составляет 8 000 байт

Слайд 36

SQLVARIANT

Типы значений, которые не могут храниться в типе данных sql_variant

SQLVARIANT Типы значений, которые не могут храниться в типе данных sql_variant

Слайд 37

Приоритет

Тип данных с меньшим приоритетом будет преобразован в тип данных с большим

Приоритет Тип данных с меньшим приоритетом будет преобразован в тип данных с
приоритетом
Если неявное преобразование не поддерживается, возвращается ошибка

Слайд 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;

Слайд 39

Ограничения целостности

Ограничения целостности

Слайд 40

Ограничения целостности

Для ограничений целостности
PRIMARY KEY
FOREIGN KEY
UNIQUE
CHECK
может быть задано имя
Если это

Ограничения целостности Для ограничений целостности PRIMARY KEY FOREIGN KEY UNIQUE CHECK может
имя не задано, при создании таблицы сервер назначает ограничениям собственные имена

Слайд 41

PRIMARY KEY

Столбец или группа столбцов, имеющие уникальные значения для каждой строки, называется

PRIMARY KEY Столбец или группа столбцов, имеющие уникальные значения для каждой строки,
ключом
Create table FACULTY -- факультет
( FACULTY char(10), -- идентификатор
FACULTY_NAME varchar(50) ); -- полное имя

Слайд 42

PRIMARY KEY

Create table FACULTY --факультет
( FACULTY char(10) primary key, --идентификатор
FACULTY_NAME varchar(50)

PRIMARY KEY Create table FACULTY --факультет ( FACULTY char(10) primary key, --идентификатор
--полное имя
);

Слайд 43

PRIMARY 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,
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 smalldatetime, -- дата и

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) );

Слайд 48

FOREGN KEY

Внешний ключ – ограничение целостности, основанное на связи, установленной между двумя

FOREGN KEY Внешний ключ – ограничение целостности, основанное на связи, установленной между
таблицами БД
Виды связей:
1:1 − каждому экземпляру одной таблицы соответствует в точности один экземпляр второй и наоборот
1:n − может существовать экземпляр одной таблицы, который соответствует нескольким экземплярам другой, и обратное не допускается
m:n − экземпляр одной таблицы соответствует нескольким экземплярам другой таблицы и наоборот

Слайд 49

FOREGN KEY

FOREGN KEY

Слайд 50

FOREGN KEY – INSERT

FOREGN KEY – INSERT

Слайд 51

FOREGN KEY – INSERT

FOREGN KEY – INSERT

Слайд 52

FOREGN KEY – UPDATE

FOREGN KEY – UPDATE

Слайд 53

FOREGN KEY – UPDATE

FOREGN KEY – UPDATE

Слайд 54

FOREGN KEY – DELETE

FOREGN KEY – DELETE