การออกแบบระบบฐานข้อมูล
รู้จักกับฐานข้อมูล
ฐานข้อมูล หมายถึง วิธีในการจัดการข้อมูลที่มีอยู่ในระบบ เพื่อใช้งานได้ง่าย รวมถึงการเปลี่ยนแปลงข้อมูลได้ง่าย เช่นการเพิ่มหรือลดข้อมูล เป็นต้น
ฐานข้อมูล หมายถึง แหล่งที่ใช้สำหรับเก็บรวบรวมข้อมูลซึ่งอยู่ในรูปแฟ้มข้อมูลมารวมไว้ที่เดียวกัน รวมทั้งต้องมีส่วนของพจนานุกรมข้อมูล (data dictionary) เก็บคำอธิบายเกี่ยวกับโครงสร้างของฐานข้อมูล และเนื่องจากข้อมูลที่จัดเก็บนั้นต้องมีความสัมพันธ์ซึ่งกันและกันทำให้สามารถสืบค้น (retrieval) แก้ไข (modified) ปรับปรุงเปลี่ยนแปลงโครงสร้าง ข้อมูล (update) และจัดเรียง (sort) ได้สะดวกขึ้นโดยในการกระทำการดังที่กล่าวมาแล้ว ต้องอาศัยซอฟต์แวร์ประยุกต์สำหรับจัดการฐานข้อมูลระบบฐานข้อมูล หมายถึง ระบบการรวบรวมแฟ้มข้อมูลหลายๆ แฟ้มข้อมูลเข้าด้วยกัน โดยขจัดความซ้ำซ้อนของข้อมูลออก แล้วเก็บข้อมูลไว้ที่ศูนย์กลาง เพื่อการใช้งานร่วมกันในองค์กร ภายในระบบต้องมีส่วนที่เป็นโปรแกรมประยุกต์ที่สร้างขึ้นเพื่อเชื่อมโยงและใช้งานข้อมูลในฐานข้อมูล (database) และจะต้องมีการดูแลรักษาความปลอดภัยของข้อมูลเหล่านั้น มีการกำหนดสิทธิของผู้ใช้งานแต่ละคนให้แตกต่างกัน ตามแต่ความต้องการในการใช้งาน
จากความหมายที่กล่าวมาข้างต้น ระบบฐานข้อมูลจะประกอบด้วยแฟ้มข้อมูลจำนวนหลายๆ แฟ้มดังตัวอย่างในรูป แฟ้มข้อมูลเหล่านี้ต้องมีการจัดระบบแฟ้มไว้อย่างดี กล่าวคือ ข้อมูลในแฟ้มข้อมูลเดียวกันต้องไม่มีการซ้ำซ้อนกัน แต่ระหว่างแฟ้มข้อมูลอาจมีการซ้ำซ้อนกันได้บ้าง และต้องเปิดโอกาสให้ผู้ใช้สามารถเข้าถึงข้อมูล และค้นหาได้ง่าย นอกจากนี้ยังสามารถ เพิ่มเติม หรือลบออกได้โดยไม่ทำให้ข้อมูลอื่นเสียหาย
ความสำคัญของระบบฐานข้อมูล
การจัดข้อมูลให้เป็นระบบฐานข้อมูลทำให้ข้อมูลมีส่วนดีกว่าการเก็บข้อมูลในรูปของแฟ้มข้อมูล เพราะการจัดเก็บข้อมูลในระบบฐานข้อมูล จะมีส่วนที่สำคัญกว่าการจัดเก็บข้อมูลในรูปของแฟ้มข้อมูลดังนี้
1 ลดการเก็บข้อมูลที่ซ้ำซ้อน
2.รักษาความถูกต้องของข้อมูล
3.การป้องกันและรักษาความปลอดภัยให้กับข้อมูลทำได้อย่างสะดวก
4.สามารถใช้ข้อมูลร่วมกันได้
5.มีความเป็นอิสระของข้อมูล
6.สามารถขยายงานได้ง่าย
7.ทำให้ข้อมูลบูรณะกลับสู่สภาพปกติได้เร็วและมีมาตรฐาน
ระบบฐานข้อมูลส่วนใหญ่เป็นระบบที่มีการนำระบบคอมพิวเตอร์เข้ามาช่วยใน การจัดเก็บ โดยมีโปรแกรม Software ช่วยในการจัดการข้อมูลเหล่านี้ เพื่อให้ได้ข้อมูลตามที่ผู้ใช้ต้องการ องค์ประกอบของฐานข้อมูลแบ่งออกเป็น 5 ประเภท คือ
1. ฮาร์ดแวร์ (Hardware) ในระบบฐานข้อมูลที่มีประสิทธิภาพควรมีฮาร์ดแวร์ต่าง ๆ ที่พร้อมจะอำนวยความสะดวกในการบริหารข้อมูลได้อย่างมีประสิทธิภาพไม่ว่าจะเป็นความเร็วของหน่วยประมวลผลกลาง ขนาดของหน่วยความจำหลัก อุปกรณ์นำเข้าและออกข้อมูล รายงานหน่วยความจำสำรองที่จะรองรับการประมวลผลข้อมูลในระบบได้อย่างมีประสิทธิภาพ
2. ซอฟต์แวร์ (Software) ในการประมวลผลข้อมูลอาจจะใช้ซอฟต์แวร์หรือโปรแกรมที่แตกต่างกัน ทั้งนี้ขึ้นอยู่กับคอมพิวเตอร์ที่นำมาใช้ว่าเป็นแบบใด โปรแกรมจะทำหน้าที่ดูแลการสร้าง การเรียกใช้ข้อมูลการจัดทำรายงาน การปรับเปลี่ยน แก้ไข โครงสร้างการควบคุม หรืออาจกล่าวได้อีกอย่างว่าระบบจัดการฐานข้อมูล (Database Management System : DBMS) คือ โปรแกรมประยุกต์ต่างๆ ที่มีอยู่ในฐานข้อมูล ตัวอย่างเช่น DBASE IV, EXCEL , ACCESS , INFORMIX , ORACLE เป็นต้น
3. ข้อมูล (Data) ฐานข้อมูลเป็นการจัดเก็บรวบรวมข้อมูลให้เป็นศูนย์กลางข้อมูลอย่างมีระบบ ซึ่งข้อมูลเหล่านี้สามารถเรียกใช้ร่วมกันได้ ผู้ใช้ข้อมูลในระบบฐานข้อมูลจะมองภาพข้อมูลในลักษณะที่แตกต่างกัน เช่น ผู้ใช้บางคนมองภาพของข้อมูลที่ถูกจัดเก็บได้ในสื่อข้อมูล ผู้ใช้
บางคนมองภาพข้อมูลจากการใช้งาน เป็นต้น ภาพประกอบที่ 20 สิ่งแวดล้อมของระบบฐานข้อมูล (วิเศษศักดิ์ โคตรอาษา. 2542 : 129)
4. บุคลากร (People) ในระบบฐานข้อมูลจะมีบุคลากรที่เกี่ยวข้อง ดังนี้
4.1 ผู้ใช้ทั่วไป (User) หมายถึง บุคลากรที่ใช้ข้อมูลจากระบบฐานข้อมูล เพื่อให้งานสำเร็จลุล่วงได้
4.2 พนักปฏิบัติการ (Operator) หมายถึง ผู้ปฏิบัติการด้านการประมวลผลการป้อนข้อมูลเข้าเครื่องคอมพิวเตอร์ 4.3 นักเขียนโปรแกรม (Programmer) หมายถึง ผู้ที่มีหน้าที่เขียนโปรแกรมประยุกต์ใช้งานต่างๆ เพื่อให้จัดเก็บข้อมูล การเรียกใช้ข้อมูลเป็นไปตามต้องการของผู้ใช้ 4.4 นักวิเคราะห์และออกแบบระบบ (System Analyst) หมายถึง บุคลากรที่ทำหน้าที่วิเคราะห์ระบบฐานข้อมูล และออกแบบระบบงานที่จะนำมาใช้ 4.5 ผู้บริหารฐานข้อมูล (Database Administrator) หมายถึง บุคลากรที่ทำหน้าที่บริการและควบคุมการบริหารงานของระบบฐานข้อมูล ทั้งหมดเป็นผู้ตัดสินใจว่าจะรวบรวมข้อมูลอะไรเข้าในระบบ จัดเก็บโดยวิธีใด เทคนิคการเรียกใช้ข้อมูล กำหนดระบบวิธีการรักษาความปลอดภัยของข้อมูล การสร้างระบบข้อมูลสำรอง การกู้และประสานงานกับผู้ใช้ว่ามีความต้องการใช้ข้อมูลอย่างไร รวมถึงการวิเคราะห์และการออกแบบระบบ เพื่อให้นักเขียนโปรแกรมนำไปเขียนโปรแกรมที่ใช้ในการบริหารงานระบบฐานข้อมูลได้อย่างมีประสิทธิภาพ
5. ขั้นตอนปฏิบัติงาน (procedure) ในระบบฐานข้อมูลที่ดีจะต้องมีการจัดทำเอกสารที่ระบุขั้นตอนการทำงานของหน้าที่ต่างๆ ระบบฐานข้อมูลทั้งในสภาวะปกติ และในสภาวะที่ระบบเกิดขัดข้องมีปัญหา ซึ่งเป็นขั้นตอนการปฏิบัติงานสำหรับบุคลากรในทุกระดับขององค์กร
ระบบฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) คือ ฐานข้อมูลที่ได้รับการใช้มากที่สุด โดยขึ้นกับพื้นฐานทางทฤษฎีที่เข้มแข็ง ด้านพีชคณิตเชิงสัมพันธ์ ไม่มีความจำเป็นในการทำความเข้าใจทางทฤษฎีความสัมพันธ์ในการใช้ฐานข้อมูลเชิงสัมพันธ์ แต่จำเป็นต้องเข้าใจแนวคิดฐานข้อมูลพื้นฐานบางประการสัมพันธ์ ฐานข้อมูลแบบนี้แสดง การจัดเก็บข้อมูลในรูปแบบของตาราง ที่มีลักษณะเป็นสองมิติ คือ แถว (Row) และคอลัมน์ (Column) ซึ่งในการเชื่อมโยงกันระหว่างข้อมูลในตาราง 2 ตาราง หรือมากกว่า จะเชื่อมโยงโดยใช้แอททริบิวต์ที่มีอยู่ในตารางที่ต้องการเชื่อมโยงข้อมูลกัน โดยที่แอททริบิวต์จะแสดงคุณสมบัติของรีเลชั่นต่าง ๆ ซึ่งรีเลชั่นต่าง ๆ ได้ผ่านกระบวนการทำรีเลชั่นให้เป็นบรรทัดฐาน (Normalized) ในระหว่าง การออกแบบเพื่อละความซ้ำซ้อน เพื่อให้การจัดการฐานข้อมูลเป็นไปอย่างมีประสิทธิภาพ
|
คำศัพท์ต่างๆ เกี่ยวกับระบบฐานข้อมูล
ข้อมูลในระบบฐานข้อมูลจะมีความสัมพันธ์กันดังนั้นในการออกแบบฐานข้อมูลเราจะต้องเข้าใจความสัมพันธ์ของข้อมูลให้ชัดเจนเพื่อให้ฐานข้อมูลในมีประสิทธิภาพ ก่อนอื่นเราจะต้องเข้าใจศัพท์ต่างๆ เกี่ยวกับระบบฐานข้อมูลดังนี้
- — เอนทิตี้ (Entity) เป็นคำที่อ้างถึงบุคคล สถานที่ และสิ่งของต่างๆ เช่น สินค้า ใบสั่งซื้อ และลูกค้า เป็นต้น
- — แอตทริบิวส์ (Attribute) เป็นข้อมูลที่แสดงลักษณะของเอนทิตี้ เช่น แอตทริบิ้วของเอนทิตี้ลูกค้า จะมี ชื่อ ที่อยู่ และรหัสไปรษณีย์ ส่วนแอตทริบิวต์ใบสั่งซื้อสินค้า จะมีรหัสใบสั่งซื้อ ชื่อ สินค้า จำนวนสินค้าที่สั่ง เป็นต้น
- · ความสัมพันธ์ (Relationship) หมายถึงความสัมพันธ์ระหว่างเอนทิตี้ต่างๆ ในระบบ
ส่วนประกอบของฐานข้อมูลเชิงสัมพันธ์
ระบบฐานข้อมูลในทางคอมพิวเตอร์ เนื่องจากคอมพิวเตอร์จะเก็บข้อมูลในรูปแบบบิต (เลข 0กับ 1 เท่านั้น) ซึ่ง 1 ไบต์ หรือ 1 อักขระ จะเท่ากับ 8 บิต ถ้าเราจะเข้าใจความหมายของการเก็บข้อมูลคอมพิวเตอร์เราจะต้องรู้ศัพท์ต่าง ๆ ดังนี้
◦ ฟิลด์(Field) หน่วยข้อมูลที่ประกอบมาจากอักขระต่างๆ หลายอักขระ
◦ เรคอร์ด (Record) จะเป็นการนำฟิลด์หลายๆฟิลด์มารวมกัน
◦ ตาราง (Table) จะเป็นการนำหลายๆเรคอร์ดมารวมกัน
ชนิดของความสัมพันธ์ (Relationship)
จากที่เราได้เรียนรู้แล้วว่า ระบบฐานข้อมูลเชิงสัมพันธ์ ก็คือ การรวบรวมตารางที่มีความสัมพันธ์กันเข้าไว้ด้วยกัน ซึ่งความสัมพันธ์เองก็มีหลายชนิด ดังนี้
1.ความสัมพันธ์หนึ่งต่อหนึ่ง (One – to- One Relationships) คือความสัมพันธ์ของเรคอร์ดในหนึ่งตารางจะมีความสัมพันธ์กับอีกหนึ่งเรคอร์ดในอีกหนึ่งตารางเท่านั้นไม่สามารถเกินหนึ่งได้ (1:1)
2. ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-many Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่ง ที่มีความสัมพันธ์กับข้อมูลหลาย ๆ ข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะ (1:m)
3. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลสองเอนทิตี้ในลักษณะกลุ่มต่อกลุ่ม (m:n)
ชนิดของคีย์ในฐานข้อมูลเชิงสัมพันธ์
- — คีย์หลัก (Primary Key) จะเป็นฟิลด์ที่ไม่ซ้ำกันในแต่ละเรคอร์ดในตารางนั้น เราสามารถใช้ฟิลด์ที่เป็น Primary Key นี้เป็นตัวแทนของตาราง
- — คีย์คู่แข่ง (candidate Key) เป็นฟิลด์หนึ่งหรือหลายฟิลด์ที่มีคุณสมบัติที่เป็น Primary Keyแต่ไม่คีย์หลัก เช่น ชื่อและนามสกุล สามารถรวมกันเป็นคีย์คู่แข่งได้
- — Composite Key เป็นฟิลด์ที่ใช้รวมกับฟิลด์อื่นๆ ที่เป็น Composite key เหมือนกันมาใช้เป็น Primary Key ของตาราง
- — Foreign Key เป็นฟิลด์ในตารางหนึ่ง ที่มีความสัมพันธ์กับ primary Key ในอีกตารางหนึ่ง
ประโยชน์ของฐานข้อมูลเชิงสัมพันธ์
1. ช่วยลดความซ้ำซ้อนของการจัดเก็บข้อมูล
2. ช่วยให้สามารถเรียกใช้ข้อมูลได้ตรงกัน(ข้อมูลอับเดทได้ทันเวลา) เนื่องจากข้อมูลถูกแก้ไขจากที่เดียวกัน
3. ช่วยป้องกันการผิดพลาดจากการป้อนข้อมูลและแก้ไขข้อมูล(ป้อนข้อมูลที่ตารางหลัก)
4. ช่วยประหยัดเนื้อที่การจัดเก็บข้อมูลในคอมพิวเตอร์ และอื่น ๆ (ไม่เก็บข้อมูลซ้ำซ้อน เก็บข้อมูลเท่าที่จำเป็น)
การออกแบบระบบฐานข้อมูล
การออกแบบระบบฐานข้อมูลเป็นขั้นตอนแรกในการสร้างแอพพลิเคชั่นฐานข้อมูล
จุดประสงค์ในการออกแบบฐานข้อมูล
• ลดความซ้ำซ้อนข้อมูลในฐานข้อมูล
• ตอบสนองความจำเป็นในการเรียกใช้ข้อมูลโดยใช้เวลาสั้นที่สุด
• ช่วยให้ตรวจสอบความถูกต้องรวมทั้งจัดมาตรฐานของข้อมูลได้สะดวก
• สามารถกำหนดลักษณะของผู้ใช้แต่ละประเภทได้
• ทำให้มีความเป็นอิสระระหว่างข้อมูลกับโปรแกรม
ขั้นตอนในการออกแบบฐานข้อมูล
- กำหนดเอนทิตี้ทุกตัวในระบบฐานข้อมูลนั้น ๆ
- กำหนดคีย์หลัก
- กำหนดความสัมพันธ์ระหว่างเอนทิตี้
- ทำการเปลี่ยนเอนทิตี้ให้อยู่ในรูปตาราง
โปรแกรมฐานข้อมูลที่นิยมใช้
โปรแกรมฐานข้อมูล เป็นโปรแกรมหรือซอฟแวร์ที่ช่วยจัดการข้อมูลหรือรายการต่าง ๆ ที่อยู่ในฐานข้อมูล ไม่ว่าจะเป็นการจัดเก็บ การเรียกใช้ การปรับปรุงข้อมูล
ฐานข้อมูล จะช่วยให้ผู้ใช้สามารถค้นหาข้อมูลได้อย่างรวดเร็ว ซึ่งโปรแกรมฐานข้อมมูลที่นิยมใช้มีอยู่ด้วยกันหลายตัว เช่น Access, FoxPro, Clipper, dBase, FoxBase, Oracle, SQL เป็นต้น โดยแต่ละโปรแกรมจะมีความสามารถต่างกัน บางโปรแกรมใช้ง่ายแต่จะจำกัดขอบเขตการใช้งาน บ่งโปรแกรมใช้งานยากกว่า แต่จะมีความสามารถในการทำงานมากกว่า
1.โปรแกรม Access นับเป็นโปรแกรมที่นิยมใช้กันมากในขณะนี้ โดยเฉพาะในระบบฐานข้อมูลขนาดใหญ่ สามารถสร้างแบบฟอร์มที่ต้องการจะเรียกดูข้อมูลในฐานข้อมูล หลังจากบันทึกข้อมูลในฐานข้อมูลเรียบร้อยแล้ว จะสามารถค้นหาหรือเรียกดูข้อมูลจากเขตข้อมูลใดก็ได้ นอกจากนี้ Access ยังมีระบบรักษาความปลอดภัยของข้อมูล โดยการกำหนดรหัสผ่านเพื่อป้องกันความปลอดภัยของข้อมูลในระบบได้ด้วย
2.โปรแกรม FoxPro เป็นโปรแกรมฐานข้อมูลที่มีผู้ใช้งานมากที่สุด เนื่องจากใช้ง่ายทั้งวิธีการเรียกจากเมนูของ FoxPro และประยุกต์โปรแกรมขึ้นใช้งาน โปรแกรมที่เขียนด้วย FoxPro จะสามารถใช้กลับdBase คำสั่งและฟังก์ชั่นต่าง ๆ ใน dBase จะสามารถใช้งานบน FoxPro ได้ นอกจากนี้ใน FoxPro ยังมีเครื่องมือช่วยในการเขียนโปรแกรม เช่น การสร้างรายงาน
3.โปรแกรม dBase เป็นโปรแกรมฐานข้อมูลชนิดหนึ่ง การใช้งานจะคล้ายกับโปรแกรม FoxProข้อมูลรายงานที่อยู่ในไฟล์บน dBase จะสามารถส่งไปประมวลผลในโปรแกรม Word Processor ได้ และแม้แต่ Excel ก็สามารถอ่านไฟล์ .DBF ที่สร้างขึ้นโดยโปรแกรม dBase ได้ด้วย
4. โปรแกรม SQL เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน มีประสิทธิภาพการทำงานสูง สามารถทำงานที่ซับซ้อนได้โดยใช้คำสั่งเพียงไม่กี่คำสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาหนึ่งที่มีผู้นิยมใช้กันมาก โดยทั่วไปโปรแกรมฐานข้อมูลของบริษัทต่าง ๆ ที่มีใช้อยู่ในปัจจุบัน เช่น Oracle, DB2 ก็มักจะมีคำสั่ง SQL ที่ต่างจากมาตรฐานไปบ้างเพื่อให้เป็นจุดเด่นของแต่ละโปรแกรมไป
การ Normalization
เป็นทฤษฎีที่ใช้ในการทำให้เอนทิตี้ และแอตทริบิวต์ที่ได้ออกแบบไว้ ถูกจัดกลุ่มเป็นตารางที่มีความสัมพันธ์ จุดประสงค์ของการ Normalization คือ
1. ลดความซ้ำซ้อนของข้อมูลในตาราง เพื่อจะได้ไม่ต้องไขข้อมูลในหลายๆ ที่
2. ทำให้การเปลี่ยนแปลงแก้ไขโครงสร้างของตารางในภายหลังทำให้ง่าย
3. ทำให้การเปลี่ยนแปลงโครงสร้างฐานข้อมูลมีผลกระทบต่อแอพพลิเคชั่นที่เข้าถึงข้อมูลในฐานข้อมูลน้อยที่สุด
ในการ Normalization ให้ได้ผลดีที่สุด เราต้องนำทั้งทฤษฎี และจุดประสงค์ในการทำงานมาใช้ร่วมกัน เช่น ในตัวอย่างนี้ ใบสั่งซื้อแต่ละใบ จะสั่งสินค้าชนิดเดียวกันเกิน 1 รายการไม่ได้ แต่ในระบบอาจจะทำได้ก็ได้ เป็นต้น ดังนั้น การออกแบบจึงควรยึดถือหลักความจริง ควบคู่กับการใช้ทฤษฎีด้วย
ในหัวข้อนี้ เราจะออกแบบจากข้อมูลการสั่งซื้อสินค้าที่มีอยู่จริงมาใช้ โดยเป็นข้อมูลที่ยังไม่ได้รับการ Normalization และเราจะแสดงการใช้กฎ Normalization ออกแบบตาราง จนได้ตารางที่มีการซ้ำซ้อนน้อยที่สุด
ตัวอย่างตารางข้อมูลในระบบการสั่งซื้อที่จะใช้แสดงการ Normalization โดยในตารางตัวอย่างที่ยกมาแสดงนี้เป็นข้อมูลจริง โดยมีข้อมูลแบ่งออกเป็นส่วนต่างๆ ต่อไปนี้
ข้อมูลสินค้า
รหัสชนิดสินค้า
|
ชื่อชนิดสินค้า
|
รหัสสินค้า
|
ชื่อสินค้า
|
ราคาต่อหน่วย
|
ภาษี
|
จำนวนในคลัง
|
01
|
หนังสือ
|
0005
|
คู่มือสำหรับผู้นำในยุค 90
|
219.63
|
Yes
|
409
|
0100
|
พูดอย่างมีวาทะ
|
219.63
|
Yes
|
155
| ||
02
|
CD – ROM
|
0125
|
SALES MANAGER FACTOMATIC
|
700.93
|
No
|
169
|
0051
|
SECRETS OF STARGATE
|
1,842.99
|
No
|
197
| ||
0010
|
US ATLAS
|
540.19
|
No
|
159
| ||
03
|
Hardware
|
0007
|
VIDEOCONVERENCING CARD – FLY VIDEO
|
369.16
|
Yes
|
205
|
0008
|
ชุดกล้องถ่ายวีดีโอ Panasonic Model VHS รุ่น NV – VX3
|
260.00
|
Yes
|
177
| ||
04
|
Multimedia
|
0023
|
JAPANESE 1, LIYC
|
278.00
|
No
|
326
|
0055
|
JAPANESE 2, LIYC
|
278.00
|
No
|
159
|
ข้อมูลการสั่งซื้อ
รหัสการสั่งซื้อ
|
รหัสลูกค้า
|
วันที่สั่งสินค้า
|
วันที่ส่งสินค้า
|
รหัสสินค้า
|
จำนวนสินค้าที่สั่งซื้อ
|
ส่วนลด (%)
|
102258
|
015
|
21/10/94
|
28/10/94
|
0005
|
8
|
25.00%
|
0100
|
8
|
0.00%
| ||||
0125
|
15
|
0.00%
| ||||
10265
|
181
|
21/10/94
|
27/10/44
|
0005
|
31
|
0.00%
|
0010
|
15
|
0.00%
| ||||
10278
|
213
|
24/10/94
|
3/11/94
|
0007
|
16
|
0.00%
|
0008
|
31
|
25.00%
| ||||
0023
|
4
|
0.00%
|
ข้อมูลลูกค้า
รหัสลูกค้า
|
ชื่อลูกค้า
|
ที่อยู่ลูกค้า
|
รหัสไปรษณีย์
|
หมายเลขโทรศัพท์
|
003
|
P & S STORE
|
ชั้น 1 อาจารเสิรมมิตรทาวเวอร์ 159 สุขุมวิท 21 (อโศก) คลองเตย กทม.
|
10330
|
250-0750
|
015
|
Hope Shop
|
สมาคมผรั่งเศส 29 ถ.สาธรใต้ ยานนาวา กทม.
|
10110
|
240-2865-75
|
181
|
The Book Shop
|
Asia Hotel 296 ถ.พญาไท กทม.
|
10330
|
267-8850-5
|
213
|
P’S Line
|
2675 หมู่ 9 ลาดพร้าว ซ.95 วังทองหลาง บางกะปิ กทม.
|
10330
|
253-0123
|
008
|
The Bookseller
|
428 Rama I Road, Siam Square Bangkok
|
10500
|
233-1717
|
กฎการ Normalization
กฎการ Normalization เป็นกฎที่ใช้ในการออกแบบตาราง โดยทั่วไปเราจะใช้กฎการ Normalization นี้ เพียงแค่ 3 ข้อ ก็เพียงพอในการออกแบบตารางโดยทั่วไปแล้ว และถ้าตารางนั้นผ่านกฎข้อที่ 3 ตารางนั้น ก็จะต้องผ่านกฎข้อที่ 1 และ 2 ด้วย แผนภูมิแสดงการ Normalization ในแต่ละขั้นตอน ดังรูป
รูปภาพที่ แสดงแผนภูมิแสดงการ Normalization
รายละเอียดของการใช้กฎ Normalization แต่ละข้อดังต่อไปนี้
กฎข้อที่ 1 (First Normal Form)
กฎข้อที่ 1 กล่าวว่า จะต้องไม่มีเซลใดในตารางที่มีค่าเกินหนึ่งค่า ดังนั้นเราสามารถ ทำให้ตารางผ่านกฎข้อที่ 1 ได้ด้วยการแยกเซลที่มีค่าเกินหนึ่งออกเป็นเรคอร์ดใหม่ เราอธิบายการใช้กฎข้อที่ 1 กับตารางตัวอย่างที่ผ่านมาเรียนไปที่ละตารางต่อไปนี้
1. ตาราง Products
จากตารางนี้ เราสามารถแยกออกเป็นเรคอร์ดใหม่ได้ โดยมีฟิลด์รหัสสินค้า ชื่อ ชนิดสินค้า ซึ่งเป็นฟิลด์ที่เก็บค่าในเซลเกินหนึ่งค่า เพิ่มเข้าไปในแต่ละเรคอร์ดใหม่ และตารางใหม่นี้มีคีย์หลัก คือ รหัสสินค้า เราได้ตารางใหม่ดังนี้
ก่อนการใช้กฎข้อที่ 1
รหัสชนิดสินค้า
|
ชื่อชนิดสินค้า
|
รหัสสินค้า
|
ชื่อสินค้า
|
ราคาต่อหน่วย
|
ภาษี
|
จำนวนในคลัง
|
01
|
หนังสือ
|
005
|
คู่มือสำหรับผู้นำในยุค 90
|
219.63
|
Yes
|
409
|
0100
|
พูดอย่างมีวาทะ
|
219.63
|
Yes
|
155
| ||
02
|
CD-ROM
|
0125
|
SALES MANAGER FACTOMATIC
|
700.00
|
No
|
169
|
0051
|
SECRETS OF STARGATE
|
1842.99
|
No
|
197
| ||
0010
|
US ATLAS
|
540.19
|
No
|
159
| ||
03
|
Hardware
|
0007
|
VIDEOCONVERENCING CARD-FLY VIDEO
|
369.16
|
Yes
|
205
|
0008
|
ชุดกล้องถ่ายวีดีโอ Panasonic Mode VHS
|
260.00
|
Yes
|
177
| ||
04
|
Multimedia
|
0023
|
JAPANESE 1, LIYC
|
278.00
|
No
|
326
|
0055
|
JAPANESE 2, LIYC
|
278.00
|
No
|
159
|
หลังการใช้กฎข้อที่ 1
รหัสชนิดสินค้า
|
ชื่อชนิดสินค้า
|
รหัสสินค้า
|
ชื่อสินค้า
|
ราคาต่อหน่วย
|
ภาษี
|
จำนวนในคลัง
|
01
|
หนังสือ
|
005
|
คู่มือสำหรับผู้นำในยุค 90
|
219.63
|
Yes
|
409
|
01
|
หนังสือ
|
0100
|
พูดอย่างมีวาทะ
|
219.63
|
Yes
|
155
|
02
|
CD-ROM
|
0125
|
SALES MANAGER FACTOMATIC
|
700.00
|
No
|
169
|
02
|
CD-ROM
|
0051
|
SECRETS OF STARGATE
|
1842.99
|
No
|
197
|
02
|
CD-ROM
|
0010
|
US ATLAS
|
540.19
|
No
|
159
|
03
|
Hardware
|
0007
|
VIDEOCONVERENCING CARD-FLY VIDEO
|
369.16
|
Yes
|
205
|
03
|
Hardware
|
0008
|
ชุดกล้องถ่ายวีดีโอ Panasonic Mode VHS
|
260.00
|
Yes
|
177
|
04
|
Multimedia
|
0023
|
JAPANESE 1, LIYC
|
278.00
|
No
|
326
|
04
|
Multimedia
|
0055
|
JAPANESE 2, LIYC
|
278.00
|
No
|
159
|
2. ตาราง Orders
จากตารางนี้ เราสามารถแยกเป็นเรคอร์ดใหม่ได้ โดยมีฟิลด์ รหัสการสั่งซื้อ รหัสลูกค้า วันที่สั่ง และวันที่ส่ง ซึ่งเป็นฟิลด์ที่เก็บค่าในเซลเกินหนึ่งค่า เพิ่มเข้าไปในแต่ละเรคอร์ดใหม่ และตารางใหม่นี้มีคีย์หลัก คือ ฟิลด์รหัสการสั่งซื้อ และรหัสสินค้า เนื่องจากฟิลด์รหัสการสั่งซื้อ จะไม่ซ้ำกันในแต่ละการสั่งซื้อ และในแต่ละการสั่งซื้อ จะไม่สามารถสั่งสินค้าชนิดเดียวกันซ้ำกันได้ เราได้ตารางดังนี้
ก่อนการใช้กฎข้อที่ 1
รหัสการสั่งซื้อ
|
รหัสลูกค้า
|
วันที่สั่งสินค้า
|
วันที่ส่งสินค้า
|
รหัสสินค้า
|
จำนวนสินค้าที่สั่งซื้อ
|
ส่วนลด (%)
|
102258
|
015
|
21/10/94
|
28/10/94
|
0005
|
8
|
25.00%
|
0100
|
8
|
0.00%
| ||||
0125
|
15
|
0.00%
| ||||
10265
|
181
|
21/10/94
|
27/10/44
|
0005
|
31
|
0.00%
|
0010
|
15
|
0.00%
| ||||
10278
|
213
|
24/10/94
|
3/11/94
|
0007
|
16
|
0.00%
|
0008
|
31
|
25.00%
| ||||
0023
|
4
|
0.00%
|
หลังการใช้กฎข้อที่ 1
รหัสการสั่งซื้อ
|
รหัสลูกค้า
|
วันที่สั่งสินค้า
|
วันที่ส่งสินค้า
|
รหัสสินค้า
|
จำนวนสินค้าที่สั่งซื้อ
|
ส่วนลด (%)
|
102258
|
015
|
21/10/94
|
28/10/94
|
0005
|
8
|
25.00%
|
102258
|
015
|
21/10/94
|
28/10/94
|
0100
|
8
|
0.00%
|
102258
|
015
|
21/10/94
|
28/10/94
|
0125
|
15
|
0.00%
|
10265
|
181
|
21/10/94
|
27/10/44
|
0005
|
31
|
0.00%
|
10265
|
181
|
21/10/94
|
27/10/44
|
0010
|
15
|
0.00%
|
10278
|
213
|
24/10/94
|
3/11/94
|
0007
|
16
|
0.00%
|
10278
|
213
|
24/10/94
|
3/11/94
|
0008
|
31
|
25.00%
|
10278
|
213
|
24/10/94
|
3/11/94
|
0023
|
4
|
0.00%
|
3. ตาราง Customers
ตารางนี้จะไม่มีกลุ่มของฟิลด์ที่ซ้ำกันอยู่แล้ว
กฎข้อที่ 2 (Second Normal Form)
กฎข้อที่ 2 กล่าวว่า ตารางที่ผ่านกฎข้อที่ 2 จะต้องไม่มีแอททริบิวต์ที่ไม่ใช่คีย์ตัวใด (เราเรียกว่า Non-key Attribute) ขึ้นกับส่วนใดส่วนหนึ่งของคีย์หลัก จะต้องขึ้นกับคีย์หลักแบบเต็มๆ เท่านั้น
เราสามารถทำให้ตารางผ่านกฎข้อที่ 2 โดยการแยกฟิลด์ที่ขึ้นเฉพาะกับส่วนหนึ่งของคีย์กับฟิลด์ที่มันขึ้นด้วย ออกมาสร้างเป็นตารางใหม่ เราจะแสดงการใช้กฎข้อที่ 2 ดังต่อไปนี้
1. ตาราง Product และ Customer
ตารางที่ผ่านกฎข้อที่ 2 เนื่องจากคีย์หลักคือ ฟิลด์รหัสสินค้าของตาราง Products และรหัส-ลูกค้าของตาราง Customers ซึ่งฟิลด์อื่นๆ ทุกฟิลด์ขึ้นกับคีย์หลักนี้ทุกฟิลด์
2. ตาราง Orders
ตารางนี้ไม่ผ่านกฎข้อที่ 2 เนื่องจากมีฟิลด์รหัสลูกค้า วันที่ส่ง และวันที่ส่ง จะขึ้นกับฟิลด์รหัสสั่งซื้อเท่านั้น ซึ่งเป็นส่วนหนึ่งของคีย์หลัก (รหัสการสั่งซื้อ และรหัสสินค้า เป็นคีย์หลักแบบ Composite Key) เมื่อใช้กฎข้อที่ 2 แล้วเราจะได้ตาราง 2 ตาราง คือ
- ตารางที่ 1 ชื่อ ตาราง Orders เป็นตารางที่ประกอบด้วยฟิลด์รหัสการสั่งซื้อ ซึ่งเป็นคีย์หลักของตารางใหม่ และฟิลด์ที่ขึ้นกับฟิลด์รหัสการสั่งซื้อเท่านั้น
- ตารางที่ 2 ชื่อ ตาราง OrderDetails เป็นตารางที่ประกอบด้วยฟิลด์รหัสการสั่งซื้อ และรหัสสินค้า ซึ่งเป็นคีย์หลักของตารางเดิม และฟิลด์ที่เหลือจากตารางแรก ตารางนี้จะเก็บข้อมูลการสั่งซื้อแต่ละรายการ ในการสั่งซื้อแต่ละครั้งไว้ เราได้ตารางใหม่ดังตาราง ข้างล่างนี้
ก่อนการใช้กฎข้อที่ 2
รหัสการสั่งซื้อ
|
รหัสลูกค้า
|
วันที่สั่งสินค้า
|
วันที่ส่งสินค้า
|
รหัสสินค้า
|
จำนวนสินค้าที่สั่งซื้อ
|
ส่วนลด (%)
|
102258
|
015
|
21/10/94
|
28/10/94
|
0005
|
8
|
25.00%
|
102258
|
015
|
21/10/94
|
28/10/94
|
0100
|
8
|
0.00%
|
102258
|
015
|
21/10/94
|
28/10/94
|
0125
|
15
|
0.00%
|
10265
|
181
|
21/10/94
|
27/10/44
|
0005
|
31
|
0.00%
|
10265
|
181
|
21/10/94
|
27/10/44
|
0010
|
15
|
0.00%
|
10278
|
213
|
24/10/94
|
3/11/94
|
0007
|
16
|
0.00%
|
10278
|
213
|
24/10/94
|
3/11/94
|
0008
|
31
|
25.00%
|
10278
|
213
|
24/10/94
|
3/11/94
|
0023
|
4
|
0.00%
|
หลังการใช้กฎข้อที่ 2
รหัสการสั่งซื้อ
|
รหัสลูกค้า
|
วันที่สั่งสินค้า
|
วันที่ส่งสินค้า
|
รหัสการสั่งซื้อ
|
รหัสสินค้า
|
จำนวนสินค้าที่สั่งซื้อ
|
ส่วนลด(%)
| |
102258
|
015
|
21/10/94
|
28/10/94
|
102258
|
0005
|
8
|
25.00%
| |
10265
|
181
|
21/10/94
|
27/10/94
|
102258
|
0100
|
8
|
0.00%
| |
10278
|
213
|
24/10/94
|
3/11/94
|
102258
|
0125
|
15
|
0.00%
| |
10265
|
0005
|
31
|
0.00%
| |||||
10265
|
0010
|
15
|
0.00%
| |||||
10278
|
0007
|
16
|
0.00%
| |||||
10278
|
0008
|
31
|
25.00%
| |||||
10278
|
0023
|
4
|
0.00%
|
ความสัมพันธ์ระหว่างตารางทั้ง 2 จะเป็นแบบ One – to – Many จากตาราง Orders ไปยังตาราง OrderDetails เนื่องจากการสั่งสินค้า 1 ครั้ง จะสั่งสินค้าได้หลายรายการ
กฎข้อที่ 3 (Third Normal Form)
กฎข้อที่ 3 กล่าวว่า ตารางที่ผ่านกฎข้อที่ 3 จะต้องไม่มีแอททริบิวต์ใดในตารางขึ้นกับแอททริบิวต์อื่นที่ไม่ใช่คียห์หลัก หรือคีย์คู่แข่ง จากที่กล่าวมา เราสามารถทำให้ตารางของเราผ่านกฎข้อที่ 3 ด้วยการแยกฟิลด์ที่ขึ้นกับฟิลด์อื่นๆ นั้นออกมาเป็นตารางใหม่ และคีย์หลักของตารางใหม่จะเป็นฟิลด์ที่ฟิลด์นั้นขึ้นด้วย เราจะแสดงการใช้กฎข้อที่ 3 ดังต่อไปนี้
1. ตาราง Products
ตารางนี้ไม่ผ่านกฎข้อที่ 3 เนื่องจากฟิลด์ชื่อชนิดสินค้าขึ้นกับฟิลด์รหัสชนิดสินค้าที่ไม่ใช่คีย์หลักหรือคีย์คู่แข่ง จากที่กล่าวมา เราสามารถทำให้ตารางของเราผ่านกฎข้อที่ 3 ด้วยการแยกฟิลด์ที่ขึ้นกับฟิลด์อื่นๆ นั้นออกมาเป็นตารางใหม่ และคีย์หลักของตางใหม่จะเป็นฟิลด์ที่ฟิลด์นั้นขึ้นด้วย เราจะแสดงการใช้กฎข้อที่ 3 ดังต่อไปนี้
- ตารางที่ 1 ชื่อ ตาราง Categories เป็นตารางที่ประกอบด้วยฟิลด์รหัสชนิดสินค้า (ที่เป็นคียห์หลักของตารางใหม่) และชื่อชนิดสินค้า ซึ่งเป็นข้อมูลที่เกี่ยวกับชนิดสินค้าเท่านั้น
- ตารางที่ 2 ชื่อตาราง Products เป็นตารางที่ประกอบด้วยฟิลด์ที่มีทั้งหมด ยกเว้นฟิลด์ชื่อชนิดสินค้า โดยมีคีย์หลักเป็นรหัสสินค้าเหมือนตารางเดิม ดังตารางข้างล่างนี้
ก่อนการใช้กฎข้อที่ 3
รหัสชนิดสินค้า
|
ชื่อชนิดสินค้า
|
รหัสสินค้า
|
ชื่อสินค้า
|
ราคาต่อหน่วย
|
ภาษี
|
จำนวนในคลัง
|
01
|
หนังสือ
|
005
|
คู่มือสำหรับผู้นำในยุค 90
|
219.63
|
Yes
|
409
|
01
|
หนังสือ
|
0100
|
พูดอย่างมีวาทะ
|
219.63
|
Yes
|
155
|
02
|
CD-ROM
|
0125
|
SALES MANAGER FACTOMATIC
|
700.00
|
No
|
169
|
02
|
CD-ROM
|
0051
|
SECRETS OF STARGATE
|
1842.99
|
No
|
197
|
02
|
CD-ROM
|
0010
|
US ATLAS
|
540.19
|
No
|
159
|
03
|
Hardware
|
0007
|
VIDEOCONVERENCING CARD-FLY VIDEO
|
369.16
|
Yes
|
205
|
03
|
Hardware
|
0008
|
ชุดกล้องถ่ายวีดีโอ Panasonic Mode VHS
|
260.00
|
Yes
|
177
|
04
|
Multimedia
|
0023
|
JAPANESE 1, LIYC
|
278.00
|
No
|
326
|
04
|
Multimedia
|
0055
|
JAPANESE 2, LIYC
|
278.00
|
No
|
159
|
หลังการใช้กฎข้อที่ 3
รหัสชนิดสินค้า
|
ชื่อชนิดสินค้า
|
รหัสชนิดสินค้า
|
รหัสสินค้า
|
ชื่อสินค้า
|
ราคาต่อหน่วย
|
ภาษี
|
จำนวนในคลัง
| |
01
|
หนังสือ
|
01
|
0005
|
คู่มือสำหรับผู้นำในยุค 90
|
219.63
|
Yes
|
409
| |
02
|
CD-ROM
|
01
|
0100
|
พูดอย่างมีวาทะ
|
219.63
|
Yes
|
155
| |
03
|
Hardware
|
02
|
0125
|
SALES MANAGER FACTOMATIC
|
700.00
|
No
|
169
| |
04
|
Multimedia
|
02
|
0051
|
SECRETS OF STARGATE
|
1842.99
|
No
|
197
| |
02
|
0010
|
US ATLAS
|
540.19
|
No
|
159
| |||
03
|
0007
|
VIDEOCONVERENCING CARD-FLY VIDEO
|
369.16
|
Yes
|
205
| |||
03
|
0008
|
ชุดกล้องถ่ายวีดีโอ Panasonic Mode VHS
|
260.00
|
Yes
|
177
| |||
04
|
0023
|
JAPANESE 1, LIYC
|
278.00
|
No
|
326
| |||
04
|
0055
|
JAPANESE 2, LIYC
|
278.00
|
No
|
159
|
และความสัมพันธ์ของตารางทั้ง 2 เป็นแบบ One – to – Many จากตาราง Categories ไปยังตาราง Products เนื่องจากชนิดสินค้าหนึ่งสามารถมีสินค้าได้หลายอย่าง
2. ตาราง Order, OrderDetail และ Customer
ตารางทั้งสามนี้ ผ่านกฎข้อที่ 3 ทั้งหมด เนื่องจากฟิลด์ทุกตัวในตารางขึ้นกับคีย์หลักทั้งหมด ไม่ได้ขึ้นกับฟิลด์อื่นๆ เลย
กฎการ Normalization ข้อที่ 3 นี้ เราเรียกว่า BCNF (Boyce/Codd Normal Form ซึ่งเป็นกฎข้อที่ 3 ที่ได้รับการปรับปรุงขึ้นใหม่)
กฎข้อที่ 4 (Fourth Normal Form)
กฎข้อที่ 4 กล่าวว่า ตารางที่ผ่านกฎข้อที่ 4 จะต้องไม่มีการขึ้นต่อกันแบบเชิงกลุ่ม (Multivalued Dependency) ซึ่งเป็นความสัมพันธ์แบบ Many – to – Many ภายในตารางเดียวกัน เช่น ในตารางเดียวกันจะมีฟิลด์ B ที่ขึ้นต่อฟิลด์ A โดยการขึ้นต่อกันนี้เป็นอิสระจากอีกฟิลด์หนึ่ง คือ ฟิลด์ C เราสามารถทำให้ตาราง
ตารางตั้งต้น
รหัสนักศึกษา
|
ชื่อนักศึกษา
|
รหัสอาจารย์ที่ปรึกษา
|
ชื่อวิชา
|
2001
|
แดง
|
1001
1002
|
ภาษาอังกฤษ
ประวัติศาสตร์
ภาษาเยอรมัน
|
2002
|
ดำ
|
1003
|
ภาษาญี่ปุ่น
คณิตศาสตร์
|
2003
|
เขียว
|
1004
1005
|
ภาษาอังกฤษ
ประวัติศาสตร์
|
สามารถแปลงเป็น First Normal Form ได้ดังตารางนี้
รหัสนักศึกษา
|
ชื่อนักศึกษา
|
รหัสอาจารย์ที่ปรึกษา
|
ชื่อวิชา
|
2001
|
แดง
|
1001
|
ภาษาอังกฤษ
|
2001
|
แดง
|
1001
|
ประวัติศาสตร์
|
2001
|
แดง
|
1001
|
ภาษาเยอรมัน
|
2001
|
แดง
|
1002
|
ภาษาอังกฤษ
|
2001
|
แดง
|
1002
|
ประวัติศาสตร์
|
2001
|
แดง
|
1002
|
ภาษาเยอรมัน
|
2002
|
ดำ
|
1003
|
ภาษาญี่ปุ่น
|
2002
|
ดำ
|
1003
|
คณิตศาสตร์
|
2003
|
เขียว
|
1004
|
ภาษาอังกฤษ
|
2003
|
เขียว
|
1004
|
ประวัติศาสตร์
|
2003
|
เขียว
|
1004
|
ภาษาอังกฤษ
|
2003
|
เขียว
|
1004
|
ประวัติศาสตร์
|
เนื่องจากตารางที่กล่าวมานี้เป็นตารางที่ผ่านกฎข้อที่ 3 คือ ไม่มีแอททริบิวต์ใดขึ้นกับแอททริบิวต์อื่นที่ไม่ใช่คีย์หลัก หรือคีย์คู่แข่ง แต่ไม่ผ่านกฎข้อที่ 4 เนื่องจากมีการขึ้นต่อกับเชิงกลุ่ม เช่น นักศึกษาชื่อ แดงมีอาจารย์ที่ปรึกษา 2 คน แต่ลงวิชาเรียนไป 3 วิชา ซึ่งรหัสอาจารย์ที่ปรึกษา กับชื่อวิชาที่ลงไปเป็นข้อมูลที่ไม่ขึ้นต่อกัน ซึ่งเราสามารถปรับให้เป็น 4NF ได้ด้วยการทำแบ่งตารางนี้ออกเป็น 2 ตารางต่อไป ซึ่งตารางทั้งสองจะประกอบด้วยแอตทริบิวต์ที่เกี่ยวข้องกันเท่านั้น
รหัสนักศึกษา
|
ชื่อนักศึกษา
|
รหัสอาจารย์ที่ปรึกษา
|
รหัสนักศึกษา
|
ชื่อนักศึกษา
|
ชื่วิชา
| |
2001
|
แดง
|
1001
|
2001
|
แดง
|
ภาษาอังกฤษ
| |
2001
|
แดง
|
1002
|
2001
|
แดง
|
ประวัติศาสตร์
| |
2002
|
ดำ
|
1003
|
2001
|
แดง
|
ภาษาเยอรมัน
| |
2003
|
เขียว
|
1004
|
2002
|
ดำ
|
ภาษาญี่ปุ่น
| |
2003
|
เขียว
|
1005
|
2002
|
ดำ
|
คณิตศาสตร์
| |
2003
|
เขียว
|
ภาษาอังกฤษ
| ||||
ตารางที่ผ่านการใช้กฎข้อที่ 4
|
2003
|
เขียว
|
ประวัติศาสตร์
|
โดยทั่วไปแล้ว การ Normalization นั้น เราใช้ถึงกฎข้อที่ 3 ก็เพียงพอแล้ว เนื่องจากมีตารางน้อยมากที่จะต้องใช้กฎข้อที่ 4
สรุปตารางที่ออกแบบได้ทั้งหมด
ในหัวข้อนี้ เราจะสรุปตารางที่ออกแบบเสร็จแล้ว โดยการ Normalization ที่ผ่านมาเราสามารถสรุปตารางที่ออกแบบได้ดังรูปต่อไปนี้
เนื่องจากตัวอย่างทุกๆ ตัวอย่างจะใช้ชื่อฟิลด์ทุกๆ ตัวเป็นชื่อภาษาอังกฤษเพื่อให้มีความเป็นมาตรฐานและเข้าใจได้ง่ายขึ้นดังนั้นจากรูปข้างต้นเราสามารถสรุปตารางออกมาได้เป็นชื่อฟิลด์เป็นภาษาอังกฤษได้ดังรูป
โดยสรุปแล้ว ความเข้าใจความหมายและการออกแบบฐานข้อมูลเป็นความเข้าใจพื้นฐานที่ต้องมีในเบื้องต้น ก่อนที่จะใช้โปรแกรมจัดการฐานข้อมูลใด ๆ นั่นคือ ความเข้าใจในองค์ประกอบของฐานข้อมูล ได้แก่ เอนทิตี้ แอตทริบิวต์ และความสัมพันธ์ รวมถึงความเข้าใจเรื่อง Normalization ได้แก่ ชนิดคีย์ต่างๆและกฎของการ Normalization ซึ่งเป็นหัวใจสำคัญในการออกแบบฐานข้อมูล
อ้างอิง
http://kruoong.blogspot.com/2011/12/blog-post.html