Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
эконом.информатика (материал).doc
Скачиваний:
3
Добавлен:
25.12.2018
Размер:
257.02 Кб
Скачать

Представление данных

I.Уровни моделей данных

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

Различают 3 уровня моделей представления данных:

  • уровень внешних моделей – ориентированы на разные типы конечных пользователей БД, т.е. описывают те данные, которые представляют интерес для конкретных категорий пользователей. В них отражаются разные взгляды на одни и те же объекты и связи между ними. Этот этап выполняется специалистами в той предметной области, для которой предполагается создание БД.

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

  • уровень внутренней модели физического хранения данных в памяти ЭВМ – внутренние модели ориентированы на конкретные особенности программных свойств и ЭВМ, с помощью которых реализуется БД. Такая модель представляет собой конкретное машинное представление данных. Эти работы выполняются специалистами в области СУБД.

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

II.Абстракции

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

Элементарная форма абстракции – обобщение конкретных значений в типы свойств или конкретных экземпляров объекта в типы объектов.

Например, тип свойства ИМЯ – абстракция множества конкретных имен. Тип объекта КЛИЕНТ – абстракция множества представлений о конкретных клиентах.

Абстракция может быть многоуровневой, т.е. абстракция одного уровня может рассматриваться как объект абстракции другого уровня. Таком образом, абстракция одного уровня может использоваться для формирования нового типа следующего уровня абстракции. Например, тип объекта ЛИЧНОСТЬ может являться абстракцией типов объектов КЛИЕНТ и СЛУЖАЩИЙ. Абстракция может порождать сложные типы, которые состоят из других типов. Например, тип объекта КЛИЕНТ может состоять из типов свойств Номер, Имя, Адрес, Возраст. Формально записывается так: КЛИЕНТ (Номер, Имя, Адрес, Возраст).

К элементам данных применяют два вида абстракции: агрегация и обобщение.

Агрегация – абстракция, с помощью которой объект конструируется из других объектов. В этом случае внимание уделяется тем свойствам, характеристикам, деталям, атрибутам, из которых состоит объект, а все остальное считается несущественным. Агрегация используется как на уровне конкретных экземпляров (экземпляр типа объекта, т.е. описание конкретного объекта, относящееся к этому типу), так и на уровне типов (тип объекта состоит из типов свойств). Например, тип объекта КЛИЕНТ может быть сконструирован из типов свойств Номер, Имя, Адрес и Возраст. Тогда каждый экземпляр этого типа объекта должен быть сконструирован из конкретных значений именно этих типов свойств, причем в строго определенном порядке. Например, 20, Иваново, Иваново, 20.

Типы свойств составляют типы объектов и относятся к интенсиональной информации => называются интенсиональными свойствами. Конкретные реализации (экземпляры) какого-либо типа объекта конструируются из конкретных экземпляров (значений) интенсиональных типов свойств. Эти свойства реализации относятся к интенсиональной информации => называются интенсиональными свойствами. Агрегация на уровне типов предполагает множество агрегаций на уровне экземпляров. Агрегация позволяет раскрыть структуру объектов. Часто агрегацию лписывают с помощью так называемой схемы агрегации . В ней типы объектов обозначаются прописными буквами и показываются прямоугольниками, а типы свойств – строчными (первая – прописная) и показываются овалами. Прямоугольники и овалы называются вершинами, они соединяются линиями со стрелками в направлении от типов свойств к тем типам объектов, которые из них состоят. Эти линии называются дугами, на дугах располагаются метки, определяющие порядок типов свойств, составляющих тип объекта.

Например,

Имя 1 Возраст 2 Адрес

1 2 3 3

СЛУЖАЩИЙ СТУДЕНТ

4 5 4 5

Зарплата Университет Факультет

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

Например,

ЛИЧНОСТЬ

СЛУЖАЩИЙ СТУДЕНТ

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

Например, из-за того, что тип ЛИЧНОСТЬ есть обобщение типов СЛУЖАШИЙ и СДУДЕНТ, каждый конкретный служащий или студент рассматривается как личность.

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

Например,

ЛИЧНОСТЬ

1 2 3

Имя Возраст Адрес

СЛУЖАЩИЙ СТУДЕНТ

4 5 4 5

Зар. Плата Университет Факультет

III.Множество. Кортеж.

Под множеством понимается совокупность объектов, удовлетворяющих условию принадлежности каждого объекта данному множеству. Множество описывается (задается) следующим образом: имя множества = { описание элементов } .

Множество может быть задано экстенсионально и интенсионально. В первом случае в фигурных скобках перечисляются все элементы, которые допустимы в множестве (составляют это множество). Например, М={0,1,2,3,4,5,6,7,8,9}.При интенсиональном способе в фигурных скобках указываются 2 части, разделенные вертикальной чертой (слева от нее – условное обозначение любого элемента множества, справа – условие принадлежности).

Например, М = {а|а – целое, 0≤a≤9}.

Условие принадлежности можно записывать по-разному. Например, множества R={x|x=0 или x=1}и Q={y | y – двоичное число} эквивалентны.

В множестве допустимо дублирование элементов и их расположение в любом порядке. Например, эквивалентными считаются множества М1={1,2,3}и М2={2,1,3,2,3}.

Кортеж – упорядоченное множество элементов, т.е. в кортеже элементы расположены в строго определенном порядке.

Формально кортеж записывается следующим образом: R=<m1,m2mn>. В кортеже дублирование элементов и изменение их порядка приводит к образованию другого кортежа, т.к. элементы будут находиться в других позициях. Например, кортежи R1=<1,2,3> и R2=<3,1,2,3> различны.

В зависимости от количества элементов различают одноместные, двухместные …и n-местные кортежи. Например, R – n-местный, R1 – трехместный, R2 – четырехместный.

IV.Домены и атрибуты.

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

ЦЕЛЫЕ = {x|x – целый, 1≤x≤999999}

ЦЕЛЫЕ = {x|x – целый, шестизначный, положительный}.

Это приводит к разному интенсиональному определению атрибута. Подобные множества допустимых значений для атрибута в моделировании данных называются доменами. При этом говорят: «атрибут определен на домене». Несколько атрибутов могут быть определены на одном домене, в этом случае его можно рассматривать как обобщение этих атрибутов. Атрибуты, определенные на общем домене, наследуют его свойства => для описания определения нескольких атрибутов на одном и том же домене можно использовать схему обобщение.

Например,

ВЕЩЕСТВЕННЫЕ - домен

Зарплата Заем Залог Прибыль - атрибуты

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

Атрибуты существуют в модели не сами по себе, а как компоненты других объектов. С помощью агрегации они объединяются и составляют типы объектов и типы связей. Типы объектов необходимы, чтобы можно было описывать конкретные объекты, а типы связей – чтобы отражать в моделях связи между конкретными объектами разных типов. Кортеж конкретных значений атрибутов, составляющих тип, называется экземпляром этого типа. Например, КЛИЕНТ (Номер, Имя, Адрес). Конкретным экземпляром этого типа будет являться трехместный кортеж, на первом месте которого значение атрибута Номер, на втором – конкретное значение атрибута Имя, на третьем – Адрес. Например, 20, Иванов, Томск.

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

V.Отношение

Декартовым (прямым) произведением множеств S1,S2…Sn называется множество

R={<a1,a2…an>| a1 Є S1, a2 Є S2, …an Є Sn}.

Для краткости записи часто используют следующую формулу R= S1×S2×…×Sn , здесь знак «×» не имеет смысла операции «умножение», а используется лишь для краткости записи декартова произведения.

Отношением между множествами называется подмножество прямого произведения этих множеств, т.е. множество кортежей, удовлетворяющих дополнительному условию. Например, если множество A={1,3,8,9} и множество B={2,5}, то декартовым произведением этих множеств будет являться: S=A×B={<1,2>,<1,5>,<3,2>,<3,5>,<8,2>,<8,5>,<9,2>,<9,5>}.Тогда отношением, выражающим связь между этими множествами, «элемент множества А < элемента множества В» (условно А < В) является следующее: Q={< x, y >|x Є A, y Є B, x < y}(интенсиональная формула) = {<1,2>,<1,5>,<3,5>}(экстенсиональная формула).

Каждый кортеж отношения показывает конкретную связь между конкретными элементами, связанных множеств => отношение – множество, выражающее связь (соответствие) между элементами двух или более множеств. Бинарное отношение выражает связь между элементами двух множеств, тернарное – трех множеств, четырехарное – четырех множеств и т.д. n-арное – n множеств.

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

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

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

VI.Табличное представление данных.

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

Каждая таблица представляет экстенсионал какого-либо типа. В строках содержатся экземпляры данного типа, а в столбцах – экстенсионалы атрибутов. Таблицам присваивают имена тех типов, которые они представляют, а столбцам – имена соответствующих атрибутов.

В моделировании данных используют 2 вида таблиц:

  • реляционные

  • таблицы записей.

В первом случае таблица представляет собой отношение, т.е. множество кортежей, каждый из которых является экземпляром соответствующего типа объекта или типа связи => порядок расположения кортежей в таблице не играет роли и одинаково изображенные кортежи считаются одинаковыми по смыслу => их дублирование не допускается. В связи с этим такие таблицы часто называют отношениями или реляционными таблицами (relation – отношение).

Если в таблице порядок расположения экземпляров в строках имеет значение, то эта таблица представляет собой кортеж экземпляров соответствующего типа объекта или типа связи => в такой таблице допускается дублирование экземпляров. Эти таблицы называются таблицами записей, а строки – записями.

VII. Представление данных в виде графа

Графом называется кортеж двух множеств Q = <X,Y>, где X={ x1,x2…xn } - множество вершин, а Y = { y1,y2…yn } – множество дуг (ребер), соединяющих вершины множества X. Каждое из yi соединяет вершины, например, xj и yk, т.е. yi = <xj,yk>. В данном случае дуги имеют направление, поэтому граф называется ориентированным.

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

Чаще всего граф изображается в виде рисованной схемы. Например:

y1 x1

x2 y4

x3

y3

y2

x4

x5

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

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

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

Номер

Имя Возраст Адрес

VIII.Отображение

Правило (R), которое элементам одного множества (S1) ставит в соответствие элементы другого множества (S2), называется отображением из S1 в S2. Кратко это записывается следующим образом: R: S1 S2

Отображение описывает связь элементов одного множества с элементами другого. Например, если есть множество клиентов КЛИЕНТ и множество счетов СЧЕТ, то таблица ВЛАДЕНИЕ, в которой для каждого конкретного клиента указаны все счета, которыми он владеет, является отображением из множества КЛИЕНТ в множество СЧЕТ, т.е. ВЛАДЕНИЕ: КЛИЕНТ → СЧЕТ.

Если a – элемент множества S1, т.е. a Є S1, то множество соответствующих ему элементов в S2 называется его образом при отображении R и обозначается R(a).

S1 R S2

Q

Q: S2 → S1

Q: S2 → S1- обратное R: S1 S2, если оно любому элементу b Є S2 ставит в соответствие такое множество Q(b) элементов в S1, образом которых при отображении R является данный элемент b, т.е. R(Q(b)) =b.

Заметим, что для любого отображения существует обратное ему отображение. Отображение, обратное R: S1 S2, обозначается R-1: S2 S1.

k Є КЛИЕНТ

<k,s> s Є СЧЕТ

s Є ВЛАДЕНИЕ (k)

Если для каждого a Є S1 существует образ R(a) S2 (т.е. подмножество совпадает), то R называется полным отображением. Если в S1 существуют элементы, для которых нет образов в S2, то R – частичное (неполное) подмножество.

Количество элементов одного множества, связанных с одним элементом другого (т.е. количество элементов в образе этого элемента), называется кардинальным числом данного элемента.

Для любого отображения можно определить минимальное и максимальное кардинальные числа. Минимальным (максимальным) кардинальным числом при R: S1 S2 называется минимальное (максимальное) количество элементов в образах элементов множества S1. Например, S1 – min = 0,max = 2.

Бинарное отношение Т множеств S1 и S2 определяет 2 отображения: R: S1 S2 и R-1: S2 S1, каждое из которых является обратным по отношению к другому => будем записывать бинарное отношение, указывая min и max кардинальные числа для каждого отображения следующим образом: T(S1(n1,n2) : S2(m1,m2)).

Такая запись означает, что множества S1 и S2 связаны отношением Т, причем каждый элемент множества S1 может быть связан с любым количеством от m1 (min кардинальное число) до m2 (max кардинальное число) элементов в множестве S2, а каждый элемент из S2, в свою очередь, может быть связан с любым количеством от n1 до n2 элементов в множестве S1.

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

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

Например, T(S1(n1,n2) : S2(m1,∞)) означает, что каждый элемент S1 может быть связан с любым количеством элементов в множестве S2, но не менее, чем с m1 элементами. Значения min кардинальных чисел показывает полноту отображения. Нулевое значение указывает на частичность отображения, а не нулевое – на полноту.

Вид связи между множествами определяется значениями max кардинальных чисел. Различают 3 вида связи:

  • один-к-одному = взаимно однозначная связь

  • один-ко-многим = функциональная связь

  • многие-ко-многим

Если оба max кардинальных числа >1, то такое отношение называется связью многие-ко-многим или (N:M)-связью. Для типов объектов это означает, что каждый экземпляр одного типа объекта может быть связан с несколькими экземплярами другого. Например, ВЛАДЕНИЕ (КЛИЕНТ(0,2(∞)):СЧЕТ(1,3)). Здесь записано, что отображение R:КЛИЕНТ→СЧЕТ является полным, а R-1:СЧЕТ→КЛИЕНТ – частичное. Кроме этого здесь указан вид связи многие-ко-многим.

Если одно max кардинальное число=1, а другое - >1, то такое отношение называется связью один-ко-многим, функциональной или (1:N)-связью. При функциональной связи типов объектов каждый экземпляр одного типа объекта может быть связан с несколькими другого, но не наоборот. Например, ВЛАДЕНИЕ(КЛИЕНТ(0,1):СЧЕТ(1,3)).

Если оба max кардинальных числа=1, то такое отношение называется связью один-к-одному, взаимно однозначной или (1:1)-связью. Эти виды связи могут быть характерны не только для типов объектов, но и для атрибутов. Взаимно однозначная связь для атрибутов означает, что каждое значение одного атрибута может быть связано только с одним значением другого атрибута. Соответственно понимаются и другие виды связей для атрибутов.

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

Например,

КЛИЕНТ СЧЕТ

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

Например,

КЛИЕНТ СЧЕТ

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

Например,

КЛИЕНТ СЧЕТ

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

IX.Типы моделей представления данных

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

Основными являются 3 типа моделей:

- реляционная – табличная модель, основана на представлении данных в виде реляционных таблиц (отношений). Интенсионал такой модели представляется в виде множества так называемых схем отношений. Каждая такая схема отношения задается именем соответствующего типа (объекта или связи) и списком имен его атрибутов, указанным в круглых скобках после имени типа. Например, КЛИЕНТ (Номер клиента, Имя, Возраст, Адрес). В реляционной модели в виде отношений представляются как типы объектов, так и типы связей. Часто взаимно однозначные и функциональные связи представляются неявным образом в отношениях, соответствующих связанным типам объектов. Для этого используются ключи. Например, если кроме типа объекта КЛИЕНТ имеется тип объекта СЧЕТ (Номер счета, Тип), и связь между ними функциональная (клиент может владеть несколькими счетами, но счетом может владеть только один клиент), то можно поместить в тип объекта СЧЕТ ключевой атрибут Номер клиента из типа объекта КЛИЕНТ =>СЧЕТ(Номер счета, Тип, Номер клиента). Это позволит отражать связи между счетами и клиентами без формирования нового отношения. Такой способ представления связей называется распространением ключа. Вид связи многие-ко-многим представляется отдельными отношениями.

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

Иерархическую модель можно представить в виде перевернутого дерева (корень – вверху,ветви направлены вниз).

Уровень 1 - корневой узел

Уровень 2

Уровень3

- листья

- исходный

Уровень 4 - порожденный

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

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

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

Например,

ПОСТАВЩИК ПАРТИЯ ТОВАРА

- сложная

связь

РАСЦЕНКА ЗАКАЗ НА ПОКУПКУ

СТАТЬИ ЗАКУПКИ

X.Ограничение целостности

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

Третий вид ограничений – ограничения, которые следуют из явных и внутренних (неявных), их называют подразумеваемыми. Например, в иерархических моделях каждая вершина связана не более, чем с одной исходной вершиной => подразумеваемое ограничение: каждый экземпляр соответствующего типа объекта связан непосредственно не более, чем с одним экземпляром исходного типа объекта.

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

Например,

ЦЕЛЫЕ

ГОДЫ ДЕНЬГИ

Возраст

клиента Возраст Прибыль Залог

дома

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

Важным классом явных ограничений являются ограничения, заданные на отображение между атрибутами или типами объектов. Задавая разные min и max кардинальные числа, мы получим разные виды отображений. Если отображение R: S1 S2 является полным, то соответствующее ограничение называется ограничением по существованию (ограничением по зависимости) и означает следующее: для существования элемента множества S1 необходимо, чтобы он обязательно был связан хотя бы с одним элементов множества S2.

Представление знаний

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

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

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

Знания:

- декларативные – описывают характеристики, свойства, особенности объектов, явлений и их связей

- процедурные – описывают действия, операции, процессы

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

  • логическая – для знаний относительно логических фактов, которые могут быть либо истинными, либо ложными, дает возможность представить декларативные знания

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

  • семантическая сеть – применяется в том случае, если в предметной области большое разнообразие связей между объектами

  • фреймовая – удобна, когда объекты, ситуации, явления описываются большим множеством характеристик и свойств