ระบบฐานข้อมูล คือ ระบบจัดเก็บข้อมูลด้วยคอมพิวเตอร์โดยมีวัตถุประสงค์เพื่อบำรุงรักษาข้อสนเทศ (Maintain information) และสามารถนำข้อสนเทศเหล่านั้นมาใช้ได้ทุกเมื่อที่ต้องการ
ระบบฐานข้อมูลประกอบส่วนประกอบหลัก4 ส่วนได้แก่
1. ข้อมูล (Data) ข้อมูลในฐานข้อมูลจะต้องมีคุณสมบัติ 2 ประการ คือ เบ็ดเสร็จ (Integrate) ฐานข้อมูลเป็นแหล่งรวบรวมข้อมูลจากแฟ้มต่าง ๆ ไว้ครบถ้วนสมบูรณ์ เพื่อลดข้อมูลซ้ำซ้อนระหว่างแฟ้ม ใช้ร่วมกันได้ (Share) ข้อมูลแต่ละชิ้นในฐานข้อมูลสามารถนำมาแบ่งใช้กันได้ระหว่างผู้ใช้ต่าง ๆ ในระบบ
2. ฮาร์ดแวร์ (Hardware) ประกอบด้วย อุปกรณ์บันทึกข้อมูลเช่น จานแม่เหล็ก , I/O device , Device controller , I/O channels , หน่วยประมวลผล และหน่วยความจำหลัก
3. ซอฟต์แวร์ (Sorftware) ตัวกลางเชื่อมระหว่างฐานข้อมูลและผู้ใช้คือ DBMS เป็นซอฟต์แวร์ที่สำคัญที่สุดของระบบฐานข้อมูล นอกจากนี้ยังมี Utility , Application Develoment tool , Desisn aids , Report writers , ect.
4. ผู้ใช้ (Users) มี 3 กลุ่มใหญ่ ๆ คือ Application Programmer เขียนโปรแกรมประยุกต์ End Users ผู้ใช้ที่อยู่กับ Online terminal เข้าถึงข้อมูลโดยผ่านโปรแกรมประยุกต์ หรือผ่านภาษาเรียกค้น (Query Language) Data Addministrator & Database AdministratorDA ผู้บริหารอาวุโส เป็นผู้ตัดสินใจว่าจะเก็บข้อมูลใดในฐานข้อมูลก่อน และกำหนดนโยบายการรักษาความปลอดภัยของข้อมูลDBA ผู้เชี่ยวชาญระดับมืออาชีพ เป็นผู้สร้างฐานข้อมูลและนำมาใช้งานจริง โดยควบคุมทางด้านเทคนิคที่จำเป็นในการดำเนินนโยบายที่กำหนดโดย DA
- Relational Database คืออะไร อธิบายยาวๆ
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
ฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลแบบนี้แสดง การจัดเก็บข้อมูลในรูปแบบของตาราง ที่มีลักษณะเป็นสองมิติ คือ แถว (Row) และคอลัมน์ (Column) ซึ่งในการเชื่อมโยงกันระหว่างข้อมูลในตาราง 2 ตาราง หรือมากกว่า จะเชื่อมโยงโดยใช้แอททริบิวต์ที่มีอยู่ในตารางที่ต้องการเชื่อมโยงข้อมูลกัน โดยที่แอททริบิวต์จะแสดงคุณสมบัติของรีเลชั่นต่าง ๆ ซึ่งรีเลชั่นต่าง ๆ ได้ผ่านกระบวนการทำรีเลชั่นให้เป็นบรรทัดฐาน (Normalized) ในระหว่าง การออกแบบเพื่อละความซ้ำซ้อน เพื่อให้การจัดการฐานข้อมูลเป็นไปอย่างมีประสิทธิภาพ
ฉะนั้นสามารถสรุปโครงสร้างข้อมูลหลักที่สำคัญๆ ของฐานข้อมูลเชิงสัมพันธ์ ในส่วนที่เกี่ยวข้องกับการจัดเก็บข้อมูลและการค้นหาในฐานข้อมูล ดังนี้
1. ตารางเรคคอร์ดและฟิลด์ ข้อมูลต่างๆ ในฐานข้อมูลจะถูกจัดเก็บและนำเสนอในรูปแบบของตาราง โดยในตารางหนึ่งๆ จะจัดเก็บรวบรวมข้อมูลประเภทเดียวกันเข้าไว้ด้วยกัน ในแต่ละแถวและคอลัมน์ ซึ่งในศัพท์ของฐานข้อมูลจะเรียกฟิลด์ ในแต่ละแถวของตารางก็ คือ ข้อมูลหนึ่งชุดหรือข้อมูล 1 เรคคอร์ดในแต่ละแถวหรือเรคคอร์ดจะประกอบด้วยฟิลด์หรือคอลัมน์ที่เป็นส่วนย่อยที่แสดงแอททริบิวต์ของข้อมูลในแต่ละเรคคอร์ด
2. ดรรชนี ถ้าตารางข้อมูลมีนักศึกษาเก็บอยู่จำนวนมากการที่จะค้นหาข้อมูลที่ต้องการของนักศึกษาคนใดคนหนึ่งจะต้องเสียเวลาอย่างมาก เพราะจะต้องทำการค้นทีละเรคคอร์ด ในตารางไปจนกว่าจะครบ ข้อมูลของนักศึกษาที่ต้องการ เพื่อช่วยให้การค้นหาข้อมูลที่ต้องการทำได้รวดเร็วขึ้นฐานข้อมูลทั่วไปจึงมีโครงสร้างอีกชนิดหนึ่ง เรียกว่า ดรรชนีเพื่อสนับสนุนการค้นหาให้รวดเร็วขึ้น โดยปกติแล้วในแต่ละตารางจะมีฟิลด์หรือหลายฟิลด์ประกอบกันที่จะสามารถบอกถึงความแตกต่างของข้อมูลในแต่ละแถวได้ ฟิลด์หรือคอลัมน์ดังกล่าวเรียกว่าเป็นดรรชนีหลัก ของตาราง
3. ความสัมพันธ์ของตารางฐาน ข้อมูลแบบตารางสัมพันธ์ส่วนใหญ่แล้ว จะประกอบไปด้วยตารางข้อมูลต่างๆ หลายตาราง แต่ละตารางจะมีความสัมพันธ์กันในลักษณะใดลักษณะหนึ่ง
ประเภทของ Key มีอะไรบ้าง และมีลักษณะอย่างไร
1. คีย์หลัก ( Primary Key ) เป็นรีเลชั่นที่ถูกกำหนดขึ้นเพื่อเก็บข้อมูลเพื่อนำข้อมูลไปใช้ เมื่อมีการสร้างรีเลชั่นในภาษาสำหรับนิยามข้อมูล ( DDL ) เช่น SQL คำสั่ง CREATE TABLE เป็นการสร้างรีเลชั่นหลัก หลังจากนั้นก็จะทำการเก็บข้อมูลเพื่อการเรียกใช้ข้อมูลในภายหลัง รีเลชั่นหลักจะเป็นตารางที่มีการเก็บข้อมูลจริงไว้
2. คีย์นอก ( Foreign Key ) เป็นรีเลชั่นที่ถูกสร้างขึ้นตามความต้องการใช้ข้อมูลของผู้ใช้แต่ละคน เพราะผู้ใช้แต่ละคนในฐานข้อมูลอาจต้องการใช้ข้อมูลในลักษณะที่แตกต่างกัน จึงทำการกำหนดวิวของตนเองขึ้นจากรีเลชั่นหลักขึ้นมาต่างหาก เพื่อความสะดวกในการเรียกใช้ข้อมูล และช่วยในการรักษาความปลอดภัยของฐานข้อมูลทำได้ง่ายขึ้น
- วัตถุประสงค์ของการทำให้เป็นบรรทัดฐานมีอะไรบ้างอธิบายมาทั้งหมด รวมทั้งรูปแบบบรรทัดฐานของ Boyce / Cod Normal form (BCNF)
การออกแบบฐานข้อมูลในรูปแบบบรรทัดฐานเบื้องต้น
การออกแบบฐานข้อมูลในบทนี้คุณจะได้เรียนรู้วิธีการทำตารางข้อมูลให้อยู่ในรูปแบบบรรทัดฐาน (Normalization) ซึ่งเป็นวิธีการที่สำคัญมากถือเป็นหัวใจของระบบฐานข้อมูลเชิงสัมพันธ์ เพราะหากคุณสามารถทำได้ถูกต้อง จะส่งผลให้ระบบฐานข้อมูลของคุณถูกต้องตามหลักการและได้รับประโยชน์สูงสุดเท่าที่จะมีขึ้นได้
1. ความหมายของรูปแบบบรรทัดฐาน
1. การทำตารางข้อมูลให้อยู่ ในรูปแบบบรรทัดฐาน (Normalization) หมายถึง การออกแบบตาราง (Relation) ให้เป็น รูปแบบบรรทัดฐาน คือมีความเป็นปรกติไม่ก่อให้เกิดปัญหาข้อมูลขัดแย้ง (Inconsistency) ในที่เก็บต่าง ๆ ปัญหาการเพิ่ม - ปรับปรุง และลบข้อมูล (Insert,Updateand Delete Anomalies) ตลอดจนช่วยลดเน้อที่ในการจัดเก็บข้อมูลให้อยู่ในระดับที่ยอมรับได้อีกด้วยแนวคิดการทำตารางให้อยู่ในรูปแบบบรรทัดฐานนี้ อี .เอฟ.คอดด์ เป็ฯผู้คิดขึ้นมาเป็นคนแรกเมื่อประมาณปี ค.ศ. 1917 กล่าวคือ ได้คิดค้นรูปแบบบรรทัดฐานขั้นที่ 1,2และ3แต่ต่อมาพบว่ารูปแบบบรรทัดฐานขั้นที่ 3 มีข้อจำกัดบางอย่างจึงร่วมกันคิดค้นรูปแบบบรรทัดฐานขั้นที่ 3 ใหม่ขึ้นมาในราว ปี ค.ศ. 1974 กับบอยซ์ จึงนิยมเรียกว่า รูปแบบบรรทัดฐาน บอยซ์/คอดด์ (Boyce/codd Normal Form) สำหรับรูปแบบบรรทัดฐานขั้นที่ 4และ5นั้นคิดค้นโดย โรแนลด์ ฟาจิน (Ronald Fagin) ในปี ค.ศ.1977 และ 1979
รูปแบบบรรทัดฐานมีต่าง ๆ ระดับดังนี้
1. รูปแบบบรรทัดฐานขั้นที่ 1 (First Normal Form: 1NF)
2. รูปแบบบรรทัดฐานขึ้นที่ 2 (Second Normal Form: 2NF)
3 รูปแบบบรรทัดฐานขึ้นที่ 3(Third Normal Form: 2NF)
4. รูปแบบบรรทัดฐานขึ้นที่ 3 ใหม่ (Boyce/Codd Normal Form: 2NF)
5. รูปแบบบรรทัดฐานขึ้นที่ 4 Forth Normal Form: 2NF)
6. รูปแบบบรรทัดฐานขึ้นที่ 5 (FifthNormal Form: 2NF)
โครงสร้างของตาราง (Relvars) ซึ่งประกอบด้วยชื่อแอตทริบิวต์ต่าง ๆ ที่อยู่ในรูปแบบบรรทัดฐาน
ในขั้นต่าง ๆ มีลักษณะบอกระดับได้
นอกจากนี้ยังมีรูปแบบบรรทัดฐานอื่น ๆ ที่มีผู้คิดค้นขึ้นมาอีก ได้แก่ รูปแบบบรรทัดฐานโดเมน – คีย์ และรูปแบบบรรทัดฐานรีสตริกชั่น- ยูเนียน ซึ่งยังไม่มีงานศึกษาวิจัดสนับสนุนมากพอ ในปัจจุบันจึงถือว่า รูปแบบบรรทัดฐานขั้นที่ 5 นี้นับเป็นขึ้นสูงสุดแล้ว แต่ไม่จำเป็นเสมอไปที่ตารางหนึ่งในฐานข้อมูลของเราจะต้องสามารุทำให้อยู่ในรูปแบบบรรทัดฐานขั้นสูงสุดขึ้นอยู่กัลป์ปบลักษณะของข้อมูลในตาราง แบะปัญหาที่เตาต้องการแก้ไขในระบบฐานข้อมูลของเราว่ามีปัญหาการปรับปรุงข้อมูลในฐานข้อมูลนั้นหรือไม่ และการแก้ปัญหาจะทำได้ด้วยการทำให้ตารางข้อมูลอยู่ในรูปแบบบรรทัดฐานขั้นถัดไปหรือไม่แต่อย่างไรก็ตาม ในการออกแบบฐานข้อมูล เราควรมุ่งทำให้แอตทริบิวต์ในตาราง อยู่ในรูปแบบบรรทัดฐานขั้นที่สูงที่สุดเท่าที่จะเป็นไปได้ โดยทำตามหลักเกณฑ์ของรูปแบบบรรทัดฐานขั้นต่าง ๆ
รูปแบบบรรทัดฐานของบอยส์และคอดด์
(Boyce/Cod Normal Form : BCNF)