Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создание, удаление и работа с объектами БД.

Поиск

Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде.

Поэтому, в язык SQL в качестве составных частей входят:

· язык манипулирования данными (DataManipulationLanguage, DML)

· языкопределенияданных (Data Definition Language, DDL)

· язык управления данными (DataControlLanguage, DCL).

Подчеркнем, что это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд.

Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:

SELECT, INSERT, UPDATE,DELETE

Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:

CREATE DATABASE, CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE TRIGGER, CREATE PROCEDURE, DROP DATABASE, DROP TABLE, DROP VIEW, DROP INDEX, DROP TRIGGER, DROP PROCEDURE, ALTER DATABASE, ALTER TABLE, ALTER VIEW, ALTER INDEX, ALTER TRIGGER, ALTER PROCEDURE (ALTER- модифицировать )

Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать "язык управления доступом". Он состоит из двух основных команд:

GRAND (дать права), REVOKE (забрать права)

С точки зрения прикладного интерфейса существуют две разновидности команд SQL:

· интерактивный SQL

· встроенный SQL.

Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне.Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-ориентированный подходы.


Агрегирование и группировка данных.

Агрегирование данных

Язык SQL включает группу функций, которые называются агрегирующими и позволяют производить различные подсчеты на таблицах:

· COUNT – определяет в результате количество строк (записей) или значений поля, не являющихся NULL -значениями. Применяется к записям и полям любого типа.

· MAX, MIN – определяет максимальное (минимальное) значение указанного поля в результирующем множестве. Применяется к полям любого типа.

· SUM – определяет арифметическую сумму значений указанного числового поля в результирующем множестве записей. Применяется только к числовым полям.

· AVG – определяет среднее арифметическое значений указанного числового поля в результирующем множестве записей (не учитывает NULL -значения, и сумма значений поля делится на количество определённых значений). Применяется только к числовым полям.

Пример -- Количество сотрудников:selectcount(*) fromemp;

Группировка данных

Агрегирующие функции обычно используются совместно с предложением GROUP BY. Например, следующая команда позволяет посчитать количество сотрудников по отделам:

selectdepno, count(*) ascnt, 'сотрудник(а)'

fromemp

group by depno;

Работает эта команда так. Система группирует все записи таблицы Emp по значению поля deptNo (номер отдела), т.е. создаёт на каждое значение одну запись в результирующей таблице. А функция count(*) позволяет посчитать, сколько записей исходной таблицы образуют каждую группу (т.е. имеют такое значение поля deptNo).

Для предложения GROUP BY существует строгое правило:

В списке выбора при использовании GROUP BY могут быть указаны только функции агрегирования, константы и поля, перечисленные в GROUP BY.

Если включить в список выбора поля, не указанные в GROUP BY, то СУБД не будет разбирать такой запрос и выдаст ошибку "нарушение условия группирования" (not a GROUP BY expression).

Группировку можно проводить и по нескольким полям. В этом случае результат будет содержать по одной записи на каждую комбинацию значений полей, по которым проводится группировка.




Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 254; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.78.242 (0.006 с.)