Структура языка SQL

Автор работы: Пользователь скрыл имя, 26 Октября 2012 в 22:26, курсовая работа

Описание

Язык для взаимодействия с БД SQL появился в середине 70-х и был разработан в рамках проекта экспериментальной реляционной СУБД System R. Исходное название языка SEQUEL (Structered English Query Language) только частично отражает суть этого языка. Конечно, язык был ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционной БД, но на самом деле уже являлся полным языком БД, содержащим помимо операторов формулирования запросов и манипулирования БД средства определения и манипулирования схемой БД.

Содержание

Введение.............................................................................................................
1 Введение в SQL...............................................................................................
1.1 Таблицы SQL................................................................................................
1. 2 Структура языка SQL.................................................................................
1. 3 Структура запросов SQL............................................................................
1.4 Операторы модификации данных..............................................................
1.5 Транзакции в SQL.......................................................................................
2 Защита данных................................................................................................
3 Обработка ошибок..........................................................................................
Заключение........................................................................................................
Глоссарий...........................................................................................................
Список использованных источников...............................................................

Работа состоит из  1 файл

Структура языка SQL.doc

— 256.00 Кб (Скачать документ)

INDEX - Разрешает использование CREATE INDEX and DROP INDEX

LOCK TABLES - Разрешает использование  LOCK TABLES на таблицах, для которых  есть привилегия SELECT.

PROCESS - Разрешает использование SHOW FULL PROCESSLIST

REFERENCES - Зарезервировано  для использования в будущем 

RELOAD - Разрешает использование FLUSH

REPLICATION CLIENT - Предоставляет пользователю право запрашивать местонахождение головного и подчиненных серверов

REPLICATION SLAVE - Необходимо  для подчиненных серверов при  репликации (для чтения информации  из бинарных журналов головного  сервера).

SELECT - Разрешает использование  SELECT

SHOW DATABASES - SHOW DATABASES выводит все базы данных.

SHUTDOWN - Разрешает использование mysqladmin shutdown

SUPER - Позволяет установить одно соединение (один раз), даже если достигнуто значение max_connections, и запускать команды CHANGE MASTER, KILL thread, mysqladmin debug, PURGE MASTER LOGS и SET GLOBAL

UPDATE - Разрешает использование UPDATE

USAGE - Синоним ``без привилегий'' - можно задавать, если необходимо  создать пользователя без привилегий.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 глава основной части

3 Обработка  ошибок

 

При выполнении программных  объектов пользователь должен иметь возможность оперативно реагировать на возникающие отклонения от нормального процесса их выполнения. Для решения этой задачи разработчики SQL применили механизм обработки исключительных ситуаций. Данный механизм представляет собой прием, обеспечивающий перехват и обработку ошибок и предупреждений. Исключительные ситуации в SQL возникают при выполнении SQL-операторов. Исключительные ситуации представляются в виде кодов возврата, которые формируются после завершения выполнения операторов. Коды возврата одновременно записываются в системные переменные SQLSTATE и SQLCODE. В этих переменных возникновение исключительных ситуаций кодируются по разному. Так в переменной SQLCODE они представляются в виде десятичных чисел. При этом отрицательные значения соответствуют ошибкам, положительные - предупреждениям, а ноль - успешному завершению оператора. Кодирование исключительных ситуаций в переменной SQLSTATE соответствует стандарту SQL/92. При этом коды возврата представляются в виде строк из пяти символов. В переменной SQLSTATE первые два символа составляют код класса ошибок, следующие три символа - код внутри класса. Код "00000" соответствует успешному выполнению оператора. В зависимости от значений кодов возврата может быть принято решение о повторении оператора, прерывания функционирования приложения и т.д.

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

Теперь о проблемах, связанных с параллельным использованием базы данных множеством разнообразных  пользователей.

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

Заключение

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

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

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

Ориентированный на работу с таблицами SQL не имеет достаточных  средств для создания сложных  прикладных программ. Поэтому в разных СУБД он либо используется вместе с  языками программирования высокого уровня (например, такими как Си или Паскаль), либо включен в состав команд специально разработанного языка СУБД (язык систем dBASE, R:BASE и т.п.). Унификация полных языков современных профессиональных СУБД достигается за счет внедрения объектно-ориентированного языка четвертого поколения 4GL. Последний позволяет организовывать циклы, условные предложения, меню, экранные формы, сложные запросы к базам данных с интерфейсом, ориентированным как на алфавитно-цифровые терминалы, так и на оконный графический интерфейс (X-Windows, MS-Windows).

В настоящее время  язык SQL является стандартом для использования  в реляционных базах данных, наиболее современных хранилищах информации. Перспективы их развития БД огромны, но прослеживается четкая тенденция  во всех новых СУБД - обязательная поддержка языка SQL.

Глоссарий

№ п/п

Понятие

Определение

1

2

3

1

База данных

совокупность связанных  данных, организованных по определенным правилам, предусматривающим общие  принципы описания, хранения и манипулирования, независимая от прикладных программ.

2

Банк данных

автоматизированная информационная система централизованного хранения и коллективного использования  данных

3

Операторы транзакции

определяют моменты  времени в которые значения базы данных, измененные пользователями становятся актуальными (изменения сделанные одним пользователем вступают в силу для всех пользователей)

4

Операторы защиты данных

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

5

Операторы модификации  данных

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

6

Реляционная база данных

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

7

Реляционная модель данных

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

8

Система управления базами данных

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

9

Структурированный язык запросов

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

1

2

3

10

Язык SQL

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


 

Список использованных источников

1

Аладьев В.В., Хунт Ю.Я., Шишаков  М.Л. «Основы информатики», Учебное  пособие, М., 2005.- 202 с.

2

Бойко В.В., Савинков В.М., «Проектирование баз данных информационных систем», М., Финансы и статистика, 2005.-407 с.

3

Девис У., «Операционные  системы», М., Мир, 2005.-516 с.

4

Дейт К., «Введение  в системы баз данных», М., Наука, 2006.- 724 с.

5

Дейт К., «Руководство по иерархической СУБД», М., Финансы  и статистика, 2008. – 302 с.

6

Дубнов П.Ю. «Access 2003: Проектирование баз данных», М., ДМК : Лайт, 2005.-585 с.

7

Ездов А.А., «Лабораторные  работы по физике с использованием компьютерной модели», Информатика и образование, 2007.- 255 с.

8

Ермаков М.Г., Андреева Л.Е., «Вопросы разработки тестирующих программ», Информатика и образование, 2006.-650 с.

9

Жуков А. А, Федякина Л.А  “Система контроля знаний TSTST”, Информатика  и образование, 2006.-379 с.

10

Кодд Дж., «Базы данных», Москва. Мир. 2005.-401 с.

11

Макашарипов С., Горев  А., Ахаян Р., «Эффективная работа с  СУБД» СПб, Питер , 2005.- 567 с.


Приложения

 

А

Б


1 Аладьев В.В., Хунт Ю.Я., Шишаков М.Л. «Основы информатики», Учебное пособие : М., 2005- С. 20-21.

2 Девис У., «Операционные системы», :М., 2005.- С.16

3 Бойко В.В., Савинков В.М., «Проектирование баз данных информационных систем», М., Финансы и статистика, 2000.- С. 207

4 Дейт К., «Руководство по иерархической СУБД», :М. 2008. – С.102

5 Ездов А.А., «Лабораторные работы по физике с использованием компьютерной модели», :M, 2007.- С. 55

6 Кодд Дж., «Базы данных», :М. 2005.- С. 101

7 Макашарипов С., Горев А., Ахаян Р., «Эффективная работа с СУБД» :СПб, 2005.- С. 67

8 Кодд Дж., «Базы данных», Москва. Мир. 2005.- С. 101




Информация о работе Структура языка SQL