Submit Search
การ Normalization
32 likes
74,322 views
S
skiats
1 of 36
Download now
Downloaded 1,264 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Most read
30
31
32
Most read
33
34
35
36
Most read
More Related Content
PPT
หลักฐานทางประวัติศาสตร์1
montira
PDF
การเขียนบทประกอบภาพกราฟิกเคลื่อนไหว (Script Writing for Motion Graphic)
Dr.Kridsanapong Lertbumroongchai
PDF
Non-Fluff Software Defined Networking, Network Function Virtualization and IoT
Mark Ryan Castellani
PPTX
03 data preprocessing
นนทวัฒน์ บุญบา
PPTX
Dimensional modeling in oracle sql developer
Jeff Smith
PDF
ปัญญาประดิษฐ์ Artificial intelligence
maruay songtanin
PPTX
ขั้นตอนการประกอบเครื่องคอมพิวเตอร์
atommove
PPTX
Python pandas Library
Md. Sohag Miah
หลักฐานทางประวัติศาสตร์1
montira
การเขียนบทประกอบภาพกราฟิกเคลื่อนไหว (Script Writing for Motion Graphic)
Dr.Kridsanapong Lertbumroongchai
Non-Fluff Software Defined Networking, Network Function Virtualization and IoT
Mark Ryan Castellani
03 data preprocessing
นนทวัฒน์ บุญบา
Dimensional modeling in oracle sql developer
Jeff Smith
ปัญญาประดิษฐ์ Artificial intelligence
maruay songtanin
ขั้นตอนการประกอบเครื่องคอมพิวเตอร์
atommove
Python pandas Library
Md. Sohag Miah
What's hot
(20)
DOCX
นอมัลไลเซชั่น ( Normalization )1nf-3nf
Ch Khankluay
PDF
บทที่ 5 การแปลง er diagram ให้เป็น table
ครูสม ฟาร์มมะนาว
PDF
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
skiats
PDF
Normalization
Torres15
PDF
วิทยาการคำนวณ ม.5 - บทที่ 2 การเก็บรวบรวมและสำรวจข้อมูล
Coco Tan
DOCX
การพิมพ์ข้อสอบให้สวยงาม ดูดีแบบมืออาชีพ
NoTe Tumrong
PPTX
โครงงานpowerpoint
tapatss
PDF
การออกแบบส่วนติดต่อผู้ใช้ (User Interface Design)
Dr.Kridsanapong Lertbumroongchai
PDF
1.4 สถิติเชิงอนุมาน
Somporn Amornwech
PPTX
ความพึงพอใจในการใช้บริการห้องสมุด
risa021040
PDF
ซอฟต์แวร์และภาษาคอมพิวเตอร์
Dr.Kridsanapong Lertbumroongchai
PDF
ข่าวปลอม (Fake News) - Check ก่อน Share Part 3 สร้างทักษะในการคิด วิเคราะห์ แ...
Dr.Kridsanapong Lertbumroongchai
PPTX
หน่วยการเรียนรู้ที่ 2 การจัดการในบ้าน
lukhamhan school
PPTX
01 introduction to data mining
นนทวัฒน์ บุญบา
PDF
Week 3 องค์ประกอบของคอมพิวเตอร์
Dr.Kridsanapong Lertbumroongchai
PDF
โครงงานพัฒนาเกม 8
Aungkana Na Na
PDF
แบบประเมินผู้เชี่ยวชาญ
Pitchayaporn Sukrarassamee
PDF
วิทยาการคำนวณ ม.5 - บทที่ 4 การทำข้อมูลให้เป็นภาพ และการสื่อสารด้วยข้อมูล
Coco Tan
PDF
รายงานโครงงานคอมพิวเตอร์
นิชนิภา อรรถพร
PPT
รูปแบบการสอนดร.ทิศนา แขมณี
Parichart Ampon
นอมัลไลเซชั่น ( Normalization )1nf-3nf
Ch Khankluay
บทที่ 5 การแปลง er diagram ให้เป็น table
ครูสม ฟาร์มมะนาว
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
skiats
Normalization
Torres15
วิทยาการคำนวณ ม.5 - บทที่ 2 การเก็บรวบรวมและสำรวจข้อมูล
Coco Tan
การพิมพ์ข้อสอบให้สวยงาม ดูดีแบบมืออาชีพ
NoTe Tumrong
โครงงานpowerpoint
tapatss
การออกแบบส่วนติดต่อผู้ใช้ (User Interface Design)
Dr.Kridsanapong Lertbumroongchai
1.4 สถิติเชิงอนุมาน
Somporn Amornwech
ความพึงพอใจในการใช้บริการห้องสมุด
risa021040
ซอฟต์แวร์และภาษาคอมพิวเตอร์
Dr.Kridsanapong Lertbumroongchai
ข่าวปลอม (Fake News) - Check ก่อน Share Part 3 สร้างทักษะในการคิด วิเคราะห์ แ...
Dr.Kridsanapong Lertbumroongchai
หน่วยการเรียนรู้ที่ 2 การจัดการในบ้าน
lukhamhan school
01 introduction to data mining
นนทวัฒน์ บุญบา
Week 3 องค์ประกอบของคอมพิวเตอร์
Dr.Kridsanapong Lertbumroongchai
โครงงานพัฒนาเกม 8
Aungkana Na Na
แบบประเมินผู้เชี่ยวชาญ
Pitchayaporn Sukrarassamee
วิทยาการคำนวณ ม.5 - บทที่ 4 การทำข้อมูลให้เป็นภาพ และการสื่อสารด้วยข้อมูล
Coco Tan
รายงานโครงงานคอมพิวเตอร์
นิชนิภา อรรถพร
รูปแบบการสอนดร.ทิศนา แขมณี
Parichart Ampon
Ad
More from skiats
(20)
PDF
การ Setup disk quota กับ user ทุกคน
skiats
PDF
อัลกอริทึมและการวิเคราะห์ปัญหา
skiats
PDF
รูปแบบโครงการ
skiats
PDF
ตัวแปรและค่าคงที่ basic data type
skiats
PDF
4 - statement
skiats
PDF
การใช้งาน phpMyadmin
skiats
PDF
แบบจำลองข้อมูล
skiats
PDF
สถาปัตยกรรมฐานข้อมูล
skiats
PDF
การรวบรวมความต้องการ
skiats
PDF
การกำหนดปัญหาและศึกษาความเป็นไปได้
skiats
DOC
รวบรวมความต้องการ
skiats
PDF
DFD ภาษาอังกฤษ
skiats
PDF
การเขียนแผนภาพ DFD
skiats
PDF
วงจรพัฒนาระบบ SDLC
skiats
PDF
ความหมายการวิเคราะห์ระบบ
skiats
PDF
อุปกรณ์รับและแสดงผล
skiats
PDF
ฐานข้อมูลเชิงสัมพันธ์
skiats
PDF
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
skiats
PDF
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
skiats
PDF
ระบบคอมพิวเตอร์
skiats
การ Setup disk quota กับ user ทุกคน
skiats
อัลกอริทึมและการวิเคราะห์ปัญหา
skiats
รูปแบบโครงการ
skiats
ตัวแปรและค่าคงที่ basic data type
skiats
4 - statement
skiats
การใช้งาน phpMyadmin
skiats
แบบจำลองข้อมูล
skiats
สถาปัตยกรรมฐานข้อมูล
skiats
การรวบรวมความต้องการ
skiats
การกำหนดปัญหาและศึกษาความเป็นไปได้
skiats
รวบรวมความต้องการ
skiats
DFD ภาษาอังกฤษ
skiats
การเขียนแผนภาพ DFD
skiats
วงจรพัฒนาระบบ SDLC
skiats
ความหมายการวิเคราะห์ระบบ
skiats
อุปกรณ์รับและแสดงผล
skiats
ฐานข้อมูลเชิงสัมพันธ์
skiats
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
skiats
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
skiats
ระบบคอมพิวเตอร์
skiats
Ad
การ Normalization
1.
1
บทที่ 5 นอร์ มัลไลเซชัน NORMALIZATION วิชา ฐานข้ อมูลเบืองต้ น โดย อ.แพรตะวัน จารุตน (ปรับปรุง) ้ ั
2.
หัวข้ อการบรรยาย 2
ความหมายและจุดประสงค์ ของการนอร์ มัลไลเซชั่น ฟั งก์ ชันการขึนต่ อกัน (Function Dependencies) ้ กระบวนการนอร์ มัลไลเซชั่ น
3.
ความหมายและจุดประสงค์ ของการนอร์ มัลไลเซชั่น 3
นอร์มลไลเซชัน เป็ นทฤษฎีที่ผออกแบบฐานข้อมูลจะต้องนามาใช้ใน ั ่ ู้ การแปลงข้อมูลที่อยูในรู ปแบบที่ซบซ้อน ให้อยูในรู ปแบบที่ง่ายต่อการ ่ ั ่ นาไปใช้งานและก่อให้เกิดปัญหาน้อยที่สุด ในบทนี้จะสอนกระบวนการนอร์มลไลเซชัน ใน 3 ระดับด้วยกันคือ ั นอร์ มลไลชันระดับที่ 1 หรื อเรี ยกว่า 1NF ั ่ นอร์ มลไลชันระดับที่ 2 หรื อเรี ยกว่า 2NF ั ่ นอร์ มลไลชันระดับที่ 3 หรื อเรี ยกว่า 3NF ั ่
4.
วิเคราะห์ความ
ต้องการของผูใช้ ้ E-R Diagram รีเลชั่นทีมรูปแบบไม่ เป็ นบรรทัดฐาน ่ ี (Unnormalized relation) 1 NF 2 NF กระบวนการปรับ 3 NF บรรทัดฐาน (Normalization) บอยด์ คอดด์ 4 NF รีเลชั่นทีเ่ ป็ นแบบบรรทัดฐาน 4 (Normalized relation)
5.
วัตถุประสงค์ ของนอร์ มัลไลซ์
(Normalization) 5 ลดความซ้ าซ้อนของข้อมูล เมื่อลดความซ้ าซ้อนก็ทาให้ลดเนื้อหาที่ใช้ ในการจัดเก็บข้อมูล ลดปัญหาความไม่ถูกต้องของข้อมูล เมื่อข้อมูลไม่เกิดความซ้ าซ้อนทา ให้การปรับปรุ งข้อมูลสามารถทาได้จากแหล่งข้อมูลเพียงแหล่งเดียว ลดความผิดพลาดที่อาจเกิดจากการปรับปรุ งข้อมูล (update anomalies) ซึ่งประกอบด้วย
6.
ความซ้าซ้ อนและข้ อผิดพลาดจากการปรับปรุงข้
อมูล 6 แนวคิดหลักอันสาคัญของการออกแบบฐานข้อมูลเชิงสัมพันธ์ คือ การออกแบบ ให้มีการเก็บข้อมูลซ้ าซ้อนน้อยที่สุด เพื่อประหยัดเนื้ อที่ในการเก็บข้อมูลและลดปั ญหาที่จะเกิดดังตัวอย่างต่อไปนี้
7.
ตัวอย่ างการออกแบบฐานข้ อมูลทีดี
่ Employee (พนักงาน) Branch (สาขา) รหัสพนักงาน ชื่อ-สกุล ตาแหน่ ง เงินเดือน รหัสสาขา รหัสสาขา ทีอยู่ ่ SG21 ชูชาติ สุ ขศรี ผูจดการ ้ั 30000 B005 B005 เชียงใหม่ SG37 ศิริ ดวงเด่น ผูช่วย ้ 20000 B003 B003 กรุ งเทพ SG14 ดวงใจ มีสุข เลขานุการ 20000 B003 B007 พิษณุโลก SG09 อัจฉรา เขียวแก้ว ผูจดการ ้ั 30000 B007 ตัวอย่ างการออกแบบฐานข้ อมูลทีจะมีปัญหาของความซ้าซ้ อนตามมา ่ Employee_Branch (รวมรายละเอียดของพนักงานไว้ ด้วยกันกับรายละเอียดของสาขา) รหัสพนักงาน ชื่อ-สกุล ตาแหน่ ง เงินเดือน รหัสสาขา ทีอยู่ ่ SG21 ชูชาติ สุ ขศรี ผูจดการ ้ั 30000 B005 เชียงใหม่ SG37 ศิริ ดวงเด่น ผูช่วย ้ 20000 B003 กรุ งเทพ SG14 ดวงใจ มีสุข เลขานุการ 20000 B003 กรุ งเทพ 7 SG09 อัจฉรา เขียวแก้ว ผูจดการ ้ั 30000 B007 พิษณุโลก
8.
ตัวอย่ างปัญหาความซ้าซ้ อนในข้
อมูล รีเลชั่น EMPLOYEE_BRANCE รหัสพนักงาน ชื่อ-สกุล ตาแหน่ ง เงินเดือน รหัสสาขา ทีอยู่ ่ SG21 ชูชาติ สุ ขศรี ผูจดการ ้ั 30000 B005 เชียงใหม่ SG37 ศิริ ดวงเด่น ผูช่วย ้ 20000 B003 กรุ งเทพ SG14 ดวงใจ มีสุข เลขานุการ 20000 B003 กรุ งเทพ SG09 อัจฉรา เขียวแก้ว ผูจดการ ้ั 30000 B007 พิษณุโลก ความผิดพลาดจากการเพิม ่ oถ้ าต้ องการเพิมพนักงานใหม่ ทีอยู่สาขา B005 ่ ่ oจะต้ องกรอก B005 และทีอยู่สาขา คือ เชียงใหม่ เพิมอีก ่ ่ 8
9.
ตัวอย่ างปัญหาความซ้าซ้ อนในข้
อมูล รีเลชั่น EMPLOYEE_BRANCE รหัสพนักงาน ชื่อ-สกุล ตาแหน่ ง เงินเดือน รหัสสาขา ทีอยู่ ่ SG21 ชูชาติ สุ ขศรี ผูจดการ ้ั 30000 B005 เชียงใหม่ SG37 ศิริ ดวงเด่น ผูช่วย ้ 20000 B003 กรุ งเทพ SG14 ดวงใจ มีสุข เลขานุการ 20000 B003 กรุ งเทพ SG09 อัจฉรา เขียวแก้ว ผูจดการ ้ั 30000 B007 พิษณุโลก ความผิดพลาดจากการเพิม ่ ถ้ าต้ องการเพิมสาขา จะมีปัญหาคือ ตารางนีมท้งข้ อมูลพนักงานและข้ อมูล ่ ้ ี ั สาขาอยู่รวมกัน หากจะเพิมเฉพาะ รหัสสาขา และ ทีอยู่ ก็ไม่ ได้ เพราะ รหัสพนักงาน จะมีค่า ่ ่ ว่ างไม่ ได้ เพราะเป็ น Primary Key ของตาราง ดังนั้นจะบันทึกได้ กต่อเมื่อมีพนักงานแล้ว ็ 9
10.
ความผิดพลาดจากการลบข้ อมูล
ถ้ าลบข้ อมูลหนึ่งแล้ วส่ งผลกระทบกับข้ อมูลอืน ที่ต้องถูกลบตาม ่ 10 เช่ น พนักงานรหัส SG21 ลาออก ก็ลบแถวนั้นออก ข้ อมูลสาขา B005 ก็จะหายไปด้ วย ข้ อผิดพลาดจากการเปลียนแปลง ่ ในกรณีที่ต้องการเปลียนแปลงข้ อมูลบางตัวของสาขา ่ เช่ น เปลียนที่อยู่ของ B003 ก็ต้องเปลี่ยนหลายที่ ่ ถ้ าหากมีพนักงานสั งกัดสาขานีหลายที่กต้องไปตามแก้ ทุก ๆ ที่ ้ ็ ดังนั้นเราควรแยกตาราง Employee_Brance ออกเป็ นสองตาราง คือ ตารางพนักงาน และตารางสาขา
11.
พนักงาน
รหัสพนักงาน ชื่อ-สกุล ตาแหน่ ง เงินเดือน รหัสสาขา SG21 ชูชาติ สุ ขศรี ผูจดการ ้ั 30000 B005 SG37 ศิริ ดวงเด่น ผูช่วย ้ 20000 B003 SG14 ดวงใจ มีสุข เลขานุการ 20000 B003 SG09 อัจฉรา เขียวแก้ว ผูจดการ ้ั 30000 B007 สาขา รหัสสาขา ทีอยู่ ่ B005 เชียงใหม่ B003 กรุ งเทพ B007 พิษณุโลก 11
12.
ฟังก์ ชั่นการขึนต่ อกัน
(Functional Dependency : FD) ้ 12 ถ้ าให้ X และ Y เป็ น Attribute ใน Relation ใดๆ แทนด้ วย R(X,Y) Attribute Y เป็ น จะถูกเรียกว่ ามีฟังก์ ชันการขึนต่ อ ้ กันกับแอททริบวต์ X ก็ต่อเมื่อ แต่ ละค่ าที่ไม่ ซากันของ ิ ้ แอททริบวต์ X มีข้อมูลของ Y ที่เกี่ยวข้ องกับ X เพียง 1 ค่ า ิ เขียนแทนด้ วย สัญลักษณ์ XY
13.
ตัวอย่ าง
EmployeeNo Name Position S01 ฉัตรชัย มีสมบัติ Manager S02 เอกชัย ใจดี Manager Assistant S03 มนีรัตน์ เจริญสุ ข Manager S04 ขวัญชัย ใจเพชร Manager Assistant S05 มานพ เกตุแก้ ว Staff S06 ดวงกมล ทิพย์ เทพ Staff EmployeeNo Position 13
14.
ตัวอย่ าง A)
employeeNo Position B) Position (not) employeeNo 14 A EmployeeNo Position employeeNo S21 Manager B Position EmployeeNo employeeNo S21 Manager employeeNo S41 การขึนต่ อกัน ค่ า X จะต้ องกาหนดค่ า Y ได้ 1:1 ้
15.
ชนิดของฟังก์ชั่นการขึนต่ อกัน (
Functional Dependency :FD) ้ 15 1) Complete dependencies การขึนต่ อกันอย่ างสมบูรณ์ ้ แอททริ บิวต์ท่ีไม่ใช่คียหลัก ขึ้นต่อ แอททริ บิวต์หรื อกลุ่มของแอททริ บิวต์ที่ ์ เป็ นคียหลัก ์ ตัวอย่าง ตารางที่มีแอทริ บิวต์ค่าเดียวทาหน้าที่เป็ นคียหลัก คือ หมายเลขบัตร ์ ประชาชน หมายเลขบัตรประชาชน ชื่อเจ้ าของบัตร 3440100634931 กนกวรรณ พ่วงพงษ์ 3437283420343 ชาติชาย เตชะวงศ์ 2938742039485 กิ่งกาญ เดชาทรัพย์ หมายเลขบัตรประชาชน ชื่อเจ้าของบัตร
16.
ชนิดของฟังก์ชั่นการขึนต่ อกัน (
Functional Dependency :FD) ้ 16 ตัวอย่าง ตารางที่มีแอทริบิวต์หลายตัวขึ้ นกับคียหลักตัวเดียว ์ หมายเลขบัตรประชาชน ชื่อเจ้ าของบัตร วันเกิด วันที่ทาบัตร 3440100634931 กนกวรรณ พ่วงพงษ์ 27/03/2520 28/04/2553 3437283420343 ชาติชาย เตชะวงศ์ 23/06/2522 25/02/2553 2938742039485 กิ่งกาญ เดชาทรัพย์ 21/04/2525 19/0125/52 หมายเลขบัตรประชาชน ชื่อเจ้าของบัตร,วันเกิด,วันที่ทาบัตร
17.
ชนิดของฟังก์ชั่นการขึนต่ อกัน (
Functional Dependency :FD) ้ 17 ตัวอย่าง ตารางที่มีแอทริบิวหลายตัวรวมกันเป็ นคียหลัก คือ รหัสนักศึกษา รหัสวิชา ์ ตารางการลงทะเบียน รหัสนักศึกษา รหัสวิชา เกรด 520014001 S001 A 520014001 S002 B 520014002 S001 C 520014002 S002 A รหัสนักศึกษา,รหัสวิชา เกรด
18.
ชนิดของฟังก์ชั่นการขึนต่ อกัน (
Functional Dependency :FD) ้ 18 2) Partial Dependency (การขึ้ นต่อกันบางส่ วน) เกิดขึ้นเมื่อคียหลักประกอบด้วยหลาย Attribute รวมกัน ์ เมื่อแอตทริ บิวต์บางส่ วนของคียหลัก สามารถไประบุค่าแอตทริ บิวต์ตวอื่น ๆ ที่ ์ ั ไม่ใช่คียหลักของรี เลชันได้ ์ ่ รหัสนักศึกษา รหัสวิชา เกรด ชื่อวิชา Partial Dependency รหัสนักศึกษา, รหัสวิชา เกรด , ชื่อวิชา รหัสวิชา ชื่อวิชา
19.
ตัวอย่ างฟังก์ ชั่นการขึนต่
อกันแบบ Partial ้ รหัสนักศึกษา รหัสวิชา เกรด ชื่อวิชา 534267001 F01 A การเขียนโปรแกรม 534267001 F02 B การออกแบบฐานข้ อมูล 534267002 F01 D การเขียนโปรแกรม 534267002 F02 A การออกแบบฐานข้ อมูล 534267003 F01 A การเขียนโปรแกรม 534267003 F02 C การออกแบบฐานข้ อมูล 19
20.
ชนิดของฟังก์ ชั่นการขึนต่ อกัน
(Functional Dependency : FD) ้ 20 3 Transitive Dependency เกิดขึนเมื่อ Attribute ที่ไม่ ใช่ Primary Key ไป ้ ขึนอยู่กบ Attribute อืนที่ไม่ ใช่ Primary Key ในรีเลชั่นนั้น ๆ ้ ั ่ เลขประจาตัว ชื่อ สกุล ที่อยู่ ตาแหน่ง รถประจาตาแหน่ง 01 ฉัตรชัย มีสมบัติ กรุงเทพ ผู้จดการ ั BMW 02 เอกชัย ใจดี นนทบุรี ผู้ช่วยผู้จดการ ั Honda 03 มนีรัตน์ เจริญสุ ข เชียงใหม่ ผู้จดการ ั BMW 04 ขวัญชัย ใจเพชร ราชบุรี ผู้ช่วยผู้จดการ ั Honda คาอธิบาย เลขประจาตัว เป็ นคีย์หลัก (Primary Key) ของตาราง เลขประจาตัว ชื่อสกุล, ทีอยู่, ตาแหน่ ง ่ ตาแหน่ ง รถประจาตาแหน่ ง
21.
นอร์ มัลไลซ์ เซชั่น
(Normalization) 21 Normalization คือ กระบวนการปรับปรุ งโครงสร้างข้อมูลของฐานข้อมูลที่มีความ ่ ซ้ าซ้อนให้อยูในรู ปแบบที่เป็ นบรรทัดฐาน (Normal Form) การนอร์มลไลเซชันมีได้ถึง 5 ระดับ ในระดับที่ 3 ก็จดว่าเพียงพอสาหรับการ ั ั ออกแบบฐานข้อมูลในปัจจุบน ั 1NF - กาจัด repeating group (กาจัดกลุ่มของข้อมูลที่มีความซ้ าซ้อน) 2NF - กาจัด partial dependency (กาจัดการขึ้นต่อกันบางส่ วน) 3NF - กาจัด transitive dependency (กาจัดการขึ้นต่อกันของแอตทริ บิวท์ที่ไม่ใช่คียหลัก) ์
22.
22
23.
First Normal Form
(1NF) 23 ทุก Attribute ในแต่ ละ record จะเป็ น single value ไม่ มี ค่ าของกลุ่ม ข้ อมูลที่ซ้ากัน (Repeating Group) ข้ อมูลทุกแถว (Tuple) ต้ องมีค่าไม่ ซ้ากัน ตารางทีมลกษณะข้ อมูลเป็ น Repeating group ่ ีั รหัสนักศึกษา ชื่อ นามสกุล รหัสวิชาทีลงทะเบียน ่ 001 สมชาย สมใจนึก 204-101 Repeating Group 204-204 204-205 002 ธีรชาย บุญมาศ 204-102 204-204
25.
Second Normal Form
(2NF) 25 1. ต้ องเป็ น First Normal Form (1NF) มาก่ อน 2. ต้ องไม่ มี Partial Dependency (การขึนต่ อกันบางส่ วน) ้ สรุปก็คอ นอร์ มัลไลเซชันระดับที่ 2 (Second normal form : 2NF) เป็ นการ ื ขจัดแอตตริบิวที่ ไม่ ขนกับทั้งส่ วนของคีย์หลัก ออกไป เพือให้ ึ้ ่ แอตตริบิวอืนทั้งหมดขึนตรงกับส่ วนที่เป็ นคีย์หลักทั้งหมดเท่ านั้น ่ ้
26.
ตัวอย่ างตารางที่ Partial
Dependency (การขึนต่ อกันบางส่ วน) ้ รหัสนักศึกษา รหัสวิชา เกรด ชื่อวิชา 534267001 F01 A การเขียนโปรแกรม 534267001 F02 B การออกแบบฐานข้ อมูล 534267002 F01 D การเขียนโปรแกรม 534267002 F02 A การออกแบบฐานข้ อมูล 534267003 F01 A การเขียนโปรแกรม 534267003 F02 C การออกแบบฐานข้ อมูล รหัสนักศึกษา รหัสวิชา เกรด ชื่อวิชา Partial Dependency รหัสนักศึกษา, รหัสวิชา เกรด ,ชื่ อวิชา 26 รหัสวิชา ชื่อวิชา
27.
Second Normal Form
(2NF) 27 วิธีขจัดปัญหา 1) ต้ องสร้ างตารางเพิม ่ 2) นาคอลัมน์ ที่มีปัญหาไปใส่ ในตารางที่สร้ างเพิม ่ 3) กาหนดคีย์หลักให้ กบตารางทีสร้ างใหม่ ั ่ 4) แอททริบิวต์ ใดในตารางเดิม เมื่อนาไปใส่ ในตารางใหม่ ให้ ตัดออกจาก ตารางเดิม ยกเว้ น ส่ วนของคีย์หลัก คงไว้ ในตารางเดิม
28.
ตารางผลการเรียน
รหัสนักศึกษา รหัสวิชา เกรด ชื่อวิชา 534267001 F01 A การเขียนโปรแกรม ตารางนีเ้ มื่อทาให้ อยู่ 534267001 F02 B การออกแบบฐานข้ อมูล ในรู ป 2 NF จะได้ 2 534267002 F01 D การเขียนโปรแกรม ตารางดังนี ้ 534267002 F02 A การออกแบบฐานข้ อมูล 534267003 F01 A การเขียนโปรแกรม 534267003 F02 C การออกแบบฐานข้ อมูล ตารางผลการเรียน ตารางวิชา รหัสนักศึกษา รหัสวิชา เกรด รหัสวิชา ชื่อวิชา 534267001 F01 A F01 การเขียนโปรแกรม 534267001 F02 B F02 การออกแบบฐานข้ อมูล 534267002 F01 D 534267002 F02 A 534267003 F01 A 28 534267003 F02 C
29.
ให้ นักศึกษานอมัลไลซ์ ตารางนีให้
อยู่ในรูปแบบ 2NF ้ ตารางผลการอบรม รหัสผู้เข้ า รหัสครอส ชื่อผู้เข้ าอบรม ชื่อครอสอบรม ผลการทดสอบ อบรม อบรม 0001 TR01 นายเอ ใจดี การซ่อมไฟฟ้ า ผ่าน 0001 TR05 นายเอ ใจดี การซ่อมตูเ้ ย็น ผ่าน 0002 TR03 นางบี ใจกล้า การทาอาหาร ่ ไม่ผาน 0002 TR09 นางบี ใจกล้า การเลี้ยงเด็ก ผ่าน 0003 TR01 นายรวย มีเงิน การซ่อมไฟฟ้ า ผ่าน 0003 TR05 นายรวย มีเงิน การซ่อมตูเ้ ย็น ่ ไม่ผาน 29
30.
Third Normal Form
(3NF) 30 1.Relation นั้นจะต้องมีคุณสมบัติ 2NF 2.ต้องไม่มีความสัมพันธ์ระหว่าง Non-key Attribute หรื อ ไม่มี Transitive Dependency สรุ ป : แอททริ บิวต์ที่ไม่ใช่คียหลัก ต้องไม่ข้ ึนต่อกันเอง ์
31.
Third Normal Form
(3NF) 31 วิธีขจัดปัญหา 1. สร้างตารางเพิ่ม 2. นาแอททริ บิวต์ที่มีปัญหามาใส่ ในตารางใหม่ 3. กาหนดคียหลัก ์ 4. แอททริ บิวต์ที่ยายจากตารางเดิมไปใส่ ในตารางใหม่ให้ ้ ตัดออกจากตารางเดิม 5. นาคียหลักในข้อ 3 ไปใส่ ในตารางเดิม ์
32.
รหัสพนักงาน
ชื่อสกุล รหัสแผนก ชื่อแผนก เงินเดือน P001 นพเกศ แก้วใส A001 บัญชี 25000 P002 วารุ ณี รวดเร็ ว F001 การเงิน 30000 คียหลักของตารางนี้คือ รหัสพนักงาน ์ จากตารางยังมีฟังก์ชนการขึ้นต่อกันแบบ Transitive Dependency อยู่ คือ ั่ รหัสแผนก ซึ่ งไม่ใช่คียหลักของตาราง แต่สามารถระบุค่า ชื่อแผนก ได้ คือ ถ้ารู้รหัส ์ แผนก ก็จะรู ้ชื่อแผนก จากตารางข้ างบน ทาให้ อยู่ในรู ป 3 NF จะได้ 2 ตารางข้ างล่างนี้ รหัสพนักงาน ชื่อสกุล เงินเดือน รหัสแผนก รหัสแผนก ชื่อแผนก P001 นพเกศ แก้ วใส 25000 A001 A001 บัญชี P002 วารุณี รวดเร็ว 30000 F001 F001 การเงิน 32
33.
สรุป Normalization 33
1NF ทุกแอททริ บิวต์ในแต่ละแถวมีค่าของข้อมูลเพียงค่าเดียว 2NF รี เลชันนั้นต้องไม่มีความสัมพันธ์ระหว่างแอททริ บิวต์แบบบางส่ วน (แอ ุ ์ ่ ั ททริ บิวต์ทกตัวต้องขึ้นกับคียหลักทุกตัว ไม่ข้ ึนอยูกบตัวใดตัวหนึ่ง) 3NF ทุกแอททริ บิวต์ที่ไม่ใช่คียหลักไม่มีคุณสมบัติในการกาหนดค่าของ ์ แอททริ บิวต์อื่น
34.
แบบฝึ กหัด
ให้ นักศึกษาแปลงตารางต่ อไปนีให้ อยู่ในรูป NF1-NF3 โดยละเอียด ้ 1)การลงทะเบียนเรียน รหัส ชื่อนักศึกษา รหัสวิชา ชื่อวิชา หน่ วยกิต เกรด นักศึกษา 53001 วนิ ดา AB12 บัญชี 3 A CD01 การเงิน 3 A PC09 สถิติ 3 B 53009 สุมาลี AB12 บัญชี 3 B CD01 การเงิน 3 A 34
35.
แบบฝึ กหัด
ให้ นักศึกษาแปลงตารางต่ อไปนีให้ อยู่ในรูป NF1-NF3 โดยละเอียด ้ 2)การลงทะเบียนเรียน รหัส ชื่อนักศึกษา รหัส ชื่อคณะ รหัสวิชา ชื่อวิชา หน่ วยกิต เกรด นักศึกษา คณะ 53001 วนิ ดา BC บริหารธุรกิจ AB12 บัญชี 3 A CD01 การเงิน 3 A PC09 สถิติ 3 B 53009 สุมาลี HT การโรงแรม AB12 บัญชี 3 B CD01 การเงิน 3 A 35
36.
แบบฝึ กหัด
ให้ นักศึกษาแปลงตารางต่ อไปนีให้ อยู่ในรูป NF1-NF3 โดยละเอียด ้ 3) การสั่ งสิ นค้ า เลขที่ใบสัง่ วันที่ซ้ ือ รหัสลูกค้า ชื่อผูสง่ั ้ รหัสสินค้า ชื่อสินค้า จานวนที่ซ้ ือ ราคาต่อ ซื้อ หน่ วย OR001 02/09/2552 C001 เดวิด AB12 ตูเ้ ย็น 4 4000 CD01 พัดลม 3 2000 PC09 แอร์ 4 6000 OR002 02/09/2552 C005 ไมเคิล TP01 เตาอบ 3 3000 CD01 พัดลม 2 2000 36
Download