Аксіоми Армстронга

Матеріал з testwiki
Версія від 03:41, 22 травня 2022, створена imported>InternetArchiveBot (Виправлено джерел: 3; позначено як недійсні: 0.) #IABot (v2.0.8.7)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Аксіоми Армстронга — множина аксіом (або, точніше, правил висновування), що використовуються для висновування всіх функціональних залежностей у реляційній базі даних. Їх розробив Шаблон:Нп у своїй газетній статті 1974 року[1]. Аксіоми правильні в генеруванні тільки функціональних залежностей у замиканні множини функціональних залежностей (позначеному F+), коли застосовані до цієї множини (позначеній F). Також вони повні в тому, що повторне застосування цих правил генеруватиме всі функціональні залежності в замиканні F+.

Формальніше, нехай R(U),F позначає реляційну схему над множиною атрибутів U зі множиною функціональних залежностей F. Скажемо, що функціональна залежність f логічно слідує з F, і позначимо це Ff, якщо й тільки якщо для кожного примірника r із R, що задовольняє функціональні залежності в F, r також задовольняє f. Позначимо F+ множину всіх функціональних залежностей, які логічно слідують із F.

Більше того, з повагою до множини правил висновування A, скажемо, що функціональна залежність f є похідною з функціональних залежностей у F за множиною правил висновування A, і позначимо це FAf, якщо й тільки якщо f можна отримати шляхом повторного застосування правил висновування в A до функціональних залежностей у F. Позначимо FA* множину всіх функціональних залежностей, які є похідними від F за правилами висновування в A.

Тоді множина правил висновування A правильна, якщо й тільки якщо має місце наступне:

FA*F+

інакше кажучи, ми не можемо вивести за допомогою A функціональні залежності, які логічно не слідують з F. Множину правил висновування A називають повною, якщо має місце наступне:

F+FA*

простіше кажучи, ми здатні вивести за A всі функціональні залежності, які логічно слідують із F.

Аксіоми (первинні правила)

Нехай R(U) — схема відношення над множиною атрибутів U. Надалі позначатимемо літерами X, Y, Z будь-яку підмножину U, а, для стислості, об'єднання двох множин атрибутів X та Y як XY замість звичайного XY; ця нотація є достатньо стандартною в Шаблон:Нп при роботі зі множинами атрибутів.

Аксіома рефлексивності

Якщо X — множина атрибутів, а Y — підмножина X, то X вміщує Y. Тоді X вміщує Y [XY] означає, що X функціонально визначає Y.

Якщо YX, то XY.

Аксіома доповнення

Якщо X вміщує Y, а Z — множина атрибутів, то XZ вміщує YZ. Це означає, що атрибут у залежностях не змінює основних залежностей.

Якщо XY, то XZYZ для будь-якого Z.

Аксіома транзитивності

Якщо X вміщує Y, а Y вміщує Z, то X вміщує Z.

Якщо XY та YZ, то XZ.

Додаткові (другорядні) правила

Ці правила можуть виводитися від вищенаведених аксіом.

Декомпозиція

Якщо XYZ, то XY та XZ.

Доведення

1. XYZ (Дано)
2. YZY (Рефлексивність)
3. XY (Транзитивність 1 і 2)

Композиція

Якщо XY та AB, то XAYB.

Доведення

1. XY (Дано)
2. AB (Дано)
3. XAYA (Доповнення 1 і A)
4. XAY (Декомпозиція 3)
5. XAXB (Доповнення 2 і X)
6. XAB (Декомпозиція 5)
7. XAYB (Об'єднання 4 і 6)

Об'єднання (нотація)

Якщо XY та XZ, то XYZ.

Псевдо-транзитивність

Якщо XY та YZW, то XZW.

Доведення

1. XY (Дано)
2. YZW (Дано)
3. XZYZ (Доповнення 1 і Z)
4. XZW (Транзитивність 3 і 2)

Самовизначення

II для будь-якої I. Це слідує прямо з аксіоми рефлексивності.

Екстенсивність

Наступна властивість є особливим випадком доповнення, коли Z=X.

Якщо XY, то XXY.

Екстенсивність може замінити доповнення як аксіому в сенсі, що доповнення може бути доведене з екстенсивності разом з іншими аксіомами.

Доведення

1. XZX (Рефлексивність)
2. XY (Дано)
3. XZY (Транзитивність 1 і 2)
4. XZXYZ (Екстенсивність 3)
5. XYZYZ (Рефлексивність)
6. XZYZ (Транзитивність 4 і 5)

Відношення Армстронга

Дано множину функціональних залежностей F, відношення Армстронга — відношення, яке задовольняє всім функціональним залежностям у замиканні F+ й тільки цим залежностям. На жаль, мінімальний розмір відношення Армстронга для даної множини залежностей може бути експоненційною функцією від кількості атрибутів у залежностях, які розглядаються[2].

Примітки

Шаблон:Примітки

Посилання

Шаблон:СКБД Шаблон:Нормалізація баз даних