МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Организация Web-доступа к базам данных с использованием SQL-запросов

    манипулирования с базами данных, обладающим средствами для реализации

    перечисленных выше возможностей. После появления на рынке двух пионерских

    СУБД – SQL/DS (1981 год) и DB2 (1983 год) – он приобрел статус стандарта де-

    факто для профессиональных реляционных СУБД. В 1987 году SQL стал

    официальным международным стандартом языка баз данных, а в 1992 году вышла

    вторая версия этого стандарта.

    Важной отличительной чертой SQL является его независимость от

    компьютерной среды (операционной системы и архитектуры). Такой язык назвали

    SQL – это аббревиатура структурированного языка запросов (Structured Query

    Language). SQL является инструментом, предназначенным для обработки и

    чтения информации, содержащейся в компьютерной базе данных.

    При создании языка запросов нового поколения разработчики старались

    сделать его простым и легким в освоении инструментом для обращения к БД. В

    итоге SQL стал слабо структурированным языком, особенно по сравнению с

    такими языками, как С или Pascal, и в то же время достаточно мощным и

    относительно легким для изучения.

    1.3. Стандарты SQL. Сегодняшнее состояние.

    Одним из наиболее важных шагов на пути к признанию SQL на рынке стало

    появление стандартов на этот язык. Обычно при упоминании стандарта SQL

    имеют в виду официальный стандарт, утвержденный Американским институтом

    национальных стандартов (American National Standards Institute — ANSI) и

    Международной организацией по стандартам (International Standards

    Organization— ISO). Однако существуют и другие важные стандарты SQL,

    включая SQL, реализованный в системе DB2 компании IBM, и стандарт X/OPEN

    для SQL в среде UNIX.

    Работа над официальным стандартом SQL началась в 1982 году, когда ANSI

    поставил перед своим комитетом ХЗН2 задачу по созданию стандарта языка

    реляционных баз данных. Вначале в комитете обсуждались достоинства

    различных предложенных языков. Однако поскольку к тому времени SQL уже стал

    фактическим стандартом, комитет ХЗН2 остановил свой выбор на нем и занялся

    стандартизацией SQL.

    Разработанный в результате стандарт в большой степени был основан на

    диалекте SQL системы DB2, хотя и содержал в себе ряд существенных отличий

    от этого диалекта. После нескольких доработок, в 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.

    Хотя стандарт 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

    является мощным стандартом де-факто.

    В технологии баз данных существует важная область, которую не

    затрагивают официальные стандарты. Это способность к взаимодействию с

    другими базами данных — методы, с помощью которых различные БД могут

    обмениваться информацией (как правило, по сети). В 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 вызвало довольно много восторженных заявлений о

    переносимости SQL и использующих его приложений. На самом деле пробелы в

    стандарте SQL-89 и различия между существующими диалектами SQL достаточно

    значительны, и при переводе приложения под другую СУБД его всегда

    приходится модифицировать. Эти отличия, большинство из которых устранено в

    стандарте SQL2, включают в себя:

    Коды ошибок. В стандарте SQL-89 не определены коды, которые возвращают

    операторы SQL при возникновении ошибок, и в каждой из коммерческих

    реализаций используется собственный набор таких кодов. В стандарте SQL2

    определены стандартные коды ошибок.

    Типы данных. В стандарте SQL-89 определен минимальный набор типов

    данных, однако, в нем отсутствуют некоторые из наиболее распространенных и

    полезных типов, например символьные строки переменной длины, дата и время,

    а также денежные единицы. В стандарте SQL2 упомянуты эти типы данных,

    однако, отсутствуют «новые» типы данных, такие как графические и

    мультимедийные объекты.

    Системные таблицы. В стандарте SQL-89 умалчивается о системных таблицах,

    в которых содержится информация о структуре самой базы данных. Поэтому

    каждый поставщик создавал собственные системные таблицы, и их структура

    отличается даже в четырех реализациях SQL компании IBM. Системные таблицы

    стандартизированы в SQL2.

    Интерактивный SQL. В стандарте определен только программный SQL,

    используемый прикладной программой, но не интерактивный SQL. Например,

    оператор select, предназначенный для выполнения запросов к базе данных в

    интерактивном режиме, в стандарте отсутствует.

    Программный интерфейс. В первом стандарте определен абстрактный способ

    использования SQL в программах, написанных на таких языках

    программирования, как COBOL, FORTRAN и другие. Этот способ не используется

    ни в одном коммерческом продукте, а в существующих программных интерфейсах

    имеются значительные отличия. В стандарте SQL2 определен интерфейс

    встроенного SQL для популярных языков программирования, но не интерфейс

    вызова функций.

    Динамический SQL. В стандарте SQL-89 не описаны элементы SQL,

    необходимые для разработки приложений общего назначения, таких как

    генераторы отчетов и программы создания и выполнения запросов. Однако эти

    элементы, известные под названием динамический SQL, имеются почти во всех

    СУБД и в различных системах значительно отличаются. В SQL2 входит стандарт

    динамического SQL.

    Семантические отличия. Поскольку некоторые элементы определены в

    стандартах как зависящие от реализации, может возникнуть ситуация, когда в

    результате выполнения одного и того же запроса в двух совместимых СУБД

    будут получены два различных набора результатов. Отличия результатов

    обусловлены различиями в обработке значений null, разными агрегатными

    функциями и несовпадением процедур удаления повторяющихся строк.

    Последовательность сравнения. В стандарте SQL-89 не упоминаются

    последовательности сравнения (сортировки) символов, хранящихся в базе

    данных. Результаты запроса с сортировкой будут отличаться при выполнении

    этого запроса на персональном компьютере (с кодировкой ASCII) и на

    мэйнфрейме (с кодировкой EBCDIC). Стандарт SQL2 позволяет программе или

    пользователю указывать требуемую последовательность сортировки.

    Структура базы данных. В стандарте SQL-89 определен SQL, который

    используется уже после того, как база данных была открыта и подготовлена к

    работе. Детали наименования баз данных и первоначального подключения к ним

    сильно отличаются и несовместимы. Стандарт SQL2 в некоторой степени

    унифицирует этот процесс, но не может полностью ликвидировать все отличия.

    Вопреки перечисленным различиям, в начале 90-х годов стали появляться

    коммерческие программы, реализующие переносимость приложений между

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

    СУБД требуется специальный конвертер, который генерирует код в соответствии

    с определенным диалектом SQL, выполняет преобразование типов данных,

    транслирует коды ошибок и т.д. «Прозрачная» переносимость между различными

    СУБД, использующими SQL, является основной целью стандарта SQL2 и протокола

    ODBC. Однако повсеместный, «прозрачный» и унифицированный доступ к базам

    данных SQL остается делом будущего.

    Технологии, обеспечивающие сетевой доступ к базам данных

    Всемирная Паутина недаром так быстро завоевала широкую популярность

    среди пользователей Internet, в мире бизнеса, науки, политики и т. д.

    Основные достижения Web – это простота опубликования информации в сети,

    удобство и сравнительная унифицированность доступа к документам, наличие на

    сегодняшний день достаточно развитых средств поиска. Однако в целом способы

    представления, хранения и поиска информации в WWW относятся к категории

    информационно-поисковых систем (ИПС). Хотя хранилища данных в узлах Web

    иногда называют базами данных, этот термин в данном случае можно

    использовать только в самом широком смысле. Исторически ИПС применялись для

    хранения слабоструктурированной и редко изменяемой информации. Базы данных

    в узком смысле – это хранилища структурированной, изменяемой информации,

    причем информация в базе данных должна всегда находиться в согласованном

    состоянии.

    С равным успехом можно хвалить и ругать Web. Можно хвалить Всемирную

    Паутину за то, что, не выходя из дома, вы можете побывать в любой точке

    земного шара и посмотреть, что же там происходит. Можно ругать Web за то,

    что трудно найти действительно актуальную информацию (обычно она

    устаревшая), за то, что хранилища информации содержат очень много «мусора»,

    опубликованного непонятно из каких соображений. Но в любом случае интерфейс

    действительно удобен.

    Ситуация с базами данных кардинально отличается. Именно базы данных

    содержат основные знания человечества. В конце двадцатого века с появлением

    технологии баз данных мы накопили больше информации, чем за всю предыдущую

    историю. Вся беда в том, что доступ к базам данных (даже к тем, которые

    содержат полностью открытую информацию) ограничен. Чтобы получить

    интересующую его информацию, пользователь должен иметь физический доступ к

    соответствующей СУБД, быть в курсе модели данных, знать схему базы данных

    и, наконец, уметь пользоваться соответствующим языком запросов. Что

    касается языка запросов, то проблему частично решает протокол ODBC,

    позволяющий направлять ограниченный набор операторов SQL (с промежуточной

    обработкой соответствующим драйвером ODBC) к произвольному серверу баз

    данных. Но это только частичное решение, поскольку оно никак не помогает

    пользователю понять схему базы данных (даже в терминах SQL) и, конечно, не

    способствует созданию унифицированного интерфейса конечного пользователя

    (нельзя же заставить всех работать в строчном режиме на языке SQL).

    Итак, мы имеем удобные средства разработки распределенных в Internet

    гипермедийных документов, простые, удобные, развитые и унифицированные

    интерфейсы для доступа к информации WWW. Кроме того, мы имеем большое

    количество ценных баз данных, управляемых разнородными СУБД, а также

    желание сделать эти базы доступными всем людям (в случае публичных баз

    данных) или членам территориально-распределенной корпорации (в случае

    корпоративных баз данных). Возникает естественное желание скрестить эти две

    технологии и обеспечить доступ к базам данных в интерфейсе Web. Еще два

    года назад существовали только идеи такого скрещивания и не очень тщательно

    разработанные подходы к реализации. На сегодняшний день такие механизмы уже

    существуют и используются.

    1 Принципы работы SQL-сервера

    SQL является инструментом, предназначенным для обработки и чтения данных,

    содержащихся в компьютерной базе данных. SQL (структурированный язык

    запросов) как следует из названия, является языком программирования,

    который применяется для организации взаимодействия пользователя с базой

    данных. На самом деле SQL работает только с базами данных одного

    определенного типа, называемых реляционными.

    Рисунок 2.1

    На рисунке 2.1 изображена схема работы SQL. Согласно этой схеме, в

    вычислительной системе имеется база данных, в которой хранится важная

    информация. Если БД относится к сфере бизнеса, то в ней может храниться

    информация о материальных ценностях, выпускаемой продукции, объемах продаж

    и зарплате. В базе данных на персональном компьютере может храниться

    информация о выписанных чеках, телефонах и адресах или информация,

    извлеченная из более крупной вычислительной системы. Компьютерная

    программа, которая управляет базой данных, называется системой управления

    базой данных, или СУБД.

    Если пользователю необходимо прочитать данные из базы данных, он

    запрашивает их у SQL с помощью СУБД. SQL обрабатывает запрос, находит

    требуемые данные и посылает их пользователю. Процесс запрашивания данных и

    получения результата называется запросом к базе данных: отсюда и название —

    структурированный язык запросов.

    Однако это название не совсем соответствует действительности. Cегодня SQL

    представляет собой нечто гораздо большее, чем простой инструмент создания

    запросов, хотя именно для этого он и был первоначально предназначен.

    Несмотря на то, что чтение данных по-прежнему остается одной из наиболее

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

    функциональных возможностей, которые СУБД предоставляет пользователю, а

    именно:

    . Организация данных. SQL дает пользователю возможность изменять структуру

    представления данных, а также устанавливать отношения между элементами

    базы данных.

    Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.