Автор работы: Пользователь скрыл имя, 31 Октября 2011 в 19:51, реферат
SQL ( Structured Query Language - «язык структурированных запросов») - универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Реляционная база данных - база данных, основанная на реляционной модели данных. Реляционная модель данных (РМД) - логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка.
Естественно, что базовый стандарт не может предусмотреть все потребности пользователей, поэтому многие фирмы производители СУБД предлагают свои собственные и часто непереносимые расширения SQL. Например, Oracle и IBM имеют собственные расширения оператора SELECT, которое позволяет эффективно разворачивать в горизонтальное дерево иерархически упорядоченные данные (В Oracle это START WITH / CONNECT BY). В SQL-диалекте Informix такого оператора нет, поэтому для этих целей приходиться писать сохраненные процедуры. Количество расширений может исчисляться десятками для сервера СУБД от одной фирмы. Впрочем, никто и не говорил, что это будет просто…
Существуют
также специальные процедурные
расширения SQL-диалектов. Они похожи
на обычные процедурные языки, т.е.
у них есть и нормальные переменные
и метки и циклы и все
прочее, а также полностью
Все языки манипулирования данными (ЯМД), созданные до появления реляционных баз данных и разработанные для многих систем управления базами данных (СУБД) персональных компьютеров, были ориентированы на операции с данными, представленными в виде логических записей файлов. Это требовало от пользователей детального знания организации хранения данных и достаточных усилий для указания не только того, какие данные нужны, но и того, где они размещены и как шаг за шагом получить их.
Рассматриваемый же ниже непроцедурный язык SQL (Structured Query Language - структуризованный язык запросов) ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка состоит в том, что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
Для
иллюстрации различий между ЯМД
рассмотрим следующую ситуацию. Пусть,
например, вы собираетесь посмотреть
кинофильм и хотите воспользоваться
для поездки в кинотеатр
Для другого шофера такси вам, возможно, потребуется самому узнать, где демонстрируется нужный фильм и назвать кинотеатр. Тогда водитель должен найти адрес этого кинотеатра. Может случиться и так, что вам придется самому узнать адрес кинотеатра и предложить водителю проехать к нему по таким-то и таким-то улицам. В самом худшем случае вам, может быть, даже придется по дороге давать указания: "Повернуть налево... проехать пять кварталов... повернуть направо...". (Аналогично больший или меньший уровень детализации запроса приходится создавать пользователю в разных СУБД, не имеющих языка SQL.)
Появление теории реляционных баз данных и предложенного Коддом языка запросов "alpha", основанного на реляционном исчислении [2, 3], инициировало разработку ряда языков запросов, которые можно отнести к двум классам:
Разработка,
в основном, шла в отделениях фирмы
IBM (языки ISBL, SQL, QBE) и университетах
США (PIQUE, QUEL) [3]. Последний создавался для
СУБД INGRES (Interactive Graphics and Retrieval System), которая
была разработана в начале 70-х годов в
Университете шт. Калифорния и сегодня
входит в пятерку лучших профессиональных
СУБД. Сегодня из всех этих языков полностью
сохранились и развиваются QBE (Query-By-Example
- запрос по образцу) и SQL, а из остальных
взяты в расширение внутренних языков
СУБД только наиболее интересные конструкции.
Заключение.
SQL (Structured Query Language, язык структурированных запросов) - это специальный язык, используемый для определения данных, доступа к данным и их обработки. Язык SQL относится к непроцедурным (nonprocedural) языкам - он лишь описывает нужные компоненты (например, таблицы) и желаемые результаты, не указывая, как именно эти результаты должны быть получены. Каждая реализация SQL является надстройкой над процессором базы данных (database engine), который интерпретирует операторы SQL и определяет порядок обращения к структурам БД для корректного и эффективного формирования желаемого результата.
Стандарт SQL определяется ANSI - American National Standarts Institute (Американским Национальным Институтом Стандартов) и в настоящее время принят ISO - International Standarts Organization (Международной Организацией по Стандартизации).
SQL
- непроцедурный язык: серверу базы данных
сообщается, что нужно сделать и каким
образом. Для обработки запроса сервер
базы данных транслирует команды SQL во
внутренние процедуры. Благодаря тому,
что SQL скрывает детали обработки данных,
его легко использовать.
Соержание:
Введение.
История. Первые разработки.
Стандартизация.
Типы данных.
SQL-функции.
Возможности SQL.
SQL-технологии.
Заключение.
Список
использованных источников.
Список использованных источников:
http://ru.wikipedia.org/
http://194.85.162.82/
http://archae-dev.com/
http://www.codenet.ru/db/
http://citforum.ru/