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

Автор: Пользователь скрыл имя, 29 Декабря 2011 в 08:18, курсовая работа

Описание работы

В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language — «структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL.

Целью разработки было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Собственно разработкой языка запросов занимались Дональд Чэмбэрлин (Donald D. Chamberlin) и Рэй Бойс (Ray Boyce). Пэт Селинджер (Pat Selinger) занималась разработкой стоимостного оптимизатора (cost-based optimizer), Рэймонд Лори (Raymond Lorie) занимался компилятором запросов.

Содержание

Введение 3

Язык SQL как стандартный язык баз данных 6

Роль SQL 8

Достоинства SQL 10

Независимость от конкретных СУБД 10

Переносимость с одной вычислительной системы на другую 11

Одобрение SQL компанией IBM (DB2) 11

Протокол ODBC и компания Microsoft 12

Реляционная основа 12

Высокоуровневая структура, напоминающая

английский язык 13

Стандарты SQL 13

Стандарты ANSI/ISO 13

Другие стандарты SQL 15

ODBC и консорциум SQL Access Group 15

Миф о переносимости 16

Влияние SQL 19

SQL и спецификация SAA компании IBM 19

SQL на мини-компьютерах 20

SQL на системах UNIX 20
SQL и обработка транзакций 21

SQL на персональных компьютерах 22

SQL в локальных сетях 24

Заключение 26

Глоссарий 29

Список использованной литературы 32

Приложения 33

Работа содержит 1 файл

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

— 282.00 Кб (Скачать)

  Вначале на рынке SQL для ЛВС в качестве платформы для сервера баз данных доминировала OS/2. В отличие от MS-DOS, у этой операционной системы не было ограничения на объем ОЗУ (640 Кб), а ее многозадачная архитектура хорошо подходила для создания сервера баз данных. К концу 1989 года компании IBM, Microsoft, Oracle, Gupta и другие представили свои СУБД для OS/2. Однако объемы продаж OS/2 оказались меньше ожидаемых, в то время как объемы продаж Microsoft Windows 3.0 возросли. Вопреки всем попыткам подчеркнуть их различия, между OS/2 и Windows 3.0 возникла конкуренция, которая постепенно привела к разрыву между IBM и Microsoft. В конце концов компания Microsoft признала свою приверженность Windows 3.0 и отказалась от поддержки OS/2, оставив за нею статус "собственности IBM". Хотя OS/2 продолжает занимать важное место в планах компании IBM, ее шанс стать доминирующей промышленной операционной системой для персональных компьютеров — а значит, и наиболее подходящей платформой для SQL в ЛВС — упущен.

  В то время как шла борьба между OS/2 и Windows, стали расти объемы продаж реляционных баз данных для других сетевых платформ. Цены на компьютеры, работающие под управлением UNIX, постоянно снижались, а версия UNIX от компании Santa Cruz Operation (SCO UNIX) стала наиболее популярной платформой для персональных компьютеров на базе процессоров Intel. В начале 90-х годов SCO UNIX могла поддерживать несколько процессоров, что позволило делить загрузку компьютера между двумя, тремя или более микропроцессорами. Имея в своем распоряжении вычислительную мощь четырех-восьми процессоров, работающих параллельно, СУБД Oracle, Informix и Sybase смогли достичь быстродействия мини-компьютеров на серверах семейства PC стоимостью от $20000. На сегодняшний день многопроцессорные серверы от компаний Compaq, Dell, IBM и других поставщиков персональных компьютеров имеют наилучшее соотношение цена/производительность среди всех доступных на рынке компьютерных систем.

  Хотя  UNIX стала популярной платформой для серверов баз данных, подавляющее большинство серверов ЛВС все еще применяются только для совместного использования файлов и принтеров, и большинство этих серверов работают под управлением Novell Netware. Серверная операционная система Novell Netware реализует меньшие возможности, чем UNIX или OS/2, но у нее есть одно большое преимущество — объем продаж. Первые реляционные базы данных для Netware котировались хуже, чем СУБД для UNIX и OS/2, однако начиная с 1992 года все ведущие поставщики баз данных представили версии своих продуктов для Netware. Объемы Продаж этих продуктов стали быстро расти, и Netware оказалась жизнеспособной платформой для серверов баз данных.

  В противоборстве с UNIX, OS/2 и Netware компания Microsoft сделала упор на Windows NT, клиент/серверную платформу для ЛВС, У Windows NT есть ряд значительных преимуществ над конкурентами; это новая операционная система, не отягощенная "обратной совместимостью". Учитывая вес компании Microsoft на компьютерном рынке, большинство аналитиков полагает, что NT завоюет лидирующее положение в области сетей с архитектурой клиент/сервер. В результате все поставщики СУБД в настоящее время выпускают версии своих продуктов для работы под управлением Windows NT.

  Сегодня рынок СУБД для сетей с архитектурой клиент/сервер является наиболее быстро растущим сегментом рынка серверов ЛВС.

     Заключение

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

     1. Интерактивный (или автономный) SQL дает возможность пользователям непосредственно извлекать информацию из базы или записывать в нее данные. Информация, получаемая по запросу SQL, может быть выдана на экран, переадресована в файл или на принтер.

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

     Есть  две разновидности статического SQL: встроенный и модульный.

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

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

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

     Операторы динамического SQL обычно применяются в диалоговых средах для построения запросов и в графических средствах разработки приложений БД.

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

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

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

     До 1996 года вопросами соответствия коммерческих реализаций SQL стандарту занимался в основном Национальный институт стандартов и технологий (NIST), который и устанавливал уровень соответствия стандарту. Поздне́е подразделение, занимавшееся СУБД, было расформировано, и на текущий момент все усилия по проверке СУБД на соответствие стандарту ложатся на её производителя.

     Положение изменилось с введением стандарта SQL:1999. Отныне стандарт приобрёл модульную  структуру — основная часть стандарта  была вынесена в раздел «SQL/Foundation», все остальные были выведены в отдельные модули. Соответственно, остался только один уровень совместимости — Core, что означало поддержку этой основной части. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД.

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

     Глоссарий

№ п/п Понятие Определение
     1      API      Набор готовых классов, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования  во внешних программных продуктах.
     2      FTP (File Transfer Protocol)      Протокол, предназначенный для передачи файлов в компьютерных сетях.
     3      GUI      Разновидность пользовательского интерфейса, в  котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений.
     4      SQL      Универсальный компьютерный язык, применяемый для  создания, модификации и управления данными в реляционных базах  данных.
     5 Аутентифика́ция      Проверка  принадлежности субъекту доступа предъявленного им идентификатора; подтверждение подлинности.
     6 База данных(БД)      Совокупность  взаимосвязанных данных, совместно  хранимых в одном или нескольких компьютерных файлах.
     7 Систе́ма управле́ния  ба́зами да́нных (СУБД)      Совокупность  программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
     8 COBOL - ( COmmon Business Oriented Language)      один  из старейших языков программирования (первая версия в 1959), предназначенный, в первую очередь, для разработки бизнес-приложений.
     9      Fortran        первый язык программирования высокого уровня, имеющий транслятор. Создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации IBM (язык Планкалкюль, претендующий на пальму первенства, был изобретён ещё в 1945 году, но не был реализован вплоть до 2000 года).
     10      Pascal      язык программирования общего назначения. Один из наиболее известных языков программирования, широко применялся в промышленном программировании, обучении программированию в высшей школе, является базой для ряда других языков.

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

     1      Администрирование Microsoft SQL Server 2000 [Текст]: Учебный курс MCSA/MCSE, MCDBA/Пер. с англ – 2-е из.
         2
     Администрирование Microsoft SQL Server 2000 [Текст]: Учебный курс MCSA/MCSE, MCDBA/Пер. с англ – 2-е из.
       3
     Кузин, А.В. Базы данных [Текст] / А.В Кузин, С.В. Левонисова. – М.: Академия, 2005
       4
     Малыхина, М.П. Базы данных [Текст: ] / М.П. Малыхина. – СПб.: БХВ-Петербург, 2006.
       5
     Мамаев, Е.В. Microsoft SQL Server 2000 [Текст ]:Е.В. Мамаев. – СПб.: БХВ-Петербург, 2005.
      6
     Марков, А.С. Базы данных: Введение в теорию и методологию [Текст] / А. С.Марков.
       7

Фуфаев, Э.В Базы данных[Текст]: В. Фуваев, Д.. Фуфаев. – М.: Академия, 2007.

     
    8
     А. Горев, С. Макашарипов, Р. Ахаян. Эффективная работа с СУБД
    9
     Иванова С.А. - Краткий обзор и анализ особенностей и возможностей СУБД.
    10
     Oracle и Microsoft SQL Server: прошлое, настоящее  и будущее - http://www.omega.ru/notes/note_elmanova.html#00
        

     Приложения

     1      

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