2NF คืออะไร
ขั้นตอนที่สองในการทำให้เป็นมาตรฐานคือ 2NF
ตารางอยู่ใน 2NF เฉพาะในกรณีที่ความสัมพันธ์อยู่ใน 1NF และเป็นไปตามกฎทั้งหมด และแอตทริบิวต์ที่ไม่ใช่คีย์ทั้งหมดจะขึ้นอยู่กับคีย์หลักเท่านั้น
Second Normal Form ขจัดการพึ่งพาคีย์หลักบางส่วน
เรามาดูตัวอย่างกัน −
ตัวอย่าง (ตารางละเมิด 2NF)
<โครงการนักศึกษา>
StudentID | รหัสโครงการ | StudentName | ชื่อโครงการ |
S89 | P09 | โอลิเวีย | ตำแหน่งทางภูมิศาสตร์ |
S76 | P07 | จาค็อบ | การสำรวจคลัสเตอร์ |
S56 | P03 | Ava | อุปกรณ์ IoT |
S92 | P05 | อเล็กซานดรา | การปรับใช้คลาวด์ |
ในตารางด้านบน เรามีการพึ่งพาบางส่วน มาดูกันว่า −
คุณสมบัติที่สำคัญคือ StudentID และ รหัสโครงการ .
ตามที่ระบุไว้ คุณลักษณะที่ไม่ใช่เฉพาะเช่น StudentName และ ชื่อโครงการ ควรจะขึ้นอยู่กับหน้าที่ของรหัสผู้สมัคร จะต้องขึ้นอยู่กับบางส่วน
ชื่อนักเรียน สามารถกำหนดได้โดย StudentID ซึ่งทำให้ความสัมพันธ์ขึ้นอยู่กับบางส่วน
ชื่อโครงการ สามารถกำหนดได้โดย ProjectID ซึ่งทำให้ความสัมพันธ์ขึ้นอยู่กับบางส่วน
ดังนั้น <โครงการนักศึกษา> ความสัมพันธ์ละเมิด 2NF ในการทำให้เป็นมาตรฐานและถือเป็นการออกแบบฐานข้อมูลที่ไม่ดี
ตัวอย่าง (ตารางแปลงเป็น 2NF)
หากต้องการลบการพึ่งพาบางส่วนและการละเมิดใน 2NF ให้แยกตารางด้านบนออก -
StudentID | รหัสโครงการ | ชื่อนักเรียน |
S89 | P09 | โอลิเวีย |
S76 | P07 | จาค็อบ |
S56 | P03 | Ava |
S92 | P05 | อเล็กซานดรา |
ProjectID | ชื่อโครงการ |
P09 | ตำแหน่งทางภูมิศาสตร์ |
P07 | การสำรวจคลัสเตอร์ |
P03 | อุปกรณ์ IoT |
P05 | การปรับใช้คลาวด์ |
ตอนนี้ความสัมพันธ์อยู่ในรูปแบบปกติที่ 2 ของการทำให้ฐานข้อมูลเป็นมาตรฐาน