Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Типы команд SQL




В ANSI SQL имеется шесть основных типов команд:

1.Команды языка определения данных (data definition language — DDL) позволяют создавать новые таблицы в базе данных, добавлять индексы и т.д. Основные команды языка определения данных приведены в таблице 1:

Таблица 1.Команды языка определения данных

CREATE TABLE Создать таблицу
ALTER TABLE Модифицировать таблицу
DROP TABLE Удалить таблицу
CREATE INDEX Создать индекс
ALTER INDEX Модифицировать индекс
DROP INDEX Удалить индекс

2.Команды языка обработки данных (data manipulation language — DML) используются для добавления, корректировки и удаления строк в таблицах и включают команды (см. таблицу 2):

Таблица 2.Команды языка обработки данных

INSERT Вставить данные в таблицу
UPDATE Обновить данные
DELETE Удалить данные

3.Команда языка запросов данных (data query language — DQL) (единственная команда) используется для получения данных из таблиц и определения формы представления этих данных:

Таблица 3.Команда языка запросов данных

SELECT Выполнить запрос из таблиц базы

4.Команды языка управления данными (data control language — DCL) определяют доступ отдельных пользователей и групп пользователей к объектам базы данных посредством полномочий, предоставляемых и отменяемых командами:

Таблица 4.Команды языка управления данными

GRANT Предоставить привилегии
REVOKE Отменить привилегии

5.Команды языка обработки транзакций (transaction processing language — TPL) обеспечивают обновление всех строк, используемых в операторе DML, и включают следующие команды:

Таблица 5.Команды языка обработки транзакций

BEGIN TRANSACTION Начать транзакцию
COMIT TRANSACTION Завершить транзакцию
SAVE TRANSACTION Создать точку сохранения внутри транзакции

6.Команды языка управления курсором (cursor control language — CCL) выполняют операции с отдельными строками одной или нескольких таблиц и включают команды: DECLARE CURSOR, FETCH INTO и UPDATE WHERE CURRENT.

 

  1. Расскажите об основных отличиях SQL от процедурных языков программирования. Встроенные функции SQL.
  2. Язык SQL. Команды манипулирования данными.
  3. Архитектуры приложений. Основные различия между архитектурами приложений.
  4. Общие понятия и определения целостности. Принципы поддержки целостности в СУБД. Перечислите преимущества и недостатки средств обеспечения целостности данных. Приведите примеры использования объекта «ограничения целостности» в базе данных.
  5. Понятие подзапроса. Приведите примеры формирования связанных и вложенных подзапросов.
  6. Понятие хранимой процедуры. Особенности и синтаксис построения хранимых процедур на языке Transact SQL.
  7. Дайте определение и понятие пользовательской функции. В чем основное отличие пользовательских функций от хранимых процедур? Основное отличие скалярной пользовательской функции от табличной?
  8. Понятие триггера. Особенности и синтаксис построения триггера на языке Transact SQL. Какие вы знаете виды триггеров? Приведите примеры использования конструкций FOR (AFTER) и INSTEAD OF в триггерах.
  9. Современные направления исследований и разработок в области баз данных. Системы управления базами данных следующего поколения.
  10. Реализация системы защиты данных в СУБД.
  11. Информационные приложения, основанные на использовании "складов данных" (DataWarehousing). OLTP и OLAP приложения. Какой тип хранилища данных носит название "снежинка", "звезда"?
  12. Объектно-реляционные СУБД. Подходы к построению объектно-реляционных СУБД.
  13. Объектно-ориентированные СУБД. Особенности построения моделей СУОБД.

 


Ответы
по дисциплине «Базы данных, знаний и экспертные системы» и
«Интеллектуальные информационные системы»

 

  1. Знания и данные. Глубинные и поверхностные знания. Интенсионал и экстенсионал понятия. Классификация моделей представления знаний.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

r Z5 — база знаний на машинных носителях информации. Часто используется и такое определение знаний:

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

Ключевым этапом при работе со знаниями является формирование поля знаний (третий этап Z3), эта нетривиальная задача включает выявление и определение объектов и понятий предметной области, их свойств и связей между ними, а также представление их в наглядной и интуитивно понятной форме. Этот термин впервые был введен при практической разработке экспертной системы по психодиагностике АВТАНТЕСТ и теперь широко используется разработчиками ЭС.

Без тщательной проработки поля знаний не может быть речи о создании базы знаний.

Существенным для понимания природы знаний являются способы определения понятий. Один из широко применяемых способов основан на идее интенсионала и экстенсионала.

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

Например, интенсионал понятия "МЕБЕЛЬ": "предметы, предназначенные для обеспечения комфортного проживания человека и загромождающие дом".

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

Экстенсионал понятия "МЕБЕЛЬ": "Шкаф, диван, стол, стул и т. д.".

Интенсионалы формируют знания об объектах, в то время как Экстенсионал объединяет данные. Вместе они формируют элементы поля знаний конкретной предметной области.

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

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

Знания можно разделить на:

r глубинные;

r поверхностные.

Поверхностные — знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области.

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

Поверхностные знания:

"Если ввести правильный пароль, на экране компьютера появится изображение рабочего стола".

Глубинные знания:

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

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

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

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

Один из пионеров ИИ Алан Ньюэлл проиллюстрировал эволюцию средств общения человека с компьютером как переход от машинных кодов через символьные языки программирования к языкам представления знаний (рис. 1).

Рис. 5.Пирамида Ньюэлла

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

r продукционные модели;

r семантические сети;

r фреймы;

r формальные логические модели.

В свою очередь это множество классов можно разбить на две большие группы (рис. 2):

r модульные;

r сетевые.

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

Сетевые языки предоставляют возможность связывать эти элементы или фрагменты знаний через отношения в семантические сети или сети фреймов.


Поделиться:

Дата добавления: 2015-04-18; просмотров: 184; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты