- •7. Двойственный симплекс-метод.
- •17. Понятие второй нормальной формы.
- •18. Понятие третьей нормальной формы
- •23. Оператор выборки, синтаксис и описание
- •26. Оператор создания таблицы, основные параметры
- •Раздел VI экономико-математическое моделирование
- •Межотраслевые балансовые модели в анализе экономических показателей.
- •28. Транзакции. Управление транзакциями.
- •29. Этапы проектирования баз данных, примеры.
- •30.Четвертая и пятая нормальные формы
23. Оператор выборки, синтаксис и описание
Оператор SELECT является фактически самым важным для пользователя и самым сложным оператором SQL. Он предназначен для выборки данных из таблиц, т.е. он, собственно, и реализует одно их основных назначение базы данных - предоставлять информацию пользователю.
Синтаксис оператора выборки:
В довольно сильно упрощенном виде оператор выборки данных имеет следующий синтаксис:
Оператор выборки ::=
Табличное выражение
[ORDER BY
{{Имя столбца-результата [ASC | DESC]} | {Положительное целое [ASC |DESC]}}.,..];
Табличное выражение ::=
Select-выражение
[
{UNION | INTERSECT | EXCEPT} [ALL]
{Select-выражение | TABLE Имя таблицы | Конструктор значений таблицы}
]
Select-выражение ::=
SELECT [ALL | DISTINCT]
{{{Скалярное выражение | Функция агрегирования | Select-выражение} [AS Имя столбца]}.,..}
| {{Имя таблицы|Имя корреляции}.*}
| *
FROM {
{Имя таблицы [AS] [Имя корреляции] [(Имя столбца.,..)]}
| {Select-выражение [AS] Имя корреляции [(Имя столбца.,..)]}
| Соединенная таблица }.,..
[WHERE Условное выражение]
[GROUP BY {[{Имя таблицы|Имя корреляции}.]Имя столбца}.,..]
[HAVING Условное выражение]
24. Операторы назначения и отмены прав доступа на базу данных.
По соображениям безопасности не каждому пользователю прикладной системы может быть разрешено получать информацию из какой-либо таблицы, а тем более изменять в ней данные. Для определения прав пользователей относительно объектов базы данных (таблицы, представления, индексы) в SQL определена пара команд GRANT и REVOKE. Синтаксис операции передачи прав на таблицу:
Права пользователя на уровне таблицы определяются командой GRANT и следующими ключевыми словами:
SELECT - получение информации из таблицы
UPDATE - изменение информации в таблице
INSERT - добавление записей в таблицу
DELETE - удаление записей из таблицы
INDEX - индексирование таблицы
ALTER - изменение схемы определения таблицы
ALL - все права
GRANT <тип_права_на_таблицу>
ON <имя_таблицы> [<список_столбцов>]
TO <имя_пользователя>
Отмена прав осуществляется командой REVOKE:
REVOKE <тип_права_на_таблицу>
ON <имя_таблицы> [<список_столбцов>]
FROM <имя_пользователя>
Все ключевые слова данной команды эквивалентны оператору GRANT.
25. Приведите пример использования оператора SELECT.
Все запросы на получение практически любого количества данных из одной или нескольких таблиц выполняются с помощью единственного предложения SELECT. В общем случае результатом реализации предложения SELECT является другая таблица (см. примеры п.1.3). К этой новой (рабочей) таблице может быть снова применена операция SELECT и т.д., т.е. такие операции могут быть вложены друг в друга.
Предложение SELECT (выбрать) позволяет объединить а затем упорядочить (ORDER BY) результаты выбора данных, полученных с помощью нескольких "подзапросов". При этом упорядочение можно производить в порядке возрастания - ASC или убывания DESC, а по умолчанию принимается ASC.
Имеет формат:
SELECT - (выбрать) данные из указанных столбцов и (если необходимо) выполнить перед выводом их преобразование в соответствии с указанными выражениями и (или) функциями
FROM - (из) перечисленных таблиц, в которых расположены эти столбцы
WHERE - (где) строки из указанных таблиц должны удовлетворять указанному перечню условий отбора строк
GROUP BY - (группируя по) указанному перечню столбцов с тем, чтобы получить для каждой группы единственное агрегированное значение, используя во фразе SELECT SQL-функции SUM (сумма), COUNT (количество), MIN (минимальное значение), MAX (максимальное значение) или AVG (среднее значение)
HAVING - (имея) в результате лишь те группы, которые удовлетворяют указанному перечню условий отбора групп.
Пример использования оператора SELECT:
SELECT T1.*
FROM T1, T2
WHERE T2.N1 = T1.F1
ORDER BY T1.F2
Предложение SELECT может использоваться как:
самостоятельная команда на получение и вывод строк таблицы, сформированной из столбцов и строк одной или нескольких таблиц (представлений);
элемент WHERE- или HAVING-условия (сокращенный вариант предложения, называемый "вложенный запрос");
фраза выбора в командах CREAT VIEW, DECLARE CURSOR или INSERT;
средство присвоения глобальным переменным значений из строк сформированной таблицы (INTO-фраза).