Языковые средства СУБД: ЯОД и ЯМД
Современная СУБД содержит в своем составе программные средства создания баз данных, средства работы с данными и дополнительные сервисные средства (рис. 7.2).
Рис. 7.2. Состав СУБД
Для работы с базами данных используются специальные языки. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков.
Чаще всего выделялись два языка: ЯОД(Язык Описания Данных или Язык Определения Схемы БД) и ЯМД (Язык Манипулирования Данными). ЯОД служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. ЯМД содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.
Таким образом, с помощью средств создания БД проектировщик, используя ЯОД, переводит логическую модель БД в физическую структуру, а на ЯМД разрабатывает программы, реализующие основные операции с данными (в реляционных БД это реляционные операции). При проектировании привлекаются визуальные средства, т.е. объекты и программа-отладчик, с помощью которых соединяются и тестируются отдельные блоки разработанной программы управления конкретной БД.
Средства работы с данными предназначены для пользователя. Они позволяют установить удобный, как правило, графический многооконный интерфейс с пользователем, создать необходимую функциональную конфигурацию экранного представления выводимой и вводимой информации (цвет, размер и количество окон, пиктограммы и т.д.), производить операции с данными, манипулируя текстовыми и графическими объектами.
Сервисные средства позволяют при проектировании и использовании БД привлечь другие системы. Например, воспользоваться текстом из редактора Word или таблицей из табличного процессора Excel, или обратиться к сетевому серверу.
В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных.
Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language – Структурированный Язык Запросов).
Язык SQL сочетает средства ЯОД и ЯМД, т.е. позволяет определять схему реляционной БД и манипулировать данными. Для «диалекта» SQL, разработанного компанией Microsoft, рассмотрим примеры, поясняющие основные операторы (инструкции) языка [26].
Пример 1. Создать таблицу «Сотрудник» с полями: Табельный номер, ФИО, Оклад, Дата приема на работу, используя инструкцию CREATE TABLE.
Это инструкция ЯОД формата:
CREATE TABLE ИмяТабл (Поле1 тип [(длина поля)], Поле2 тип [(длина поля)]…);
Для создания таблицы «Сотрудник»:
CREATE TABLE Сотрудник (ТабНомер TEXT (6), ФИО TEXT (15), Оклад INTEGER, Дата DATETIME);
Пример 2. Выбрать из таблицы «Сотрудник» сотрудника с табельным номером, равным 1251, используя инструкцию SELECT.
Это инструкция ЯМД формата:
SELECT <список полей>
FROM ИмяТабл
WHERE <условие отбора>;
В примере выбираются все поля таблицы, что обозначается знаком *, а условие отбора заключается в скобки:
SELECT *
FROM Сотрудник
WHERE (ТабНомер=1251);
При этом именование объектов БД (для реляционной БД наименование таблиц и полей) поддерживается на языковом уровне таким образом, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и полей.
Язык SQL содержит специальные средства определения ограничений целостности БД. Ограничения целостности так же хранятся в специальных таблицах-каталогах. Обеспечение контроля целостности БД производится на языковом уровне, т.е. при компиляции операторов модификации БД (вставке, удалении, обновлении записи) компилятор SQL на основании имеющихся в БД ограничений целостности генерирует соответствующий программный код.
Специальные операторы языка SQL позволяют определять так называемые представления БД, фактически являющиеся хранимыми в БД запросами (результатом любого запроса к реляционной БД является таблица) с поименованными столбцами.
Наконец, авторизация доступа к объектам БД производится также на основе специального набора операторов SQL. Для выполнения операторов SQL разного вида пользователь должен обладать различными полномочиями. Пользователь, создавший таблицу БД, обладает полным набором полномочий для работы с этой таблицей. Полномочия пользователей описываются в специальных таблицах-каталогах, и контроль полномочий поддерживается на языковом уровне.
Диапазон в запросах, помимо значения ALL (по умолчанию) может принимать:
для отдельной таблицы – DISTINCT – указывает на исключения из результирующего запроса, содержащего не все поля, повторяющиеся записи;
DISTINCTROW – используется, как правило, для связанных таблиц в запросах, содержащих не все поля таблиц, опускает целиком повторяющиеся записи;
TOP n – используется, как правило, при наличии сортировки:
ORDER BY… – выводит n-первых отсортированных записей:
ORDER BY… WHERE <условие>
Если не использовать ORDER BY, то система возвратит n-произвольных записей.
Дата добавления: 2015-08-08; просмотров: 1499;