admin / 19.03.2018
Глава 12
В последней двенадцатой главе мы нарушим одну традицию, сложившуюся при обучении базам данных. Не принято слишком глубоко интересоваться природой отображаемых сущностей и семантикой данных. Не рассматриваются двухслойные модели данных, в которых первый слой обеспечивает структуры хранения и работу с данными в некоторой базисной модели. Второй слой работает со структурами данных, которые в первом слое рассматривались как неделимые, атомарные.
В предыдущих главах предполагалось, что в базах данных хранятся сущности, у которых есть имя и атрибуты. Атрибуты имеют тип. В объектных моделях к атрибутам добавляются ещё методы. Появляются объектные типы, а сами сущности (классы) и их члены могут иметь не только предопределённые скалярные типы, но и объектные. Такая вот благостная и вполне привычная для программистского взгляда картина, немного усложненная свойством персистентности.
Для того, чтобы не путать сущности, хранимые в базе, с их прообразами в предметной области будем называть последние концептами (понятиями) этой области. Оказывается, что в базах данных обычно представляются всего два вида концептов. Это, как правило, концепты с одним сортом атрибутов, которые мы будем называть обязательными, и, изредка, полуструктурированные концепты, допускающие необязательные атрибуты.
Мы попробуем расширить модель представимого концепта, введя атрибуты состояния, ресурсов и смыслов. При этом обнаружится, что концепты с обязательными и необязательными атрибутами описывают замкнутые системы. Атрибуты состояния, как и следовало ожидать, характерны для динамических объектов. Атрибуты ресурсов позволяют описать обмен энергетическими, предметными и информационными сущностями и, тем самым, моделировать открытые системы.
Рассмотрим моделирование одних моделей данных в других (эмулирование), выясним достоинства, недостатки и области применения такого подхода, а также связанные с ним изменения семантики данных.
Много внимания будет уделено атрибутам смыслов, реализация которых может существенно расширить объём семантики, хранимой в базе. Мы классифицируем смыслы и опишем их реализации с помощью препроцессоров в обычных СУБД, а также предложим несложные изменения, которые необходимо внести в СУБД, чтобы получить возможность работы со смыслами.
Существуют предметные области, в которых природа данных требует использования в рассуждениях неклассических логик – модальных логик веры, знания и др. В частности, темпоральные данные могут рассматриваться как особая система смыслов, может быть, требующая использования модальных темпоральных логик.
Встраивание дедуктивных систем в обычные СУБД позволяет наряду с табличными и объектными моделями использовать вспомогательные дедуктивные модели, основанные на классической логике и, может быть, модальных логиках.
Как далеко следует заходить в насыщении базы данных семантикой? Всё зависит от того, имеется ли необходимая информация, насколько нужна семантика, что позволит сделать используемая СУБД и имеющиеся в распоряжении дополнительные программные средства, что даёт использования внешних источников семантики, например, онтологий, и от возможностей второго слоя СУБД.
В предыдущих главах значения, хранящиеся в базе, предполагались атомарными. С точки зрения отображаемой модели бизнеса они могли быть сколько угодно сложными, но рамках использованной модели данных работать с их компонентами нельзя. В базах данных давно используются модели, которые мы будем называть двухслойными. Роль первого слоя выполняет любая модель данных, для которой организованы структуры хранения данных. Второй слой работает с данными, которые ему предоставляет первый слой, но данные в нём считаются не атомарными, а известным образом организованными. Практически во всех СУБД во втором слое применяются регулярные выражения и/или различные виды XML данных. Понятно, что второй слой не влияет на структуры хранения данных непосредственно, но может предъявлять свои требования к их организации.
Вторая возможность расширения обычных моделей данных связана с хранением дополнительной семантики данных. Можно учесть особенности использования атрибутов, выделяя их разновидности – сорта. Дальше мы отметим, что сущности с обычными (обязательными) атрибутами определяют замкнутые и статические объекты. Сущности с атрибутами других сортов могут быть открытыми и динамическими.
Изучению семантики данных в базах данных препятствует некоторая недовыясненность сути предмета, отсутствие единых признанных подходов и терминологическая путаница. Определенные затруднения вызывает увеличение количества предметных областей, с которыми необходимо работать, и неизбежное усиление роли лингвистического аспекта.
Полезно заимствовать опыт тех областей знания, в которых давно занимаются семантикой. Это лингвистика, исследующаяся естественные языки (ЕЯ), и теория языков программирования.
Прежде всего, отметим несоответствие некоторых терминов в лингвистике и информатике. Лингвисты выделяют два противопоставляемых вида элементов семантики – значения и смыслы. Значение лингвистического знака понимается как нечто стабильное, что можно сначала установить, выяснить, а затем знать. Смысл приходится всё время искать, устанавливать, разгадывать. В информатике термин ”значение” уже занят. Говоря ”переменная имеет значение” подразумеваем не семантику этой переменной, а присваивание ей конкретного экземпляра данных, или означивание, или создание экземпляра переменной, содержащего этот элемент данных. Поэтому элементы семантики мы всегда будем называть смыслами, а ”стабильность” или “контекстность” или “вариативность” смыслов будем задавать через классификацию смыслов или вводя в них дополнительные свойства.
Давно известно, что значения и смыслы — это внеязыковые сущности. В частности, для перевода с одного естественного языка на другой ЕЯ может создаваться специальный язык функций для представления семантики, в который транслируются фразы исходного языка. А уже с этого промежуточного языка осуществляется трансляция на второй ЕЯ. Тезис о внеязыковой природе смыслов мы трансформируем для баз данных в несколько смягчённую форму как утверждение о возможности разделения данных и смыслов.
В языках программирования обратим внимание на возможность выделения нескольких видов семантики: операционной (описывается в терминах перехода состояний некоторой абстрактной машины), денотационной (в языке для представления семантики используются математические структуры, позволяющие установить возможность вычисления конструкций языка посредством специализированных функций), дедуктивной (позволяет доказывать свойства программ, в первую очередь их правильность), трансляционной (использует правила перевода на язык, семантика которого известна), основанной на таблицах решений и т.д.
Вернемся к терминологии баз данных. Существует безосновательная, но устойчивая традиция выделять некоторые модели и базы данных как семантические (и мы тут не без греха). Так модель «сущность-связь» считается семантической моделью, по-видимому, по сравнению с табличными моделями данных. Однако, семантика, обычно ограниченная, есть в любых моделях данных. Поэтому, еще в 1988 году Э. Кодд отметил, что “ярлык “семантическое” не должен интерпретироваться в каком-либо абсолютном смысле”. В тех же табличных базах семантику определяют, в частности, ключи и ограничения целостности. В базах данных с декларативными языками всегда реализуется операционная семантика, представляемая, например, планами исполнения SQL. Так что следует говорить только о большей или меньшей насыщенности моделей и баз данных семантикой.
Как же отделить элементы семантики, хранимые в базе, от обычных данных? По очень простому признаку: элементы семантики, они же смыслы, обладают активностью. Данные всегда пассивны.
Поясним сказанное на простом примере. Пусть, необходимо выбрать все записи из таблицы, например, инструкцией SELECT * FROM emp. Очевидно, СУБД должна сначала проверить существование таблицы emp по словарю и, может быть, установить, имеются ли у действующего пользователя необходимые права на эту таблицу. Если таблица не существует или недоступна, выдать сообщение об ошибке. В противном случае, установить список столбцов emp и только после этого приступить к выборке данных. Как много делается того, что прямо не было указано! Всё это обеспечивает активность, которой обладают метаданные.
Ещё один пример. Пусть мы вставляем строку в таблицу, имеющую первичный ключ. Поскольку ограничение ”первичный ключ” активно, СУБД сначала проверит уникальность вводимого значения ключа, и только если это условие выполнено, сделает то, что ей приказали – введёт запись.
Заметим, что активность смыслов выводит модели данных со смыслами за рамки обычных чисто алгебраических моделей данных.
В следующих разделах мы постараемся ответить на вопрос о том, какие смыслы, кроме перечисленных выше, можно хранить в базах данных и как это сделать. Но сначала уточним, какие виды сущностей могут храниться в базах данных.
12345Следующая ⇒
Дата публикования: 2015-01-23; Прочитано: 296 | Нарушение авторского права страницы
Содержание
Слово семантическое представление его смысла.
Вещи семантический смысл вещей.
Semantic Web = Веб значение.
Что такое семантика? На самом деле, это просто, чтобы машина может прочитать содержимое.
Мы можем легко понять значение вышеупомянутого предложения. Но эти утверждения, чтобы понять, как компьютер это?
Заявление было создано по правилам грамматики. Синтаксис языка определяет операторов языка для создания правил. Но как попасть в семантической грамматики это?
Семантический веб следует понимать, что данные машины. Semantic Web технологии, которая включает в себя язык описания и логические рассуждения. Именно через некоторую форму тела пакета (онтология) будет описана ниже.
Semantic Web не является связующим звеном между страницами.
Semantic Web описывает корреляцию между вещами ((например, А является частью B, Y является членом Z) и свойства вещей (такие как размер, рост, возраст, стоимость и т.д.).
Семантическая сеть основана на XML (Extensible Markup Language Расширяемый Markup Langauge) язык и Resource Description Framework (RDF) для завершения. XML является инструментом для определения языка разметки, который включает в себя объявление XML, язык, используемый для определения синтаксиса DTD (определение типа документа объявление типа документа), описание тегов и подробное описание самого документа. Сам документ содержит разметку и содержание. RDF используется для выражения содержания страницы. |
RDF (Resource Description Framework), то есть, Resource Description Framework, W3C, рекомендуемый язык спецификаций, используемый для описания взаимосвязи между информацией и ресурсами на WWW.
RDF (S) является важной частью Semantic Web, который использует URI для идентификации различных объектов (в том числе узлов ресурса, тип атрибута или значения атрибутов) могут быть подключены к другому URI, четко выразить отношения между объектами.
Хотя Semantic Web является лучшей сети, но реализация представляет собой сложный и масштабный проект. Текущая архитектура Semantic Web находится в стадии разработки, основная необходимость поддерживать следующие два аспекта:
Для достижения (1) сеть передачи данных
То есть: через согласованный набор стандартов данных для улучшения качества информации в сети более тщательный и более подробные маркировки, Семантический Веб может сделать точную информацию идентификации различать роли информации и смысла, чтобы сделать более точный семантический поиск в Интернете полный, легче судить информацию истинным или ложным, так как для достижения практических целей, в первую очередь необходимо разработать стандарт, который позволяет пользователям добавлять метаданные содержимого интернет-страниц (то есть подробное объяснение знака), и позволяет пользователям определить, что они ищут, а затем, вы также должны найти Один из способов обеспечения того, чтобы различные программы могут совместно использовать различные сайты, и, наконец, попросите пользователь может добавить другие функции, такие как добавление прикладного программного обеспечения.
Семантическая сеть основана на XML (Extensible Markup Language Расширяемый Markup Langauge) язык и Resource Description Framework (RDF) для завершения. XML является инструментом для определения языка разметки, который включает в себя объявление XML, язык, используемый для определения синтаксиса DTD (определение типа документа объявление типа документа), описание тегов и подробное описание самого документа. Сам документ содержит разметку и содержание. RDF используется для выражения содержания страницы.
(2) , имеющий семантического анализа способности поисковых систем
Если сеть передачи данных может достичь короткий сотни миллионов людей, семантическая сеть интеллекта через человеческих усилий необходимо для достижения кончик мудрости толпы. Имея возможность разработки семантического анализа информации поисковой системы будет самым важным шагом в Semantic Web, этот двигатель может понять естественный язык человека, и есть некоторые рассуждения и суждения.
Семантический Search Engine (семантическая поисковая система) и семантического анализа возможности поисковых систем (семантически включен в поисковых системах) это две разные вещи. Тем не менее, первое использование Semantic Web, поиска информации, а также возможности семантического анализа поисковой системы способен понимать естественный язык, рассуждения на компьютере пользователя и в дальнейшем обеспечить более психологические ответы.
Архитектура Semantic Web находится в стадии строительства, в настоящее время международные исследования в рамках этой архитектуры еще не сформировался удовлетворительного описания строгой логики и теоретической системы, китайские ученые архитектуры осуществляется только на основе зарубежных исследований краткое введение, не сформировали систематическое изложение.
Семантическая сеть нуждается в трех ключевых технологий, поддерживаемых: XML, RDF и онтология.
XML (расширяемый язык Отмеченный, Extensible Markup Language) позволяет поставщиков информации по мере необходимости, определять свои собственные теги и имена атрибутов, так что сложная структура XML-документов может быть в любой степени.
Он имеет хороший формат для хранения данных и масштабируемым, хорошо структурированный и простой передачи данных по сети и т.д., в сочетании с его уникальным механизмом NS и схемы XML поддерживает множество типов данных и механизм проверки, что делает его Semantic Web одна из ключевых технологий.
Современные дискуссии о семантической ключевой технологии шлюза, ориентированные на RDF и онтология тела.
RDF является W3C-рекомендуемый язык, используемый для описания отношений между ресурсами и их спецификации, и имеет простой, легко расширить, открытый, легко интегрируется и легкий обмен и так далее.
Следует отметить, что, RDF определяет единственный способ описать ресурсы, но не определяет, какие данные описывают имеющиеся ресурсы. RDF состоит из трех частей: RDF Data Model, RDF-схемы и RDF Синтаксис.
Сопровождаемый:
Семантическая сеть за счет расширения существующего интернет-контента добавляется к информации, указывающей его смысл, так что компьютер может автоматически работать с людьми. То есть, семантический веб больше не только разнообразие ресурсов, связанных с информацией, но и истинный смысл его информации, тем самым улучшая автоматизацию и интеллектуальную информацию компьютерной обработки. Конечно, компьютер не имеет по-настоящему интеллигентный, семантические веб-исследователи должны установить эффективное представление информации, разработка единых стандартов, так что компьютер может автоматически обрабатывать информацию эффективно.
(Источник: Bin Zhang толстый "Информация Принципы управления и методы", Tsinghua University Press, июль 2007 Second Edition)
⇐ Предыдущая12345Следующая ⇒
Развитие приложений ИС требует реализации более легкого и удобного доступа к базам данных.
Технологии ИИ, особенно ЭС и искусственные нейронные сети (ИНС), могут сделать доступ и манипуляции в сложных БД проще. Одним из путей является усиление роли СУБД в обеспечении этого, совместно со способностью выведения заключений, что в результате получило общее название интеллектуальная БД.
Одним из вариантов интеграции ЭС и БД показан на рис.3.3.
Рис.3.3. Структура интеллектуальной базы данных, представляющая один из способов интеграции ЭС и БД.
Трудности в соединении ЭС с большими БД являются главной проблемой даже для больших корпораций.
Многие продавцы ПО, осознавая важность такой интеграции, развивают свою программную продукцию для ее поддержки. Примером такого продукта является реляционная СУБД компании Oracle, которая объединяет функциональность ЭС с БД и представляет в форме оптимизатора запросов, которые отбирает наиболее эффективные пути следования запросов БД.
Оптимизация важна для пользователей, т.к. с такой способностью им нужно знать только несколько правил и команд для использования БД.
Одним из главных текущих направлений в разработке коммерческих программ ИИ компании IBM является обеспечение подсистемы обработки знаний для работы с БД, которая дает возможность пользователям выделить информацию из БД и передать ее в базу правил ЭС в нескольких различных структурах представления знаний.
Другой продукт – это КЕЕ Connection (Intelli Corporation), который переводит команды КЕЕ (КЕЕ – Knowledge Engineering Environment) в запросы БД и автоматически поддерживает тракт данных, флуктуирующих туда и обратно между базой знаний КЕЕ и реляционной БД, использующей SQL. Другими преимуществами такой интеграции являются способности использовать символьное представление данных и улучшения в конструкции, операциях и поддержании СУБД.
Некоторые программные инструменты для добычи данных включают интеллектуальные системы, которые поддерживают интеллектуальный поиск. Интеллектуальная добыча и анализ данных (ИАД) позволяет открыть информацию в хранилищах данных, когда запросы и отчеты не могут быть обнаружены.
Инструменты ИАД находят образцы в данных и выводят из них правила. Эти образцы и правила могут быть использованы для руководства при принятии решений и прогнозировании результатов этих решений.ИАД может ускорить анализ путем сосредоточения внимания на наиболее важных переменных.
Пять типов информации может быть применено при ИАД: ассоциации, последовательности, классификации, кластеры и прогнозирование.
Основными типами программных инструментариев, используемых в ИАД, являются:
— рассуждения на основе прецедентов;
— нейронные вычисления;
— интеллектуальные агенты;
— другие средства: деревья решений, ролевая индукция, визуализация данных.
Знания в искусственном интеллекте.
База знаний.
Знание – это теоретическое и практическое понимание предмета или области.
Знаниями принято также называть хранимую в компьютере информацию, формализованную в соответствии с определенными структурными правилами, которую компьютер может автономно использовать при решении проблем на основе логического вывода. В общепринятом смысле термин «знания» стал чрезвычайно популярным, однако этому термину сложно дать определение, поскольку он включает в себя большой частью философские элементы. Если придерживаться буквального смысла термина, то его общие концепции понимаются с трудом, но когда речь заходит о представлении знаний в компьютере, то имеется в виду упомянутый ограниченный смысл. То есть, обработка знаний в компьютере представляет собой обработку их содержимого правилами преобразования тех форм, которыми описываются знания в машине.
Главная характеристика, которая отличает ИИ от других информационных систем – это то, что основной акцент ИИ – это обработка знаний (в большей степени, чем обработка данных или информации). В настоящее время знания признаны главным ресурсом организации.
Несмотря на то, что компьютер не может иметь (пока) разнообразный опыт или обучаться, как человеческий разум, он может использовать знания, данные ему людьми (экспертами). Такие знания содержат факты, понятия, теории, эвристические методы, процедуры и отношения.
Знания – это также информация, которая организована и проанализирована с целью сделать ее понятной и применимой для решения задачи или принятия решений. Коллекция совместно организованных знаний, относящихся к задачам, решаемым в системе ИИ, называется базой знаний (БЗ).
Большинство БЗ ограничены в некоторой специальной, обычно узкой предметной области, в которой они сосредоточены. При создании БЗ технология ИИ позволяет встраивать в компьютер механизм и способности вывода, основывающиеся на фактах и отношениях, содержащихся в БЗ.
⇐ Предыдущая12345Следующая ⇒
Дата добавления: 2017-03-12; просмотров: 258 | Нарушение авторских прав
Поиск на сайте:
Глава 12
В последней двенадцатой главе мы нарушим одну традицию, сложившуюся при обучении базам данных. Не принято слишком глубоко интересоваться природой отображаемых сущностей и семантикой данных. Не рассматриваются двухслойные модели данных, в которых первый слой обеспечивает структуры хранения и работу с данными в некоторой базисной модели. Второй слой работает со структурами данных, которые в первом слое рассматривались как неделимые, атомарные.
В предыдущих главах предполагалось, что в базах данных хранятся сущности, у которых есть имя и атрибуты. Атрибуты имеют тип. В объектных моделях к атрибутам добавляются ещё методы.
Появляются объектные типы, а сами сущности (классы) и их члены могут иметь не только предопределённые скалярные типы, но и объектные. Такая вот благостная и вполне привычная для программистского взгляда картина, немного усложненная свойством персистентности.
Для того, чтобы не путать сущности, хранимые в базе, с их прообразами в предметной области будем называть последние концептами (понятиями) этой области. Оказывается, что в базах данных обычно представляются всего два вида концептов. Это, как правило, концепты с одним сортом атрибутов, которые мы будем называть обязательными, и, изредка, полуструктурированные концепты, допускающие необязательные атрибуты.
Мы попробуем расширить модель представимого концепта, введя атрибуты состояния, ресурсов и смыслов. При этом обнаружится, что концепты с обязательными и необязательными атрибутами описывают замкнутые системы. Атрибуты состояния, как и следовало ожидать, характерны для динамических объектов. Атрибуты ресурсов позволяют описать обмен энергетическими, предметными и информационными сущностями и, тем самым, моделировать открытые системы.
Рассмотрим моделирование одних моделей данных в других (эмулирование), выясним достоинства, недостатки и области применения такого подхода, а также связанные с ним изменения семантики данных.
Много внимания будет уделено атрибутам смыслов, реализация которых может существенно расширить объём семантики, хранимой в базе. Мы классифицируем смыслы и опишем их реализации с помощью препроцессоров в обычных СУБД, а также предложим несложные изменения, которые необходимо внести в СУБД, чтобы получить возможность работы со смыслами.
Существуют предметные области, в которых природа данных требует использования в рассуждениях неклассических логик – модальных логик веры, знания и др. В частности, темпоральные данные могут рассматриваться как особая система смыслов, может быть, требующая использования модальных темпоральных логик.
Встраивание дедуктивных систем в обычные СУБД позволяет наряду с табличными и объектными моделями использовать вспомогательные дедуктивные модели, основанные на классической логике и, может быть, модальных логиках.
Как далеко следует заходить в насыщении базы данных семантикой? Всё зависит от того, имеется ли необходимая информация, насколько нужна семантика, что позволит сделать используемая СУБД и имеющиеся в распоряжении дополнительные программные средства, что даёт использования внешних источников семантики, например, онтологий, и от возможностей второго слоя СУБД.
В предыдущих главах значения, хранящиеся в базе, предполагались атомарными. С точки зрения отображаемой модели бизнеса они могли быть сколько угодно сложными, но рамках использованной модели данных работать с их компонентами нельзя. В базах данных давно используются модели, которые мы будем называть двухслойными. Роль первого слоя выполняет любая модель данных, для которой организованы структуры хранения данных. Второй слой работает с данными, которые ему предоставляет первый слой, но данные в нём считаются не атомарными, а известным образом организованными. Практически во всех СУБД во втором слое применяются регулярные выражения и/или различные виды XML данных. Понятно, что второй слой не влияет на структуры хранения данных непосредственно, но может предъявлять свои требования к их организации.
Вторая возможность расширения обычных моделей данных связана с хранением дополнительной семантики данных. Можно учесть особенности использования атрибутов, выделяя их разновидности – сорта. Дальше мы отметим, что сущности с обычными (обязательными) атрибутами определяют замкнутые и статические объекты. Сущности с атрибутами других сортов могут быть открытыми и динамическими.
Изучению семантики данных в базах данных препятствует некоторая недовыясненность сути предмета, отсутствие единых признанных подходов и терминологическая путаница. Определенные затруднения вызывает увеличение количества предметных областей, с которыми необходимо работать, и неизбежное усиление роли лингвистического аспекта.
Полезно заимствовать опыт тех областей знания, в которых давно занимаются семантикой.
Это лингвистика, исследующаяся естественные языки (ЕЯ), и теория языков программирования.
Прежде всего, отметим несоответствие некоторых терминов в лингвистике и информатике. Лингвисты выделяют два противопоставляемых вида элементов семантики – значения и смыслы. Значение лингвистического знака понимается как нечто стабильное, что можно сначала установить, выяснить, а затем знать. Смысл приходится всё время искать, устанавливать, разгадывать. В информатике термин ”значение” уже занят. Говоря ”переменная имеет значение” подразумеваем не семантику этой переменной, а присваивание ей конкретного экземпляра данных, или означивание, или создание экземпляра переменной, содержащего этот элемент данных. Поэтому элементы семантики мы всегда будем называть смыслами, а ”стабильность” или “контекстность” или “вариативность” смыслов будем задавать через классификацию смыслов или вводя в них дополнительные свойства.
Давно известно, что значения и смыслы — это внеязыковые сущности.
В частности, для перевода с одного естественного языка на другой ЕЯ может создаваться специальный язык функций для представления семантики, в который транслируются фразы исходного языка. А уже с этого промежуточного языка осуществляется трансляция на второй ЕЯ. Тезис о внеязыковой природе смыслов мы трансформируем для баз данных в несколько смягчённую форму как утверждение о возможности разделения данных и смыслов.
В языках программирования обратим внимание на возможность выделения нескольких видов семантики: операционной (описывается в терминах перехода состояний некоторой абстрактной машины), денотационной (в языке для представления семантики используются математические структуры, позволяющие установить возможность вычисления конструкций языка посредством специализированных функций), дедуктивной (позволяет доказывать свойства программ, в первую очередь их правильность), трансляционной (использует правила перевода на язык, семантика которого известна), основанной на таблицах решений и т.д.
Вернемся к терминологии баз данных. Существует безосновательная, но устойчивая традиция выделять некоторые модели и базы данных как семантические (и мы тут не без греха). Так модель «сущность-связь» считается семантической моделью, по-видимому, по сравнению с табличными моделями данных. Однако, семантика, обычно ограниченная, есть в любых моделях данных. Поэтому, еще в 1988 году Э. Кодд отметил, что “ярлык “семантическое” не должен интерпретироваться в каком-либо абсолютном смысле”. В тех же табличных базах семантику определяют, в частности, ключи и ограничения целостности. В базах данных с декларативными языками всегда реализуется операционная семантика, представляемая, например, планами исполнения SQL. Так что следует говорить только о большей или меньшей насыщенности моделей и баз данных семантикой.
Как же отделить элементы семантики, хранимые в базе, от обычных данных? По очень простому признаку: элементы семантики, они же смыслы, обладают активностью. Данные всегда пассивны.
Поясним сказанное на простом примере. Пусть, необходимо выбрать все записи из таблицы, например, инструкцией SELECT * FROM emp. Очевидно, СУБД должна сначала проверить существование таблицы emp по словарю и, может быть, установить, имеются ли у действующего пользователя необходимые права на эту таблицу. Если таблица не существует или недоступна, выдать сообщение об ошибке. В противном случае, установить список столбцов emp и только после этого приступить к выборке данных. Как много делается того, что прямо не было указано! Всё это обеспечивает активность, которой обладают метаданные.
Ещё один пример. Пусть мы вставляем строку в таблицу, имеющую первичный ключ. Поскольку ограничение ”первичный ключ” активно, СУБД сначала проверит уникальность вводимого значения ключа, и только если это условие выполнено, сделает то, что ей приказали – введёт запись.
Заметим, что активность смыслов выводит модели данных со смыслами за рамки обычных чисто алгебраических моделей данных.
В следующих разделах мы постараемся ответить на вопрос о том, какие смыслы, кроме перечисленных выше, можно хранить в базах данных и как это сделать. Но сначала уточним, какие виды сущностей могут храниться в базах данных.
12345Следующая ⇒
Дата публикования: 2015-01-23; Прочитано: 297 | Нарушение авторского права страницы
FILED UNDER : IT