Временная таблица всегда привязана к сеансу (сессии), удаляется автоматически по завершению данной сессии. Пример: CREATE USER DROP USER Каждый пользователь обладает набором полномочий (прав), привязанных к операторам языка SQL. Полномочия пользователей БД доводятся до уровня домена. Не существует явный способ в SQL создать полномочия на уровне строк таблиц. VIEW – динамически создаваемое подмножество таблицы. Операции полномочий: GRANT, REMOVE. Ограничения целостности. CREATE TABLE T ( имя тип_ограничения_целостности) ограничения_целостности. NOT NULL – не может быть неинициализированным. (IS) NULL UNIQUE – уникальное значение (либо отдельных столбцов, либо всей таблицы). PRIMARY KEY – указанный домен является первичным ключом данной таблицы. Если первичный ключ составной, то он описывается для всей таблицы. DEFAULT= – значение по умолчанию для данного домена. CREATE TABLE T (A int, B int, …) CHECK (A+B<5) - проверка логического выражения. Поле или домен одной из таблиц должны обязательно ссылаться на домен из другой таблицы. Внешний ключ – тот, кто ссылается. Родительский ключ – тот, на которого ссылаются. CREATE TABLE T (Id int PRIMARY KEY, Name char(80)) CREATE TABLE T1 (Id int FOREIGN KEY T, Name char(80)) UPDATES OF T RESTRICTED PRIMARY KEY, FOREIGN KEY используются декларативно для каскадного описания. RESTRICTED - операция модификации будет запрещена. CASCADES – строки с тем же самым Id будут удалены. NULLS – если удалить строку,то соотв. значение будет изменено на неинициализированное. REFERENCES T2.Name – для каждого значения данного атрибута должно быть вхождение его в другую таблицу. DML. Операции модификации. DELETE FROM имя_таблицы WHERE условие – удаление всех строк соответствующей таблицы, удовлетворяющих условию. DROP TABLE T – удаление таблицы. INSERT INTO T (A,B) VALUES (1,2) – добавление данных(1,2) в домены таблицы Т (A,B) UPDATE TABLE T SET имя_атрибута1 = значение1, имя_атрибута2 = значение2 WHERE условие Операция выборки: SELECT список_выбора FROM таблица WHERE условие SELECT A,B FROM T WHERE C>0 ORDERED BY A ASC(DEC) – сортировка по А по возрастанию(ASC) или убыванию(DES). ORDERED BY 1,2 – сортировка по порядковым номерам списка выбора. Модификаторы выбора: ALL – выбрать все строки. DISTINCT – выбор различных строк. INTO Т1– явное указание таблицы, куда помещаются выбранные данные. T1 не должно существовать при этом. DROP TABLE #T1 SELECT DISTINCT A,B INTO #T1 FROM T ALIAS: для доменов: A+B A1. Для таблицы T A, T B. FROM T1, T2 – операция «запятая» означает декартово произведение. Агрегатные функции. Число строк, результат – таблица. SELECT count(*) FROM T * - все строки A – все непустые значения DISTINCT A – все различные непустые значения MAX() - максимум MIN() - минимум SUM() – сумма AVG() – среднее значение SELECT A, sum(A) FROM T 13 23 AB 1 2 2 3 Результат 16 23 Id Qty 1 2 2 3 1 4 SELECT Id, sum(Qty) FROM T WHERE GROUP BY Id HAVING условие(для результата) Объединения. UNION Select * from T1 Union Select * from T2 Необходимое условие – одна размерность доменов. Столбцы должны иметь совместимые типы. По умолчание объединяет разные строки.