- •230400 «Информационные системы и технологии»
- •6 Декабря 2011 г., протокол № 4
- •Оглавление
- •Глава 1. Теория информационных процессов и систем 10
- •Глава 2. Информационные технологии 95
- •Глава 3. Архитектура информационных систем 126
- •Глава 4. Технологии программирования 150
- •Глава 5. Управление данными 239
- •Глава 6. Технологии обработки информации 315
- •Предисловие
- •Глава 1. Теория информационных процессов и систем
- •1.1. Информационные системы. Основные понятия и определения.
- •1.2. Системообразующие свойства информационных систем
- •1.3. Свойства и закономерности систем
- •1.4.Системный подход и системный анализ
- •1.5. Моделирование информационных систем
- •1.5.1. Основные понятия
- •1.5.2. Классификация методов моделирования
- •1.5.3. Математическое моделирование
- •1.6. Теория принятия решений
- •3. Неопределённость наших знаний об окружающей обстановке и действующих в данном явлении факторах (неопределённость природы).
- •4. Неопределённость действий активного или пассивного партнёра или противника.
- •1.7. Информационные процессы
- •Контрольные вопросы
- •Глава 2. Информационные технологии
- •2.1. Состав, структура, принципы реализации и функционирования информационных технологий
- •2.2. Базовые и прикладные информационные технологии
- •Прикладные программные средства включают:
- •2.3. Инструментальные средства информационных технологий
- •Контрольные вопросы
- •Глава 3. Архитектура информационных систем
- •3.1. Классификация информационных систем
- •3.2. Структура, конфигурация информационной системы
- •3.2.1. Информационное обеспечение
- •Классификаторы создаются для решения следующих основных задач:
- •3.2.2. Математическое и программное обеспечение
- •К средствам математического обеспечения относятся:
- •К средствам программного обеспечения (по) относятся:
- •3.2.3. Организационное обеспечение
- •3.2.4. Правовое обеспечение
- •3.2.5. Техническое обеспечение
- •3.3. Процесс разработки информационных систем
- •3.3.1. Выработка или выбор парадигмы программирования
- •3.3.2. Моделирование бизнес-процессов
- •3.3.3. Анализ требований, предъявляемых к ис
- •3.3.4. Разработка архитектуры
- •3.3.5. Кодирование
- •3.3.6. Тестирование информационной системы
- •3.3.7. Документирование
- •3.3.8. Внедрение информационной системы
- •3.3.9. Сопровождение информационной системы
- •Контрольные вопросы.
- •Глава 4. Технологии программирования
- •4.1. Основные понятия программного обеспечения
- •Категории специалистов, занятых разработкой и эксплуатацией программ
- •4.2. Характеристики программного продукта
- •4.3. Жизненный цикл программного продукта
- •4.4.Защита программных продуктов
- •4.5. Классы программных продуктов
- •4.6. Инструментарий технологии программирования
- •4.7. Классификация методов проектирования программных продуктов
- •4.8. Этапы создания программных продуктов
- •1. Составление технического задания на программирование
- •2. Разработка технического проекта
- •3. Создание рабочей документации (рабочий проект)
- •4. Ввод в действие
- •4.9. Структура программных продуктов
- •4.10. Структурное проектирование и программирование
- •4.11. Модульная структура программных продуктов
- •4.12. Алгоритмы
- •4.13. Классификации языков программирования и примеры языков
- •4.13.2. Основы функционального программирования с использованием языка lisp Основные свойства функциональных языков программирования
- •Распространенные языки функционального программирования
- •Основные структуры данных и базовые функции по работе с ними в среде Лисп
- •Контрольные вопросы
- •Глава 5. Управление данными
- •5.1. Основы управления данными
- •5.1.1. Информация, данные и знания.
- •5.1.2.Функции управления
- •5.2.Банки данных в информационных системах.
- •5.2.1.Концепция баз данных
- •5.2.2.Файловые системы и базы данных
- •5.2.4.Классификация банков данных
- •5.3.Моделирование и модели данных
- •5.3.1.Уровни моделирования
- •5.3.2.Виды моделей
- •5.3.3.Модели данных
- •5.3.4.Иерархическая модель данных
- •5.3.5.Сетевая модель данных
- •5.3.6.Реляционная модель данных
- •5.3.7.Постреляционная модель представления данных
- •5.3.8.Многомерные модели представления данных
- •5.3.9.Объектно-ориентированные модели представления данных
- •5.4.Проектирование базы данных
- •5.4.1.Основы реляционной алгебры
- •5.4.2.Инфологический подход к проектированию баз данных
- •5.4.3.Модель «сущность—связь»
- •5.4.4.Переход к реляционной модели данных
- •5.4.5.Пример проектирования реляционной бд средствами субд Access
- •5.5.Субд в архитектуре «клиент-сервер»
- •5.5.1.Открытые системы
- •5.5.2.Клиенты и серверы локальных сетей
- •5.5.3.Системная архитектура «клиент-сервер»
- •5.5.4.Серверы баз данных
- •5.6.Реляционный язык sql
- •Структура sql
- •Контрольные вопросы
- •Глава 6. Технологии обработки информации
- •6.1. Основные виды и процедуры обработки информации
- •6.1.1. Виды обработки информации
- •6.1.2. Основные процедуры обработки данных
- •6.2. Системы поддержки принятия решений (сппр)
- •6.2.1. Условия принятия решений
- •6.2.2. Решение задач с помощью искусственного интеллекта
- •6.2.3. Процесс выработки решения на основе первичных данных
- •6.2.4. Типы информационных систем поддержки принятия решений
- •6.2.5. Реализация процесса принятия решений
- •6.2.6. Средства разработки информационных приложений
- •6.3. Концепция хранилищ и витрин данных, достоинства и недостатки
- •6.3.1. История создания концепции хранилищ данных
- •6.3.2. Причины создания концепции хранилищ данных
- •6.3.3. Факторы и технологии складирования данных
- •6.3.4. Концепция хранилищ данных
- •6.3.5. Взаимное соотношение концепции хранилищ данных и концепций анализа данных
- •6.3.6. Реализации хранилищ данных
- •6.3.7. Субд для аналитических систем
- •6.3.8. Витрины данных
- •6.4. Искусственный интеллект и интеллектуальные системы
- •6.4.1. Цели и задачи искусственного интеллекта
- •6.4.2. Направление исследований в области искусственного интеллекта
- •6.4.3. Структура интеллектуальной системы
- •6.4.4. Разновидности интеллектуальных систем
- •Контрольные вопросы
- •Глава 7. Интеллектуальные системы и технологии
- •7.1. Теория и технологии искусственного интеллекта
- •7.2. Математическое описание экспертной системы, логический вывод
- •7.3. Искусственные нейронные сети
- •7.4. Расчётно-логические системы, системы с генетическими алгоритмами
- •(Начало цикла)
- •Создание начальной популяции
- •Размножение (Скрещивание)
- •Мутации
- •Применение генетических алгоритмов
- •7.5. Мультиагентные системы
- •Контрольные вопросы
- •Глава 8. Инструментальные средства информационных систем
- •8.1. Состав и структура инструментальных средств информационных систем
- •8.2. Тенденции развития инструментальных средств информационных систем
- •8.3. Операционные системы инструментальных средств информационных систем
- •8.4. Технические средства инструментальных средств информационных систем
- •Классификация технических средств инструментальных средств информационных систем.
- •Контрольные вопросы
- •Глава 9. Инфокоммуникационные системы и сети
- •9.1. Модели и структура информационных сетей Классическая модель построения инфокоммуникационных систем
- •9.2. Информационные ресурсы сетей
- •По способу представления:
- •По национально-территориальному признаку:
- •9.3. Теоретические основы современных информационных сетей
- •Контрольные вопросы
- •Глава 10. Методы и средства проектирования информационных систем и технологий
- •10.1. Технология проектирования информационных систем. Этапы проектирования
- •10.2. Методы проектирования информационных систем
- •10.3. Средства проектирования ис
- •Контрольные вопросы
- •Список литературы
- •143 Хорошилов а.В. Селетков с.Н. Днепровская н.В. Управление информационными ресурсами.
5.4.5.Пример проектирования реляционной бд средствами субд Access
Рассмотрим следующую задачу: необходимо обеспечить сбор и обработку данных по результатам сдачи экзаменов и зачётов студентами факультета.
Организация данных должна поддерживать:
выполнение текущего плана;
формирование ведомостей по отдельным дисциплинам для групп студентов;
формирование листов зачётных книжек студентов;
формирование сводной ведомости курса;
расчёт среднего балла по дисциплинам и т. п.
На уровне логического моделирования определяются сущности и атрибуты этих сущностей.
Физическая модель данных описывает данные средствами конкретной СУБД MS Access.
Построение инфологической модели.
Представим предметную область как взаимодействие двух сущностей – «Дисциплина учебного плана» «Студент»: каждый студент сдаёт экзамен или зачёт по некоторой дисциплине учебного плана и получает оценку, которая должна быть зафиксирована в модели данных.
«Дисциплина учебного плана» с точки зрения решаемой задачи должна быть представлена группой свойств, позволяющих характеризовать дисциплину в рамках каждого отдельного семестра: наименование дисциплины, семестр, количество часов, форма отчётности (экзамен или зачёт) и данные о преподавателе, читающем дисциплину.
Необходимость задания таких свойств обусловлена, с одной стороны, задачей организации хранения результатов сдачи экзаменов и зачётов (наименование дисциплины, семестр и форма отчётности) и с другой стороны – задачей формирования листов зачётных книжек (количество часов и данные о преподавателе).
Отдельный экземпляр такой сущности однозначно идентифицируется тройкой свойств – наименование дисциплины, семестр и форма отчётности.
Сущность «Студент» для обеспечения выполнения объявленных функций должна характеризоваться следующими свойствами: фамилия, имя, отчество и номер группы.
Однако следует отметить, что даже набор всех этих свойств не может однозначно характеризовать экземпляр сущности, так как можно предполагать наличие в одной группе полных тезок. Таким образом, для идентификации отдельного экземпляра сущности необходимо ввести дополнительное (ключевое свойство) свойство – идентификационный номер студента.
Определим для сущности «Студент» еще два дополнительных свойства, которые не будут непосредственно обеспечивать решение поставленной задачи, но могут служить для реализации дополнительных (сервисных) функций (например, организации почтовой или телефонной связи): домашний адрес и номер телефона. Свойство «Домашний адрес», являясь по сути составным, будет рассматриваться в контексте решаемых задач как простое, а свойство «Номер телефона» – как условное.
Взаимодействие сущностей реализуется связью «Сводная ведомость», т. е., Студент сдаёт экзамен (зачёт) по Дисциплине учебного плана. Связь – «многие ко многим».
Для идентификации связи отдельных экземпляров сущностей в этом случае необходимо наличие у связи следующих дополнительных свойств: оценка и дата сдачи экзамена (зачёта).
Построенная ER-диаграмма находится в первой нормальной форме, так как сущности не имеют повторяющихся групп свойств.
Однако при рассмотрении свойств сущности «Дисциплина учебного плана» можно заметить, что свойство «Преподаватель» зависит только от части ключевых свойств, а именно от свойств «Наименование дисциплины» и, возможно, «Форма отчётности». Следовательно, для того чтобы привести ER-диаграмму ко второй нормальной форме, необходимо выделить свойство «Преподаватель» в отдельную сущность.
Новая сущность – «Преподаватель» – характеризуется группой основных свойств – фамилия, имя, отчество, и группой дополнительных свойств – кафедра, должность, домашний адрес и телефон.
Так же, как и для сущности «Студент», для сущности «Преподаватель» необходимо ввести дополнительное ключевое свойство – идентификационный номер преподавателя.
Взаимодействие новой сущности «Преподаватель» с сущностью «Дисциплина учебного плана» осуществляется посредством новой связи «Читает». Мощность связи в данном случае – «многие-к-одному», т. е., один преподаватель может читать несколько дисциплин учебного плана.
Измененная ER-диаграмма находится в третьей нормальной форме, так как сущности не имеют свойств, зависящих от неключевых.
Построение реляционной схемы.
Следующий этап проектирования – построение даталогической модели. В рассматриваемом случае задача этого этапа – преобразование ER-диаграммы в реляционную схему Access.
Реляционный подход, в основе которого лежит принцип разделения данных и связей, обеспечивает, с одной стороны, независимость данных, а с другой – более простые способы хранения и обновления.
Первые шаги преобразования состоят в превращении каждой сущности в отношение (таблицу). Связь типа М : М, которую называют «сущность–связь», тоже превращается в отдельное отношение. Каждое свойство становится атрибутом – столбцом соответствующей таблицы.
После реализации перечисленных выше шагов получаем реляционную схему, изображенную на рисунке 5.8, где представлены таблицы «Студенты», «Сводная ведомость», «Учебный план» и «Кадровый состав», отражающие соответственно сущности таблицы «Студент», «Сводная ведомость», «Учебный план» и «Преподаватель».
Рис.5.8. Схема данных «Сессия» с выделенными таблицами.
Далее необходимо преобразовать связи во внешние ключи. Связь «многие ко многим», реализуемая отношением «Сводная ведомость», должна содержать уникальные идентификаторы сущностей – участников связи. При этом если для однозначной идентификации студента достаточно добавить в таблицу столбец ID_Студент, то однозначная идентификация дисциплины потребует добавления в таблицу столбцов Наименование, Семестр и Форма_отчётности.
Хранение всей этой информации явно приведет к избыточности данных и их потенциальной противоречивости (например, если при переносе дисциплины на другой семестр обновить только строку таблицы «Учебный план», то содержимое таблицы «Сводная ведомость» станет неактуальным).
Для ликвидации избыточности и потенциальной противоречивости данных добавим в таблицу «Учебный план» столбец ID_План, содержимое которого будет однозначно идентифицировать каждую строку таблицы. Теперь этот новый столбец станет первичным ключом, и одноименный столбец должен быть добавлен в таблицу «Сводная ведомость».
Связь «Читает» предполагает добавление в таблицу «Учебный план» столбца ID_преподаватель.
Реляционная схема со связями представлена на рисунке5.9.
Рис.5.9. Схема данных «Сессия» со связанными таблицами.
Все построенные таблицы находятся в первой нормальной форме, так как каждый столбец таблицы неделим и в рамках одной таблицы нет столбцов с одинаковыми по смыслу значениями.
Таблица «Сводная ведомость» через столбцы ID_Студент и ID_План связывает информацию о студенте с информацией о конкретной дисциплине и фиксирует оценку, полученную студентом.
Оценка и дата сдачи экзамена (зачёта) однозначно зависит от содержимого столбцов ID_Студент и ID_План, которые представляют собой составной первичный ключ.
Таким образом, все таблицы имеют первичные ключи, которые однозначно определяют строки и неизбыточны, и можно говорить о том, что таблицы находятся во второй нормальной форме.
Рассмотрим подробнее таблицу «Учебный план», которая содержит перечень дисциплин текущего учебного плана. Первичным ключом таблицы служит столбец ID_План, который однозначно характеризует каждую дисциплину учебного плана с точностью до семестра, т. е., для дисциплин, протяженность изучения которых более одного семестра, в таблице будет отведено столько строк, сколько семестров длится изучение дисциплины.
Тогда хранение наименований дисциплин в таблице «Учебный план» становится избыточным: например, если изучение английского языка длится шесть семестров, то наименование «Английский язык» будет повторено в шести записях и есть вероятность сделать шесть различных ошибок при вводе одного и того же наименования.
Чтобы избежать этого, сделаем декомпозицию отношения «Учебный план», выделив наименования дисциплин в отдельное отношение. В результате получим дополнительную таблицу «Дисциплины» со столбцами ID_Дисциплина и Наименование, а столбец Наименование в таблице «Учебный план» заменим столбцом ID_Дисциплина, сформировав тем самым вторичный (или чужой) ключ, связывающий новую таблицу с таблицей «Учебный план».
Теперь можно говорить о базе данных «Сессия», реляционная схема которой представлена следующими пятью таблицами:
«Студенты» – содержит по одной строке для каждого из студентов;
«Учебный план» – содержит по одной строке для отдельной дисциплины отдельного семестра;
«Дисциплины» – содержит по одной строке для наименования дисциплины;
«Сводная ведомость» – содержит по одной строке для каждого результата сдачи отдельным студентом отдельной дисциплины;
«Кадровый состав» – содержит по одной строке для каждого из преподавателей.
На рисунке 5.10 в графической форме изображены перечисленные таблицы, их столбцы, первичные и внешние ключи.
Рис. 5.10. Схема базы данных «Сессия» в нотации Access.
Все таблицы базы данных «Сессия» находятся в третьей нормальной форме:
каждый столбец таблицы неделим, и в рамках одной таблицы нет столбцов с одинаковыми по смыслу значениями (1НФ);
первичные ключи однозначно определяют запись и неизбыточны, все поля каждой из таблиц зависят от ее первичного ключа (2НФ);
значение любого поля, не входящего в первичный ключ, не зависит от значения другого поля, тоже не входящего в первичный ключ (3НФ).
Следующий этап проектирования – определение доменов (типов) данных, хранящихся в столбцах таблиц. Параллельно с заданием типа необходимо сформулировать ограничения целостности, связанные с типом, т. е., перечень допустимых значений типа.
Исходя из особенностей данных и их функционального назначения, требуется задать способ представления и границы возможных изменений для каждого из столбцов таблиц. При этом необходимо ответить на вопрос: данные каких типов должны храниться в столбцах и какова их максимальная длина (например, если в столбце предполагается хранить процентные значения, то достаточно будет целого типа данных длиной 1 байт, так как диапазон возможных значений – от 0 до 100; если для данных столбца выбирается тип «строка символов», то желательно указать максимальный размер данных столбца и т. п.).
Далее, в каждой таблице должны быть выделены столбцы, которые обязательно должны быть заполнены при создании отдельной строки таблицы. Задание такого ограничения целостности не позволит, например, ввести в таблицу «Студенты» строку, в которой не указан номер группы. Если подобные ограничения целостности не будут заданы, в таблице могут появиться строки, которые не будут учтены при выполнении функций по обработке данных: появление в таблице «Студенты» строки без номера группы приведет к ошибке при формировании ведомости.
Следующий важный момент – задание для столбцов значения по умолчанию. Значение по умолчанию впоследствии будет автоматически вводиться в указанный столбец для каждой строки таблицы. Например, в столбец Дата_сдачи таблицы «Сводная ведомость» при заполнении очередной строки может автоматически вводиться текущая дата. Ниже представлены таблицы (5.26, 5.27, 5.28, 5.29 и 5.30) базы данных «Сессия» с типами данных столбцов и предлагаемыми ограничениями целостности [2].
Таблица 5.26. «Студенты»
Наименование столбца |
Тип данных |
Ограничения |
ID_Студент |
Целое число |
Значение уникально |
Фамилия |
Строка символов размером 30 |
Значение не должно быть пустым |
Имя |
Строка символов размером 15 |
Значение не должно быть пустым |
Отчество |
Строка символов размером 30 |
Значение не должно быть пустым |
Номер группы |
Целое число |
Значение не должно быть пустым |
Адрес |
Строка символов размером 30 |
|
Телефон |
Строка символов размером 12 |
|
Таблица 5.27. «Дисциплины»
Наименование столбца |
Тип данных |
Ограничения |
ID_Дисциплина |
Целое число |
Значение уникально |
Наименование |
Строка символов размером 30 |
Значение уникально |
Таблица5.28. «Кадровый состав»
Наименование столбца |
Тип данных |
Ограничения |
ID_Преподаватель |
Целое число |
Значение уникально |
Фамилия |
Строка символов размером 30 |
Значение не должно быть пустым |
Имя |
Строка символов размером 15 |
Значение не должно быть пустым |
Отчество |
Строка символов размером 20 |
Значение не должно быть пустым |
Должность |
Строка символов размером 20 |
Значение не должно быть пустым |
Кафедра |
Строка символов размером 20 |
|
Адрес |
Строка символов размером 30 |
|
Телефон |
Строка символов размером 12 |
|
Таблица 5.29. «Учебный план»
Наименование столбца |
Тип данных |
Ограничения |
ID_План |
Целое число |
Значение уникально |
ID_Дисциплина |
Целое число |
Значение не должно быть пустым |
Семестр |
Целое число |
Значение не должно быть пустым и должно находиться в интервале от 1 до 12 |
Количество часов |
Строка символов размером 30 |
|
ID_Преподаватель |
Целое число |
|
Таблица 5.30. «Сводная ведомость»
Наименование столбца |
Тип данных |
Ограничения |
ID_Сдача |
Целое число |
Значение уникально |
ID_Студент |
Целое число |
Значение не должно быть пустым |
ID_План |
Целое число |
Значение не должно быть пустым |
Оценка |
Целое число |
Значение не должно быть пустым и должно находиться в интервале от 2 до 5 |
Дата сдачи |
Дата-время |
Значение не должно быть пустым, по умолчанию – текущая дата |