Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретические основы реляционных баз данных. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
936 Кб
Скачать

- 15 -

информацией, обычно по сети. В 1991 году консорциум опубликовал спецификацию RDA (Remote Database Access), которая была тесно связана с сетевыми протоколами OSI, которые позднее были вытеснены протоколами TCP/IP, поэтому она никогда не была широко реализована.

Во втором стандарте SQL Access Group уделил внимание интерфейсу уровня вызовов. Спецификация CLI (Call Level Interface - интерфейс уровня вызовов) появилась в 1992 году. В этом же году был опубликован и протокол ODBC (Open Database Connectivity - открытый доступ к базам данных) компании Microsoft, основанный на спецификации CLI. В 1995 году, с публикацией стандарта SQL/Call Level Interface, интерфейс ODBC стал стандартом ANSI/ISO.

2.2.3. JDBC и серверы приложений

Стремительный рост популярности Интернета привел к дальнейшему развитию стандартов обращения к базам данных, с тем чтобы они поддерживали работу с объектно-ориентированным языком программирования Java. Java стал, по сути, стандартным языком для создания интернет-приложений, работающих на серверах приложений на базе Java. Компания Sun Microsystems, разработчик Java, приложила немалые усилия по стандартизации применения Java для серверов приложений в спецификации Java2 Enterprise Edition (J2EE). J2EE включает Java Database Connectivity (JDBC) в качестве стандарта доступа к реляционным базам данных из Java. В отличие от доступа к базам данных из языка программирования С, где ODBC многие годы предшествовали интерфейсы уровня вызовов конкретных баз данных, стандарт JDBC был разработан относительно рано, на пике роста популярности Java. В результате частные интерфейсы для подключения к Java так и не появились, и единственным стандартом SQL-доступа со стороны Java стал JDBC.

2.3. SQL и переносимость

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

Типы данных. В стандарте SQL определен достаточно широкий набор типов данных, однако производители постоянно добавляют

- 16 -

новые типы. Даже старые типы данных могут помешать переносимости — например, специфичный для Oracle тип данных NUMBER широко используется для представления числовых данных в базах данных Oracle, и при этом только в них.

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

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

Программный интерфейс. В раннем стандарте SQL определен абстрактный способ использования SQL в приложениях, написанных на таких языках программирования, как COBOL, С, FORTRAN и другие, который не был широко принят сообществом программистов. Стандарт SQL/CLI 1995 года окончательно определил программный доступ к SQL, но к тому времени коммерческие СУБД уже популяризовали собственные интерфейсы и внедрили их в сотни тысяч пользовательских приложений и прикладных пакетов. Хотя в настоящее время стандартные API и широко поддерживаются, большинство производителей баз данных продолжают предоставлять собственные интерфейсы, обеспечивающие более высокую производительность и более богатую функциональность, побочным действием которых является привязка к конкретной базе данных.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]