Язык SQL, назначение, основные команды языка. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Язык SQL, назначение, основные команды языка.



 

SQL (англ. Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

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

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

Первая версия языка SQL появилась в середине 70-х гг., которая была разработана в рамках проекта экспериментальной реляционной СУБД System R. Исходное название языка сиквел - SEQUEL (Structered English QUEry Language) только частично отражает суть этого языка. Конечно, язык был ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционной БД. Но на самом деле он уже являлся полным языком БД, содержащим, помимо операторов формулирования запросов и манипулирования данными, средства определения и манипулирования схемой БД; определения ограничений целостности и триггеров; возможности определения структур физического уровня, поддерживающих эффективное выполнение запросов; средства авторизации доступа к отношениям и их полям; средства определения точек сохранения транзакции и откатов.

Первый официальный стандарт языка SQL был принят ANSI в 1986 году и ISO (Международной организацией по стандартизации) в 1987 году (так называемый SQL-86) и несколько уточнён в 1989 году. Дальнейшее развитие языка поставщиками СУБД потребовало принятия в 1992 году нового расширенного стандарта (ANSI SQL-92 или просто SQL2). Следующим стандартом стал SQL:1999 (SQL3). В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже.

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

Поэтому, в язык SQL в качестве составных частей входят:

язык манипулирования данными (Data Manipulation Language, DML)

язык определения данных (Data Definition Language, DDL)

язык управления данными (Data Control Language, DCL).

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

Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:

SELECT (выбрать)
INSERT (вставить)
UPDATE (обновить)
DELETE (удалить)

Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:

CREATE DATABASE (создать базу данных)
CREATE TABLE (создать таблицу)
CREATE VIEW (создать виртуальную таблицу)
CREATE INDEX (создать индекс)
CREATE TRIGGER (создать триггер)
CREATE PROCEDURE (создать сохраненную процедуру)
ALTER DATABASE (модифицировать базу данных)
ALTER TABLE (модифицировать таблицу)
ALTER VIEW (модифицировать виртуальную таблицу)
ALTER INDEX (модифицировать индекс)
ALTER TRIGGER (модифицировать триггер)
ALTER PROCEDURE (модифицировать сохраненную процедуру)
DROP DATABASE (удалить базу данных)
DROP TABLE (удалить таблицу)
DROP VIEW (удалить виртуальную таблицу)
DROP INDEX (удалить индекс)
DROP TRIGGER (удалить триггер)
DROP PROCEDURE (удалить сохраненную процедуру)

Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать "язык управления доступом". Он состоит из двух основных команд:

GRANT (дать права)
REVOKE (забрать права)

С точки зрения прикладного интерфейса существуют две разновидности команд SQL:

интерактивный SQL

встроенный SQL.

Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне. Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-ориентированный подходы.

 

 

Базы знаний. Определения и свойства баз знаний.

 

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

Система, основанная на знаниях - система искусственного интеллекта, в которой предметные знания представлены в явном виде и отделены от прочих знаний системы

Искусственный интеллект - способность прикладного процесса обнаруживать свойства, ассоциируемые с разумным поведением человека.

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

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

При изучении интеллектуальных систем традиционно возникает вопрос — что же такое знания и чем они отличаются от обычных данных, десятилетиями обраба­тываемых ЭВМ. Можно предложить несколько рабочих определений, в рамках которых это становится очевидным.

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

При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:

D1 — данные как результат измерений и наблюдений;

D2 — данные на материальных носителях информации (таблицы, протоколы,
справочники);

D3 — модели (структуры) данных в виде диаграмм, графиков, функций;

D4 — данные в компьютере на языке описания данных;

D5 — базы данных на машинных носителях информации.

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

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

При обработке на ЭВМ знания трансформируются аналогично данным.

Z1 — знания в памяти человека как результат мышления;

Z2 — материальные носители знаний (учебники, методические пособия);

Z3 — поле знаний — условное описание основных объектов предметной области, их атрибутов и закономерностей, их связывающих;

Z4 — знания, описанные на языках представления знаний (продукционные языки, семантические сети, фреймы — см. далее);

Z5 — база знаний на машинных носителях-нформации.

Часто используется такое определение знаний.

Знания — это хорошо структурированные данные, или данные о данных, или метаданные.

Знания делятся на четыре вида: понятийные, конструктивные, процедурные и фактографические.

1) Понятийные или концептуальные знания - это набор понятий из некоторой области знания, их свойства и взаимосвязи.

2) Конструктивные знания — знания о структуре объектов, о взаимодействии их частей.

3) Процедурные или алгоритмические знания - это уже известные людям методы решения задач, алгоритмы, программы.

4) Фактуальные или фактографические знания - это количественные и качественные характеристики конкретных объектов.

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

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

Конструктивное знание: стол имеет столешницу, четыре ножки, два ящика. Столешница расположена сверху, горизонтально. Ножки расположены под столешницей по углам, на некотором расстоянии от края столешницы с небольшим наклоном внутрь стола. Ящики расположены справа под столешницей друг под другом. Ножки закреплены на болтах; ящики — тоже. Ящики снабжены ручками и замками. И т. д.

Фактуальное знание: стол изготовлен из дерева, болты — стальные; высота стола — 70 см, длина — 110 см, ширина — 60 см, цвет — коричневый и пр.

Алгоритмическое знание — это правила сборки стола из составных частей (правила установки ножек и ящиков), правила крепления деталей с помощью болтов, правила установки замков на ящиках, правила запирания/отпирания замков и пр.

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

База знаний — основа любой интеллектуальной системы.

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

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

Иерархический способ представления в базе знаний набора понятий и их отношений называется онтологией. Онтологию некоторой области знаний вместе со сведениями о свойствах конкретных объектов также можно назвать базой знаний.

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

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

Необходимо различать три уровня представления:

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

внутреннее представление - знания в том виде, в котором они хранятся в системе,

смысловое (модельное) представление - знания в том виде, в каком пользователь может их себе представлять при работе с системой.

Например, пусть требуется представить информацию о дорогах между населенными пунктами района. Представлять себе ее удобней всего в виде графа, вершинами которого являются населенные пункты, а ребрами (или дугами) - дороги. Это и будет модельное представление знаний. Однако ввод его в ЭВМ в таком виде может быть затруднен. Разные уровни представления могут и совпадать.

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

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 277; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.234.165.107 (0.044 с.)