การทานอร์มลั ไลเซชนั เป็ นวธิ ีการในการกาหนดแอตทริบิวตใ์ หก้ บั แตล่ ะเอนทิตี
เพ่อื ใหไ้ ดโ้ ครงสร้างของตารางที่ดี สามารถควบคุมความซ้าซอ้ นของขอ้ มูลหลีกเล่ียงความผิดปกติของขอ้ มูล
โดยทว่ั ไปผลลพั ธข์ องการนอร์มลั ไลเซชนั จะไดต้ ารางที่มีโครงสร้างซบั ซอ้ นนอ้ ยลง
แตจ่ านวนของตารางจะมากข้ึน
การทานอร์มลั ไลเซชนั จะประกอบดว้ ยนอร์มลั ฟอร์ม (Normal Form) แบบต่าง ๆ
ท่ีมีเงื่อนไขของการทาใหอ้ ยใู่ นรูปของนอร์มลั ฟอร์มท่ีแตกต่างกนั ไป ข้ึนอยกู่ บั ผอู้ อกแบบฐานขอ้ มูลวา่
ตอ้ งการลดความซ้าซอ้ นในฐานขอ้ มลู ใหอ้ ยใู่ นระดบั ใด
นิยามรูปแบบบรรทดั ฐาน
❖นอรม์ ลั ฟอรม์ ท่ี 1 (First Normal Form : 1NF)
❖ นอรม์ ลั ฟอรม์ ท่ี 2 (Second Normal Form : 2NF)
❖ นอรม์ ลั ฟอรม์ ท่ี 3 (Third Normal Form : 3NF)
❖ บอยซค์ อดดน์ อรม์ ลั ฟอรม์ (Boyce-Codd Normal Form : BCNF)
❖ นอรม์ ลั ฟอรม์ ท่ี 4 (Fourth Normal Form : 4NF)
❖ นอรม์ ลั ฟอรม์ ท่ี 5 (Fifth Normal Form : 5NF)
นอร์มลั ฟอร์มท่ี 1 (FIRST NORMAL FORM : 1NF)
• รีพีทติ้งกรุ๊ป (Repeating Group) การท่ีขอ้ มูลใน 1 ทปั เพลิ
สามารถมีคา่ ในแตล่ ะแอตทริบวิ ตไ์ ดม้ ากกวา่ หน่ึงคา่ (Multivalued)
จะทาให้เกิดรีพที ต้ิงกรุ๊ป ดงั ตารางที่แสดงในภาพขา้ งล่าง
ซ่ึงเลขทีโ่ ครงการหน่ึงหมายเลขประกอบดว้ ยกลุ่มขอ้ มูลหลายกลุ่ม
ซ่ึงทาให้รีเลชนั ดงั กล่าว ขาดคุณสมบตั ซิ ิงเกิลแวลู
• นิยามของนอร์มลั ฟอร์มที่ 1
รีเลชนั จะอยใู่ นรูปของนอร์มลั ฟอร์มที่ 1 ก็ตอ่ เม่ือมีคุณสมบตั ติ ามเง่ือนไข
ดงั ต่อไปน้ี
1. มกี ารกาหนดแอตทริบิวต์ที่เป็ นคีย์
2. ต้องไม่มรี ีพที ติง้ กรุ๊ป แต่ละแถวหรือคอลมั น์จะมคี ่าได้เพยี ง 1 ค่าเท่านั้น
3. แอตทริบิวต์ทกุ ตวั ต้องขึน้ อย่กู ับคยี ์หลกั
นอร์มลั ฟอร์มที่ 2 (SECOND NORMAL FORM : 2NF)
• ฟังกช์ นั นลั ฟังกช์ นั นลั ดีเพนเดนซี สามารถแสดงดว้ ยการใชเ้ คร่ืองหมายลูกศร ( ->) ตวั อยา่ งเช่น A->B แสดง B เป็นฟังกช์ นั นลั ดีเพนเดนต์
กบั A กลา่ วคือ ถา้ รู้ค่า A กจ็ ะทาใหท้ ราบค่าของ B ดว้ ย ทุกคา่ ของ A ที่มีค่าเท่ากนั จะไดค้ ่า เท่ากนั เสมอดีเพนเดนซี (Functional Dep endency:
FD)
• พาเชียลดีเพนเดนซี (Partial Dependency) พาร์เชียลดีเพนเดนซี หมายถึง
การท่ีมีแอตทริบิวตบ์ างแอตทริบิวต์ ท่ีข้ึนอยกู่ บั เพียงบางส่วนของคียห์ ลกั เทา่ น้นั
ตวั อยา่ งเช่น จากตารางในภาพขา้ งลา่ ง
• นิยามของนอร์มลั ฟอร์มท่ี 2
รีเลชนั จะอยูใ่ นรูปของนอร์มลั ฟอร์มท่ี 2 กต็ อ่ เม่ือมีคุณสมบตั ิตามเงื่อนไข
ดงั ต่อไปน้ี
1. รีเลชนั น้นั เป็นนอร์มลั ฟอร์มที่ 1 อยูแ่ ลว้
2. รีเลชนั น้นั ไม่มีพาร์เชียลดีเพนเดนซี
นอร์มลั ฟอร์มที่ 3 (THIRD NORMAL FORM : 3NF)
• ทรานซิทีฟดีเพนเดนซี (Transitive Dependency)
ทรานซิทีฟดีเพนเดนซี หมายถึง การท่ีมีฟังกช์ นั นลั ดีเพนเดนซี
ระหวา่ งแอตทริบิวตท์ ่ีไมไ่ ดเ้ ป็นส่วนของคียใ์ ด ๆ แต่มีแอตทริบิวตอ์ ื่น ๆ
มาข้ึนกบั แอตทริบิวตน์ ้นั ตวั อยา่ งเช่น จากตารางในภาพขา้ งล่าง
• นิยามของนอร์มลั ฟอร์มที่ 3
รีเลชนั จะอยูใ่ นรูปของนอร์มลั ฟอร์มท่ี 3
กต็ อ่ เมื่อมีคุณสมบตั ิตามเงื่อนไขดงั ตอ่ ไปน้ี
1. รีเลชันน้นั เป็นนอร์มัลฟอร์มท่ี 2 อย่แู ล้ว
2. รีเลชันนั้นไม่มที รานซิทีฟดเี พนเดนซี
บอยซ์คอดดน์ อร์มลั ฟอร์ม (BOYCE-CODD NORMAL FORM : BCNF)
• ในหน่ึงรีเลชนั อาจจะประกอบดว้ ยหลายแคนดิเดตคีย์ (Candidate Key)
ทกุ แอตทริบวิ ตใ์ นรีเลชนั จะตอ้ งข้ึนอยกู่ บั แคนดิเดตคียเ์ สมอ
เราสามารถกาหนดนิยามของรีเลชนั ทีอ่ ยใู่ นรูปของบอยซ์คอดด์นอร์มลั ฟอร์ม
ก็ต่อเมื่อรีเลชนั มีคุณสมบตั ติ ามเง่ือนไขดงั ตอ่ ไปน้ี
1. รีเลชันน้ันเป็นนอร์มลั ฟอร์มท่ี 3 อย่แู ล้ว
2. ทกุ แอตทริบิวต์ในรีเลชันจะต้องขึน้ กับแคนดิเดตคีย์
• เราสามารถทาการแตกตารางออกมาให้อยใู่ นรูปของบอยซ์คอดดน์ อร์มลั ฟอร์มได้
โดยการแยกแอตทริบิวตร์ หสั วชิ าเรียนและรหสั ผสู้ อนซ่ึงข้ึนอยกู่ บั แอตทริบิวต์
รหสั วิชาเรียนออกมาเป็นอีกหน่ึงรีเลชนั และแยกแอตทริบิวต์ รหสั นกั ศึกษา
รหสั ผสู้ อน และผลการเรียนออกมาเป็นอีกหน่ึงรีเลชนั ดงั แสดงในภาพขา้ งล่าง
นอร์มลั ฟอร์มที่ 4 (FOURTH NORMAL FORM : 4NF)
• มลั ติแวลดู ีเพนเดนซี (Multivalued Dependency)
ถา้ แต่ละแอตทริบิวตใ์ นหน่ึงรีเลชนั แบ่งออกเป็ นกลุ่มของขอ้ มลู อิสระ เช่นแอตทริบิวต์ X, Y และ Z แบ่งออกเป็ นกลุม่ ขอ้ มลู ของ X, Y และ Z ท่ีเป็ นอิสระต่อกนั มลั
ติแวลลูดีเพนเดนซี X –>> Y หมายถึงวา่ ค่า X หน่ึงคา่ สามารถที่จะบอกค่า Y ไดห้ ลาย ๆ (X Multi-Determinse Y) ไม่วา่ Z จะมีคา่ เป็ นอะไรกต็ าม
• นิยามของนอร์มลั ฟอร์มท่ี 4
รีเลชนั จะอยใู่ นรูปของนอร์มลั ฟอร์มที่ 4
กต็ ่อเมื่อมีคุณสมบตั ิตามเงื่อนไขดงั ต่อไปน้ี
1. รีเลชันนั้นเป็นบอยซ์คอดด์นอร์มลั ฟอร์ มอย่แู ล้ว
2. รีเลชันนั้นไม่มที ริเวยี ลมัลติแวลดู ีเพนเดนซี
นอร์มลั ฟอร์มท่ี 5 (FIFTH NORMAL FORM : 5NF)
• จอยนโ์ อเปอรชนั (
ถา้ มี และ อยใู่ น และ อยใู่ น
โดยท่ี อยใู่ น ก็ต่อเมื่อมี
• จอยนด์ ีเพนเดนซี (
ในการแยกรีเลชนั ออกเป็นส่วนยอ่ ย (
มีคุณสมบตั ิจอยนด์ ีเพนเดนซี ก็ต่อเม่ือ
นนั่ คือเมื่อเอารีเลชนั ยอ่ ยมารวมกนั กต็ อ้ งไดร้ ีเลชนั เดิม ท่ีไม่มีขอ้ มลู สูญหาย
และไม่มีทปั เพิลท่ีเกินมา ท่ีเรียกวา่ สพิวเรียสทปั เพลิ (
• นิยามของ 5 รีเลชนั จะเป็น 5 ถา้
1. รีเลชันน้ันเป็นนอร์มัลฟอร์มท่ี 4 อย่แู ล้ว
2. การแบ่งแยกรีเลชันมีคุณสมบัติจอยน์ดเี พนเดนซี
ตวั อยา่ งกระบวนการปรับบรรทดั ฐาน
ภาษา SQL
❖ ความหมาย
• SQL มาจากคาวา่ Structured Query Language เป็นภาษามาตรฐานในการเขา้ ถึง ฐานขอ้ มูล เราสามารถใชง้ านภาษา
SQL ไดจ้ ากโปรแกรมตา่ งๆ ทตี่ อ้ งทาการกบั ระบบฐานขอ้ มูล เช่น ใช้ SQL ในการทาการดึงขอ้ มูล (Retrieve Data) จาก
ฐานขอ้ มูล และมนั เป็นมาตรฐานกลางท่ใี ชใ้ นระบบฐานขอ้ มูลตา่ งๆ โดยเป็นมาตรฐานของ ANSI (American National
Standard Institute)
❖รูปแบบคาสงั่
➢ประเภทของคาส่งั ของภาษา SQL
• 1) ภาษาสาหรบั การนิยามขอ้ มลู (Data Definition Language : DDL) ประกอบดว้ ยคาส่งั ทใ่ี ชใ้ นการกาหนดโครงสรา้ งขอ้ มลู วา่
มคี อลมั นอ์ ะไร แตล่ ะคอลมั นเ์ ก็บขอ้ มลู ประเภทใด รวมถงึ การเพ่มิ คอลมั น์ การกาหนดดชั นี การกาหนดววิ หรอื ตารางเสมือนของผใู้ ช้ เป็นตน้
• 2) ภาษาสาหรบั การจดั การขอ้ มลู (Data Manipulation Language : DML) ประกอบดว้ ยคาส่งั ทใ่ี ชใ้ นการเรยี กใชข้ อ้ มลู การ
เปล่ียนแปลงขอ้ มลู การเพ่มิ หรอื ลบขอ้ มลู เป็นตน้
• 3) ภาษาควบคมุ (Data Control Language : DCL) : ประกอบดว้ ยคาส่งั ที่ใชใ้ นการควบคมุ การเกิดภาวะพรอ้ มกนั หรอื การ
ป้องกนั การเกิดเหตกุ ารณท์ ผี่ ใู้ ชห้ ลายคนเรยี กใชข้ อ้ มลู พรอ้ มกนั และคาส่งั ทเี่ กี่ยวขอ้ งกบั การควบคมุ ความปลอดภยั ของขอ้ มลู ดว้ ยการกาหนด
สิทธิของผใู้ ชท้ แ่ี ตกตา่ งกนั เป็นตน้
❖ตวั อยา่ งการเขียน
❖ ความรู้พ้ืนฐานเกี่ยวกบั ฐานขอ้ มูลไม่ใช่เชิงสมั พนั ธ์ (NOSQL)
• ฐานขอ้ มลู NoSQL ใชโ้ มเดลขอ้ มลู ท่ีหลากหลายสาหรบั การเขา้ ถงึ และจดั การขอ้ มลู ฐานขอ้ มลู ประเภทนีไ้ ดร้ บั การปรบั ปรุง
ประสิทธิภาพสาหรบั แอปพลิเคชนั ทตี่ อ้ งใชข้ อ้ มลู ปรมิ าณมาก มเี วลาแฝงต่า และมโี มเดลขอ้ มลู ที่ยดื หยนุ่ โดยเฉพาะ ซง่ึ เกิดขนึ้ โดยการ
ผอ่ นปรนขอ้ จากดั ความสม่าเสมอขอ้ มลู ของฐานขอ้ มลู อื่นๆ
• ในฐานขอ้ มลู เชิงสมั พนั ธ์ บนั ทกึ หนงั สอื มกั ถกู แยกออกจากกนั (หรอื “มาตรฐาน”) และจดั เก็บในตารางแยก สว่ นความสมั พนั ธจ์ ะถกู
กาหนดโดยขอ้ จากดั คยี ห์ ลกั และคียน์ อก ในตวั อยา่ งนี้ ตารางหนงั สอื มีคอลมั นส์ าหรบั ISBN, ชอ่ื หนงั สอื และครงั้ ทพ่ี มิ พ์ ตารางผเู้ ขียน
มคี อลมั นส์ าหรบั รหสั ผเู้ ขียนและชื่อผเู้ ขียน และสดุ ทา้ ยตาราง ISBN ของผเู้ ขียนมคี อลมั นส์ าหรบั รหสั ผูเ้ ขียนและ ISBN โมเดลเชิง
สมั พนั ธถ์ กู ออกแบบมาเพอื่ ทาใหฐ้ านขอ้ มลู สามารถบงั คบั ใชค้ วามสมบรู ณอ์ า้ งอิงระหวา่ งตารางตา่ งๆ ในฐานขอ้ มลู ปรบั ใหเ้ ป็นปกติ
เพอ่ื ลดความซา้ ซอ้ น และไดร้ บั การปรบั ปรุงประสทิ ธิภาพสาหรบั พนื้ ทจี่ ดั เก็บอยา่ งท่วั ถงึ
• ในฐานขอ้ มลู NoSQL บนั ทกึ หนงั สอื มกั จะถกู จดั เก็บเป็นเอกสาร JSON สาหรบั หนงั สอื แตล่ ะเลม่ รายการ, ISBN, ชอื่ หนงั สอื
, ครงั้ ที่พิมพ,์ ช่อื ผเู้ ขียน และรหสั ผเู้ ขียนจะถกู จดั เก็บเป็นคณุ ลกั ษณะในเอกสารเดียว ในโมเดลนี้ ขอ้ มลู ไดร้ บั การปรบั ปรุงประสทิ ธิภาพ
สาหรบั การพฒั นาท่ีงา่ ยและความสามารถในการปรบั ขนาดแนวนอน