языком непосредственно, но очень сильно
последовательность транзакций, в пределах которой сохраняются
временные отношения), подключение к БД, динамический SQL. Наконец
стандартизованы отношения-каталоги БД, что вообще-то не связано с
языком непосредственно, но очень сильно влияет на реализацию.
Заметим, что в стандарте представлены три уровня языка - базовый,
промежуточный и полный. В течение нескольких лет после принятия
стандарта производители СУБД, утверждавшие совместимость своих
продуктов со стандартом, на самом деле в лучшем случае
поддерживали промежуточный уровень языка SQL-92 (естественно, с
собственными расширениями). Только в последних выпусках СУБД
ведущих производителей обеспечивается совместимость с полным
вариантом языка.
Наконец, одновременно с завершением работ по определению
стандарта SQL-92 была начата разработка стандарта SQL3. Общей
точкой зрения ведущих производителей СУБД является то, что
будущие продукты, обладая более развитыми возможностями, должны
быть совместимы с предыдущими выпусками. Хотя многие разработчики
и пользователи реляционных СУБД осознают наличие многих
неустранимых недостатков языка SQL, от него теперь уже невозможно
отказаться (как невозможно отказаться от использования языка Си в
процедурном программировании). Следовательно, нужен новый
стандарт языка, обеспечивающий такие очевидно необходимые
возможности как определяемые пользователями типы данных, более
развитые средства определения таблиц, наличие полного механизма
триггеров и т.д. Нужен именно стандарт, а не наличие развитых
частных версий языка, поскольку это выгодно и производителям и
пользователям СУБД. Почему же так затянулась его разработка?
Мне кажется, здесь сказываются несколько факторов. Во-первых,
объектные расширения языка выходят за пределы реляционной модели
данных, т.е. они лишаются классической теоретической базы.
Во-вторых, уже стандарт SQL-92 был очень объемным, а чем больше
язык, тем сложнее его развивать (вспомните, как долго готовился
стандарт языка Ада).Наконец, маркетинговая политика
компаний-производителей СУБД (как и других компаний) состоит в
том, чтобы убедить потенциальных покупателей в наличии уникальных
возможностей своего продукта. Поэтому они не могут ждать принятия
нового стандарта и вынуждены использовать частные расширения
языка. В целом ситуация несколько парадоксальна: появление нового
стандарта в основном зависит от специалистов ведущих компаний,
которые являются членами комитета SQL3, а текущая деятельность
компаний затрудняет работу этого комитета.
Тем не менее, я верю, что стандарт SQL3 рано или поздно появится
и будет реализован во всех развитых СУБД. Это выгодно всем.
Содержание Назад Вперед