КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Документирование первичных и альтернативных ключей
Определение потенциальных ключей и выбор первичного ключа На этом этапе для каждой сущности устанавливается потенциальный ключ (или ключи), после чего осуществляется выбор первичного ключа (см. раздел 5.1.2). Потенциальным ключом называется атрибут или минимальный набор атрибутов заданной сущности, позволяющий уникальным образом идентифицировать каждый ее экземпляр. Для некоторых сущностей возможно наличие нескольких потенциальных ключей. В этом случае среди них/нужно выбрать один ключ, который будет называться первичным ключом. Все остальные потенциальные ключи будут называться альтернативными ключами. При выборе первичного ключа среди нескольких потенциальных руководствуйтесь приведенными ниже рекомендациями. • Используйте потенциальный ключ с минимальным набором атрибутов. • Используйте тот потенциальный ключ, вероятность изменения значений которого минимальна. • Выбирайте тот потенциальный ключ, который имеет минимальную вероятность потери уникальности значений в будущем. • Используйте потенциальный ключ, значения которого имеют минимальную длину (в случае текстовых атрибутов). • Остановите свой выбор на потенциальном ключе, с которым будет проще всего работать (с точки зрения пользователя). В процессе определения первичного ключа устанавливается, является данная сущность сильной или слабой. Если выбрать первичный ключ для данной сущности оказалось возможным, то такую сущность принято называть сильной: И наоборот, если выбрать первичный ключ для заданной сущности невозможно, то ее называют слабой (см. раздел 5.1.1). Таким образом, первичный ключ слабой сущности можно будет определить только после отображения этой слабой сущности и ее связи с сущностью-владельцем в отношение, в котором упомянутая связь моделируется посредством помещения в данное отношение соответствующего внешнего ключа. Процедура отображения сущностей и их связей в отношения будет рассмотрена при обсуждении этапа 2.2. Поэтому определение первичных ключей для слабых сущностей может быть выполнено только по достижении указанного этапа разработки. После выбора первичных и альтернативных (если они существуют) ключей сущностей сведения о них необходимо поместить в словарь данных. Этап 1.6. Специализация или генерализация типов сущностей (необязательный этап) Цель Определение суперклассов и подклассов для типов сущностей (если это необходимо). На этом этапе при необходимости можно продолжить разработку ER-модели, используя процедуры специализации или генерализации (см. раздел 5.4) по отношению к сущностям, выделенным на этапе 1.1. При проведении специализации предпринимается попытка выделить различия — путем определения одного или более подклассов некоторой сущности, которая в этом случае называется суперклассом специализации. При проведении генерализации предпринимается попытка выделить общие свойства некоторых сущностей — путем определения обобщающей сущности, называемой суперклассом генерализации. В качестве примера рассмотрим сущности Property for_Rent (Недвижимость, сдаваемая в аренду) и Proprty for_Sale (Недвижимость для продажи), представленные на рис. 7.1, а. Следует принять решение, есть ли необходимость генерализировать эти сущности в подклассы обобщающего суперкласса, представленного сущностью Property (Недвижимость), или же целесообразнее оставить их независимыми сущностями. Обе эти сущности имеют несколько одинаковых атрибутов, связанных с типом объекта недвижимости (Type) и его адресом (Street, Area, City, Postcode), а также одинаковый первичный ключ (Property_No — Учетный номер объекта недвижимости). Однако они обладают и различными атрибутами — например, такими как Rent (Арендная ставка) в случае сущности Property_for_Rent и Price (Цена) в случае сущности Proprty_for_Sale. Кроме того, отметим, что обе рассматриваемые сущности имеют общую связь Owner Owns Property. Однако каждая из сущностей имеет и собственную уникальную связь — Renter rents Property_for_Rent и Buyer Buys Property_for_Sale. Мы принимаем решение генерализировать сущности Property_for Sale и Property for Rent исходя из существующей между ними общности атрибутов и связей. В результате сущности Property_for_Sale и Property £or_Rent теперь будут рассматриваться нами как отдельные подклассы суперкласса Property, структура которого показана на рис. 7.1, б. Связь, которую суперкласс Property имеет со своими подклассами, является полной и непересекающейся, поскольку каждый член суперкласса Property должен быть членом одного из подклассов (Property for Sale или Prop-erty_for_Rent), но никогда не может принадлежать сразу обоим подклассам. Данное представление является достаточно полезным для отображения общих атрибутов и связей, относящихся к отдельным подклассами. Нет никаких четких рекомендаций по поводу того, в каких случаях ER-модель следует дополнительно расширять с помощью механизмов специализации и генерализации. В каждом отдельном случае принимаемое решение будет чисто субъективным и должно приниматься с учетом конкретных особенностей моделируемой предметной области. Для оценки целесообразности применения специализации и генерализации рекомендуем попытаться, используя эти процедуры, представить на ER-модели важнейшие сущности и их связи. Степень специализации или генерализации объектов ER-дйаграммы определяется, прежде всего, общей читабельностью этой диаграммы и той ясностью, с которой на ней моделируются важнейшие типы сущностей и связей приложения. Применение концепций специализации и генерализации позволяет улучшить характеристики созданной ER-модели приложения. Однако этот этап является необязательным, а термин "ER-диаграмма", или "ER-модель", мы в данном контексте и до конца этой главы будем использовать просто для ссылок на представление модели данных с помощью диаграмм.
Этап 1.7. Создание диаграммы „сущность-связь" Цель Разработка диаграмм "сущность-связь" (ER-диаграмм), содержащих концептуальное отражение представлений пользователя о предметной области приложения. На этом этапе создаются окончательные варианты ER-диаграмм, отображающих локальные концептуальные модели данных, характеризующие представления отдельных пользователей о предметной области приложения. Этап 1.8. Обсуждение локальных концептуальных моделей данных с конечными пользователями Цель Обсуждение локальных концептуальных моделей данных с конечными пользователями с целью получения подтверждений, что данная модель корректно отражает представления пользователя о приложении и предприятии. I' Прежде чем завершить первый этап разработки, необходимо обсудить созданные локальные концептуальные модели данных с конечными пользователями. Концептуальная модель данных должна быть представлена ER-диаграммой и сопроводительной документацией, содержащей описание разработанной модели данных. 'Если в предложенной модели будут обнаружены какие-либо несоответствия, следует внести в нее необходимые изменения (скорее всего, для этого потребуется повторно выполнить один или несколько предыдущих этапов разработки). Этот процесс должен продолжаться до тех пор, пока пользователь не подтвердит, что предложенная ему модель адекватно отражает его личное представление о работе приложения и предприятия в целом. В главе 10, "Пример разработки концептуального проекта базы данных", мы покажем, как предложенную в этой главе методологию можно использовать на практике. Для этой цели мы воспользуемся демонстрационным примером — приложением DreamHome. Все описанные в этой главе этапы в обобщенном виде представлены в приложении Е, "Краткий обзор методологии проектирования реляционных баз данных", В следующей главе описываются этапы логического проектирования базы данных. Резюме • Методология проектирования представляет собой структурированный подход к проектированию баз данных, предусматривающий использование определенных процедур, технологий, инструментов и документации. • Методология проектирования баз данных предусматривает выполнение трех последовательных фаз — концептуального, логического и физического проектирования. • Концептуальное проектирование базы данных представляет собой процесс конструирования информационной модели работы предприятия, не зависящей от каких-либо физических пащияетров реализации. • Концептуальное проектирование базы данных начинается с создания концептуальной модели данных предприятия, которая является абсолютно независимой от таких деталей реализации, как применяемая СУБД, особенности прикладных программ, используемый язык программирования, выбранная вычислительная платформа и прочие физические условия. • Логическая концептуальная модель данных создается для отражения представления о предметной области приложения каждого из существующих типов пользователей. • Логическое проектирование базы данных представляет собой процесс создания информационной модели работы предприятия на основе отдельных концептуальных моделей данных. Создаваемая модель не зависит от особенностей функционирования конкретных СУБД и других физических условий реализации. • В процессе логического проектирования базы данных локальные концептуальные модели данных преобразуются в локальные логические модели данных, структура которых определяется выбранным классом целевой СУБД (например, СУБД реляционного типа). • Локальные логические модели данных объединяются в глобальную логическую модель данных, отражающую обобщенное представление всех пользователей о предметной области приложения.* • Физическое проектирование базы данных представляет собой процесс разработки описания реализации базы данных во вторичной памяти. Это описание содержит сведения о структуре сохраняемых данных и методах доступа, используемых для организации эффективной выборки и обработки данных. • Фаза физического проектирования базы данных предусматривает принятие разработчиками решений о конкретной реализации создаваемой базы данных. Следовательно, физическое проектирование непосредственно связано с учетом всех особенностей используемой СУБД. Как правило, между этапами физического и логического проектирования имеется обратная связь, поскольку принимаемые на этапе физического проектирования решения, связанные с оптимизацией производительности приложения, часто требуют внесения изменений в логическую модель данных. • Имеются определенные важнейшие факторы успешного завершения разработки базы данных, в число которых входят активное взаимодействие с конечными пользователями. и неоднократное возвращение к выполненным ранее этапам с целью внесения изменений или проведения доработки. • Главной целью предусмотренного обсуждаемой методологией первого этапа проектирования базы данных является создание локальных концептуальных моделей данных, отражающих представления отдельных пользователей о предметной области приложения. • Представление пользователя объединяет данные, необходимые конкретному пользователю для принятия решения или выполнения некоторого задания. Как правило, представление пользователя связано с определенной функциональной областью деятельности предприятия — например, с производством продукции, маркетингом, сбытом, управлением кадрами, бухгалтерским учетом или управлением складскими запасами. Каждый конкретный тип пользователя может представлять отдельного работника или некоторую группу работников, которые будут непосредственно использовать создаваемое приложение. '• Представление пользователя может быть построено в виде диаграмм потоков данных, определяющих функциональные области и, возможно, индивидуальные функции. Кроме того, необходимая информация может быть получена с помощью опросов отдельных пользователей, изучения особенностей выполняемых процедур, структуры генерируемых отчетов, состава используемых форм и/или проведения обследования функционирования предприятия. • Каждая локальная концептуальная модель данных должна включать сведения о типах сущностей и связей, атрибутах, доменах атрибутов, потенциальных и первичных ключах. • Каждая локальная концептуальная модель данных должна дополняться соответствующим комплектом документации (включая словарь данных), созданной в процессе разработки данной модели. Вопросы 7.1. Укажите общее назначение предлагаемой методологии проектирования. 7.2. Назовите основные фазы процесса проектирования базы данных. 7.3. Укажите важнейшие факторы успешного завершения процесса разработки базы данных. 7.4. Опишите роль, которую конечные пользователи должны играть в процессе проектирования базы данных. 7.5. Назовите основную цель фазы концептуального проектирования базы данных. 7.6. Объясните смысл понятия "представление пользователя" и укажите источники информации, которые могут использоваться при создании этих представлений. 7.7. Назовите основные задачи, решаемые на этапе концептуального проектирования. 7.8. Опишите назначение процедур генерализации и специализации типов сущностей и поясните, почему этот этап является необязательным при проектировании концептуальной модели данных. 7.9. Укажите состав документации и объясните назначение отдельных типов документов, создаваемых в процессе концептуального проектирования базы данных.
Дата добавления: 2014-01-04; Просмотров: 1319; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |