Программирование >>  Хронологические базы данных 

1 ... 35 36 37 [ 38 ] 39 40 41 ... 348


Язык SQL чрезмерно избыточен в том смысле, что если не все, то большинство простых запросов могут быть выражены различными способами. В статьях это показано на примерах; также в них обсуждаются возможные последствия избыточности языка SQL. В частности показано, что предложения GROUP BY, HAVING и переменные диапазонов можно с пользой исключить из языка, не потеряв при этом никаких функциональных возможностей (то же самое справедливо и для конструкции IN <подзапрос> ).

Замечание. Все перечисленные выше конструкции поясняются в главе 7 и приложении А.

4.19. Date C.J., Darwen Н, А Guide to the SQL Standard (4th edition). - Reading, Mass.: Addison-Wesley, 1997.

Полное руководство по стандарту SQL/92, включая средства CLI и PSM. В частности, в приложении D приведены многие аспекты стандарта, которые на сегодняшний день определены неадекватно или даже неверно .

Замечание. Публикации [4.4], [4.27] также являются руководствами по стандарту SQL/92.

4.20. Date C.J. and Colin J.W. A Guide to DB2 (4th edition). - Reading, Mass.: Addison-Wesley, 1993.

В книге дается обширный и детальный обзор СУБД DB2 компании IBM (по состоянию на 1993 год) и некоторых ее сопутствующих продуктов. СУБД DB2, как и SQL/DS, была основана на системе System R.

4.21. Fishman N. SQL du Jour. DBP&D. - 1997. - 10, № 10.

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

4.22. International Organization for Standardization (ISO): Database Language SQL. Document ISO/IEC 9075, 1992. Также доступно как American National Standards Institute (ANSI) Document ANSI X3.135-1992.

Оригинальное определение стандарта ISO/ANSI SQL/92 (также называемое среди знатоков ISO/IEC 9075 или просто ISO 9075). Первоначальный документ, состоящий из одной части, был со временем расширен до неофаниченной серии отдельных частей под общим названием Information Technolody- Database Languages - SQL . Ha время написания книги были определены следующие части (хотя, конечно, не все завершены). Часть 1. Структура (SQL/Framework) Часть 2. Основы (SQL/Foundation) Часть 3. Интерфейс на уровне вызова (SQL/CLI) Часть 4. Постоянные хранимые модули (SQL/PSM) Часть 5. Связь с базовым языком (SQL/Bindings) Часть 6. Специализация ХА (SQL/Transaction) Часть 7. Хронологические функции (SQL/Temporal) Часть 8. (Этой части нет)

Часть 9. Управление внешними данными (SQL/MED) Часть 10. Связь с объектным языком (SQL/OLB)



Проекты SQL3, которые, как ожидается, будут утверждены в 1999 году, логически будут входить в части 1, 2, 4 и 5. Рабочие черновики, в которых описаны эти проекты, можно найти на Web-узле ftp: jerry.ece.umassd.edu/isowgS/dbl/BASEdocs/public.

Замечание. Стоит упомянуть, что, хотя язык SQL часто считается международным стандартом реляционных баз данных, в документе стандарта это не утверждается; на самом деле в документе вообще не используется термин реляционный ! (Как говорилось ранее в сноске, в нем не упоминается и термин база данных .)

4.23. International Organization for Standardization (ISO): Information Technology - Database Languages - SQL - Technical Corrigendum 2. Document ISO/IEC 9075:1992/СОГ.2:1996(E).

Содержит большое количество исправлений и дополнений к начальной версии [4.22]. К сожалению, все исправления и дополнения практически не устраняют ни одной из проблем, указанных в [4.19].

4.24. Raymond A.L. and Daudenarde J.J. SQL and its Applications. - Englewood Cliffs, N.J.; Prentice-Hall, 1991.

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

4.25. Raymond A.L. and Nilsson J.F. An Access Specification Language for Relational Data Base System IBM J.R&D. - May, 1979. - 23, № 3.

В публикации подробно рассматриваются вопросы, связанные с техникой компиляции в системе System R [4.11], [4.25], [4.26]. Для любого данного SQL-оператора оптимизатор системы генерирует профамму на внутреннем языке ASL (Access Specification Language). Этот язык используется как интерфейс между оптимизатором и генератором кодов. (Генератор кодов, как следует из его названия, преобразует программу на языке ASL в машинный код.) В языке ASL есть, например, операторы scan (поиск) и insert (вставить), применяемые к таким объектам, как индексы и хранимые файлы. Язык создавался, чтобы весь процесс трансляции стал управляемым. Это достигалось путем разбиения процесса трансляции на множество четко определенных подпроцессов.

4.26. Raymond A.L. and Bratford W.W. Compilation of High-Level Data Language. IBM Research Report RJ2598. - August, 1979.

В системе System R впервые была применена идея компиляции запросов перед их выполнением и рекомпиляции запросов, если физическая структура базы данных значительно изменялась на каком-то переходном этапе. В этой статье подробно описывается механизм компиляции и рекомпиляции, но не затрагиваются вопросы оптимизации (эта актуальная тема освещается в [17.34]).

4.27. Melton J., Simon A.R. Understanding The New SQL: A Complete Guide. - San Mateo, Calif: Morgan Kaufmann, 1993.

Руководство no стандарту SQL/92 (как представлена сама книга). Один из авторов (Melton) был редактором первоначальных спецификаций стандарта SQL/92 [4.22].

4.28. Reisner Р., Воусе R.F., Chamberlin D.D. Human Factors Evaluation of Two Data Base Query Languages: SQUARE and SEQUEL Proc. NCC 44. ~ Anaheim, Calif; Montvale, N.J.: AFIPS Press, May, 1975.



Язык SEQUEL [4.8], предшественник языка SQL, был разработан на базе более раннего языка SQUARE. Эти два языка, в основном, совпадали, но в языке SQUARE использовался математический синтаксис, а в языке SEQUEL - ключевые слова из английского языка, такие как SELECT, FROM, WHERE и т.д. В статье приведены отчеты по ряду исследований, в которых изучалась практичность этих языков; в качестве объектов использовались студенты колледжа. В результате такого исследования в язык SEQUEL были внесены некоторые изменения [4.9].

4.29. Rozenshtein D., Abramovich А., Birger Е. Optimizing Transact-SQL: Advanced Programming Techniques. - Fremont, Calif.: SQL Forum Press, 1995. Язык Transact-SQL- это диалект языка SQL, который поддерживается такими продуктами, как Sybase и SQL Server. В этой книге рассматривается ряд приемов программирования для языка Transact-SQL, которые основаны на использовании характеристических функций (определенных авторами как средства, позволяю-шие программистам кодировать логические условия в виде... выражений в предложениях SELECT, WHERE, GROUP BY и SET). Хотя эти идеи выражены в терминах языка Transact-SQL, на самом деле они имеют более широкую область применения. Замечание. Необходимо отметить, что слово optimizing , которое входит в название книги, не имеет отношения к оптимизатору СУБД. Напротив, здесь подразумевается оптимизация, которая может выполняться самими пользователями вручную.

Ответы к некоторьш упражнения]

4.L CREATE TABLE S

( St CHAR(5),

SNAME CHAR(20), STATUS NUMERIC(5), CITY CHAR(15), PRIMARY KEY ( St ) ) ;

CREATE TABLE P

( Pt CHAR(6),

PNAME CHAR(20), COLOR CHAR(6), WEIGHT NUMERIC(5,1), CITY CHAR(15), PRIMARY KEY ( Pt ) ) ;

CREATE TABLE J

( Jt CHAR(4),

JNAME CHAR(20),

CITY CHAR(15), PRIMARY KEY ( Jt ) ) ;

CREATE TABLE SPJ

( St CHAR(5),

Pt CHAR(6),



1 ... 35 36 37 [ 38 ] 39 40 41 ... 348

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика