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

ЛЕКЦИЯ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сущность (Entity)

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

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

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

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

Атрибуты

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

Атрибуты

Связь (Relationship)

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

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

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

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

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

Неполное

Родительск.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BPwin и Erwin. CASE-средства для разработки информационных систем Маклаков Сергей Владимирович

2.1.1. Физическая и логическая модель данных

2.1.1. Физическая и логическая модель данных

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

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

Документирование модели. Многие СУБД имеют ограничение на именование объектов (например, ограничение на длину имени таблицы или запрет использования специальных символов - пробела и т. п.). Зачастую разработчики ИС имеют дело с нелокализованными версиями СУБД. Это означает, что объекты БД могут называться короткими словами, только латинскими символами и без использования специальных символов (т. е. нельзя назвать таблицу предложением - только одним словом). Кроме того, проектировщики БД нередко злоупотребляют "техническими" наименованиями, в результате таблица и колонки получают наименования типа RTD_324 или CUST_A12 и т. д. Полученную в результате структуру могут понять только специалисты (а чаще всего только авторы модели), ее невозможно обсуждать с экспертами предметной области. Разделение модели на логическую и физическую позволяет решить эту проблему. На физическом уровне объекты БД могут называться так, как того требуют ограничения СУБД. На логическом уровне можно этим объектам дать синонимы - имена более понятные неспециалистам, в том числе на кириллице и с использованием специальных символов. Например, таблице CUST_A12 может соответствовать сущность Постоянный клиент. Такое соответствие позволяет лучше задокументировать модель и дает возможность обсуждать структуру данных с экспертами предметной области.

Масштабирование. Создание модели данных, как правило, начинается с создания логической модели. После описания логической модели, проектировщик может выбрать необходимую СУБД и ERwin автоматически создаст соответствующую физическую модель. На основе физической модели ERwin может сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием (Forward Engineering). Тем самым достигается масштабируемость - создав одну логическую модель данных, можно сгенерировать физические модели под любую поддерживаемую ERwin СУБД. С другой стороны, ERwin способен по содержимому системного каталога или SQL-скрипту воссоздать физическую и логическую модель данных (Reverse Engineering). На основе полученной логической модели данных можно сгенерировать физическую модель для другой СУБД и затем сгенерировать ее системный каталог. Следовательно, ERwin позволяет решить задачу по переносу структуры данных с одного сервера на другой. Например, можно перенести структуру данных с Oracle на Informix (или наоборот) или перенести структуру dbf-файлов в реляционную СУБД, тем самым облегчив решение по переходу от файл-серверной к клиент-серверной ИС. Заметим, однако, что формальный перенос структуры "плоских" таблиц на реляционную СУБД обычно неэффективен. Для того чтобы извлечь выгоды от перехода на клиент-серверную технологию, структуру данных следует модифицировать. Процессы прямого и обратного проектирования будут рассмотрены ниже.

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

Рис. 2.1. Переключение между логической и физической моделью

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

Из книги Собираем компьютер своими руками автора Ватаманюк Александр Иванович

Модель ISO/OSI и протоколы передачи данных Главной в стандартизации сетей и всего, что к ним относится, является модель взаимодействия открытых систем (Open System Interconnection, OSI), разработанная международной организацией по стандартизации (International Standards Organization, ISO). На практике

Из книги Справочное руководство по C++ автора Страустрап Бьярн

R.5.15 Логическая операция ИЛИ логическое-выражение-ИЛИ: логическое-выражение-И логическое-выражение-ИЛИ || логическое-выражение-ИОперации || выполняются слева направо. Результат операции 1, если один из ее операндов отличен от нуля, иначе результат - 0. В отличие от | при

Из книги Язык программирования С# 2005 и платформа.NET 2.0. автора Троелсен Эндрю

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

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

ГЛАВА 4 Модель ADO.NET: провайдеры данных Порой кажется, что не успели еще разработчики приложений баз данных привыкнуть к новой технологии, как компания Microsoft предложила совершенно новую модель доступа к базам данных. В этой главе основное внимание уделяется модели ADO.NET,

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

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

Из книги Инфраструктуры открытых ключей автора Полянская Ольга Юрьевна

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

Из книги Моделирование бизнес-процессов с BPwin 4.0 автора Маклаков Сергей Владимирович

3.1. Модель данных и ее соответствие модели процессов Функциональная модель BPwin является основой для построения модели данных. Действительно, не имея информации о том, как работает предприятие, бессмысленно строить модель данных. Для построения модели данных удобно

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Модель данных <> база данных Тот "мир", который был получен в процессе описания и анализа, является черновиком для структур ваших данных. Считается, что логическая модель должна описывать отношения и наборы. Обычная ошибка (и западня, присущая всем инструментам CASE) слепо

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Из книги IT-безопасность: стоит ли рисковать корпорацией? автора Маккарти Линда

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

Из книги Восстановление данных на 100% автора Ташков Петр Андреевич

Физическая структура базы данных Зачем изучать физическую структуру базы данных? Говоря о физической структуре базы данных InterBase, обычно подразумевают то что представляют собой данные с точки зрения низкоуровневой организации данных - вплоть до уровня байтов. Многие

Из книги Операционная система UNIX автора Робачевский Андрей М.

Из книги автора

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

Из книги автора

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

Из книги автора

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

Из книги автора

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

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

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

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

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

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

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

История развития систем управления базами данных (СУБД) насчитывает десятки лет. Первая промышленная СУБД фирмы 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).



Понравилась статья? Поделиться с друзьями: