Functional Dependency sa isang Database

Ang Mga Dependency sa Function Tulong Iwasan ang Duplication ng Data

Ang isang functional dependency sa isang database ay nagpapatupad ng isang hanay ng mga hadlang sa pagitan ng mga katangian. Ito ay nangyayari kapag ang isang katangian sa isang kaugnayan ay tumutukoy sa isa pang katangian. Ito ay maaaring nakasulat na A -> B na nangangahulugang "B ay nakasalalay sa function A." Ito ay tinatawag ding isang database dependency .

Sa ganitong relasyon, tinutukoy ng A ang halaga ng B, habang ang B ay nakasalalay sa A.

Mahalaga sa Pag-deploy ng Functional sa Database Design

Ang functional dependency ay tumutulong na matiyak ang bisa ng data. Pag-isipan ang isang talahanayan Mga empleyado na naglilista ng mga katangian kabilang ang Social Security Number (SSN), pangalan, petsa ng kapanganakan, address at iba pa.

Ang katangian ay matutukoy ng SSN ang halaga ng pangalan, petsa ng kapanganakan, address at marahil iba pang mga halaga, dahil ang isang social security number ay kakaiba, habang ang isang pangalan, petsa ng kapanganakan o address ay maaaring hindi. Maaari naming isulat ito tulad nito:

SSN -> pangalan, petsa ng kapanganakan, address

Samakatuwid, ang pangalan, petsa ng kapanganakan at address ay nakadepende sa SSN. Gayunpaman, ang taliwas na pahayag (pangalan -> SSN) ay hindi totoo dahil higit sa isang empleyado ang maaaring magkaroon ng parehong pangalan ngunit hindi magkakaroon ng parehong SSN. Maglagay ng isa pang, mas konkretong paraan, kung alam namin ang halaga ng katangian ng SSN, maaari naming makita ang halaga ng pangalan, petsa ng kapanganakan at address. Ngunit kung alam namin sa halip ang halaga ng lamang ang attribute ng pangalan, hindi namin makilala ang SSN.

Ang kaliwang bahagi ng isang functional dependency ay maaaring magsama ng higit sa isang katangian. Sabihin nating mayroon kaming negosyo na may maraming mga lokasyon. Maaari kaming magkaroon ng isang table Employee na may mga katangian ng empleyado, pamagat, departamento, lokasyon at tagapamahala.

Tinutukoy ng empleyado ang lokasyon na siya ay nagtatrabaho, kaya mayroong isang dependency:

empleyado -> lokasyon

Ngunit ang lokasyon ay maaaring magkaroon ng higit sa isang tagapamahala, kaya ang empleyado at departamento ay magkasamang tumutukoy sa tagapamahala:

empleyado, departamento -> manager

Functional Dependency at Normalization

Ang functional dependency ay nag-aambag sa kung ano ang tinatawag na database normalisasyon , na nagsisiguro ng data integridad at binabawasan ang redundancies ng data. Walang normalisasyon, walang katiyakan na ang data sa isang database ay tumpak at maaasahan.