Файл: Инструкция sql команда предложения.ppt

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.01.2024

Просмотров: 122

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL

Инструкции SQL

Инструкция SQLкомандапредложения обязательныеCREATE (создать), INSERT (добавить), SELECT (выбрать), DELETE (удалить) WHERE (где), FROM (откуда), INTO (куда) + = необязательные

Имена в SQL

<Имя_пользователя>.<Имя_таблицы>.<Имя_столбца><Имя_пользователя>.<Имя_таблицы> <Имя_таблицы>.<Имя_столбца>ОбъектИмя

Типы данных

Целые числа - INT, SMALLINT Десятичные числа - NUMERIC, DECIMAL Числа с плавающей запятой - REAL, FLOAT Строки символов постоянной длины - CHAR Строки символов переменной длины - VARCHAR Денежные величины - MONEY, SMALLMONEY Дата и время - DATETIME, SMALLDATETIME Булевы величины - BIT Длинный текст - TEXT Неструктурированные потоки байтов - BINARY, VARBINARY, IMAGE

Встроенные функции


ISNUMERIC(выражение)


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


SIGN(число)


Определяет знак числа


RAND(целое число)


Вычисляет случайное число с плавающей запятой в интервале от 0 до 1


ROUND(число, точность)


Выполняет округление числа с указанной точностью


POWER(число, степень)


Возводит число в степень


SQRT(число)


Извлекает квадратный корень из числа


LEN(строка)


Вычисляет длину строки в символах


LTRIM(строка)


Удаляет пробелы в начале строки


RTRIM(строка)


Удаляет пробелы в конце строки


LEFT(строка, количество)


Возвращает указанное количество символов строки, начиная с самого левого символа


RIGHT(строка,количество)


Возвращает указанное количество символов строки, начиная с самого правого символа


GETDATE()


Возвращает текущее системное время


ISDATE(строка)


Проверяет строку на соответствие одному из форматов даты и времени


DATEADD(тип, число,дата)


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


CAST(выражение AS тип)


Преобразование типов


Ограничения целостности: первичный ключ таблицы

ID_Дисциплина INTEGER NOT NULL PRIMARY KEYPRIMARY KEY (ID_Дисциплина, ID_Студент)

Ограничения целостности: внешний ключ таблицы

FOREIGN KEY (<список столбцов внешнего ключа>)REFERENCES <имя родительской таблицы> [[<список столбцов родительской таблицы>] [ON DELETE {NO ACTION | CASCADE | SET DEFAULT | SET NULL}] [ON UPDATE {NO ACTION | CASCADE | SET DEFAULT| SET NULL}]ALTER TABLE Сводная_ведомостьADD FOREIGN KEY (ID_План) REFERENCES Учебный_план ALTER TABLE Сводная_ведомостьADD FOREIGN KEY (ID_Студент) REFERENCES Студенты

Ограничения целостности: определение уникального столбца

На уровне столбца:CREATE TABLE Дисциплины (ID_Дисциплина INTEGER NOT NULL PRIMARY KEY, Наименование VARCHAR(20) NOT NULLUNIQUE) На уровне таблицы:CREATE TABLE Дисциплины (ID_Дисциплина INTEGER NOT NULL, Наименование VARCHAR(20) NOT NULL, PRIMARY KEY (ID_Дисциплина), UNIQUE (Наименование))

Ограничения целостности: определение проверочных ограничений

На уровне столбца: Семестр INTEGER NOT NULL CHECK ((Семестр >= 1) OR (Семестр <= 10))На уровне таблицы:CHECK ((Семестр >= 1) OR (Семестр <= 10)))

Ограничения целостности: определение значения по умолчанию

Год_поступления INTEGER DEFAULTYEAR(GETDATE()) Функция GETDATE() - задает текущую датуФункция YEAR() - выделяет из даты компонент, определяющий год

Операции реляционной алгебры в SQL


объединение


UNION [ALL] [CORRESPONDING [BY
{Имя_столбца[, ...]}]}


пересечение


INTERSECT [ALL] [CORRESPONDING [BY
{Имя_столбца[, ...]}]}


разность


EXCEPT [ALL] [CORRESPONDING [BY
{Имя_столбца[, ...]}]}


произведение


FROM { <Источник_данных> } [,...,n]
<Источник_данных> ::= <имя_таблицы>


соединение


FROM { <Источник_данных> } [,...,n]
<Источник_данных> ::= <связка_таблиц>
<тип_связывания> ::=
[INNER | {{LEFT | RIGHT | FULL }[OUTER] } ] JOIN


проекция


SELECT DISTINCT <Список_выбора>


выборка


WHERE <условие_отбора>