ความหมายของฐานข้อมูล

ระบบฐานข้อมูล คือ ระบบจัดเก็บข้อมูลด้วยคอมพิวเตอร์โดยมีวัตถุประสงค์เพื่อบำรุงรักษาข้อสนเทศ (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)