Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

SQL. Упорядочение данных. Операция объединения




Ограничения целостности связи. Возможности реализации в современных СУБД.

4.1. Наиболее часто встречающееся из этих ограничений - ограничение целостности связи. Оно выражается в том, что значение атрибута, отражающего связь между объектами и являющегося внешним ключом отношения, обязательно должно совпадать с одним из значений атрибута, являющегося ключом отношения, описывающего соответствующий объект. Например, если в базе данных существует таблица, отражающая связь между преподавателями и дисциплинами, которые каждый из них может преподавать, то код преподавателя в этой таблице должен соответствовать одному из кодов в таблице «Преподаватели», а код дисциплины - значению соответствующего поля в таблице «Дисциплины».

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

Упорядочение

Сортировка — это упорядочение записей по возрастанию или убыванию значений полей. Поля, по которым выполняется сортировка, указываются в операнде ORDER BY. Порядок следования полей определяет порядок сортировки. Сначала записи упорядочиваются по значениям поля, указанного в этом списке первым. Затем записи, имеющие одинаковое значение первого поля, упорядочиваются по второму полю и т. д.

Поля в списке обозначаются именами или номерами, которые соответству­ют номерам полей в списке полей после слова SELECT.

По умолчанию сортировка происходит в порядке возрастания значений по­лей. Для задания указания обратного порядка сортировки по какому-либо полю нужно указать после имени этого поля описатель DESC.

Пример. Сортировка записей.

SELECT * FROM Personnel.db ORDER BY Name

Сортировка записей задана по полю Name

Пример. Сортировка по двум полям.

SELECT Name, Post, Salary FROM Personnel.db ORDER BY Post, Salary DESC

или

SELECT Name, Post, Salary FROM Personnel.db ORDER BY 2, 3 DESC

В набор данных входят поля Name, Post и salary всех записей. Записи отсор­тированы по полям Post и Salary, при этом по полю Salary упорядочение выполняется по убыванию значений. Если по полям Post и salary построен индекс, то операции с набором дан­ных будут выполняться быстрее.

Объединение (UNION)

SELECT {<список выбираемых полей >}

FROM < таблица 1 >

UNION

SELECT {<список выбираемых полей >}

FROM < таблица 2 >

Раздел UNION служит для объединения результатов нескольких запросов. Используется для таблиц, удовлетворяющих условиям:

1. Кол-во столбцов в объединяемых ТРЗ (Таблица Результата Запроса) должно быть одинаковым.

2. Типы данных соответствующих столбцов из 1-й и 2-й таблиц должны совпадать.

3. Ни одна из объединяемых таблиц не должна быть отсортирована с помощью ORDER BY.

Выполняется так, что объединенной таблице повторяющихся строк не будет. Другая форма оператора – UNION ALL – позволяет получить таблицу со всеми строками, включая повторяющиеся.

С помощью оператора UNION можно объединить несколько таблиц.

 

 




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 1063; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.