Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แบบฟอร์มปกติที่สอง (2NF)


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 ของการทำให้ฐานข้อมูลเป็นมาตรฐาน

แบบฟอร์มปกติที่สอง (2NF)