Языки управления БД.
Языки управления БД могут
быть разделены на 2 класса:
1)
Процедурные языки
2)
Непроцедурные
Особенностью процедурных
языков является то что они основаны на обращение к конкретным записям таблицы. В
процедурных языках вводится понятие текущая строка таблицы – соответственно все
операции и процедуры выполняются над текущей строкой.
Вводя понятие текущей строки мы не явно вводим порядок в
таблицу, что противоречит принципам РБД согласно которым…
Т.К. появляются последующие и
предыдущие записи, а следовательно в таблице появляется порядок.
Примером процедурного языка является язык FoxPro мы вводим понятие указателя, который может
передвигаться по таблице. Таблица в которой введено понятие текущей строки-курсора
называют курсором. В FoxPro все
временные таблицы называются курсорами.
Непроцедурные языки
оперируют понятием набора строк. Набор строк формируется на основе
содержимого каждой из строк, но никак не связан с положение строки в таблице,
что находится в полном соответствии с принципами РБД.
Типичный пример SQL (структурированный
язык запросов) Язык SQL является стандартом принятым
всеми Реляционными СУБД имеются 3 стандарта.
SQL1 (SQL89)
SQL2 (SQL92)
SQL3 (SQL99)
Основной особенностью языка SQL является то что он не содержит в себе средств обычных
алгоритмических языков (циклы, переменные, процедуры и т.д.) По этой причине
язык SQL
интегрируется с каким-либо их
алгоритмических языков .
Существует три способа интеграции
1)
Язык SQL входит в какой-либо процедурный язык как его часть.
Становится его подмножеством пример FoxPro.
2) Язык SQL
дополняется до возможностей
алгоритмического языка. Transact SQL, MS SQL Server.
3)
Заключается в том
что процедурный язык дополняется возможностью выполнять команды на языке SQL в виде символьных констант
Язык SQL можно разделить на 3 класса DML и DDL и DCL.
DML язык манипулирования
DDL язык описания данных
Большинство команд DDL можно свести к 3 командам
1) create – создать объект
2) alter – изменить объект
3) drop – удалить объект.