Өгөгдлийн сангийн хамаарал юу вэ?

Өгөгдлийн сангийн хамаарлууд нь оюутнууд болон мэдээллийн баазын мэргэжилтнүүдийн аль аль нь хоёуланд нь ихэвчлэн эвддэг сэдэв юм. Аз болоход тэдгээр нь тийм ч төвөгтэй биш бөгөөд олон жишээг ашиглан хамгийн сайн дүрслэх боломжтой. Энэ өгүүлэлд бид мэдээллийн сан хамаарах хамаарлын төрлийг шалгадаг.

Өгөгдлийн сангийн хамаарал / үйл ажиллагааны хамаарал

Нэг өгөгдлийн сангийн хүснэгтэд хадгалагдаж байгаа мэдээлэл нь нэг хүснэгтэд хадгалагдсан бусад мэдээллийг тодорхойлоход хамаарал хамаарал хамаарна. Та мөн нэг шинж чанарын (эсвэл абсолютуудын багц) үнэ цэнийг мэдэж байгаа бол үүнийг нэг хүснэгтийн өөр шинж чанар (эсвэл атрибутуудын багц) -аар үнэлэхэд хангалттай.

Хүснэгтийн шинж чанаруудын хооронд хамаарал байгаа нь эдгээр шинж чанаруудын хоорондын хамаарал хамааралтай гэж хэлдэгтэй ижил байна. Хэрэв өгөгдлийн баазад хамааралтай байгаа бол B шинж чанар нь А шинж чанараас хамаардаг бол үүнийг "A -> B" гэж бичнэ.

Жишээлбэл, Хүний эрхийн Нийгмийн Хамгааллын Тоо (SSN), түүний нэрийг багтаасан ажилчдын шинж чанарыг Хүснэгтэнд жагсаасанаар SSN (эсвэл SSN -> нэрээс хамааралтай) гэж нэрлэж болно. Гэхдээ нэгээс олон ажилтан ижил нэртэй боловч өөр өөр SSN-уудтай байж болох тул урвуу мэдэгдэл (нэр -> SSN) үнэн биш юм.

Зорилтот чиг үүрэг

Анхдагч аттрибутыг багтаасан шинж чанарын цуглуулгад шинж чанарын функциональ хамаарлыг тодорхойлж байх үед ердийн функциональ хамаарал хамаардаг . Жишээ нь, "{A, B} -> B" нь "{name, SSN} -> SSN" гэх мэт хялбар функционал хамаарал юм. Энэ функциональ хамаарлын хамаарлыг ердийн утгаар нь авч үзэж болох юм. Хэрэв та В-ийн утгыг аль хэдийн мэдэж байгаа бол B-ийн утгыг тэр мэдлэгтэйгээр тодорхойлж болно гэдэг нь тодорхой юм.

Бүтэн функциональ хамаарал

Функциональ хамааралтай байх шаардлагыг аль хэдийн хангаж байх үед функциональ хамаарал хамаардаг бөгөөд функциональ хамаарлын тайлангийн зүүн тал дахь шинж чанаруудын багцыг цаашид багасгаж болохгүй. Жишээлбэл, "{SSN, age} -> нэр" нь хамааралтай хамааралтай боловч энэ нь хамааралтай харилцаанд нөлөөлөхгүйгээр мэдэгдэлийн зүүн талаас насыг арилгаж болно.

Transitive dependencies

Илүү хамааралтай байдал нь үйл ажиллагаанаас хамааралтай байх шууд бус харилцаа юм. Жишээлбэл, "A -> C" нь "A -> B" ба "B -> C" хоёул үнэн учир нь үнэн хэрэгтээ илүүдэл хамаарал юм.

Олон төрлийн хамааралтай хамааралтай байдал

Нэг хүснэгтэнд нэг ба түүнээс олон эгнээ байгаа үед нэг буюу хэд хэдэн эгнээний мөрөнд олон төрлийн хамааралтай хамааралтай байдаг. Жишээлбэл, машины олон загвар үйлдвэрлэдэг машины компани төсөөлж бай, харин загвар бүрийн улаан, цэнхэр өнгө хоёуланг нь байнга хийдэг. Хэрэв та загварын нэр, өнгө, жил тус бүрийг үйлдвэрлэж байгаа хүснэгттэй бол тэр хүснэгтэд олон төрлийн хамааралтай байдаг. Тодорхой загварын нэр, жилээр эгнээ байгаа бол тухайн машины улаан хувилбартай адил ижил мөр байх ёстой.

Явцын ач холбогдол

Өгөгдлийн сангийн хамаарлыг ойлгох нь чухал бөгөөд учир нь мэдээллийн баазыг хэвийн болгоход ашиглах үндсэн блокуудыг хангадаг. Жишээлбэл: