Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Введение в SQL




Первые разработки реляционных СУБД были выполнены в компании IBM в начале 1970-х годов. Тогда же был создан язык данных, предна­значенный для работы в этих системах. Экспериментальная вер­сия этого языка называлась SEQUEL - структурированный английский язык запросов. Официальная версия была названа - SQL (Structured Query Language). SQL- это подъязык данных, поскольку СУБД содержит и другие языковые средства.

В 1981 году IВМ выпускает реляционную СУБД SQL/DS. К этому времени компания Relation Software Inc. (сегодня это Oracle Cor­poration) уже выпустила свою реляционную СУБД. Эти продукты сразу же стали стандартом систем, предназначенных для управ­ления базами данных. В состав этих продуктов вошел и SQL, ко­торый фактически стал стандартом для подъязыков данных. Про­изводители других СУБД выпустили свои версии SQL- некоторые расширения SQL, чтобы получить некоторое преимущество для "своей" СУБД. Вместе с тем, начались работы по созданию общепризнанного стандарта SQL.

В 1986 году Американский национальный институт стандартов (American National Standards Institute, ANSI) выпустил официаль­ный стандарт SQL-86, который в 1989 году был обновлен и получил новое название SQL-89. В 1992 году этот стандарт был назван SQL-92. Последней версией стандарта SQL является SQL: 2003.

Любая реализация SQL в конкретной СУБД несколько отлича­ется от стандарта, соответствие которому объявлено произво­дителем. Так, многие СУБД (например, Microsoft Access 2003, PostgreSQL 7.3) поддерживают SQL-92 не в полной мере, а лишь с некоторым уровнем соответствия. Кроме того, они поддержива­ют и элементы, которые не входят в стандарт. Однако разработчи­ки СУБД стремятся к тому, чтобы новые версии их продуктов как можно в большей степени соответствовали стандарту SQL.

ПРИМЕЧЕНИЕ: Будем рассматривать элементы SQL:2003, не все из которых поддерживаются существующими СУБД. Прежде чем применять их на практике, следует убедиться, что они будут работать в ва­шей СУБД. Об этом можно узнать из технической документации. Большинство описанных элементов соответствуют и более ранним версиям SQL, в частности, широко распространенному SQL-92.

SQL задумывался как простой язык запросов к реляционной базе данных, близкий к естественному (точнее, к английскому) языку. Предполагалось, что близость по форме к естественному языку сделает SQL средством, доступным для широкого применения обычными пользователями баз данных, а не только программи­стами. Первоначально SQL не содержал никаких управляющих структур, свойственных обычным языкам программирования. Запросы, синтаксис которых довольно прост, вводились прямо с консоли последовательно один за другим и в этой же последо­вательности выполнялись. Однако SQL так и не стал инструмен­том простых служащих, для них простой SQL оказался слишком сложным и неудобным. На практике с базой данных обычно работают посредством при­ложений, написанных программистами на процедурных языках, например, на С, Visual Basic, Pascal, Java и др. Часто приложения создаются в специальных средах визуальной разработки, таких как Delphi, Microsoft Access, Visual dBase и т. п. При этом разра­ботчику приложения практически не приходится писать коды программ, поскольку за него это делает система разработки. Во всяком случае, работа с программным кодом оказывается мини­мальной. Эти приложения имеют удобный графический интер­фейс, не вынуждающий пользователя непосредственно вводить запросы на языке SQL. Вместо него это делает приложение. Впрочем, приложение может как использовать, так и не исполь­зовать SQL для обращения к базе данных. SQL не единственное, хотя и очень эффективное средство получения, добавления и из­менения данных, и если есть возможность использовать его в приложении, то это следует делать.

Реляционные базы данных могут существовать и действительно существуют вне зависимости от приложений, обеспечивающих пользовательский интерфейс. Если по каким-либо причинам тако­го интерфейса нет, то доступ к базе данных можно осуществить с помощью SQL, используя консоль или какое-нибудь приложе­ние, с помощью которого можно соединиться с базой данных, вве­сти и отправить SQL-запрос (например, Borland SQL Explorer). Язык SQL считают декларативным (описательным) языком, в отличие от языков, на которых пишутся программы. Это озна­чает, что выражения на языке SQL описывают, что требуется сде­лать, а не каким образом.

Например, для того чтобы выбрать из таблицы Сотрудники сведения о фамилиях и должностях сотруд­ников 102 отдела, достаточно выполнить следующий запрос:

SELECT Фамилия, Должность FROM Сотрудники WHERE Отдел=102;

По-русски данное выражение звучит так:

ВЫБРАТЬ Фамилия, Должность ИЗ Сотрудники ПРИ УСЛОВИИ, ЧТО отдел = 102;

 

Например, чтобы изменить значение "Иванов" на "Петров" столбца Фамилия, достаточно выполнить следующий запрос:

UPDATE Сотрудники SET Фамилия='Петров' WHERE Фамилия= 'Иванов';

По-русски данное выражение выглядит так:

ОБНОВИТЬ Сотрудники УСТАНОВИВ Фамилия РАВНЫМ 'Петров' ГДЕ Фамилия = 'Иванов';

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

Однако последние версии SQL поддерживают операторы управ­ления вычислениями, свойственные процедурным языкам управ­ления (операторы условного перехода и цикла). Поэтому SQL сейчас это не чисто декларативный язык.

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

DML (Data Manipulation Language - язык манипулирования данными) предназначен для поддержки базы данных: выбора (select), добавления (insert), изменения (update) и удаления (delete) данных из таблиц. Эти операторы (команды) могут со­держать выражения, в том числе и вычисляемые, а также подза­просы - запросы, содержащиеся внутри другого запроса. В об­щем случае выражение запроса может быть настолько сложным, что сразу и не скажешь, что он делает. Однако слож­ный запрос можно мысленно разбить на части, которые легче анализировать. Аналогично, сложные запросы создаются из от­носительно простых для понимания выражений (подзапросов).

DDL (Data Definition Language - язык определения данных) предназначен для создания, модификации и удаления таблиц и всей базы данных. Примерами операторов, входящих в DDL, являются CREATE TABLE (создать таблицу), CREATE VIEW (создать представление), CREATE SHEMA (создать схему), ALTER TABLE (изменить таблицу), DROP (удалить) и др.

. СУБД предусматривает некото­рую защиту данных автоматически. Однако в ряде случаев следует предусмотреть дополнительные меры, предоставляе­мые DCL.

ПРИМЕЧАНИЕ: Ключевые слова в выражениях на языке SQL могут записываться как прописными, так и строчными буквами, в одну или несколько строк. В конце выражения должна стоять точка с запятой. Од­нако во многих системах, обеспечивающих ввод, редактирование и отправку на выполнение SQL-выражений, в случае ввода одного такого выражения допускается не указывать признак окончания. Если же требуется выполнить блок из нескольких SQL-выражений, то они обязательно должны быть разделены точкой с запятой.

Bce ключевые слова SQL (команды, операторы и проч.) являются зарезервированными и не должны использоваться в качестве имен таблиц, столбцов, переменных и т. п.

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 515; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.