КАТЕГОРИИ: Архитектура-(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) |
Слияние общих сущностей из отдельных локальных моделей
Анализ имен связей Выполняемые действия аналогичны описанным на предыдущем этапе. Теперь следует проанализировать имена и содержимое сущностей каждого типа, присутствующих в сливаемых логических моделях. Обычно эта процедура включает следующие действия: · слияние сущностей с одинаковыми именами и первичными ключами; · слияние сущностей с одинаковыми именами, но с различными первичными ключами; · слияние сущностей с различными именами, имеющих одинаковые или различные первичные ключи. Слияние сущностей с одинаковыми именами и первичными ключами. Как правило, сущности с одним и тем же первичным ключом представляют один и тот же объект реального мира и, следовательно, должны быть слиты. Объединенная сущность будет включать все атрибуты сливаемых сущностей, за исключением дублирующихся. Так, в листинге 8.1 перечислены атрибуты, связанные с двумя сущностями, носящими имя Staff, которые определены в двух различных представлениях, названных View1 и View2. В обоих случаях первичным ключом является атрибут Staff_No. Слияние этих сущностей осуществляется путем объединения их атрибутов, поэтому в сводной сущности Staff будут присутствовать все атрибуты исходных сущностей. Отметим, что в данном случае имеет место конфликт, связанный со способом представления в каждой из исходных сущностей имени работника. В подобной ситуации, прежде чем выбрать' необходимый способ представления конфликтных данных, следует (по возможности) проконсультироваться с пользователями каждого из исходных представлений. Обратите внимание, что в нашем примере было выбрано развернутое представление атрибута Name, т.е. разделение его в сводной сущности на атрибуты FName и LName. Листинг 8.1. Слияние сущностей Staff из представлении View1 и View2
(Представление View1) Staff (Staff No, Name, Position, Sex, Salary, Branch_No) Primary Key Staff_No Foreign Key Branch No references Branch(Branch No) {Представление View2) Staff (Staff_No, FName, LMame, Address, Branch_No) Primary Key Staff_No Foreign Key Branch No references Branch (Branch No)
(Глобальное представление) Staff (Staff_No, FName, LName, Address, Position, Sex, Salary, Branch_No) Primary Key Staff_No Foreign'Key Branch_No references Branch(Branch_No) Слияние сущностей с одинаковыми именами, но с различными первичными ключами. В некоторых ситуациях могут быть обнаружены две сущности с одним и тем же именем, те которых используются различные первичные ключи, однако имеются одинаковые потенциальные ключи. В этом случае сущности сливаются аналогично тому, как это было сделано в предыдущем варианте. Дополнительно потребуется выбрать в результирующей сущности первичный ключ, объявив все остальные ключи альтернативными. В листинге 8.2 перечислены атрибуты двух сущностей Staff, определенных в двух различных представлениях под именами View1 и View2. Первичным ключом сущности Staff из представления Viewl является атрибут Name, а пер- '• вичным ключом сущности Staff из представления View2 — атрибут Staff No. Однако в сущности Staff из представления View1 определен альтернативный ключ Staff No, a в сущности Staff из представления View2 — альтернативный ключ (FName, LName). Хотя первичные ключи в каждой из исходных сущностей различны, первичный ключ сущности Staff из представления View1 является альтернативным ключом сущности Staff из представления View2, и наоборот. Сущность, полученная в результате слияния двух исходных сущностей, аналогична результирующей сущности, представленной в листинге 8.1, однако в ней следует дополнительно определить альтернативный ключ (FName, LName). Листинг 8.2. Слияние эквивалентных сущностей с различными первичными ключами {Представление View1) Staff (Staff No, Name, Position, Sex, Salary, Branch_No) Primary Key Name Alternate Key Staff_No Foreign Key Branch_No references Branch(Branch_No)
[Представление View2) Staff (Staff_No, FName, LName, Address, Branch_No) Primary Key Staff_No Alternate Key FName, LName Foreign Key Branch_No references Branch (BranchJto)
(Глобальное представление) Staff (Staff_No, FName, LName, Address, Position, Sex, Salary, Branch_No) Priaary Key Staff_No. Alternate Key FName, LName Foreign Key Branch_No references Branch (Branch_No) Слияние сущностей с различными именами, имеющих одинаковые или различные первичные ключи. В некоторых случаях можно обнаружить сущности, которые имеют различные имена, но предназначены для одной и той же Цели. Подобные эквивалентные сущности можно распознать по их именам, которые будут указывать на их сходное назначение, по их содержанию и по их первичным ключам. Кроме того, их можно распознать по участию в определенных связях. Типичным примером подобной ситуации является наличие в моделях сущностей с названиями Staff (Персонал) и Employee (Работник), которые, по сути, являются эквивалентными и должны быть слиты в единую сущность
Дата добавления: 2014-01-04; Просмотров: 292; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |