Автор: Пользователь скрыл имя, 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
Вначале на рынке 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, в общем случае между собой несовместимые.
Среди
недостатков использования
Все конкретные реализации языка несколько отличаются друг от друга. В интересах самих же производителей гарантировать, чтобы их реализация соответствовала современным стандартам 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-е из. |
|
Администрирование Microsoft SQL Server 2000 [Текст]: Учебный курс MCSA/MCSE, MCDBA/Пер. с англ – 2-е из. |
|
Кузин, А.В. Базы данных [Текст] / А.В Кузин, С.В. Левонисова. – М.: Академия, 2005 |
|
Малыхина, М.П. Базы данных [Текст: ] / М.П. Малыхина. – СПб.: БХВ-Петербург, 2006. |
|
Мамаев, Е.В. Microsoft SQL Server 2000 [Текст ]:Е.В. Мамаев. – СПб.: БХВ-Петербург, 2005. |
|
Марков, А.С. Базы данных: Введение в теорию и методологию [Текст] / А. С.Марков. |
|
Фуфаев, Э.В Базы данных[Текст]: В. Фуваев, Д.. Фуфаев. – М.: Академия, 2007. |
|
А. Горев, С. Макашарипов, Р. Ахаян. Эффективная работа с СУБД |
|
Иванова С.А. - Краткий обзор и анализ особенностей и возможностей СУБД. |
|
Oracle
и Microsoft SQL Server: прошлое, настоящее
и будущее - http://www.omega.ru/notes/ |
1 |