- •Введение
- •Глава 1 информационные системы
- •1.1 Информация как ресурс
- •1.2 Файловые системы
- •1.3 Информационные системы, использующие базы данных
- •1.3.1 Иерархические и сетевые модели данных
- •1.3.2 Реляционные системы управления базами данных
- •1.4 Компоненты информационных систем
- •1.4.1 Технические средства
- •1.4.2 Программное обеспечение
- •1.4.3 Данные
- •1.4.4 Пользователи
- •1.4.5 Организационное обеспечение
- •1.4.6 Отношения между компонентами системы
- •1.5 Основы проектирования информационных систем
- •1.5.1 Жизненный цикл программного обеспечения
- •1.5.2 Модели жизненного цикла по
- •1.5.3 Подходы к проектированию ис
- •1.6 Задания и вопросы для повторения
- •2.2 Подходы к проектированию баз данных
- •2.3 Создание базы данных
- •2.4 Основы концептуального проектирования баз данных
- •Объекты и отношения
- •2.3.2. Атрибуты
- •2.3.3 Ключи
- •2.3.4 Наследование
- •2.3.5 Составные объекты
- •2.3.6 Моделирование концептуальных и физических объектов
- •2.4 Реляционная модель данных
- •2.4.1 Поддержка целостности данных
- •Процесс нормализации таблиц
- •2.4.3 Пример построения нормализованной базы данных
- •2.4.4 Преобразование концептуальной модели в реляционную
- •2.5 Элементы er-моделирования
- •2.5.1 Основные понятия модели «сущность-связь»
- •2.5.2 Основные графические обозначения элементов модели
- •2.6 Заключительный этап проектирования
- •2.7 Сравнение концептуального и реляционного моделирования
- •2.8 Вопросы и задания для повторения
- •2.9 Упражнения и задачи
- •2.10 Проекты и профессиональные вопросы
- •Глава 3 реляционная алгебра и реляционное исчисление
- •3.1 Реляционная алгебра
- •3.1.1 Обзор реляционной алгебры
- •3.1.2 Теоретико-множественные операторы
- •3.1.3 Специальные реляционные операторы
- •3.1.4 Зависимые реляционные операторы
- •3.1.5 Примитивные реляционные операторы
- •3.2 Реляционное исчисление
- •3.2.1 Целевой список и определяющее выражение
- •3.2.2 Квантор существования
- •3.2.3 Квантор всеобщности
- •3.3 Заключение
- •3.4 Вопросы на повторение
- •3.5 Упражнения и задачи
- •Глава 4 управление реляционной базой данных с помощью sql
- •4.1 Элементы Transact-sql
- •Комментарии
- •4.1.2 Алфавит
- •4.1.3 Идентификаторы
- •Выражения
- •4.1.5 Ключевые слова
- •Операторы
- •4.1.7 Логические операторы
- •Типы данных
- •- Функции Transact-sql
- •4.2 Выборка данных из таблиц
- •4.2.1 Структура команды select
- •Результаты выборки
- •Отбор столбцов
- •Select Фамилия, Город from Гостиница.Dbo.Клиент
- •4.2.4 Определение заголовков столбцов
- •Выражения в выборках
- •Отбор записей
- •Порядок вывода данных
- •Котов Кузьма Кузьмич
- •Группировка данных
- •Отбор данных для групп
- •4.2.10 Директива compute
- •Выборка данных из нескольких таблиц
- •Объединение с помощью предложения where
- •Внутреннее объединение
- •4.2.14 Объединение и опция join
- •Оператор union
- •Подзапросы и структурированные запросы
- •Создание таблицы на основе выборки
- •Предложение for browse
- •4.3 Модификация данных
- •Добавление данных
- •Изменение данных
- •Удаление строк
- •Управляющие конструкции
- •Создание таблиц базы данных
- •4.6 Транзакции и блокировки
- •4.6.1 Понятие транзакций и блокировок
- •Управление транзакциями
- •Явные транзакции
- •Автоматические транзакции
- •Неявные транзакции
- •Управление блокировками
- •4.7 Хранимые процедуры
- •4.7.1 Типы хранимых процедур
- •Создание хранимых процедур
- •4.8 Триггеры
- •Создание триггера
- •Ограничения при создании триггеров
- •Использование триггеров
- •Вопросы на повторение
- •4.10 Упражнения и задачи
- •4.11 Проекты и профессиональные вопросы
- •Заключение
- •Приложение а sql скрпит, для создания таблиц согласно модели бд "Университет"
- •Литература
1.5.3 Подходы к проектированию ис
Существуют два подхода к проектированию информационных систем:
функционально-ориентированный подход;
подход, ориентированный на данные.
Жизненный цикл системы основан на функционально-ориентированном подходе. Это означает, что система рассматривается с позиции тех функций, которые она должна выполнять, а не с точки зрения данных, которыми она оперирует. При функционально-ориентированном подходе к проектированию применяется структурный анализ. При этом большое значение имеют схемы потоков данных, отслеживание изменения данных в результате последовательности преобразований, их уточнение на нескольких уровнях.
При структурном проектировании система рассматривается как единая функция, последовательно разбитая на подфункции разного уровня. Такой подход часто дает лишь кратковременную выгоду, принося в жертву долговременные потребности пользователей. Это происходит потому, что после ввода системы в эксплуатацию пользователи обнаруживают, что они хотели бы от системы еще множество дополнительных возможностей. Эти дополнительные потребности вызывают серьезные проблемы при сопровождении функционально-ориентированных систем из-за необходимости неоднократного пересмотра и переделки, которые требуются для выполнения добавочных функций.
Подход, ориентированный на данные, наоборот, основное внимание уделяет анализу данных, нужных для выполнения тех или иных функций. У него есть два преимущества:
Элементы данных являются значительно более стабильной частью системы, чем выполняемые функции. Это связано с тем, что конкретный набор элементов данных можно комбинировать множеством способов, получая при этом ответы на множество различных вопросов. Если рассматривать каждый вопрос, как выполняемую системой функцию, то можно убедиться, что количество возможных функций системы много больше, чем количество атрибутов данных.
В следующих главах мы увидим, что создание правильной структуры схемы базы данных требует сложного анализа данных и отношений между ними. После построения логичной схемы базы данных можно создать любое количество функциональных систем, использующих эту схему.
1.6 Задания и вопросы для повторения
Объясните своими словами смысл терминов:
Система обработки данных.
Данные.
Информация.
Произвольный доступ.
Информационно-управляющая система.
База данных.
Метаданные.
Информационная система, использующая базы данных.
Модель данных.
Иерархическая модель данных.
Сетевая модель данных.
Указатель.
Система управления базой данных.
Жизненный цикл программного обеспечения.
Структура жизненного цикла.
Верификация.
Техническое и организационное обеспечение.
Модель жизненного цикла.
Каскадная схема разработки.
Спиральная модель жизненного цикла.
Функционально-ориентированный подход к проектированию информационных систем.
Подход к проектированию ИС, ориентированный на данные.
Дайте сравнительную характеристику иерархических, сетевых и реляционных информационных систем.
Перечислите и кратко охарактеризуйте каждый компонент современной информационной системы, использующей базы данных.
Опишите каждый из следующих компонентов системы управления базами данных (СУБД):
Словарь (каталог) данных.
Защита и поддержание целостности данных.
Обеспечение одновременного доступа нескольких пользователей.
Средства создания прикладных программ.
Приведите примеры пользователей.
1.7 Упражнения и задачи
Какие из следующих утверждений могут рассматриваться как данные, а какие – как информация?
Петров получил в прошлом году комиссионные на большую сумму, чем любой другой дилер.
Сидоров родился 13 декабря 1973 года.
Средняя зарплата сотрудников фирмы в 2000 году составила 2530 рублей.
Товар А123 выгоден.
Товар А123 производит фирма Х.
1.8 Проекты и профессиональные вопросы
Составьте алгоритм программы, работающей с файлами последовательного типа, позволяющей определить список всех клиентов и суммарную стоимость товаров, закупленных ими в январе 2001 года.
Глава 2 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ
2.1 Информационные модели
В БД хранится информация об определенной предметной области.
Для формирования представления о данных, их составе и использовании в конкретных условиях служат информационные модели (ИМ). При решении конкретных задач реальная действительность воспроизводится с существенными ограничениями, зависящими от области деятельности, поставленных целей и мощности вычислительных средств.
Модель – это представление предметной области, отражающее только избранные детали.
Предметная область - это часть реального мира, данные о которой мы хотим хранить в проектируемой базе данных.
Например, в качестве предметной области можно выбрать финансовую составляющую предприятия, отдел кадров, университет и т.д. Предметная область содержит как принципиально важные понятия и данные, так и малозначащие или вообще не значащие данные. Разумно полагать, что важные понятия должны быть отражены в структуре разрабатываемой БД, в то же время малозначительные можно (и нужно) опустить.
Так, например, если в качестве предметной области выбрать университет и процесс обучения в нем, , то понятия «факультет», «группа», «дисциплина», «успеваемость» являются существенно важными понятиями, а то, что обучающийся студент, имеет детей, братьев, сестер - это для предметной области не важно. Однако с точки зрения студенческого отдела кадров данные о наличии детей являются принципиально важными при начислении льгот. Другими словами важность данных зависит от выбора предметной области и тех данных, которые надо хранить.
Используя современные пакеты прикладных программ, можно, не прибегая к информационным моделям, создать достаточно сложные БД. Но, если требуется, чтобы информационная система работала быстро и занимала минимальный объем, то не обойтись без предварительного анализа задачи с помощью ИМ.
Для описания информационной задачи используют три вида представления ИМ:
концептуальное представление - охватывает всю задачу с точки зрения администратора информационной системы;
внешнее представление - отражает представление о задаче с точки зрения конкретного пользователя, т.е. лица, решающего узкую задачу работы системы на конкретном рабочем месте. Следовательно, каждая информационная система будет иметь несколько внешних представлений ИМ;
внутреннее представление - отражает представление об информационной задаче разработчика (программиста) с учетом особенностей и возможностей конкретной СУБД и компьютеров, на которых будет реализовываться решаемая задача.
Взаимосвязь трех видов моделей можно показать в виде схемы, показанной на рисунке 2.1.
Таким образом, реальные информационные процессы отображаются через восприятие служебных функций отдельных пользователей, объединяются с точки зрения работы информационной системы в целом, и на этой основе разрабатывается информационная модель, которая физически реализуется в виде программы для компьютера и баз данных, размещенных на физическом носителе информации.
Для разработчика прикладных программ представление об информационных моделях важно в первую очередь с точки зрения правильной постановки задачи.
Предметная область
данных
Внешняя модель
Внешняя модель
Внешняя модель
Концептуальная
модель
Внутренняя модель
Физическая БД
Рисунок 2.1 - Уровни информационных моделей.
Модель данных состоит из трех компонент:
Структура данных для представления точки зрения пользователя на базу данных.
Допустимые операции, выполняемые на структуре данных. Богатая структура данных ничего не стоит, если нет возможности оперировать ее содержимым.
Ограничения для контроля целостности. Модель данных должна быть обеспечена средствами, позволяющими сохранять ее целостность и защищать ее.
Модель данных логического уровня, поддерживаемую средствами СУБД, называют даталогической (логической)моделью. Эта модель представляет собой отображение логических связей между элементами данных без относительно к их содержанию и среде хранения. Логическая модель строится с учетом ограничений конкретной СУБД. При построении логической модели учитываются особенности отображаемой предметной области.
Описание предметной области, выполненное без ориентации на используемые в дальнейшем программные и технические средства, называется инфологической моделью предметной области. Иногда к инфологической модели относят и описание характера информационных потребностей пользователя. Эта модель является исходной по отношению к логической модели.
Для привязки логической модели к среде хранения используется модель данных физического уровня (физическая модель). Эта модель определяет используемые запоминающие устройства, способ расположения элементов данных в памяти. Модель физического уровня (внутреннего уровня) строится с учетом ограничений СУБД и операционной системы.
Выделение моделей разных уровней абстракции позволяет:
- разделить сложный процесс отображения "предметная область - база данных" на несколько более простых отображений;
- обеспечить специализацию разработчиков баз данных; возможность работать разным категориям пользователей с моделью соответствующего уровня;
- предоставить возможность активного и конструктивного участия в разработке баз данных лицам, не имеющим профессиональных навыков в области обработки данных;
- создать предпосылки автоматизации проектирования баз данных путем формализованного перехода с одного уровня моделей на другой.
Техническое и программное обеспечение в современных информационных системах меняется сравнительно быстро, и модели, ориентированные на них, претерпевают изменения. Инфологическая же модель отражает характеристики предметной области, поэтому она сравнительно стабильна.
