Реляциялык маалымат базасында көз карандылык ошол эле маалымат базасынын таблицасында сакталган маалымат бир эле таблицада сакталган башка маалыматты уникалдуу түрдө аныктаганда пайда болот. Көп маанилүү көз карандылык таблицада бир же бир нече саптардын болушу ошол эле таблицада бир же бир нече башка саптардын болушун билдиргенде пайда болот. Башкача айтканда, таблицадагы эки атрибут (же мамычалар) бири-биринен көз карандысыз, бирок экөө тең үчүнчү атрибутка көз каранды.
Көп маанилүү көз карандылык нормалдаштыруу стандартынын төртүнчү нормалдуу формасына жол бербейт. Реляциялык маалымат базалары жазууларды долбоорлоо боюнча көрсөтмөлөрдү чагылдырган беш нормалдуу формага ылайык келет. Алар маалыматтардагы жаңыртуу аномалияларынын жана дал келбестиктеринин алдын алат. Төртүнчү нормалдуу форма маалымат базасындагы көп-бирге байланыштарды карайт.
Функционалдык көз карандылык менен көп баалуулуктан көз карандылык
Көп маанилүү көз карандылыкты түшүнүү үчүн функционалдык көз карандылык деген эмне экенин кайра карап чыгуу пайдалуу.
Эгер X атрибуту Y атрибутун уникалдуу аныктаса, анда Y функционалдык жактан Xге көз каранды. Бул X -> Y деп жазылат. Мисалы, төмөндөгү Студенттер жадыбалында Студенттин_Аты негизги адисти аныктайт:
Студенттин_аты | Майор |
---|---|
Ravi | Искусство тарыхы |
Бет | Химия |
Бул функциялык көз карандылыкты жазса болот: Студенттин_Аты -> Мажори. Ар бир Студенттин_Аты так бир Мамандыкты аныктайт, андан ашык эмес.
Эгер маалымат базасы окуучулардын спорт түрлөрүнө да көз салышын кааласаңыз, муну жасоонун эң оңой жолу Спорт деген аталыштагы дагы бир тилкени кошуу деп ойлошуңуз мүмкүн:
Студенттин_аты | Майор | Спорт |
---|---|---|
Ravi | Искусство тарыхы | Футбол |
Ravi | Искусство тарыхы | Волейбол |
Ravi | Искусство тарыхы | Теннис |
Бет | Химия | Теннис |
Бет | Химия | Футбол |
Бул жердеги көйгөй Рави менен Беттин экөө тең бир нече спорт менен машыкканында. Ар бир кошумча спорт үчүн жаңы сап кошуу керек.
Бул таблица көп маанилүү көз карандылыкты киргизди, анткени адистик жана спорт бири-биринен көз карандысыз, бирок экөө тең студенттен көз каранды. Бул жөнөкөй мисал жана аны оңой аныктоого болот, бирок көп мааниге көз карандылык чоң, татаал маалымат базасында көйгөй болуп калышы мүмкүн.
Көп маанилүү көз карандылык X ->-> Y деп жазылган. Бул учурда:
Студенттин_аты ->-> Майор
Студенттин_аты -2-4 > Спорт
Бул "Студенттин_Аты негизги багытты көп аныктайт" жана "Студенттин_Аты спортту көп аныктайт" деп окулат.
Көп маанилүү көз карандылык ар дайым жок дегенде үч атрибутту талап кылат, анткени ал үчүнчүгө көз каранды болгон кеминде эки атрибуттан турат.
Көп баалуу көз карандылык жана нормалдаштыруу
Көп маанилүү көз карандылыгы бар таблица төртүнчү нормалдуу форманын нормалдаштыруу стандартын бузат, анткени ал ашыкча ашыкчаларды жаратат жана дал келбеген маалыматтарга салым кошо алат. Муну 4NF чейин жеткирүү үчүн, бул маалыматты эки таблицага бөлүү керек.
Төмөнкү таблицада Студенттин_Аты -> Мажор функционалдуу көз карандылыгы бар жана көп маанилүү көз карандылык жок:
Студенттин_аты | Майор |
---|---|
Ravi | Искусство тарыхы |
Ravi | Искусство тарыхы |
Ravi | Искусство тарыхы |
Бет | Химия |
Бет | Химия |
Бул таблицада Студенттин_Аты -> Спорт: бир гана функционалдык көз карандылыгы бар.
Студенттин_аты | Спорт |
---|---|
Ravi | Футбол |
Ravi | Волейбол |
Ravi | Теннис |
Бет | Теннис |
Бет | Футбол |
Нормалдаштыруу көбүнчө татаал таблицаларды жөнөкөйлөтүү аркылуу ишке ашат, андыктан алар бир таблицада өтө көп карама-каршы маалыматты камтыганга аракет кылбастан, алар бир идеяга же темага тиешелүү маалыматты камтышат.