Предисловие
В этом курсе будут рассмотрены основные возможности стандартного языка доступа к базам данных SQL. Почему эта тема кажется такой важной? Ответ очевиден. Как и в случае использования любого стандартизованного средства, нужно понимать, что обязательно должны делать поставщики, а какие предлагаемые ими средства являются дополнительными. Если вы не хотите попасть в плен к некоторому конкретному производителю, нужно пользоваться только стандартными средствами. Особенно важно то, что язык баз данных SQL является повсеместно распространенным. Невозможно найти компанию, производящую развитые средства управления базами данных, основной интерфейс доступа к базам данных которой основывался бы на другом языке. Невозможно создать информационную систему, в которой не использовался бы язык SQL. Если имеется желание сделать эту информационную систему более или менее не зависящей от первоначального поставщика аппаратуры и/или базового программного обеспечения, необходимо пользоваться согласованным набором стандартов, в состав которых обязательно будет входить стандарт языка SQL.
Курс организован следующим образом. В первой главе приводится введение, в котором обсуждаются история языка SQL, начиная с экспериментального проекта компании IBMSystemR, этапы стандартизации языка, особенности текущих реализаций, проблемы применения стандартов языка при разработке прикладных информационных систем.
Вторая глава посвящена первому международному стандарту языков баз данных - SQL/89. Описывается общая структура стандарта и его основные составляющие. Далее обсуждаются используемые в SQL/89 типы данных. Следующий набор тем относится к средствам формулирования запросов, включая особенности так называемого "встроенного SQL". После этого речь идет о возможностях определения схемы базы данных, включая средства определения таблиц, столбцов, ограничений целостности, представлений, привилегий доступа. Рассматриваются два базовых способа использования языка SQL при разработке прикладных программ - встроенный SQL и язык модулей. Наконец, в завершение главы излагаются основные принципы формулировки операторов манипулирования данными ("вставить новую строку в таблицу", "удалить существующую строку", "изменить содержимое существующей строки").
В третьей главе описываются основные свойства SQL/92. Глава начинается с введения в основные понятия SQL/92: типы данных, домены, ограничения целостности, каталоги базы данных, привилегии, транзакции, сессии и т.д. Вслед за этим обсуждаются возможные виды скалярных выражений: арифметические выражения, выражения над строками, выражения с датами и временем, выражения с переключателем. Далее рассматриваются способы построения запросов, которые в стандарте SQL/92 допускают гораздо больше способов формулировки, чем в SQL/89. В отдельном разделе обсуждаются допустимые условия выборки. В SQL/92 по сравнению с SQL/89 имеется существенно более развитый набор средств определения и манипулирования схемой базы данных. Рассмотрению этих средств посвящен очередной раздел. В следующем разделе главы описываются средства манипулирования данными в соответствии со стандартом SQL/92: операторы, связанные с курсором, одиночные операторы, возможности работы со временными таблицами. Далее обсуждаются способы управления транзакциями, сессиями и подключениями к базам данных. После этого говорится о встроенном, динамическом и интерактивном подъязыках SQL. В заключение главы рассказывается о трех уровнях языка SQL, определенных в стандарте (это важная часть курса, поскольку на сегодня нет ни одной полной реализации языка).
В четвертой главе курса приводится обсуждение сравнительных характеристик языков SQL/89 и SQL/92, а также проблемы частичной несовместимости этих языков. В заключение курса рассматриваются некоторые свойства, которые ожидается увидеть в следующем стандарте - SQL/3.
Содержание |
Вперед