В семантической модели выделяют типы атрибутов. Модель семантическая. «сущность – связь – атрибут»

Нормализация

Основная статья: Нормальная форма

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

Модели ʼʼсущность-связьʼʼ

Основная статья: ER-модель данных

Модель ʼʼсущность-связьʼʼ (англ. “Entity-Relationship model” ), или ER-модель, предложенная П. Ченом в 1976 ᴦ., является наиболее известным представителœем класса семантических (концептуальных, инфологических) моделœей предметной области. ER-модель обычно представляется в графической форме, с использованием оригинальной нотации П. Чена, называемой ER-диаграмма , либо с использованием других графических нотаций (Crow"s Foot , Information Engineering и др.).

Основные преимущества ER-моделœей:

· наглядность;

· модели позволяют проектировать базы данных с большим количеством объектов и атрибутов;

· ER-модели реализованы во многих системах автоматизированного проектирования баз данных (к примеру, ERWin).

Основные элементы ER-моделœей:

· объекты (сущности);

· атрибуты объектов;

· связи между объектами.

Сущность - объект предметной области, имеющий атрибуты.

Связь между сущностями характеризуется:

· типом связи (1:1, 1:N, N:М);

· классом принадлежности. Класс должна быть обязательным и необязательным. В случае если каждый экземпляр сущности участвует в связи, то класс принадлежности - обязательный, иначе - необязательный.

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

Семантическое моделирование стало предметом интенсивных исследований с конца 1970-х годов. Основным побудительным мотивом подобных исследований (ᴛ.ᴇ. проблемой, которую пытались разрешить исследователи) был следующий факт. Дело в том, что системы баз данных обычно обладают весьма ограниченными сведениями о смысле хранящихся в них данных. Чаще всœего они позволяют лишь манипулировать данными определœенных простых типов и определяют некоторые простейшие ограничения целостности, наложенные на эти данные. Любая более сложная интерпретация возлагается на пользователя. При этом было бы замечательно, в случае если бы системы могли обладать немного более широким объёмом сведений и несколько интеллектуальнее отвечать на запросы пользователя, а также поддерживать более сложные (ᴛ.ᴇ. более высокоуровневые) интерфейсы пользователя. […] Идеи семантического моделирования бывают полезны как средство проектирования базы данных даже при отсутствии их непосредственной поддержки в СУБД.

Наиболее известным представителœем класса семантических моделœей является модель ʼʼсущность-связьʼʼ (ER-модель).

Семантические модели - понятие и виды. Классификация и особенности категории "Семантические модели" 2017, 2018.

  • - Семантические модели данных

    ER-диаграммы Вопрос 35 Широкое распространение реляционных СУБД и их использование в самых разнообразных приложениях показывает, что реляционная модель данных достаточна для моделирования предметных областей. Однако проектирование реляционной базы данных... .

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


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

    Понятия делятся на:

    - События

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

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

    Если характеризующее событие имеет несколько значений, то оно называется атрибутом. Например, свойством понятия Времена года является Погода. Так как последнее имеет несколько значений: Холодная, Теплая, Дождливая и т.д., то ее можно считать атрибутом Времени года.

    Атрибуры

    Комплексы признаков

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

    В семантических сетях используются следующие отношения:

    Элемент класса;

    Атрибутные связи;

    Значение свойства;

    Пример элемента класса;

    Связи типа «часть-целое»;

    Функциональные связи, определяемые глаголами «производит», «влияет»;

    Количественные (больше, меньше, равно …);

    Пространственные (далеко от, близко от, за, под, над …);

    Временные (раньше, позже, в течение…);

    Логические связи (и, или, не) и др.

    Минимальный состав отношений в семантической сети - это элемент класса, атрибутные связи и значение свойства.

    На рис. 8 изображен пример семантической сети.

    Рис. 8 Семантическая сеть, показывающая взаимоотношения птицы и самолета.

    Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети или подсети, соответствующей поставленному вопросу.

    Вывод знаний в сетевой модели

    Для вывода знания события в сетевой модели делятся на исход­ные (признаки) и целевые (гипотезы).

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

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

    Виды семантических связей

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

    Внелексические свойства СС выражаются через:

    Rf - рефлексивность;

    Nrf - нерефлексив­ность;

    Arf - антирефлексивность (ни одной рефлексии);

    Sm - симметричность;

    Ns - несимметричность;

    Ans - антисим­метричность (ни одной симметрии);

    As - асимметричность (кон­текстное свойство - обращение связи дает иную связь из списка);

    Тг - транзитивность;

    Ntr - нетранзитивность.

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

    Относительно сочетания перечисленных свойств СС делятся на типы, представленные в (табл. 2.1.).

    1. Рефлексивность определяется по критерию подстановки:

    вме­сто объекта А подставляется объект В(АгВ -> ВгВ) и выбирается один из следующих ответов:

    вполне возможно (тавтология) ~» Rf;

    не исключено -> Nrf;

    невозможно -> Arf.

    Пример. Вегетативные расстройства сопровождаются вегета­тивными расстройствами. Ответ 1 для Com.

    2. Симметричность определяется по критерию перестановки: объекты А и В меняются местами (АгВ -» ВгА) и выясняется спра­ведливость полученного предложения. При утвердительном ответе высказыванию приписывается свойство Sm, в противном слу­чае - свойство Ns.

    Пример. Головная боль всегда сопровождается вегетативными расстройствами, и Вегетативные расстройства всегда сопровожда­ются головной болью. Ответ «Нет» для Com. Это соответствует свой­ству Ns. Свойство Ns уточняется на более сильные свойства: Ans и As. Первое имеет место для любых примеров анализируемой связи. Например, для связи Com имеет место свойство Ans.

    Плюс модели: Легка в реализации.

    Минус модели: Плохо структурирована – при большом количестве элементов можно запутаться, а при увеличении объема информации – может произоти комбинаторный взрыв.При создании любой вещи, любого изделия, любого произведения человек встает перед необходимостью неизбежного выбора среди огромного числа возможных вариантов. К чему при этом может привести простой перебор этих вариантов проследим на следующем явлении. Это явление известно в кибернетике под названием комбинаторный взрыв. Что это за "зверь" нетрудно продемонстрировать на простом примере. Допустим, что имеется некий алфавит, состоящий всего из 10 символов (букв).

    Из такого алфавита можно составить 10^^100 текстов длиной по 100 букв. Гипотетический компьютер, обладающий возможностью обрабатывать 10^^18 таких текстов в секунду, потратит на общий анализ всех текстов 10^^74 лет. Для сравнения – по современным космогоническим представлениям с момента Большого взрыва исследованной части Вселенной прошло ~10^^10 лет.

    Понятие семантической модели

    Пусть имеется два множества A и B , тогда функция f однозначно ставящая в соответствие каждому элементу называется отображением множества A на множество B , то есть .

    Элемент называется образом элемента a .

    Если существует , которое не является образом ни одного из элементов множества A , то преобразование f называется отображением множества A «в» B.

    Если f(A) = B , то отображение называется «на», A «на» B.


    Множество, задаваемое функцией , которое включает, элементы множества A называются прообразом множества B . В общем случае может обеспечить неоднозначное преобразование.

    Отображение называется взаимнооднозначным, если каждому элементу множества A соответствует один элемент множества B и наоборот.

    Отображение A «в» B называется гомоморфизм, если выполняется условие .

    Изоморфизм – множество A «на» B является взаимнооднозначным гомоморфизмом, то есть , тогда семантическая модель представляет собой изоморфизм множества A в Ψ (пси), где A – фиксированное множество элементов исследуемой области с исследуемыми связями между ними.

    Пси определяется следующим набором:

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

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

    Пример: хороший студент

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

    Семантическая модель системы

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

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

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

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

    Если =1 – это «истина», это означает, что подмодели и семантически связаны.

    Рассмотрим:

    ,

    где - входные характеристики модели;

    Набор выходов модели;

    Характеризует состояние системы в определенный момент времени.

    Зная элемент z в определенный момент времени, можно определить значение элементов y .

    f , g – это функционалы (глобальные уравнения системы) связывающие выход модели x и z , то есть они определяют текущие значения состояния системы и ее входных характеристик.

    (1.2)

    , (1.3)

    Уравнение (1.2) называется уравнением наблюдения, (1.3) – уравнение состояние.

    Если систему удается описать при помощи формул, то она уже не рассматривается как «черный ящик». Однако часто это не удается. Помимо данных выражений система определяется тремя аксиомами:

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

    2. Число элементов множества Z не должно быть меньше двух.

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

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

    Классификация систем

    Системы классифицируют:

    1) По происхождению:

    a) естественные;

    b) искусственные.

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

    2) По объективности существования:

    a) материальные системы (существуют объективно не зависимо от нашего сознания);

    b) идеальные (складывается в сознании человека).

    3) По взаимодействию с внешней средой:

    a) открытые;

    b) закрытые.

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

    4) По действию во времени:

    a) статические системы (не зависят от времени);

    b) динамические.

    На практике все системы являются динамические.

    5) По обусловленности действия:

    a) детерминированные;

    b) вероятностные.

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

    6) По степени сложности:

    a) сложные;

    b) особо сложные;

    c) простые.

    При этом учитывается иерархия системы, количество элементов и связей.

    Сложная система характеризуется:

    · целостностью реакции на внешнее воздействие;

    · большая размерность – это большое количество входов и выходов и сложный характер преобразований входных переменных в выходные;

    · сложный характер связей. Изменение любого из элементов оказывающих влияние на другие элементы.

    Свойства систем

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

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

    Эмерджентность – это появление новых свойств системы, которые не свойственны элементам системы.

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

    Обособленность – это определенная изолированность системы от внешней среды.

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

    Адаптивность – это способность системы подстраиваться под изменения внутренней и внешней среды.

    Система с управлением

    При проектировании баз данных используются семантическое моделирование для создания концептуальной модели предметной области и отражение ее спецификаций в среде конкретной СУБД. Однако зачастую полученная концептуальная схема базы данных существенно отличается от первоначальной концептуальной модели.
    В 70-е годы реляционная модель данных возникла как ответ на потребность в простой СУБД, соответствующей уровню развития компьютерной технологии своего времени. Реляционная база данных - это совокупность отношений, содержащих всю информацию, которая должна храниться в БД; пользователи могут воспринимать такую базу данных как совокупность таблиц.Сегодня гораздо важнее удобство проектирования и эксплуатации баз данных, а то, что когда-то казалось простым, математически строгим и логичным, стало восприниматься как неудобное. Семантическое расширение реляционной модели
    Большая часть данных, возникающих в ходе деятельности, например, предприятия, представляется в виде электронных и бумажных документов. С точки зрения манипулирования этими данными все аспекты хозяйственной деятельности либо являются документооборотом, либо могут быть формально к нему сведены. Сегодня доминирующее положение занимают реляционные СУБД, которые обеспечивают удобный способ хранения информации в виде таблиц.Структуру данных большинства реальных документов можно представить как произвольное иерархическое дерево с горизонтальными связями. Документы полностью хранятся в одной ячейке таблицы реляционной базы либо разбиваются на множество таблиц, а некоторые таблицы из разных документов объединяются. Однако в реляционной базе данных мы уже имеем дело с другими документами, поэтому алгоритм обработки реального документа нельзя сделать основой алгоритма программного кода хранимой процедуры. Реальные документы снова появляются лишь на уровне приложения. Здесь, по сути, мы имеем дело не с отображением, а с перепроектированием документов и, соответственно, документооборота.Как известно, целью реляционного подхода было преодоление ограничений ранних систем — иерархических и сетевых. Реляционная модель достаточна для моделирования предметных областей, но само проектирование базы в терминах отношений часто оказывается очень сложным. Потребность проектировщиков в более удобных и мощных средствах представления предметной области вызвала появление семантического моделирования .Основная цель исследований в этой области состоит в том, чтобы сделать СУБД более «разумными», максимально отражающими особенности прикладной области. Если в основу СУБД будет положена модель данных, более соответствующая семантике предметной области, то и построенные на ее основе базы данных будут больше соответствовать реальным системам, а проектирование баз данных значительно упростится. Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship). Первый вариант модели сущность-связь был предложен в 1976 г. Питером Пин-Шэн Ченом. В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация Мартина, нотация IDEF1X, нотация Баркера и др.). Кроме того, различные программные средства, реализующие одну и ту же нотацию, могут отличаться своими возможностями.По сути, все варианты диаграмм сущность-связь исходят из одной идеи - рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.Основные понятия ER-диаграмм (близко к нотации Баркера)Определение 1. Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели.Каждая сущность должна иметь наименование, выраженное существительным в единственном числе.Примерами сущностей могут быть такие классы объектов как "Поставщик", "Сотрудник", "Накладная".Каждая сущность в модели изображается в виде прямоугольника с наименованием:Определение 2. Экземпляр сущности - это конкретный представитель данной сущности.Например, представителем сущности "Сотрудник" может быть "Сотрудник Иванов".Экземпляры сущностей должны быть различимы, т.е. сущности должны иметь некоторые свойства, уникальные для каждого экземпляра этой сущности .Определение 3. Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности.Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с характеризующими прилагательными).Примерами атрибутов сущности "Сотрудник" могут быть такие атрибуты как "Табельный номер", "Фамилия", "Имя", "Отчество", "Должность", "Зарплата" и т.п.Атрибуты изображаются в пределах прямоугольника, определяющего сущность:Определение 4. Ключ сущности - это неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности. Неизбыточность заключается в том, что удаление любого атрибута из ключа нарушается его уникальность.Сущность может иметь несколько различных ключей.Ключевые атрибуты изображаются на диаграмме подчеркиванием:Определение 5. Связь - это некоторая ассоциация между двумя сущностями. Одна сущность может быть связана с другой сущностью или сама с собою.Связи позволяют по одной сущности находить другие сущности, связанные с нею.Например, связи между сущностями могут выражаться следующими фразами - "СОТРУДНИК может иметь несколько ДЕТЕЙ", "каждый СОТРУДНИК обязан числиться ровно в одном ОТДЕЛЕ".Графически связь изображается линией, соединяющей две сущности:Каждая связь имеет два конца и одно или два наименования. Наименование обычно выражается в неопределенной глагольной форме: "иметь", "принадлежать" и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности.Каждая связь может иметь один из следующих типов связи:Связь типа один-к-одному означает, что один экземпляр первой сущности (левой) связан с одним экземпляром второй сущности (правой). Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две.Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны "один") называется родительской, правая (со стороны "много") - дочерней.Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи , допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности.Каждая связь может иметь одну из двух модальностей связи :Модальность "может" означает, что экземпляр одной сущности может быть связан с одним или несколькими экземплярами другой сущности, а может быть и не связан ни с одним экземпляром.Модальность "должен" означает, что экземпляр одной сущности обязан быть связан не менее чем с одним экземпляром другой сущности.Связь может иметь разную модальность с разных концов.Описанный графический синтаксис позволяет однозначно читать диаграммы, пользуясь следующей схемой построения фраз:Каждый экземпляр СУЩНОСТИ 1 МОДАЛЬНОСТЬ СВЯЗИ НАИМЕНОВАНИЕ СВЯЗИ ТИП СВЯЗИ экземпляр СУЩНОСТИ 2 .Каждая связь может быть прочитана как слева направо, так и справа налево. Например,
    Слева направо: "каждый сотрудник может иметь несколько детей".
    Справа налево: "Каждый ребенок обязан принадлежать ровно одному сотруднику".Разработкa простой ER-модели При разработке ER-моделей мы должны получить следующую информацию о предметной области:*Список сущностей предметной области.
    *Список атрибутов сущностей.
    *Описание взаимосвязей между сущностями.ER-диаграммы удобны тем, что процесс выделения сущностей, атрибутов и связей является итерационным. Разработав первый приближенный вариант диаграмм, мы уточняем их, опрашивая экспертов предметной области. При этом документацией, в которой фиксируются результаты бесед, являются сами ER-диаграммы.Например, проектируемая система должна выполнять следующие действия:Хранить информацию о покупателях.
    Печатать накладные на отпущенные товары.
    Следить за наличием товаров на складе.Выделим все существительные в этих предложениях - это будут потенциальные кандидаты на сущности и атрибуты, и проанализируем их (непонятные термины будем выделять знаком вопроса):Покупатель - явный кандидат на сущность.
    Накладная - явный кандидат на сущность.
    Товар - явный кандидат на сущность
    (?)Склад - а вообще, сколько складов имеет фирма? Если несколько, то это будет кандидатом на новую сущность.
    (?)Наличие товара - это, скорее всего, атрибут, но атрибут какой сущности?
    Сразу возникает очевидная связь между сущностями - "покупатели могут покупать много товаров" и "товары могут продаваться многим покупателям". Первый вариант диаграммы выглядит так:Куда поместить сущности "Накладная" и "Склад" и с чем их связать? Спросим себя, как связаны эти сущности между собой и с сущностями "Покупатель" и "Товар"? Покупатели покупают товары, получая при этом накладные, в которые внесены данные о количестве и цене купленного товара. Каждый покупатель может получить несколько накладных. Каждая накладная обязана выписываться на одного покупателя. Каждая накладная обязана содержать несколько товаров (не бывает пустых накладных). Каждый товар, в свою очередь, может быть продан нескольким покупателям через несколько накладных. Кроме того, каждая накладная должна быть выписана с определенного склада, и с любого склада может быть выписано много накладных. Таким образом, после уточнения, диаграмма будет выглядеть следующим образом:Пора подумать об атрибутах сущностей:Каждый покупатель является юридическим лицом и имеет наименование, адрес, банковские реквизиты.
    Каждый товар имеет наименование, цену, а также характеризуется единицами измерения.
    Каждая накладная имеет уникальный номер, дату выписки, список товаров с количествами и ценами, а также общую сумму накладной. Накладная выписывается с определенного склада и на определенного покупателя.
    Каждый склад имеет свое наименование.Снова выпишем все существительные, которые будут потенциальными атрибутами, и проанализируем их:Юридическое лицо - термин риторический, мы не работаем с физическими лицами. Не обращаем внимания.
    Наименование покупателя - явная характеристика покупателя.
    Адрес - явная характеристика покупателя.
    Банковские реквизиты - явная характеристика покупателя.
    Наименование товара - явная характеристика товара.
    (?)Цена товара - похоже, что это характеристика товара. Отличается ли эта характеристика от цены в накладной?
    Единица измерения - явная характеристика товара.
    Номер накладной - явная уникальная характеристика накладной.
    Дата накладной - явная характеристика накладной.
    (?)Список товаров в накладной - список не может быть атрибутом. Вероятно, нужно выделить этот список в отдельную сущность.
    (?)Количество товара в накладной - это явная характеристика, но характеристика чего? Это характеристика не просто "товара", а "товара в накладной".
    (?)Цена товара в накладной - опять же это должна быть не просто характеристика товара, а характеристика товара в накладной. Но цена товара уже встречалась выше - это одно и то же?
    Сумма накладной - явная характеристика накладной. Эта характеристика не является независимой. Сумма накладной равна сумме стоимостей всех товаров, входящих в накладную.
    Наименование склада - явная характеристика склада.С возникающим понятием "Список товаров в накладной" все довольно ясно. Сущности "Накладная" и "Товар" связаны друг с другом отношением типа много-ко-многим. Такая связь, как мы отмечали ранее, должна быть расщеплена на две связи типа один-ко-многим. Для этого требуется дополнительная сущность. Этой сущностью и будет сущность "Список товаров в накладной". Связь ее с сущностями "Накладная" и "Товар" характеризуется следующими фразами - "каждая накладная обязана иметь несколько записей из списка товаров в накладной", "каждая запись из списка товаров в накладной обязана включаться ровно в одну накладную", "каждый товар может включаться в несколько записей из списка товаров в накладной", " каждая запись из списка товаров в накладной обязана быть связана ровно с одним товаром". Атрибуты "Количество товара в накладной" и "Цена товара в накладной" являются атрибутами сущности " Список товаров в накладной".Точно также поступим со связью, соединяющей сущности "Склад" и "Товар". Введем дополнительную сущность "Товар на складе". Атрибутом этой сущности будет "Количество товара на складе". Таким образом, товар будет числиться на любом складе и количество его на каждом складе будет свое.Теперь можно внести все это в диаграмму:Концептуальные и физические ER-модели Разработанный выше пример ER-диаграммы является примером концептуальной диаграммы. Это означает, что диаграмма не учитывает особенности конкретной СУБД. По данной концептуальной диаграмме можно построить физическую диаграмму, которая уже будут учитываться такие особенности СУБД, как допустимые типы и наименования полей и таблиц, ограничения целостности и т.п. Приведенный физический вариант диаграммы может выглядеть, например, следующим образом:На данной диаграмме каждая сущность представляет собой таблицу базы данных, каждый атрибут становится колонкой соответствующей таблицы. Обращаем внимание на то, что во многих таблицах, например, "CUST_DETAIL" и "PROD_IN_SKLAD", соответствующих сущностям "Запись списка накладной" и "Товар на складе", появились новые атрибуты, которых не было в концептуальной модели - это ключевые атрибуты родительских таблиц, мигрировавших в дочерние таблицы для того, чтобы обеспечить связь между таблицами посредством внешних ключей.Таким образом, реальным средством моделирования данных является не формальный метод нормализации отношений, а так называемое семантическое моделирование.В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship).Диаграммы сущность-связь позволяют использовать наглядные графические обозначения для моделирования сущностей и их взаимосвязей.Сущности, определенные в концептуальной диаграмме становятся таблицами, атрибуты становятся колонками таблиц (при этом учитываются допустимые для данной СУБД типы данных и наименования столбцов), связи реализуются путем миграции ключевых атрибутов родительских сущностей и создания внешних ключей .Основное достоинство метода состоит в том, модель строится методом последовательных уточнений первоначальных диаграмм.Не рассматривались более сложные аспекты построения диаграмм, такие как подтипы, роли, исключающие связи, непереносимые связи, идентифицирующие связи и т.п.

    Модель семантических сетей

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

    Обычно в семантической сети предусматриваются четыре категории вершин:

    Понятия (объекты),

    События,

    Свойства,

    Значения.

    Понятия представляют собой константы или параметры, которые определяют физические или абстрактные объекты.

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

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

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

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

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

    В синтаксических моделях (реляционной, сетевой или иерархической) для обеспечения такой связи потребуется дублирование информации об объекте.

    Все семантические отношения предметной области можно разделить на следующие:

    Лингвистические,

    Логические,

    Теоретико-множественные,

    Квантификационные.

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

    Логические отношения подразделяются на конъюнкцию (и), дизъюнкцию (или), отрицание (не) и импликацию (если – то).

    Теоретико-множественные отношения - это отношение подмножества, отношение части и целого, отношение множества и элемента.

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

    При установлении структуры понятий существуют две обязательные связи

    1- связь "есть-нек" (от слов "есть некоторый"). Направлена от частного понятия к более общему и показывает принадлежность элемента к классу;

    2- связь "есть-часть". Показывает, что объект содержит в своем составе разнородные компоненты (объекты), не подобные данному объекту.

    Пример семантической сети для описания структуры понятия "юридическое лицо" приведен на следующем рисунке.

    Рисунок 4.2 Элементы семантической сети

    Связь "есть-нек" обозначается одной линией, связь "есть-часть" – двумя.

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

    1. агент - предмет, являющийся инициатором действия;

    2. объект - предмет, подвергающийся действию;

    3. источник - размещение предмета перед действием;

    4. приемник - размещение предмета после действия;

    5. время - указание на то, когда происходит событие;

    6. место - указание на то, где происходит событие;

    7. цель - указание на цель действия.

    Рассмотрим пример: Директор завода "САЛЮТ" остановил 25.03.90 цех № 4, чтобы заменить оборудование

    Рисунок 4.3 Пример семантической сети

    Преимущества семантических сетей:

    1) описание объектов и событий на уровне, очень близком к естественному языку;

    2) обеспечивается возможность сцепления различных фрагментов сети;

    3) возможные отношения между понятиями и событиями образуют достаточно небольшое и хорошо формализованное множество;

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

    4.4 Базы знаний

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

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

    Запросы, которые формулируются пользователями инфор­мационной системы, реализуются одним из двух возможных способов:

    Сообщения, являющиеся ответом на запрос, хранятся в явном виде в БД, и процесс получения ответа представ­ляет собой выделение подмножества значений из файлов БД, удовлетворяющих запросу;

    Ответ не существует в явном виде в БД и формируется в про­цессе логического вывода на основании имеющихся дан­ных.

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

    Сведения, которые отражают существующие в предметной области закономерности и позволяют выводить новые фак­ты, справедливые в данном состоянии предметной облас­ти, но отсутствующие в БД, а также прогнозировать потен­циально возможные состояния предметной области;

    Сведения о структуре ЭИС и БД (метаинформация);

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

    Принято говорить не о "знаниях вообще", а о знаниях, за­фиксированных с помощью той или иной модели знаний.



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

    4.5 Продукционная модель знаний

    Продукционная модель состоит из трех основных компо­нентов:

    Набора правил, представляющего собой в продукцион­ной системе базу знаний;

    Рабочей памяти, в которой хранятся исходные факты и результаты выводов, полученных из этих фактов;

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

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

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

    Пример

    Предположим, что в рабочей памяти хранятся следующие факты:

    Доля выборки записей равна 0,09;

    ЭВМ - PC XT.

    Правила логического вывода имеют вид:

    1) Если метод доступа индексный, то СУБД - dBASE 3.

    2) Если метод доступа последовательный, то СУБД - dBASE 3.

    3) Если доля выборки записей <0,1, то метод доступа - индекс­ный.

    4) Если СУБД - dBASE 3 и ЭВМ - PC XT, то программист -Иванов.

    Механизм вывода сопоставляет факты из условной части каждо­го правила с фактами, хранящимися в рабочей памяти. В данном при­мере сопоставление условия правила 3 с фактами из рабочей памяти приводит к добавлению нового факта "Метод доступа - индексный" и исключению правила 3 из списка применяемых правил.

    С учетом нового факта становится справедливой условная часть правила 1, и в рабочей памяти появляется факт "СУБД -dBASE З". Далее становится применимым правило 4, что приводит к фиксации в рабочей памяти факта "Программист - Иванов". В этот момент дальнейшее применение правил невозможно, и про­цесс вывода останавливается. Наш пример показывает, что при­менимость каждого правила из базы знаний в процессе вывода вовсе не обязательна.

    Новые факты, полученные механизмом вывода:

    Метод доступа - индексный,

    СУБД-dBASE 3,

    Программист - Иванов.

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

    Предположим, что в нашем примере запрос цели имеет вид:

    ? "программист - Иванов".

    Эта цель подтверждается правилом 4. Необходимые для пра­вила 4 факты - "ЭВМ - PC XT" и "СУБД - dBASE 3". Первыйизних присутствует в рабочей памяти, а второй становится новой целью. Для этой цели требуется подтверждение правила 1 или пра­вила 2. Факт-условие правила 2 не содержится в рабочей памяти и не является заключением существующих правил. Поэтому данная ветвь обратного вывода обрывается. Для применения правила 1 необходим факт "Метод доступа - индексный", он является зак­лючением правила 3, а условие правила 3 соблюдается (в рабочей памяти хранится факт "Доля выборки записей равна 0.09").

    В итоге первоначальная цель "программист-Иванов" призна­ется истинной.

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

    Представление знаний в виде набора правил имеет следу­ющие преимущества:

    Простота создания и понимания отдельных правил;

    Простота механизма логического вывода.

    К недостаткам этого способа организации базы знаний относятся:

    Неясность взаимных отношений правил;

    Отличие от человеческой структуры знаний.

    4.6 Фреймы

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

    Фрейм представляет собой таблицу, структура и принци­пы организации которой являются развитием понятия отно­шения в реляционной модели данных. Новизна фреймов оп­ределяется двумя условиями:

    1) имя атрибута может в ряде случаев занимать в фрейме позицию значения,

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

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

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

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

    S (тот же). Слот наследуется с теми же значениями данных;

    U (уникальный). Слот наследуется, но данные могут принимать любые значения;

    I (независимый). Слот не наследуется.

    Указатель типа данных. К типам данных относятся:

    FRAME (указатель) - указывает имя фрейма верхнего уровня;

    ATOM (переменная),

    TEXT (текстовая информация),

    LIST (список),

    LISP (присоединенная процедура).

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

    Рассмотримпример использования системы фреймов. Иерар­хия фреймов, показанная на рис. 4.4.а, отображает организацион­ную структуру и работы, выполняемые в некотором отделе конст­рукторского бюро. Она предназначена для фиксации факта окончания отдельных работ исполнителями, группами и отделом в це­лом. Фрейм ROOT является стандартным фреймом, все другие фреймы должны быть подчинены ему. Слот АКО используется для установления иерархии фреймов.

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

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

    1)знания организованы на основе концептуальных объек­тов;

    2)допускается комбинация представления декларативных (как устроен объект) и процедурных (как взаимодейству­ет объект) знаний;

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

    4)система фреймов легко расширяется и модифицируется.

    Трудности применения фреймовой модели знаний в ос­новном связаны с программированием присоединенных про­цедур.

    Имя слота Указатель наследования Указатель Типа Значение слота
    FRAME-NAME: DEP
    АКО (U) ROOT FRAME ROOT
    DESINF (U) ROOT TEXT (ОТДЕЛ 23)
    DATE (U) ROOT LIST
    ТЕМА (I) .TOP. LIST (TEMA1 ТЕМА2)
    ТЕМА1 (I) «TOP» LIST NIL
    ТЕМА2 (I) .TOP. LIST NIL
    FLAG1 (I) «TOP. ATOM
    FLAG2 (I) TOP. ATOM
    LOGIC (U) «TOP. LISP MAIN
    FRAME-NAME: TEMA1
    АКО (U) ROOT FRAME DEP
    DESINF (U) ROOT TEXT (КОНСТРУИРОВАНИЕ ПЛЕЕРА)
    DAE (U) ROOT LIST
    FAM (I) «TOP. LIST (FAM1 FAM2 FAM3)
    FAM1 (I) TOP» LIST NIL
    FAM2 (I) «TOP. LIST NIL
    FAM3 (I) TOP. LIST NIL
    FLAG1 (1) .TOP* ATOM
    FLAG2 (1) «TOP» ATOM
    FLAG3 (1) TOP» ATOM
    LOGIC (U) TOP. LISP COMP1
    FRAME-NAME: FAM1
    AKO (U) ROOT FRAME TEMA1
    DESINF (U) ROOT TEXT (ЛЕНТОПРОТЯЖНЫЙ
    МЕХАНИЗМ)
    DATE (U) ROOT LIST
    TODAY (1) «TOP» ATOM
    ENDDATE (1) .TOP. ATOM 02.04.91
    LOGIC (U) .TOP» LISP COMPDATE

    Рисунок 4.4 Пример базы знаний фреймового типа:

    а - иерархия фреймов; б - значения слотов

    4.7 Семантические сети для представления знаний

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

    Рассмотримпример семантической сети, отображающий под­чиненность сотрудников в отделе учреждения, приведенный на рис. 35,а. Приводятся связи, показывающие подчиненность пер­вого сотрудника. Остальные сотрудники отдела связываются че­рез вершины сети связями типа "руководит 2", "руководит 3" и т. д.

    Вопрос "Кто руководит Серовым?" представляется в виде под­сети, показанной на рис. 4.5,б. Сопоставление общей сети с сетью запроса начинается с фиксации вершины "руководит", имеющей ветвь "объект", направленную к вершине "Серов". Затем произ­водится переход по ветви "руководит", что и приводит к ответу "Петров"

    Рисунок 4.5 Примеры: а - семантической сети;

    б - сети логического вывода для запроса

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