Автор работы: Пользователь скрыл имя, 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 Обработка ошибок..........................................................................................
Заключение........................................................................................................
Глоссарий...........................................................................................................
Список использованных источников...............................................................
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 Обработка ошибок
При выполнении программных объектов пользователь должен иметь возможность оперативно реагировать на возникающие отклонения от нормального процесса их выполнения. Для решения этой задачи разработчики 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