Реляционные операторы и язык SQL

Последним аспектом, связанным с реляционной моделью данных, являются операторы. В СУБД вся работа с базой данных, начиная от создания таблиц и заканчивая внесением данных, обеспечивается реляционными операторами. В настоящее время, в мире коммерческих систем управления реляционными базами данных используется язык SQL (язык структурированных запросов), который включает в себя все эти операторы.

SQL не является языком программирования в традиционном представлении. На нем пишутся не программы, а запросы к базе данных. Поэтому SQL - декларативный язык. Это означает, что с его помощью можно сформулировать, что необходимо получить, а не то, как это следует сделать. Запрос на языке SQL состоит из одного или нескольких операторов, следующих один за другим и разделенных точкой с запятой. В запросах на языке SQL используются имена, которые однозначно идентифицируют объекты базы данных. В частности, это - имя таблицы, имя столбца, а также имена других объектов в базе, которые относятся к дополнительным типам.

Каждый столбец в любой таблице хранит данные определенных типов. Различают базовые типы данных - строки символов фиксированной длины, целые и вещественные числа, и дополнительные типы данных - строки символов переменной длины, денежные единицы, дата и время, логические данные (два значения - "ИСТИНА" и "ЛОЖЬ"). В языке SQL можно использовать числовые, строковые, символьные константы и константы типа "дата" и "время".

SQL-операторы, в зависимости от их функционального назначения относятся к различным подъязыкам данных: DDL,. DMLиDCD.

Язык определения данных (ЯОД)

Для создания и изменения структуры БД используется набор операторов SQL, который называется языком определения данных, или DDL (Data Definition Language).

Приведем примеры некоторых операторов ЯОД.

Оператор CREATE TABLE позволяет создавать новые таблицы в БД.

Пример

CREATE TABLE Группы (Номер_группы integer, Название_группы text (20), Страна text (50), Дата_создания date, primary KEY (Номер_группы))

Группы

Номер_группы Название_группы Страна Дата_создания
       

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

- Номер_группы могут быть целыми числами;

- Название_группы - строка размером не более 20 символов;

- Название_группы - строка размером не более 50 символов;

- Дата_создания данные типа дата.

Примечание. При определении имен полей лучше не использовать пробелы, т.к. многие СУБД либо не корректно работают с такими, либо вовсе не поддерживают такой возможности.

Оператор DROP TABLE позволяет удалить таблицу из БД.

Пример

DROP TABLE Группы;

Результатом выполнения этого оператора будет удаление таблицы Группы вместе со всеми данными, если они есть.

 

Язык манипулирования данными (ЯМД).

Язык обработки данных или DML (Data Manipulation Language). Операторы DML могут модифицировать данные, хранимые в БД, но не могут изменять ее структуру.

Работа с данными осуществляется на уровне

· одной таблицы

· нескольких таблиц

Типовыми операторами работы с одной реляционной таблицей являются:

1. SELECT–– выбор подмножества записей таблицы по условию, которое формируется, как логическое выражение.

Краткий синтаксис:

SELECT Имя поля 1, Имя поля 2, …, Имя поля N

FROM Имя таблицы

WHERE условия

Пример

SELECT Название, Код_группы

FROM Группы

WHERE [Страна]= «Англия» and [Год_создания] > 1963

Группа

Код_ группы Название Страна Год_создания
The Beatles Англия
Led Zeppelin Англия
U2 Ирландия

Результат выполнения оператора:

Код_ группы Название
Led Zeppelin

2. INSERT–– добавляется новая запись, для чего указывается имя таблицы, в которую производится дополнение, и значения полей новой записи. Заполнение ключевых полей является обязательным.

Краткий синтаксис:

INSERT

INTO Имя таблицы (Имя поля 1, Имя поля 2, …, Имя поля N)

VALUES (Значение 1, Значение 2,…, Значение N)

Примечание для оператора INSERT N должно быть обязательно равным числу столбцов в исходной таблице.

INSERT

INTO Группы (Номер_группы, Название_группы, Страна)

VALUES (5, "The_Beatles", "Англия")

В таблицу Группа (Номер_группы, Название_группы, Страна) будет добавлена новая запись с соответствующими значениями.

3. DELETE–– удаляется определенная запись или группа записей, удовлетворяющая заданному условию.

Краткий синтаксис:

DELETE Имя поля 1, Имя поля 2, …, Имя поля N

FROM Имя таблицы

WHERE условия

Примечание для того, чтобы не писать все имена таблицы в операторе DELETE, можно использовать символ *.

Пример Удаление всех записей в таблице Группы, где Номер_группы >= 5

DELETE *

FROM Группы

WHERE [Номер_группы]>=5

Примечание в строке условия имя поля заключается в квадратные скобки (в СУБД Access)

ПримерУдаление всех записей в таблице Группы:

DELETE * FROM

Группы

 

4. UPDATE –– изменяет значение поля(ей) одной или группы записей таблицы, удовлетворяющих условиям отбора.

Краткий синтаксис:

UPDATE

SET Имя поля 1= Новое значение1,…, Имя поля N = Новое значение N

WHERE условия

ПримерИзменение старого значения поля Название_группы на новое - Led Zeppelin в таблице Группы для записи с номером 5

UPDATE Группы

SET [Название_группы] = " Led Zeppelin "

WHERE [Номер_группы] =5

Для создания и изменения структуры БД используется набор операторов SQL, который называется языком определения данных, или DDL (Data Definition Language).