Хэвийн болон хэвийн бус байдлын ялгаа

Хэвийн болон хэвийн бус байдлын ялгаа
Хэвийн болон хэвийн бус байдлын ялгаа

Видео: Хэвийн болон хэвийн бус байдлын ялгаа

Видео: Хэвийн болон хэвийн бус байдлын ялгаа
Видео: Танд хичээл зүтгэл биш хэвийн амьдрал хэрэгтэй【Даосизм】 2024, Долдугаар сарын
Anonim

Нормалчлал ба хэвийн бус байдал

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

Хэвийн байдал гэж юу вэ?

Нормчилол гэдэг нь харилцааны өгөгдлийн сан дахь өгөгдлүүд дэх илүүдлийг багасгахын тулд хийгддэг процесс юм. Энэ үйл явц нь голчлон том хүснэгтүүдийг илүү бага хэмжээтэй жижиг хүснэгтүүдэд хуваана ("Хэвийн хэлбэр" гэж нэрлэдэг). Эдгээр жижиг хүснэгтүүд нь сайн тодорхойлсон харилцаа холбоогоор дамжуулан бие биетэйгээ холбоотой байх болно. Сайн хэвийн өгөгдлийн санд өгөгдөлд өөрчлөлт оруулахад зөвхөн нэг хүснэгтийг өөрчлөх шаардлагатай болно. Эхний хэвийн хэлбэр (1NF), Хоёр дахь хэвийн хэлбэр (2NF), Гурав дахь хэвийн хэлбэр (3NF) -ийг Эдгар Ф. Кодд танилцуулсан. Boyce-Codd Normal Form (BCNF) хэлбэрийг 1974 онд Кодд, Рэймонд Ф. Бойс нар нэвтрүүлсэн. Дээд хэвийн хэлбэрүүд (4NF, 5NF болон 6NF) тодорхойлогдсон боловч тэдгээрийг маш ховор хэрэглэж байна.

1NF-д нийцсэн хүснэгт нь энэ нь харилцааг бодитоор илэрхийлдэг (жишээ нь, энэ нь давтагдах ямар ч бүртгэл агуулаагүй) бөгөөд хамаарлын үнэ цэнэтэй шинж чанаруудыг агуулаагүй (өөрөөр хэлбэл.д. бүх шинж чанарууд нь атомын утгатай байх ёстой). Хүснэгтийг 2NF-д нийцүүлэхийн тулд энэ нь 1NF-д нийцсэн байх ёстой бөгөөд аливаа нэр дэвшигчийн түлхүүрийн нэг хэсэг биш аливаа шинж чанар (жишээ нь, үндсэн бус шинж чанарууд) нь хүснэгтийн аль нэг нэр дэвшигчийн түлхүүрээс бүрэн хамааралтай байх ёстой. Коддын тодорхойлолтын дагуу хүснэгтийг 3NF-д байгаа гэж хэлдэг, хэрэв хүснэгт нь хоёр дахь хэвийн хэлбэрт (2NF) байгаа бол хүснэгтийн нэр дэвшигчийн түлхүүрт хамааралгүй бүх шинж чанар нь тус бүрээс шууд хамааралтай байх ёстой. тэр хүснэгтийн нэр дэвшигч түлхүүр. BCNF (мөн 3.5NF гэгддэг) нь 3NF-ээр шийдэгдээгүй зарим гажигийг илрүүлдэг.

Дэнормализаци гэж юу вэ?

Хэвийн өөрчлөлт нь хэвийн болгох үйл явцын урвуу үйл явц юм. Гүйцэтгэлийг оновчтой болгохын тулд илүүдэл өгөгдөл нэмэх эсвэл өгөгдлийг бүлэглэх замаар хэвийн бус байдлыг арилгадаг. Хэдийгээр илүүдэл өгөгдөл нэмэх нь үр дүнгүй мэт санагдаж байгаа ч заримдаа хэвийн бус байдал нь харилцаа холбооны өгөгдлийн сангийн програм хангамжийн зарим дутагдлыг арилгахад маш чухал үйл явц бөгөөд энэ нь хэвийн өгөгдлийн сантай (тэр ч байтугай илүү өндөр гүйцэтгэлтэй байхаар тохируулсан) гүйцэтгэлийн өндөр торгууль ногдуулдаг. Учир нь асуулгад үр дүн гаргахын тулд хэд хэдэн харилцааг (хэвийн болгохын үр дүн) нэгтгэх нь өгөгдлийн сангийн системийн бодит биелэлээс хамааран удаашралтай байдаг.

Хэвийн болгох, хэвийн болгох хоёрын ялгаа нь юу вэ?

– Хэвийн болон хэвийн бус байдал нь тэс эсрэг хоёр үйл явц юм.

– Нормчилол гэдэг нь илүү том хүснэгтүүдийг жижиг хүснэгтүүдэд хуваах, илүүдэл өгөгдлийг багасгах үйл явц бөгөөд хэвийн бус болгох нь гүйцэтгэлийг оновчтой болгохын тулд илүүдэл өгөгдөл нэмэх үйл явц юм.

– Өгөгдлийн сангийн гажиг үүсэхээс сэргийлэхийн тулд хэвийн болгох ажлыг хийдэг.

– Өгөгдлийн сангийн уншилтыг сайжруулахын тулд хэвийн бус болгох ажлыг ихэвчлэн хийдэг боловч хэвийн бус болгоход ашигладаг нэмэлт хязгаарлалтын улмаас бичих (жишээ нь оруулах, шинэчлэх, устгах үйлдлүүд) удааширч болно. Тиймээс хэвийн бус өгөгдлийн сан нь хэвийн өгөгдлийн сангаас муу бичих гүйцэтгэлийг санал болгодог.

– “Өвдөлт хүртэл хэвийн болгох, ажиллах хүртэл хэвийн бус болгох” гэж зөвлөдөг.

Зөвлөмж болгож буй: