Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Языковые средства реляционных СУБД. Реляционная алгебра. Реляционное исчисление. Язык SQL. Команды SQL. Обобщенный формат команды Select



Функциональные возможности моделей данных становятся доступными пользователям благодаря языковым средствам. Для каждой категории необходимы спец. языковые средства или интерфейс. Яз. ср-ва могут быть реализованы различ. способами.

В общем случае языковые средства СУБД используются для выполнения двух основных функций: 1) для описания схем и ограничений целостности (ЯОД); 2) для манипулирования данными (ЯМД). Не всегда ЯОД и ЯМД оформлены в виде самостоятельных языков, чаще всего они образуют один язык.

Основным достоинством реляционной модели данных является не только простота представления объектов и связей, но и возможность манипулирования не только кортежами, но и целыми доменами отношений. Реляционные языки выполняют функции описания данных, а также включения, удаления, обновления. Наиболее важной и сложной частью ЯМД является формулирование запросов к БД. Запросы к РБД представляют собой некоторые функции над отношениями. Языки запросов реляционной модели данных разбиваются на 2 класса:

1. Алгебраические языки. Позволяют формулировать запросы с помощью специальных операторов, применяемым к отношениям. Это операторы реляционной алгебры.

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

Реляционная алгебра. Алгеброй отношений называют сист операций манипулирования отношениями, каждый оператор которой в качестве операндов имеет одно или более отношений и образует отношение по заранее определенному правилу.

Э. Кодд определил 8 операций реляционной алгебры, которые состоят из 2 групп:

1) традиционные операции над множествами: объединение, разность, пересечение, декартово произведение;

2) специальные реляционные операции: проекция, селекция (выборка), деление (частное), соединение.

Из них 5 операций являются основными, Три операции являются дополнительными. Они могут быть выражены из четырех основные, но являются полезными и реализуются отдельно. Для представления нек. используют диаграммы Вена.

Необходимо расширение, включающее операции: 1) переименования атрибутов; 2) образования новых вычисляемых атрибутов; 3) вычисления итоговых функций; 4) построения сложных алгебраических выражений, присваивания, сравнения и т.д.

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

Реляционное исчисление. Основано на разделе математич. логики, называемом исчислением предикатов.

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

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

Понятие переменной - кортежа является основным в R-исчислении. Переменная - кортеж - это переменная, которая изменяется на некотором отношении, т.е. переменная, допустимыми значениями которой являются кортежи данного отношения.

Формулы в реляционном исчислении имеют вид: { t | (t)}, где t - переменная выборки, которая может быть двух видов: переменная-кортеж и переменная на домене.

В исчислении кортежей выражения строятся из кортежей и формула задает некоторый предикат над кортежем t. Эта формула описывает некоторое отношение r(R), которое состоит из всех кортежей для которых (t) истинно. Формула состоит из операндов, которыми могут быть имена атрибутов, константы, арифметические и логические операции, а также кванторы (, ) - существования и всеобщности.

Существует связь между реляционной алгеброй и реляционным исчислением. Все операции реляционной алгебры можно записать в виде формул реляц. исчисления.

Язык SQL (Structure Query Lanuage), структурированный язык запросов, в настоящее время является стандартным языком по работе с реляционными СУБД. Требования к языку были сформулированы Э.Коддом.

Язык развивался и фактически стал стандартом в реляционных СУБД. В 1989 году был принят в качестве международного стандарта ISO, как SQL1.

В 1992 был принят новый стандарт SQL2, более точный и полный.

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

В 1999 появился новый стандарт SQL3, который существенно отличался от ранее принятых. новые типы данных и возможность задания структурированных сложных типов данных, которые были ориентированы на использование в ОО БД. Добавлены также разделы, которые вводят стандарты на события и триггеры.

Команды языка предназначены для организации хранения и доступа к данным. SQL нельзя в полной мере отнести к традиционным языкам программирования. SQL не имеет возможностей языка программирования высокого уровня по управлению данными, например, по созданию интерфейса. Команды языка можно использовать двумя способами: 1) в интерактивном режиме; 2) в прикладной программе.

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

1). Операторы языка определения данных - ЯОД (DDL - Data Definition Language):

Create Tabl, Drop Tabl, Alter Tabl - создать, удалить, изменить таблицу;

Create View, Drop View, Alter View - создать, удалить, изменить представление;

Create Index, Drop Index - создать, удалить индекс.

2). Операторы манипулирования данными - ЯМД (Data Manipulation Language - DML): Deleter - удалить, Insert - вставить, Update - обновить строки в таблице.

3). Язык запросов. Оператор Select.

4). Операторы управления транзакциями:

Commit - завершить, Rollback - откат, Savepoint - сохранить промежуточную точку.

5) Операторы администрирования:

Create, Drop, Alter Database - создать, удалить, изменить базу данных;

Alter Password - изменить пароль, Grant - предоставить права, Revoke - лишить прав.

Наиболее важной и сложной операцией является выполнение запросов к БД.

SELECT [ALL | DISTINCT]<что выводится> FROM <откуда выводится>

[[INTO <получатель>] [WHERE <условие выборки или соединения>]

[GROUP BY <столбцы группировки>] [HAVING <условие для группы>]

[UNION [ALL] SELECTCommand] [ORDER BY< критерии упорядоченности> ]

Выполняет реляционные опрации: проекции (что выводится), соединения (декартово произведение таблиц, указанных в FROM), селекции (Where).





Дата публикования: 2015-01-26; Прочитано: 1023 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...