Таны өгөгдлийн санг өөрчлөх: Хоёрдогч хэвийн маягт руу шилжих (2NF)

Хоёр дахь хэвийн хэлбэрээр мэдээллийн санг байрлуулах

Өнгөрсөн сард бид мэдээллийн сангийн хүснэгтийг хэвийн болгох хэд хэдэн асуудлыг авч үзсэн. Нэгдүгээрт, бид мэдээллийн санг хэвийн болгох үндсэн зарчмуудыг хэлэлцсэн. Өнгөрсөн удаа бид эхний хэвийн маягт (1NF) тавигдсан үндсэн шаардлагуудыг судалсан. Одоо аяллаа үргэлжлүүлье, хоёр дахь хэвийн маягтыг (2NF) хамарна.

2NF-ийн ерөнхий шаардлагыг эргэн санах:

Эдгээр дүрмүүдийг энгийн мэдэгдэлд хураангуйлж болно: 2NF нь хүснэгтэд байгаа давхардсан өгөгдлийн хэмжээг багасгах оролдлого хийж, шинэ хүснэгтэд байрлуулж тэдгээр хүснэгтүүдийн хоорондын холбоог бий болгох оролдлого.

Жишээг авч үзье. Хэрэглэгчийн мэдээллийг мэдээллийн санд хадгалж буй онлайн дэлгүүр гэж төсөөлье. Тэдгээрийг дараах элементүүдээр хэрэглэгч гэж нэрлэдэг нэг хүснэгттэй байж болно:

Энэ хүснэгтийн товч тоймыг бага хэмжээний дата мэдээллээр харуулав. Бид "Sea Cliff, NY 11579", "Miami Miami FL 33157" гэсэн оруулгуудыг хоёр удаа тус тус хадгалж байна. Одоо, энэ нь бидний энгийн жишээнд маш их нэмэр болсон мэт санагдаж болох юм, гэхдээ бидний ширээн дээр хэдэн мянган эгнээтэй мөртлөө үр ашиггүй зайг төсөөлөөд үзээрэй. Түүнчлэн, Sea Cliff-ийн ZIP код нь өөрчлөгдөж байгаа бол бид энэ өөрчлөлтийг мэдээллийн санд байршуулах хэрэгтэй.

2NF-тэй нийцтэй мэдээллийн баазын бүтцэд энэхүү тоон мэдээлэл нь тусдаа хүснэгтэнд хадгалагдаж хадгалагддаг. Манай шинэ хүснэгт (үүнийг ZIP гэж нэрлээд үзье) доорх талбаруудтай байж болно:

Хэрвээ бид супер хэмнэлттэй байхыг хүсч байвал бид энэ хүснэгтийг бөглөж болно. Post office нь бүх хүчин төгөлдөр ZIP код, хотын / улсын харилцааны лавлахыг хангадаг. Мэдээжийн хэрэг та энэ төрлийн мэдээллийн санг ашиглаж байсан нөхцөл байдал үүссэн. Захиалга авч байсан хэн нэгэн таны ZIP кодыг эхлээд асууж, таныг дуудаж байсан хот, улсыг тань мэдэж болно. Энэ төрлийн зохицуулалт нь операторын алдааг багасгаж, үр ашгийг нэмэгдүүлдэг.

Одоо бид Хэрэглэгчийн хүснэгтийн давхардсан өгөгдлийг хассан тул хоёрдахь хэвийн маягтын эхний дүрэмийг хангасан. Хоёр хүснэгтийг холбохын тулд гадаад түлхүүр ашиглах хэрэгтэй хэвээр байна. Бид ZIP кодыг ( ZIP файлаас үндсэн түлхүүрийг) ашиглана. Манай шинэ Хэрэглэгчийн хүснэгтийг энд үзүүлэв:

Өгөгдлийн санд хадгалагдаж буй илүүдэл мэдээллийн хэмжээ багасч, манай бүтэц хоёр дахь хэвийн хэлбэрээр байна!

Хэрэв та мэдээллийн баазыг хэвийн болгохыг хүсч байвал энэ цувралаас бусад зүйлсийг үзээрэй.