Операторы определения данных

Содержание

Слайд 2

Язык определения данных DDL используется для создания и изменения структуры базы

Язык определения данных DDL

используется для создания и изменения структуры базы данных

и ее составных частей – таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур
Слайд 3

Основные операторы ЯOД DATABASE (базу данных) TABLE (таблицу) VIEW (виртуальную таблицу)

Основные операторы ЯOД

DATABASE (базу данных)
TABLE (таблицу)
VIEW (виртуальную таблицу)
INDEX (индекс)
TRIGGER (триггер)
PROCEDURE (сохраненную

процедуру)

CREATE (создать)
ALTER (модифицировать)
DROP (удалить)

×

Слайд 4

Основные типы данных 1. Символьные – строки фиксированной и переменной длины

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

1. Символьные – строки фиксированной и переменной длины

3. Целые

числа

4. Вещественные числа

2. Строки потенциально неограниченного размера

6. Денежные значения

7. Время:

8. Двоичные данные

5. Булевы значения

Слайд 5

Манипулирование таблицами CREATE TABLE – создать таблицу ALTER TABLE – модифицировать

Манипулирование таблицами

CREATE TABLE – создать таблицу
ALTER TABLE – модифицировать таблицу
DROP TABLE

– удалить таблицу
Слайд 6

Таблица – основной объект для хранения информации в реляционной БД. Она

Таблица –

основной объект для хранения информации в реляционной БД. Она

состоит из содержащих данные строк и столбцов, занимает в БД физическое пространство и м.б. постоянной или временной.
Слайд 7

Основные ??? Как будет называться таблица? Как будут называться столбцы (поля)

Основные ???

Как будет называться таблица?
Как будут называться столбцы (поля) таблицы?
Какие типы

данных будут закреплены за каждым столбцом?
Какой размер памяти должен быть выделен для хранения каждого столбца?
Какие столбцы таблицы требуют обязательного ввода?
Из каких столбцов будет состоять первичный ключ?
Слайд 8

Создание таблицы CREATE TABLE имя_таблицы ( имя_столбца тип_данных [ DEFAULT выражение

Создание таблицы

CREATE TABLE имя_таблицы
( имя_столбца тип_данных
[ DEFAULT выражение

] [ ограничения_столбца ],
…………………………………………………………………….
[ ограничения_таблицы ]
)

[ DEFAULT выражение ] – значение по умолчанию

Слайд 9

Ограничения столбца NOT NULL – обязательность значений для столбца PRIMARY KEY

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

NOT NULL – обязательность значений для столбца

PRIMARY KEY – первичный

ключ

FOREIGN KEY – внешний ключ

UNIQUE – уникальность значений в столбце

CHECK(условие проверки на допустимость) – дополнительное ограничение на вид значений столбца

Слайд 10

CREATE TABLE student ( fio char(16) not null PRIMARY KEY, gr

CREATE TABLE student
( fio char(16) not null PRIMARY KEY,
gr char(2)

not null CHECK( gr in (‘4А',‘4Б') ),
spec char(10)
)

CREATE TABLE uspevaemost
( fio char(16) not null FOREIGN KEY references student(fio),
predm char(20) not null,
ocenka smallint
)

CREATE TABLE student
( fio char(16) not null,
gr char(2) not null,
spec char(10),
PRIMARY KEY(fio),
CHECK( gr in (‘4А',‘4Б') ),
)

Слайд 11

Для анализа ошибок целесообразно именовать ограничения, используя CONSTRAINT. Общепринято сопровождать имя

Для анализа ошибок целесообразно именовать ограничения, используя CONSTRAINT.

Общепринято сопровождать имя сокращенными

обозначениями ограничений:
для первичного ключа – PK
для внешнего ключа – FK
для проверочного ограничения – CK
для ограничения уникальности – U
для значения по умолчанию – DF
Слайд 12

CREATE TABLE student ( fio char(16) not null, gr char(2) not

CREATE TABLE student
( fio char(16) not null,
gr char(2) not null,


spec char(10),
CONSTRAINT PR_student PRIMARY KEY(fio),
CONSTRAINT CH_gr CHECK( gr in (‘4А',4Б') )
)
Слайд 13

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

Создание таблицы на основе существующей

количество заданных столбцов должно совпадать с количеством

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

CREATE TABLE имя_таблицы
[( имя_столбца ограничения, … )]
AS подзапрос

Слайд 14

Создание таблицы на основе существующей SELECT имена_столбцов INTO имя_таблицы FROM имя_таблицы_источника [ WHERE условие ]

Создание таблицы на основе существующей

SELECT имена_столбцов
INTO имя_таблицы
FROM имя_таблицы_источника
[ WHERE условие

]
Слайд 15

SELECT * INTO СТУДЕНТ1 FROM СТУДЕНТ копия структуры и данных в

SELECT *
INTO СТУДЕНТ1
FROM СТУДЕНТ

копия структуры и данных в новую

таблицу

SELECT *
INTO СТУДЕНТ1
FROM СТУДЕНТ
WHERE Группа=‘0’

копия только структуры в новую таблицу (заведомо ложное условие)

SELECT *
INTO СТУДЕНТ_5А
FROM СТУДЕНТ
WHERE Группа=‘5А’

создание таблицы с данными о студентах группы 5А

Слайд 16

Изменение таблиц и ограничений ALTER TABLE имя_таблицы перечень фраз-изменений Обобщенный формат:

Изменение таблиц и ограничений

ALTER TABLE имя_таблицы
перечень фраз-изменений

Обобщенный формат:

Слайд 17

Варианты изменений: Добавить новый столбец: ADD [COLUMN] имя_cтолбца тип_данных ограничения Удалить

Варианты изменений:

Добавить новый столбец:
ADD [COLUMN] имя_cтолбца тип_данных ограничения

Удалить столбец:
DROP [COLUMN] имя_столбца

[RESTRICT | CASCADE ]

RESTRICT – удаление отменяется, если существуют ссылки на удаляемый компонент (по умолчанию)
CASCADE – удаление осуществляется каскадным образом с удалением ссылок на удаляемый компонент

Слайд 18

Варианты изменений: Добавить новые ограничение: ADD [CONSTRAINT [имя_ограничения] ] ограничение Удалить

Варианты изменений:

Добавить новые ограничение:
ADD [CONSTRAINT [имя_ограничения] ] ограничение

Удалить ограничение:
DROP CONSTRAINT имя_ограничения

[ RESTRICT | CASCADE ]
Слайд 19

Варианты изменений: Задать значение по умолчанию: ALTER [COLUMN] SET DEFAULT значение

Варианты изменений:

Задать значение по умолчанию:
ALTER [COLUMN] SET DEFAULT значение

Отменить значение по

умолчанию:
ALTER [COLUMN] DROP DEFAULT
Слайд 20

Удаление таблицы DROP TABLE имя_таблицы [ RESTRICT | CASCADE ]

Удаление таблицы

DROP TABLE имя_таблицы [ RESTRICT | CASCADE ]

Слайд 21

Системные типы данных MS SQL server

Системные
типы данных
MS SQL server

Слайд 22

Числовые: целое число точное вещественное число

Числовые:

целое число

точное вещественное число

Слайд 23

Числовые: приближенное вещественное число денежный

Числовые:

приближенное вещественное число

денежный

Слайд 24

Дата, время:

Дата, время:

Слайд 25

Символьные: не поддерживающие UNICODE поддерживающие UNICODE

Символьные:

не поддерживающие UNICODE

поддерживающие UNICODE

Слайд 26

Системные типы данных SQL server 1. Символьные: CHAR(size), VARCHAR(maxsize) – строки

Системные типы данных SQL server

1. Символьные: CHAR(size), VARCHAR(maxsize) – строки фиксированной

и переменной длины

3. Целые числа:
BIGINT – 8-и байтовые,
INT – 4-х байтовые,
SMALLINT – 2-х байтовые
TINYINT – 1 байтовое положительное целое от 0 до 255

4. Вещественные числа:
FLOAT
REAL
DECIMAL(len,dec)

2. Строки потенциально неограниченного размера:
TEXT