|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Раздел 2. Теория баз данных
3.
Глава 3. Общая теория
3.1.
Модели представления данных
Их можно разделить на две группы: 1) формальные (математические, скорее теоретические), предполагающие разработку БД только человеком; 2) математические представления, рассчитанные на автоматизацию процесса проектирования БД («компьютерное представление»). Вторая группа будет рассмотрена в следующем параграфе, а первую обсудим здесь. Сразу отметим разницу двух понятий
Множество допустимых типов данных и их отношений образует структуру данных. В модели данных, следовательно, выделяется три компонента: структура данных; ограничения, определяющие допустимое состояние БД; множество операций, применяемых для поиска и обновления данных. Эти компоненты отображаются языковыми и программными средствами описания и манипулирования данными. Описание часто проводят последовательно: структура, ограничения, операции. Начнем поэтому с описания структур данных. Проще всего структуру (отношение) можно задать таблицей с «плоской» (табл. 1.1) Таблица 1.1. Таблица данных о вузе
Таблица 1.2. Таблица поставок комплектующих
Более наглядным (особенно для представления типа 1:1) является представление в виде ориентированного графа (рис. 3.1), Таблица 3.1. Матрица смежности
![]() Теория графов достаточно хорошо развита, однако прямое ее применение для представления данных встречает затруднения, вызванные следующими обстоятельствами; 1) связи в моделях представления данных относительно просты (рис. 3.1), 2) в графах отражается чаще всего один тип связи (например, 1:1): выходом здесь может быть использование овал-диаграмм; 3) при постановке задачи представления (моделирования) данных, в отличие от теории управления и математики, в которой широко используются начальные предположения, велик объем неформальной составляющей. Для преодоления третьего затруднения сформировались модели представления данных «сущность - связь» (Entity - Relationship), называемые также «ER-моделями (диаграммами)» или «моделями Чена». Базовыми структурами в ER-модели являются «типы сущностей» и «типы связей». Отличие типа связи от типа сущности - в установлении зависимости существования реализации одного типа от существования реализации другого. (Например, ЛИЧНОСТЬ - тип сущности, тип СОСТОИТ В БРАКЕ - нет, поскольку реализация последнего типа не существует, если не существует двух личностей. Тип связи может рассматриваться поэтому как агрегат двух или более типов сущностей.) ER-модель может быть представлена ER-диаграммой (ERD), состоящей из следующих элементов: Выделяют три типа связи: связь «один к одному» (1:1), связь «один ко многим» (1:M), связь «многие ко многим» (M:N). Примерами этих связей могут быть: 1:1 М:1 M:N больной <–-> койка, больной <<–-> палата, больной <<–->> врач. Следует отметить особенности отображения ER-модели: а) рекурсивное множество связей б) два множества связей между одними и теми же множествами сущностей в) множество n-арных связей, например тернарных Выделение этих связей является крайне важным, т.к. связи 1:M и M:N имеют внутреннюю неопределенность, что сказывается при операциях модификации. Для преодоления неопределенности на этапе реализации логической модели требуется вводить избыточную информацию. Фрагмент концептуальной модели предметной области «Больница» представлен на рис. 3.3, В общем случае атрибуты отображаются либо на самой ER-диаграмме (при небольшом количестве объектов), либо в виде отдельных приложений по каждому объекту. При построении ER-моделей в ряде случаев целесообразно выделять ряд ограничений: а) ограничение целостности применительно к атрибутам (например, N койки - целое, положительное, число коек - диапазон от 1 до 100); б) ограничение Е по существованию сущностей (рис. 3.3); в) ID-зависимость (рис. 3.3): сущность не может быть идентифицирована в ряде случаев по значениям собственных атрибутов. Покажем свойства этих моделей на примере БД «Учебный процесс» в институте (рис. 3.4). Заметим, что перечисленные методы: 1) слабо ориентированы на использование компьютеров в проектировании БД; 2) оперируют со статическими (неизменными) данными, тогда как в реальных системах управления используются динамические данные (потоки данных); 3) отражают потоки данных не системно. Перечисленным требованиям отвечает CASE-технология 3.2.
CASE-технология
С переходом в автоматизированных системах к задаче автоматизации управления возникла необходимость в системном описании процесса управления, включая и принятие решений. Одними из первых моделей в этом направлении Модельными компонентами CASE-технология представляет собой систему методов описания (рис. 3.5), CASE-технология базируется на методологии системного анализа. Под системным анализом понимают научную дисциплину, разрабатывающую общие принципы исследования сложных объектов и процессов с учетом их системного характера. Его основная цель - сосредоточить внимание на начальных этапах разработки. В рамках CASE-технологии системный анализ предназначен для отделения проектирования от программирования. В разработке в соответствии с CASE-технологией выделяются построение архитектуры и ее последующая реализация, поэтому системный анализ называют структурным системным анализом или просто структурным анализом. Важнейшими (базовыми) принципами являются деление ( Они дополняются следующими принципами.
Эта технология положена в основу реализации программных Формальным инструментом описания является система диаграмм рис. 3.5: В описании процессов возможны два случая.
А. Сложные процессы.
DFD строится на основе декомпозиции, и модель верхнего уровня называют контекстной диаграммой. В любом конкретном проекте она одна. Такие модели описывают объект управления, а для отражения управляющей части (УЧ) системы применяют Для иллюстрации использования диаграмм приведем сначала словесное описание процесса. Пример 3.1. Словесная модель процесса распределения товаров по заказам. Полученные фирмой заказы сортируются и подвергаются входному контролю. Если заказ не отвечает номенклатуре товаров фирмы или неверно оформлен, он аннулируется с уведомлением заказчика. Если заказ принят, то определяется наличие товаров на складе. Если товар есть, то выписывается предъявляемый заказчику счет к оплате, после которой товар отправляется заказчику. Если заказ складскими товарами не обеспечен, то фирмой отправляется заявка производителю, осуществляется платеж и получение товара от производителя. После этого ведется работа с заказчиком по ранее описанной схеме. Контекстная диаграмма Гейна-Сарсона представлена на рис. 3.8: Рис. 3.8 - 3.11 ST-диаграмма. Она используется для отображения процесса выработки и результатов реализации решений. Вводится понятие «состояние». Схематика (схема переходов) может быть такой, как показано на рис. 3.14.
Рассмотренный аппарат используется для масштабных процессов. Для простых процессов он существенно упрощен (рис. 3.5). Б. Процессы простые В этом случае системной основой является спецификация процесса, содержащая номер, имя процесса, список входных и выходных данных и тело (описание, алгоритм) процесса. Тело можно описать (рис. 3.5) ВХОД=ЗАКАЗ ВЫХОД=ЗАКАЗ АННУЛИРОВАН ВЫХОД=ЗАКАЗ ПРИНЯТ СПЕЦ. ПРОЦЕСС 1 ВЫПОЛНИТЬ ПОЛУЧИТЬ ЗАКАЗ ДО_ТЕХ_ПОР_ПОКА ЗАКАЗ_ОТСОРТИРОВАН КОНЕЦ_ВЫПОЛНИТЬ ВЫПОЛНИТЬ установить флаг ЗАКАЗ АННУЛИРОВАН, если он не соответствует номенклатуре ВЫПОЛНИТЬ установить флаг ЗАКАЗ АННУЛИРОВАН, если он неверно оформлен ВЫПОЛНИТЬ установить флаг ЗАКАЗ ПРИНЯТ, если он соответствует номенклатуре КОНЕЦ_ВЫПОЛНИТЬ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1. Те же условия могут отражаться визуальными языками, которые представляют собой Flow-формы. Они имеют вид прямоугольника с различным заполнением, как это показано выше. Таблицы решений чаще всего задаются по схеме ЕСЛИ ..., ТО... и могут быть отражены в виде деревьев решений (Сi - условие). Продвинутой разновидностью Flow-форм является диаграмма Несси-Шнейдера. Отдельными обозначениями выступают схемы программ, о которых поговорим в главе 10. Далее речь пойдет о сложных процессах. После освещения деталей CASE-технологии вернемся к системному аспекту. CASE-технологии могут быть классифицированы по нескольким признакам.
3.3.
CASE-средства
Интегрированный пакет CASE-средств содержит 4 основных компонента.
Для CASE-технологии (сокращенно - CASE) характерны четыре основных типа графических диаграмм: 1) функциональное проектирование (DFD); 2) моделирование данных (ERD); 3) моделирование поведения (STD); 4) структурные диаграммы (карты) - отношения между модулями и внутри- модульная структура. CASE-средства (прежде всего фирмы Oracle и отдельных организаций) возможно классифицировать по категориям и по функциональному признаку.
Для анализа и проектирования возможно использовать CASE-аналитик (единственное отечественное средство первой генерации), Application Development Workbench, Easy CASE System Designer. Проектирование БД существенно упрощается при применении ERWin (фирма Программирование (кодогенерирование) - DECACE ( Сопровождение (поддержка системной документации) и реинжиниринг (анализ, корректировка, реинжиниринг существующей системы) - SuperStructure ( Управление проектом (планирование, контроль, взаимодействие) - Project Workbench ( Рассмотрим одну из реальных систем автоматизации проектирования БД в рамках Oracle (Cooperative Development Environment - CDE), в которую входят CASE*Dictionary, CASE*Designer, CASE*Generator. CASE*Dictionary - хранилище информации (БД проекта). CASE*Designer - средство моделирования процессов и данных в системе через внешний интерфейс с помощью средств графического моделирования. CASE*Designer полностью интегрирован с CASE*Dictionary. CASE*Generator - на основе информации CASE*Designer автоматически генерирует модули программного кода (меню, формы, отчеты). CASE*Generator может генерировать и DLL-сценарии (таблицы, представления, индексы, последовательности) в схеме приложения. Oracle7 был спроектирован с открытой архитектурой и потому другие компании смогли создать дополняющие средства: Application Development Workbench (разработка систем на многих платформах) - компания Easy CASE System Designer (графическое инструментальное средство проектирования, позволяющее генерировать схемы приложения для одной или нескольких СУБД, включая Oracle) - компания ERWin/ERX (средство проектирования БД для MS Windows) - компания ADW - интегрированный набор средств для анализа, планирования и моделирования процессов и данных и автоматической генерации приложений. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
© Центр дистанционного образования МГУП |