2. Объекты данных и объекты манипулирования данными в модели базы данных. Структурированный язык запросов SQL. Общая характеристика групп операторов (подъязыки). Типы данных в SQL.

В модели СУБД выделяют следующие объекты: 1) собственно данные- представляются в виде отношений; 2) индексы - специальные объекты, предназначенные для быстрого поиска элементов данных; 3) триггер - специальная процедура, связанная с таблицей или с отдельным полем таблицы (Триггеры выполняются при обращении к одному отношению или атрибуту. Триггер можно использовать для контроля значений в записываемых отношениях или для выполнения действий, связанных с обращениями к отношению); 4) представления - отношения или таблица, не хранимая в БД, являющаяся промежуточным результатом, полученном в результате действия над некоторыми отношениями.

Объекты манипулирования данными: 1) Запрос - обращение к БД, инициированное пользователем или приложением, не оказывающее влияние на схему БД, но меняющая её содержание, выполняющее чтение данных; 2) Транзакция - запросы и другие объекты управления данными, сгруппированные в процессы, которые должны выполняться атомарным образом и отдельно друг от друга (транзакция имеет свойство устойчивости - результат каждой транзакции должен быть зафиксирован в БД, даже при выходе системы из строя).

Дополнительные объекты (обеспечивают интерфейс пользователя с объектами БД) : 1) форма - объект построенный на основе стандартных вызываемых компонент и обеспечивающий возможность ввода данных и корректировки в отношениях; 2) отчёт - объект позволяющий рассматривать результаты запроса с выполнением дополнительных итоговых вычислений и формированием итоговых данных.

Структурированный язык запросов SQL. Общая характеристика.

SQL содержит набор стандартных операторов доступа к данными.

SQL (Structured Query Language) - язык программирования, предназначенный для выборки и обработки информации, содержащейся в реляционной базе данных. SQL является единственным стандартным языком для работы с реляционными базами данных. Существуют следующие версии SQL: SQL1, SQL2, SQL3 расширяет SQL2 за счет включения объектно-реляционных инструментов и новых функциональных возможностей. Существуют версии SQL предлагаемые основными поставщиками СУБД, они, как правило, удовлетворяют требованиям ANSI, реализуют многие возможности SQL2 и имеют некоторые особенности.

SQL - это слабо структурированный язык, особенно по сравнению с такими высокоструктурированными языками, как С, Pascal или Java. В нем нет инструкции IF..THEN для проверки условий, нет инструкции GOTO для организации переходов и нет инструкций DO или FOR для создания циклов.

SQL является языком реляционных баз данных, его основа реляционная алгебра и реляционное исчисление.

SQL обеспечивает независимость от конкретных СУБД: реляционную базу данных и программы, которые с ней работают, можно перенести с одной СУБД на другую с минимальными доработками и переподготовкой персонала. Все ведущие поставщики СУБД используют SQL.

Язык SQL является интерпретируемым языком.

Инструкции SQL могут использоваться самостоятельно в рамках СУБД, встраиваются в базовый язык (C/C++), используемый при разработке программных модулей, предназначенных для работы БД, или используются в качестве аргументов специальных функций (API), обеспечивающих передачу инструкций SQL базе данных из программ на C/C++ или Java.

Существуют также диалекты SQL позволяющие создавать самостоятельные программные модули, например, PL/SQL и Transact-SQL. В этих диалектах стандартный SQL дополнен инструкциями IF..THEN, GOTO и др., однако эти диалекты не получили статус стандарта и являются частными разработками отдельных компаний (PL/SQL применяется в СУБД Oracle, a Transact SQL - в СУБД MS SQL Server).

SQL не является отдельным программным продуктом. SQL - это неотъемлемая часть СУБД ее Манипуляционная часть, инструмент, с помощью которого осуществляется связь пользователя с БД.

Различают несколько групп операторов (подъязыки):

I. Язык определения данных DDL. К языку запросов относятся операторы: CREATE TABLE - создания нового отношения; DROP TABLE - удаление отношения; ALTER TABLE - изменение структуры таблицы; CREATE VIEW - создания представления; DROP VIEW - удаления представления; CREATE INDEX - создание индексов.

II. Операторы манипулирования данными DML. Они включают три оператора: DELETE - удаление одного или нескольких кортежей; INSERT - вставка одного или нескольких кортежей; UPDATE - обновления значения одного или нескольких атрибутов отношения.

III. Язык запросов DQL. Он выполняет один оператор SELECT.

IV. Средства управления транзакциями. Операторы: COMMIT - оператор завершения транзакция и фиксирование нового состояния; ROLLBACK - SAVEPOINT - оператор отката, возврат базы к предшествующему до начала выполнения группы операторов, обобщенных в транзакцию; SAVEPOINT - сохранение промежуточного состояния БД, возврат к данному промежуточному состоянию.

V. Средства администрирования данными. Данная группа операторов позволяет задавать и изменять пароль для входа в БД, предоставлять право доступа для выполнения операций над объектами БД и решать их, сохранять данные в определённых областях хранения.

Типы данных В SQL

Используемы в SQL типы данных аналогичны применяемым в других языках программирования: char(n) - символьный длтнной n символов; varchar(n) - символьный переменной длинны, n - максимально возможная длинна; bit(n); varingbit(n); logical - логический тип, в отличии от логического типа в языках программирования кроме возможных значений false/true может иметь значение unknown (неопределенно), соответственно изменены таблицы истинности базовых операций (false считается наименьшим значением true наибольшим, unknown - промежуточное значение ); int; real(float) - вещественный, возможно использование для задания типа, как имени real, так и float; data; time.

Hosted by uCoz