Функциональные возможности языка SQL

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

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

Команда Назначение
Команды определения данных
CREATE TABLE Создает структуру таблицы
DROP TABLE Удаляет таблицу
ALTER TABLE Изменяет описание структуры таблицы
CREATE VIEW Создает представление
Команды манипулирования данными
INSERT Добавляет новые записи в таблицу
DELETE Удаляет записи из таблицы
UPDATE Обновляет данные таблицы
Команда извлечения данных
SELECT Извлекает данные из базы данных
Команды управления транзакциями
COMMIT Сообщает об успешном окончании транзакции
ROLLBACK Сообщает о неуспешном окончании транзакции
Команды управления доступом
GRANT Предоставляет пользователю определенные права доступа
REVOKE Отменяет определенные права доступа
Команды встроенного SQL
DECLARE, OPEN, FETCH, CLOSE Реализуют обращения к базе данных из прикладных программ.

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

Команды манипулирования данными позволяют изменять данные в реляционной таблице, но не меняют ее структуру.

Команды управления транзакциями позволяют обеспечить целостность базы данных.

SQL-транзакция – это несколько последовательных команд SQL, которые должны выполняться как единое целое.

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

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

Команды COMMIT и ROLLBACK используются в основном в программном режиме, хотя возможно их использование и в интерактивном режиме.

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

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

· SELECT – право читать таблицу;

· INSERT – право добавлять данные в таблицу;

· UPDATE – право изменять данные таблицы;

· DELETE – право удалять данные из таблицы;

· REFERENCES – право определять первичный ключ.

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

К встроенным относятся команды, предназначенные для реализации обращения к базе данных из прикладных программ, написанных на определенном языке программирования. Для пересылки данных из базы данных в прикладную программу используется временная таблица, называемая SQL-курсором. Команды DECLARE, OPEN, FETCH, CLOSE позволяют управлять SQL-курсором.

Знания и их виды.

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

Знания – это единственный ресурс, который не поддается быстрому воспроизводству конкурентами, что позволяет компании, владеющими ими, получать уникальные преимущества.

В общем случае существует много определений знаний. Некоторые из них приведены ниже:

Знание — это форма существования и систематизации результатов познавательной деятельности человека.

Знание — субъективный образ объективной реальности, то есть адекватное отражение внешнего и внутреннего мира в сознании человека в форме представлений, понятий, суждений, теорий.

Знание в широком смысле - совокупность понятий, теоретических построений и представлений.

Знание в узком смысле — данные, информация.

Знание (предмета) — уверенное понимание предмета, умение самостоятельно обращаться с ним, разбираться в нём, а также использовать для достижения намеченных целей.

Данные – не подвергшиеся обработке сведения, факты, измерения, сигналы, имеющие отношение к событиям. Они являются «сырым» материалом для дальнейших преобразований.

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

Знания —информация (у индивидуума, общества или у системы искусственного интеллекта) о мире, включающих в себя информацию о свойствах объектов, закономерностях процессов и явлений, а также правилах использования этой информации для принятия решений. Правила использования включают систему причинно-следственных связей. Знания дают ответ на вопрос «Как ?».

Мудрость- оценка понимания знаний, правильное применение накопленных знаний, учитывая реалии и ограничений . Мудрость дает ответ на вопрос «Почему ?».

Классификация видов и форм знания в настоящее время является во многом дискуссионной. Приведем некоторые виды.

Знания могут быть:

декларативные

процедурные

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

Процедурные знания имеют активную природу. Они определяют представления о средствах и путях получения новых знаний, проверки знаний. Это алгоритмы разного рода. Например: знания, полученные в результате мозгового штурма или компьютерные программы. Процедурные знания дают представления о средствах и путях получения новых знаний, проверки знаний. Они имеют активную природу.

Знания могут быть

научными

вненаучными.

Научные знания могут быть

эмпирическими (на основе опыта или наблюдения)

теоретическими (на основе анализа абстрактных моделей).

Вненаучные знания могут быть:

паранаучными - знания несовместимые с имеющимся познавательным стандартом стандартом. Широкий класс паранаучного (пара от греч. — около, при) знания включает в себя учения или размышления о феноменах, объяснение которых не является убедительным с точки зрения критериев научности;

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

псевдонаучными - представляют собой интеллектуальную активность, спекулирующую на совокупности популярных теорий, например, истории о древних астронавтах, о снежном человеке, о чудовище из озера Лох-Несс;

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

личностными- зависящими от способностей того или иного субъекта и от особенностей его интеллектуальной познавательной деятельности.

Знания могут быть

неявные, (скрытые) знания

формализованные (явные) знания;

Неявные знания:

знания людей,

Формализованные (явные) знания:

знания в документах,

знания на компакт дисках,

знания в персональных компьютерах,

знания в Интернете и др.

Для эффективного управления предприятием необходимо организовать совместное использование знаний, их защиту и интеграцию в цепочку бизнес- процессов. Такая технология известна как управление знаниями (Knowledge Management).

Базы знаний.

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

Из определения видно, что в отличие от базы данных в базе знаний (БЗ) хранятся не только данные, описывающие рассматриваемую предметную область, но также и правила, описывающих целесообразные преобразования хранящихся данных.

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

Под экспертной системой (ЭС) понимается система, объе­диняющая возможности компьютера со знаниями и опытом эксперта в та­кой форме, что система может предложить разумный совет или осуществить разумное решение поставленной задачи. Дополнительно желаемой харак­теристикой такой системы является способность системы пояснять по требованию ход своих рас­суждений в понятной для спрашивающего форме.

Общую структуру экспертной системы можно представить (Рис 9.2)

 


Рис. 18. Общая структура экспертной системы

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

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

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

· как получено решение

· как использована некоторая информация (факты, правила)

· почему не использована некоторая информация (факты, правила)

· что использовано в целом при решении задачи (факты, правила)

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

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

 

Процесс построения БЗ на основе информации эксперта состоит из трех этапов:· описание предметной области;· выбор способа и модели представления знаний;· приобретение знаний. Сам процесс построения БЗ достаточно сложен, как правило, плохо структурирован и носит итеративный характер, заключающийся в циклической модификации БЗ на основе результатов ее тестирования. На первом шаге построения БЗ четко очерчивается предметная область, на решение задач из которой ориентируется проектируемая ЭС, т.е. определяется область применения будущей системы и класс решаемых ею задач. В перечень работ данного шага входят:· определение характера решаемых ЭС задач и основных понятий, объектов предметной области, а также отношений между ними;· установление специфических особенностей предметной области;· выбор модели представления знаний.