การแบง่ ระดบั ของขอ้ มลู ออกเปน็ ระดับตา่ ง ๆ มีวตั ถุประสงค์เพอ่ื ใหก้ ารใช้ขอ้ มลู ของผู้ใช้เป็นไปอย่าง
เหมาะสม (ศริ ิลกั ษณฑ์ โรจนกจิ อานวย, 2548, 31)
ในราวปี ค.ศ. 1975 ทางสถาบัน ANSI (American National Standards Institute : ANSI)
และ Standards Planning and Requirements Committee (SPARC) หรือเรยี กว่าช่ือย่อวา่ ANSI-
SPARC ได้กาหนดสถาปัตยกรรมฐานข้อมูลใหม่โดยมี 3 ระดับดว้ ยกนั ท่เี รียกว่า Three-Level
Architecture ซ่งึ ประกอบด้วย
1. ระดบั ภายนอก (External level)
2. ระดบั แนวคดิ (Conceptual level)
3. ระดับภายใน (Internal level)
Database and Application in Business
30
ฐานข้อมูลและการประยกุ ต์ใชใ้ นงานธุรกจิ
รูปท่ี 2.1 ระดับของขอ้ มูลทั้ง 3 ระดับ
โดยสถาปัตยกรรมแต่ละระดับของระบบฐานข้อมูล จะมรี ายละเอียดดงั น้ี
1. ระดับภายนอกหรอื ววิ (External Level หรอื View)
เป็นระดับของข้อมูลทีอ่ ยู่สูงทส่ี ุด ประกอบดว้ ยภาพทผี่ ใู้ ชแ้ ตล่ ะคนจะมองข้อมูลหรือวิว
(View) ของตน เปน็ ระดบั ทีเ่ กี่ยวขอ้ งกับผใู้ ชง้ านมากท่ีสดุ
โดยความเป็นจรงิ แลว้ โครงสร้างขอ้ มูลในระดบั ภายนอกนีก้ ค็ ือบางส่วนของข้อมูลใน
ฐานข้อมลู ของระดับระดบั แนวคิดนน่ั เอง กล่าวคือ ในระดบั แนวคดิ จะเป็นโครงสร้างหลกั ของ
ระบบโดยรวมท้ังหมด แต่ผู้ใชก้ ไ็ มม่ คี วามจาเป็นทจี่ ะตอ้ งเหน็ โครงสร้างทั้งหมด เพียงแตต่ ้องการ
ข้อมูลบางส่วนเท่าน้ัน เช่น หากมีความต้องการทราบว่านกั ศกึ ษานีอ้ ยสู่ าขาใด ก็ไม่มคี วามจาเปน็
ที่จะต้องเห็นโครงสร้างข้อมลู ท้งั หมดของนกั ศกึ ษาทั้งหมดของสาขา ซึ่งจะเหน็ ไดว้ า่ มกี ารรีเลชนั
ระหวา่ งโครงสร้างขอ้ มูลนกั ศึกษากับโครงสรา้ งขอ้ มลู สาขา ซงึ่ เปน็ ส่วนของระดับแนวคิด ดงั นั้น
ระดบั ภายนอกจึงนาขอ้ มลู เพยี งบางสว่ นของระดับแนวคดิ มาเพอ่ื แสดงขอ้ มลู แก่ผ้ใู ช้งานบางสว่ น
หรอื เทา่ ทจ่ี าเป็นเท่าน้นั
2. ระดบั แนวคดิ (Conceptual Level)
เป็นระดับของข้อมูลท่อี ยู่ถัดลงมา เป็นการมองเอน็ ติตี้และความสัมพันธ์ระหวา่ งเอ็นตติ ้ี
รวมทั้งกฎเกณณ์และขอ้ จากดั ต่าง ๆ ในระดบั นี้ อาจจะเรียกอีกชอื่ หนึง่ ว่าเป็น โครงสร้างข้อมลู
ระดบั ลอจคิ อล (logical) จัดเป็นโครงสรา้ งหลกั ของระบบโดยรวม สาหรับโครงสรา้ งในระดบั นี้
ม่งุ เน้นความสัมพนั ธ์ (relationship) ระหวา่ งข้อมูลเป็นหลักสาคัญ หรอื เรยี กวา่ แบบจาลองขอ้ มูล
(data model) ดังนั้น การกระทาหรือการปฏบิ ัติการใดๆ ในโปรแกรมจากผูใ้ ช้งานจะปฏบิ ัติบน
โครงสรา้ งขอ้ มลู ในระดบั นเี้ ท่าน้ัน โดยโครงสรา้ งในระดับลอจิคัลน้เี ปน็ ระดับที่อธบิ ายถงึ ว่า ข้อมลู
Database and Application in Business
31
บทท่ี 2 สถาปัตยกรรมของระบบฐานข้อมลู
อะไร (what) ที่จดั เกบ็ ลงในฐานขอ้ มลู และมีความสมั พนั ธร์ ะหวา่ งกันอยา่ งไร บคุ คลที่สามารถเขา้
ไปแกไ้ ขโครงสรา้ งข้อมูลในระดบั นไ้ี ดก้ ็คอื ผุบ้ ริหารขอ้ มูล (data administrators) หรือ
โปรแกรมเมอร์ (programmer) โดยระดบั ลอจคิ ลั นจ้ี ะมคี วามเก่ียวขอ้ งกบั ส่งิ ต่อไปน้ี
จานวนเอ็นตติ ้ีทัง้ หมด ซงึ่ ประกอบขึน้ จากแอททรบิ วิ ตต์ า่ ง ๆ
ความสัมพนั ธร์ ะหวา่ งแต่ละเอ็นติตี้
กฎเกณฑ์ในขอ้ มูล (constraints on the data)
ความมัน่ คง (Security)
ความบูรณภาพในขอ้ มลู (Data Integrity)
สาหรับในการนาเสนอข้อมูลในระดับนี้ ข้อมูลอาจนาเสนอในรูปแบบของตารางหรอื รเี ล
ชนั (Table/Relation) ในกรณที ่ใี ช้ฐานขอ้ มลู เชงิ สัมพนั ธ์ ซง่ึ การปฏบิ ตั กิ ารกบั ข้อมูลจะทากบั
ตาราง โดยความเปน็ จริงตารางทเี่ ห็นอยู่นั้นอาจจะถกู สร้างขึน้ มาจากโครงสรา้ งขอ้ มูลชนิดอืน่ ๆ
เช่น โครงสร้างข้อมลู ในรปู แบบของทรี (Tree Structure) ซงึ่ ผู้ใชง้ านโปรแกรมจะเหน็ เพียง
ตารางข้อมูล แตจ่ ะไม่เห็นโครงสร้างของทรีได้เลย (เพราะโครงสร้างขอ้ มลู ถกู ออกแบบในระดับ
ภายใน ไม่สามารถดไู ดใ้ นระดับแนวคดิ ) รวมทงั้ ในกรณที อ่ี าจมีการเปลี่ยนสอื่ บันทึกขอ้ มลู จาก
ฮาร์ดดิสก์หนึ่งไปยังอกี ฮาร์ดดิสกห์ นึ่ง หรือเปล่ยี นแปลงโครงสรา้ งขอ้ มูลในระดับภายใน ก็ไม่
ส่งผลกระทบกบั ระดับแนวคดิ ซ่ึงผ้ใู ช้งานจะยังคงเรียกข้อมูลในแบบตารางไดเ้ ชน่ เดิม กลา่ วคือ
ในระดบั ทผ่ี ้ใู ช้ไมส่ ามารถมองเห็นได้หรือกระทาใด ๆ ได้ คือ สถาปัตยกรรมระดบั ภายในน่นั เอง
3. ระดบั ภายใน (Internal Level หรอื Physical Level)
เป็นระดบั ของข้อมูลทอ่ี ยลู่ ่างสุด ถือเป็นการจัดการข้อมูลในระดับฟิสคิ อล (Physical:
กายภาพ) วา่ มีรปู แบบโครงสรา้ งขอ้ มูลจัดเก็บอย่างไร (How) ในฐานข้อมลู เช่น โครงสร้างข้อมูล
เปน็ แบบเรียงลาดับดชั นี (Index) ทรี (Tree) หรอื พอยนเ์ ตอร์ (Pointer)
นอกจากนีโ้ ครงสร้างขอ้ มลู ในแตล่ ะรูปแบบยังมผี ลตอ่ ประสิทธิภาพของความเรว็ ในการ
เขา้ ถงึ (Access) ขอ้ มูลดว้ ย ตลอดจนเกย่ี วข้องกบั การบีบอัดขอ้ มลู (Data Compression)
รวมทงั้ เทคนคิ การเขา้ รหัสขอ้ มลู (Data Encryption) ดว้ ย สาหรบั โครงสร้างข้อมลู ระดบั ภายใน
ในมุมมองของผ้ใู ช้งานฐานขอ้ มลู จะไมส่ ามารถเหน็ รายละเอยี ดทางฟิสคิ อลในระดบั น้ีไดเ้ ลย
เพราะรายละเอยี ดของระดับนี้จะถกู ซอ่ นไวห้ มดนอกจากผ้บู ริหารฐานข้อมูล (Database
Administrators : DBA) ซ่ึงเปน็ ผทู้ ีส่ ามารถเปลี่ยนแปลงโครงสร้างขอ้ มูลเหล่านีไ้ ด้ จุดประสงค์
หลักของการจดั โครงสรา้ งข้อมลู ในระดับนีเ้ พอ่ื ใหก้ ารปฏบิ ัติกบั ขอ้ มลู เป็นไปอย่างมีประสทิ ธภิ าพ
ก่อนที่เราจะเริ่มเรียนรู้ในรายละเอียดที่ยาก เราควรจะเข้าใจในสิ่งพื้นฐานของระบบฐานข้อมูลกันก่อน ซึ่งการที่เราจะมีระบบฐานข้อมูลขึ้นมาที่จะให้ Application เชื่อมต่อเข้ามาใช้งานได้นั้น เราจำเป็นจะต้องมี Database Server ที่แยก Tier ออกมาระหว่าง Application กับ Database Server ซึ่งเราเรียกการออกแบบประเภทนี้ว่า 3-Tier architecture หรือ Multi-Tier architecture ซึ่งจะแยกการประมวลของออกจากกันของแต่ละ Tier แต่ประเด็นหลักๆที่เราจะเรียนรู้ในขั้นต้นคือ Tier ของ Database Server
แล้ว Database Server ควรจะประกอบไปด้วยอะไรบ้างละ? องค์ประกอบของ Database Server หลักๆ จะแบ่งออกเป็น 2 ส่วนด้วยกันคือ Instance และ Database ซึ่งหน้าที่การทำงานของแต่ละส่วนจะมีหน้าที่การทำงานที่แตกต่างกัน แต่จะต้องทำงานร่วมกันอยู่ตลอดเวลา
โดย Database จะมีหน้าที่ในการเก็บข้อมูล(Data) ที่เกิดขึ้นจากการทำงานของ Application หรือเรียกว่า Transaction ที่เกิดขึ้น โดยข้อมูลเหล่านี้จะถูกจัดเก็บในลักษณะของไฟล์ซึ่งอยู่บนพื้นที่จัดเก็บข้อมูลทางกายภาพ (Physical Structures) โดยภายในไฟล์ข้อมูลเหล่านี้ จะถูกจัดเก็บในรูปแบบ Logical Structures ที่ประกอบด้วย Object ต่างๆของฐานข้อมูล เช่น Table ที่แบ่งออกเป็น Row และ Columns
ส่วน Instance เป็นส่วนของหน่วยความจำ(Memory) ที่จะมีการจัดเก็บ Data ที่อยู่ในรูปแบบของ Blocks ตามขนาดที่มีการจัดสรร เช่น 8k 16k 32k โดยเราเรียกหน่วยความจำตรงนี้ส่วนนี้ว่า System Global Area (SGA) แต่นอกจากในส่วนหน่วยความจำแล้ว Instance ยังประกอบด้วย จำนวนของ background processes ที่ทำหน้าที่ในการติดต่อระหว่างหน่วยความจำ(SGA) กับ Database ที่เป็นโครงสร้างทางกายภาพ (Physical Structures )
ในหัวข้อต่อๆไปเราจะมาทำความเข้าใจกันว่า่ ทำไมการทำงานของ Instance และ Database ถึงแตกต่างกัน และมันมีความเกี่ยวข้องระหว่างกันอย่างไร ซึ่งมันจะส่งผลต่อการทำงานของระบบฐานข้อมูลได้อย่างไร