Диго С.М. Базы данных проектирование и использование (1084447), страница 24
Текст из файла (страница 24)
Несмотря на имеющиеся различия в нотациях и реализации, моделирование в Design/IDEF и ERWin имеет много общего. Поэтому при построении концептуальной модели в ERWin за основу следует взять методологию моделирования, изложенную в разд. 2.4.2. В эту методологию должны быть внесены некоторые коррективы. Особенности в методологии при проектировании в среде ERWin и причины, обусловливающие их, изложены ниже.
1. При преобразовании из логической модели в физическую система ERWin автоматически создает связующую таблицу. Поэтому отпадает необходимость на уровне логического моделирования в преобразовании неспецифических связей в специфические.
2. В ERWin есть возможность указывать свойство «только физическая/только логическая» для сущности в целом и любого из ее атрибутов. Эту возможность можно использовать в процессе проектирования следующим образом:
-
после построения общей концептуальной модели, включающей всю информацию, представляющую интерес для данной предметной области, определить состав информации, хранимой в базе данных;
-
отметить те сущности/атрибуты, которые не требуется хранить в базе данных, признаком Logical Only, чтобы они не попадали в физическую модель.
Наличие указанных возможностей позволяет проектировщику иметь одну концептуальную схему и для этапа обсуждения со всеми заинтересованными лицами на всех стадиях моделирования, и для этапа генерации схемы базы данных.
В ERWin имеется целый ряд возможностей, которые отсутствуют в Design/IDEF.
В частности, в ERWin можно задавать «view». Представление создается в ERWin при описании физической модели, хотя фактически является логическим описанием БД с точки зрения конкретной задачи, т.е. относится к этапу проектирования подсхем. Для выявления необходимости создания подсхем следует проанализировать запросы к БД.
Задание ограничений целостности является неотъемлемым элементом создания концептуальной модели. ERWin позволяет описывать ограничения целостности при описании атрибутов, а также при описании связей между объектами. Более подробно задание ограничений целостности изложено в главе 4.
На это следует обратить внимание
-
Для построения ER-модели, которая корректно будет преобразована в модель целевой БД, при использовании CASE-средств необходимо не только хорошо понимать отображаемую предметную область и уметь адекватно описывать ее с использованием языковых возможностей данной системы, но и хорошо представлять себе алгоритмы преобразования, заложенные в используемой системе.
-
Концептуальное проектирование является первым и важнейшим этапом проектирования структурированных баз данных.
-
Концептуальная модель используется разными категориями проектировщиков ИС и заказчиков. Поэтому и те, и другие должны понимать основы концептуального моделирования.
-
В настоящее время имеется достаточно большое число CASE-систем, позволяющих автоматизировать процесс построения ER-моделей. При этом следует иметь в виду, что ни одна из систем в принципе не может обеспечить проверку правильности построения ER-модели относительно ее соответствия моделируемой предметной области.
-
CASE-средства не только позволяют автоматизировать процесс проектирования ИС, но и облегчают организацию коллективной разработки проекта, что еще больше повышает значимость их использования при создании больших и сложных проектов.
-
CASE-средства могут быть использованы не только при первоначальном проектировании систем, но и перепроектировании уже существующих систем в процессе их развития.
Контрольные вопросы
1. Что называется предметной областью?
2. Что называется концептуальной моделью? Для каких целей она служит?
3. Перечислите основные компоненты концептуальной модели.
4. Какие требования предъявляются к концептуальной модели?
5. Какие преимущества дает использование ER-моделирования при создании БД?
6. Что называется классом объектов?
7. Какие разновидности объектов выделяются в базовой ER-модели? Какие графические обозначения используются для изображения каждого вида объектов?
8. Приведите примеры из любых предметных областей для каждой разновидности объектов.
9. Какие разновидности свойств объектов выделяются в базовой ER-модели? Какие графические обозначения используются для изображения каждого вида свойств?
10. Приведите примеры из любых предметных областей для каждой разновидности свойств.
11. Что называется зависимыми от идентификации сущностями?
12. Что следует выделять в качестве самостоятельного объекта в ER-модели?
13. Какие интегральные характеристики класса объектов обычно фиксируются при описании предметной области? Как они используются при проектировании БД?
14. В каких случаях в концептуальной модели следует в явном виде отображать класс объектов?
15. Какие разновидности связи между объектами выделяются в базовой ER-модели? Какие графические обозначения используются для изображения каждого вида связи?
16. Приведите примеры из любых предметных областей для каждой разновидности связи.
17. В каком случае следует вводить в модель обобщенный объект?
18. Какую информацию о предметной области дает граф пересечений?
19. Какие CASE-средства вы знаете?
20. Чем отличаются известные вам методологии ER-моделирования друг от друга?
21. Какие разновидности объектов выделяются в ER-модели, построенной в нотации IDEF1X?
22. В чем общность и различие процесса ER-моделирования в CASE-системах Design/IDEF и ERWin?
23. Что называется дискриминатором? Для каких целей он служит?
24. Что называется инверсным входом (Inversion Entry)? В каких случаях при описании атрибута следует использовать этот признак?
25. В каких случаях в ERWin следует использовать при описании атрибута признак Logical Only (только логический)?
26. В чем отличие полных категорий (Complete sub-category) от неполных (Incomplete sub-category)?
Глава 3 ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
3.1. Общие сведения о даталогическом проектировании
3.1.1. Исходные данные для даталогического проектирования
Подходы к проектированию логической структуры БД существенно зависят от типа модели данных. Рассмотрим вопросы даталогического проектирования применительно к структурированным моделям данных.
В разд. 1.5 было дано понятие даталогического проектирования и определен состав работ на этой стадии (см. рис. 1.23). Рассмотрим эту схему подробнее.
Любая СУБД оперирует с допустимыми для нее логическими единицами данных, а также разрешает использование определенных правил композиции логических структур более высокого уровня из составляющих информационных единиц более низкого уровня. Кроме того, многие СУБД накладывают количественные и иные ограничения на структуру базы данных. Поэтому, прежде чем приступить к построению даталогической модели, необходимо детально изучить особенности СУБД, определить факторы, влияющие на выбор проектного решения, ознакомиться с существующими методиками проектирования, а также провести анализ имеющихся средств автоматизации проектирования, возможности и целесообразности их использования.
Хотя даталогическое проектирование соотносится с логической структурой базы данных, на него оказывают влияние возможности физической организации данных, предоставляемые конкретной СУБД. Поэтому знание особенностей физической организации данных является полезным при проектировании логической структуры.
Логическая структура базы данных, а также сама заполненная данными база данных являются отображением реальной предметной области. Поэтому на выбор проектных решений самое непосредственное влияние оказывает специфика отображаемой предметной области, отраженная в инфологической модели.
Все шаги проектирования даталогической модели выполняются итеративно. Причем вероятны итерации не только внутри стадии даталогического проектирования, но и с «захватом» других стадий проектирования БД.
3.1.2. Результат даталогического проектирования
Конечным результатом даталогического проектирования является описание логической структуры базы данных на ЯОД. Однако если проектирование выполняется вручную, то для большей наглядности сначала строится схематическое графическое изображение структуры базы данных. При этом должно быть обеспечено однозначное соответствие между конструкциями языка описания данных и графическими обозначениями информационных единиц и связей между ними. Графическое представление используется и при автоматизированном проектировании структуры базы данных как интерфейсное средство общения с проектировщиком и при документировании проекта.
Спроектировать логическую структуру базы данных - означает определить все информационные единицы и связи между ними, задать их имена; если для информационных единиц возможно использование разных типов, то определить их тип. Следует также задать некоторые количественные характеристики, например длину поля.
3.1.3. Подход к даталогическому проектированию
Каждому типу модели данных и каждой разновидности модели, поддерживаемой конкретной СУБД, присущи свои специфические особенности. Вместе с тем имеется много общего во всех структурированных моделях данных и принципах проектирования БД в их среде. Все это дает возможность использовать единый методологический подход к проектированию структуры базы данных.
В БД отражается определенная предметная область. Поэтому процесс проектирования БД предусматривает предварительную классификацию объектов предметной области, систематизированное представление информации об объектах и связях между ними.
На проектные решения оказывают влияние особенности требуемой обработки данных. Поэтому соответствующая информация должна быть определенным образом представлена и проанализирована на начальных этапах проектирования БД.
Данные о предметной области и особенностях обработки информации в ней фиксируются в инфологической модели. В такой модели должна быть отображена вся информация, циркулирующая в информационной системе, но это вовсе не означает, что вся она должна храниться в базе данных. В связи с этим одним из первых шагов проектирования является определение состава БД, т.е. перечня тех показателей, которые целесообразно хранить в БД.
При проектировании логической структуры БД осуществляются преобразование исходной инфологической модели в модель данных, поддерживаемую конкретной СУБД, и проверка адекватности полученной даталогической модели отображаемой предметной области.
Для любой предметной области существует множество вариантов проектных решений ее отображения в даталогической модели. Методика проектирования должна обеспечивать выбор наиболее подходящего проектного решения.
Минимальная логическая единица данных (несмотря на их разные названия) семантически для всех СУБД одинакова и соответствует либо идентификатору объекта, либо свойству объекта или процесса.
Связи между сущностями предметной области, отраженные в инфологической модели, могут отображаться в даталогической модели либо посредством совместного расположения соответствующих им информационных элементов, либо путем объявления связи между ними. Связь может передаваться как на внутризаписном, так и на межзаписном уровне.
Не все виды связей, существующие в предметной области, могут быть непосредственно отображены в конкретной даталогической модели. Так, многие СУБД не поддерживают непосредственно отношение М:М между элементами. В этом случае в даталогическую модель вводится дополнительный вспомогательный элемент, отображающий эту связь (таким образом, отношение М:М как бы разбивается на два отношения 1:М между этим вновь введенным элементом и исходными элементами).
Следует обратить внимание на то, что отношения, имеющие место в предметной области и отражаемые в ИЛМ, могут быть переданы не только посредством структуры базы данных, но и программным путем (т.е. всегда существует альтернатива между декларативным и процедурным способом описания явления). Например, при отображении обобщенных объектов можно не выделять подклассы на уровне логической структуры базы данных. В этом случае подклассы будут выделяться программным путем при обработке хранимых данных.
Решение о том, какой из способов отображения (структурный/декларативный или программный/процедурный) следует использовать в каждом конкретном случае, будет зависеть от многих факторов, таких, как стабильность отображаемой сущности, объем номенклатуры, особенности СУБД, характер обработки данных и др. Так, если в предметной области используется классификация сотрудников по полу, в базе данных не следует создавать классификатор полов, поскольку он будет содержать всего две позиции и никогда не меняется. Как правило, не следует выделять по этому признаку и соответствующие подклассы для объектов предметной области, потому что в большинстве случаев они обрабатываются совместно и в основном имеют одинаковый набор свойств, характеризующий их. Однако в некоторых предметных областях деление на такие подклассы может быть целесообразным.