Функцыянальная залежнасць у базе дадзеных

Функцыянальныя залежнасці дапамагчы пазбегнуць дублявання дадзеных

Функцыянальная залежнасць у базе дадзеных навязвае мноства абмежаванняў паміж атрыбутамі. Гэта адбываецца, калі адзін атрыбут ў дачыненні адназначна вызначае іншы атрыбут. Гэта можна запісаць А -> У , што азначае «Б функцыянальна залежыць ад А.» Гэта таксама называецца залежнасцю базы дадзеных .

У гэтай сувязі, А вызначае значэнне B, у той час як У залежыць ад А.

Чаму функцыянальная залежнасць мае важнае значэнне пры праектаванні баз дадзеных

Функцыянальная залежнасць дазваляе забяспечыць дакладнасць data.Consider стала для работнікаў, якія пералічаныя характарыстыкі, у тым ліку нумар сацыяльнага страхавання (SSN), імя, дату нараджэння, адрас і гэтак далей.

Атрыбут Пла будзе вызначаць значэнне імя, дата нараджэння, адрас і, магчыма, іншыя каштоўнасці, так як нумар сацыяльнага страхавання з'яўляецца унікальным, у той час як імя, дата нараджэння ці адрас не можа быць. Мы можам напісаць гэта:

Пла -> назва, дата нараджэння, адрас

Такім чынам, імя, дата нараджэння і адрас функцыянальна залежыць ад ССН. Тым не менш, (імя -> Пла) адваротнае сцвярджэнне не дакладна, таму што больш, чым адзін супрацоўнік можа мець такое ж імя, але ніколі не будзе мець той жа нумар сацыяльнага страхавання. Іншымі, больш канкрэтны шлях, калі мы ведаем, што значэнне атрыбуту ПКР, мы можам знайсці значэнне імя, дату нараджэння і адрас. Але калі мы замест таго, каб ведаць значэнне толькі імя атрыбуту, мы не можам вызначыць нумар сацыяльнага страхавання.

Левы бок функцыянальнай залежнасці можа ўключаць у сябе больш аднаго атрыбуту. Дапусцім, мы маем справу з некалькімі месцамі. Мы маглі б мець табліцу Employee з атрыбутамі супрацоўніка, пасада, аддзел, месцазнаходжанне і мэнэджэра.

Работнік вызначае месцазнаходжанне ён працуе, так што ёсць залежнасць:

работнік -> размяшчэнне

Але месца можа мець больш аднаго мэнэджара, таму супрацоўнік і аддзел разам вызначаюць менеджэр:

супрацоўнік, аддзел -> менеджэр

Функцыянальная залежнасць і Нармалізацыя

Функцыянальная залежнасць спрыяе таму , што называецца база дадзеных нармалізацыі , што гарантуе цэласнасць дадзеных і скарачае надмернасць дадзеных. Без нармалізацыі, няма ніякіх гарантый таго, што дадзеныя ў базе дадзеных, з'яўляюцца дакладнымі і надзейнымі.