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

Автор работы: Пользователь скрыл имя, 19 Ноября 2013 в 00:35, курсовая работа

Краткое описание

При написании данной работы была рассмотрена структура языка SQL, а так же одна из большинства групп операторов SQL. При рассмотрении были, по возможности, приведены примеры для баз данных. Показаны: область применения и основные функции языка.
SQL является непроцедурным языком, построенным на использовании обычных английских слов (таких как SELECT, INSERT, DELETE). Он может применяться как профессионалами, так и рядовыми пользователями. Этот язык формально и фактически стал стандартным языком определения и манипулирования реляционными базами данных.

Содержание

ВВЕДЕНИЕ 3
ОСНОВНАЯ ЧАСТЬ 6
1 ЯЗЫК SQL - ОСНОВНЫЕ ФУНКЦИИ И ВОЗМОЖНОСТИ 6
1.1 ИСТОРИЯ ЯЗЫКА SQL 6
1.2 СТАНДАРТИЗАЦИЯ УПРАВЛЕНИЯ И ОБМЕНА ДАННЫМИ 9
2 СТРУКТУРА ЯЗЫКА SQL 14
2.1 ТАБЛИЦЫ SQL 14
2.2 СТРУКТУРА ЗАПРОСОВ SQL 15
2.3 ОПЕРАТОРЫ SQL 21
2.4 ТРАНЗАКЦИИ В SQL 27
ЗАКЛЮЧЕНИЕ 29
ГЛОССАРИЙ 31
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33

Вложенные файлы: 1 файл

Базы данных .docx

— 88.08 Кб (Скачать файл)

Основные данные о работе

Версия шаблона

2.1

Филиал

Калужский

Вид работы

Курсовая работа

Название дисциплины

Базы данных

Тема

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

Фамилия студента

Коляскин

Имя студента

Максим

Отчество студента

Сергеевич

№ контракта

06400100601007


 

 

 

Содержание

Введение 3

Основная часть 6

1 Язык sql - основные функции и возможности 6

1.1 История языка SQL 6

1.2 Стандартизация управления и обмена данными 9

2 Структура языка sql 14

2.1 таблицы sql 14

2.2 структура запросов sql 15

2.3 операторы sql 21

2.4 транзакции в sql 27

Заключение 29

глоссарий 31

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

 

 

 

Введение

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

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

Базисным требованием  к реляционным СУБД считается  присутствие сильного и в это  же время простого языка, дозволяющего исполнять все нужные пользователям  операции. В в последнее время этим везде где только можно принятым языком стал язык реляционных БД SQL - Structured Query Language (сейчас регулярно название языка понимается как Standard Query Language) .

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

Следует отметить, что к  плюсам языка SQL относится присутствие  интернациональных стандартов. Первый международный стандарт был принят в 1989 г., и подходящая версия языка  называется SQL-89. Данный эталон всецело  поддерживается практически во всех прогрессивных коммерческих реляционных  СУБД (к примеру, в Informix, Sybase, Ingres, DB2 и т.п.). Стандарт SQL-89 во множества долях имеет очень единый характер и дозволяет слишком обширное трактование. В данном стандарте полностью отсутствуют такие актуальные сегменты, как манипулирование схемой БД и динамический SQL. Почти все весомые аспекты языка согласно со стандартом определяются в реализации.

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

Осознавая неполноту стандарта SQL-89, на фоне окончания разработки данного  стандарта эксперты разных компаний начали работу над стандартом SQL2. Данная работа помимо прочего длилась большое  количество лет, было выпущено немного  проектов стандарта, пока же, в конце  концов, в начале марта 1992 г. не был  выработан конечный проект стандарта (после этого стандарт и соответствующий  язык стали именовать SQL-92). Данный стандарт значимо более полный и охватывает почти что все необходимые для реализации аспекты: манипулирование схемой БД, управление транзакциями и сессиями (сессия - это последовательность транзакций, в пределах которой сохраняются кратковременные отношения), подключение к БД, динамический SQL. В конце концов стандартизованы отношения-каталоги БД, собственно в общем-то не связано с языком непосредственно, хотя довольно в значительной степени влияет на реализацию. Заметим, что в стандарте представлены три уровня языка - базовый, промежуточный и полный. На протяжении пары лет после принятия стандарта производители СУБД, утверждавшие совместимость личных продуктов со стандартом, действительно в лучшем случае поддерживали промежуточный уровень языка SQL-92 (естественно, с собственными расширениями). Исключительно в последних выпусках СУБД ведущих производителей поддерживается совместимость с полным вариантом языка. В конце концов, сразу с завершением работ по определению стандарта SQL-92 была начата разработка стандарта SQL3. Совокупной позицией основных производителей СУБД будет то, что будущие продукты, обладая более развитыми возможностями, должны быть совместимы с предыдущими выпусками. Хотя почти все разработчики и пользователи реляционных СУБД понимают присутствие множества неустранимых дефектов языка SQL, от него сейчас уже невозможно отказаться (как нельзя отказаться от применения языка Си в процедурном программировании). Значит, необходим новый стандарт языка, обеспечивающий эти неоспоримо нужные возможности как характеризуемые пользователями разновидности данных, наиболее развитые средства определения таблиц, наличие полного механизма триггеров и так далее Необходим именно стандарт, а не наличие развитых приватных версий языка, так как данное интересно и производителям и пользователям СУБД.

 

Основная часть

1 Язык SQL – основные функции и возможности

1.1 История развития языка SQL

Основные вехи истории развития SQL:

Работа была начата сразу  после появления статью Э.Кодда в 1970г. в лабораториях компании IBM для проверки возможностей реляционной модели.

СУБД System R - экспериментальная исследовательская система с языком SEQUEL (позже SQL), созданная IBM:

  • Полный реляционный язык БД
  • Операторы манипулирования БД
  • Средства определения и манипулирования схемой БД
  • Определение ограничений целостности
  • Определение представлений
  • Определение индексов
  • Авторизация доступа к отношениям и их полям
  • Точки сохранения транзакций и откаты

SQL в коммерческих реализациях:

1979 - Oracle (Relation Software Inc.- Oracle corp.;

1981-1982 - DB2 (IBM), Ingres - CA-OpenIngres (Relation Technology Inc. - Computer Associates)

1984 - Informix (Informix Sofrware);

1986 - Sybase (Sybase Corp.)

  • Реализован во всех коммерческих реляционных СУБД
  • Все фирмы провозглашают соответствие стандарту SQL
  • Реализованные диалекты очень близки
  • Путь "сверху вниз" - уточнение и упрощение SQL System R
  • Путь "снизу вверх" - от диалектов реализации различных фирм (наращивание возможностей, обычное отсутствие полного описания языка)

Стандартизация SQL:

  • Все фирмы провозглашают соответствие стандарту SQL
  • Реализованные диалекты очень близки
  • Деятельность началась одновременно с появлением первых коммерческих реализаций
  • В качестве стандарта нельзя было использовать SQL System R(не было технической проработки, слишком сложно реализовать)
  • Нельзя было принять за стандарт коммерческий диалект (слишком различались)

Международный стандарт 1989 г.

  • Во многих частях имеет чрезвычайно общий характер и допускает очень широкое толкование
  • Отсутствуют важные разделы (манипулирование схемой БД, динамический SQL, многое определяется в реализации)
  • Наибольшие достижения (стандартизация синтаксиса и семантики операторов выборки и манипулирования данными, фиксация средств ограничений целостности БД:определение первичного и внешнего ключей отношений, проверочные ограничения целостности)

Международный стандарт 1992 г.(SQL2)

  • Расширено манипулирование таблицами (Alter table, Drop table)
  • Манипулирование схемой БД (Users, Tables, Views, Columns, Domains, Table_priveleges, Table_constraints, , , )
  • Возможность управления доменами (Create domain имя char(25) . . .и при определении имен столбцов эти имена определяются через имена доменов)
  • Новые типы данных (Date, Time, Datetime, . . .) и новые функции
  • Управление транзакциями и сессиями (сессия - последовательность транзакций, в пределах которой сохраняются временные отношения)
  • Подключение к БД
  • Развитие динамического SQL

В 1995 г. стандарт был дополнен спецификацией интерфейса уровня вызова (Call-Level Interface - SQL/CLI). SQL/CLI представляет собой набор спецификаций интерфейсов процедур, вызовы которых позволяют выполнять динамически задаваемые операторы SQL. По сути дела, SQL/CLI представляет собой альтернативу динамическому SQL и послужил основой для создания повсеместно распространенных сегодня интерфейсов ODBC (Open Database Connectivity) и JDBC (Java Database Connectivity).

В 1996 г. к стандарту SQL/92 был  добавлен еще один компонент - SQL/PSM (Persistent Stored Modules). Основная цель этой спецификации состоит в том, чтобы стандартизировать способы определения и использования хранимых процедур, т. е. специальным образом оформленных программ, включающих операторы SQL, которые сохраняются в базе данных, могут вызываться приложениями и выполняются внутри СУБД.

Стандарт SQL:1999 (SQL3)

Незадолго до завершения работ  по определению стандарта SQL2 была начата разработка стандарта SQL3. Реально работу над новым стандартом удалось  частично завершить только в 1999 г., и  по этой причине (а также в связи  с проблемой 2000 года) стандарт получил  название SQL:1999.

1999 г. были приняты пять  первых частей стандарта SQL:1999. Первая часть (SQL/Framework) посвящена описанию концептуальной структуры стандарта: приводится развернутая аннотация следующих четырех частей.

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

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

Третью часть занимает уточненная по сравнению с SQL/92 спецификация SQL/CLI. В четвертой части специфицируется SQL/PSM - синтаксис и семантика языка определения хранимых процедур (стандарт синтаксиса триггеров и процедур). Наконец, в пятой части - SQL/Bindings - определяются правила связывания SQL для стандартных версий языков программирования FORTRAN, COBOL, PL/1, Pascal, Ada, C и MUMPS.

В стандарт SQL:1999 не вошли  и существуют в виде отдельных  стандартов:

  • стандарт управления распределенными транзакциями (SQL/Transaction);
  • стандарт поддержки темпоральных свойств данных (SQL/Temporal);
  • стандарт управления внешними данными (SQL/MED);
  • поддержка оперативной аналитической обработки (SQL/OLAP).

В конце 2003 г. был принят и  опубликован новый вариант международного стандарта SQL:2003.

1.2 Стандартизация управления и обмена данными.

Международная организация  стандартизации ISO в рамках 32 подкомитета JTC1 ("Data Management and Interchange") разрабатывает стандарты в области управления и обмена данными для локальных и распределенных информационных систем. 

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

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

WG02 - рабочая группа, разрабатывающая и развивающая стандарты по спецификации и управлению метаданными, обмену метаданными в различных средах (Internet, Intranet ив других средах). В число наиболее интересных проектов данной группы входят следующие: 

1.32.16.01.02.00 ISO/IEC AWI 20943-2 "Информационные  технологии - Применение XML структурированных  данных для процедуры регистрации  данных" (Information technology - Procedure for Achieving Data Registry Content Consistency - XML Structured Data). Де-факто язык XML уже используется WEB-серверами как язык описания дескриптора доставки модулей, располагаемых и регистрируемых на сервере. 

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