Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИОСУ лекции (мои).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.74 Mб
Скачать

10. Язык sql

Стандартизированный язык работы с данными через СУБД реализован в разном объеме во всех реляционных СУБД. Назначение – определение структуры данных, актуализация данных, выборка данных, исполнение служебных функций.

История создания:

Прототип SQL обнародован в 1974 году, назывался он SEQUEL. (Структурированный (S) английский (E) язык (L) формулирования запросов (QUE)). Начало коммерческой реализации – основной вариант в системе Oracle.

В 1986 – стандартизация языка в США, под аббревиатурой SQL, в 1987 – международный стандарт, под названием SQL1 или SQL-87. 1989 год – вторая редакция SQL1 или SQL-89. В первом стандарте определены основные операторы языка

В 1992 – разработан SQL2 или SQL-92. Полный реляционный стандарт, стандартизация работы с метаданными по аналогии с работой с пользовательскими данными (если ранее стандартизировалась работа с пользовательскими таблицами, теперь пошли далее, раньше данные служебные, описание БД, генераторы и триггеры, хранились, как попало, теперь и служебную данные хранятся как таблицы, так же стандартизовано, в “служебных таблицах”).

С появлением объектно-ориентированного программирования и объектно-ориентированных БД, стали думать над расширением стандарта SQL2. В это время не было, какой то одной организации, которая диктовала бы стандарт, все создавали свои стандарты. И в 1999 году создан стандарт SQL3 (SQL-99). Он собрал только самую вершину, того, что было общим. Стандарт превратился в рекомендацию. Весь стандарт разделили на уровни – начальный, стандартный и полный. Обычно в СУБД поддерживается чуть больше начального уровня.

Язык SQL близок к классу языков реляционного исчисления кор­тежей и используется в основном в реляционных СУБД. Но в связи с его очень широким применением имеются попытки реализации SQL и в других классах систем.

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

В составе языка SQL2 можно выделить следующие основные группы операторов и средств:

1. Основные составляющие языка sql.

1.1. Команды определения данных:

– CREATE SCHEME – создать базу данных (определён в стандарте SQL. Для аналогичных целей в некоторых СУБД имеется оператор CREATE DATABASE).

– CREATE TABLE – создание таблицы базы данных. Таблица определяется путем задания содержащихся в ней столбцов. Все значения в столбце имеют один и тот же тип данных. При описа­нии таблиц могут задаваться ограничения целостности данных.

– CREATE DOMAIN – создание домена (объявление пользовательского типа данных, включает определение типа данных, ограничение и значение по умолчанию). Домен имеет смысл создавать, когда определенный с его помо­щью тип данных используется в создаваемой базе данных многократ­но. При описании таблицы для соответствующих полей вместо типа данных будет указываться имя домена.

– CREATE VIEW – создание виртуальной таблицы (представления, обзора). Представление - это виртуальная таблица, данные для которой получаются из базовых таблиц или других представлений. Представ­ление может быть получено из одной таблицы или нескольких, может включать в себя вычисляемые поля. Представление можно рассматривать как хранимый запрос (оно и выражается с помощью запроса). Представление может использо­ваться в запросах наряду с реальными таблицами. Упрощает со­здание сложных запросов, используется для обеспечения защиты и ускорения работы с БД. В результате, в БД хранится не сама табличная информация, а лишь способ ее оперативного получения. Использование представлений позволяет скрыть от пользователя излишние для него детали организации БД, реализовать дополнительные возможности контроля доступа к данным, минимизировать объем передаваемой и обрабатываемой информации.

– CREATE CURSOR – создание навигационной таблицы (курсора).

К этой группе также относятся операторы изменения и уничтожения описаний, операторы работы с описаниями вспомогательных объектов БД.

1.2. Команды удаления (DROP) и изменения (ALTER) объектов.

Например, таблицы могут быть удалены с помощью оператора DROP TABLE, а структуру существующей таблицы можно изменять с помощью оператора ALTER TABLE.