- •Основы информатики и информационных технологий
- •Оглавление
- •Глава 8. Сети и сетевые технологии 112
- •Глава 9. Ащита информации 129
- •Предисловие
- •Раздел 1. Введение в информатику
- •Глава 1. Информатика и предмет ее исследования
- •Глава 2. Понятие информации
- •2.1. Определение и свойства информации
- •2.2. Особенности экономической информации
- •Глава 3. Роль информации в управлении
- •3.1. Одноконтурная схема управления экономическими системами
- •3.2. Информация и информационные системы в управлении
- •Глава 4. Кодирование и представление информации
- •4.1. Основные определения
- •4.2. Связь между системами счисления
- •4.3. Системы счисления, используемые в эвм
- •4.4. Внутреннее представление данных в памяти компьютера
- •4.4.1. Представление чисел
- •4.4.2. Представление текстовых данных
- •4.4.3. Представление мультимедийной информации
- •4.5. Представление данных во внешней памяти компьютера
- •Глава 5. Основы алгоритмизации
- •5.1. Определение и свойства алгоритмов
- •5.2. Основные этапы и методы разработки алгоритмов
- •5.3. Основные способы описания алгоритмов
- •Раздел 2. Основы информационных технологий
- •Глава 6. Аппаратное обеспечение вычислительных систем
- •6.1. Понятие архитектуры и принципы устройства вычислительных систем
- •6.2. Устройство персонального компьютера
- •6.2.1. Конфигурация персонального компьютера
- •6.2.2. Характеристики процессора
- •6.2.3. Организация памяти персонального компьютера
- •6.2.4. Устройства ввода/вывода
- •6.2.5. Внешние запоминающие устройства
- •6.3. Тенденции совершенствования архитектуры
- •Глава 7. Программное обеспечение
- •7.1. Понятие программы
- •7.2. Классификация программного обеспечения
- •7.3. Системное программное обеспечение
- •7.3.1. Операционные системы
- •Определение и функции операционных систем
- •Классификация операционных систем
- •Функция управления процессами
- •Управление основными ресурсами
- •Управление данными. Файловая система
- •Управление внешними устройствами и организация ввода/вывода
- •Интерфейс с пользователем
- •7.3.2. Операционные оболочки
- •7.3.3. Средства контроля и диагностики
- •7.3.4. Системы программирования
- •7.4. Системы управления базами данных
- •7.4.1. Основные понятия
- •7.4.2. Реляционный подход к управлению бд
- •«Магазины»
- •«Владельцы»
- •«Магазины-Владельцы»
- •«Поставки»
- •«Товар»
- •«Поставки»
- •7.4.3. Назначение и классификация субд
- •7.4.4. Средства описания и манипулирования данными в субд
- •7.4.5. Объектно-ориентированные субд
- •7.4.6. Категории пользователей
- •7.5. Прикладное программное обеспечение
- •Глава 8. Сети и сетевые технологии
- •8.1. Определение, назначение и классификация сетей
- •8.2. Способы передачи информации, коммутация и маршрутизация в сетях
- •8.3. Организация взаимодействия в сетях
- •8.4. Топология сетей и методы доступа
- •8.5. Глобальная сеть Internet
- •8.5.1. Идентификация компьютеров в сети
- •8.5.2. Услуги Internet
- •8.5.3. Всемирная паутина World Wide Web
- •8.5.4. Электронная почта
- •8.5.5. Навигационные средства для Internet
- •8.6. Корпоративные сети на основе технологий Internet
- •Глава 9. Защита информации
- •9.1. Информация как продукт
- •9.2. Концепция защищенной вс
- •9.2.1. Основные понятия
- •9.2.2. Этапы разработки системы защиты
- •9.2.3. Общая классификация вторжений и характеристика угроз
- •9.2.4. Система защиты
- •9.2.5. Защита объектов на регистрационном уровне и контроль доступа
- •9.3. Криптографические средства защиты информации
- •9.3.1. Основные понятия
- •9.3.2. Криптографические протоколы
- •9.3.3. Электронно-цифровые подписи и открытые сделки
- •9.3.4. Использование криптографической защиты в программных продуктах
- •9.3.5. Условия и ограничения использования криптографической защиты
- •9.4. Программные закладки и вирусы
- •9.5. Хакеры и проблема безопасности информационных систем
- •9.6. Защита информации от потери в результате сбоев
- •9.7. Правовая защита информации и программного обеспечения
- •Глава 10. Интегрированные пакеты прикладных программ офисного назначения
- •10.1. Общая характеристика офисных пакетов
- •10.2. Основы редактирования текстовых документов
- •10.3. Использование электронных таблиц
- •10.4. Системы электронного перевода
- •10.5. Системы оптического распознавания текстов
- •10.6. Интеграция систем распознавания текстов, компьютерного перевода и офисных пакетов
- •10.7. Электронные презентации
- •10.8. Графические редакторы
- •10.9. Правовые системы
- •10.10. Учетные системы
- •Глава 11. Системы аналитической обработки данных и искусственного интеллекта
- •11.1. Средства анализа данных математических пакетов
- •11.2. Введение в системы искусственного интеллекта
- •11.2.1. Основы экспертных систем
- •11.2.2. Представление и использование нечетких знаний
- •11.2.3. Нейронные системы и сети
- •11.2.4. Системы извлечения знаний
- •11.2.5. Инструментальные средства создания интеллектуальных приложений
- •Раздел 3. Современные информационные технологии в экономике и управлении
- •Глава 12. Основные понятия
- •Глава 13. Эволюция информационных технологий
- •Глава 14. Классификация информационных систем
- •Глава 15. Корпоративные системы
- •15.1. Типовые технические решения
- •15.2. Корпоративные информационные порталы
- •15.3. Серверы BizTalk как основа средств интеграции информационных систем
- •Глава 16. Методы и средства разработки информационных систем
- •16.1. Жизненный цикл информационных систем
- •16.1.1. Процессы жизненного цикла ис
- •16.1.2. Модели жизненного цикла
- •16.2. Методы и средства структурного анализа
- •16.3. Объектно-ориентированный подход к разработке информационных систем
- •16.4. Компонентно-ориентированные средства разработки ис
- •Глава 17. Стандарты создания информационных систем
- •17.1. Стандарты кодирования и представления информации
- •17.1.1. Единая система классификации и кодирования технико-экономической и социальной информации
- •17.1.2. Нормативная база системы классификации и кодирования
- •17.2. Унификация и стандартизация документов
- •17.3. Поддержка стандартов управления бизнес-системами
- •17.3.1. Информационные технологии и реинжиниринг
- •17.3.2 Описание стандарта mrp II
- •Стратегическое планирование
- •Бизнес-планирование
- •Планирование объемов продаж и производства
- •Планирование ресурсов
- •Главный план-график производства
- •Общее планирование мощностей
- •Mrp, или планирование потребностей в материалах
- •Crp, или планирование потребностей в мощностях
- •Drp, или планирование потребностей в распределении
- •Глава 18. Основы электронной коммерции
- •18.1. Этапы развития электронной коммерции
- •18.2. Секторы рынка электронной коммерции
- •18.3. Инструментарий электронной коммерции
- •18.4. Электронные платежные системы
- •Глава 19. Введение в мобильный бизнес
- •19.1. Возможности мобильного бизнеса
- •19.2. Обзор существующих технологий мобильного бизнеса
- •19.2.1. Терминальные устройства
- •19.2.2. Современные технологии построения цифровых каналов связи
- •19.2.3. Стандарты мобильного Internet
- •19.2.4. Проблемы мобильного Internet
- •19.2.5. Операционные системы для мобильных устройств
- •19.2.6. Средства разработки приложений мобильного бизнеса
- •Библиографический список
7.4.4. Средства описания и манипулирования данными в субд
Для работы с БД разработан целый класс языков, использующихся для определения БД и обращения к ней, – языков баз данных. Языки баз данных включают один или более языков описания данных и один или более языков манипулирования данными. Языки баз данных разрабатываются либо как расширение существующего языка программирования, либо как независимые языки.
При работе с базами данных используются их описания. Данные требуется описывать на различных уровнях абстрагирования. Описание каждого уровня представляет собой схему.
Схема – это средство, с помощью которого описывается модель данных приложения. Модель данных состоит из трех компонентов:
– структуры данных, представляющих точку зрения пользователя на БД;
– допустимых операций, выполняемых на определенной структуре данных;
– ограничений для контроля целостности данных.
Таким образом, в схеме присутствует и некоторая семантическая информация, относящаяся к приложению. Разработка схемы – это проектирование БД. Этот процесс выполняется по определенным правилам, зависящим от используемой в СУБД модели данных. Наиболее распространенными в настоящее время являются реляционные СУБД, правила проектирования которых рассматривались выше.
Язык описания данных позволяет описывать БД, хранящуюся в ней информацию (модель данных) для различных приложений.
Языки манипулирования данными включают средства (обычно более мощные по сравнению с имеющимися в обычных универсальных языках программирования) для описания операций сохранения, поиска, обновления и стирания записей. С помощью этих языков можно задать, например, описание процедуры поиска набора записей на основе некоторого (произвольной сложности) набора условий, которые будут применяться к содержимому записей в базе данных. Языки манипулирования данными, которые могут использоваться конечными пользователями БД в диалоговом режиме (то есть могут использоваться вне языка программирования главной системы), часто называют запросными языками.
Появление высококонкурентного рынка реляционных СУБД привело к созданию полного и выразительного языка для реляционных моделей – SQL (Structured Query Language – язык структурированных запросов). Это универсальный язык для создания, модификации и управления данными в реляционных БД.
Объекты реального мира кроме собственных свойств и непосредственных, прямых связей имеют друг с другом более сложные причинно-следственные связи, они динамичны, находятся в постоянном изменении, взаимодействии. Эти связи и процессы должны каким-то образом отражаться в БД, которая должна быть не статичным хранилищем информации, а должна представлять собой информационную модель объектов реального мира, системы, образуемой ими. Таким образом, в БД помимо собственно данных (атрибутов объектов) и непосредственным связей между ними должны храниться знания об объектах, адекватно отражающие процессы, происходящие с этими объектами в реальном мире. СУБД должны иметь средства хранения и управления такой информацией.
Указанные требования позволяют сформулировать несколько общих задач, которые должны решаться средствами современных СУБД:
– БД в любой момент времени должна правильно отражать состояние предметной области – данные должны быть взаимно непротиворечивыми;
– БД должна отражать некоторые правила предметной области (business rules), законы, по которым функционирует описываемая БД система;
– необходимы постоянный контроль за состоянием БД, отслеживание всех происходящих в ней изменений и адекватная реакция на них;
– необходимо организовать работу таким образом, чтобы возникновение какой-либо определенной ситуации, события в БД оперативно влияло на ход выполнения прикладных программ, «заинтересованных» в этом событии, т.е. программы должны «оповещаться» об этом событии.
Например, предприятие нормально, без срывов может работать только тогда, когда на его складах имеется достаточный запас деталей определенной номенклатуры. Следовательно, как только количество деталей становится меньше минимально допустимого значения, необходимо оформить заявку на эти детали. Это правило отражает порядок функционирования реальной системы (предприятия), является характеристикой ее объектов, поэтому оно должно храниться вмести с другими данными об объектах системы.
Оповещение о возникновении определенного состояния БД и изменениях в ней (о событиях) может потребоваться в любой организации для контроля прохождения документов.
При использовании традиционного подхода подобные знания о предметной области оставались за границами возможностей реляционных СУБД или были очень ограничены. Знания о предметной области, о законах, правилах ее функционирования, развития включались непосредственно в прикладные программы, для чего использовались возможности процедурных языков программирования.
Этот подход обладает недостатками: усложняется прикладная программа, перегружается алгоритмами, описывающими не базовые операции управления данными, а правила предметной области, действующие в реальном мире. Программы должны опрашивать БД, сканировать информацию в ней для выявления ситуаций, которые должны быть обработаны, что ведет к перегрузке вычислительной системы, снижению эффективности ее функционирования. Изменение правил предметной области требует внесения изменений и в соответствующие прикладные программы.
Подход, предполагающий включение правил предметной области (бизнес-правил) в прикладные программы и отведение БД роли пассивного хранилища информации, при котором вся «интеллектуальная» работа реализуется в программе, является устаревшим.
Современные СУБД позволяют активизировать БД, передать часть «интеллектуальной» работы СУБД. Реализованные в них подходы опираются на четыре основных механизма:
– процедуры баз данных,
– правила (триггеры),
– события в базе данных,
– типы данных, определяемые пользователем.
Процедуры БД, называемые еще хранимыми процедурами, присоединяемым, разделяемыми (зависит от СУБД) записываются в БД и хранятся в ней вместе с данными. Эти процедуры описывают основные правила предметной области, которые являются общими для всех прикладных программ, работающих с БД. Таким образом, нет необходимости дублировать эти алгоритмы во все прикладные программы, при изменении правил нужно изменить только текст соответствующей хранимой процедуры, не меняя тексты программ.
Механизм правил (триггеров) позволяет программировать в БД обработку ситуаций, возникающих при любых изменениях в БД. Каждое правило (триггер) связывается с определенной таблицей БД и применяется (активизируется) при внесении изменений в соответствующую таблицу. Применение правила заключается в проверке сформулированных в нем условий, при выполнении которых происходит вызов указанной в триггере процедуры БД. Причем правило может вызываться как до внесения изменений в таблицу, так и после их внесения.
Если вызывать триггер до внесения изменений в БД, его можно использовать для контроля правильности вводимых в БД данных: каждый раз при внесении изменений срабатывает триггер, в котором эти изменения проверяются на допустимость, если новое значение недопустимо, его можно отменить.
Если активизировать триггер после внесения изменений в БД, то с помощью триггеров можно отразить правила функционирования системы (организации, предприятия). Например, если в БД вносятся изменения о том, что со склада отпущены детали, то в триггере можно организовать сравнение оставшегося количества деталей с минимально допустимым количеством и при необходимости автоматически оформить заказ на поставку этих деталей.
Механизм событий позволяет прикладным программам уведомлять другие прикладные программы о заранее определенных для БД событиях, когда в БД происходят описанные в событиях изменения. Это освобождает программу от необходимости постоянно сканировать состояние БД, проверяя, не произошли ли интересующие программу изменения. БД (СУБД) сама будет сигнализировать программе, оповещая ее, если событие произойдет.
Еще одна особенность современных СУБД – они открыты для других систем. В частности, они дают возможность использовать компоненты приложений, подключая динамически загружаемые библиотеки (DLL), разработанные с помощью других систем программирования, использовать объекты, созданные на основе технологии COM, получать доступ к данным в БД, созданных с помощью других СУБД (например, через ODBC), и т.п.
Другая важная особенность СУБД – обеспечение средств управления транзакциями различных типов.
Транзакция – последовательность операций над БД, которая должна выполняться как единое целое, т.е. для транзакции реализуется принцип «все или ничего» – выполняются все операции от начала до конца или (в случае невозможности их выполнения) производится откат на начало транзакции (данные в БД восстанавливаются в исходном состоянии).
Средства поддержки транзакций особенно важны для серверных СУБД, обеспечивающих одновременную работу с данными нескольких приложений пользователей.
СУБД обеспечивают эффективное использование внешней памяти, средства восстановления данных.
Современные СУБД включают удобные средства для организации взаимодействия с пользователем в интерактивном режиме, описания запросов и форм, в которых можно просматривать данные. Поэтому они сочетают не только черты операционных систем и систем программирования (если судить по выполняемым ими функциям и составу), но и прикладных программ, с которыми может работать конечный пользователь-непрограммист (например СУБД Microsoft Access, включенная в состав MS Office).