YourLib.net
Твоя библиотека
Главная arrow Базы данных. Проектирование и создание (С.М. Диго) arrow 2.2.9. Рекомендации по построению базовой ER-модели
2.2.9. Рекомендации по построению базовой ER-модели

2.2.9. Рекомендации по построению базовой ER-модели

   В ER-модели должно быть отображено все, о чем идет речь в данной предметной области (во входных документах, в выходных документах и т.п.). После построения полной ER-модели необходимо определить состав хранимых показателей. Переход от ER-модели к даталогической модели должен производиться только для хранимых показателей.Как отмечалось выше, понятия «объект» и «свойство» являются относительным. В общем случае можно дать следующие рекомендации по поводу того, что следует выделять в качестве самостоятельного объекта в ER-модели. В качестве самостоятельного объекта в ER-модели следует изображать сущности: - имеющие более одного идентификатора;
   - для которых фиксируются какие-либо их свойства;
   - которые участвуют более чем в одной связи.
   При возникновении сомнений лучше принять решение о создании самостоятельного объекта, так как это в дальнейшем потребует меньших переделок модели.
   Количественные характеристики всегда являются свойствами какого-либо объекта, и никогда - самостоятельными объектами.
   При изображении предметной области надо стремиться отобразить информацию как можно более детально, так как это в дальнейшем даст возможность принять более обоснованные решения при проектировании структуры базы данных. Так, например, если «адрес», «ФИО» являются составными характеристиками, то желательно это отразить в ER-модели. При решении вопроса о том, что следует отображать как обобщенный объект, приходится выбирать между двумя крайними вариантами: надо ли простой объект представить как обобщенный и надо ли два или несколько самостоятельных объектов «объединить» в обобщенный объект.
   Обобщенный объект следует вводить в модель в том случае, когда надо подчеркнуть общность и различие категорий объектов, входящих в один класс или в случае если объекты разных подклассов участвуют в разных связях. Так, например, если для сотрудников мужского и женского пола фиксируются одни и те же свойства, эти объекты участвуют в одних и тех же связях, то не следует выделять соответствующие подклассы. Если же для студентов мужского поля фиксируются сведения о воинской обязанности, информация о том, прошли ли они срочную службу, занимаются ли они на военной кафедре и т.п., а для студенток эта информация не фиксируется, то разбивать класс объектов СТУДЕНТ на подклассы следует.
   Естественно, что каждый подкласс может быть изображен в ER-модели как самостоятельный объект, а не как подкласс какого-то родового класса. Для того чтобы иметь больше информации о предметной области и сократить число элементов (свойств, связей) в ER-модели, в большинстве случаев лучше объединять подклассы в класс.  
   Одну и ту же ситуацию в предметной области можно представить в ER-модели разными способами. На рис. 2.21 изображены фрагменты ER-модели, отображающие факт знания сотрудником иностранных языков. Каждый из изображенных вариантов при всем их различии являются правильными. Если ЯЗЫК не будет использоваться ни в каких связях, то возможно использование каждого из приведенных вариантов. Если такой уверенности нет, то вариант (б) лучше не использовать.

Рис. 2. 21. Варианты изображения связи «СОТРУДНИК - ЯЗЫК» 

Рис. 2. 21. Варианты изображения связи «СОТРУДНИК - ЯЗЫК»

   В заключение данного раздела хотелось бы обратить внимание на некоторые наиболее часто допускаемые ошибки в процессе моделирования. Одной из таких ошибок является изображение взаимосвязанных свойств в виде самостоятельных, не связанных друг с другом. Так, на рис. 2.22а изображен неправильный вариант отображения информации о степени владения сотрудником тем или иным иностранным языком. Кроме правильного варианта, изображенного на рис. 2.22б, возможен вариант, аналогичный изображенному на рис. 2.21б, где СТЕПЕНЬ_ВЛАДЕНИЯ будет свойством агрегированного объекта ЗНАНИЕ ЯЗЫКА.

Рис. 2.22. Изображение информации о владении иностранными языками 

Рис. 2.22. Изображение информации о владении иностранными языками

   Следует помнить, что нельзя устанавливать связь между свойством одного объекта и другим объектом или свойством. Нельзя непосредственно связывать между собой агрегированные объекты.

 
< Пред.   След. >