Ответы на экзаменационные вопросы № 1-25 по дисциплине "Информационные системы" (Недостаточность файловых систем для инф.технологий. Представления реляционных баз данных), страница 10

1)  Реляционные операторы. Это математ символ ,кот-й ук-т на то ,какой тип сравнения м\д 2-мя записями значения SQL м.б. использовано. К ним относятся: =; <>;>=;<=;<;>.

2)  Логические операторы.

END OR NOT

Вывести инф о студентах, получивших 4 по алгоритмиз-ии.

Select snum from usp where ocenka=4; and pnum=2003;

3)  Специальные опрерат условия.

IN. Определяет набор значений, кот. м-т содержать указанное поле. Если значение поля совпадает с к-л выражением из набора предикат условия возвращает истину.

BEETWEEN <Y1> and <Y2>

Указывает диапазон возможных значений поля, причем всегда д.б. <Y2 Y1 и Y2 в диапазоне вкл.

LIKE <маска> [escape <символ>]. Может работать только с символьными переменными. Маска сод-т набор символов, кот-е обязательно должны входить в поле.

ISNULL если требуется вывести на экран строки в кот-х определ. поле не заполнено, то исп-ть snum=null нельзя. В этом сл-е следует исп-ть комбинацию IS NULL. Если требуется найти пустые значения полей,  то not null.

21.  Агрегатные функции и группировка GROUPBY в запросе SELECT.

Агрегатные ф-ии – это ф-ии над множеством, предназначенные для вычисления единственного значения для заданного множества строк. В sql различают:

- sum – ед. значений поля

- avg – среднее значение поля

- min

- max

- count – подсчет кол-ва записей

min и max работают с любыми типами полей.

Sum и avg  только с числовыми (<поле>). Агрегатные ф-ии подавляют заголовки полей.

-  count (<поле>) – подсчитывает кол-во строк в кот, значение поля непустых.

- count (*) -  подсчет всех строк таблицы, включая строки с пустыми значениями.

Группировка записей таблицы.

Производится с помощью предложения group by <поле>. Команда разбивает таблицу на неск-ко групп строк так, что значения <поля> в каждой группе д.б. одинаковыми. Группировка записей обычно производится с целью получения результата для всей группы в целом, т.е. группировка записей производится с исп-м агрегатных ф-й. Ограничение группировки записи.

Having <условие>

Для того, чтобы вывести на экран значения групп по требованию пользователя исп-ся предложение having.

Упорядочивание выходных полей.

Одним из видов сортировки выходных значений м.б. создание индексов, однако в этом сл-е понижается быстродействие обработки данных (за счет перезаписей индексов при модификации таблицы + индекс ф-лы заним. место)

В sql исп-ся специальное предложение, указывающее по какому полю и в каком направлении будут упорядочены данные результаты.

Order by <поле> asc|desc

Asc – по возрастанию

Desc – по убыванию

Если в качестве субъекта сортировки исп-ся агрегатная ф-я или др-е предложение в рез-те которого поле вывода не будет иметь заголовка ,то в качестве параметра сортировки м.б .указан n поля в списке выводов.

22. Построение запросов к множеству таблиц (соединение таблиц).

Соед-е таблиц позволяет вывести инф-ю из нескольких таблиц, исп-я связи м\д таблицами, причем выводимая инф-я будет представлена в терминах этих связей. Соед-е таблиц требует обязательного наличия в запросе предложения where, кот. Указывает ,как именно д.б. соединены таблицы. Список  выв-го запроса соед. М-т содержать поля из нескольких таблиц. При этом, если имя поля встречается только в одной таблице ,он м.б. указано только именем. Если имя поля встречается в неск-х табл. обязательно д.б. указан префикс таблицы. В предложении where исп-е префикса таблицы обязательно.

ПР. вывести инф. О преподавателях и предметах кот-е они ведут

Select teachers TFAM, PREDMET.PNAM FROM TEACHERS, PREDMET WHERE TEACHERS.TNUM=PREDMET.TNUM

23.  Построение множественного запроса к одной таблице.

Многотабличные запросы позволяют выбрать инф из неск-х таблиц и представить ее в виде единого набора данных. Различают неск-ко видов многотабл. Запросов:

-  объединение заросов; - соединение таблиц;