Создание логической модели. Логическая модель базы данных

Логическая модель – графическое представление структуры базы данных с учетом принимаемой модели данных (иерархической, сетевой, реляционной и т.д.), независимое от конечной реализации базы данных и аппаратной платформы. Иными словами, онапоказывает, ЧТО хранится в базе данных (объекты предметной области, их атрибуты и связи между ними), но не отвечает на вопрос КАК (рис. 1).

Описание предметной области:

Оптовый заводск ой склад

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

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

При оформлении поставки учитываются дата, количество и стоимость, вид упаковки и способ доставки (автотранспорт, ж/д транспорт, самовывоз), причем одна поставка может включать несколько видов деталей.

Поставщики переходят в разряд постоянных, если они совершили поставок на сумму свыше 1 000 000 рублей в год.

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

Рис. 1. Логическая модель базы данных в нотации IDEF1X

Методология IDEF1 X – один из подходов к моделированию данных, основанный на концепции "сущность – связь" (Entity – Relationship ), предложенной Питером Ченом в 1976 г.

Таблица 2.1. Основные элементы нотации IDEF1X

Сущность (Entity)

Графическое изображение

Независимая сущность

Наименование

Уникальный идентификатор

Атрибуты

Зависимая сущность

Атрибуты

Связь (Relationship)

Графическое изображение

Неидентифицирующая связь

Идентифицирующая связь

Связь «Многие ко многим»

Наследование (обобщение)

Неполное

Родительск.

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

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

Методология IDEF1X ориентирована на проектирование реляционных моделей баз данных. В основе реляционной модели лежит понятие нормализованного отношения (таблицы). При этом сущности предметной области отображаются в таблицы базы данных (рис. 2), обладающие следующими свойствами:

Рис.
2. Таблица реляционной базы данных

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

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

    уникальность (не может быть строк с одинаковым ключом);

    неизбыточность (удаление любого атрибута из ключа лишает его свойства уникальности).

Реляционная база данных − это множество связанных между собой отношений. Связи задаются с помощью вторичных ключей (Foreign key – FK), т.е. атрибутов, которые в других отношениях являются первичными ключами (Primary key – PK).

Основные ограничения целостности реляционной модели:

    атрибуты из первичного ключа не могут принимать неопределенное значение (целостность объектов);

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

Создание Логической модели БД в Visio

Чтобы создать Логическую модель базы данных в Visio2013, выберите Категорию шаблонов «Программы и базы данных», а в ней шаблон «Схема модели базы данных» (рис. 2.3)

Рис. 2.3. Шаблон «Схема модели базы данных»

Прежде, чем приступить к созданию Логической модели, зайдите на вкладку «База данных» и в «Показать параметры» выставьте следующие настройки (рис. 2.4-2.6).

Рис. 2.4.Параметры документа (вкладка «Общие»)

Рис. 2.6.Параметры документа (вкладка «Отношение»)

Рис. 2.5.Параметры документа (вкладка «Таблица»)

Чтобы создать Сущность «Деталь», перетащите стереотип Сущность с панели инструментов на экран (рис. 2.7).

Рис. 2.7.Создание Сущности

Задайтеимяновой Сущности в свойствах в нижней части экрана (рис. 2.8).

Рис. 2.8.Свойства Сущности («Определение»)

Затем на вкладке Столбцы создайте атрибуты Сущности, отметьте уникальный идентификатор (первичный ключ) галочкой в столбце PK и нажмите кнопку «ОК» (рис. 2.9).

Рис. 2.9.Свойства Сущности («Столбцы»)

Аналогично создайте вторую сущность, например «Материал». Чтобы создать связь между ними, перетащите стереотип «Отношение» точкой на изображение класса «Деталь», т.к. из каждого материала изготавливается ноль, одна или несколько деталей. Затем второй конец связи перетащите на изображение класса «Материал» (рис. 2.10). Внешний ключ «Код материала (FK)» автоматически появится в составе атрибутов сущности «Деталь».

Незакрашенный ромб со стороны Материала означает, что материал может быть не указан. Чтобы убрать ромб, откройте свойства сущности «Деталь» и поставьте этому атрибуту галочку в столбце «Обязательное».

Рис. 2.10.Свойства отношения («Определение»)

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

Понятия БД и СУБД.

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

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

Система управления базами данных (СУБД) - это комплекс языко­вых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, осно­ванные на использовании реляционной модели данных, называют ре­ляционными СУБД.

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

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

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

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

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



Выделяют следующие виды СУБД:

* полнофункциональные СУБД;

* серверы БД;

* средства разработки программ работы с БД.

По характеру использования СУБД делят на многопользователь­ские (промышленные) и локальные (персональные).

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

* возможность организации совместной параллельной работы мно­гих пользователей;

* масштабируемость;

* переносимость на различные аппаратные и программные платформы;

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

* обеспечение безопасности хранимых данных и развитой струк­турированной системы доступа к ним.

Персональные СУБД - это программное обеспечение, ориентиро­ванное на решение задач локального пользователя или небольшой группы пользователей и предназначенное для использования на пер­сональном компьютере. Это объясняет и их второе название - на­стольные. Определяющими характеристиками настольных систем яв­ляются:

* относительная простота эксплуатации, позволяющая создавать на их основе работоспособные пользовательские приложения;

* относительно ограниченные требования к аппаратным ресурсам.

По используемой модели данных СУБД разделяют на иерархические, сетевые, реляционные, объектно-ориентированные и др. Некоторые СУБД могут одновременно поддерживать несколько моделей данных.

Для работы с данными, хранящимися в базе, используются следу­ющие типы языков:

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

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

Названные языки в различных СУБД могут иметь отличия. Наи­большее распространение получили два стандартизованных языка: QBE - язык запросов по образцу и SQL - структурированный язык запросов. QBE в основном обладает свойствами языка манипулирования данными, SQL сочетает в себе свойства языков обоих типов.

СУБД реализует следующие основные функции низкого уровня:

* управление данными во внешней памяти;

* управление буферами оперативной памяти;

* управление транзакциями;

* ведение журнала изменений в БД;

* обеспечение целостности и безопасности БД.

Реализация функции управления данными во внешней памяти обес­печивает организацию управления ресурсами в файловой системе ОС.

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

Механизм транзакций используется в СУБД для поддержания це­лостности данных в базе. Транзакцией называется некоторая недели­мая последовательность операций над данными БД, которая отсле­живается СУБД от начала и до завершения. Если по каким-либо причинам (сбои и отказы оборудования, ошибки в программном обес­печении, включая приложение) транзакция остается незавершенной, то она отменяется.

Транзакции присущи три основных свойства:

* атомарность (выполняются все входящие в транзакцию операции или ни одна);

* сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);

* долговечность (даже крах системы не приводит к утрате резуль­татов зафиксированной транзакции).

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

Ведение журнала изменений выполняется СУБД для обеспечения надежности хранения данных в базе при наличии аппаратных и про­граммных сбоев.

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

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

Этапы создания БД.

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

Концептуальное проектирование БД ИС является в значительной степени эвристическим процессом. Адекватность построенной в его рамках инфологической модели предметной области проверяется опытным путем, в процессе функционирования ИС.

Перечислим этапы концептуального проектирования:

1. Изучение предметной области для формирования общего пред­ставления о ней;

2. Выделение и анализ функций и задач разрабатываемой ИС;

3. Определение основных объектов-сущностей предметной области
и отношений между ними;

4. Формализованное представление предметной области.

При проектировании схемы реляционной БД можно выделить сле­дующие процедуры:

1.Определение перечня таблиц и связей между ними;

2.Определение перечня полей, типов полей, ключевых полей каж­дой таблицы (схемы таблицы), установление связей между таб­лицами через внешние ключи;

3.Установление индексирования для полей в таблицах;

4.Разработка списков (словарей) для полей с перечислительными
данными;

5.Установление ограничений целостности для таблиц и связей;

6.Нормализация таблиц, корректировка перечня таблиц и связей.

Реляционные БД.

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

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

Первичный ключ

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

Данные таблицы «Преподаватель»

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

Вторичный ключ

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

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

Между двумя или более таблицами базы данных могут существовать отношения подчиненности. Отношения подчиненности определяют, что для каждой записи главной таблицы {master,называемой еще родительской} может существовать одна или несколько записей в подчиненной таблице {detail, называемой еще дочерней}.

Существует три разновидности связей между таблицами базы данных:

- «один-ко-многим»

- «один-к-одному»

- «многие-ко-многим»

Отношение «один-к-одному» имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней таблице.

Отношение «многие-ко-многим» имеет место, когда:

а) записи в родительской таблице может соответствовать больше одной записи в дочерней таблице;

б) записи в дочерней таблице может соответствовать больше одной записи в родительской таблице.

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

Физическая и логическая модели БД

Логическая модель данных . На следующем, более низком уровне находится логическая модель данных предметной области. Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. Примеры понятий - "сотрудник", "отдел", "проект", "зарплата". Примеры взаимосвязей между понятиями - "сотрудник числится ровно в одном отделе", "сотрудник может выполнять несколько проектов", "над одним проектом может работать несколько сотрудников". Примеры ограничений - "возраст сотрудника не менее 16 и не более 60 лет".

Логическая модель данных является начальным прототипом будущей базы данных. Логическая модель строится в терминах информационных единиц, но без привязки к конкретной СУБД . Более того, логическая модель данных необязательно должна быть выражена средствами именно реляционной модели данных. Основным средством разработки логической модели данных в настоящий момент являются различные варианты ER-диаграмм (Entity-Relationship , диаграммы сущность-связь ). Одну и ту же ER-модель можно преобразовать как в реляционную модель данных, так и в модель данных для иерархических и сетевых СУБД, или в постреляционную модель данных. Однако, т.к. мы рассматриваем именно реляционные СУБД, то можно считать, что логическая модель данных для нас формулируется в терминах реляционной модели данных.

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

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

Физическая модель данных . На еще более низком уровне находится физическая модель данных. Физическая модель данных описывает данные средствами конкретной СУБД. Мы будем считать, что физическая модель данных реализована средствами именно реляционной СУБД, хотя, как уже сказано выше, это необязательно. Отношения, разработанные на стадии формирования логической модели данных, преобразуются в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД.

Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, например, при помощи индексов, декларативных ограничений целостности, триггеров, хранимых процедур. При этом опять-таки решения, принятые на уровне логического моделирования определяют некоторые границы, в пределах которых можно развивать физическую модель данных. Точно также, в пределах этих границ можно принимать различные решения. Например, отношения, содержащиеся в логической модели данных, должны быть преобразованы в таблицы, но для каждой таблицы можно дополнительно объявить различные индексы, повышающие скорость обращения к данным. Многое тут зависит от конкретной СУБД.

При разработке физической модели данных возникают вопросы: хорошо ли спроектированы таблицы? Правильно ли выбраны индексы? Насколько много программного кода в виде триггеров и хранимых процедур необходимо разработать для поддержания целостности данных?

Логические модели

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

Пример : рассмотрим выражение Джон является специалистом по информационным технологиям . Это выражение может быть представлено следующим образом: является (Джон, специалистом по информационным технологиям) . Пусть Х - объект (Джон ), который является специалистом по информационным технологиям. Тогда используется следующая форма записи: является (Х , специалистом по информационным технологиям) .

Выражение : Смит работает на фирме IBM в качестве специалиста может быть представлено в виде предиката с тремя аргументами: работает (Смит, фирма IBM, специалист) .

При работе с логическими моделями необходимо соблюдать следующие правила:

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

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

3. Отдельные высказывания, состоящие из предиката и связанных с ним аргументов, могут объединяться в сложные высказывания с помощью логических связок: И(END, ), ИЛИ (or, ), НЕ (not, ~), → - импликация используемые для формулирования правил по форме: ЕСЛИ… , ТО

Рассмотрим несколько примеров:

1 ) Название предиката – является .

Является (Смит, специалист по ИТ) читает (Смит, литература).

Смит является специалистом по ИТ и читает литературу .

2 ) Название предиката – отчитывается .

Отчитывается (Смит, Джон)→руководит (Джон, Смит).

Если Смит отчитывается перед Джоном, то Джон руководит Смитом .

3 ) Название предиката – написал .

Написал (Смит, программа) ∩ NOT работает (программа)→отладить (Смит, программа, вечер) OR передать (программа, программист, следующий день).

ЕСЛИ Смит написал программу И она не работает , ТО Смиту следует отладить программу вечером ИЛИ передать программисту на следующий день .

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

Кванторы бывают двух типов:

1 . Квантор всеобщности .

2. Квантор существования .

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

(x ) означает, что только некоторые из значений x истины.

И могут входить в состав друг друга.

Примеры :

1 . (x ) (специалист по ИТ (X )→программист (X )).

Все специалисты по ИТ являются программистами .

2 . (x ) (специалист по ИТ (X )→хорошие программисты (X )).

Некоторые специалисты по ИТ – хорошие программисты .

3 . (x ) (y ) (служащий (X )→руководитель (Y , X )).

У каждого служащего есть руководитель .

4 . (Y ) (X ) (служащий (X )→руководитель (Y , X )).

Существует некоторое лицо, которое руководит всеми.

Вопросы :

1 . Что такое искусственный интеллект?

2 . Что такое экспертная система?

3 . Этапы развития систем искусственного интеллекта.

4 . Компетентность ЭС, в сравнении системы человеческого интеллекта и системы ИИ;

5 . Отличие логических моделей от эвристических?

Лекция 11.

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

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

Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:

1 . класс-элемент класса;

2 . свойство-значение;

3 . пример элемента класса.

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

Дерево пространств.

Для пространства P 6 видимы все вершины пространства, лежащие в пространстве предков P 4 , P 2 , P 0 , а остальные невидимы. Отношения «видимости» дает возможность сгруппировать пространство в упорядочении множества «перспективы».

Рассмотрим правила или соглашения графического изображения иерархических сетей:

1. вершины и дуги, лежащие в одном пространстве ограничиваются прямо или многоугольником;

2. дуга принадлежит тому пространству, в котором находится ее имя;

3. пространство P i , изображаемое внутри пространства P j , считается потомком (внутренним уровнем), т.е. из P i «видимо» P j . P i может быть рассмотрено как «супервершина», которая лежит в P j .

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

Основное преимущество сетевых семантических моделей – в соответствии с современными представлениями об организации долговременной памяти человека.

Недостаток моделей – сложность поиска вывода в семантической сети.

Фреймовые модели .

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

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

С каждым фреймом связана следующая информация:

1 . о том как пользоваться фреймом;

2 . каковы ожидаемые результаты выполнения фрейма;

3 . что делать, если ожидания не оправдались.

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

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

Структуру фрейма можно представить так:

ИМЯ ФРЕЙМА:

(имя 1-го слота: значение 1-го слота) ,

(имя 2-го слота: значение 2-го слота) ,

…………………………………………



(имя N-го слота: значение N-го слота) ,

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

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

Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей. И во фреймах и в семантических сетях наследование происходит по АКО-связям (A-Kind-of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда не явно наследуются, т.е. переносятся значения аналогичных слотов.

Сеть фреймов.

Здесь понятие «ученик» наследует свойство фреймов «ребенок» и «человек», которые находятся на более высоком уровне. Тогда на вопрос: «Любят ли ученики сладкое?» следует ответить «Да» (т.к. этим свойством обладают дети). Наследование свойств может быть частичным, так возраст для учеников не наследуется из фрейма «ребенок» поскольку указан явно в своем собственном фрейме.

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

Продукционные модели .

В традиционном программировании, если i - ая команда не является командой ветвления, то за ней следует i + 1- ая команда. Подобный способ программирования удобен в тех случаях, когда последовательность обработки мало зависит от обрабатываемых знаний.

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

1. разделение постоянных знаний, хранимых в БЗ, и временных знаний из рабочей памяти;

2. структурная независимость модулей;

3. отделение схемы управления от модулей, несущих знания о проблемной области.

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

Основные компоненты ЭС .

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

Рис. 1 . Основные компоненты информационной технологии экспертных систем.

Интерфейс пользователя .

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

Ø объяснения, выдаваемые по запросам. Пользователь в любой момент может потребовать от экспертной системы объяснения своих действий;

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

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

База знаний .

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

Интерпретатор .

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

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

Модуль создания системы .

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

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

Вопросы :

1 . Характерная особенность семантических сетей?

2 . Характерная особенность фреймовых моделей?

3 . Характерная особенность продукционных моделей?

4 . Перечислите основные компоненты ЭС?

5 . Отличие базы знаний от базы данных?

Лекция 12.

Локальные и глобальные компьютерные сети, телекоммуникации .

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

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

Ø обеспечение совместного использования аппаратных и программных ресурсов сети;

Ø обеспечение совместного доступа к ресурсам данных.

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

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

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

Основные характеристики и классификация компьютерных сетей .

По территориальной распространенности сети могут быть локальными, глобальными, и региональными.

Ø Локальная сеть (LAN – Local Area Network) – сеть в пределах предприятия, учреждения, одной организации.

Ø Региональная сеть (MAN – Metropolitan Area Network) – сеть в пределах города или области.

Ø Глобальная сеть (WAN – Wide Area Network) – сеть на территории государства или группы государств.

По скорости передачи информации компьютерные сети делятся на:

Ø низкоскоростные сети – до 10Мбит/с ;

Ø среднескоростные сети – до 100Мбит/с ;

Ø высокоскоростные сети – свыше 100Мбит/с .

По типу среды передачи сети разделяются на:

Ø проводные (на коаксиальном кабеле, на витой паре, оптоволоконные);

Ø беспроводные с передачей информации по радиоканалам или в инфракрасном диапазоне.

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

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

Достоинство – простота установки и эксплуатации.

Недостаток – затруднено решение вопросов защиты информации.

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

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

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

Недостатки :

Ø Необходимость дополнительной ОС для сервера.

Ø Более высокая сложность установки и модернизации сети.

Ø Необходимость выделения отдельного компьютера в качестве сервера.

По технологии использования сервера различают сети с архитектурой файл-сервер и архитектурой клиент-сервер .

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

Клиент-сервер . Хранение данных и их обработка производится на сервере, который выполняет также контроль за доступом к ресурсам и данным. Рабочая станция получает только результаты запроса.

Основные характеристики сетей .

Скорость передачи данных по каналу связи измеряется количеством битов информации, передаваемых за единицу времени – секунду. Единица измерения – бит в секунду.

Часто используется единица измерения скорости - бод . Бод - число изменений состояния среды передачи в секунду. Так как каждое изменение состояния может соответствовать нескольким битам данных, то реальная скорость в битах в секунду может превышать скорость в бодах.

Пропускная способность канала связи . Единица измерения пропускной способности канала связи – знак в секунду.

Достоверность передачи информации оценивают как отношение количества ошибочно переданных знаков к общему числу переданных знаков. Единица измерения достоверности: количество ошибок на знак – ошибок/знак . Этот показатель должен лежать в пределах 10 -6 -10 -7 ошибок/знак , т.е. допускается одна ошибка на миллион переданных знаков или на десять миллионов переданных знаков.

Надежность каналов связи коммуникационной системы определяется либо долей времени исправного состояния в общем времени работы, либо средним временем безотказной работы. Единица измерения надежности – час. Как минимум, несколько тысяч часов.

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

Объем информации, передаваемой по сети, называется трафиком .

Топология сетей .

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

Физическая передающая среда ЛВС представлена тремя типами кабелей: витая пара проводов, коаксиальный кабель, оптоволоконный кабель.

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

Достоинство витой пары – дешевизна. Недостаток витой пары – плохая помехозащищенность и низкая скорость передачи информации – 0,25-1Мбит/с .

Коаксиальный кабель обладает более высокой механической прочностью, помехозащищённостью и обеспечивает скорость передачи информации до 10-50Мбит/с . Для промышленного использования выпускаются два вида коаксиальных кабелей: толстый (»10мм ) и тонкий (»4мм ). Толстый кабель более прочен и передает сигналы нужной амплитуды на большее расстояние, чем тонкий. В то же время тонкий кабель значительно дешевле.

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

Скорость передачи информации по оптоволоконному кабелю более 50Мбит/с . По сравнению с предыдущими типами передающей среды он более дорог, менее технологичен в эксплуатации.

Основные топологии ЛВС .

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

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

Ø Узел – любое устройство, непосредственно подключенное к передающей среде сети;

Ø Ветвь сети – путь, соединяющий два смежных узла;

Ø Оконечный узел – узел, расположенный в конце только одной ветви;

Ø Промежуточный узел – узел, расположенный на концах более чем одной ветви;

Ø Смежные узлы – узлы, соединенные, по крайней мере, одним путём, не содержащим никаких других узлов.

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

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

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

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

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

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

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

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

Ячеистая топология . Для нее характерна схема соединения узлов, при которой физические линии связи установлены со всеми рядом стоящими компьютерами:

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

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

Архитектуры сетей .

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

Маркерный доступ . Компьютер-абонент получает от центрального компьютера сети маркер-сигнал на право ведения передачи в течение определенного времени, после чего маркер передается другому абоненту.

При конкурентном методе доступа абонент начинает передачу данных, если обнаруживает свободную линию.

Сеть Ethernet . Схема передачи данных конкурентная, элементы сети могут быть соединены по шинной или звездной топологии с использованием витых пар, коаксиальных и волоконно-оптических кабелей. Основное преимущество – быстродействие от 10 до 100Мб/сек .

Сеть Token Ring . Схема с маркерным доступом. Физически выполнена как звезда, но ведет себя как кольцевая. Данные передаются последовательно от станции к станции, но постоянно проходят через центральный узел. Используются витые пары и волоконно-оптические кабели. Скорость передачи 4 или 16Мб/сек .

Сеть ARCnet . Схема с маркерным доступом, может работать как с шинной, так и звездной топологией. Совместима с витой парой, коаксиальным и волоконно-оптическим кабелем. Скорость передачи 2.5Мб/сек .

Модель взаимосвязи открытых систем .

Основной задачей, решаемой при создании компьютерных сетей, является обеспечение совместимости оборудования по электрическим и механическим характеристикам и обеспечение совместимости информационного обеспечения (программ и данных) по системе кодирования и формату данных. Решение этой задачи относится к области стандартизации и основано на так называемой модели OSI (модель взаимодействия открытых систем – Model of Open System Interconnections). Модель OSI была создана на основе технических предложений Международного института стандартов ISO (International Standards Organization).

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

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

Уровни модели OSI

Уровень Функции, выполняемые уровнем
Прикладной С помощью специальных приложений пользователь создает документ (сообщение, рисунок и т. п.).
Представительский ОС компьютера фиксирует, где находятся созданные данные (в оперативной памяти, в файле на жестком диске и т. п.) и преобразует их из внутреннего формата компьютера в формат передачи
Сеансовый Взаимодействует с локальной или глобальной сетью. Протоколы этого уровня проверяют права пользователя.
Транспортный Документ преобразуется в ту форму, в которой положено передавать данные в используемой сети. Например, он может нарезаться на небольшие пакеты стандартного размера.
Сетевой Определяет маршрут движения данных в сети. Так, например, если на транспортном уровне данные были «нарезаны» на пакеты, то на сетевом уровне каждый пакет должен получить адрес, по которому он должен быть доставлен независимо от прочих пакетов.
Канальный (соединения) Модулирует сигналы, циркулирующие на физическом уровне, в соответствии с данными, полученными с сетевого уровня, обеспечивает управление потоком данных в виде кадров, обнаруживает ошибки передачи и реализует алгоритм восстановления информации.
Физический Реальная передача данных. Здесь нет ни документов, ни пакетов, ни даже байтов - только биты, то есть, элементарные единицы представления данных. Средства физического уровня лежат за пределами компьютера. В локальных сетях это оборудование самой сети. При удаленной связи с использованием телефонных модемов – это линии телефонной связи, коммутационное оборудование телефонных станций и т. п.

Сетевое оборудование .

1 . Сетевые карты (адаптеры ) – это контроллеры, подключаемые в слоты расширения материнской платы компьютера, предназначенные для передачи сигналов в сеть и приема сигналов из сети.

2 . Терминаторы – это резисторы номиналом 50Ом , которые производят затухание сигнала на концах сегмента сети.

3 . Концентраторы (Hub ) – это центральные устройства кабельной системы или сети физической топологии «звезда», которые при получении пакета на один из своих портов пересылает его на все остальные. Различают концентраторы активные и пассивные. Активные концентраторы усиливают полученные сигналы и передают их. Пассивные концентраторы пропускают через себя сигнал, не усиливая и не восстанавливая его.

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

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

6 . Маршрутизаторы (Router ) – стандартные устройства сети, работающие на сетевом уровне, и позволяющее переадресовывать и маршрутизировать пакеты из одной сети в другую, а также фильтровать широковещательные сообщения.

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

8 . Шлюзы (Gateway ) – программно-аппаратные комплексы, соединяющие разнородные сети или сетевые устройства. Шлюзы позволяет решать проблемы различия протоколов или систем адресации. Они действует на сеансовом, представительском и прикладном уровнях модели OSI.

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

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

Телекоммуникационные технологии .

По мере эволюции вычислительных систем сформировались следующие разновидности архитектуры компьютерных сетей:

Ø одноранговая архитектура;

Ø классическая архитектура «клиент-сервер»;

Ø архитектура «клиент-сервер» на основе Web-технологии.

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

Рис. 1 . Одноранговая архитектура компьютерных сетей.

Явные недостатки, свойственные одноранговой архитектуре и развитие инструментальных средств привели к появлению вычислительных систем с архитектурой «клиент-сервер». Особенность данного класса систем состоит в децентрализации архитектуры автономных вычислительных систем и их объединении в глобальные компьютерные сети. Создание данного класса систем связано с появлением персональных компьютеров, взявших на себя часть функций центральных ЭВМ. В результате появилась возможность создания глобальных и локальных вычислительных сетей, объединяющих персональные компьютеры (клиенты или рабочие станции), использующие ресурсы, и компьютеры (серверы), предоставляющие те или иные ресурсы для общего использования. На рис. 2 представлена типовая архитектура «клиент-сервер», однако различают несколько моделей, отличающихся распределением компонентов программного обеспечения между компьютерами сети.

Рис. 2 . Типовая архитектура «клиент-сервер».

Любое программное приложение можно представить в виде структуры из трех компонентов:

Ø компонент представления, реализующий интерфейс с пользователем;

Ø прикладной компонент, обеспечивающий выполнение прикладных функций;

Ø компонент доступа к информационным ресурсам, или менеджер ресурсов, выполняющий накопление информации и управление данными.

На основе распределения перечисленных компонентов между рабочей станцией и сервером сети выделяют следующие модели архитектуры «клиент-сервер»:

Ø модель доступа к удаленным данным;

Ø модель сервера управления данными;

Ø модель комплексного сервера;

Ø трехзвенная архитектура «клиент-сервер».

Модель доступа к удаленным данным рис. 3, при которой на сервере расположены только данные, имеет следующие особенности:

Рис. 3 . Модель доступа к удаленным данным.

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

Ø снижение общей скорости обмена при передаче больших объемов информации для обработки с сервера на рабочие станции.

При использовании модели сервера управления данными рис. 4 кроме самой информации на сервере располагается менеджер информационных ресурсов (например, система управления базами данных). Компонент представления и прикладной компонент совмещены и выполняются на компьютере-клиенте, который поддерживает как функции ввода и отображения данных, так и чисто прикладные функции. Доступ к информационным ресурсам обеспечивается либо операторами специального языка (например, SQL в случае использования базы данных), либо вызовами функций специализированных программных библиотек. Запросы к информационным ресурсам направляются по сети менеджеру ресурсов (например, серверу базы данных), который обрабатывает запросы и возвращает клиенту блоки данных. Наиболее существенные особенности данной модели:

Рис. 4 . Модель сервера управления данными.

Ø уменьшение объемов информации, передаваемых по сети, так как выборка необходимых информационных элементов осуществляется на сервере, а не на рабочих станциях;

Ø унификация и широкий выбор средств создания приложений;

Ø отсутствие четкого разграничения между компонентом представления и прикладным компонентом, что затрудняет совершенствование вычислительной системы.

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

Рис. 5 . Модель комплексного сервера.

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

Преимущества модели комплексного сервера:

Ø высокая производительность;

Ø централизованное администрирование;

Ø экономия ресурсов сети.

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

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

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

Рис. 6 . Трехзвенная архитектура «клиент-сервер».

Наиболее ярко современные тенденции телекоммуникационных технологий проявились в Интернете. Архитектура «клиент-сервер», основанная на Web-технологии представлена на рис. 7.

Рис. 7 . Архитектура «клиент-сервер», основанная на Web-технологии.

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

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

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

Как и многие другие великие идеи, «сеть сетей» возникла из проекта, который предназначался совершенно для других целей: из сети ARPAnet, разработанной и созданной в 1969г по заказу Агентства передовых исследовательских проектов (ARPA - Advanced Research Project Agency) Министерства обороны США. ARPAnet была сетью, объединяющей учебные заведения, военных и военных подрядчиков; она была создана для помощи исследователям в обмене информацией, а также (что было одной из главных целей) для изучения проблемы поддерживания связи в случае ядерного нападения.

В модели ARPAnet между компьютером-источником и компьютером-адресатом всегда существует связь. Сама сеть считается ненадежной; любой ее отрезок может в любой момент исчезнуть (после бомбежки или в результате неисправности кабеля). Сеть была построена так, чтобы потребность в информации от компьютеров-клиентов была минимальной. Для пересылки сообщения по сети компьютер должен был просто помещать данные в конверт, называемый «пакетом межсетевого протокола» (IP, Internet Protocol), правильно «адресовать» такие пакеты. Взаимодействующие между собой компьютеры (а не только сама сеть) также несли ответственность за обеспечение передачи данных. Основополагающий принцип заключался в том, что каждый компьютер в сети мог общаться в качестве узла с любым другим компьютером с широким выбором компьютерных услуг, ресурсов, информации. Комплекс сетевых соглашений и общедоступных инструментов «сети сетей» разработан с целью создания одной большой сети, в которой компьютеры, соединенные воедино, взаимодействуют, имея множество различных программных и аппаратных платформ.

В настоящее время направление развития Интернета в основном определяет «Общество Internet», или ISOC (Internet Society). ISOC - это организация на общественных началах, целью которой является содействие глобальному информационному обмену через Интернет. Она назначает совет старейшин IAB (Internet Architecture Board), который отвечает за техническое руководство и ориентацию Интернета (в основном это стандартизация и адресация в Интернете). Пользователи Интернета выражают свои мнения на заседаниях инженерной комиссии IETF (Internet Engineering Task Force). IETF - еще один общественный орган, он собирается регулярно для обсуждения текущих технических и организационных проблем Интернета.

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

Вопросы :

1. Назвать функции всех видов компьютерных сетей.

2. Перечислить характеристики и классификацию компьютерных сетей.

3. Типы физической передающей среды.

4. Перечислить топологии ЛВС.

5. Перечислить типы сетевого оборудования.

6. Перечислить архитектуру и модели телекоммуникационных технологий.

ЛЕКЦИЯ

Логические модели данных.

Иерархические, сетевые, реляционные модели данных.

Принципы построения.

Преимущества и недостатки

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

11.1. О понятии «модель данных»

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

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

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

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

Итак, модель данных – модель логического уровня проектирования БД. Ее можно рассматривать как сочетание трех компонентов (слайд 2 ):

1. Структурный компонент, т.е. набор правил, по которым может быть построена БД.

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

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

С точки зрения структурного компонента выделяют модели на основе записей. В модели на основе записей структуру данных составляет совокупность нескольких типов записей фиксированного формата. Каждый тип записи определяет фиксированное количество полей, каждое из которых имеет фикси рованную длину.
Существуют три основных типа логических моделей данных на основе записей ( слайд 3 ):
- реляционная модель данных (relational data model );
- сетевая мо дель данных (network data model );
- иерархическая модель данных (hierarchical data model ).
Иерархическая и сетевая модели данных были созданы почти на десять лет раньше реляционной модели данных, потому их связь с концепциями традиционной обработки файлов более очевидна.

11.2. Реляционная модель данных

Реляционная модель данных основана на понятии математических отношений. В реляционной модели данные и связи представлены в виде таблиц, каждая из которых имеет несколько столбцов с уникальными именами. На слайде (слайд 4 ) показан пример реляционной схемы, содержащей сведения о кафедрах ВУЗа и кадровом составе. Например, из таблицы «Кадровый состав» видно, что сотрудник Иванов И.И. работает в должности заведующего кафедрой 22, которая, согласно данным из таблицы «Структура», расположена в корпусе А, в комнате 322. Здесь важно отметить, что между отношениями «Кадровый состав» и «Структура» существует следующая связь: сотрудник работает на кафедре. Однако между этими двумя отношениями нет явно заданной связи: ее существование можно заметить, только зная, что атрибут Каф в отношении «Кадровый состав» эквивалентен атрибуту Каф в отношении «Структура».

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

На слайдах (слайды 5, 6 ) представлена реляционная модель данных для ПрО «сотрудники-проекты-детали-поставщики».

11.3. Сетевая модель данных

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

Самой популярной сетевой СУБД является система IDMS / R фирмы Computer Associates .

На слайдах (слайды 8, 9 ) представлены варианты сетевой модели данных для ПрО «сотрудники-проекты-детали-поставщики».

11.4. Иерархическая модель данных

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

Самой распространенной иерархической СУБД является система IMS корпорации IBM , хотя она обладает также некоторыми другими неиерархическими чертами.

На слайдах (слайды 11, 12 ) представлена варианты иерархической модели данных для ПрО «сотрудники-проекты-детали-поставщики».

11.5. Преимущества и недостатки моделей

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

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

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

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

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

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

11.6. Документальные системы и интеграция моделей

Приведенные выше положения разрабатывались и действительно широко используются для баз данных хорошо структурированной информации. Однако уже сегодня одной из важнейших проблем становится обеспечение интеграции неоднородных информационных ресурсов, и в частности слабоструктурированных данных. Необходимость ее решения связывается со стремлением к полноценной интеграции систем баз данных в среду Web-технологий. При этом уже недостаточно простого обеспечения доступа к базе данных традиционным способом “из-под” HTML-форм. Нужна интеграция на модельном уровне. И в этом случае проблема семантической интероперабельности информационных ресурсов сводится к задаче разработки средств и технологий, предусматривающих явную спецификацию метаданных для ресурсов слабоструктурированных данных на основе традиционных технологий моделирования из области баз данных.

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

ER -диаграммы

Общим способом представления логической модели БД является построение ER-диаграмм (Entity-Relationship - сущность-связь). В этой модели сущность определяется как дискретный объект, для которого сохраняются элементы данных, а связь описывает отношение между двумя объектами.

В примере менеджера турфирмы имеются 5 основных объектов:

Туристы

Путевки

Отношения между этими объектами могут быть определены простыми терминами:

Каждый турист может купить одну или несколько (много) путевок.

Каждой путевке соответствует ее оплата (оплат может быть и несколько, если путевка, например, продана в кредит).

Каждый тур может иметь несколько сезонов.

Путевка продается на один сезон одного тура.

Эти объекты и отношения могут быть представлены ER- диаграммой, как показано на рис 2.

Рис. 2. ER-диаграмма для приложения БД менеджера турфирмы

Объекты, атрибуты и ключи

Далее модель развивается путем определения атрибутов для каждого объекта. Атрибуты объекта - это элементы данных, относящиеся к определенному объекту, которые должны сохраняться. Анализируем составленный словарь данных, выделяем в нем объекты и их атрибуты, расширяем словарь при необходимости. Атрибуты для каждого объекта в рассматриваемом примере представлены в таблице 2.

Таблица 2. Объекты и атрибуты БД

Объект

Туристы

Путевки

Туры

Сезоны

Оплаты

Название

Дата начала

Дата оплаты

Дата конца

Отчество

Информация

Атрибуты

Следует обратить внимание, что несколько элементов отсутствуют. Опущена регистрационная информация, упомянутая в функциональной спецификации. Как ее учесть, вы подумаете самостоятельно и доработаете предложенный пример. Но более важно то, что пока отсутствуют атрибуты, необходимые для связи объектов друг с другом. Эти элементы данных в ER-модели не представляются, так как не являются, собственно, «натуральными» атрибутами объектов. Они обрабатываются по-другому и будут учтены в реляционной модели данных.

Реляционная модель характеризуется использованием ключей и отношений. Существует отличие в контексте реляционной базы данных терминов relation (отношение) и relationship (схема данных). Отношение рассматривается как неупорядоченная, двумерная таблица с несвязанными строками. Схема данных формируется между отношениями (таблицами) через общие атрибуты, которые являются ключами.

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

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

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

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

Таблица 3. Объекты и атрибуты БД с расширенными кодовыми полями

Объект

Туристы

Путевки

Туры

Сезоны

Оплаты

Атрибуты

Код туриста

Код путевки

Код сезона

Код оплаты

Код туриста

Название

Дата начала

Дата оплаты

Код сезона

Дата конца

Отчество

Информация

Код путевки

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

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

Процесс нормализации состоит в пошаговом построении БД в нормальной форме (НФ).

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

2. Вторая нормальная форма (2НФ) создается тогда, когда удалены все частичные зависимости из отношений БД. Если в отношениях не имеется никаких составных ключей, то этот уровень нормализации легко достигается.

3. Третья нормальная форма (3НФ) БД требует удаления всех транзитивных зависимостей.

4. Четвертая нормальная форма (4НФ) создается при удалении всех многозначных зависимостей.

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

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

Итак, какие же транзитивные и многозначные зависимости присутствуют в нашем примере БД менеджера турфирмы?

Давайте проанализируем отношение «Туристы». Рассмотрим зависимости между атрибутами «Код туриста», «Фамилия», «Имя», «Отчество» и «Паспорт» (рис. 3). Каждый турист, представленный в отношении сочетанием «Фамилия- Имя-Отчество», имеет на время поездки только один паспорт, при этом полные тезки должны иметь разные номера паспортов. Поэтому атрибуты «Фамилия- Имя-Отчество» и «Паспорт» образуют в отношении туристы составной ключ.

Рис. 3. Пример транзитивной зависимости

Как видно из рисунка, атрибут «Паспорт» транзитивно зависит от ключа «Код туриста». Поэтому, чтобы исключить данную транзитивную зависимость, разобьем составной ключ отношения и само отношение на 2 по связям «один-к-одному». В первое отношение, оставим ему имя «Туристы», включаются атрибуты «Код туриста» и «Фамилия», «Имя», «Отчество». Второе отношение, назовем его «Информация о туристах», образуют атрибуты «Код туриста» и все оставшиеся атрибуты отношения «Туристы»: «Паспорт», «Телефон», «Город», «Страна», «Индекс». Эти два новых отношения уже не имеют транзитивной зависимости и находятся в 3НФ.

Многозначные зависимости в нашей упрощенной БД отсутствуют. Для примера предположим, что для каждого туриста должны храниться несколько контактных телефонов (домашний, рабочий, сотовый и пр., что весьма характерно на практике), а не один, как в примере. Получаем многозначную зависимость ключа - «Код туриста» и атрибутов «Тип телефона» и «Телефон», в этой ситуации ключ перестает быть ключом. Что делать? Проблема решается также путем разбиения схемы отношения на 2 новые схемы. Одна из них должна представлять информацию о телефонах (отношение «Телефоны»), а вторая о туристах (отношение «Туристы»), которые связываются по полю «Код туриста». «Код туриста» в отношении «Туристы» будет первичным ключом, а в отношении «Телефоны» - внешним.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: