Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Реляционная модель

Содержание

Модель данных– Определяет абстракцию данных для приложений– Включает:Структуры данныхОперацииЗависимостиОграничения
Реляционная модель Модель данных– Определяет абстракцию данных для приложений– Включает:Структуры данныхОперацииЗависимостиОграничения Модель данных «Сущность-связь»Впервые описана в 1975 г. как средство высокоуровневого проектирования БДИнструмент Пример ER-диаграммы Концептуальные модели данныхИерархическаяСетеваяРеляционнаяОбъектно-реляционная В 70-х – 80-х годах, когда компьютерные ученые все еще носили Иерархическая модель данных Сетевая модель данных Реляционная модельПервые публикации (1969-1971)Интенсивное развитие теории в 70-х гг.Ранние попытки реализации: 1978Стандарт Эдгар Франк КоддCodd, E.F. (1970).  «A Relational Model of Data Пример Реляционная модель – структуры данныхДомены: множества, элементы которых рассматриваются как скалярные значения Реляционная модельДомены D1, D2,…,DnАтрибуты A1, A2, …, AnКортежи t = , ai∈DiФормально Реляционная модельПохожа на таблицыСтолбцы – атрибутыСтроки – данныеШапка таблицы – имена атрибутов Еще раз терминологияДомен – множество возможных значений какого-либо атрибутаТаблица - отношениеЭкземпляр– конкретное Заголовок (схема) отношения Схема отношения - конечное множество упорядоченных пар вида , Типы данныхСимвольный 	БитовыйТочные числа 	Округленные числа Денежные	Дата/время 	Интервал Отношение – это множествоКортежи отличаются друг от друга значением своих атрибутов, а СущностиКаждая сущность превращается в таблицу. Имя сущности становится именем таблицы.Каждый атрибут становится СущностиСущность КлючВозможный ключ: минимальный набор атрибутов, от которого функционально зависят все остальные (по СвязиТакже хранятся в отношенииСхема данного отношения составляется из ключевых атрибутов объектов, участвующих связи Связи 1:1Название_отделаОтдел Связи 1:NОтделСотрудник Слабые сущностиАдресСотрудник живетАдрес Связи М:NПроектСотрудник участвуетУчастие в проекте Реляционная алгебра –  механизм манипулирования реляционными данными  Все операции производятся Реляционная модель: базовые  операцииОграничение (селекция, фильтрация) ПроекцияПрямое (декартово) произведениеСоединение: произведение с SQL Structured Query LanguageStructured English Query Language (1983)Стандарты: 86, 89, 92, 1999DDL Создание базы данныхCREATE DATABASE db_name;DROP DATABASE db_name;USE db_name; Создание БДCREATE DATABASE database_name [options] Идентификаторыидентификатор может иметь длину до 128 символов;идентификатор должен начинаться с буквы;идентификатор не CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = 'C:\tmp\saledat.mdf', SIZE О синтаксисеКоманды разделяются знаком «;»Пакеты команды разделяются словом «go»Комментарии:В одной строке «--»Многострочные «/* … */» Объекты базы данныхТаблицыСвязи между таблицамиПредставленияИндексыХранимые процедурыФункцииТриггеры Как создать таблицуCREATE TABLE tb_name (    ( column1 , Типы данныхТочные числа Округленные числа 	Символьный 		Символьный 	ЮникодаБитовый 		Дата/время Точные целыеbigint 	8 байтint 		4 байтаsmallint 	2 байтаtinyint 	1 байт Точные десятичныеdecimal[ (p[ ,s] )] и numeric[ (p[ ,s] )] 	Числа с Decimal/Numeric«Неупакованное» число с плавающей точкой. Ведет себя подобно строковому столбцу, содержащему цифровое Decimal/NumericДля хранения чисел, строго меньших 1000 с двумя знаками после запятой используем decimal(5,2) Точные денежныеТипы данных, представляющие денежные (валютные) значения. Типы данных money и smallmoney Bit - Битовыйbit 	Целочисленный тип данных, который может принимать значения 1 или 0. Округленные числа Float и real Float – точность до 15 знаков	- 1,79E+308 Float/realИзбегайте использования столбцов типов float и real для сравнения с операторами = и . Рекомендуется ограничить Символьныеchar [ ( n ) ] 	Символьные данные фиксированной длины, не в Символьные Unicodenchar [ ( n ) ] 	Символьные данные фиксированной длины в Ввод русских букв в таблицуТип поля на nvarchar(N) или nchar(N)Перед тестом поставить букву N 	(N'русский текст') Битовыеbinary [ ( n ) ] 	Битовые данные фиксированной длины, с длиной Очень большиеntext, text, и image данные будут удалены в будущей версии Сервера DATE/TIMEDate - 3 байта  'YYYY-MM-DD’Time - 5 байт Время. Интервал DATE/TIMEDate and time(8 байт) - Дата и время с точностью в DATE/TIMEОт 0001-01-01 до 9999-12-31От 1 января 1 года нашей эры до Специальные типы данныхhierarchyid - позиция в древовидной иерархииgeometry представляет данные в Евклидовой (плоской) КонстантыNULL‘any string‘N‘текст в Юникоде‘Числа без кавычек'1912-10-25 12:24:32 +10:0' Определение типов данных атрибутов - строкиДля коротких символьных значений и строк фиксированной Определение типов данных атрибутов - числаДля числовых атрибутов без сложных расчетов – Определение типов данных атрибутов - прочееДля хранения дат нужно выбирать тип DATE Типы данных, определяемые пользователемCREATE TYPE mytypeFROM varchar(11) NOT NULL ; Табличный типCREATE TYPE Location AS TABLE   ( LocationName VARCHAR(50)  , CostRate INT ); Преобразование типов данных SELECT '2'+4Функции CAST и CONVERTCAST ( expression AS data_type Примеры CASTCAST (expression AS data_type)SELECT CAST('12' as INT)+45 	57SELECT CAST(27 as CHAR(2))+'R' Примеры CONVERTCONVERT ( data_type, expression [ , style ] )CONVERT(VARCHAR(12), GETDATE(), 1)	02/21/15SELECT Временные таблицы локальныеCREATE TABLE #TestTable ( id INT PRIMARY KEY )Таблица будет Временные таблицы глобальныеCREATE TABLE ##TestTable ( id INT PRIMARY KEY )Таблица будет Табличные переменныеDECLARE @table_var table(id int);Автоматически очищаются в конце функции, хранимой процедуры или Передача имени таблицыDECLARE @SQL varchar(8000), @table_name varchar(20)='dbo.Employees'SET @SQL = 'SELECT * FROM ' + @table_nameexec(@SQL) Типы данных, определяемые пользователемuser defined type CREATE TYPE mytypeFROM varchar(11) NOT NULL ; Табличный типВ БД объявляется user defined type в виде таблицы с нужным Создание таблицыCREATE TABLE table_name  ( atr1, [atr2,…] ) Определение атрибутов таблицы { имя столбца } { тип данных} [ значение Создание таблицыCREATE TABLE people ( id INT , name CHAR(20) , address VARCHAR(35) , birthday DATE) Задание ограничений   NOT NULL | [ PRIMARY KEY | UNIQUE Ненулевые значенияCREATE TABLE people ( id INT , name CHAR(20) NOT NULL Значение по умолчаниюCREATE TABLE people ( id INT , name CHAR(20) , Уникальность поляCREATE TABLE people ( id INT UNIQUE NULL , name CHAR(20) Первичный ключ CREATE TABLE people ( id INT PRIMARY KEY , name Первичный ключ – несколько атрибутовCREATE TABLE people ( id INT UNIQUE , Уникальность –  несколько атрибутовCREATE TABLE people ( id INT PRIMARY KEY Вычисляемый столбецCREATE TABLE t1 ( a int,  b int,  c Вычисляемый столбецЕсли не указано иное, вычисляемые столбцы являются виртуальными столбцами, которые физически Вычисляемый столбецЕсли формула связывает два выражения различных типов данных, то по правилам Вычисляемые столбцы  при создании таблицыCREATE TABLE t2 (a int , b Вычисляемые столбцы  при создании таблицыCREATE TABLE people ( id INT PRIMARY Атрибут IDENTITYIDENTITY [ (seed ,increment) ]Seed - номер первой строки, вставляемой в Атрибут IDENTITYCREATE TABLE animals  (id INT NOT NULL IDENTITY(10,2) , name Проверка ограниченийCREATE TABLE people (  id int PRIMARY KEY , name Проверка ограниченийCREATE TABLE people ( id int PRIMARY KEY , name CHAR(20) Проверка ограничений  шаблоны LIKECREATE TABLE people ( id int PRIMARY KEY, LIKE Внешний ключ CREATE TABLE people ( id INT PRIMARY KEY , name Внешний ключCREATE TABLE phone ( id_p int , type CHAR CHECK (type Внешний ключCREATE TABLE phone ( id_p int REFERENCES people (id) , type Внешний ключCREATE TABLE phone ( id_p int, type CHAR CHECK (type IN Требования внешнего ключаПоле, на который ссылается внешний ключ, должно быть PRIMARY KEY Внешний ключFOREIGN KEY (index_col_name, ...)REFERENCES table_name (index_col_name, ...)[ON DELETE  {NO ACTION Ссылочная целостность – стратегии:NO ACTION - отмена операции  CASCADE - каскадная SET NULL | CASCADECREATE TABLE phone { id_p int REFERENCES people (id) Внешний ключ –  нереализуемые связи Нельзя реализовать при помощи внешнего ключа Описание ограничений целостностиЕсли какое-либо ограничение целостности может быть включено в структуру БД, Описание ограничений целостностиНо такой подход имеет следующий недостаток: добавление нового значения в Внешний ключ –  нереализуемые связи К необычным конструкциям данных можно отнести Изменение таблицыДобавляем столбецALTER TABLE table_name	ADD column_name datatype Изменение таблицыУдаляем столбецALTER TABLE table_name	DROP COLUMN column_name Добавление/снятие ограниченийALTER TABLE people  ADD CHECK (id>0)ALTER TABLE people  ADD Изменение таблицыИзменяем столбецALTER TABLE table_name ALTER COLUMN column_name datatype Изменение таблицыДобавляем первичный ключALTER TABLE employee ADD CONSTRAINT c1 PRIMARY KEY (id)  id должен быть NOT NULL! Изменение таблицыДобавляем внешний ключALTER TABLE employee ADD FOREIGN KEY (dno)  REFERENCES department(dnumber)  Изменение таблицыДобавляем ограничениеALTER TABLE exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a > 1) Нельзя изменять следующие столбцыСтолбец с типом данных timestamp.Вычисляемый столбец или используемый в вычисляемом ВставкаINSERT INTO tbl_name (col1, col2)  VALUES ('Character data1',1), ('Character data2',2), (…);Будут ВставкаINSERT INTO tbl_name (col1, col2)  VALUES ('Character data',1), (…) Можно: INSERT ИзменениеUPDATE tbl_name  SET col1=expr1 [, col2=expr2 ...]  [WHERE where_definition]UPDATE Product УдалениеDELETE FROM tbl_name  [WHERE where_definition];  Если не указать условие, то Ограничиваем число строкINSERT | DELETE | UPDATE [ TOP (expression) [PERCENT]] Удаление таблицыDROP TABLE имя_таблицыудаляет и данные, и структуру. УдалениеDROP TABLE [IF EXISTS] tbl_name
Слайды презентации

Слайд 2 Модель данных
– Определяет абстракцию данных для приложений
– Включает:
Структуры

Модель данных– Определяет абстракцию данных для приложений– Включает:Структуры данныхОперацииЗависимостиОграничения

данных
Операции
Зависимости
Ограничения


Слайд 3 Модель данных «Сущность-связь»
Впервые описана в 1975 г. как

Модель данных «Сущность-связь»Впервые описана в 1975 г. как средство высокоуровневого проектирования

средство высокоуровневого проектирования БД
Инструмент концептуального уровня
Не содержит операций и

поэтому не может использоваться непосредственно
Развитая система зависимостей и ограничений целостности


Слайд 4 Пример ER-диаграммы

Пример ER-диаграммы

Слайд 5 Концептуальные модели данных
Иерархическая
Сетевая
Реляционная
Объектно-реляционная

Концептуальные модели данныхИерархическаяСетеваяРеляционнаяОбъектно-реляционная

Слайд 6
В 70-х – 80-х годах, когда компьютерные ученые

В 70-х – 80-х годах, когда компьютерные ученые все еще

все еще носили коричневые смокинги и очки с большими,

квадратными оправами, данные хранились бесструктурно в файлах, которые представляли собой текстовый документ с данными, разделенными (обычно) запятыми или табуляциями.

Слайд 7 Иерархическая модель данных

Иерархическая модель данных

Слайд 8 Сетевая модель данных

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

Слайд 9 Реляционная модель
Первые публикации (1969-1971)
Интенсивное развитие теории в 70-х

Реляционная модельПервые публикации (1969-1971)Интенсивное развитие теории в 70-х гг.Ранние попытки реализации:

гг.
Ранние попытки реализации: 1978
Стандарт SQL –1986
Эффективные реализации SQL: 1990


Слайд 10 Эдгар Франк Кодд
Codd, E.F. (1970). «A Relational Model

Эдгар Франк КоддCodd, E.F. (1970). «A Relational Model of Data for

of Data for Large Shared Data Banks». Communications of

the ACM

Слайд 11 Пример

Пример

Слайд 12 Реляционная модель – структуры данных
Домены: множества, элементы которых

Реляционная модель – структуры данныхДомены: множества, элементы которых рассматриваются как скалярные

рассматриваются как скалярные значения
Отношения: предикаты, заданные на прямом

произведении (не обязательно разных) доменов
Атрибуты: аргументы отношений
Позиционные или именованные атрибуты?

Слайд 13 Реляционная модель
Домены D1, D2,…,Dn
Атрибуты A1, A2, …, An
Кортежи

Реляционная модельДомены D1, D2,…,DnАтрибуты A1, A2, …, AnКортежи t = ,

t = , ai∈Di
Формально R : D1хD2..

Dn→ {0,1} или R ⊂D1хD2.. Dn
D1 = {1; 2; 3}; D2 ={a, b}
R⊂ D1хD2 = {< 1; a >;< 1; b >;< 2; a >;< 2; b >;< 3; a >;< 3; c >}

Слайд 14 Реляционная модель
Похожа на таблицы
Столбцы – атрибуты
Строки – данные
Шапка

Реляционная модельПохожа на таблицыСтолбцы – атрибутыСтроки – данныеШапка таблицы – имена атрибутов

таблицы – имена атрибутов


Слайд 15 Еще раз терминология
Домен – множество возможных значений какого-либо

Еще раз терминологияДомен – множество возможных значений какого-либо атрибутаТаблица - отношениеЭкземпляр–

атрибута
Таблица - отношение
Экземпляр– конкретное наполнение базы данных
Конкретное наполнение

таблицы – тело отношения
Совокупность атрибутов отношения – Заголовок отношения (схема)
Заголовок + тело = значение отношения
Строка таблицы называется кортежем


Слайд 16 Заголовок (схема) отношения
Схема отношения - конечное множество

Заголовок (схема) отношения Схема отношения - конечное множество упорядоченных пар вида

упорядоченных пар вида , где A называется именем

атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена.
По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны.
Количество атрибутов называется арностью (размерностью) отношения.

Слайд 17 Типы данных
Символьный
Битовый
Точные числа
Округленные числа
Денежные
Дата/время
Интервал

Типы данныхСимвольный 	БитовыйТочные числа 	Округленные числа Денежные	Дата/время 	Интервал

Слайд 18 Отношение – это множество
Кортежи отличаются друг от друга

Отношение – это множествоКортежи отличаются друг от друга значением своих атрибутов,

значением своих атрибутов, а не порядковым номером, временем и

пр.
В реляционной БД не может быть двух одинаковых кортежей в одной таблице


Слайд 19 Сущности
Каждая сущность превращается в таблицу. Имя сущности становится

СущностиКаждая сущность превращается в таблицу. Имя сущности становится именем таблицы.Каждый атрибут

именем таблицы.
Каждый атрибут становится столбцом. Столбцы для необязательных атрибутов

могут содержать неопределенные значения; столбцы для обязательных - не могут.
Компоненты уникального идентификатора сущности превращаются в ключ таблицы. 

Слайд 20 Сущности
Сущность

СущностиСущность

Слайд 21 Ключ
Возможный ключ: минимальный набор атрибутов, от которого функционально

КлючВозможный ключ: минимальный набор атрибутов, от которого функционально зависят все остальные

зависят все остальные (по которому можно определить все остальные)
Первичный

ключ: один из возможных ключей
Ключи естественные и суррогатные

Слайд 22 Связи
Также хранятся в отношении
Схема данного отношения составляется из

СвязиТакже хранятся в отношенииСхема данного отношения составляется из ключевых атрибутов объектов, участвующих связи

ключевых атрибутов объектов, участвующих связи


Слайд 23 Связи 1:1
Название_отдела
Отдел

Связи 1:1Название_отделаОтдел

Слайд 24 Связи 1:N
Отдел
Сотрудник

Связи 1:NОтделСотрудник

Слайд 25 Слабые сущности
Адрес
Сотрудник
живет
Адрес

Слабые сущностиАдресСотрудник живетАдрес

Слайд 26 Связи М:N
Проект
Сотрудник
участвует
Участие в проекте

Связи М:NПроектСотрудник участвуетУчастие в проекте

Слайд 27 Реляционная алгебра – механизм манипулирования реляционными данными
Все

Реляционная алгебра – механизм манипулирования реляционными данными Все операции производятся над

операции производятся над отношениями, и результатом операции является отношение.

R=f(R1,

R2, … , Rn)

Слайд 28 Реляционная модель: базовые операции
Ограничение (селекция, фильтрация)
Проекция
Прямое (декартово)

Реляционная модель: базовые операцииОграничение (селекция, фильтрация) ПроекцияПрямое (декартово) произведениеСоединение: произведение с

произведение
Соединение: произведение с последующей фильтрацией
Естественное соединение: соединение по равенству

атрибутов

Слайд 29 SQL Structured Query Language
Structured English Query Language (1983)
Стандарты: 86,

SQL Structured Query LanguageStructured English Query Language (1983)Стандарты: 86, 89, 92,

89, 92, 1999
DDL create table, create view, . .

. , alter table, alter view, . . . , drop table, drop view, . . .
DML select, insert, delete, update, commit, rollback


Слайд 30 Создание базы данных
CREATE DATABASE db_name;
DROP DATABASE db_name;
USE db_name;

Создание базы данныхCREATE DATABASE db_name;DROP DATABASE db_name;USE db_name;

Слайд 31 Создание БД
CREATE DATABASE database_name [options]

Создание БДCREATE DATABASE database_name [options]

Слайд 32 Идентификаторы
идентификатор может иметь длину до 128 символов;
идентификатор должен

Идентификаторыидентификатор может иметь длину до 128 символов;идентификатор должен начинаться с буквы;идентификатор

начинаться с буквы;
идентификатор не может содержать пробелы.
номер int,
[Фамилия и

Имя] nvarchar(100),
[!@#$%^&*()_-=+ ~`\.,;:'"[]<>] int);

Слайд 33 CREATE DATABASE Sales
ON ( NAME = Sales_dat,

CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = 'C:\tmp\saledat.mdf',

FILENAME = 'C:\tmp\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,


FILEGROWTH = 5 )
LOG ON ( NAME = Sales_log, FILENAME = 'C:\tmp\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;

Слайд 34 О синтаксисе
Команды разделяются знаком «;»
Пакеты команды разделяются словом

О синтаксисеКоманды разделяются знаком «;»Пакеты команды разделяются словом «go»Комментарии:В одной строке «--»Многострочные «/* … */»

«go»
Комментарии:
В одной строке «--»
Многострочные «/* … */»


Слайд 35 Объекты базы данных
Таблицы
Связи между таблицами
Представления
Индексы
Хранимые процедуры
Функции
Триггеры

Объекты базы данныхТаблицыСвязи между таблицамиПредставленияИндексыХранимые процедурыФункцииТриггеры

Слайд 36 Как создать таблицу
CREATE TABLE tb_name (

Как создать таблицуCREATE TABLE tb_name (  ( column1 ,

( column1 , column2 , … )

);



Слайд 37 Типы данных
Точные числа
Округленные числа
Символьный
Символьный Юникода
Битовый

Типы данныхТочные числа Округленные числа 	Символьный 		Символьный 	ЮникодаБитовый 		Дата/время


Дата/время


Слайд 38 Точные целые
bigint 8 байт
int 4 байта
smallint 2 байта
tinyint

Точные целыеbigint 	8 байтint 		4 байтаsmallint 	2 байтаtinyint 	1 байт

1 байт


Слайд 39 Точные десятичные
decimal[ (p[ ,s] )] и numeric[ (p[

Точные десятичныеdecimal[ (p[ ,s] )] и numeric[ (p[ ,s] )] 	Числа

,s] )]
Числа с фиксированной точностью и масштабом.
p

(точность)
Максимальное количество десятичных разрядов числа (как слева, так и справа от десятичной запятой). Точность должна принимать значение от 1 до 38. По умолчанию для точности принимается значение 18.
s (масштаб)
Максимальное количество десятичных разрядов числа справа от десятичной запятой. Масштаб может принимать значение от 0 до p. Масштаб может быть указан только совместно с точностью. По умолчанию масштаб принимает значение 0; поэтому 0 <= s <= p. Максимальный размер хранилища зависит от точности.

Слайд 40 Decimal/Numeric
«Неупакованное» число с плавающей точкой. Ведет себя подобно

Decimal/Numeric«Неупакованное» число с плавающей точкой. Ведет себя подобно строковому столбцу, содержащему

строковому столбцу, содержащему цифровое значение.
Термин «неупакованное» означает, что

число хранится в виде строки и при этом для каждого десятичного знака используется один символ.
Разделительный знак десятичных разрядов, а также знак '-' для отрицательных чисел не учитываются в p (но место для них зарезервировано). Если атрибут s равен 0, величины будут представлены без десятичного знака, т.е. без дробной части.

Слайд 41 Decimal/Numeric
Для хранения чисел, строго меньших 1000 с двумя

Decimal/NumericДля хранения чисел, строго меньших 1000 с двумя знаками после запятой используем decimal(5,2)

знаками после запятой используем decimal(5,2)


Слайд 42 Точные денежные
Типы данных, представляющие денежные (валютные) значения.




Типы

Точные денежныеТипы данных, представляющие денежные (валютные) значения. Типы данных money и

данных money и smallmoney имеют точность до одной десятитысячной

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

Слайд 43 Bit - Битовый
bit

Целочисленный тип данных, который может

Bit - Битовыйbit 	Целочисленный тип данных, который может принимать значения 1 или 0.

принимать значения 1 или 0.


Слайд 44 Округленные числа
Float и real

Float – точность

Округленные числа Float и real Float – точность до 15 знаков	-

до 15 знаков
- 1,79E+308 — -2,23E-308, 0 и 2,23E-308

— 1,79E+308
8 байтов
real - точность до 7 знаков
- 3,40E + 38 — -1,18E - 38, 0 и 1,18E - 38 — 3,40E + 38
4 байта

Слайд 45 Float/real
Избегайте использования столбцов типов float и real для сравнения с операторами =

Float/realИзбегайте использования столбцов типов float и real для сравнения с операторами = и . Рекомендуется

и .
Рекомендуется ограничить использование столбцов float и real операциями сравнения >

или <.
Microsoft SQL Server использует округление вверх. 

Слайд 46 Символьные
char [ ( n ) ]
Символьные данные

Символьныеchar [ ( n ) ] 	Символьные данные фиксированной длины, не

фиксированной длины, не в Юникоде, с длиной n байт.

Значение n должно находиться в интервале от 1 до 8000. Размер хранения данных этого типа равен n байт.
varchar [ ( n | max ) ] textvarchar(max)
Символьные данные переменной длины, не в Юникоде. n может иметь значение от 1 до 8 000. max означает, что максимальный размер хранения равен 2^31-1 байт (2 ГБ). Размер хранения равен фактической длине данных плюс два байта.
Не чувствительны к регистру!

Слайд 47 Символьные Unicode
nchar [ ( n ) ]
Символьные

Символьные Unicodenchar [ ( n ) ] 	Символьные данные фиксированной длины

данные фиксированной длины в Юникоде, с длиной n символов.

Значение n должно находиться в интервале от 1 до 4000. Размер хранения данных этого типа равен 2n байт.
nvarchar [ ( n | max ) ]
Символьные данные переменной длины в Юникоде. n может иметь значение от 1 до 4 000. max означает, что максимальный размер хранения равен 2^31-1 байт (2 ГБ). Размер хранения равен фактической длине данных плюс два байта.
Не чувствительны к регистру!


Слайд 48 Ввод русских букв в таблицу
Тип поля на nvarchar(N)

Ввод русских букв в таблицуТип поля на nvarchar(N) или nchar(N)Перед тестом поставить букву N 	(N'русский текст')

или nchar(N)
Перед тестом поставить букву N
(N'русский текст')


Слайд 49 Битовые
binary [ ( n ) ]
Битовые данные

Битовыеbinary [ ( n ) ] 	Битовые данные фиксированной длины, с

фиксированной длины, с длиной n байт. Значение n должно

находиться в интервале от 1 до 8000. Размер хранения данных этого типа равен n байт.
varbinary [ ( n | max) ]
Битовые данные переменной длины. n может иметь значение от 1 до 8 000. max означает, что максимальный размер хранения равен 2^31-1 байт (2ГБ). Размер хранения равен фактической длине данных плюс два байта.
Чувствительны к регистру!

Слайд 50 Очень большие
ntext, text, и image данные будут удалены

Очень большиеntext, text, и image данные будут удалены в будущей версии

в будущей версии Сервера MicrosoftSQL.
Избегайте использования этих типов

данных
Используйте nvarchar (max), varchar (max), и varbinary (max) вместо этого.

Слайд 51 DATE/TIME
Date - 3 байта 'YYYY-MM-DD’
Time - 5

DATE/TIMEDate - 3 байта 'YYYY-MM-DD’Time - 5 байт Время. Интервал

байт Время. Интервал от '-838:59:59' до '838:59:59‘ 'HH:MM:SS'
Datetime -

8 байт 'YYYY-MM-DD HH:MM:SS'
Datetimeoffset - 10 байт (+ часовой пояс)

Слайд 52 DATE/TIME
Date and time(8 байт) - Дата и

DATE/TIMEDate and time(8 байт) - Дата и время с точностью

время с точностью в 3.33 милисекунды.
Smalldatetime(4 байта) -

Дата и время с точностью в 1 секунду.

Слайд 53 DATE/TIME
От 0001-01-01 до 9999-12-31
От 1 января 1

DATE/TIMEОт 0001-01-01 до 9999-12-31От 1 января 1 года нашей эры до

года нашей эры до 31 декабря 9999 года нашей эры.


Слайд 54 Специальные типы данных
hierarchyid - позиция в древовидной иерархии
geometry представляет

Специальные типы данныхhierarchyid - позиция в древовидной иерархииgeometry представляет данные в Евклидовой

данные в Евклидовой (плоской) системе координат.
geography представляет данные в

системе координат круглой земли (координаты широты и долготы в системе GPS).
xml - хранение XML-данных

Слайд 55 Константы
NULL
‘any string‘
N‘текст в Юникоде‘
Числа без кавычек
'1912-10-25 12:24:32 +10:0'


КонстантыNULL‘any string‘N‘текст в Юникоде‘Числа без кавычек'1912-10-25 12:24:32 +10:0'

Слайд 56 Определение типов данных атрибутов - строки
Для коротких символьных

Определение типов данных атрибутов - строкиДля коротких символьных значений и строк

значений и строк фиксированной длины следует выбирать тип CHAR.

Например, для поля "единица измерения" со значениями 'кг', 'шт.', 'уп.' (char(3)), для поля "пол" (char(1)) и т.п.
Для символьных строк переменной длины нужно выбирать тип VARCHAR с указанием максимально возможной длины хранимого значения.
Для символов на 3 и более языках nchar или nvarchar

Слайд 57 Определение типов данных атрибутов - числа
Для числовых атрибутов

Определение типов данных атрибутов - числаДля числовых атрибутов без сложных расчетов

без сложных расчетов – тип numeric, указывая реально необходимое

количество разрядов. Номер сотрудника numeric(4) (до 10000 человек) Зарплата – numeric(8, 2) (до 999999.99 рублей).
Для числовых атрибутов с расчетами числовые типы, которые хранят данные в машинном (двоичном) представлении (int, bigint…). Это ускорит выполнение расчётов.
Для числовых атрибутов, имеющих ведущие нули, тип CHAR, а не числовой тип, иначе ведущие нули будут потеряны. Серия и номер паспорта (char(10).

Слайд 58 Определение типов данных атрибутов - прочее
Для хранения дат

Определение типов данных атрибутов - прочееДля хранения дат нужно выбирать тип

нужно выбирать тип DATE или его варианты (DATETIME, например).

Это позволит использовать арифметику дат и не заботиться о правильности вводимых данных: СУБД сама проверит допустимость даты.
Для семантически одинаковых полей разных таблиц нужно выбирать одинаковые типы данных. Например, ФИО сотрудника и ФИО клиента.
Для упрощения типизации данных можно создать специальные типы данных (create type) и использовать их в качестве типов полей таблиц.


Слайд 59 Типы данных, определяемые пользователем

CREATE TYPE mytype
FROM varchar(11) NOT

Типы данных, определяемые пользователемCREATE TYPE mytypeFROM varchar(11) NOT NULL ;

NULL ;


Слайд 60 Табличный тип

CREATE TYPE Location AS TABLE

Табличный типCREATE TYPE Location AS TABLE  ( LocationName VARCHAR(50) , CostRate INT );

( LocationName VARCHAR(50)
, CostRate INT );


Слайд 61 Преобразование типов данных
SELECT '2'+4
Функции CAST и CONVERT

CAST (

Преобразование типов данных SELECT '2'+4Функции CAST и CONVERTCAST ( expression AS

expression AS data_type )
CONVERT ( data_type, expression [ ,

style ] )




Слайд 62 Примеры CAST
CAST (expression AS data_type)

SELECT CAST('12' as INT)+45 57
SELECT

Примеры CASTCAST (expression AS data_type)SELECT CAST('12' as INT)+45 	57SELECT CAST(27 as

CAST(27 as CHAR(2))+'R' 27R
SELECT CAST ( $10.50 as VARCHAR(10) )
10.50


Слайд 63 Примеры CONVERT
CONVERT ( data_type, expression [ , style

Примеры CONVERTCONVERT ( data_type, expression [ , style ] )CONVERT(VARCHAR(12), GETDATE(),

] )

CONVERT(VARCHAR(12), GETDATE(), 1)
02/21/15
SELECT CONVERT (bit, 'true')
1
SELECT CONVERT(bit,

'false')
0


Слайд 64 Временные таблицы локальные
CREATE TABLE #TestTable
(
id

Временные таблицы локальныеCREATE TABLE #TestTable ( id INT PRIMARY KEY )Таблица

INT PRIMARY KEY
)
Таблица будет существовать только во время

выполнения одной сессии, и работать с ней сможете только вы.
БД tempdb

Слайд 65 Временные таблицы глобальные

CREATE TABLE ##TestTable
(
id

Временные таблицы глобальныеCREATE TABLE ##TestTable ( id INT PRIMARY KEY )Таблица

INT PRIMARY KEY
)
Таблица будет видна всем. Уничтожается после

закрытия создавшей ее сессии /окончания работы с ней другими пользователями


Слайд 66 Табличные переменные

DECLARE @table_var table(id int);

Автоматически очищаются в конце

Табличные переменныеDECLARE @table_var table(id int);Автоматически очищаются в конце функции, хранимой процедуры

функции, хранимой процедуры или пакета, где они были определены
Табличная

переменная не участвует в транзакции.
Не подходят для хранения значительных объёмов данных (>100 строк).

Слайд 67 Передача имени таблицы
DECLARE @SQL varchar(8000),
@table_name varchar(20)='dbo.Employees'

SET @SQL

Передача имени таблицыDECLARE @SQL varchar(8000), @table_name varchar(20)='dbo.Employees'SET @SQL = 'SELECT * FROM ' + @table_nameexec(@SQL)

= 'SELECT * FROM ' + @table_name
exec(@SQL)


Слайд 68 Типы данных, определяемые пользователем

user defined type


CREATE TYPE

Типы данных, определяемые пользователемuser defined type CREATE TYPE mytypeFROM varchar(11) NOT NULL ;

mytype
FROM varchar(11) NOT NULL ;


Слайд 69 Табличный тип

В БД объявляется user defined type в

Табличный типВ БД объявляется user defined type в виде таблицы с

виде таблицы с нужным типом данных. Его можно передавать

в хранимую процедуру как параметр. В хранимой процедуре этот тип будет виден как t-sql таблица, к которой можно делать запросы.

CREATE TYPE newlist AS TABLE(id int NULL)

Слайд 70 Создание таблицы
CREATE TABLE table_name ( atr1, [atr2,…] )

Создание таблицыCREATE TABLE table_name ( atr1, [atr2,…] )

Слайд 71 Определение атрибутов таблицы
{ имя столбца }
{

Определение атрибутов таблицы { имя столбца } { тип данных} [

тип данных}
[ значение по умолчанию]
[ список ограничений

]




Слайд 72 Создание таблицы
CREATE TABLE people ( id INT , name CHAR(20) ,

Создание таблицыCREATE TABLE people ( id INT , name CHAR(20) , address VARCHAR(35) , birthday DATE)

address VARCHAR(35) , birthday DATE)


Слайд 73 Задание ограничений

NOT NULL
| [

Задание ограничений  NOT NULL | [ PRIMARY KEY | UNIQUE

PRIMARY KEY | UNIQUE ]
| references
|

CHECK ( условие )

Слайд 74 Ненулевые значения
CREATE TABLE people ( id INT , name CHAR(20)

Ненулевые значенияCREATE TABLE people ( id INT , name CHAR(20) NOT

NOT NULL , address VARCHAR(35) , birthday DATE)


Слайд 75 Значение по умолчанию
CREATE TABLE people ( id INT , name

Значение по умолчаниюCREATE TABLE people ( id INT , name CHAR(20)

CHAR(20) , address VARCHAR(35) DEFAULT ‘Без регистрации’ , birthday DATE)


Слайд 76 Уникальность поля
CREATE TABLE people ( id INT UNIQUE NULL ,

Уникальность поляCREATE TABLE people ( id INT UNIQUE NULL , name

name CHAR(20) , address VARCHAR(35) , birthday DATE)

Несколько полей (или их

комбинаций) могут быть уникальны
Уникальное поле может быть NULL


Слайд 77 Первичный ключ
CREATE TABLE people ( id INT PRIMARY

Первичный ключ CREATE TABLE people ( id INT PRIMARY KEY ,

KEY , name CHAR(20) NOT NULL , address VARCHAR(35) , birthday DATE);

PRIMARY

KEY – всегда NOT NULL
PRIMARY KEY – только один в таблице



Слайд 78 Первичный ключ – несколько атрибутов
CREATE TABLE people ( id INT

Первичный ключ – несколько атрибутовCREATE TABLE people ( id INT UNIQUE

UNIQUE , name CHAR(20) , address VARCHAR(35) , birthday DATE , PRIMARY

KEY (name, birthday))


Слайд 79 Уникальность – несколько атрибутов
CREATE TABLE people ( id INT

Уникальность – несколько атрибутовCREATE TABLE people ( id INT PRIMARY KEY

PRIMARY KEY , name CHAR(20) , address VARCHAR(35) UNIQUE , birthday DATE ,

UNIQUE (name, birthday)),


Слайд 80 Вычисляемый столбец
CREATE TABLE t1 ( a int, b int,

Вычисляемый столбецCREATE TABLE t1 ( a int, b int, c AS

c AS a/b [ PERSISTED [ NOT NULL ]

]);

Слайд 81 Вычисляемый столбец
Если не указано иное, вычисляемые столбцы являются

Вычисляемый столбецЕсли не указано иное, вычисляемые столбцы являются виртуальными столбцами, которые

виртуальными столбцами, которые физически не хранятся.
Их значения вычисляются

заново каждый раз при обращении к ним запроса.
Для физического хранения вычисляемых столбцов в таблицах используется ключевое слово PERSISTED - можно создать на вычисляемом столбце индекс

Слайд 82 Вычисляемый столбец
Если формула связывает два выражения различных типов

Вычисляемый столбецЕсли формула связывает два выражения различных типов данных, то по

данных, то по правилам приоритета типов данных определяется, какой

тип данных имеет меньший приоритет и будет преобразован в тип данных с большим приоритетом. 
Если неявное преобразование не поддерживается, возвращается ошибка «Error validating the formula for column column_name.». 
Используйте функцию CAST или CONVERT, чтобы устранить конфликт типа данных. 
6/4=1 !!!!!

Слайд 83 Вычисляемые столбцы при создании таблицы
CREATE TABLE t2 (
a

Вычисляемые столбцы при создании таблицыCREATE TABLE t2 (a int , b

int
, b int
, c int
, x float


, y AS CASE x
WHEN 0 THEN a
WHEN 1 THEN b
ELSE c
END
);

Слайд 84 Вычисляемые столбцы при создании таблицы
CREATE TABLE people ( id

Вычисляемые столбцы при создании таблицыCREATE TABLE people ( id INT PRIMARY

INT PRIMARY KEY , birth DATE
, salary INT , age

as DATEDIFF(YEAR, GETDATE(),birth)
, nalog as CAST(salary as real)*13/100
)


Слайд 85 Атрибут IDENTITY
IDENTITY [ (seed ,increment) ]
Seed - номер

Атрибут IDENTITYIDENTITY [ (seed ,increment) ]Seed - номер первой строки, вставляемой

первой строки, вставляемой в таблицу
Increment - «Шаг» после последнего

добавленного
Надо определять либо и начальный номер, и шаг, или ничего. По умолчанию (1,1).
Сброс - DBCC CHECKIDENT ('имя_таблицы', RESEED, новое_стартовое_значение)

Слайд 86 Атрибут IDENTITY
CREATE TABLE animals (id INT NOT NULL

Атрибут IDENTITYCREATE TABLE animals (id INT NOT NULL IDENTITY(10,2) , name

IDENTITY(10,2) , name CHAR(30) NOT NULL , PRIMARY KEY (id));
INSERT INTO

animals (name) VALUES ("dog"),("cat"),("penguin"),("lax"),("whale");


Слайд 87 Проверка ограничений
CREATE TABLE people ( id int PRIMARY

Проверка ограниченийCREATE TABLE people ( id int PRIMARY KEY , name

KEY , name CHAR(20) , address VARCHAR(35) , birthday DATE , beg_date DATE ,

gender CHAR , CHECK (gender IN (‘F’, ‘M’)) )
CHECK с использованием функций: (стаж(birthday, beg_date) < возраст(birthday))


Слайд 88 Проверка ограничений
CREATE TABLE people ( id int PRIMARY KEY ,

Проверка ограниченийCREATE TABLE people ( id int PRIMARY KEY , name

name CHAR(20) , address VARCHAR(35) , birthday DATE , gender CHAR ,

CONSTRAINT chk_Person CHECK (gender IN (‘F’, ‘M’)) )


Слайд 89 Проверка ограничений шаблоны LIKE
CREATE TABLE people ( id int

Проверка ограничений шаблоны LIKECREATE TABLE people ( id int PRIMARY KEY,

PRIMARY KEY, name CHAR(20) CHECK (name LIKE ‘[A-Z]%’), zip CHAR(6) CHECK

(zip LIKE ‘_[1-35][0-9]’), address VARCHAR(35), birthday DATE, gender CHAR )


Слайд 91 Внешний ключ
CREATE TABLE people ( id INT PRIMARY

Внешний ключ CREATE TABLE people ( id INT PRIMARY KEY ,

KEY , name CHAR(20) NOT NULL , address VARCHAR(35) , birthday DATE);

У

каждого может быть несколько телефонов



Слайд 92 Внешний ключ
CREATE TABLE phone ( id_p int , type CHAR

Внешний ключCREATE TABLE phone ( id_p int , type CHAR CHECK

CHECK (type IN (‘H’, ‘M’, ‘W’) , phone_code char(3) DEFAULT

‘812’ , phone_number numeric(7)
)


Слайд 93 Внешний ключ
CREATE TABLE phone ( id_p int REFERENCES people

Внешний ключCREATE TABLE phone ( id_p int REFERENCES people (id) ,

(id) , type CHAR CHECK (type IN (‘H’, ‘M’, ‘W’) ,

phone_code char(3) DEFAULT ‘812’ , phone_number char(7)
)


Слайд 94 Внешний ключ
CREATE TABLE phone ( id_p int, type CHAR CHECK

Внешний ключCREATE TABLE phone ( id_p int, type CHAR CHECK (type

(type IN (‘H’, ‘M’, ‘W’), phone_code char(3) DEFAULT ‘812’, phone_number char(7), FOREIGN

KEY (id_p) REFERENCES people (id))


Слайд 95 Требования внешнего ключа
Поле, на который ссылается внешний ключ,

Требования внешнего ключаПоле, на который ссылается внешний ключ, должно быть PRIMARY

должно быть PRIMARY KEY или UNIQUE
Оба поля должны быть

строго одного типа!
Называться поля могут по-разному

Слайд 96 Внешний ключ
FOREIGN KEY (index_col_name, ...)
REFERENCES table_name (index_col_name, ...)
[ON

Внешний ключFOREIGN KEY (index_col_name, ...)REFERENCES table_name (index_col_name, ...)[ON DELETE {NO ACTION

DELETE {NO ACTION | SET NULL |CASCADE| SET DEFAULT}]

[ON UPDATE {NO ACTION | SET NULL |CASCADE| SET DEFAULT}]

Слайд 97 Ссылочная целостность – стратегии:
NO ACTION - отмена операции
CASCADE

Ссылочная целостность – стратегии:NO ACTION - отмена операции CASCADE - каскадная

- каскадная модификация UPDATE(1) UPDATE(2) DELETE(1)  DELETE(2)

SET NULL - отложенная

проверка ограничений – замена несуществующего значения на NULL
SET DEFAULT замена несуществующего значения на значение по умолчанию

Слайд 98 SET NULL | CASCADE
CREATE TABLE phone { id_p int

SET NULL | CASCADECREATE TABLE phone { id_p int REFERENCES people

REFERENCES people (id) ON DELETE CASCADE ON UPDATE CASCADE, …}



Слайд 99 Внешний ключ – нереализуемые связи
Нельзя реализовать при

Внешний ключ – нереализуемые связи Нельзя реализовать при помощи внешнего ключа

помощи внешнего ключа связи с кардинальностью 1:n или n:m,

обязательные в обе стороны.
Например, связь заказы–строки заказов: заказ не может быть пустым, и заказанный товар должен входить в определённый заказ.
Эта проблема обычно решается так: связь делается необязательной со стороны первичного ключа, а внешний ключ остаётся обязательным. При этом в приложении необходимо предусмотреть правило обработки пустых заказов (например, их удаление).


Слайд 100 Описание ограничений целостности

Если какое-либо ограничение целостности может быть

Описание ограничений целостностиЕсли какое-либо ограничение целостности может быть включено в структуру

включено в структуру БД, то его надо реализовать именно

так.

Необходимо обратить особое внимание на поля таблиц, для которых домен определён как список возможных значений. Это ограничение целостности можно реализовать в виде: CHECK(<поле> IN (<список значений>)).
'незаконченное высшее', 'незаконч. высшее', 'н. высш.' и т.д..


Слайд 101 Описание ограничений целостности

Но такой подход имеет следующий недостаток:

Описание ограничений целостностиНо такой подход имеет следующий недостаток: добавление нового значения

добавление нового значения в список потребует изменения схемы отношения.


Можно поступить до-другому: вынести этот список значений в отдельное отношение. Например, список типов образования (начальное, неполное среднее, среднее, средне-специальное, незаконченное высшее, высшее) для таблицы СОТРУДНИКИ.
Таблица ТИПЫ ОБРАЗОВАНИЯ будет состоять из одного поля Название типа, определённого как первичный ключ. Тогда поле Образование таблицы СОТРУДНИКИ станет внешним ключом.


Слайд 102 Внешний ключ – нереализуемые связи
К необычным конструкциям

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

данных можно отнести так называемые взаимоисключающие связи, когда подчинённая

сущность связана с одной из двух родительских сущностей. Например, счёт в банке может принадлежать либо физическому лицу, либо юридическому, и не может принадлежать и тому, и другому либо не принадлежать никому.
“you cannot get a job until you have experience, and you cannot get experience until you have a job!”

Слайд 103 Изменение таблицы
Добавляем столбец

ALTER TABLE table_name
ADD column_name datatype

Изменение таблицыДобавляем столбецALTER TABLE table_name	ADD column_name datatype

Слайд 104 Изменение таблицы
Удаляем столбец

ALTER TABLE table_name
DROP COLUMN column_name

Изменение таблицыУдаляем столбецALTER TABLE table_name	DROP COLUMN column_name

Слайд 105 Добавление/снятие ограничений
ALTER TABLE people ADD CHECK (id>0)

ALTER TABLE

Добавление/снятие ограниченийALTER TABLE people ADD CHECK (id>0)ALTER TABLE people ADD CONSTRAINT

people ADD CONSTRAINT chk_Person CHECK (id>0 AND address='SPb')

ALTER TABLE

people DROP CONSTRAINT chk_Person

Слайд 106 Изменение таблицы
Изменяем столбец

ALTER TABLE table_name ALTER COLUMN column_name datatype

Изменение таблицыИзменяем столбецALTER TABLE table_name ALTER COLUMN column_name datatype

Слайд 107 Изменение таблицы
Добавляем первичный ключ

ALTER TABLE employee ADD CONSTRAINT c1

Изменение таблицыДобавляем первичный ключALTER TABLE employee ADD CONSTRAINT c1 PRIMARY KEY (id)  id должен быть NOT NULL!

PRIMARY KEY (id)  

id должен быть NOT NULL!


Слайд 108 Изменение таблицы
Добавляем внешний ключ

ALTER TABLE employee ADD FOREIGN KEY

Изменение таблицыДобавляем внешний ключALTER TABLE employee ADD FOREIGN KEY (dno)  REFERENCES department(dnumber) 

(dno)  REFERENCES department(dnumber) 


Слайд 109 Изменение таблицы
Добавляем ограничение

ALTER TABLE exd WITH NOCHECK
ADD

Изменение таблицыДобавляем ограничениеALTER TABLE exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a > 1)

CONSTRAINT exd_check CHECK (column_a > 1)


Слайд 110 Нельзя изменять следующие столбцы
Столбец с типом данных timestamp.
Вычисляемый столбец

Нельзя изменять следующие столбцыСтолбец с типом данных timestamp.Вычисляемый столбец или используемый в

или используемый в вычисляемом столбце.
PRIMARY KEY или [FOREIGN KEY]

REFERENCES.
Используется в ограничениях CHECK или UNIQUE. Однако допустимо изменение длины столбца изменяемой длины, используемого в ограничении CHECK или UNIQUE.
Некоторые изменения типов данных могут повлечь за собой изменения в данных. Например, изменение столбца типа nchar или типа nvarchar на char или varchar может вызвать преобразование символов национальных алфавитов. 


Слайд 111 Вставка
INSERT INTO tbl_name (col1, col2)
VALUES ('Character

ВставкаINSERT INTO tbl_name (col1, col2) VALUES ('Character data1',1), ('Character data2',2), (…);Будут

data1',1), ('Character data2',2), (…);

Будут вставлены либо все строки, либо

ни одной – операция неделима!!!

INSERT INTO Orders (Order_ID, Customer_ID, Order_Date) VALUES (34, 'FRANS', '4/2/2004');

Слайд 112 Вставка
INSERT INTO tbl_name (col1, col2)
VALUES ('Character

ВставкаINSERT INTO tbl_name (col1, col2) VALUES ('Character data',1), (…) Можно: INSERT

data',1), (…)
Можно: INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);
Но нельзя: INSERT INTO tbl_name

(col1,col2) VALUES(col2*2,15);

Слайд 113 Изменение
UPDATE tbl_name
SET col1=expr1 [, col2=expr2 ...]

ИзменениеUPDATE tbl_name SET col1=expr1 [, col2=expr2 ...] [WHERE where_definition]UPDATE Product SET

[WHERE where_definition]

UPDATE Product SET ListPrice = ListPrice *

2 , MyDate=MyDate+1
WHERE id=158;


Слайд 114 Удаление
DELETE FROM tbl_name
[WHERE where_definition];

Если

УдалениеDELETE FROM tbl_name [WHERE where_definition]; Если не указать условие, то будут

не указать условие, то будут удалены все строки таблицы

TRUNCATE

TABLE     table_name ;

Слайд 115 Ограничиваем число строк
INSERT | DELETE | UPDATE [ TOP

Ограничиваем число строкINSERT | DELETE | UPDATE [ TOP (expression) [PERCENT]]

(expression) [PERCENT]]


Слайд 116 Удаление таблицы
DROP TABLE имя_таблицы

удаляет и данные, и структуру.



Удаление таблицыDROP TABLE имя_таблицыудаляет и данные, и структуру.

  • Имя файла: relyatsionnaya-model.pptx
  • Количество просмотров: 113
  • Количество скачиваний: 0