![]() |
|
![]() |
|
![]() |
ลักษณะของรีเลชันที่ 1NF นั้น ค่าของข้อมูลของแต่ละแอตทริบิวต์ในหนึ่งทูเปิลต้องมีค่าเดียวจากโดเมนของแอตทริบิวต์นั้น และโดเมนของแอตทริบิวต์นั้นไม่สามารถแบ่งย่อยได้อีก โดยโมเดลความสัมพันธ์เชิงกลุ่มนี้เป็นส่วนขยายของโมเดลเชิงสัมพันธ์ ซึ่งโดเมนอาจจะเป็นได้ทั้ง atomic หรือเป็นรีเลชันก็ได้ ดังนั้นภายในทูเปิลหนึ่ง ค่าข้อมูลของแอตทริบิวต์หนึ่งอาจมีได้หลายค่า และอาจะเป็นรีเลชันซ้อนอยู่ในทูเปิลได้ พิจารณา รีเลชัน R(a, b) มีค่าข้อมูลของ b เป็น รีเลชัน(x, y, z) ดังรูป ที่ 1
รูปที่ 1 แสดงลักษณะของความสัมพันธ์เชิงกลุ่ม ยกตัวอย่างความสัมพันธ์เชิงกลุ่มของข้อมูลพนักงาน โดยมีการเก็บข้อมูลดังนี้
ถ้าเรากำหนดให้รีเลชันเพียงรีเลชันเดียวเก็บข้อมูลดังกล่าวข้างต้น จะพบว่าข้อมูล children และ training จะมีลักษณะของโดเมนที่ nonatomic ดังรูปที่ 2 และรูปที่ 3 แสดงรีเลชัน employee ที่มีลักษณะของโดเมนที่ atomic ซึ่งมีคุณสมบัติ 1NF
รูปที่ 2 แสดงรีเลชัน Employee ที่ไม่มีคุณสมบัติ 1NF
รูปที่ 3 แสดงรีเลชัน Employee ที่มีคุณสมบัติ 1NF จะพบว่ารีเลชัน employee ในรูปที่ 3 มีลักษณะของฟังก์ชันการขึ้นต่อกันเชิงกลุ่ม(Multivalued dependencies) ดังนี้ empno empno empno ดังนั้นเราสามารถแยกรีเลชันให้อยู่ใน 4NF ดังนี้ (empno, name) (empno, childname) (empno, tno, tdate) รูปที่ 4 แสดงรีเลชันที่ได้จากการแตกรีเลชัน employee
รูปที่ 4 แสดงรีเลชันที่ 4 NF รีเลชันที่มีคุณสมบัติ 1 NF ในรูปที่ 3 สามารถแสดงให้เราเห็นถึงลักษณะของข้อมูลที่มีการจัดเก็บในฐานข้อมูล แต่ ถ้าพิจารณารีเลชันในรูปที่ 2 จะพบว่าสามารถที่จะทำความเข้าใจในข้อมูลได้ง่ายกว่า เนื่องจากการสืบค้นข้อมูลโดยทั่วไป จะไม่ได้ สนใจว่าข้อมูลที่ต้องจะต้องอยู่ในรูปของ 1 NF(ค่าข้อมูลเพียงค่าเดียว) แต่จะสนใจกับข้อมูลเป็นกลุ่มมากกว่า ซึ่งจะพบว่ารีเลชันที่มีคุณสมบัติ 4 NF ในรูปที่ 4 จะมีผลทำให้การสืบค้นข้อมูลมีความซับซ้อนมากกว่าเนื่องจากต้องมีการ join ระหว่างรีเลชันมากกว่า |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|