sonyps4.ru

Условия представления объекта в виде логической модели. Создание логической модели

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

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

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

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

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

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

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

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

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



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

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

* серверы БД;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЛЕКЦИЯ

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

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

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

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

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

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 и его инфраструктуры (фактически, новой модели данных для этой среды), объектной модели документов и других средств, которые, как можно ожидать, в близкое время станут основой технологий управления информационными ресурсами. Это направление связано с другой глобальной проблемой - организацией распределенных неоднородных информационных систем на основе построения репозиториев метаданных (этому понятию в классических работах по проектированию баз данных соответствует понятие словарь данных), обеспечивающих возможность семантического отождествления ресурсов и, таким образом, возможность их целенаправленного повторного использования.

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

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

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

Сущности;

Атрибуты сущности;

Связи между сущностями.

Сущность.

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

Сущность является шаблоном на основании которого создаются конкретные экземпляры сущности. Например: экземпляр сущности студент – Иванов Иван Иванович.

Сущность обладает следующими свойствами:

Каждая сущность имеет уникальное имя, и к одному и тому же имени должна применятся одинаковая интерпретация;

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

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

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

На диаграмме сущность обычно изображается квадратом разделенным на две части рис.

Рис. 40 Сущность модели данных.

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

Зависимая сущность изображается прямоугольником со скругленными углами рис. (сущность льгота зависимая от сущности житель_бийска)

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



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

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

Атрибуты входящие в состав ключа должны быть обязательными и не изменятся во времени. Атрибуты входящие в состав ключа должны быть обязательными и не изменятся в времени. Например: имеем сущность Житель_Бийска.

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

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

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

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

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

  • продавец может получить вознаграждение за 1 или более контрактов;
  • контракт должен быть инициирован ровно одним продавцом.

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

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

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

Идентифицирующая связь изображается сплошной линией,

Рис. 43

Неидентифицирующая изображается штриховой линией.

Рис.44.

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

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

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

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

Рис. 47 Связь многие ко многим.

В процессе моделирования данных, могут быть выявлены сущности часть атрибутов и связей которых одинаковы. Для моделирования таких случаев используется иерархия категорий. Все общие атрибуты выделяются в сущность называемую супертипом. Оставшиеся атрибуты помещаются в сущности называемые подтипоми. И они связываются с супертипом связью называемой ДИСКРИМИНАНТ.

Например:

Рис. 48 Пример иерархии категорий.

Введение. Основные понятия баз данных

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

История развития систем управления базами данных (СУБД) насчитывает десятки лет. Первая промышленная СУБД фирмы IBM была введена в эксплуатацию в 1968 году, а в 1975 году появился первый стандарт, который определил ряд основных понятий в теории систем баз данных.

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

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

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

Примерами серверов могут служить:

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

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

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

Файловый сервер, поддерживающий общее хранение файлов для всех рабочих станций;

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

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

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

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

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

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

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

СУБД обеспечивают надежное хранение больших объемов данных сложной структуры во внешней памяти компьютера и эффективный доступ к ним. К основным функциям СУБД относятся:

· определение данных - определяется информация, которая должна храниться в базе данных, задается структура данных, их тип, а также указывается то, как данные будут связаны между собой;

· обработка данных - данные можно обрабатывать различными способами: выбирать любые поля, фильтровать и сортировать данные, объединять данные и вычислять итоговые значения;

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

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

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

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

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

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

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

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

Типичным представителем (наиболее известным и распространенным) является СУБД IMS (Information Management System) компании IBM. Первая версия системы появилась в 1968 г.

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

Под сетевой моделью понимается модель данных, подобная иерархической, но допускающая свободную систему связей между узлами различных уровней. Она является расширением иерархической модели данных. Таким образом, сетевые модели допускают наличие двух и более «предков» (рис.2).

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

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

Рис. 2. Сетевая модель данных

Типичным представителем систем, основанных на сетевой модели данных, является СУБД IDMS (Integrated Database Management System), разработанная компанией Cullinet Software, Inc. и изначально ориентированная на использование мэйнфреймов (ЭВМ общего назначения) компании IBM. Архитектура системы основана на предложениях Data Base Task Group (DBTG) организации CODASYL (Conference on Data Systems Languages), которая отвечала за определение языка программирования COBOL. Отчет DBTG был опубликован в 1971 г., и вскоре после этого появилось несколько систем, поддерживающих архитектуру CODASYL, среди которых присутствовала и СУБД IDMS. В настоящее время IDMS принадлежит компании Computer Associates.

Нормализация базы данных

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

Рассмотрим пример нормализации БД управления доставкой заказов. Неупорядоченная БД «Продажи» состояла бы из одной таблицы (рис.7).

Рис.7. БД «Продажи»

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

Первая нормальная форма

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

Выполним нормализацию БД " Продажи" до первой нормальной формы (рис.8).

Рис.8. Первая нормальная форма

3.3.2. Вторая нормальная форма

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

Выполним нормализацию БД " Продажи" до второй нормальной формы. Все сведения, не связанные с отдельными заказами, выделим в отдельную таблицу. В итоге получим вместо одной таблицы " Продажи" получим две - таблицу "Заказы" (рис.9) и таблицу "Товары" (рис.10).

Рис.9. Таблица "Заказы"

Рис.10. Таблица "Товары"

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

3.3.3. Третья нормальная форма

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

Выполним нормализацию БД "Продажи" до третьей нормальной формы. Для этого следует удалить из таблицы "Заказы" столбец "Всего". Значения в этом столбце не зависят ни от одного ключа и могут быть вычислены по формуле ("Цена")*("Количество"). Таким образом, получена БД "Продажи" с оптимальной структурой, которая состоит из двух таблиц (рис.11).

Рис. 11. Нормализованная БД "Продажи"

3.2 Программная реализация базы данных

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

Прикладные программы реализуются с помощью языков третьего или четвертого поколения. Некоторые элементы этих прикладных программ будут представлять собой транзакции обработки базы данных, записываемые на языке манипулирования данными (DML) целевой СУБД и вызываемые из программ на базовом языке программирования - например, на Visual Basic, С++, Java. Кроме того, на этом этапе создаются другие компоненты проекта приложения - например, экраны меню, формы ввода данных и отчеты. Следует учитывать, что многие существующие СУБД имеют свои собственные инструменты разработки, позволяющие быстро создавать приложения с помощью непроцедурных языков запросов, разнообразных генераторов отчетов, генераторов форм, генераторов графических изображений и генераторов приложений.

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

3.2.1. Разработка приложений

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

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

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

3.2.2 Тестирование базы данных

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

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

3.3 Эксплуатация и сопровождение базы данных

Эксплуатация и сопровождение - поддержка нормального функционирования БД.

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

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

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

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

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

4. СУБД Microsoft Access

4.1.Назначение и общие сведения о СУБД Microsoft Access

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

К областям применения Microsoft Access можно отнести следующие:

· в малом бизнесе (бухгалтерский учет, ввод заказов, ведение информации о клиентах, ведение информации о деловых контактах);

· в крупных корпорациях (приложения для рабочих групп, системы обработки информации);

· в качестве персональной СУБД (справочник по адресам, ведение инвестиционного портфеля, поваренная книга, каталоги книг, пластинок, видеофильмов и т. п.).

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

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

В Access реализовано управление реляционными базами данных. Система поддерживает первичные и внешние ключи. Обеспечивает целостность данных на уровне ядра, что не разрешает несовместимые операции обновления или удаления данных. Таблицы в Access снабжены средствами проверки допустимости данных, т.е. не разрешается некорректный ввод. Каждое поле таблицы имеет свой формат и стандартные описания, что облегчает ввод данных. Access поддерживает следующие типы полей, в том числе: вкладка, текстовый, числовой, счетчик, денежный, дата/время, MEMO, логический, гиперссылка, поля объектов OLE, вложение и вычисляемый. Если в полях не оказывается никаких значений, система обеспечивает полную поддержку пустых значений.

В Access можно использовать графические средства, как и в Microsoft Word, Excel, PowerPoint и других приложениях, позволяющие создавать различные виды графиков и диаграмм. Можно создавать гистограммы, двухмерные и трехмерные диаграммы. В формы и отчеты Access можно добавлять всевозможные объекты: рисунки, диаграммы, аудио- и видеоклипы. Связывая эти объекты с разработанной базой данных, можно создавать динамические формы и отчеты. Также в Access можно использовать макросы, позволяющие автоматизировать выполнение некоторых задач. Они позволяют открывать и закрывать формы и отчеты, создавать меню и диалоговые окна с целью автоматизации создания различных прикладных задач.

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

4.2. Объекты Microsoft Access

При запуске СУБД Access появляется окно для создания новой базы данных или для работы с ранее созданными БД, или уже имеющимися шаблонами (рис.12).

Рис. 12. Запуск Access

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

При создании новой базы данных Access откроет пустую таблицу, содержащую одну строку и два столбца (рис 13).

Рис.13. Окно новой базы данных

В левой части окна (область переходов) показаны все созданные объекты БД, пока мы лишь видим, пустую таблицу, т.к. созданных объектов в новой базе данных больше нет (рис. 13). К основным объектам СУБД Access относятся следующие.

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

Таблицы в Access могут быть созданы следующим образом:

· в режиме «конструктора»;

· в режиме ввода данных в таблицу.

Создать таблицу можно путем импорта данных, хранящихся в другом месте, или создания связи с ними. Это можно сделать, например, с данными, хранящимися в файле Excel, в списке Windows SharePoint Services, XML-файле, другой базе данных MS ACCESS. Список SharePoint позволяет предоставить доступ к данным пользователям, у которых не установлено приложение MS ACCESS. При импорте данных создается их копия в новой таблице текущей базы данных. Последующие изменения, вносимые в исходные данные, не будут влиять на импортированные данные, и наоборот. Если осуществляется связывание с данными, в текущей базе данных создается связанная таблица, обеспечивающая динамическое подключение к данным, хранящимся в другом месте. Изменения данных в связанной таблице отражаются в источнике, а изменения в источнике - в связанной таблице.

В режиме таблицы отображаются данные, которые хранятся в таблице, а в режиме «конструктора» отображается структура таблицы.

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

Запросы . Запросы - это специальные средства, предназначенные для поиска и анализа информации в таблицах базы данных, отвечающей определенным критериям. Найденные записи, называемые результатами запроса, можно просматривать, редактировать и анализировать различными способами. Кроме того, результаты запроса могут использоваться в качестве основы для создания других объектов Access. Существуют различные типы запросов, наиболее распространенными из которых являются запросы на выборку, параметрические и перекрестные запросы, запросы на удаление записи, изменение и другие. Реже используются запросы на действие и запросы SQL (Structured Query Language). Если нужного запроса нет, то его можно создать дополнительно.

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

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

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

· «форма»;

· «разделенная форма»;

· «несколько элементов»;

· «пустая форма».

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

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

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

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

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

Страницы. Чтобы предоставить пользователям Интернета доступ к информации, в базе данных можно создать специальные страницы доступа к данным. С помощью страниц доступа к данным можно просматривать, добавлять, изменять и обрабатывать данные, хранящиеся в базе данных. Страницы доступа к данным могут также содержать данные из других источников, например, из Excel. Для публикации информации из базы данных в Web Access включают «мастер», который обеспечивает создание страницы доступа.

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

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

Создание таблиц

При вводе данных в Access полям присваиваются имена: Поле1, Поле2 и так далее. Можно использовать предложенные имена или изменить их. Название полей в таблице можно задавать двумя способами. После выбора способа создания таблицы выполняется команда «Создать »и вызывается соответствующее окно. На рис.8. показано создание таблицы в режиме «конструктора». Создаются требуемые поля таблицы с заданным типом данных, который выбирается посредством кнопки выбора – «галочка», в нижней части окна находится раздел выбора свойств поля, которые предлагаются вначале по умолчанию.

Рис. 14. Создание таблицы в режиме конструктора

Свойства полей таблицы базы данных Access указаны в нижней половине таблицы (рис.14).

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

При создании таблиц используются следующие основные типы данных (рис.15).

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

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

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

Выражение : Смит работает на фирме 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. Перечислить архитектуру и модели телекоммуникационных технологий.



Загрузка...