Популярные статьи | |
Сейчас на сайте | Гостей: 2
На сайте нет зарегистрированных пользователей
Пользователей: 9,955
новичок: Logyattella
|
|
Производный атрибут |
Концепция не исключает существование атрибутов, значения ко-
торых нельзя задать как напрямую, так и используя какой-либо ме-
ханизм. Их значения всегда появляются (выводятся) в тот момент,
когда в них возникает потребность.
Так, например, модель для авиакомпании содержит связь между
САМОЛЕТОМ и расположенными в нем МЕСТАМИ. Одним из возможных про-
изводных атрибутов для сущности САМОЛЕТ будет атрибут "количество
мест". Этот атрибут принимает значение в результате выполнения
функции "подсчета количества МЕСТ в САМОЛЕТЕ".
Другой пример - производный атрибут "фактически уплаченная
сумма" для сущности БИЛЕТ, значение которого вычисляется из зна-
чений атрибутов "полная стоимость" и "принятая скидка".
С этим понятием связаны некоторые опасности, уяснить которые
необходимо прежде, чем вы приступите к проектированию БД.
Не вызывает сомнений то, что при каждом изменении значения
хотя бы одного из атрибутов, влияющего на производный атрибут,
значение последнего также претерпит изменение. В зависимости от
конкретной реализации это новое значение может появляться либо в
момент использования производного атрибута, либо в тот момент,
когда произошло фактическое изменение значений связанных с ним
атрибутов.
В Приложении F, посвященном проектированию БД, показано, как
все атрибуты становятся столбцами или элементами данных. Нужно ли
нам на самом деле, чтобы значение производного атрибута вычисля-
лось заново при каждом изменении хотя бы одного из значений свя-
занных с ним атрибутов ? Ведь такое решение способно отразиться
на производительности системы и на использовании ресурсов памяти.
Поэтому, наверное, более разумно вычислять значение атрибута тог-
да, когда в этом действительно возникает необходимость.
С другой стороны, если значение производного атрибута изменя-
ется редко, но используется многими функциями, пересчитывать это
значение при каждом обращении к нему также было бы неэффективно с
точки зрения накладных расходов. В такой ситуации ускорить обра-
ботку позволил бы пересчет значения атрибута в момент его факти-
ческого изменения.
Увидеть эти две возможности и добиться того, чтобы проекти-
ровщики разобрались в них - решение этой задачи даст аналитику
возможность эффективно использовать концепцию "производного атри-
бута" в разрабатываемой модели. В процессе описания функций ана-
литик может в целях облегчения понимания логики функций прибегать
к использованию производных атрибутов.
Например:
"Идентифицировать каждый билет, фактически уплаченная сумма
за который не превышает половины его полной стоимости"
вместо:
"Идентифицировать каждый билет, для которого полная стоимость
за вычетом скидки не превышает половины этой полной стоимос-
ти".
|
|
Комментарии |
Добавить комментарий |
Пожалуйста залогиньтесь для добавления комментария.
|
Рейтинги |
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
|
|
Гость |
Вы не зарегистрированны? Нажмите здесь для регистрации.
Забыли пароль? Запросите новый здесь.
|
Мини-чат | Вам необходимо залогиниться.
Нет присланных сообщений.
|
|