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

Иванько А.Ф., Иванько М.А.


         

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ИЗДАТЕЛЬСКОМ ДЕЛЕ

Учебное пособие для студентов высших учебных заведений, обучающихся по направлению подготовки 035000 «Издательское дело»


Иванько А.Ф., Иванько М.А.
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ИЗДАТЕЛЬСКОМ ДЕЛЕ
Начало
Печатный оригинал
Об электронном издании
Оглавление

ВВЕДЕНИЕ

1.

ПОНЯТИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

1.1.

Применение информационных технологий в издательском деле и полиграфии

1.2.

Основные понятия информационных технологий

1.3.

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

2.

АВТОМАТИЗАЦИЯ И ЧЕЛОВЕКО-МАШИННЫЕ КОМПЛЕКСЫ

3.

ТЕХНИЧЕСКИЕ СРЕДСТВА ИЗДАТЕЛЬСКОГО И ПОЛИГРАФИЧЕСКОГО КОМПЛЕКСА

3.1.

Системные платы. Виды системных плат

3.2.

Процессор. Параметры процессора. Типы архитектур

3.3.

Шины

3.4.

Виды интерфейсов устройств хранения данных

3.5.

Мониторы

3.6.

Устройства вывода на печать - принтеры. Технологии цветной печати

3.6.1.

Dot Matrix

3.6.2.

Liquid ink-jet

3.6.3.

Thermal transfer

3.6.4.

Dye sublimation

3.6.5.

Phase change ink-jet

3.7.

Ксеро-копировальный аппарат

3.8.

Лазерные принтеры

3.9.

Сканеры

3.9.1.

Классификация сканеров по прозрачности оригинала

3.9.2.

Классификация сканеров по механизму движения

3.9.3.

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

4.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СОВРЕМЕННЫХ КОМПЬЮТЕРОВ

4.1.

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

4.1.1.

Сетевые операционные системы

4.1.2.

Архитектура операционных систем

4.2.

Прикладное программное обеспечение

4.2.1.

Базы данных

4.2.2.

Программные средства обработки иллюстраций и графики

5.

КОМПЬЮТЕРНЫЕ СЕТИ

5.1.

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

5.2.

Виды каналов передачи данных

5.3.

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

5.4.

Сетевой протокол и интерфейс

5.5.

Адресация в Интернете

5.6.

Протокол передачи данных TCP/IP

5.7.

Специальное коммуникационное оборудование

6.

Библиографический список

Указатели
32   указатель иллюстраций
Рис. 4.1. Пример векторного рисунка Рис. 4.2. Пример растрового изображения Рис. 4.3 Панель инструментов CorelDraw Рис. 4.4. Чертеж для работы «Голем» (слева) и эскиз для работы «Бойня в полдень» (справа) Рис. 4.5. Полигональное моделирование Editablepoly Рис. 4.6. Виды копий Рис. 4.7. Make unique Рис. 4.8. ResetXform Рис. 4.9. Array Рис. 4.10. Scatter трава в работе «Ржавое небо» - вьюпорт Рис. 4.11. Scatter трава в работе «Ржавое небо» - рендер Рис. 4.12. Способы создания сплайнов Рис. 4.13. Скрипт WireBundle Рис. 4.14. Модель монстра после ретопологии Рис. 4.15. Этапы создания модели Рис. 4.16. Diffuse и Bump текстуры земли для работы «Бойня в полдень» Рис. 4.17. Текстуры для развертки uvmaster Рис. 4.18. Материалы для работы «Стальная вера» Рис. 4.19. Освещение в работе «Бойня в полдень» Рис. 4.20. Некоторые настройки рендера Рис. 4.21. Рисование в разных режимах наложения во время постобработки работы

Компетенции обучающегося, формируемые в результате освоения (модуля):

профессиональные (ПК):

  • использовать информационные технологии и программное обеспечение при разработке издательских проектов (ПК-14);
  • формировать структуру и контент электронных изданий, применять программные средства их разработки (ПК-23);

управление издательскими процессами:

  • использовать цифровые активы и базы данных (ПК-26);

распространение издательской продукции:

  • знать принципы функционирования и методы построения современных глобальных книгораспространительных систем;
  • использовать электронные форматы передачи информации (ПК-34);
  • владеть методами распространения цифровых изданий (ПК-35).

Программное обеспечение ЭВМ условно принято разделять на три группы: общесистемное; надбазовое; прикладное программное обеспечение.

Под общесистемным программным обеспечением в настоящее время понимают современные операционные системы.

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

  • процессорное время;
  • управление памятью;
  • управление файловой системой;
  • управление периферийными устройствами и аппаратными средствами компьютера.

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

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

Реализация мультипрограммирования потребовала внесения изменений в аппаратуру компьютера. В процессорах появились два режима работы: привилегированный и пользовательский. Появились специальные регистры, которые давали возможность переключения процессора с одной задачи на другую. Также развивается система прерываний и средства защиты областей памяти. В конце 1960-х гг. были начаты работы по созданию компьютерных систем. В это время в США начинает работу компьютерная сеть Arpanet, которая явилась прообразом современной сети Internet. Arpanet была испытательным полигоном для сетевых операционных систем; она дала возможность проверить в реальных условиях взаимодействие отдельных компьютеров, степень масштабируемости, а также способность работы при пиковых нагрузках. В середине 1970-х гг. начинается производство мини-ЭВМ. Архитектура этих компьютеров была несколько проще, чем у мэнфреймов, что нашло отражение в операционной системе миникомпьютеров. Именно мини-ЭВМ послужили основой для создания локальных сетей ЭВМ, что вызвало необходимость организации совместного использования данных и периферийного оборудования.

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

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

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

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

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

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

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

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

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

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

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

К основным функциональным компонентам сетевой операционной системы относятся средства управления локальными ресурсами и сетевые средства. Сетевые средства делятся на три составляющих.

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

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

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

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

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

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

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

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

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

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

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

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

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

1) машинно-зависимые компоненты операционной системы;

2) базовые механизмы ядра;

3) менеджеры ресурсов;

4) интерфейс системных вызовов.

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

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

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

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

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

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

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

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

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

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

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

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

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

Обратимся к терминологии.

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

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

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

Подготовка информации состоит в ее формализации, сборе и перенесении на машинные носители.

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

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

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

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

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

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

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

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

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

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

Разработка любой информационной системы начинается с определения предметной области.

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

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

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

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

Различают типы множественных связей: «один к одному» (1:1), «один ко многим» (1:n) и «многие ко многим» (m:n).

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

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

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

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

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

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

1) набора типов структур данных;

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

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

Типы структур данных. Структуризация данных базируется на использовании концепций «агрегации» и «обобщения». Первый вариант структуризации данных был предложен Ассоциацией по языкам обработки данных (Conference on Data Systems Languages, CODASYL).

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

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

Запись - поименованная совокупность элементов данных или элементов данных и агрегатов. Запись - это агрегат, не входящий в состав никакого другого агрегата; она может иметь сложную иерархическую структуру, поскольку допускается многократное применение агрегации. Различают тип записи (ее структуру) и экземпляр записи, т.е. запись с конкретными значениями элементов данных. Одна запись описывает свойства одного объекта ПО (экземпляра) [ссылка на источники литературы].

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

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

Операции над данными. Модель данных определяет множество действий, которые допустимо производить над некоторой реализацией БД для ее перевода из одного состояния в другое. Это множество соотносят с языком манипулирования данными (Data Manipulation Language, DML).

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

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

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

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

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

Реляционная модель данных (РМД). Понятие отношения. Реляционная модель данных была предложена математиком Э.Ф. Коддом (Codd E.F.) в 1970 г. РМД является наиболее широко распространенной моделью данных и единственной из трех основных моделей данных, для которой разработан теоретический базис с использованием теории множеств [ссылка на источники литературы].

В основе РМД лежит понятие отношения, представляющего собой подмножество декартова произведения доменов.

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

Широкое распространение РМД объясняется, в первую очередь, простотой представления и формирования БД, универсальностью и удобством обработки данных, которая осуществляется с помощью декларативного языка запросов SQL (Structured Query Language) [ссылка на источники литературы].

Существуют два стандарта SQL, определенные американским национальным институтом стандартов (ANSI): SQL-89 (SQL1) и SQL-92 (SQL2). В настоящее время в стадии разработки находится новый стандарт - SQL3. Большинство коммерческих систем управления базами данных (СУБД) поддерживают стандарт SQL2, который принят ISO (International Standards Organization) в качестве международного стандарта.

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

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

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

К сожалению, до 2003 г. разработчики не пришли к единому мнению о том, как следует определять ОРМД. Модели, поддерживаемые различными производителями СУБД, существенно отличаются по своим функциональным характеристикам, поэтому о включении объектов в РМД можно говорить только как об общем направлении разлития БД. О перспективах этого направления свидетельствует тот факт, что ведущие фирмы - производители СУБД, в числе которых Oracle, Informix и INGRES, расширили возможности своих продуктов до объектно-реляционной СУБД (ОРСУБД).

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

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

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

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

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

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

Процесс проектирования БД включает следующие этапы:

1) информационно-логическое (инфологическое) проектирование;

2) определение требований к операционной обстановке, в которой будет функционировать информационная система;

3) выбор СУБД и других инструментальных программных средств;

4) логическое проектирование БД;

5) физическое проектирование БД.

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

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

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

В качестве основных функций СУБД можно выделить следующие:

  1. Хранение, извлечение и обработка данных. Это основная функция системы, ради которой она создается.
  2. Наличие языка обработки данных. Язык обработки данных должен включать все необходимые для управления данными операции.
  3. Наличие доступного пользовательского каталога данных. Каталог (словарь-справочник) содержит метаданные, т.е. информацию о данных. Он должен быть организован с использованием тех же структур, что и сами данные. Это дает возможность использовать для доступа к нему тот же язык, который используется для доступа к самим данным.
  4. Поддержка многопользовательского режима доступа. База данных создается для решения многих задач многими пользователями. Это подразумевает возможность одновременного доступа многих пользователей к данным. Данные в БД являются разделяемым ресурсом, и СУБД должна обеспечивать разграничение доступа к ним.
  5. Обеспечение логической независимости данных. Это свойство позволяет сконструировать несколько различных логических взглядов (представлений) на одни и те же данные для разных групп пользователей, не изменяя их физического представления. При этом логическое представление данных может сильно отличаться от физической структуры их хранения и может синтезироваться динамически, на основе хранимых объектов БД в процессе обработки запросов.
  6. Обеспечение физической независимости данных. Под физической независимостью данных подразумевается способность СУБД предоставлять некоторую свободу модификации способов организации БД в среде хранения, не вызывая необходимости внесения изменений в логическое представление данных. Это позволяет оптимизировать среду хранения данных с целью повышения эффективности системы, не затрагивая созданных прикладных программ, работающих с БД. Свойства (5-6) обеспечиваются с помощью одних и тех же механизмов СУБД.
  7. Обеспечение логической целостности БД. Под логической целостностью понимается непротиворечивость данных, т.е. все объекты данных в БД должны соответствовать одному и тому же (во времени) состоянию ПО. Это обеспечивается с помощью механизма транзакций (см. следующий раздел). Значения объектов данных не должны выходить за границы допустимых значений. Ограничения целостности объявляются в схеме БД, и их проверка выполняется всякий раз при модификации данных [ссылка на источники литературы].
  8. Обеспечение физической целостности данных. Проблема обеспечения физической целостности данных обусловлена возможностью разрушения данных в результате сбоев и отказов в работе вычислительной системы. Развитые СУБД позволяют в большинстве случаев восстановить потерянные данные. Восстановление данных основано на периодическом создании резервных копий БД и ведении журнала регистрации изменений.
  9. Управление доступом. Для многопользовательских систем актуальна проблема защиты данных от несанкционированного доступа. Каждый пользователь этой системы, в соответствии со своим уровнем (приоритетом), имеет доступ либо ко всей совокупности данных, либо только к ее части. Управление доступом также подразумевает предоставление прав на проведение отдельных операций над отношениями или другими объектами БД.

Далее рассмотрим данные о языке декларативных запросов SQL.

SQL (Structured Query Language) - это структурированный язык запросов к реляционным базам данных (БД). SQL является декларативным языком, основанным на операциях реляционной алгебры [ссылка на источники литературы].

Существуют два стандарта SQL, определенные американским национальным институтом стандартов (ANSI): SQL-89 (SQL-1) и SQL-92 (SQL-2). В настоящее время разрабатывается новый стандарт - SQL-3.

Большинство коммерческих СУБД поддерживают стандарт SQL-92, который принят ISO (International Standards Organization) в качестве международного стандарта. Многие версии имеют свои отличия, которые касаются в основном синтаксиса.

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

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

Для реализации этих функций SQL включает три группы средств:

  • DDL (Data Definition Language) - язык определения данных;
  • DML (Data Manipulation Language) - язык манипулирования данными;
  • DCL (Data Control Language) - язык управления данными.

По стандарту ANSI DCL является частью DDL.

В командах SQL не различаются прописные и строчные буквы (за исключением строчных литералов). Каждая команда заканчивается символом ';'. Значения параметров по умолчанию выделены подчеркиванием, например, ALL.

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

{} - содержимое скобок рассматривается как единое целое для остальных символов;

| - заменяет слово ИЛИ;

[] - содержимое этих скобок является необязательным;

... - все, что предшествует этим символам, может повторяться произвольное число раз;

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

Создание нового отношения (таблицы) выполняется с помощью команды DDL CREATE TABLE. Команда CREATE TABLE используется для описания новой таблицы, ее атрибутов (полей) и ограничений целостности. Упрощенный синтаксис этой команды:

CREATE TABLE <имя таблицы>

( {<имя поля><тип данных> [(<размер>)]

[<ограничения целостности поля>...]} .,..

[,<ограничения целостности таблицы>.,..]);

Расшифровка элементов описания приведена в табл. 4.1.

Элемент

Таблица 4.1

Описание команды CREATE TABLE

Элемент

Описание

<имя поля>

Имя поля (столбца) таблицы, обычный идентификатор

<тип данных>

Тип данных поля. Можно использовать одно из значений:

— INTEGER, INT, SMALLINT — целые числа;

— NUMERIC[(длина [, точность])], DECIMAL[(длина [, точность])] — числа с фиксированной запятой;

— FLOAT, REAL, DOUBLE — вещественные числа;

— СНАR[(длина)], VARCHAR(длина) - символьные строки фиксированной и переменной длины;

— DATE — дата; TIME — время

<размер>

Размер поля в символах (для текста и чисел)

<ограничения целостности>

Можно использовать следующие ограничения:

— PRIMARY KEY — первичный ключ (обязательный и уникальный); — UNIQUE — уникальное значение поля в пределах столбца таблицы;

— [NOT] NULL — [не] возможность не указывать значение поля;

— CHECK (<условие>) — проверка условия для поля (полей);

— DEFAULT <выражение> — задание значения поля по умолчанию;

— REFERENCES <имя таблицы> [(<имя столбца>)] — внешний ключ

<ограничения целостности таблицы>

То же, что и для поля. Дополнительно используется: FOREIGN KEY [(<список полей>.,..)] REFERENCES <имя таблицы> [(<список полeй>)] — внешний ключ

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