Основные операторы языка SQL.
Операторы DDL. Таблица 1.
Оператор
Описание
CREATE TABLE
Добавление новой таблицы к базе данных
DROP TABLE
Удаление таблицы из базы данных
ALTER TABLE
Изменение структуры имеющейся таблицы
CREATE VIEW
Добавление нового представления к базе данных
DROP VIEW
Удаление представления
CREATE INDEX
Создание нового индекса
DROP INDEX
Удаление существующего индекса
Data Definition Language (DDL).
Эта составляющая языка содержит операторы, позволяющие создавать, модифицировать и уничтожать базы данных и объекты внутри них (таблицы, представления) (см. таблицу 1).
Data Manipulation Language (DML).
Эта составляющая языка содержит операторы, позволяющие добавлять, выбирать, удалять и модифицировать данные. Эти операторы не обязательно должны завершать транзакцию, внутри которой они вызваны. Описание операторов представлено в таблице 2. Операторы DML. Таблица 2.
Оператор | Описание |
SELECT | Выбор данных |
INSERT | Вставка данных |
DELETE | Удаление данных |
UPDATE | Обновление данных |
Иногда оператор SELECT относят к отдельной категории Data Query Language (DQL).
Transaction Control Language (TCL).
Операторы данного класса (см. таблицу 3) применяются для управления изменениями, выполняемыми группой операторов DML.
Операторы TCL. Таблица 3 .
Оператор | Описание |
COMMIT | Завершение транзакции и сохранение изменений в базе данных |
ROLLBACK | Откат транзакции и отмена изменений в базе данных |
SET TRANSACTION | Установка параметров доступа к данным в текущей транзакции |
Data Control Language (DCL).
Оператор | Описание |
GRANT | Присвоение привилегии |
REVOKE | Отмена привилегии |
Операторы Data Control Language (см. таблицу 4), иногда называемые операторами Access Control Операторы DCL. Таблица 4. Language, применяются для осуществления административных функций, присваивающих или отменяющих право (привилегию) использовать базу данных, таблицу базы данных, а также выполнять те или иные операторы SQL.
Все операторы SQL имеют вид, представленный на рис.2.
Р ис.2 Структура оператора SQL
Каждый оператор SQL начинается с ключевого слова, которое определяет, что делает этот оператор (SELECT, INSERT, DELETE). В операторе содержатся предложения, содержащие сведения о том, над какими данными производятся операции. Каждое предложение начинается с ключевого слова, такого как FROM, WHERE и др. Структура предложения зависит от его типа: ряд предложений содержит имена полей или таблиц, некоторые могут включать дополнительные ключевые слова, константы или выражения.
В заключение отметим, что, по словам Дейта, язык SQL является гибридом реляционной алгебры и реляционного исчисления. В нем имеются элементы алгебры (оператор объединения UNION) и исчисления (квантор существования EXISTS). Кроме того, язык SQL обладает реляционной полнотой.
Пример 1. Выбор записей.
Для таблицы ЕМР, имеющей поля: NAME (имя), SAL (зарплата), MGR (руководитель) и DEPT (отдел), требуется вывести имена сотрудников и размер их зарплаты, увеличенный на 100 единиц. Оператор выбора можно записать следующим образом:
SELECT name, sal+100
FROM emp.
Пример 2. Выбор с условием.
Вывести названия таких отделов таблицы ЕМР, в которых в данный момент отсутствуют руководители. Оператор SELECT для этого запроса можно записать так:
SELECT dept
FROM emp
WHERE mgr is NULL.
QBE
В современных СУБД широко используются табличные языки запросов. Наиболее распространенным среди них является язык QBE (Query-By-Example — запрос по примеру), предложенный М.М. Злуфом и базирующийся на исчислении доменов. Он является универсальным и не требует знания программирования. Язык QBE предназначен для работы с терминала и ориентирован на конечного пользователя. Язык QBE реализован во многих современных СУБД, например dBase IV, Paradox, ОФИС-ИНФО и др. Конкретные реализации этого языка несколько отличаются друг от друга, но все они построены по единому принципу. Суть подхода, воплощенного в языке QBE, заключается в следующем.
На экране дисплея высвечивается «скелет» (образ, форма, структура) одной или нескольких таблиц (файлов баз данных, отношений), данные из которых будут участвовать в запросе. «Скелет» выбранной пользователем таблицы выводится на экран дисплея в виде «шапки», в крайнем левом столбце которой записано название файла базы данных, а в остальных — имена полей файла. В этой форме пользователь определяет условия запроса. Например, если пользователю необходимо получить все записи с заданным значением определенного атрибута, то в соответствующем столбце «скелета» указывается это значение.
Н а рис. 5.1 представлен запрос к таблице, содержащей сведения о сотрудниках (kadr.dbf) и включающей следующие атрибуты:
FАМ — фамилия; IMIA —имя; VOZR —возраст; POL —пол; ADR —адрес; TABN — табельный номер.
Требуется выдать информацию о всех сотрудниках в возрасте 40 лет. В соответствующем столбце таблицы указывается цифра 40. В столбце можно записывать не только значение атрибута, но и знак операции сравнения; по умолчанию принимается знак « = ».
З адание сложных запросов. Допускается задание не только простых, но и сложных запросов, компоненты которых связаны операторами AND (и) или OR (или). Операторы AND и OR в явном виде не указываются при формулировании запроса. При отображении запросов на экране используется следующее правило: если в сложном запросе его компоненты представляют разные атрибуты и должны быть связаны оператором AND, то они записываются в одной строке (рис. 5.2). Если компоненты запроса должны быть связаны операторами OR, то они записываются на разных строках (рис. 5.3).
На рис. 5.2 изображен запрос «Выдать информацию о сотруднике с фамилией Диго и именем Светлана», а на рис. 5.3 — «Выдать информацию о сотрудниках, имеющих фамилию Диго или имя Светлана» (т. е. о всех сотрудниках, которые имеют фамилию Диго, и всех сотрудниках, имеющих имя Светлана).
Переменные для примера. В некоторых случаях при формулировке запроса необходимо использовать так называемые «переменные для примера» («наполнители»). «Переменные для примера» (example variables) также записываются в определенных графах таблицы, но они обозначают не какое-либо определенное значение, а любое. Конкретное значение наполнителя не существенно. «Переменные для примера» используются для установления связей между атрибутами в одной или нескольких таблицах.
Константы, применяемые для задания значений ключей поиска, и переменные, указываемые для примера, должны при записи запроса отличаться друг от друга. В разных СУБД они различаются по-разному: в одних системах «наполнители» подчеркиваются, в других — используются специальные ограничители и т. п.
Связывание файлов. В некоторых запросах могут потребоваться данные из нескольких таблиц. Например, в базе данных, кроме файла KADR, имеется файл «выработка» (VRBT) с полями:
TABN — табельный номер; DAT — дата; KODDET — код детали; KOLV — количество.
В запросе «Выдать информацию о выработке рабочего Евгения Петрова» необходима совместная обработка файлов VRBT и KADR, так как в файле «выработка» нет сведений о фамилиях и именах. «Скелеты» обоих файлов должны быть вызваны на экран. Для связывания этих файлов по полю TABN используются «наполнители». Их значения могут быть любыми, но они должны быть одинаковыми в обеих таблицах.
В примере, представленном на рис. 5.4, в качестве наполнителя используется буква А, и она подчеркивается.
Описание ответа. Кроме задания условия отбора данных при описании запроса должна быть возможность указывать, какие атрибуты и в какой последовательности входят в ответ. Часто также требуется определить упорядоченность данных в ответе. Язык QBE обеспечивает такую возможность, но способы реализации ее в разных системах различны.
Дополнительные возможности. Кроме собственно поисковых запросов язык QBE позволяет выполнять и другие операции, например корректировку данных. Операции, которые надо выполнить, указываются в крайнем левом столбце под именем файла базы данных. Набор допустимых операций несколько различается в разных системах.
Технологии проектирования информационных систем
Современные информационные технологии предоставляют широкий набор способов реализации ИС, выбор которых осуществляется на основе требований со стороны предполагаемых пользователей, как правило, меняющихся в процессе разработки. Для теории принятия решений процесс проектирования ИС – это процесс принятия проектно-конструкторских решений, направленных на получение описания системы (проекта АИС), удовлетворяющего требования заказчика.
Под проектом ИСследует понимать проектно-конструкторскую и технологическую документацию, в которой представлено описание проектных решений по созданию и эксплуатации ИС в конкретной программно-технической среде.
Под проектированием ИС следует понимать процесс преобразования входной информации об объекте проектирования, о методах проектирования и об опыте проектирования объектов аналогичного назначения в соответствии с ГОСТом в проекте ИС. Следовательно, проектирование ИС сводится к последовательной формализации проектных решений на различных стадиях жизненного цикла ИС: планирования и анализа требований, технического и рабочего проектирования, внедрения и эксплуатации ИС.
Объектами проектирования ИСявляются отдельные элементы или их комплексы функциональных и обеспечивающих частей. В составе обеспечивающей части ИС объектами проектирования служат элементы и их комплексы информационного, программного и технического обеспечения системы. Субъектами проектирования ИСвыступают коллективы специалистов, которые осуществляют проектную деятельность. Осуществление проектирования ИС предполагает использование проектировщиками определенной технологии проектирования, соответствующей масштабу и особенностям разрабатываемого проекта.
Технология проектирования ИС – это совокупность методологии и средств проектирования АИС, а также методов и средств организации проектирования (управление процессом создания и модернизации проекта ИС) (см. рис. 1).
Рис. 1. Технология проектирования
В основе технологии проектирования лежит технологический процесс, который определяет действия, их последовательность, состав исполнителей, средства и ресурсы, требуемые для выполнения этих действий. Технологический процесспроектирования ИС делится на совокупность последовательно-параллельных, связанных и соподчиненных цепочек действий, каждое из которых может иметь свой предмет. Действия, которые выполняются при проектировании ИС, могут быть определены как неделимые технологические операции или как подпроцессы технологических операций. Все действия могут быть собственно проектировочными, которые формируют или модифицируют результаты проектирования, и оценочными действиями, которые вырабатывают по установленным критериям оценки результатов проектирования. Технология проектирования задается регламентированной последовательностью технологических операций, выполняемых в процессе создания проекта на основе того или иного метода. Предметом любой выбираемой технологии проектирования должно служить отражение взаимосвязанных процессов проектирования на всех стадиях жизненного цикла ИС. К основным требованиям, предъявляемым к выбираемой технологии проектирования, относятся следующие:
– созданный с помощью этой технологии проект должен отвечать требованиям заказчика;
– выбранная технология должна максимально отражать все этапы цикла жизни проекта;
– выбираемая технология должна обеспечивать минимальные трудовые и стоимостные затраты на проектирование и сопровождение проекта;
– технология должна быть основой связи между проектированием и сопровождением проекта;
– технология должна способствовать росту производительности труда проектировщика;
– технология должна обеспечивать надежность процесса проектирования и эксплуатации проекта;
– технология должна способствовать простому ведению проектной документации.
Основу технологии проектирования ИС составляет методология, которая определяет сущность, основные отличительные технологические особенности. Методология проектированияпредполагает наличие некоторой концепции, принципов проектирования, реализуемых набором методов проектирования, которые, в свою очередь, должны поддерживаться некоторыми средствами проектирования.
Организация проектирования предполагает определение методов взаимодействия проектировщиков между собой и с заказчиком в процессе создания проекта ИС, которые могут также поддерживаться набором специфических средств. Методы проектирования ИС можно классифицировать по степени использования средств автоматизации, типовых проектных решений, адаптивности к предполагаемым изменениям.
По степени автоматизацииметоды проектирования разделяются на методы:
– ручного проектирования, при котором проектирование компонентов ИС осуществляется без использования специальных инструментальных программных средств, а программирование – на алгоритмических языках;
– компьютерного проектирования, которое производит генерацию или конфигурацию (настройку) проектных решений на основе использования специальных инструментальных программных средств.
По степени использования типовых проектных решений различают следующие методы проектирования:
– оригинального (индивидуального) проектирования, когда проектные решения разрабатываются «с нуля» в соответствии с требованиями к ИС;
– типового проектирования, предполагающего конфигурацию ИС из готовых типовых проектных решений (программных модулей).
Оригинальное (индивидуальное) проектирование АИС характеризуется тем, что все виды проектных работ ориентированы на создание индивидуальных для каждого объекта проектов, которые в максимальной степени отражают все его особенности.
Типовое проектирование выполняется на основе опыта, полученного при разработке индивидуальных проектов. Типовые проекты как обобщение опыта для некоторых групп организационно-экономических систем или видов работ в каждом конкретном случае связаны со множеством специфических особенностей и различаются по степени охвата функций управления, выполняемым работам и разрабатываемой проектной документации.
По степени адаптивности проектных решенийметоды проектирования классифицируются на методы:
– реконструкции, когда адаптация проектных решений выполняется путем переработки соответствующих компонентов (перепрограммирования программных модулей);
– параметризации, когда проектные решения настраиваются (перегенерируются) в соответствии с изменяемыми параметрами;
– реструктуризации модели, когда изменяется модель проблемной области, на основе которой автоматически перегенерируются проектные решения.
Сочетание различных признаков классификации методов проектирования обусловливает характер используемой технологии проектирования ИС, среди которых выделяются два основных класса: каноническая и индустриальная технологии(см. табл. 1). Индустриальная технология проектирования, в свою очередь, делится на два подкласса: автоматизированное (использование CASE-технологий) и типовое (параметрически-ориентированное или модельно-ориентированное) проектирование. Использование индустриальных технологий проектирования не исключает использования в отдельных случаях канонической технологии. Для конкретных видов технологий проектирования свойственно применение определенных средств разработки ИС, которые поддерживают выполнение как отдельных проектных работ, этапов, так и их совокупностей. Поэтому перед разработчиками ИС, как правило, стоит задача выбора средств проектирования, которые по своим характеристикам в наибольшей степени соответствуют требованиям конкретного предприятия.
Средства проектирования должны быть:
– в своем классе инвариантными к объекту проектирования;
– охватывать в совокупности все этапы жизненного цикла АИС;
– технически, программно и информационно совместимыми;
– простыми в освоении и применении;
– экономически целесообразными.
Средства проектирования ИС можно разделить на два класса: без использования компьютера и с использованием компьютера.
Средства проектирования без использования компьютера применяются на всех стадиях и этапах проектирования ИС, это средства организационно-методического обеспечения операций проектирования и в первую очередь различные стандарты, регламентирующие процесс проектирования систем, а также единая система классификации и кодирования информации, унифицированная система документации, модели описания и анализа потоков информации и т. п.
Средства проектирования с использованием ЭВМ могут применяться как на отдельных, так и на всех стадиях и этапах процесса проектирования ИС и, соответственно, поддерживают разработку элементов проекта системы, разделов проекта системы, проекта системы в целом. Все множество средств проектирования с использованием ЭВМ делят на четыре подкласса.
К первому подклассу относятся операционные средства, которые поддерживают проектирование операций обработки информации. К данному подклассу средств относятся алгоритмические языки, библиотеки стандартных подпрограмм и классов объектов, макрогенераторы, генераторы программ типовых операций обработки данных и т. п., а также средства расширения функций операционных систем (утилиты). В данный класс включаются также такие простейшие инструментальные средства проектирования, как средства для тестирования и отладки программ, поддержки процесса документирования проекта и т. п. Особенность последних программ заключается в том, что с их помощью повышается производительность труда проектировщиков, но не разрабатывается законченное проектное решение.
Таким образом, средства данного подкласса поддерживают отдельные операции проектирования ИС и могут применяться независимо друг от друга.
Ко второму подклассу относят средства, поддерживающие проектирование отдельных компонентов проекта ИС. К данному подклассу относятся средства общесистемного назначения:
– системы управления базами данных (СУБД);
– методоориентированные пакеты прикладных программ (решение задач дискретного программирования, математической статистики и т. п.);
– табличные процессоры;
– статистические пакеты прикладных программ (ППП);
– оболочки экспертных систем;
– графические редакторы;
– текстовые редакторы;
– интегрированные ППП (интерактивная среда с встроенными диалоговыми возможностями, позволяющая интегрировать вышеперечисленные программные средства).
Для перечисленных средств проектирования характерно их использование для разработки технологических подсистем ИС: ввода информации, организации хранения и доступа к данным, вычислений, анализа и отображения данных, принятия решений.
К третьему подклассу относятся средства, поддерживающие проектирование разделов проекта ИС. В этом подклассе выделяют функциональные средства проектирования.
Функциональные средства направлены на разработку автоматизированных систем, реализующих функции, комплексы задач и задачи управления. Разнообразие предметных областей порождает многообразие средств данного подкласса, ориентированных на тип организационной системы (промышленная, непромышленная сферы), уровень управления (например, предприятие, цех, отдел, участок, рабочее место), функцию управления (планирование, учет и т. п.).
К функциональным средствам проектирования систем обработки информации относятся типовые проектные решения, функциональные пакеты прикладных программ, типовые проекты. К четвертому подклассу средств проектирования ИС относятся средства, поддерживающие разработку проекта на стадиях и этапах процесса проектирования. К данному классу относится подкласс средств автоматизации проектирования ИС (CASE-средства).
Современные CASE-средства, в свою очередь, классифицируются в основном по двум признакам:
1) по охватываемым этапам процесса разработки ИС;
2) по степени интегрированности: отдельные локальные средства (tools), набор неинтегрированных средств,охватывающих большинство этапов разработки ИС (toolkit), и полностью интегрированные средства, связанные общей базой проектных данных – репозиторием (workbench).
Наши рекомендации