|
Программирование >> Хронологические базы данных
3. D -> AC 4. D -> E Тогда строка 3 может быть заменена следующей строкой. 3. DAmDC Затем с помощью строки 1 можно придать строке 2 такой вид. 2. А С Но поскольку теперь D -> А и А С, по транзитивности это подразумевает D -> С, а в результате для строки 3 можно получить следующее выражение. 3. D -> А Таким образом, первое множество функциональных зависимостей эквивалентно следующему неприводимому множеству. А -> В А -> С D -> А D -> Е Приведенное ниже второе множество функциональных зависимостей, очевидно, эквивалентно данному неприводимому множеству. А -> ВС D -> АЕ Таким образом, эти множества эквивалентны. 10.12.Прежде всего, следует переписать данное множество так, чтобы каждая функциональная зависимость имела одноэлементную правую часть. 1. АВ -> С 2. С -> А 3. ВС -> D 4. ACD -> В 5. BE -> С 6. СЕ -> А 7. СЕ -> F 8. CF В 9. CF -> D 10.D -> Е 11. D -> F Тогда получаем следующее. Строка 2 подразумевает строку 6, поэтому строку 6 можно опустить. Строка 8 подразумевает функциональную зависимость CF -> ВС (по правилу дополнения), которая вместе со строкой 3 подразумевает функциональную зависимость CF -> D (по правилу транзитивности), так что строку 9 можно опустить. Строка 8 подразумевает функциональную зависимость ACF -> АВ (по дополнению), а строка 11 - функциональную зависимость ACD -> АСЕ (по дополнению). Тогда можно записать, что ACD -> АВ (по правилу транзитивности) и ACD -> В (по правилу декомпозиции). Таким образом, строку 4 можно опустить. На этом все операции вывода завершаются и множество становится неприводимым. АВ -> С С -> А ВС -> D BE -> С СЕ -> F CF -> В D -> Е D -> F Вывод можно осуществить иначе. Строка 2 подразумевает функциональную зависимость CD -> ACD (по правилу композиции), которая со строкой 4 подразумевает функциональную зависимость CD В (по правилу транзитивности), так что строку 4 можно заменить зависимостью CD -> В. Строка 2 подразумевает строку 6, так что строку 6 можно опустить (как и прежде). Строки 2 и 9 подразумевают функциональную зависимость CF -> AD (по правилу композиции), которая подразумевает функциональную зависимость CF -> ADC (по правилу дополнения), которая вместе со строкой 4 подразумевает функциональную зависимость CF -> В (по правилу транзитивности). Таким образом, строку 8 можно опустить. На этом все операции вывода завершаются и множество становится неприводимым. АВ -> С С А ВС -> D CD -> В BE -> С СЕ -> F CF -> D D -> Е D -> F Обратите внимание, что тем самым получено два разных неприводимых покрытия для исходного множества функциональных зависимостей. 10.13.Потенциальными ключами являются L, DPC и DPT. 10.14. Используя сокращенную запись N, R, С, Т и Z для атрибутов NAME, STREET, CITY, STATE и ZIP соответственно, можно получить следующие функциональные зависимости. N -> RCT RCT -> Z Z -> СТ 420 Часть III. Проектирование базы данных Очевидно, что эквивалентным неприводимым множеством является следующее. N->R N->C N->T RCT->Z ZC Z->T Единственным потенциальным ключом является атрибут N. 10.15.Ответ к этому упражнению будет дан не полностью, хотя некоторые рассуждения здесь все же будут изложены. Во-первых, множество, очевидно, не является неприводимым, так как функциональные зависимости С -> J и CJ -> I совместно подразумевают зависимость С -> I. Во-вторых, очевидным суперключом является множество {A,B,C,D,G,J} (т.е. множество всех атрибутов, упомянутых в левых частях заданных функциональных зависимостей). Из этого множества можно исключить атрибут J, поскольку существует зависимость С -> J, а также исключить атрибут G, поскольку существует зависимость АВ -> G. Так как ни один из атрибутов А, В, С, D не находится в правой части любой заданной функциональной зависимости, множество {A,B,C,D} является потенциальным ключом.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |