![]() |
|
![]() |
|
![]() |
รูปแบบที่เป็นบรรทัดฐานขั้นที่ 1รูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 (First Normal Form : 1NF) เป็นขั้นตอนแรกสุดในการจัดทำ รีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐาน 1. คุณสมบัติของรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1รีเลชันใด ๆ จะมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 ก็ต่อเมื่อทุกแอททริบิวต์ในแต่ละ ทูเพิลมีค่าของข้อมูลเพียงค่าเดียว 2. ขั้นตอนการจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1เพื่อแสดงให้เห็นถึงการจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 ในที่นี้ขอนำตัวอย่าง รีเลชันซึ่งไม่อยู่ในรูปแบบที่เป็นบรรทัดฐานมาประกอบดังนี้ รีเลชันการลงทะเบียนประกอบด้วย แอททริบิวต์รหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย์ ชื่ออาจารย์ที่ปรึกษา รหัสชุดวิชา ชื่อชุดวิชาที่ลงทะเบียน หมู่เรียน และหน่วยกิต
ภาพที่ 4.9รีเลชันการลงทะเบียนจากรีเลชันข้างต้นจะพบว่า นักศึกษาบางคนอาจมีชื่อ-สกุลเหมือนกัน หรือมีอาจารย์ที่ปรึกษาคนเดียวกัน หรือลงทะเบียนเรียนชุดวิชาเดียวกันและหมู่เรียนเดียวกันก็ได้ ซึ่งนักศึกษาแต่ละคนสามารถลงทะเบียนเรียนได้มากกว่าหนึ่งชุดวิชา โดยบางชุดวิชาอาจเปิดสอนมากกว่าหนึ่งหมู่เรียนก็ได้ เนื่องจากรีเลชันใดๆ จะมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 ก็ต่อเมื่อค่าของ แอททริบิวต์ต่าง ๆ ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว ดังนั้น ในการจัดทำรีเลชันนี้ให้มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 จึงทำการปรับรีเลชันข้างต้นโดยการใส่รหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย์ และชื่ออาจารย์ที่ปรึกษาลงไปในทุกรหัสชุดวิชาที่นักศึกษาลงทะเบียนเรียน ดังนี้
ภาพที่ 4.10รีเลชันการลงทะเบียนเมื่อมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1ผลจากการใส่รหัสนักศึกษาและชื่อนักศึกษาลงไปในทุกรหัสชุดวิชาที่นักศึกษาลงทะเบียนเรียน ข้างต้น ทำให้คีย์หลักของรีเลชันการลงทะเบียนประกอบด้วย แอททริบิวต์รหัสนักศึกษาและรหัสชุดวิชา หากทว่าแม้จะกำหนดให้แอททริบิวต์รหัสนักศึกษาและรหัสชุดวิชาเป็นคีย์หลักของรีเลชันนี้แล้ว แต่ปัญหาความซ้ำซ้อนของข้อมูลในรีเลชันก็ยังปรากฏอยู่ดังนี้คือ 1. การปรับปรุงข้อมูล (update anomaly) ใด ๆ จะต้องทำซ้ำหลายแห่ง ทำให้สิ้นเปลืองเวลา รวมทั้งอาจทำการแก้ไขข้อมูลได้ไม่ครบถ้วนและถูกต้องทุกรายการก็ได้ ตัวอย่างเช่น การแก้ไขชื่อนักศึกษาจาก สมชาย พลจันทร์ เป็น ศุภลักษณ์ พลจันทร์ 2. การเพิ่มเติมข้อมูล (insert anomaly) ในรีเลชันข้างต้นไม่สามารถทำได้ ตัวอย่างเช่น หากต้องการเพิ่มข้อมูลนักศึกษาใหม่ 41014325 สุชาดา กรุณา จะไม่สามารถเพิ่มเติมข้อมูลเข้ามาในรีเลชันนี้ได้ เนื่องจากยังไม่ปรากฏข้อมูลการลงทะเบียนของนักศึกษามาก่อน ค่าของรหัสชุดวิชาจึงเป็นค่าว่าง ทำให้ไม่อาจเพิ่มเติมข้อมูลลงในรีเลชันได้ เพราะแอททริบิวต์ที่เป็นส่วนของคีย์หลักจะมีค่าว่างไม่ได้ 3. การลบข้อมูล (delete anomaly) ออกจากรีเลชันอาจทำให้ข้อมูลบางส่วนสูญหายไปจากฐาน ข้อมูล ตัวอย่างเช่น หากผู้ที่มีรหัสนักศึกษา 41013327 มัทนา พินิจไพฑูรย์ ลาออก ข้อมูลที่เกี่ยวข้องกับ นักศึกษาจะถูกลบไปทั้งทูเพิล ดังนั้น ข้อมูลเกี่ยวกับชุดวิชา 729103 การจัดการการตลาด ซึ่งมีเพียงแห่งเดียวในฐานข้อมูลก็จะสูญหายไปด้วย ทั้งนี้ ปัญหาลักษณะนี้ของรีเลชันเนื่องมาจากการมีแอททริบิวต์จำนวนมากเกินไป และแอททริบิวต์ที่ยังไม่จำเป็นต้องใช้งานมาผูกติดอยู่กับแอททริบิวต์ที่ต้องการใช้งาน ดังนั้น เพื่อแก้ไขปัญหาความซ้ำซ้อนของข้อมูลในรีเลชันดังกล่าว ไม่ว่าจะเป็นการปรับปรุง การเพิ่ม หรือการลบข้อมูล จึงจำเป็นต้องดำเนินการจัดทำรีเลชันให้อยู่ในรูปแบบที่เป็นบรรทัดฐาน ขั้นต่อไป |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|