Управление реляционными базами данных.SQL

Автор работы: Пользователь скрыл имя, 04 Декабря 2011 в 16:51, реферат

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

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

Содержимое работы - 1 файл

Управление реляционными базами данных.SQL..docx

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

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

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

Стандарты языка SQL

Официальный стандарт языка SQL был опубликован Американским институтом национальных стандартов (American National Standards Institute — ANSI) и Международной организацией по стандартам (International Standards Organization — ISO) в 1986 году и значительно расширен в 1992 году. Кроме того, SQL является федеральным стандартом США по обработке информации (FIPS — Federal Information Processing Standard) и, следовательно, соответствие ему является одним из основных требований, содержащихся в больших правительственных контрактах, относящихся к области вычислительной техники. В Европе стандарт X/OPEN для переносимой среды программирования на основе операционной системы UNIX включает в себя SQL в качестве стандарта для доступа к базам данных. SQL Access Group — консорциум поставщиков компьютерного оборудования и баз данных — определил для SQL стандартный интерфейс вызовов функций, который является основой протокола ODBC компании Microsoft и входит также в стандарт X/OPEN. Эти стандарты служат как бы официальной печатью, одобряющей SQL, и они ускорили завоевание им рынка.

Одобрение SQL компанией IBM (СУБД DB2)

SQL был придуман  научными сотрудниками компании IBM и широко используется ею  во множестве пакетов программного  обеспечения. Подтверждением этому  служит флагманская СУБД DB2 компании IBM. Все основные семейства компьютеров  компании IBM поддерживают SQL: система  PS/2 для персональных компьютеров,  система среднего уровня AS/400. система  RS/6000 на базе UNIX, а также операционные  системы MVS и VM больших ЭВМ.  Широкая поддержка SQL фирмой IBM ускорила  его признание и еще в самом  начале возникновения и развития  рынка баз данных явилась своего рода недвусмысленным указанием для других поставщиков баз данных и программных систем, в каком направлении необходимо двигаться.

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

Компания Microsoft рассматривает доступ к базам данных как важную часть своей операционной системы Windows. Стандартом этой компании по обеспечению доступа к базам данных является ODBC (Open Database Connectivity — взаимодействие с открытыми базами данных) — программный интерфейс, основанный на SQL. Протокол ODBC поддерживается наиболее распространенными приложениями Windows (электронными таблицами, текстовыми процессорами, базами данных и т.п.), разработанными как самой компанией Microsoft, так и другими ведущими поставщиками. Поддержка ODBC обеспечивается всеми ведущими реляционными базами данных. Кроме того, ODBC опирается на стандарты, одобренные консорциумом поставщиков SQL Access Group, что делает ODBC как стандартом де-факто компании Microsoft, так и стандартом, независимым от конкретных СУБД.

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

SQL является языком  реляционных баз данных, поэтому  он стал популярным тогда, когда  популярной стала реляционная  модель представления данных. Табличная  структура реляционной базы данных  интуитивно понятна пользователям,  поэтому язык SQL является простым  и легким для изучения. Реляционная  модель имеет солидный теоретический  фундамент, на котором были  основаны эволюция и реализация  реляционных баз данных. На волне  популярности, вызванной успехом  реляционной модели, SQL стал единственным  языком для реляционных баз  данных.

Высокоуровневая структура,

напоминающая английский язык

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

Интерактивные запросы

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

Программный доступ к базе данных

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

Различные представления  данных

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

Полноценный язык для работы с базами данных

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

Динамическое  определение данных

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

Архитектура клиент/сервер

SQL — естественное  средство для реализации приложений  клиент/сервер. В этой роли SQL служит  связующим звеном между клиентской  системой, взаимодействующей с пользователем,  и серверной системой, управляющей  базой данных, позволяя каждой  системе сосредоточиться на выполнении  своих функций. Кроме того, SQL позволяет  персональным компьютерам функционировать  в качестве клиентов по отношению  к сетевым серверам или более  крупным базам данных, установленным  на больших ЭВМ; это позволяет получать доступ к корпоративным данным из приложений, работающих на персональных компьютерах.

3. Стандарты  SQL

Одним из наиболее важных шагов на пути к признанию SQL на рынке стало появление стандартов на этот язык. Обычно при упоминании стандарта SQL имеют в виду официальный  стандарт, утвержденный Американским институтом национальных стандартов (American National Standards Institute — ANSI) и Международной организацией по стандартам (International Standards Organization— ISO). Однако существуют и другие важные стандарты SQL, включая SQL, реализованный в системе DB2 компании IBM, и стандарт X/OPEN для SQL в среде UNIX.

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

Работа над  официальным стандартом SQL началась в 1982 году, когда ANSI поставил перед своим  комитетом ХЗН2 задачу по созданию стандарта языка реляционных баз данных. Вначале в комитете обсуждались достоинства различных предложенных языков. Однако поскольку к тому времени SQL уже стал фактическим стандартом, комитет ХЗН2 остановил свой выбор на нем и занялся стандартизацией SQL.

Разработанный в результате стандарт в большой  степени был основан на диалекте SQL системы DB/2, хотя и содержал в себе ряд существенных отличий от этого  диалекта. После нескольких доработок, в 1986 году стандарт был официально утвержден  как стандарт ANSI номер Х3.135, а в 1987 году — в качестве стандарта ISO. Затем стандарт ANSI/ISO был принят правительством США как федеральный стандарт США по обработке информации (FIPS — Federal Information Processing Standard). Этот стандарт, незначительно пересмотренный в 1989 году, обычно называют стандартом "SQL-89", ил"SQLI". Когда в данной книге упоминается "стандарт ANSI/ISO", то подразумевается SQLI, который в настоящее время лежит в основе большинства коммерческих продуктов.

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

Чтобы заполнить  эти пробелы, комитет ANSI продолжил  свою работу и создал проект нового, более жесткого стандарта SQL2. В отличие  от стандарта 1989 года, проект SQL2 предусматривал возможности, выходящие за рамки  таковых, уже существующих в реальных коммерческих продуктах. А для следующего за ним стандарта SQL3 были предложены еще более глубокие изменения. В  результате предложенные стандарты SQL2 и SQL3 оказались более противоречивыми, чем исходный стандарт. Стандарт SQL2 прошел процесс утверждения в ANSI и был окончательно принят в октябре 1992 года. В то время, как первый стандарт 1986 года занимает не более ста страниц, официальный стандарт SQL2 содержит около шестисот.

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

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

Хотя стандарт ANSI/ISO наиболее широко распространен, он не является единственным стандартом SQL. Европейская группа поставщиков X/OPEN также приняла SQL в качестве одного из своих стандартов для "среды переносимых приложений" на основе UNIX. Стандарты группы X/OPEN играют важную роль на европейском компьютерном рынке, где основной проблемой является переносимость приложений между компьютерными системами различных производителей. К несчастью, стандарт X/OPEN отличается от стандарта ANSI/ISO.

Кроме того, компания IBM включила SQL в свою спецификацию Systems Application Architecture (архитектура прикладных систем) и пообещала, что все ее продукты, очевидно, будут переведены на этот диалект SQL. Хотя данная спецификация и не оправдала надежд на унификацию линии продуктов компании IBM, движение в сторону унификации SQL в IBM продолжается. Система DB2 остается основной СУБД компании IBM для мэйнфреймов. Однако компания выпустила реализацию DB2 и для OS/2собственной операционной системы для персональных компьютеров, и для линии серверов и рабочих станций RS/6000, работающих под управлением UNIX. Таким образом, диалект DB2 языка SQL является мощным стандартом де-факто.

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

В технологии баз  данных существует важная область, которую  не затрагивают официальные стандарты. Это способность к взаимодействию с другими базами данных — методы, с помощью которых различные  базы данных могут обмениваться данными (как правило, по сети). В 1989 году несколько  поставщиков сформировали консорциум SQL Access Group специально для решения этой проблемы. В 1991 году консорциум опубликовал спецификацию RDA (Remote Database Access — удаленный доступ к базам данных). К несчастью, эта спецификация тесно связана с протоколами OSI, которые не смогли завоевать широкого признания, поэтому она оказывает на рынок незначительное влияние. Прозрачность взаимодействия между различными базами данных остается иллюзорной мечтой.

Тем не менее, второй стандарт от SQL Access Group имеет на рынке больший вес. В результате настойчивых требований компании Microsoft, консорциум SQL Access Group включил в стандарт SQL интерфейс вызовов функций. Полученная спецификация CLI (Call Level Interface), основанная на разработках компании Microsoft, увидела свет в 1992 году. В этом же году 
была опубликована собственная спецификация ODBC (Open Database Connectivity — взаимодействие с открытыми базами данных) компании Microsoft, основанная на стандарте CLI. Благодаря рыночной силе Microsoft и благословению, полученному "открытым стандартом" от SQL Access Group, ODBC оказался стандартом де-факто для интерфейсов доступа к базам данных на персональных компьютерах. Весной 1993 года компании Apple и Microsoft объявили о соглашении относительно поддержки ODBC в MacOS и Windows, что закрепило за этой спецификацией статус стандарта в обеих популярных средах с графическим пользовательским интерфейсом.

Информация о работе Управление реляционными базами данных.SQL