В этой статье будут рассмотрены различные аксиомы Армстронга, используемые для вывода всех функциональных зависимостей в реляционной базе данных. Впоследствии мы рассмотрим дополнительные правила, выведенные из этих аксиом, вместе с соответствующими доказательствами.
Аксиомы Армстронга, введенные Уильямом В. Армстронгом в 1974 году, представляют собой набор правил вывода, используемых для вывода всех функциональных зависимостей в реляционной базе данных. Эти правила, применяемые к набору функциональных зависимостей, обозначаемых как F+, являются одновременно надежными, гарантируя, что генерируются только зависимости внутри набора замыканий F, и полными, что означает, что применение этих правил итеративно приведет к получению всех функциональных зависимостей внутри замыкания F+.
Существует 3 типа аксиом:
Ниже приведены правила использования аксиом в СУБД:
A→BC (given)_______________ (i) BC→B (reflexivity)____________ (ii) A→B (transitivity from i and ii)
A→B_________(i) C→D_________(ii) AC→BC________(iii) (Augmentation of i and C) AC→B________(iv) Decomposition of iii) AC→AD_______(v) (Augmentation of ii and A) AC→D___________(vi) (Decomposition of v) AC→BD________ (Union iv and vi)
A→B________(i) (given) A→C________(ii) (given) A→AC_______(iii) (Augmentation of ii and A) AC→BC______(iv) (Augmentation of i and C) A→BC________(transitivity of iii and ii)
A→B__________(i) (Given) BC→D________(ii) (Given) AC→BC_______(iii) (Augmentation of i and C) AC →D_________(Transitivity of iii and ii)
В том смысле, что расширение может быть доказано с помощью экстенсивности и других аксиом, экстенсивность может заменить расширение как аксиому.
Доказательство
AC→A____(i) A→B________(ii) AC→B________(iii) (Transitivity of i and ii) AC→ABC_______(iv) (Extensivity of iii) ABC→BC______(v) (Reflexivity) AC→BC (Transitivity of iv and v)
Отношение Армстронга относится к отношению, которое удовлетворяет всем функциональным зависимостям, присутствующим в замыкании F+, и никаким другим зависимостям, основанным на заданном наборе функциональных зависимостей F. Однако стоит отметить, что для данного набора зависимостей наименьшее возможное отношение Армстронга может иметь размер, который растет экспоненциально с увеличением количества атрибутов в рассматриваемых зависимостях.
Когда мы говорим, что аксиомы Армстронга верны, это подразумевает, что любая зависимость, которая может быть задана в схеме отношений R, основанной на наборе функциональных зависимостей F, указанных в той же схеме отношений R, будет выполняться в каждом состоянии отношений r из R, которое удовлетворяет зависимостям в F. Другими словами, любая зависимость, выведенная из F с использованием первичных правил аксиом Армстронга, будет действительной во всех применимых состояниях связи.
С другой стороны, когда мы говорим, что аксиомы Армстронга полны, это означает, что многократный вывод зависимостей с использованием первичных аксиом Армстронга до тех пор, пока не будут выведены дальнейшие зависимости, приведет к полному набору всех возможных зависимостей, подразумеваемых из F. Это гарантирует, что мы вывели все соответствующие зависимости, которые могут быть выведены из данного набора функциональных зависимостей.
Аксиомы Армстронга представляют собой набор правил вывода, используемых в системах управления базами данных (СУБД) для вывода всех функциональных зависимостей в реляционной базе данных. Эти аксиомы обеспечивают системный подход к получению дополнительных зависимостей на основе заданного набора функциональных зависимостей. Аксиомы являются как обоснованными, гарантирующими, что производные зависимости верны во всех допустимых состояниях отношений, так и полными, гарантирующими, что повторное применение аксиом приведет к полному набору всех подразумеваемых зависимостей.
Вопрос 1. Каково значение аксиом Армстронга в СУБД?
Аксиомы Армстронга играют решающую роль в проектировании, нормализации и анализе реляционных баз данных. Они обеспечивают формальную основу для идентификации и вывода функциональных зависимостей, которые необходимы для поддержания целостности данных и разработки эффективных схем баз данных.
Вопрос 2. Как аксиомы Армстронга применяются в СУБД?
В СУБД аксиомы Армстронга используются для вывода дополнительных функциональных зависимостей из заданного набора функциональных зависимостей. Многократно применяя аксиомы, можно систематически выводить все зависимости, которые содержатся в схеме базы данных.
Вопрос 3. Могут ли аксиомы Армстронга генерировать некорректные зависимости?
Аксиомы Армстронга надежны, это означает, что зависимости, которые они генерируют, справедливы во всех допустимых состояниях отношений. Однако, если исходный набор функциональных зависимостей неверен или неполон, производные зависимости также могут быть неверными или неполными.
Вопрос 4. Ограничены ли аксиомы Армстронга определенными типами баз данных?
Нет, аксиомы Армстронга применимы к любой реляционной базе данных. Они не зависят от конкретной системы управления базами данных и могут использоваться при нормализации и анализе баз данных в различных областях и отраслях.
Вопрос 5. Существуют ли какие-либо ограничения на использование аксиом Армстронга?
Одним из ограничений аксиом Армстронга является то, что размер минимального отношения Армстронга может расти экспоненциально с увеличением количества атрибутов в рассматриваемых зависимостях. Это может создавать проблемы с точки зрения требований к хранилищу и вычислительной сложности для больших баз данных.
Вопрос 6. Существуют ли какие-либо альтернативные методы получения функциональных зависимостей?
Помимо аксиом Армстронга, существуют другие методы получения функциональных зависимостей, такие как алгоритм замыкания и метод закрытия атрибута. Эти методы используют разные подходы, но направлены на достижение одной и той же цели — определения всех функциональных зависимостей в схеме базы данных.