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

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

Normalization. ความหมายของการนอร์มอลไลเซซัน Normalization เป็นกระบวนการนำโครงร่าง ของรีเลชันมาแตกเป็นรีเลชันต่างๆ ให้อยู่ใน รูปแบบที่เรียกว่า Normal form.

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


งานนำเสนอเรื่อง: "Normalization. ความหมายของการนอร์มอลไลเซซัน Normalization เป็นกระบวนการนำโครงร่าง ของรีเลชันมาแตกเป็นรีเลชันต่างๆ ให้อยู่ใน รูปแบบที่เรียกว่า Normal form."— ใบสำเนางานนำเสนอ:

1 Normalization

2 ความหมายของการนอร์มอลไลเซซัน Normalization เป็นกระบวนการนำโครงร่าง ของรีเลชันมาแตกเป็นรีเลชันต่างๆ ให้อยู่ใน รูปแบบที่เรียกว่า Normal form เป้าหมาย เพื่อให้รีเลชันที่ได้รับการออกแบบอยู่ใน รูปแบบบรรทัดฐานระดับที่เหมาะสม E.F. Codd แบ่งรูปแบบ Normal Form ออกเป็น 3 ระดับด้วยกันคือ Normal Form ระดับที่ 1 (1NF) Normal Form ระดับที่ 2 (2NF) Normal Form ระดับที่ 3 (3NF)

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

4 ความผิดพลาดจากการปรับปรุง ข้อมูล การผิดพลาดจากการเพิ่มข้อมูล การผิดพลาดจากการลบข้อมูล การผิดพลาดจากเปลี่ยนแปลงข้อมูล

5 ตาราง Staff Staff_idNameSurnameBranch_idAddressTel. sl22ChuChaiSuksrib5ChaingMai sg37SiriratManeeJunb1Bangkok sa23SomsakSeeTangb1Bangkok sg09PiyaThanasilpb3Phitsanulok sg41LaddaWongdesb4Tak

6 Normalize ระดับที่ 1 ไม่มีคอลัมน์ใด มีค่า มากกว่า 1 ค่า ( ไม่มี repeating Group) แต่ละตารางต้องมี Primary key

7 ตัวอย่างข้อมูล ตาราง Student และ ตาราง Subject

8 Student Subject

9 ทำให้ตารางทั้ง 3 เป็น NF1 แยกคอลัมน์ที่มีมากว่า 1 ค่าเป็นแถวใหม่ เพิ่มข้อมูลที่เหมาะสมเข้าไป กำหนด Primary Key

10 ได้ตาราง NF 1 ดังต่อไปนี้ ตาราง Student

11 ตาราง Subject

12 ตาราง student_subject

13 Functional Dependency ฟังก์ชั่นการขึ้นต่อกัน คือ ความสัมพันธ์ ระหว่าง Attribute หนึ่ง หรือ กลุ่มของ Attribute ที่ประกอบกันแล้ว สามารถระบุค่า ของ Attribute อื่นๆ ใน tuple เดียวกันของ รีเลชั่นนั้นได้ สมมติว่า A กับ B คือ Attribute ของรีเลชั่น R แล้ว B เป็นฟังก์ชั่นที่ขึ้นอยู่กับ A จะเขียน ในรูปแบบสัญลักษณ์ได้ว่า A  B โดยเรียก A ว่า Determinant และ เรียก B ว่า Dependent

14 ตัวอย่าง จากตาราง staff ถ้าถามว่า พนักงานคนใดมี รหัสพนักง งาน sl22 เราสามารถตอบได้ทันทีว่า คือ พนักงานชื่อ Chuchai Suksri ดังนั้น แสดงว่า ชื่อพนักงาน ขึ้นอยู่ กับ รหัสพนักงาน Staff_idNameSurnameBranch_idAddressTel. sl22ChuChaiSuksrib5ChaingMai

15 Functional Dependency (FD) เป็นวิธีที่ใช้ ตรวจสอบว่า Attribute ที่ไม่ใช่ Primary key นั้นมี ความเกี่ยวข้องกับ Primary key หรือ ไม่เพื่อใช้ พิจารณา ว่าควรจะแยก Attribute ดังกล่าวควรจะ แยกเป็นคอลัมน์ในตารางใหม่ หรือ ไม่ ในรีเลชั่นหนึ่ง Attribute ทุกตัวต้องขึ้นอยู่กับ Primary key โดยถ้า Primary Key เป็นกลุ่ม Attribute ต้องขึ้นอยู่กับ Attribute ทุกตัวที่รวมเป็น Primary Key ถ้าขึ้นอยู่กับ Primary key เพียงบางส่วนจะเรียกว่า Partial Dependency ถ้าขึ้นอยู่กับ Primary key ทั้งหมดเรียกว่า Full Functional Dependency ถ้า Primary key เป็น Attribute เดียวจะเป็น Full Functional Dependency

16 ตัวอย่าง รูปแบบ NF2 ตาราง Student จะเห็นได้ว่า Name,BirthDay,Cladd,Advisor ไม่ได้ขึ้นอยู่กับ Attribute ที่เป็น Primary key ทั้งหมด แต่ ขึ้นอยู่กับ Student_id เพียง Attribute เดียว ไม่ได้ขึ้นอยู่กับ Club และ Hobby ดังนั้นจะเขียน FD ได้ดังนี้ Student_id  Name,Birthday,Class,Advisor Student_id  club,hobby

17 ดังนั้น จึงสามารถแยกตารางตาม FD ได้ดังนี้

18 ตัวอย่าง รูปแบบ NF2 ตาราง Subject จะเห็นได้ว่า ตาราง Subject จะมีลักษณะ คล้ายกับ ตาราง Student ดังนั้นจะเขียน FD ได้ดังนี้ Subject_id  Name, Credit Subject_id  Teacher,Textbook

19 ดังนั้น จึงสามารถแยกตารางตาม FD ได้ดังนี้

20 สำหรับตาราง Student_subject เขียน FD ได้ดังนี้ Student_id,Subject_id  Grade,Score,Term จาก FD จะเห็นได้ว่า เมื่อต้องการจะทราบค่า ของ Attribute ที่ไม่ใช้ Key ซึ่งก็คือ Grade,Score,Term ต้องทราบค่าของ Primary key คือ Student_id,Subject_id ก่อน ไม่ได้ขึ้นอยู่กับตัวใดตัวหนึ่ง ดังนั้นจึงไม่เป็ฯ Partial Dependency จึงไม่จำเป็นต้องแยก ตาราง

21 Normalize ระดับที่ 3 เป็น 2NF Attribute ที่ใช่ Key ไม่ขึ้นต่อกันเอง ( ไม่เป็น Transitive Dependency) เป็น FD ที่ไม่เกี่ยวข้องกับ Primary key

22 จากตาราง Student จะมี FD ที่ไม่เกี่ยวข้อง กับ Primary key คือ Class  Teacher จึงต้องแยกตารางออกเป็น สองตารางดังนี้

23

24 Boyce/Codd Normal Form (BCNF) Attribute ทุกตัวขึ้นอยู่กับ Candidate Key Determinant ทุกตัวต้องเป็น Candidate Key ตัวอย่าง จากตาราง Teacher_Textbook ได้ FD ดังต่อไปนี้ Textbook  Subject_id Teacher,Subject_id  Textbook

25 Cadidate Key ของตารางนี้คือ (teacher,textbook) กับ (teacher,subject_id) Determinant คือ textbook กับ teacher,subject_id จะเห็นว่า textbook ที่เป็น Determinant ของ FD ไม่ได้เป็น Cadidate Key ดังนั้น Relation นี้จึงไม่เป็น BCNF

26 ดังนั้น ต้องแยกตารางดังกล่าวออกเป็นสองตาราง ตาม FD ซึ่งมี Determinant ที่ไม่ได้เป็น Candidate Key ซึ่งจะได้ตารางดังต่อไปนี้ คือ ตาราง Textbook และ Teacher_Textbook

27 Normalize ระดับที่ 4 เป็น BCNF ไม่มี Multivalued Dependency

28 Nomalization ระดับที่ 5 จะต้องมี Candidate Key ปรากฏใน Join Dependency ของ Relation นั้นเสมอ


ดาวน์โหลด ppt Normalization. ความหมายของการนอร์มอลไลเซซัน Normalization เป็นกระบวนการนำโครงร่าง ของรีเลชันมาแตกเป็นรีเลชันต่างๆ ให้อยู่ใน รูปแบบที่เรียกว่า Normal form.

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


Ads by Google