Московский государственный университет печати

Г.Н. Ершова


         

Информационные технологии в книжном деле

Учебное пособие


Г.Н. Ершова
Информационные технологии в книжном деле
Начало
Печатный оригинал
Об электронном издании
Оглавление

Введение

1.

Основные понятия и определения

1.1.

От информации к информационным системам

1.2.

Уровни и виды информационных систем в организации

1.3.

Информационные технологии в управленческой деятельности

1.4.

Вопросы для самоконтроля

2.

Базы данных и Интернет

2.1.

Роль баз данных и файловые системы

2.2.

Основы моделирования данных

2.3.

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

2.4.

Логическое моделирование базы данных книжного магазина

2.5.

Архитектура многопользовательских СУБД

2.6.

Хранилища данных

2.7.

Интернет

2.8.

Поисковые системы

2.9.

Вопросы для самоконтроля

3.

Внедрение и развитие информационных систем

3.1.

Системный подход в построении информационных систем

3.2.

Общие вопросы разработки информационной системы

3.3.

Жизненный цикл программного обеспечения

3.4.

Этап «Анализ» жизненного цикла информационных систем

3.5.

Современные методы построения моделей бизнес-процессов

3.6.

Вопросы для самоконтроля

4.

Электронный обмен данными в книжной торговле

4.1.

Электронный обмен данными

4.2.

Развитие информационных технологий на предприятиях книжной торговли

4.3.

Международные коммуникативные форматы

4.4.

Сообщение ONIX-формата

4.5.

Использование ONIX в качестве стандарта обмена коммерческой информацией

4.6.

Безопасность электронного обмена данными

4.7.

Вопросы для самоконтроля

5.

Словарь терминов

6.

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

7.

Литература

Указатели
12   указатель иллюстраций
Рис. 2. Пример диаграммы «сущность-связь» Рис. 2. Пример диаграммы «сущность-связь» Рис. 2. Пример диаграммы «сущность-связь» Рис. 2. Пример диаграммы «сущность-связь» Рис. 3. Архитектура «клиент-сервер»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сущности.

Атрибуты.

Связи

 

Аналитика
Логический Преобразование требований к данным в структуры данных
  •    ER-диаграмма преобразуется в набор таблиц, при этом проводится их нормализацияНормализация таблиц - процедура, которая позволяет устранить дублирование и обеспечить непротиворечивость данных

  •   В результате получаем СУБД ориентированную структуру базы данных и спецификации прикладных программ

  • На этом этапе часто моделируют базы данных применительно к различным СУБД и проводят сравнительный анализ моделей

Таблицы.

Записи.

Элементы данных.

Связи между записями

 

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

  •  Выбор и построение индексов

  • Организация протоколирования, доступа к данным и др.
 

Группировка данных.

Индексы.

Методы доступа 
Администратора

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

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

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

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

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

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

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

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

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

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

На диаграмме «сущность-связь» сущность изображается в виде прямоугольника, в котором указано имя сущности. Фрагмент диаграммы «сущность-связь» представлен на рис. 2. Рис. 2. Пример диаграммы «сущность-связь».

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

В рассматриваемом примере атрибутами сущности «поставщик» могут являться:

  • наименование;
  • адрес;
  • телефон;
  • форма собственности.

Для сущности «товар» можно выделить следующие атрибуты:

  • автор книги;
  • тираж;
  • серия;
  • год издания;
  • издательство;
  • тип переплета;
  • цена книги.

Название атрибута записывается строчными буквами внутри прямоугольника сущности, к которой он относится. Атрибуты других сущностей представлены на рис. 2. Рис. 2. Пример диаграммы «сущность-связь».

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

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

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

Для сущности «менеджер» оба ее атрибута «табельный номер» и «Ф.И.О. менеджера» являются обязательными. Каждый сотрудник при оформлении на работу получает табельный номер. А то, что «Ф.И.О. менеджера» является обязательным атрибутом, очевидно.

Атрибут характеризуется наименованием, описанием, форматом и длиной, а так же теми допустимыми значениями, которые может принимать атрибут. Например, атрибут «телефон» представляет собой строку текста длиной не более 7 символов. Тогда формат атрибута «телефон» может быть определен как: «строка текста длиной 7 знаков». Атрибут «дата заключения договора» сущности «договор» может содержать только данные типа «дата», тогда его формат можно определить как «дата». В этом случае в качестве значения атрибута ввести информацию типа «24.12.2004» будет невозможно, так как строка такого вида не может быть преобразована в дату. Атрибут «ставка НДС» сущности «товар» может принимать, согласно российскому законодательству, только значения «0», «10» или «20», следовательно, атрибут можно описать как «целое число, принимающее значение 0, 10, 20». Ввести значение «15» в это поле будет невозможно.

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

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

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

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

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

Заметим, что сущность может иметь несколько наборов уникальных идентификаторов.

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

На диаграмме «сущность-связь» связи между сущностями обозначаются в виде линий. (рис. 2. Рис. 2. Пример диаграммы «сущность-связь»).

При связи один-к-одному каждому экземпляру одной сущности соответствует не более одного экземпляра другой. Этот вид связи встречается довольно редко.

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

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

При использовании связи многие-ко-многим множеству экземпляров сущности в одной таблице соответствует множество экземпляров в другой связанной сущности.

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

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

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

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

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

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

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

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

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

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

При построении реляционной модели данных используются следующие понятия и определения:

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

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

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

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

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

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

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

Одним из основных этапов при физическом проектировании базы данных является выбор СУБД.

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

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

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

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

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

Клиент-сервер (Рис. 3. Рис. 3. Архитектура «клиент-сервер»). Эта модель стала фактически стандартом для современных СУБД, поэтому рассмотрим ее более подробно.

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

Среда «клиент-сервер» содержит 2 основных компонента:

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

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

Процесс выполнения запроса состоит из шести этапов.

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

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

Преимущества модели «клиент-сервер»:

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

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

В таблице 3 приведен краткий перечень основных отличий информационных систем на основе хранилищ данных от систем оперативных данных.

Таблица 3. Сравнительные характеристики хранилищ данных и оперативных систем

Системы хранилищ данных Оперативные системы
 Используются руководством  Используются работниками «переднего края»
 Имеют стратегическое значение  Имеют тактическое значение
 Поддерживают стратегические направления развития бизнеса  Поддерживают повседневную деятельность
 Используются для интерактивного анализа  Используются для обработки трансакций
 Являются предметно-ориентированными  Ориентированы на приложения
 Хранят ретроспективные данные  Хранят только текущие данные
 Обрабатывают непредсказуемые запросы  Обрабатывают предсказуемые запросы

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

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

Рассмотрим основные особенности хранилища данных.

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

Интеграция данных. При перенесении данных из оперативной системы в хранилище перед загрузкой они преобразуются. Различного рода несоответствия в кодировании, типах данных и других «свойствах», присущих исходной системе, устраняются. Кроме того, как было сказано выше, данные агрегируются - рассчитывается суммарное количество, среднее, минимальное и максимальное значения по периодам. Например, информация о продажах хранится в банке данных в виде суммарных продаж за день, неделю, месяц, квартал и т.д. А это значит, что вместо информации, что 18 марта 2003 года в 12 часов 34 минуты и 3 секунды было продано 2 карандаша арт. 1265799, а через 3 минуты еще 5, в базе хранится информация о том, что в марте продано 123 карандаша арт. 1265799, в апреле - 23 и т.д. по месяцам. Далее, в первую неделю марта - 34, во вторую - 45 и т.д. по неделям.

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

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

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

  • Анализ рисков.
  • Финансовый анализ.
  • Анализ случаев мошенничества.
  • Маркетинг взаимоотношений.
  • Управление активами.
  • Анализ стереотипов поведения клиентов.
  • Поисковые системы.

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

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

Интернет возник в 60-е годы ХХ века на основании проекта ARPANet Министерства обороны США. Эта сеть объединяла ряд военных, научных и учебных центров США. В 70-е годы возник сам термин. К концу 80-х годов Интернет практически охватывает уже все крупные центры США и Европы. В это время Пентагон практически отходит от руководства и финансирования своего детища. 90-е годы - период бума Интернет. 1995 год признан годом Интернет. Тогда каждые 50 дней население киберпространства удваивалось.

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

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

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

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

Сегодня Интернет объединяет более 40000 сетей.

В Интернете есть два вида компьютеров - серверы и клиенты.

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

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

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

Каждому компьютеру в Интернете присваивается свой номер, который называется IP-адресом. IP-адрес имеет ровно 32 бита и записывается обычно как четыре десятичных числа, например, 192.168.22.11. Это глобальная нумерация - каждый компьютер, подключенный к Интернету, имеет уникальный IP-адрес.

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

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

У большинства компьютеров в Интернете есть собственное имя, а не только IP-адрес. Хотя люди уже привыкли пользоваться цифровыми номерами, звоня по телефону, все-таки имена, которые можно произнести, легче запоминаются. Служба, которая обеспечивает перевод имен компьютеров в их IP-адреса, называется доменной службой имен (DNS). Это что-то вроде гигантского, распределенного по многим компьютерам телефонного справочника, с IP-адресами вместо телефонов.

Имя компьютера записывается как несколько слов, разделенных точками, например shop.biblio-globus.ru. Это отражает иерархическую, или доменную, структуру службы DNS. В нашем примере shop - это имя компьютера в домене (второго уровня) biblio-globus.ru, который принадлежит домену (первого уровня) ru.

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

  • com - для коммерческих,
  • org и net - для некоммерческих организаций.

В большинстве стран существует один домен первого уровня для страны:

  • ru - для России,
  • de - для Германии,
  • uk - для Великобритании и т.д.

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

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

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

  • e-mail;
  • news;
  • ftp;
  • telnet;
  • IRC;
  • WWW.

Рассмотрим каждую из них.

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

Электронная почта не использует географическую адресацию. Адрес электронной почты, который сейчас принято писать на визитках вместе с телефоном, выглядит так: имя_пользователя@название_компьютера, например, Galina.Ershova@atkcg.ru. @ - это разделитель, который по-русски часто называют «собакой» или «лягушкой», а по-английски это обозначает предлог «at», то есть, в нашем примере, пользователь с регистрационным именем Galina.Ershova в домене atkcg.ru. Большие и маленькие буквы в почтовом адресе не различаются. Адрес следует писать очень внимательно - по адресу с опечатками письмо не дойдет.

Работа с почтой через интернет-броузер позволяет пользоваться почтой и не имея почтовой программы. Существует большое количество серверов, которые предлагают пользователю завести бесплатный почтовый ящик и позволяют работать с почтой, используя только броузер. Такие службы есть как в России (mail.ru, www.tomcat.ru), так и за ее пределами (hotmail.com, mail.yahoo.com и др.). Бесплатные почтовые службы живут за счет доходов от рекламы.

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

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

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

IRC (Internet Relay Chat) - диалог путем передачи текста через Интернет. Такой вид связи чем-то похож на телефонный разговор, но основное отличие в том, что диалог ведется путем передачи текста, набранного на клавиатуре компьютера. Причем возможно «разговаривать» таким образом сразу с несколькими собеседниками.

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

Новая программа имеет следующие преимущества:

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

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

На сегодняшний день насчитывается около 1 900 000 серверов в Интернет. Каждую секунду в Сети появляются новые материалы, какая-то их часть по разным причинам удаляется с серверов, другая - меняет адресацию. По оценкам специалистов, средний срок нахождения информации по конкретному адресу - полгода. Это постоянное обновление с одновременным ростом объема информационного массива делает крайне сложным доступ к большинству документов, представленных в Интернет.

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

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

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

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

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

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

  1. Перечислите два основных направления использования средств вычислительной техники.
  2. В чем заключается достоинство, а в чем недостаток файловой информационной системы?
  3. Что такое предметная область?
  4. Что такое база данных?
  5. Для чего предназначен словарь данных?
  6. Перечислите три основные модели данных.
  7. Приведите характеристики трех основных этапов проектирования базы данных.
  8. В чем состоит отличие понятия «сущность» от понятия «экземпляр сущности»?
  9. В чем состоит отличие понятия «сущность» от понятия «атрибут»? В каких случаях атрибут становится сущностью и наоборот?
  10. Что такое связь (отношение) и какие связи бывают?
  11. Перечислите основные понятия реляционной модели данных.
  12. Дайте краткую характеристику трем основным архитектурам СУБД.
  13. В чем состоит назначение хранилищ данных?
  14. Перечислите основные особенности хранилищ данных.
  15. Что такое Интернет?
  16. Что такое протокол передачи данных и какой протокол используется в Интернет?
  17. Какие службы Интернета вы знаете? Дайте их краткую характеристику.
  18. Для чего нужны поисковые машины в Интернете?
  19. Как работает поисковая машина?

© Центр дистанционного образования МГУП