Автор работы: Пользователь скрыл имя, 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 Обработка ошибок..........................................................................................
Заключение........................................................................................................
Глоссарий...........................................................................................................
Список использованных источников...............................................................
Версия шаблона |
2.1 |
Филиал |
|
Вид работы |
Курсовая работа |
Название дисциплины |
Базы данных |
Тема |
Структура языка SQL |
Фамилия студента |
|
Имя студента |
|
Отчество студента |
|
№ контракта |
Введение...................... |
3 |
1 Введение в SQL................ |
5 |
1.1 Таблицы SQL................... |
6 |
1. 2 Структура языка SQL........................... |
7 |
1. 3 Структура запросов SQL........................... |
8 |
1.4 Операторы модификации данных........................ |
17 |
1.5 Транзакции в SQL.............. |
24 |
2 Защита данных................. |
26 |
3 Обработка ошибок.............. |
29 |
Заключение.................... |
31 |
Глоссарий..................... |
33 |
Список использованных источников.................... |
35 |
Приложение.................... |
36 |
В настоящее время объемы информации все время возрастают. Наиболее удобным способом хранения информации, на основе опыта нескольких десятилетий, был признан способ хранения информации в виде баз данных.
База данных – это, прежде всего хранилище объектов данных, т.е. набора возможных понятий или событий, описываемых базой данных (БД), Вместе с этим основными функциями БД являются систематизация информации (знаний) и возможность взаимосвязи объектов между собой.
Любую структуру данных можно преобразовать в простую двумерную таблицу. Основная идея реляционного подхода состоит в том, чтобы представить произвольную структуру данных в виде простой двумерной таблицы или, как говорят, нормализовать структуру. И как следствие возникла необходимость использования универсального языка для доступа и управления данными в различных базах данных. Таким языком стал SQL.
Язык для взаимодействия с БД SQL появился в середине 70-х и был разработан в рамках проекта экспериментальной реляционной СУБД System R. Исходное название языка SEQUEL (Structered English Query Language) только частично отражает суть этого языка. Конечно, язык был ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционной БД, но на самом деле уже являлся полным языком БД, содержащим помимо операторов формулирования запросов и манипулирования БД средства определения и манипулирования схемой БД. В языке отсутствовали средства синхронизации доступа к объектам БД со стороны параллельно выполняемых транзакций: с самого начала предполагалось, что необходимую синхронизацию неявно выполняет система управления базами данных СУБД.
После появления на рынке двух пионерских СУБД – SQL/DS (1981 год) и DB2 (1983 год) – он приобрел статус стандарта де-факто для профессиональных реляционных СУБД. В 1987 году SQL стал официальным международным стандартом языка баз данных, а в 1992 году вышла вторая версия этого стандарта.
Важной отличительной чертой SQL является его независимость от компьютерной среды (операционной системы и архитектуры). SQL является инструментом, предназначенным для обработки и чтения информации, содержащейся в компьютерной базе данных.
При создании языка запросов нового поколения разработчики старались сделать его простым и легким в освоении инструментом для обращения к БД. В итоге SQL стал слабо структурированным языком, особенно по сравнению с такими языками, как С или Pascal, и в то же время достаточно мощным и относительно легким для изучения.
Одним из наиболее важных шагов на пути к признанию SQL на рынке стало появление стандартов на этот язык. Обычно при упоминании стандарта SQL имеют в виду официальный стандарт, утвержденный Американским институтом национальных стандартов (American National Standards Institute — ANSI) и Международной организацией по стандартам (International Standards Organization— ISO). Однако существуют и другие важные стандарты SQL, включая SQL, реализованный в системе DB2 компании IBM, и стандарт X/OPEN для SQL в среде UNIX. Этот стандарт, незначительно пересмотренный в 1989 году, обычно называют стандартом «SQL-89», или «SQLI».
Пробелы в стандарте SQL-89 и различия между существующими диалектами SQL достаточно значительны, и при переводе приложения под другую СУБД его всегда приходится модифицировать. Эти отличия в большинстве своем устранены в стандарте SQL2.
1 Введение в SQL
SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. SQL, является языком программирования, который применяется для организации взаимодействия пользователя с базой данных.
На рисунке в приложении А изображена схема работы SQL.
Согласно этой схеме, в вычислительной системе имеется база данных, в которой хранится важная информация. Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у SQL с помощью СУБД. SQL обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название — структурированный язык запросов.
Однако это название не совсем соответствует действительности. Cегодня SQL представляет собой нечто гораздо большее, чем простой инструмент создания запросов, хотя именно для этого он и был первоначально предназначен. Несмотря на то, что чтение данных по-прежнему остается одной из наиболее важных функций SQL, сейчас этот язык используется для реализации всех функциональных возможностей, которые СУБД предоставляет пользователю, а именно:1
1.1 Таблицы SQL
В реляционной базе данных информация организована в виде таблиц, разделённых на строки и столбцы, на пересечении которых содержатся значения данных.
Основными объектами реляционной базы данных являются:
(TABLE) Таблица - Прямоугольная таблица, состоящая из СТРОК и СТОЛБЦОВ. Задать таблицу – значит указать, из каких столбцов она состоит.
(ROW) Строка - Запись, состоящая из полей – столбцов. В каждом поле содержится его значение, либо значение NULL – «пусто». Строк в таблице может быть сколько угодно. Физический порядок их расположения друг относительно друга неопределен.
(COLUMN) Столбец - Каждый столбец в таблице имеет собственные имя и тип.
1.2 Структура языка SQL
Все операторы языка SQL можно разделить на несколько типов:
Операторы манипулирования данных - позволяют управлять значениями, представляемыми в таблицах.
Операторы транзакций - определяют моменты времени в которые значения базы данных, измененные пользователями становятся актуальными (изменения сделанные одним пользователем вступают в силу для всех пользователей).
Операторы модификации данных - позволяют создавать/удалять базовые таблицы и изменять их структуру (добавлять столбцы, связи между таблицами).
Операторы защиты данных - позволяют авторизировать пользователей, давать им привилегии (разрешения на просмотр данных из одной или нескольких таблиц, изменение данных и т.д.).
Оператор запроса на получение данных - позволяет пользователю получить выбранные определенным образом, данные из одной или нескольких таблиц. Отдельной частью оператора запроса можно выделить оператор курсора - позволяет просматривать предварительно выбранные данные по одной строке.
Оператор ошибки - после выполнения последнего SQL запроса содержит код выполнения операции (код ошибки либо удачного выполнения).
Все используемые в языке SQL операторы представляют собой предложения, содержащие определенные операторы и их операнды. В некоторых операторах возможна вложенность нескольких операций.2
Таким образом, пользователю необходимо сформировать текстовую строку, содержащую операторы SQL и с помощью функции используемого им языка программирования высокого уровня отправить этот запрос на SQL Server, хранящий базу данных. В результате от SQL Server придет ответ, содержащий запрошенные данные из одной или нескольких таблиц, удовлетворяющие условию запроса, отсортированные в нужном порядке, либо произведет запрашиваемые действия над данными.
1.3 Структура запросов SQL
Все запросы на получение практически любых данных из одной или нескольких таблиц выполняются с помощью единственного предложения SELECT.
В синтаксических конструкциях для обращения к БД используются следующие обозначения:
1) звездочка (*) для
обозначения «все» –
2) квадратные скобки ([])
– означают, что конструкции,
заключенные в эти скобки, являются
необязательными (т.е. могут
3) фигурные скобки ({}) – означают, что конструкции, заключенные в эти скобки, должны рассматриваться как целые синтаксические единицы, т.е. они позволяют уточнить порядок разбора синтаксических конструкций, заменяя обычные скобки, используемые в синтаксисе SQL;
4) многоточие (…) – указывает на то, что непосредственно предшествующая ему синтаксическая единица факультативно может повторяться один или более раз;
5) прямая черта (|) – означает наличие выбора из двух или более возможностей. Например, обозначение ASC|DESC указывает, можно выбрать один из терминов ASC или DESC; когда же один из элементов выбора заключен в квадратные скобки, то это означает, что он выбирается по умолчанию (так, [ASC]|DESC означает, что отсутствие всей этой конструкции будет восприниматься как выбор ASC);
6) точка с запятой (;) – завершающий элемент предложений SQL;
7) запятая (,) – используется
для разделения элементов
8) пробелы ( ) – могут
вводиться для повышения
9) жирные прописные латинские буквы и символы – используются для написания конструкций языка SQL и должны (если это специально не оговорено) записываться в точности так, как показано-……..;
10) строчные буквы используются
для написания конструкций,
11) термины «таблица»
и «столбец» заменяют (с целью
сокращения текста
12) термин «таблица» - используется
для обобщения таких видов
таблиц, как базовая_таблица,
В дальнейшем все примеры приводятся для базы данных приведенной в приложении А.
Оператор SELECT осуществляет выборку из базы данных и имеет наиболее сложную структуру среди всех операторов языка SQL. Простейший оператор SELECT выглядит:
SELECT * FROM PC;
Он осуществляет выборку всех записей из объекта БД табличного типа с именем PC. При этом столбцы и строки результирующего набора не упорядочены. Чтобы упорядочить поля результирующего набора, их следует перечислить через запятую в нужном порядке после слова SELECT:
SELECT price, speed, hd, ram, cd, model, code
FROM Pc;
В таблице 1 приводится результат выполнения этого запроса.
Таблица 1 - Запрос SELECT
price |
speed |
hd |
ram |
cd |
model |
code |
600.0 |
500 |
5 |
64 |
12x |
1232 |
1 |
850.0 |
750 |
14 |
128 |
40x |
1121 |
2 |
600.0 |
500 |
5 |
64 |
12x |
1233 |
3 |
850.0 |
600 |
14 |
128 |
40x |
1121 |
4 |
850.0 |
600 |
8 |
128 |
40x |
1121 |
5 |
950.0 |
750 |
20 |
128 |
50x |
1233 |
6 |
400.0 |
500 |
10 |
32 |
12x |
1232 |
7 |
350.0 |
450 |
8 |
64 |
24x |
1232 |
8 |
350.0 |
450 |
10 |
32 |
24x |
1232 |
9 |
350.0 |
500 |
10 |
32 |
12x |
1260 |
10 |
980.0 |
900 |
40 |
128 |
40x |
1233 |
11 |