Слайд 2Пример
Преподаватели пишут учебники по предметам
Преподаватель – Предмет – Учебник
Слайд 3Пример
Преподаватель
IdTeacher
Name
Birthday
Учебник
IdBook
BookName
PublcationYear
NumberOfPages
IdSubject
Предмет
IdSubject
SubjectName
SubjectType
Авторы
IdBookAuthor
IdTeacher
IdBook
Слайд 4Пример
Студент – Группа – Староста
Слайд 5Пример
Студент
IdStudent
StudentName
Birthday
Address
IdGroup
Группа
IdGroup
GroupNum
Profession
Faculty
Head
Слайд 6Типы данных
Числовые
Денежные
Символьные
Дата и время
Прочие
Слайд 7Числовые типы данных
Точные
Приближенные
Слайд 9Точность и масштаб
Точность представляет собой количество десятичных знаков в числе
Масштаб представляет
собой количество десятичных знаков справа от десятичного разделителя
Например:
число 153,411
точность 6
масштаб 3
Слайд 12Приближенные числовые типы данных
Слайд 13Приближенные числовые типы данных
Слайд 19Типы данных для даты и времени
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';
Слайд 21Функции CAST и CONVERT
CAST ( expression AS data_type)
CONVERT ( data_type, expression[
, style ] )
Слайд 23Двоичные типы данных
Хранится последовательность битов
Применяются для хранения изображений, звука, видео
Можно хранить любые
данные
Слайд 26Прочие типы данных
TIMESTAMP
UNIQUEIDENTIFIER
XML
HIERARCHYID
GEOGRAPHY, GEOMETRY
FILESTREAM
SQLVARIANT
TEXT, NTEXT, IMAGE
Слайд 27TIMESTAMP
ROWVERSION - синоним TIMESTAMP
Необходимо установить хронологию изменения данных
занимает 8 байт
Значения могут вводиться
и изменяться только сервером
Слайд 29UNIQUEIDENTIFIER
16-байтовый идентификатор GUID
Главная особенность – способность генерировать уникальные значения, которые с очень
малой вероятностью могут быть независимо получены еще раз.
Могут быть получены при помощи встроенной функции NEWID.
Могут быть преобразованы из строковой константы в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где каждый символ x представляет шестнадцатеричную цифру в диапазоне 0–9 или a–f
Пример:
8F1719F1-8B37-D821-B52D-00C04FC964FF
Слайд 31XML
Тип данных, в котором хранятся XML-данные
Very Useful Journal
sdsds 8-3232-121212 8-3232-121212 [email protected] www.j.ru
XML today
12.09.98
XML
www.j.ru/issues/
Issue overview
/article1
language
marckup >
Слайд 32HIERARCHYID
Системный тип данных переменной длины
Используется для представления положения в иерархии
Слайд 33Пространственные типы
GEOGRAPHY
GEOMETRY
geography хранит эллиптические данные, такие как координаты широты и долготы GPS
geometry представляет
данные в эвклидовом пространстве (плоской системе координат)
Слайд 34FILESTREAM
FILESTREAM размещает данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде
файлов
Можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM
Следует использовать в следующих случаях:
средний размер сохраняемых объектов превышает 1 МБ;
важен быстрый доступ для чтения;
Слайд 35SQLVARIANT
Тип данных, хранящий значения различных типов данных
Максимальная длина значения типа sql_variant составляет 8016 байт
Сюда
включены структура и значение базового типа
Максимальная длина значения соответствующего базового типа составляет 8 000 байт
Слайд 36SQLVARIANT
Типы значений, которые не могут храниться в типе данных 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;
Слайд 40Ограничения целостности
Для ограничений целостности
PRIMARY KEY
FOREIGN KEY
UNIQUE
CHECK
может быть задано имя
Если это
имя не задано, при создании таблицы сервер назначает ограничениям собственные имена
Слайд 41PRIMARY KEY
Столбец или группа столбцов, имеющие уникальные значения для каждой строки, называется
ключом
Create table FACULTY -- факультет
( FACULTY char(10), -- идентификатор
FACULTY_NAME varchar(50) ); -- полное имя
Слайд 42PRIMARY KEY
Create table FACULTY --факультет
( FACULTY char(10) primary key, --идентификатор
FACULTY_NAME varchar(50)
--полное имя
);
Слайд 43PRIMARY 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));
Слайд 44PRIMARY KEY
Create table SHEDULE_TEACHER -- расписание преподавателей
( CLASSDATE smalldatetime, -- дата и
время занятий
TEACHER char(10), -- преподаватель
SUBJECT char(10), -- дисциплина
AUDITORIUM char(10), -- аудитория
constraint PK_ S_TEACHER primary key
(CLASSDATE, TEACHER) );
Слайд 48FOREGN KEY
Внешний ключ – ограничение целостности, основанное на связи, установленной между двумя
таблицами БД
Виды связей:
1:1 − каждому экземпляру одной таблицы соответствует в точности один экземпляр второй и наоборот
1:n − может существовать экземпляр одной таблицы, который соответствует нескольким экземплярам другой, и обратное не допускается
m:n − экземпляр одной таблицы соответствует нескольким экземплярам другой таблицы и наоборот