Главная страница
Навигация по странице:

  • ODMG93

  • Операторы определения данных DDL

  • Операторы манипулирования данными (

  • Язык запросов Data Query Language (DQL)

  • Средства управления транзакциями

  • Средства администрирования данных

  • Программный

  • ПЛЕЩ. Учебное пособие содержит


    Скачать 3.78 Mb.
    НазваниеУчебное пособие содержит
    АнкорПЛЕЩ.docx
    Дата29.06.2018
    Размер3.78 Mb.
    Формат файлаdocx
    Имя файлаПЛЕЩ.docx
    ТипУчебное пособие
    #20888
    страница13 из 20
    1   ...   9   10   11   12   13   14   15   16   ...   20

    1.7. Стандартизация баз данных


    В области информатики работает более 250 подкомитетов официальных стандартизирующих организаций. Приведем основные стандарты.

    SQL 2008  расширение SQL92 возможностей управления хранимыми процедурами, объектноориентированными таблицами, средствами определения типов и методов доступа к ним.

    ODMG93 - обеспечивает независимость прикладных программ от систем управления объектными базами (СУОБД).

    CORBA  управление взаимодействием клиентов и серверов в распределенной сетевой среде с различными типами ОС и компьютеров.

    SSA (IBM)  обеспечивает переносимость операционных систем.

    ODBC, ADO (Microsoft), BDE (Borland)  доступ к базам данных с различными СУБД из прикладных программ (для BDE  разработанных в Delphi).

    1.8. Язык SQL

    1.8.1. Введение в SQL


    SQL (Structured Query Language) – Структурированный Язык Запросов – стандартный язык запросов по работе с реляционными БД. Язык SQL появился после реляционной алгебры, в конце 70-х годов в компании IBM Research. В дальнейшем этот язык применялся во многих коммерческих СУБД и стал стандартом «де-факто» для языков манипулирования данными в реляционных СУБД.

    Первый международный стандарт языка SQL был принят в 1989 г. (SQL/89 или SQL1 или ANSI/ISO).

    В настоящее время действует стандарт, принятый в 2008 году (SQL:2008)

    Операторы SQL встраиваются в базовый язык программирования, которым может быть любой стандартный язык типа C++, C#, Delphi, PHP и др. Кроме того, операторы SQL могут выполняться непосредственно в интерактивном режиме.

    SQL подразделятся на два подмножества команд: DDL (Data Definition Language - язык определения данных) и DML (Data Manipulation Language - язык обработки данных). Команды DDL используются для создания новых баз данных, таблиц и столбцов, а команды DML - для чтения, записи, сортировки, фильтрования, удаления данных.

    Существуют два типа языков описания запросов: язык запросов по образцу QBE (Query By Example) и структурированный язык запросов SQL (Structured Query Language).

    Язык QBE предполагает использование визуальных средств построения результирующей таблицы из первоначально пустой таблицы путем выборки и связывания нужных исходных таблиц и запросов, перетаскивания мышкой нужных колонок, формирования мастерами расчетных колонок и условий отбора записей, сортировки, группировки и агрегирования данных. Примером использования QBE является запросная форма СУБД Access.

    Язык SQL предполагает использование командных средств. Хотя синтаксис команд языка SQL и достаточно унифицирован для различных СУБД, но есть некоторые отличия в деталях. Существуют статический SQL (команды SQL включаются в выполняемый модуль после компиляции) и динамический SQL (команды SQL формируются в процессе выполнения программы и выполняются в интерпретирующем режиме). В результате выполнения запроса на выборку формируется новая таблица, называемая представлением (View), к которой устанавливается соответствующий указатель, называемый курсором (Cursor). Курсор служит для ссылки на нужное представление в командах открытия, перемещения по записями и закрытия нужного представления (п. 4.3.6).

    Приведем классификацию основных команд SQL

    Операторы определения данных DDL

    CREATE TABLE - создает новую таблицу в БД.

    DROP TABLE - удаляет таблицу из БД.

    ALTER TABLE - изменяет структуру существующей таблицы или ограничения целостности, задаваемые для данной таблицы.

    CREATE VIEW - создает виртуальную таблицу, соответствующую. некоторому SQL-запросу.

    ALTER VIEW - изменяет ранее созданное представление.

    DROP VIEW - удаляет ранее созданное представление.

    CREATE INDEX - создает индекс для некоторой таблицы для обеспечения быстрого доступа по атрибутам, входящим в индекс.

    DROP INDEX - удаляет ранее созданный индекс.

    Операторы манипулирования данными (DML)

    DELETE - удаляет одну или несколько строк, соответствующих условиям фильтрации, из базовой таблицы.

    INSERT - вставляет одну строку в базовую таблицу. Допустимы модификации оператора, при которых сразу несколько строк могут быть перенесены из одной таблицы или запроса в базовую таблицу.

    UPDATE - обновляет значения одного или нескольких столбцов в одной или нескольких строках, соответствующих условиям фильтрации.

    Язык запросов Data Query Language (DQL)

    SELECT - оператор, заменяющий все операторы реляционной алгебры и позволяющий сформировать результирующее отношение, соответствующее запросу.

    Средства управления транзакциями

    COMMIT - завершить комплексную взаимосвязанную обработку информации, объединенную в транзакцию.

    ROLLBACK - отменить изменения, проведенные в ходе выполнения транзакции.

    SAVEPOINT - сохранить промежуточное состояние БД, пометить его для того, чтобы можно было в дальнейшем к нему вернуться.

    Средства администрирования данных

    ALTER DATABASE - изменить набор основных объектов в базе данных, ограничений, касающихся всем базы данных.

    ALTER DBAREA - изменить ранее созданную область храпения.

    ALTER PASSWORD - изменить пароль Изменить пароль для всей базы данных.

    CREATE DATABASE - создать новую базу данных, определив основные параметры для нее.

    CREATE DBAREA - создать новую область хранения и сделать ее доступной для размещения данных.

    DROP DATABASE - удалить существующую базу данных (только в том случае, когда вы имеете право выполнить это действие).

    DROP DBAREA - удалить существующую область хранения (если в ней на настоящий момент не располагаются активные данные).

    GRANT - предоставить нрава доступа на ряд действий над некоторым объектом БД.

    REVOKE - лишить прав доступа к некоторому объекту или некоторым действиям над объектом.

    Программный SQL

    DECLARE - задает некоторое имя и определяет связанный с ним запрос к БД, который соответствует виртуальному набору данных.

    OPEN - формирует виртуальный набор данных (курсор), соответствующий описанию указанного курсора и текущему состоянию БД.

    FETCH - считывает очередную строку, заданную параметром команды из виртуального набора данных, соответствующего открытому курсору.

    CLOSE - прекращает доступ к виртуальному набору данных, соответствующему указанному курсору.

    PREPARE - сгенерировать план выполнения запроса, соответствующего заданному оператору SQL.

    EXECUTE - выполнить оператор SQL, ранее подготовленный к динамическому выполнению. .

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

    Рассмотрим еще несколько команд.

    CREATE TABLE<имя таблицы> (<поле> <тип поля> [NotNull], ...)  создание таблицы (Create Table Kadr (Tab Integer, Fam Char (30) Not Null Primary Key (Tab))). Обязательное присутствие значения в поле задается параметром Not Null. Основные типы полей в SQL в Delphi: SmallInt (Short), Integer (Long Integer), Numeric(x,y), Float (x,y), Char (n), Data, Boolean, Time, Money, Autoinc. Для других СУБД типы полей могут быть другими.

    CREATE VIEW<имя представления> [(<имя столбца>,...)] AS <оператор SELECT> создание представления с новыми именами столбцов (Create View NameStroek As Select Stroiki.Ns FROM Stroiki).

    ALTER TABLE<имя таблицы> {ADD | MODIFY | DROP} <поле> [<тип поля>] [NOT NULL, ... изменение структуры таблицы: включение (Add), изменение (Modify) и удаление (Drop, тип поля не указывается) полей таблицы (Alter Table Stroiki Add Gorod Integer Drop Kp).

    UPDATE<таблица> Set <имя поля>={<новое значение>|NULL}, ...

    [WHERE <условие>]  изменение значений полей (Update Kadr Set Oklad=1.5*Oklad Where Cex=”Цех N2”).

    CREATE TABLE<имятаблицы> (<поле> <типполя> [NOT NULL], ...) создание таблицы (Create Table Kadr (Tab Integer, Fam Char (30) Not Null Primary Key (Tab))). Обязательное присутствие значения в поле задается параметром Not Null. Основные типы полей в SQL в Delphi: SmallInt (Short), Integer (Long Integer), Numeric(x,y), Float (x,y), Char (n), Data, Boolean, Time, Money, Autoinc. Для других СУБД типы полей могут быть другими.

    ALTER TABLE<имятаблицы> {ADD | MODIFY | DROP} <поле> [<типполя>] [NOT NULL, ... изменение структуры таблицы: включение (Add), изменение (Modify) и удаление (Drop, тип поля не указывается) полей таблицы (Alter Table Stroiki Add Gorod Integer Drop Kp).

    UPDATE <таблица> SET <имя поля>={<новое значение>|NULL}, ...

    [WHERE <условие>]  изменение значений полей (Update Kadr Set Oklad=1.5*Oklad Where Cex=”Цех N2”).

    INSERT INTO<имя таблицы>(<список полей>) {VALUES (<список значений>)| SELECT...}  включение новой записи или группы записей из другой таблицы.

    Примеры

    Insert Into Zakazhiki (Kz,Nz) Values (3,’ЗИЛ’); // включение одной записи

    Insert Into Podrjdhiki (Kp,Np) Select KPodr, NPodr From SpravPodr

    Where DSozd >01.01.80; //включение группы записей из таблицы SpravPodr

    CREATE [UNIQUE] INDEX <имяиндекса> ON <таблица> (<поле> [{ASC|ESC}],...) создание индекса (Create index indproba on stroiki (kz, kp)).

    DROP TABLE/VIEW <имя>  удаление таблицы/представления (Drop Table Stroiki).

    DROP INDEX[“<имя таблицы>”.]<имя индекса> удаление индекса.

    DROP INDEX [“<имя таблицы>”.]PRIMARY удаление главного индекса.

    DELETE FROM <имя таблицы> [WHERE<условие>]  удаление записей.
    1   ...   9   10   11   12   13   14   15   16   ...   20


    написать администратору сайта