Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Объединение, пересечение, исключение





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

Следующий запрос - пример для UNION(объединение):

SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNAME = 'Jones' UNION SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNAME = 'Adams';

даёт результат:

 

SNO | SNAME | CITY -----+-------+-------- 2 | Jones | Paris 3 | Adams | Vienna

Вот пример для INTERSECT(пересечение):

SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNO > 1 INTERSECT SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNO > 2;

даёт результат:

SNO | SNAME | CITY -----+-------+-------- 2 | Jones | ParisВозвращаются только те кортежи, которые есть в обоих частях запросаи имеют $SNO=2$.

Наконец, пример для EXCEPT(исключение):

SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNO > 1 EXCEPT SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S WHERE S.SNO > 3;

даёт результат:

SNO | SNAME | CITY -----+-------+-------- 2 | Jones | Paris 3 | Adams | Vienna

Определение данных

Существует набор команд, использующихся для определения данных, включенных в язык SQL.

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

Самая основная команда определения данных - это та, которая создаёт новое отношение (новую таблицу). Синтаксис команды CREATE TABLE:

CREATE TABLE table_name ( name_of_attr_1 type_of_attr_1 [, name_of_attr_2 type_of_attr_2 [,...]]);

Для создания таблиц, определённых в Базе данных поставщиков и деталей, используются следующие SQL выражения:

CREATE TABLE SUPPLIER (SNO INTEGER, SNAME VARCHAR(20), CITY VARCHAR(20)); CREATE TABLE PART (PNO INTEGER, PNAME VARCHAR(20), PRICE DECIMAL(4, 2)); CREATE TABLE SELLS (SNO INTEGER, PNO INTEGER);

Типы данных SQL

Вот список некоторых типов данных, которые поддерживает SQL:

· INTEGER: знаковое полнословное двоичное целое (31 бит для представления данных).

· SMALLINT: знаковое полсловное двоичное целое (15 бит для представления данных).

· DECIMAL ( p [, q ]): знаковое упакованное десятичное число с p знаками представления данных, с возможным q знаками справа от десятичной точки. (15 ≥ p q q ≥ 0). Если q опущено, то предполагается что оно равно 0.

· FLOAT: знаковое двусловное число с плавающей точкой.

· CHAR( n ): символьная строка с постоянной длиной n .

· VARCHAR( n ): символьная строка с изменяемой длиной, максимальная длина n .

Создание индекса

Индексы используются для ускорения доступа к отношению. Если отношение R проиндексировано по атрибуту A, то мы можем получить все кортежи t имеющие t (A) = a за время приблизительно пропорциональное числу таких кортежей t , в отличие от времени, пропорциональному размеру R.

Для создания индекса в SQL используется команда CREATE INDEX. Синтаксис:

CREATE INDEX index_name ON table_name ( name_of_attribute );

Для создания индекса с именем I по атрибуту SNAME отношения SUPPLIER используем следующее выражение:

CREATE INDEX I ON SUPPLIER (SNAME);

Созданный индекс обслуживается автоматически, т.е. при вставке ново кортежа в отношение SUPPLIER, индекс I будет перестроен. Заметим, что пользователь может ощутить изменения в при существовании индекса только по увеличению скорости.

Date: 2016-05-25; view: 431; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию