งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

อ. เกษรา วรนาถจินดา c.th นอร์มัลไลเซชัน (Normalization) เอกสารอ้างอิง วิเชียร เปรมชัยสวัสดิ์. (2550). ระบบฐานข้อมูล พิมพ์ครั้งที่ 11. กรุงเทพฯ.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "อ. เกษรา วรนาถจินดา c.th นอร์มัลไลเซชัน (Normalization) เอกสารอ้างอิง วิเชียร เปรมชัยสวัสดิ์. (2550). ระบบฐานข้อมูล พิมพ์ครั้งที่ 11. กรุงเทพฯ."— ใบสำเนางานนำเสนอ:

1 อ. เกษรา วรนาถจินดา ketwd@eau.a c.th นอร์มัลไลเซชัน (Normalization) เอกสารอ้างอิง วิเชียร เปรมชัยสวัสดิ์. (2550). ระบบฐานข้อมูล พิมพ์ครั้งที่ 11. กรุงเทพฯ : สมาคมส่งเสริมเทคโนโลยี ( ไทย - ญี่ปุ่น ). สมจิตร อาจอินทร์. (2543). ระบบฐานข้อมูล พิมพ์ครั้งที่ 5. ขอนแก่น : มหาวิทยาลัยขอนแก่น.

2 หัวข้อที่ศึกษา 1.แนวคิดเกี่ยวกับรูปแบบที่เป็นบรรทัดฐาน (Normal Form) 1.1 ความสัมพันธ์ระหว่างแอตทริบิวต์ในแต่ละรีเลชัน 1.2 แนวคิดเกี่ยวกับ NF : วัตถุประสงค์ในการทำให้เป็นรูปแบบ บรรทัดฐาน 2.การทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน (Normal Form) - 1NF - 2NF - 3NF - BCNF - 4NF - 5NF

3 1. แนวคิดเกี่ยวกับรูปแบบ NF : ความสัมพันธ์ระหว่างแอตทริบิวต์ในแต่ละรีเลชัน แบ่งได้ 3 ลักษณะ 1.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชันดีเพนเดนซี (Functional dependency) 2.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบหลายค่า (multivalued dependency) 3.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join (join dependency) 1. ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน (Functional dependency : FD) = การที่ค่าของแอตทริบิวต์หนึ่งหรือมากกว่าหนึ่งแอตทริบิวต์ขึ้นไปที่ประกอบกัน สามารถระบุค่าของแอตทริบิวต์อื่นๆใน tuple เดียวกันของรีเลชันนั้นได้ FD แสดงด้วยการใช้สัญลักษณ์ลูกศร A B แสดงว่า B เป็นฟังก์ชันดีเพนเดนต์กับ A กล่าวคือ ถ้ารู้ค่า A จะทำให้ทราบค่าของ B ด้วย ทุกค่าของ A ที่มีค่าเท่ากัน จะได้ค่า B เท่ากันเสมอ แสดงแบบแผนภาพความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน หรือ FD ไดอะแกรม ใช้สัญลักษณ์ ดังนี้ A B

4 ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชันดีเพนเดนซี (Functional dependency : FD) รหัส นศ. ชื่อ อ. ที่ปรึกษา เขียน FD ไดอะแกรมได้ ดังนี้ รหัส นศ.ชื่อ อ.ที่ปรึกษา 41010703สัมพันธ์ เย็นสำราญ 41010943ศิริภัทรา เหมือนมาลัย 41012147เมธี ปิยะคุณ 41012451ศิริชัย ศรีพรหม 41013327สัมพันธ์ เย็นสำราญ 41013780ศิริภัทรา เหมือนมาลัย อาจารย์ที่ปรึกษา @ กรณี Determinant และ Dependent มีเพียงหนึ่งแอตทริบิวต์ รหัส นศ.ชื่อ อ. ที่ปรึกษา ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน หรือ รหัส นศ.ชื่อ อ. ที่ปรึกษา รหัส นศ. ชื่อ อ. ที่ปรึกษา รหัส นศ. ชื่อ อ. ที่ปรึกษา เขียน FD ไดอะแกรมได้ ดังนี้

5 ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชันดีเพนเดนซี (Functional dependency : FD) รหัส นศ.ชื่อนามสกุลวัน/เดือน/ปีเกิด 41010703สมชายพลจันทร์18 มิ.ย.2527 41010943สุทิศาพินิจไพฑูรย์23 ก.ย.2526 41012147ณัฐพรประคองเก็บ17 ธ.ค.2528 41012451นภดลทับทิมทอง3 ก.พ.2527 41013327มัทนาพินิจไพฑูรย์23 ก.ย.2526 41013780สมชายพลจันทร์17 ธ.ค.2528 นักศึกษา @ กรณี Determinant มีเพียงหนึ่งแอตทริบิวต์ และDependent มีมากกว่าหนึ่งแอตทริบิวต์ รหัส นศ. รีเลชันอาจารย์ที่ปรึกษา มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน ดังนี้ รหัส นศ. ชื่อ นามสกุล วัน / เดือน / ปีเกิด ชื่อ, นามสกุล, วัน/เดือน/ปีเกิด หรือ เขียน FD ไดอะแกรมได้ ดังนี้ รหัส นศ.ชื่อนามสกุลวัน / เดือน / ปีเกิด

6 ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชันดีเพนเดนซี (Functional dependency : FD) @ กรณี Determinant มีมากกว่าหนึ่งแอตทริบิวต์ และDependent มีเพียงหนึ่งแอตทริบิวต์ รหัสชุดวิชา, หมู่เรียน รีเลชันอาจารย์ที่ปรึกษา มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน ดังนี้ ชื่อ อ. ผู้สอน เขียน FD ไดอะแกรมได้ ดังนี้ รหัสชุดวิชาหมู่เรียนชื่อ อ. ผู้สอน รหัสชุดวิชาหมู่เรียนชื่อ อ. ผู้สอน 729101700ศิริชัย ศรีพรหม 729111711จันทนา พรหมศิริ 729111712สัมพันธ์ เย็นสำราญ 999211711ศิริภัทรา เหมือนมาลัย 999211702ศิริชัย ศรีพรหม 999211713สุพิมพ์ ศรีพันธ์วรสกุล การสอน

7 จำแนก ได้ 3 แบบ คือ 1.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบทั้งหมด (fully functional dependency) 2.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบบางส่วน (partial dependency) 3.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Transitive (transitive dependency) ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน ดีเพนเดนซี (Functional dependency : FD) 1.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบทั้งหมด (fully functional dependency) = การที่แอตทริบิวต์ซึ่งเป็น determinant มีขนาดเล็กที่สุด และสามารถระบุค่าของ แอตทริบิวต์อื่นๆ ที่เป็น dependent ได้อย่างชัดเจน @ กรณี determinant มีมากกว่าหนึ่งแอตทริบิวต์ รหัสชุดวิชา, หมู่เรียนชื่อ อ. ผู้สอน รหัส นศ. ชื่อ, นามสกุล, วัน/เดือน/ปีเกิด @ กรณี determinant มีเพียงหนึ่งแอตทริบิวต์

8 ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชันดีเพนเดนซี (Functional dependency : FD) 2.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบบางส่วน (Partial dependency) = จะเกิดขึ้นได้ เมื่อรีเลชันหนึ่งๆ มี pk เป็น composite key และแอตทริบิวต์บางส่วนของคีย์หลัก สามารถระบุค่าของแอตทริบิวต์อื่นๆใน tuple เดียวกัน ที่ไม่ใช่ pk (non-key attribute) ของรีเลชันได้ นั่นคือ หากทราบค่าใดค่าหนึ่งของแอตทริบิวต์ทีเป็น determinant ก็จะทำให้ทราบค่าของแอตทริบิวต์อื่นๆที่เป็น dependent ได้ รหัส นศ.รหัสชุดวิชาชื่อชุดวิชาหมู่เรียน 41010703729101เศรษฐศาสตร์เบื้องต้น700 41010703729111คณิตศาสตร์และสถิติ711 41010703999211คอมพิวเตอร์เบื้องต้น713 41010943729111คณิตศาสตร์และสถิติ712 41010943999211คอมพิวเตอร์เบื้องต้น711 41010943729104การจัดการการเงิน700 การลงทะเบียน รหัส นศ., รหัสชุดวิชา ชื่อชุดวิชา, หมู่เรียน รหัสชุดวิชา ชื่อชุดวิชา รีเลชันการลงทะเบียน มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน ดังนี้

9 ความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน (Functional dependency : FD) 3.ความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Transitive (transitive dependency) =การที่แอตทริบิวต์อื่นที่ไม่ใช่ pk แต่สามารถระบุค่าของแอตทริบิวต์อื่นๆใน tuple เดียวกันของ รีเลชันได้ (ไม่เป็น pk แต่สามารถระบุค่าอื่นในรีเลชันได้) รหัส นศ. ชื่อนศ., รหัสอ., ชื่ออ.ที่ปรึกษา รหัส นศ.ชื่อ นศ.รหัส อ. ชื่อ อ.ที่ปรึกษา 41010703 สมชายพลจันทร์ Q1059 สัมพันธ์ เย็นสำราญ 41010703 สุทิศาพินิจไพฑูรย์ Q1011 ศิริภัทรา เหมือนมาลัย 41010703 ณัฐพรประคองเก็บ Q1061 เมธี ปิยะคุณ 41010943 นภดลทับทิมทอง Q1035 ศิริชัย ศรีพรหม 41010943 มัทนาพินิจไพฑูรย์ Q1059 สัมพันธ์ เย็นสำราญ 41010943 สมชายพลจันทร์ Q1011 ศิริภัทรา เหมือนมาลัย ที่ปรึกษา รหัสอ. ชื่อ อ.ที่ปรึกษา รีเลชันที่ปรึกษา มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน ดังนี้ เขียน FD ไดอะแกรม ?????

10 ความสัมพันธ์ระหว่างแอตทริบิวต์แบบหลายค่า (multivalued dependency : MVD) = MVD จะเกิดขึ้นได้เมื่อรีเลชันหนึ่งๆ ประกอบด้วย3 แอตทริบิวต์ขึ้นไป และแอตทริบิวต์ที่เป็น determinant สามารถระบุค่าของแอตทริบิวต์อื่นที่เป็น dependent ได้มากกว่าหนึ่งค่า คือ ข้อมูลของแอตทริบิวต์ที่เป็น dependent จะเป็นกลุ่มของข้อมูล ความสัมพันธ์ระหว่างแอตทริบิวต์แบบหลายค่า สามารถใช้สัญลักษณ์ ในการสื่อความหมายดังนี้ A B A C การสอน - การปรึกษา รีเลชันการสอน-การปรึกษา มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชัน ดังนี้ รหัสอาจารย์ รหัสชุดวิชาที่สอน รหัสอาจารย์ รหัสนักศึกษาในการปรึกษา รหัสอาจารย์รหัสชุดวิชาที่สอนรหัส นศ.ในการปรึกษา Q101199921141010943 Q101199921141013780 Q103572910141012451 Q103572910441012451 Q103599921141012451 Q105972911141010703 Q105972911141013327 Q1061729103410121147

11 ความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join (join dependency) = ความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join เป็นกฎเกณฑ์ที่สำคัญประการหนึ่งในการจำแนกรีเลชัน โดยรีเลชันใด ๆ จะมี ความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join เกิดขึ้นได้ก็ต่อเมื่อ รีเลชันนั้น ๆ สามารถจำแนกออกเป็นรีเลชันย่อยได้ และเมื่อ นำรีเลชันย่อยที่จำแนกออกมาเหล่านั้นมารวมกันจะต้องได้รีเลชันกลับไปเหมือนเดิมเสมอ รหัส นศ.ชื่อ นศ.รหัส อ.ชื่อ อ.ที่ปรึกษา 41010703สมชาย พลจันทร์01059สัมพันธ์ เย็นสำราญ 41010943สุทิศา พินิจไพฑูรย์01011ศิริภัทรา เหมือนมาลัย 41012147ณัฐพร ประคองเก็บ01061เมธี ปิยะคุณ 41012451นภดล ทับทิมทอง01035ศิริชัย ศรีพรหม 41013327มัทนา พินิจไพฑูรย์01059สัมพันธ์ เย็นสำราญ 41013780สมชาย พลจันทร์01011ศิริภัทรา เหมือนมาลัย ที่ปรึกษา รหัส นศ.ชื่อ นศ. 41010703สมชาย พลจันทร์ 41010943สุทิศา พินิจไพฑูรย์ 41012147ณัฐพร ประคองเก็บ 41012451นภดล ทับทิมทอง 41013327มัทนา พินิจไพฑูรย์ 41013780สมชาย พลจันทร์ นศ. รหัส อ.ชื่อ อ.ที่ปรึกษา 01011ศิริภัทรา เหมือนมาลัย 01035ศิริชัย ศรีพรหม 01059สัมพันธ์ เย็นสำราญ 01061เมธี ปิยะคุณ ที่ปรึกษา รหัส นศ.รหัส อ. 4101094301011 4101378001011 4101245101035 4101070301059 410332701059 4101214701061 นศ.- อ. รหัส นศ.ชื่อ นศ.รหัส อ.ชื่อ อ.ที่ปรึกษา 41010703สมชาย พลจันทร์01059สัมพันธ์ เย็นสำราญ 41010943สุทิศา พินิจไพฑูรย์01011ศิริภัทรา เหมือนมาลัย 41012147ณัฐพร ประคองเก็บ01061เมธี ปิยะคุณ 41012451นภดล ทับทิมทอง01035ศิริชัย ศรีพรหม 41013327มัทนา พินิจไพฑูรย์01059สัมพันธ์ เย็นสำราญ 41013780สมชาย พลจันทร์01011ศิริภัทรา เหมือนมาลัย รีเลชันที่ เกิดจาก การรวมทั้ง 3 รีเลชัน ด้วยกัน

12 เพื่อลดความซ้ำซ้อนของข้อมูลที่จัดเก็บในแต่ละรีเลชัน ทำให้เกิด ประโยชน์ดังนี้ –ประหยัดเนื้อที่ในการจัดเก็บข้อมูล –ลดปัญหาขาดความถูกต้องของข้อมูล (data integrity) –ลดปัญหาที่เกิดจากการปรับปรุง เพิ่มเติม และลบข้อมูล (update insert and delete anomaly) 1.2 แนวคิดเกี่ยวกับ NF : วัตถุประสงค์ในการทำให้เป็นรูปแบบบรรทัดฐาน

13 2.การทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน (Normal Form) ขั้นตอนที่ 1 เรียกว่า นอร์มัลฟอร์มที่ 1 (First Normal Form : 1NF) ขั้นตอนที่ 2 เรียกว่า นอร์มัลฟอร์มที่ 2 (Second Normal Form : 2NF) ขั้นตอนที่ 3 เรียกว่า นอร์มัลฟอร์มที่ 3 (Third Normal Form : 3NF) ขั้นตอนที่ 4 เรียกว่า นอร์มัลฟอร์มที่ 4 (Fourth Normal Form : 4NF) ขั้นตอนที่ 5 เรียกว่า นอร์มัลฟอร์มที่ 5 (Fifth Normal Form : 5NF) (5NF = Projection-Join Normal Form (PJ/NF) **การทำนอร์มัลฟอร์มในระดับที่สูงกว่า จะมีคุณสมบัติที่ดีกว่าระดับที่ต่ำกว่า เช่น 2NF จะดีกว่า 1NF และ 3NF จะดีกว่า 2NF** ขั้นตอนการทำนอร์มัลฟอร์ม (Normal Form)

14 ขั้นตอนการทำนอร์มัลไลเซชัน (Normalization) เอนติตี้ที่ยังไม่ได้รับการนอร์มัลไลเซชัน ขั้นที่ 1 : กำจัด Repeating Group 1NF ขั้นที่ 2 : กำจัด Partial Dependencies 2NF ขั้นที่ 3 : กำจัด Transitive Dependencies 3NF 4NF 5NF ขั้นที่ 4 : กำจัด Multi-Dependenciesขั้นที่ 4 : Every Determinate a key ขั้นที่ 5 : มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join Boyce-Code NF

15 รายงานค่าใช้จ่ายในแต่ละโครงการ PnoPnameEnoEnameJob_ClassChg_HourHoursTotal 11ID Card103สมชาย ไม้ดีSA50023.811900 101แท่น งามยิ่งDatabase Designer50019.49700 105ชาย ศรีดี*Database Designer50035.717850 106แม็ก ยอดยิ่งProgrammer20012.62520 102อมร ศรีดีSystem Analysis40023.89520 Subtotals51490 22Palm114สุรศักดิ์ ดีงามApplication Designer20024.64920 118กมล ไม้งามGeneral Support10045.34530 104นาย ยิ่งยอด*System Analysis25032.48100 112ธิดา ไม้งามDss Analysis20044.08800 Subtotals26350 33Web service105ชาย ศรีดีDatabase Designer50064.732350 104นาย ยิ่งยอดSystem Analysis25048.412100 113วิว ยิ่งดี*Application Designer25023.65900 111หิน งามดีClerical Support20022.04400 106แม็ก ยอดยิ่งProgrammer20012.82560 Subtotals57310

16 ค่าใช้จ่ายโครงการ PnoPnameEnoEnameJob_ClassChg_HourHours 11ID Card103สมชาย ไม้ดีSA50023.8 101แท่น งามยิ่งDatabase Designer50019.4 105ชาย ศรีดี*Database Designer50035.7 106แม็ก ยอดยิ่งProgrammer20012.6 102อมร ศรีดีSystem Analysis40023.8 22Palm114สุรศักดิ์ ดีงามApplication Designer20024.6 118กมล ไม้งามGeneral Support10045.3 104นาย ยิ่งยอด*System Analysis25032.4 112ธิดา ไม้งามDss Analysis20044.0 33Web service105ชาย ศรีดีDatabase Designer50064.7 104นาย ยิ่งยอดSystem Analysis25048.4 113วิว ยิ่งดี*Application Designer25023.6 111หิน งามดีClerical Support20022.0 106แม็ก ยอดยิ่งProgrammer20012.8 ค่า Nullข้อมูลมีความซ้ำซ้อน ข้อมูลเข้าไม่มีความแน่นอน

17 การแปลงให้อยู่ในรูป 1NF คำนิยาม 1NF 1.มีการกำหนดแอตทริบิวต์ที่เป็นคีย์ 2.ต้องไม่มี Repeating group แต่ละแถวหรือคอลัมน์จะมีค่าได้เพียง 1 ค่าเท่านั้น 3.แอตทริบิวต์ทุกตัวต้องขึ้นอยู่กับคีย์หลัก Repeating group PnoEno Pname Ename Job_Class Chg_Hou r Hour PnoPnameEnoEnameJob_ClassChg_HourHours เขียน FD ไดอะแกรมได้ ดังนี้

18 PnoPnameEnoEnameJob_ClassChg_HourHours 11ID Card103สมชาย ไม้ดีSA50023.8 11ID Card101แท่น งามยิ่งDatabase Designer50019.4 11ID Card105ชาย ศรีดี*Database Designer50035.7 11ID Card106แม็ก ยอดยิ่งProgrammer20012.6 11ID Card102อมร ศรีดีSystem Analysis40023.8 22Palm114สุรศักดิ์ ดีงามApplication Designer20024.6 22Palm118กมล ไม้งามGeneral Support10045.3 22Palm104นาย ยิ่งยอด*System Analysis25032.4 22Palm112ธิดา ไม้งามDss Analysis20044.0 33Web service105ชาย ศรีดีDatabase Designer50064.7 33Web service104นาย ยิ่งยอดSystem Analysis25048.4 33Web service113วิว ยิ่งดี*Application Designer25023.6 33Web service111หิน งามดีClerical Support20022.0 33Web service106แม็ก ยอดยิ่งProgrammer20012.8 ค่าใช้จ่ายโครงการ # ปัญหาที่เกิด???? 1NF

19 การแปลงให้อยู่ในรูป 2NF คำนิยาม 2NF รีเลชันจะเป็น 2NF ถ้า 1.รีเลชันนั้นเป็น 1NF อยู่แล้ว 2.รีเลชันนั้นไม่มี Partial Dependency ขั้นตอนกำจัด Partial Dependency 1. เขียนแต่ละองค์ประกอบของ PK ที่มีทั้งหมดให้อยู่คนละบรรทัด และเขียน PK เดิมไว้ที่บรรทัดสุดท้าย เช่น จากเดิม PK คือ (Pno, Eno) จะเขียนได้ดังนี้ Pno Eno Pno, Eno แต่ละองค์ประกอบจะกลายเป็น PK ของรีเลชันใหม่ สมมุติว่าเราตั้งชื่อรีเลชัน คือ Project, Employee และ Work ตามลำดับ 2. เขียนแต่ละแอตทริบิวต์ที่ขึ้นอยู่กับแต่ละ PK ลงไป ดังนี้ Project (Pno, Pname) Employee (Eno, Ename, Job_Class, Chg_Hour) Work (Pno, Eno, Hours) Pno Eno Pname Ename Job_Class Chg_Hour Hours Pno Eno Project Employee Work

20 การแปลงให้อยู่ในรูป 3NF คำนิยาม 3NF รีเลชันจะเป็น 3NF ถ้า 1.รีเลชันนั้นเป็น 2NF อยู่แล้ว 2.รีเลชันนั้นไม่มี Transitive Dependency Eno Ename Job_Class Chg_Hour Transitive Dependency การกำจัดความผิดปกติของข้อมูล อันเกิดจาก TD สามารถกำจัดได้ด้วยการแยกข้อมูลที่เป็น TD ออกมาสร้างเป็นรีเลชันใหม่ แต่ต้องคงแอตทริบิวต์ที่จะทำหน้าที่ FK ไว้ในรีเลชันเดิม จากตัวอย่าง ข้างต้น เมื่อแปลงเป็น 3NF แล้วจะได้ทั้งหมด 4 รีเลชัน Project (Pno, Pname) Work (Pno, Eno, Hours) Employee (Eno, Ename, Job_Class) Job (Job_Class, Chg_Hour)

21 จงตรวจสอบตารางต่อไปว่าอยู่ในรูปของ 1NF 2 NF และ 3NF แล้วหรือยัง ถ้ายังจง Normalization ให้อยู่ในรูปดังกล่าว P_IDP_NameE_IDE_NameJob_CalssChg_HourHour 11EAU Web Site103 สมชาย ไม้ดี SA50023.8 101 แท่นงามยิ่ง Database Designer45019.4 105 ชาย ดีศรี Database Designer45035.7 106 แม็ก ยอดยิ่ง Programmer40012.6 102 อมร ดีศรี SA50023.8 22BU Registration114 สุรศักดิ์ ดีงาม Application Designer30024.6 118 กมลไม้งาม General Support20045.3 104 นาย ยิ่งยอด SA50032.4 106 แม็ก ยอดยิ่ง Programmer40020 112 ธิดา ไม้งาม Database Designer45044.0 105 ชาย ดีศรี Database Designer45044.0 กิจกรรม

22 การแปลงให้อยู่ในรูป Boyce-Codd Normal Form (BCNF) รีเลชันจะอยู่ใน BCNF ถ้าทุกแอตทริบิวต์ขึ้นอยู่กับแคนดิเดตคีย์ ดังนั้น ถ้าใน 1 รีเลชันมี CK เพียงตัวเดียว 3NF และ BCNF จะเหมือนกัน โอกาสที่จะมีการละเมิดคุณสมบัติของ BCNF นั้นเกิดขึ้นได้น้อย และจะเกิดได้กับรีเลชันที่มี CK มากกว่าหนึ่งเท่านั้น ดังนั้น รีเลชันที่เป็น BCNF จะอยู่ใน 3NF ด้วย แต่รีเลชันที่เป็น 3NF อาจจะไม่เป็น BCNF ก็ได้ จากรูป มี FD ดังนี้ (A + B)C, D CB **อยู่ใน 3NF แต่ไม่เป็น BCNF** AB D C AB C D AC D B ABD C B 3NF แต่ไม่เป็น BCNF 1NF 3NF และเป็น BCNF

23 การแปลงให้อยู่ในรูป Boyce-Codd Normal Form (BCNF) ---> การแยกตารางให้อยู่ในระดับ BCNF รหัสนศ.รหัสอ.รหัสวิชาเกรด 12525201A 12520301C 13520280B 14425270C 14420301B เงื่อนไข - นศ. 1 คน เรียนได้หลายวิชา - อาจารย์ 1 ท่าน สอนได้หลายวิชา แต่ใน 1 วิชา มีอาจารย์สอนได้ 1 ท่าน เท่านั้น รหัสนศ.รหัสอ. เกรด รหัสวิชา 3NF แต่ไม่เป็น BCNF รหัสนศ.รหัสวิชา เกรด รหัสอ. 1NF รหัสนศ.รหัสวิชาเกรด รหัสวิชา รหัสอ. 3NF และเป็น BCNF

24 การแปลงให้อยู่ในรูป 4NF คำนิยาม 4NF รีเลชันจะเป็น 4NF ถ้า 1.รีเลชันนั้นเป็น 3NF อยู่แล้ว 2.รีเลชันนั้นไม่มี Multivalued Dependency วิธีการแปลงรีเลชันที่อยู่ใน 3NF ให้ไปอยู่ใน 4NF ได้ดังนี้ 1.ตรวจหามัลติแวลูดีเพนเดนซี 2.สร้างเอนติตี้ใหม่ เพื่อใช้ในการกำจัดมัลติแวลูดีเพนเดนซี รหัสผู้แต่งรหัสหนังสือหัวเรื่องชื่อหนังสือชื่อผู้แต่ง A001B001Comp ScNetworksอาริต A001B001MathsNetworksอาริต A002B001Comp ScNetworksวรพจน์ A002B001MathsNetworksวรพจน์ A003B002MathsCalculusโชติพัฒน์ รหัสผู้แต่ง รหัสหนังสือ หัวเรื่อง ชื่อผู้แต่ง ชื่อหนังสือ ผู้แต่ง (รหัสผู้แต่ง, ชื่อผู้แต่ง) หนังสือ (รหัสหนังสือ, ชื่อหนัสือ) ผู้แต่ง-หนังสือ-หัวเรื่อง (รหัสผู้แต่ง, รหัสหนังสือ, หัวเรื่อง)

25 การแปลงให้อยู่ในรูป 4NF รหัสผู้แต่งรหัสหนังสือหัวเรื่อง A001B001Comp Sc A001B001Maths A002B001Comp Sc A002B001Maths A003B002Maths รหัสหนังสือ หัวเรื่อง ชื่อผู้แต่ง ผู้แต่ง (รหัสผู้แต่ง, ชื่อผู้แต่ง) หนังสือ (รหัสหนังสือ, ชื่อหนังสือ) ผู้แต่ง-หนังสือ (รหัสผู้แต่ง, รหัสหนังสือ) หนังสือ-หัวเรื่อง (รหัสผู้แต่ง, หัวเรื่อง) ผู้แต่ง - หนังสือ - หัวเรื่อง รหัสหนังสือ สามารถบอกได้หลายค่า มัลติแวลูดีเพนเดนซี เมื่อกำจัดมัลติแวลูดีเพนเดนซี และแปลงเป็นรีเลชัน จะได้ 4 รีเลชัน

26 การแปลงให้อยู่ในรูป 5NF (Projection-Join Normal Form : PJ/NF) คำนิยาม 5NF รีเลชัน หรือ PJ/NF ก็ต่อเมื่อ 1.รีเลชันนั้นๆมีความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join และรีเลชันย่อยๆที่จำแนกออกมา ต้องมีคีย์คู่แข่ง (CK) ของรีเลชันเดิมอยู่ด้วยเสมอ หรือ 2 รีเลชันนั้นๆ ไม่มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join ขื้นตอนการจัดทำรีเลชันให้เป็น 5NF ชื่อ นศ.ชื่อ อ.ที่ปรึกษาวิชาเอก สมชาย พลจันทร์สัมพันธ์ เย็นสำราญสถิติ สุทิศา พินิจไพฑูรย์ศิริภัทรา เหมือนมาลัยคณิตศาสตร์ ณัฐพร ประคองเก็บเมธี ปิยะคุณสถิติ นภดล ทับทิมทองศิริชัย ศรีพรหมคณิตศาสตร์ มัทนา พินิจไพฑูรย์สัมพันธ์ เย็นสำราญสถิติ สมชาย พลจันทร์ศิริภัทรา เหมือนมาลัยคณิตศาสตร์

27 การแปลงให้อยู่ในรูป 5NF (Projection-Join Normal Form : PJ/NF) ชื่อ นศ.ชื่อ อ.ที่ปรึกษาวิชาเอก สมชาย พลจันทร์สัมพันธ์ เย็นสำราญสถิติ สุทิศา พินิจไพฑูรย์ศิริภัทรา เหมือนมาลัยคณิตศาสตร์ ณัฐพร ประคองเก็บเมธี ปิยะคุณสถิติ นภดล ทับทิมทองศิริชัย ศรีพรหมคณิตศาสตร์ มัทนา พินิจไพฑูรย์สัมพันธ์ เย็นสำราญสถิติ สมชาย พลจันทร์ศิริภัทรา เหมือนมาลัยคณิตศาสตร์ ชื่อ นศ.ชื่อ อ.ที่ปรึกษาวิชาเอก สมชาย พลจันทร์สัมพันธ์ เย็นสำราญสถิติ สุทิศา พินิจไพฑูรย์ศิริภัทรา เหมือนมาลัยคณิตศาสตร์ ณัฐพร ประคองเก็บเมธี ปิยะคุณสถิติ นภดล ทับทิมทองศิริชัย ศรีพรหมคณิตศาสตร์ มัทนา พินิจไพฑูรย์สัมพันธ์ เย็นสำราญสถิติ สมชาย พลจันทร์ศิริภัทรา เหมือนมาลัยคณิตศาสตร์ ชื่อ นศ.ชื่อ อ.ที่ปรึกษา สมชาย พลจันทร์สัมพันธ์ เย็นสำราญ สุทิศา พินิจไพฑูรย์ศิริภัทรา เหมือนมาลัย ณัฐพร ประคองเก็บเมธี ปิยะคุณ นภดล ทับทิมทองศิริชัย ศรีพรหม มัทนา พินิจไพฑูรย์สัมพันธ์ เย็นสำราญ สมชาย พลจันทร์ศิริภัทรา เหมือนมาลัย ชื่อ อ.ที่ปรึกษาวิชาเอก สัมพันธ์ เย็นสำราญสถิติ ศิริภัทรา เหมือนมาลัยคณิตศาสตร์ เมธี ปิยะคุณสถิติ ศิริชัย ศรีพรหมคณิตศาสตร์ ชื่อ นศ.วิชาเอก สมชาย พลจันทร์สถิติ สุทิศา พินิจไพฑูรย์คณิตศาสตร์ ณัฐพร ประคองเก็บสถิติ นภดล ทับทิมทองคณิตศาสตร์ มัทนา พินิจไพฑูรย์สถิติ สมชาย พลจันทร์คณิตศาสตร์ 1 23 1 + 2 + 3 นักศึกษา

28 การแปลงให้อยู่ในรูป 5NF (Projection-Join Normal Form : PJ/NF) รหัสชุดวิชาหมู่เรียนชื่ออาจารย์ผู้สอน 729101700ศิริชัย ศรีพรหม 729111711จันทนา พรหมศิริ 729111712ศิริชัย ศรีพรหม 729211700ศิริภัทรา เหมือนมาลัย 729211700ศิริชัย ศรีพรหม การสอน รหัสชุดวิชาหมู่เรียนชื่ออาจารย์ผู้สอน 729101700ศิริชัย ศรีพรหม 729101700ศิริภัทรา เหมือนมาลัย 729111711จันทนา พรหมศิริ 729111712ศิริชัย ศรีพรหม 729211700ศิริชัย ศรีพรหม 729211700ศิริภัทรา เหมือนมาลัย รหัสชุดวิชาหมู่เรียน 729101700 729111711 729111712 729211700 รีเลชัน 1 หมู่เรียนชื่ออาจารย์ผู้สอน 700ศิริชัย ศรีพรหม 711จันทนา พรหมศิริ 712ศิริชัย ศรีพรหม 700ศิริภัทรา เหมือนมาลัย รีเลชัน 2 รหัสชุดวิชาชื่ออาจารย์ผู้สอน 729101ศิริชัย ศรีพรหม 729111จันทนา พรหมศิริ 729111ศิริชัย ศรีพรหม 729211ศิริภัทรา เหมือนมาลัย 729211ศิริชัย ศรีพรหม รีเลชัน 3 รีเลชันที่เกิดจากการรวมรีเลชัน 1, 2 และ 3 Spurious Tuple

29 สรุปการทำ Normalization คุณสมบัติของ 1NF 1.มีการกำหนดแอตทริบิวต์ที่เป็นคีย์(pk) 2.ต้องไม่มี repeating group แต่ละแถวหรือคอลัมน์จะมีค่าได้เพียง 1 ค่าเท่านั้น 3.แอตทริบิวต์ทุกตัวต้องขึ้นอยู่กับคีย์หลัก (pk) คุณสมบัติของ 2NF 1.รีเลชันนั้นเป็น 1NF อยู่แล้ว 2.รีเลชันนั้นไม่มี partial dependency ขั้นตอนกำจัด Partial Dependency 1.เขียนแต่ละองค์ประกอบของ PK ที่มีทั้งหมดให้อยู่คนละบรรทัด และเขียน PK เดิมไว้ที่บรรทัด สุดท้าย และแต่ละองค์ประกอบจะกลายเป็น PK ของรีเลชันใหม่ รวมถึงการตั้งชื่อรีเลชันใหม่ด้วย 2.เขียนแต่ละแอตทริบิวต์ที่ขึ้นอยู่กับแต่ละ PK ลงไป คุณสมบัติของ 3NF 1.รีเลชันนั้นต้องเป็น 2NF อยู่แล้ว 2.รีเลชันนั้น ไม่มี Transitive dependency **Transitive=การที่มี FD ระหว่างแอตทริบิวต์ที่ไม่ได้เป็นส่วนของคีย์ใดๆ** The Boyce-Codd Normal Form (BCNF) รีเลชันจะอยู่ใน BCNF ถ้าทุกแอตทริบิวต์ขึ้นอยู่กับแคนดิเดตคีย์ ดังนั้น ถ้าใน 1 รีเลชันมีแคนดิเดตคีย์ เพียงตัวเดียว 3NF และ BCNF จะเหมือนกัน โอกาสที่จะมีการละเมิดคุณสมบัติของ BCNF นั้นเกิดได้น้อย และจะเกิดได้กับรีเลชันที่มีแคนดิดตคีย์มากกว่าหนึ่งเท่านั้น คุณสมบัติของ 4NF 1.รีเลชันนั้ต้องเป็น 4NF อยู่แล้ว 2. รีเลชันนั้นไม่มีมัลติแวลูดีเพนเดนซี คุณสมบัติของ 5NF 1.รีเลชันนั้นต้องมีความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join โดยรีเลชันย่อยๆที่จำแนกออกมา ต้องมี CK ของรีเลชันเดิมอยู่ด้วยเสมอ *เมื่อทำการจำแนกรีเลชันออกเป็นรีเลชันย่อยแล้ว หากนำรีเลชันย่อยที่ถูกจำแนกมารวมกันจะต้องได้รีเลชันกลับไป เหมือนเดิมเสมอ นั่นคือ จะต้องไม่มีข้อมูล tuple ใดเกินมาจากรีเลชันเดิม (no spurious tuple) หรือไม่มีข้อมูล tuple ใดสูญหายไปจากรีเลชันเดิม หากพบว่า มีข้อมูลที่แตกต่างไปจากรีเลชันเดิมก็ไม่ควรจำแนกรีเลชันนั้นออกมา โดยให้ถือ ว่า รีเลชันเดิมนั้นมีคุณสมบัติอยู่ในรูปแบบที่เป็น 5NF แล้ว*

30 ข้อควรคำนึงในการทำให้เป็นรูปแบบที่ เป็นบรรทัดฐาน 1. การจำแนกรีเลชันย่อยมากเกินไป (Overnormalization) หมายถึง การจำแนกรี เลชันออกเป็นรีเลชันย่อยมากเกินกว่า ความ จำเป็น 2. การ Denormalization หมายถึง การที่รีเล ชันใด ๆ ถูกออกแบบให้มีคุณสมบัติอยู่ใน รูปแบบที่เป็นบรรทัดฐานขั้นต่ำกว่ากฎเกณฑ์ที่ กำหนดไว้ ตัวอย่างเช่น รีเลชันนั้นควรถูก ออกแบบให้มีคุณสมบัติอยู่ใน รูปแบบที่เป็น บรรทัดฐานขั้นที่ 3 แต่ผู้ออกแบบฐานข้อมูล กำหนดให้รีเลชันนั้นมีคุณสมบัติอยู่ในรูปแบบที่ เป็นบรรทัดฐานขั้นที่ 2 เท่านั้น

31 รหัสนศ.ชื่อนักศึกษารหัสอ.ชื่ออาจารย์ที่ปรึกษารหัสชุดวิชาชื่อชุดวิชาที่ลงทะเบียนหมู่เรียนหน่วยกิต 41010703สมชาย พลจันทร์Q1059สัมพันธ์ เย็นสำราญ729101เศรษฐศาสตร์เบื้องต้น7002 729111คณิตศาสตร์และสถิติ7113 999211คอมพิวเตอร์เบื้องต้น7133 41010943สุทิศา พินิจไพฑูรย์Q1011ศิริภัทรา เหมือนมาลัย729111คณิตศาสตร์และสถิติ7123 999211คอมพิวเตอร์เบื้องต้น7113 729104การจัดการการเงิน7002 41012147ณัฐพร ประคองเก็บQ1061เมธี ปิยะคุณ729111คณิตศาสตร์และสถิติ7113 999211คอมพิวเตอร์เบื้องต้น7133 41012451นพดล ทับทิมทองQ1035ศิริชัย ศรีพรหม729111คณิตศาสตร์และสถิติ7123 999211คอมพิวเตอร์เบื้องต้น7113 41013327มัทนา พินิจไพฑูรย์Q1059สัมพันธ์ เย็นสำราญ729103การจัดการการตลาด7002 41013780สมชาย พลจันทร์Q1011ศิริภัทรา เหมือนมาลัย999211คอมพิวเตอร์เบื้องต้น7123 กิจกรรม 1-5NF #จากรีเลชันการลงทะเบียนต่อไปนี้ จงทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน (Normal Form) ตั้งแต่ ขั้นที่ 1 ถึงขั้นที่ 5 โดยอธิบายการทำในแต่ละขั้นตอนมาโดยละเอียดพร้อมวาด FD ไดอะแกรม ประกอบ#

32 1. 1NF = ทุกแอตทริบิวต์ในแต่ละtupleมีค่าของข้อมูลเพียงค่าเดียว 2. 2NF = รีเลชันนั้นต้องมีคุณสมบัติอยู่ใน 1NF แล้ว และทุกแอตทริบิวต์ที่ ไม่ใช่คีย์หลักต้องมีความสัมพันธ์ระหว่างแอตทริบิวต์แบบฟังก์ชันกับคีย์หลัก หรือแอตทริบิวต์ที่ประกอบกันเป็นคีย์หลัก ซึ่งความสัมพันธ์ดังกล่าวเป็น ความสัมพันธ์ระหว่างแอตทริบิวต์แบบทั้งหมด หรืออีกนัยหนึ่ง รีเลชันนั้นต้อง ไม่มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบบางส่วนเกิดขึ้น 3. 3NF = รีเลชันนั้นต้องมีคุณสมบัติอยู่ใน 2NF แล้ว และทุกแอตทริบิวต์ที่ ไม่ใช่คีย์หลักไม่มีคุณสมบัติในการกำหนดค่าของแอตทริบิวต์อื่นที่ไม่ใช่คีย์ หลัก หรืออีกนัยหนึ่ง รีเลชันนั้นต้องไม่มีความสัมพันธ์ระหว่างแอตทริบิวต์ แบบ Transitive เกิดขึ้น 4. Boyce-CodeNF = ทุกแอตทริบิวต์ที่เป็นตัวระบุค่า หรือ Determinant ในรีเลชันนั้นต้องเป็นคีย์คู่แข่ง และไม่มีแอตทริบิวต์ใดในรีเลชันที่สามารถ ระบุค่าของแอตทริบิวต์ที่เป็นคีย์หลักหรือส่วนใดส่วนหนึ่งของแอตทริบิวต์ที่ ประกอบกันเป็นคีย์หลักได้ 5. 4NF = รีเลชันนั้นต้องมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของ บอยส์และคอดด์แล้ว และไม่มีความสัมพันธ์ระหว่างแอตทริบิวต์แบบหลายค่า 6. 5NF = รีเลชันนั้นต้องมีความสัมพันธ์ระหว่างแอตทริบิวต์แบบ Join โดย รีเลชันย่อย ๆ ที่จำแนกออกมาต้องมีคีย์คู่แข่งของรีเลชันเดิมอยู่ด้วยเสมอ แนวคิดของการ Normalization ทั้ง 5 ระดับ


ดาวน์โหลด ppt อ. เกษรา วรนาถจินดา c.th นอร์มัลไลเซชัน (Normalization) เอกสารอ้างอิง วิเชียร เปรมชัยสวัสดิ์. (2550). ระบบฐานข้อมูล พิมพ์ครั้งที่ 11. กรุงเทพฯ.

งานนำเสนอที่คล้ายกัน


Ads by Google