Язык SQL как стандартный язык реляционных БД


 

Стремительный рост популярности SQL является одной из самых важных тенденций в современной компьютерной промышленности. За несколько последних лет SQL стал единственным языком баз данных. Официальный международный стандарт на SQL был принят в 1987 г., обновлен в 2003 г. Язык SQL является важным звеном в архитектуре систем управления базами данных, выпускаемых всеми ведущими поставщиками программных продуктов, и служит стратегическим направлением разработок компании Microsoft в области баз данных. Зародившись в результате выполнения второстепенного исследовательского проекта компании IBM, SQL сегодня широко известен и в качестве мощного рыночного фактора.

SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. SQL - это сокращенное название структурированного языка запросов (Structured Query Language — язык структурированных запросов). Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с реляционными базами данных. На рисунке 7.4 изображена схема работы SQL. Согласно этой схеме, в вычислительной системе имеется база данных, в которой хранится важная информация. Компьютерная программа, которая управляет базой данных, называется системой управления базой данных, или СУБД.

Рис. 7.4. Применение SQL для доступа к базе данных

 

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

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

· организация данных. SQL дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между элементами базы данных.

· чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими.

· обработка данных. SQL дает пользователю или приложению возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные.

· управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа.

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

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

Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.

Вопреки существующим заблуждениям, SQL является информационно-логическим языком, а не языком программирования.

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

Наконец, SQL — это слабо структурированный язык, особенно по сравнению с такими сильно структурированными языками, как С или Pascal. Операторы SQL напоминают английские предложения и содержат "слова-пустышки", не влияющие на смысл оператора, но облегчающие его чтение. В SQL почти нет нелогичностей, к тому же имеется ряд специальных правил, предотвращающих создание операторов SQL, которые выглядят как абсолютно правильные, но не имеют смысла.

Несмотря на не совсем точное название, SQL на сегодняшний день является единственным стандартным языком для работы с реляционными базами данных. SQL — это достаточно мощный и в то же время относительно легкий для изучения язык.

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

Рис. 7.5. Компоненты типичной СУБД

 

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

· SQL – интерактивный язык запросов. Пользователи вводят команды SQL в интерактивные программы, предназначенные для чтения данных и отображения их на экране. Это удобный способ выполнения специальных запросов.

· SQL – язык программирования баз данных. Чтобы получить доступ к базе данных, программисты вставляют в свои программы команды SQL. Эта методика используется как в программах, написанных пользователями, так и в служебных программах баз данных (таких как генераторы отчетов и инструменты ввода данных).

· SQL – язык администрирования баз данных. Администратор базы данных, находящейся на мини-компьютере или на большой ЭВМ, использует SQL для определения структуры базы данных и управления доступом к данным.

· SQL – язык создания приложений клиент / сервер, и программах для персональных компьютеров SQL используется для организации связи через локальную сеть с сервером базы данных, в которой хранятся совместно используемые данные. В большинстве новых приложений используется архитектура клиент / сервер, которая позволяет свести к минимуму сетевой трафик и повысить быстродействие как персональных компьютеров, так и серверов баз данных.

· SQL – язык распределенных баз данных. В системах управления распределенными базами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством использования SQL связывается с другими системами, посылая им запросы на доступ к данным.

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

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

Успех языку SQL принесли следующие его особенности:

· Независимость от конкретной СУБД.

Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально закладывались на применение, по меньшей мере, нескольких СУБД (например, система электронного документооборота Documentum может работать как с Oracle Database, так и с Microsoft SQL Server)

· Наличие стандартов

Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка.

· Декларативность

С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать. То, каким образом это сделать решает СУБД непосредственно при обработке SQL запроса.

Все перечисленные выше факторы явились причиной того, что SQL стал стандартным инструментом для управления данными на персональных компьютерах, мини-компьютерах и больших ЭВМ.

Однако SQL не лишен и ряда недостатков:

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

· Повторяющиеся строки;

· Неопределённые значения;

· Явное указание порядка колонок слева направо;

· Колонки без имени и дублирующиеся имена колонок;

· Отсутствие поддержки свойства «=»;

· Использование указателей;

· Высокая избыточность.

· Сложность. Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов, он стал настолько сложным, что превратился в инструмент программиста.

· Отступления от стандартов. Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB, Borland), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.

 


7.1.7 Базы данных на нефтеперерабатывающих заводах.
Единая тематическая витрина данных
на ООО «ПО «Киришинефтеоргсинтез»

Одним из примеров эффективного использования возможностей современных СУБД на НПЗ служит т.н. «Единая тематическая витрина данных» на Киришском НПЗ.

До 1999г. две подсистемы автоматизации предприятия — АСУП и АСУТП развивались обособленно и независимо друг от друга. Это выразилось в первую очередь в различии протоколов обмена данными принятых в этих подсистемах.

Каждая из этих подсистем накладывает свои требования на средства сбора и хранения информации. АСУТП — большую скорость записи и большое время хранения данных, а АСУП — открытый интерфейс для доступа к ним из различных пользовательских приложений.

Создание информационной сети АСУТП верхнего уровня решило проблемы сбора, архивирования, структурирования информации и предоставления тем пользователям, чьи решения должны основываться на ее базе. Сеть верхнего уровня объединяет в единое информационное пространство большое количество распределенных систем управления и информационных систем различных производителей. Нижний уровень данной системы представлен коммуникационными серверами, выполняющими функции разделения управляющих и информационных сетей и передачи технологической информации на следующий уровень.

В зоне информационной сети, охватывающей все предприятие, находится сервер сбора технологической информации, позволяющий хранить большие массивы данных о технологическом процессе.

Для обобщения информации, поступающей из различных источников, был разработан программный комплекс «Единая тематическая витрина данных».

Потенциальными источниками информации для витрины могут выступать любые базы данных, существующие на предприятии. Это позволит анализировать информацию в различных срезах. Например, определить реальную зависимость потребления электроэнергии от загрузки технологического объекта, выявить причины брака.

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

Сдерживающим фактором подключения новых объектов в первую очередь выступает устаревшая техника. Объекты, оснащенные современными РСУ, сразу попадают в списки объектов охваченных системой. Остальные подключаются по мере их оснащения более современной техникой.

Сегодня ЕТВД – это программный продукт, предназначенный для автоматизированного мониторинга технологических и производственных процессов.

ЕТВД реализована в виде клиент-серверного приложения с возможностью распределения по локальной сети. В качестве серверной части используется СУБД MS SQL Server, клиентскими приложениями являются клиент ЕТВД (Etvdclient.exe).

К целевой группе пользователей Витрины относятся должностные лица, отвечающие за управление производством, и разработчики математических моделей технологических объектов.

Основные понятия, используемые при работе с ЕТВД: запрос — обращение к БД за получением первичных данных удовлетворяющих параметрам запроса; выборка — сохранённые данные, полученные при запросе, а также сам запрос.

К основным задачам, которые решает Витрина можно отнести следующие:

· предоставление первичных данных с производственных серверов (мониторинг);

· объединение представления информации с нескольких серверов;

· сохранение первичных данных в Витрине;

· представление вторичных данных;

· аналитическая обработка вторичных данных;

· визуализация первичных и вторичных данных;

· экспорт данных в Microsoft Office Excel.

Существующие СУБД повсеместно используются в областях промышленности, где ведется работа с большим объемом данных, в том числе и на крупных современных предприятиях. ЕТВД как инструмент инженера, используемый им для анализа текущего состояния процесса, зарекомендовал себя неотъемлемой частью рабочего пространства сотрудника завода. Именно поэтому любые прикладные программы, получающие возможность взаимодействия с ЕТВД, значительно расширяют свою функциональную пригодность и могут быть использованы для оперативного решения специфических вопросов, постоянно возникающих у начальников установок и другого инженерно-технического персонала.

 


Базы знаний

 

База знаний – результат обработки и систематизации информации о процессе в виде опыта технического персонала промышленной установки, сведений о неполадках и аварийных ситуациях, возникающих в процессе эксплуатации, а также, данные технологического регламента производства.

Наличие баз знаний необходимо для оперативно проведения диагностики отклонений в работе промышленных установок, выбора оптимального варианта технологической схемы переработки определенного сырья и нахождения оптимальных режимных параметров. Гибкая структура базы знаний должна быть функционально увязана с задачами, решаемыми технологами. Для использования знаний необходима формализация и организация всех знаний в некоторую систему для того, чтобы этими знаниями можно было воспользоваться. Выбор модели из числа возможных полностью определяется спецификой конкретной задачи.

Рассмотрим возможные варианты моделей.

 

Логическая модель

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

Любая логическая модель задается совокупностью множеств:

;  

где L – логическая модель, Т – множество базовых элементов, S – множество семантических и синтаксических правил, которые позволяют строить из базовых элементов Т правильные синтаксические выражения или формулы, А – множество аксиом или утверждений, не подлежащие опровержению, М – множество семантических правил или правил вывода, позволяющих расширить список аксиом новыми правилами и формулами, которые после этого также становятся неопровержимыми истинами или аксиомами.

Высказывания могут быть истинными и ложными. Например, такое высказывание, как «колонна ректификации разделяет жидкости, имеющие различную летучесть» всегда является истиной для азеотропных смесей.

Каждое простое высказывание в логической модели можно записать в символической форме. Например, А=’насос увеличивает давление в системе’ или В=’теплообменники используются для изменения температуры потоков’.

В данном примере А и В являются компонентами логической модели и представляют собой истинные высказывания.

Основным недостатком логических моделей является их не структурированность. Это приводит к тому, что для сбора всей информации по одному объекту приходится прибегать к множеству логических формул.

Поскольку в основе понимания ХТС лежит структура логической модели, неудобная для оптимизации и прогнозирования ХТС, поэтому получили распространение фреймовые модели, которые в отличие от логических, являются структурированными.

 

Фреймовые модели

Такие модели используются в том случае, когда имеет место описание некоторой ситуации. Они также удобны для обозначения структуры и характеристики однотипных объектов ХП.

Под объектами понимают определенные химико-технологические процессы, протекающие на производстве, а также события и ситуации.

Фреймовая модель представляет собой некоторую оболочку для описания некоторого класса событий. Основу таких моделей составляют хорошо структурированные знания. Совокупность фреймов (фрейм – это смысловое описание ситуации), которые описывают некоторую предметную область, представляет собой иерархическую, в которой элементами фрейма является слот. В слоты объединяются в пределах одного фрейма по смысловым признакам. На верхнем уровне иерархической структуры находится фрейм, который содержит наибольшую информацию, истинную для естественных фреймов, которые находятся на низшем уровне иерархии. При этом различные вещества отличаются друг от друга, но для каждого из веществ можно указать набор характеристик, которые его определяют. К таким характеристикам относятся: химическая формула, агрегатное состояние, цвет и другое.

В этом случае фреймом является понятие вещества, а слотами, которые входят в этот фрейм, являются характеристиками, определяющие это вещество.



Дата добавления: 2016-06-15; просмотров: 5043;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.018 сек.