Back to Home

DataBase System

Lesson1235679101112131415

Lesson 4 : Normal Form



Lesson Plan
Section No.
Section 1
Section 2
Test
PDF file
PPT File


<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

รูปแบบที่เป็นบรรทัดฐานขั้นที่ 1

รูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 (First Normal Form : 1NF) เป็นขั้นตอนแรกสุดในการจัดทำ รีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐาน

1. คุณสมบัติของรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1

รีเลชันใด ๆ จะมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 ก็ต่อเมื่อทุกแอททริบิวต์ในแต่ละ ทูเพิลมีค่าของข้อมูลเพียงค่าเดียว

2. ขั้นตอนการจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1

เพื่อแสดงให้เห็นถึงการจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 ในที่นี้ขอนำตัวอย่าง รีเลชันซึ่งไม่อยู่ในรูปแบบที่เป็นบรรทัดฐานมาประกอบดังนี้

รีเลชันการลงทะเบียนประกอบด้วย แอททริบิวต์รหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย์ ชื่ออาจารย์ที่ปรึกษา รหัสชุดวิชา ชื่อชุดวิชาที่ลงทะเบียน หมู่เรียน และหน่วยกิต

รหัสนักศึกษา

ชื่อนักศึกษา

รหัสอาจารย์

ชื่ออาจารย์ที่ปรึกษา

รหัสชุดวิชา

ชื่อชุดวิชาที่ลงทะเบียน

หมู่เรียน

หน่วยกิต

41010703

สมชาย พลจันทร์

Q1059

สัมพันธ์ เย็นสำราญ

729101

เศรษฐศาสตร์เบื้องต้น

700

2

729111

คณิตศาสตร์และสถิติ

711

3

999211

คอมพิวเตอร์เบื้องต้น

713

3

41010943

สุทิศา พินิจไพฑูรย์

Q1011

ศิริภัทรา เหมือนมาลัย

729111

คณิตศาสตร์และสถิติ

712

3

999211

คอมพิวเตอร์เบื้องต้น

711

3

729104

การจัดการการเงิน

700

2

41012147

ณัฐพร ประคองเก็บ

Q1061

เมธี ปิยะคุณ

729111

คณิตศาสตร์และสถิติ

711

3

999211

คอมพิวเตอร์เบื้องต้น

713

3

41012451

นพดล ทับทิมทอง

Q1035

ศิริชัย ศรีพรหม

729111

คณิตศาสตร์และสถิติ

712

3

999211

คอมพิวเตอร์เบื้องต้น

711

3

41013327

มัทนา พินิจไพฑูรย์

Q1059

สัมพันธ์ เย็นสำราญ

729103

การจัดการการตลาด

700

2

41013780

สมชาย พลจันทร์

Q1011

ศิริภัทรา เหมือนมาลัย

999211

คอมพิวเตอร์เบื้องต้น

712

3

ภาพที่ 4.9 รีเลชันการลงทะเบียน

จากรีเลชันข้างต้นจะพบว่า นักศึกษาบางคนอาจมีชื่อ-สกุลเหมือนกัน หรือมีอาจารย์ที่ปรึกษาคนเดียวกัน หรือลงทะเบียนเรียนชุดวิชาเดียวกันและหมู่เรียนเดียวกันก็ได้ ซึ่งนักศึกษาแต่ละคนสามารถลงทะเบียนเรียนได้มากกว่าหนึ่งชุดวิชา โดยบางชุดวิชาอาจเปิดสอนมากกว่าหนึ่งหมู่เรียนก็ได้

เนื่องจากรีเลชันใดๆ จะมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 ก็ต่อเมื่อค่าของ แอททริบิวต์ต่าง ๆ ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว ดังนั้น ในการจัดทำรีเลชันนี้ให้มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 จึงทำการปรับรีเลชันข้างต้นโดยการใส่รหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย์ และชื่ออาจารย์ที่ปรึกษาลงไปในทุกรหัสชุดวิชาที่นักศึกษาลงทะเบียนเรียน ดังนี้

รหัสนักศึกษา

ชื่อนักศึกษา

รหัสอาจารย์

ชื่ออาจารย์ที่ปรึกษา

รหัสชุดวิชา

ชื่อชุดวิชาที่ลงทะเบียน

หมู่เรียน

หน่วยกิต

41010703

สมชาย พลจันทร์

Q1059

สัมพันธ์ เย็นสำราญ

729101

เศรษฐศาสตร์เบื้องต้น

700

2

41010703

สมชาย พลจันทร์

Q1059

สัมพันธ์ เย็นสำราญ

729111

คณิตศาสตร์และสถิติ

711

3

41010703

สมชาย พลจันทร์

Q1059

สัมพันธ์ เย็นสำราญ

999211

คอมพิวเตอร์เบื้องต้น

713

3

41010943

สุทิศา พินิจไพฑูรย์

Q1011

ศิริภัทรา เหมือนมาลัย

729111

คณิตศาสตร์และสถิติ

712

3

41010943

สุทิศา พินิจไพฑูรย์

Q1011

ศิริภัทรา เหมือนมาลัย

999211

คอมพิวเตอร์เบื้องต้น

711

3

41010943

สุทิศา พินิจไพฑูรย์

Q1011

ศิริภัทรา เหมือนมาลัย

729104

การจัดการการเงิน

700

2

41012147

ณัฐพร ประคองเก็บ

Q1061

เมธี ปิยะคุณ

729111

คณิตศาสตร์และสถิติ

711

3

41012147

ณัฐพร ประคองเก็บ

Q1061

เมธี ปิยะคุณ

999211

คอมพิวเตอร์เบื้องต้น

713

3

41012451

นพดล ทับทิมทอง

Q1035

ศิริชัย ศรีพรหม

729111

คณิตศาสตร์และสถิติ

712

3

41012451

นพดล ทับทิมทอง

Q1035

ศิริชัย ศรีพรหม

999211

คอมพิวเตอร์เบื้องต้น

711

3

41013327

มัทนา พินิจไพฑูรย์

Q1059

สัมพันธ์ เย็นสำราญ

729103

การจัดการการตลาด

700

2

41013780

สมชาย พลจันทร์

Q1011

ศิริภัทรา เหมือนมาลัย

999211

คอมพิวเตอร์เบื้องต้น

712

3

ภาพที่ 4.10 รีเลชันการลงทะเบียนเมื่อมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1

ผลจากการใส่รหัสนักศึกษาและชื่อนักศึกษาลงไปในทุกรหัสชุดวิชาที่นักศึกษาลงทะเบียนเรียน ข้างต้น ทำให้คีย์หลักของรีเลชันการลงทะเบียนประกอบด้วย แอททริบิวต์รหัสนักศึกษาและรหัสชุดวิชา

หากทว่าแม้จะกำหนดให้แอททริบิวต์รหัสนักศึกษาและรหัสชุดวิชาเป็นคีย์หลักของรีเลชันนี้แล้ว แต่ปัญหาความซ้ำซ้อนของข้อมูลในรีเลชันก็ยังปรากฏอยู่ดังนี้คือ

1. การปรับปรุงข้อมูล (update anomaly) ใด ๆ จะต้องทำซ้ำหลายแห่ง ทำให้สิ้นเปลืองเวลา รวมทั้งอาจทำการแก้ไขข้อมูลได้ไม่ครบถ้วนและถูกต้องทุกรายการก็ได้ ตัวอย่างเช่น การแก้ไขชื่อนักศึกษาจาก สมชาย พลจันทร์ เป็น ศุภลักษณ์ พลจันทร์

2. การเพิ่มเติมข้อมูล (insert anomaly) ในรีเลชันข้างต้นไม่สามารถทำได้ ตัวอย่างเช่น หากต้องการเพิ่มข้อมูลนักศึกษาใหม่ 41014325 สุชาดา กรุณา จะไม่สามารถเพิ่มเติมข้อมูลเข้ามาในรีเลชันนี้ได้ เนื่องจากยังไม่ปรากฏข้อมูลการลงทะเบียนของนักศึกษามาก่อน ค่าของรหัสชุดวิชาจึงเป็นค่าว่าง ทำให้ไม่อาจเพิ่มเติมข้อมูลลงในรีเลชันได้ เพราะแอททริบิวต์ที่เป็นส่วนของคีย์หลักจะมีค่าว่างไม่ได้

3. การลบข้อมูล (delete anomaly) ออกจากรีเลชันอาจทำให้ข้อมูลบางส่วนสูญหายไปจากฐาน ข้อมูล ตัวอย่างเช่น หากผู้ที่มีรหัสนักศึกษา 41013327 มัทนา พินิจไพฑูรย์ ลาออก ข้อมูลที่เกี่ยวข้องกับ นักศึกษาจะถูกลบไปทั้งทูเพิล ดังนั้น ข้อมูลเกี่ยวกับชุดวิชา 729103 การจัดการการตลาด ซึ่งมีเพียงแห่งเดียวในฐานข้อมูลก็จะสูญหายไปด้วย ทั้งนี้ ปัญหาลักษณะนี้ของรีเลชันเนื่องมาจากการมีแอททริบิวต์จำนวนมากเกินไป และแอททริบิวต์ที่ยังไม่จำเป็นต้องใช้งานมาผูกติดอยู่กับแอททริบิวต์ที่ต้องการใช้งาน

ดังนั้น เพื่อแก้ไขปัญหาความซ้ำซ้อนของข้อมูลในรีเลชันดังกล่าว ไม่ว่าจะเป็นการปรับปรุง การเพิ่ม หรือการลบข้อมูล จึงจำเป็นต้องดำเนินการจัดทำรีเลชันให้อยู่ในรูปแบบที่เป็นบรรทัดฐาน ขั้นต่อไป

 

 

Last Updated: 12/13/2001 11:22:24 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย