В СУБД используются две группы функций: для описания базы данных и выполнения операций манипулирования данными. В современных СУБД обычно поддерживается единый интегрированный язык.
Реляционные языки оперируют с данными как с множествами, применяя к ним операции теории множеств. На входе реляционного оператора – множество записей одной или нескольких таблиц, на выходе – множество записей новой таблицы. Реляционные языки имеют различный уровень процедурности.[3] Выделяют следующие разновидности языков реляционной алгебры:
dBASE-подобные языки приближены к языкам структурного программирования. Они обеспечивают создание интерфейса пользователя, выполнение основных операций над файлами и занимают промежуточное положение между языками манипулирования данными СУБД и языками программирования, обладают выраженной процедурностью обработки, когда явно указывается последовательность действий, приводящих к конечному результату.
SQL-подобные языки реализуются в большинстве многопользовательских и распределённых СУБД. SQL (Structured Query Language – структурированный язык запросов) представлен в явной синтаксической форме и реализует: описание данных, чтение данных, создание программ обработки данных, управление доступом, обеспечение целостности данных, совместное использование данных.Синтаксис версий SQL различается для отдельных СУБД. Язык имеет несколько стандартов, наиболее распространенные SQL-89 и SQL-92.
SOL является непроцедурным языком и не содержит операторов управления и организации подпрограмм. В связи с этим, SQL обычно погружен в среду встроенного языка программирования СУБД (например, языка СУБД Visual FoxPro) или даже процедурного языка типа C++ или Pascal.
Основные операторы подмножества SQL: CREATE TABLE, DROP TABLE — создание, удаление таблицы; CREATE INDEX, DROP INDEX — создание, удаление индекса; ALTER TABLE — изменение структуры таблицы; SELECT, UPDATE, INSERT, DELETE — выборка, изменение, вставка и удаление записей.
К дополнительным операторам SQL относят: CREATE DATABASE, SHOW DATABASE, START DATABASE, STOP DATABASE, DROP DATABASE — создание, просмотр, активизация, закрытие, удаление БД; CREATE VIEW, DROP VIEW — создание, удаление выборки (представления); CREATE SYNONYM — создание синонима; GRANT, REVOKE — назначение, удаление привилегии для работы с выборками и таблицами.
Оператор SELECT позволяет выполнять выборку и вычисления над данными одной или нескольких таблиц. В списке данных можно задавать имена столбцов и выражения над ними. Если записи отбираются из нескольких таблиц, то используют составные имена <имя таблицы>.<имя столбца>. Упрощенный вариант оператора SELECT имеет следующий формат:
SELECT [ALL-DISTINCT] < (СписокДанных - ВыбираемыхПолей)> FROM <СписокТаблиц - источник данных> [INTO ИмяТаблицы получателя данных] [WHERE <условие выборки>] [GROUP BY Условие группировки <Имя столбца> [, <имя столбца»...][HAVING <Условие поиска> [ORDER BY Условие упорядочения выводимых данных <спецификация сортировки>[,<спецификация сортировки»...] [TO FILE ИмяФайла (TO PRINTER – направление вывода данных) ]
Основные фразы языка SQL: SELECT (взять); FROM (из); WHERE (где\условие отбора); ORDER (сортировка).
Например, задана база данных «Преподаватели» следующей структуры:
Имя поля
Тип поля
Признак ключа
ФИО
Текст
Ключ
Кафедра
Текст
Ключ
Должность
Текст
Ключ
Оклад
Десятичное число
Не ключевое
Предмет
Текст
Ключ
Требуется выбрать из базы преподавателей кафедры иностранных языков, ведущих предмет «английский язык». Запрос:SELECT ФИО., Кафедра, Предмет FROM Преподаватели WHERE Кафедра = «Ин.яз.» and Предмет=«Английский» ORDER ФИО.
Графические реляционные языки ориентированы на конечных пользователей. Типичным представителем такого языка является QBE (Query By Example), реализованный в среде электронных таблиц, в ряде СУБД, в пакете MicroSoft Query. Функции языка доступны в формах различного рода меню, диалоговых сценариях или заполняемых пользователем таблицах. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции и передают их на исполнение. QBE применяется в СУБД Access.