เป็นกรอบสำหรับใช้อธิบายแนวคิดเกี่ยวกับฐานข้อมูลทั่วไปและสำหรับอธิบายโครงสร้างของระบบฐานข้อมูล แต่ไม่ได้หมายความว่าระบบฐานข้อมูลทุกระบบจะต้องเป็นไปตามกรอบ เพราะบางระบบที่เป็นระบบขนาดเล็กอาจไม่จำเป็นต้องทุกลักษณะตามสถาปัตยกรรมนี้ อย่างไรก็ตาม เราถือว่าสถาปัตยกรรมนี้เหมาะสมกับระบบฐานข้อมูลส่วนใหญ่เป็นอย่างดีและเป็นไปตามมาตรฐานที่หน่วยงาน ANSI/SPARC ได้กำหนดไว้ ANSI/SPARC Study Group on Data Base Management System เป็นหน่วยงานที่ทำหนาที่กำหนดมาตรฐานทั่วไปของระบบฐานข้อมูลในสหรัฐฯ ระดับของสถาปัตยกรรม แบ่งได้ 3 ระดับ ได้แก่
- ระดับภายใน (The Internal Level) บางทีเรียกว่า the physical level ซึ่งเป็นระดับที่ใกล้เคียงกับการจัดเก็บทางกายภาพมากที่สุด
- ระดับภายนอก (The External Level) ซึ่งเป็นระดับที่ใกล้เคียงกับผู้ใช้มากที่สุด
- ระดับแนวคิด (The Conceptual Level) ซึ่งเป็นระดับที่อยู่กลางทางระหว่างของระดับที่กล่าวมา
ระดับภายนอก (External Level) เป็นระดับของผู้ใช้แต่ละคนซึ่งอาจเป็นโปรแกรมเมอร์ หรือผู้ใช้ปลายแถว ที่อาจจะมีความซับซ้อนมากน้อยเท่าไรก็ได้ สำหรับผู้ใช้ปลายสุดอาจใช้ภาษาสอบถามหรือภาษาเฉพาะทาง เช่น แบบมีเมนูให้เลือกใช้ หรือออกแบบมาตามความต้องการเฉพาะสำหรับผู้ใช้ในหน่วยงานนั้น ภาษาคอมพิวเตอร์ที่ใช้จะมีส่วนที่เรียกว่า ภาษาย่อยข้อมูล ซึ่งเป็นสับเขตของภาษาคอมพิวเตอร์ ภาษาย่อยข้อมูลนี้จะฝังตัว อยู่ในตัว “ภาษาเจ้าบ้าน” ซึ่งตัวภาษาเจ้าบ้านจะทำหน้าที่รับผิดชอบอำนวยความสะดวกในการสั่งงานที่ไม่ใช่เรื่องฐานข้อมูลต่างๆ ภาษาย่อยข้อมูลที่สำคัญได้รับการสนับสนุนโดยระบบจัดการฐานข้อมูลส่วนใหญ่ คือ “ภาษาสอบถามเชิงโครงสร้าง” ส่วนใหญ่จะมีให้ใช้ทั้งแบบใช้เดี่ยว และใช้ร่วมกับภาษาอื่น คือ ภาษาสอบถามเชิงโครงสร้างเป็นได้ทั้งภาษาเอกเทศเพื่อใช้กับฐานข้อมูล ในหลักการแล้วภาษาย่อยข้อมูลจะประกอบไปด้วยอย่างน้อย 2 ส่วน ได้แก่
- ภาษานิยาม ซึ่งเป็นคำสั่งในการประกาศสร้างวัตถุในฐานข้อมูล หรือประกาศโครงสร้างฐานข้อมูล
- ภาษาจักดำเนินการข้อมูล เป็นคำสั่งที่สนับสนุนการจักดำเนินการหรือประมวลผลในฐานข้อมูล ระดับแนวคิด (Conceptual Level)
การกำหนดระดับแนวคิดจะกระทำโดย “เค้าร่างแนวคิด” ประกอบด้วยนิยามของระเบียบประเภทต่างๆ เขียนขึ้นโดย Conceptual DDL ซึ่งต้องเป็นการกำหนดนิยามเนื้อหาของข้อมูลเท่านั้น ระดับภายใน (Internal Level) วิวจะถูกกำหนดโดย “เค้าร่างภายใน” เป็นการกำหนดประเภทของระเบียนต่างๆ ที่ถูกจัดเก็บไว้ เค้าร่างภายในนี้เขียนขึ้นโดย Conceptual DDL ซึ่งต้องเป็นการกำหนดเนื้อหาข้อมูลเท่านั้น ระดับภายใน (Internal Level) วิวภายในจะถูกกำหนดโดย เค้าร่างภายใน (Internal Schema) ซึ่งเป็นการกำหนดประเภทของระเบียนต่างๆ ที่ถูกจัดเก็บไว้ ดัชนีที่มีอยู่ เค้าร่างภายในเขียนขึ้นโดย Internal DDL การเชื่อมระหว่างระดับ (Mappings) สถาปัตยกรรมระบบฐานข้อมูลมีการเชื่อมโยงให้ประสานกันไปได้โดยมีการเชื่อมอยู่ 2 ส่วน คือ
- การเชื่อมระหว่างระดับแนวคิดกับระดับภายใน เป็นการกำหนดความสอดคล้องระหว่างระดับแนวคิดและฐานข้อมูลที่จัดเก็บไว้
- การเชื่อมระหว่างระดับภายนอกกับระดับแนวคิด เป็นตัวกำหนดความสอดคล้องระหว่างวิวภายนอกกับวิวแนวคิด
ความสำคัญของระบบฐานข้อมูล
- ความกะทัดรัด การบันทึกข้อมูลลงในระบบคอมพิวเตอร์จะเก็บข้อมูลไว้ได้เป็นจำนวนมากในที่เดียวกัน อยู่ในสื่ออิเล็กทรอนิกส์ซึ่งประหยัดพื้นที่ ไม่เกะกะอย่างในเอกสารที่เป็นกระดาษ
- ความรวดเร็ว เครื่องคอมพิวเตอร์ในระบบฐานข้อมูลสามารถค้นคืนและปรับปรุงข้อมูลให้เป็นปัจจุบัน ได้เร็วกว่ามือมนุษย์มาก
- ความเบื่อหน่ายน้อยกว่า ในการดูแลรักษาแฟ้มข้อมูลที่เป็นกระดาษเป็นงานที่หนักกว่ามากหากเปรียบเทียบกับแฟ้มข้อมูลอิเล็กทรอนิกส์ที่อยู่ในระบบฐานข้อมูลคอมพิวเตอร์
- ความถูกต้องเป็นปัจจุบัน
ประโยชน์ของระบบฐานข้อมูล
- ข้อมูลในระบบฐานข้อมูลสามารถใช้ร่วมกันได้ (The data can be shared) ตัวอย่างเช่น โปรแกรมระบบเงินเดือนสามารถเรียกใช้ข้อมูลรหัสพนักงานจาฐานข้อมูลเดียวกับโปรแกรมระบบการขายตามภาพในตอนท้ายที่ผ่านมา เป็นต้น
- ระบบฐานข้อมูลสามารถช่วยให้มีความซ้ำซ้อนน้อยลง (Redundancy can be reduced) ที่ลดความซ้ำซ้อนได้ เพราะเก็บแบบรวม
- ระบบฐานข้อมูลช่วยหลีกเลี่ยงหรือลดความไม่คงที่
- ระบบฐานข้อมูลสนับสนุนการทำธุรกรรม (Transaction support can de provided) ธุรกรรม คือ ขั้นตอนการทำงานหลายกิจกรรมย่อยมารวมกัน
- ระบบฐานข้อมูลสามารถช่วยรักษาความคงสภาพหรือความถูกต้องของข้อมูลได้ (Integrity can be maintained) โดยผู้บริหารฐานข้อมูลเป็นผู้กำหนดข้อบังคับความคงสภาพ ตามที่ผู้บริหารข้อมูล (DA) มอบหมาย เพื่อป้องกันไม่ให้ผู้ใช้เปลี่ยนแปลงข้อมูลในฐานข้อมูลทีโดยไม่ถูกต้อง
- สามารถบังคับใช้มาตรการรักษาความปลอดภัย (Security can be enforced) กล่าวคือ ผู้บริหารฐานข้อมูลสามารถกำหนดข้อบังคับเรื่องปลอดภัย
- ความต้องการที่เกิดข้อโต้แย้งระหว่างฝ่าย สามารถประนีประนอมได้
- สามารถบังคับให้เกิดมาตรฐานได้ (Standards can be enforced)
- ระบบฐานข้อมูลให้เกิดความเป็นอิสระของข้อมูล (Data Independence) เป็นประโยชน์ข้อสำคัญที่สุดเพราะทำให้ข้อมูลไม่ขึ้นอยู่กับการแทนค่าข้อมูลเชิงกายภาพ
ความเป็นอิสระของข้อมูลมี 2 ชนิด คือ
- ความเป็นอิสระทางกายภาพ
- ความเป็นอิสระทางตรรกะ
ในระบบฐานข้อมูล เราไม่ควรให้ปล่อยโปรแกรมประยุกต์ขาดความเป็นอิสระของเป็นอย่างยิ่งข้อมูล เพราะ
- โปรแกรมประยุกต์คนละตัวกันจะต้องมีมุมมองขอข้อมูลเดียวกันในรูปแบบที่แตกต่างกัน
- ผู้บริหารฐานข้อมูล ต้องมีอิสระที่จะเปลี่ยนแปลงวิธีการแทนค่าทางกายภาพ หรือเปลี่ยนเทคนิคในการเข้าถึงเพื่อสนองตอบความจำเป็นที่เปลี่ยนแปลงไป โดยไม่จำเป็นต้องเปลี่ยนแปลงโปรแกรมประยุกต์ต่างๆ ที่มีใช้กันอยู่
ความเป็นอิสระของข้อมูล (Data Independence) คือ ภูมิคุ้มกันของโปรแกรมประยุกต์ต่อการเปลี่ยนแปลงในการแทนข้อมูลทางกายภาพและการเปลี่ยนแปลงเทคนิคการเข้าถึงข้อมูล โดยไม่ต้องดัดแปลงโปรแกรมที่มีอยู่เมื่อมีการเปลี่ยนแปลง ประเภทการเปลี่ยนแปลงที่ผู้บริหารฐานข้อมูล หรือ DBA อาจต้องกระทำ ซึ่งเราหวังให้โปรแกรมประยุกต์มีภูมิคุ้มกันตนเองต่อสิ่งเหล่านี้
- เขตข้อมูล เช่น เปลี่ยนชนิดของเขตข้อมูล
- ระเบียบ เช่น แก้ไข ลบ หรือเพิ่มเติม บางระเบียน
- แฟ้มข้อมูล เช่น ลบ เพิ่ม หรือเปลี่ยนชื่อแฟ้ม
ลักษณะของการแทนข้อมูลซึ่งอาจมีการเปลี่ยนแปลงโดยผู้บริหารฐานข้อมูล และระบบบริหารฐานข้อมูล (DBMS) จะต้องให้โปรแกรมประยุกต์ภูมิคุ้มกันต่อการเปลี่ยนแลงเหล่านี้ คือ
- การแทนข้อมูลตัวเลข เช่น Binary, Decimal
- การแทนข้อมูลตัวอักขระ เช่น EBCDIC เป็น Unicode
- หน่วยองข้อมูลตัวเลข เช่น นิ้ว เป็น เซนติเมตร
- การลงรหัสข้อมูล เช่น เปลี่ยนจาก “Green”, “Red” เป็น 1, 2
- การแปรข้อมูล (Data Materialization) เป็นการนำเอาข้อมูลผ่านกระบวนการ เช่น เปลี่ยนวิธีการหรือขั้นตอนของกระบวนการ เปลี่ยนวิธีการคำนวณในสูตรคำนวณดอกเบี้ย เปลี่ยนวิธีการบวกค่าในเขตข้อมูล
- โครงสร้างระเบียน เช่น จาก 2 ระเบียนเปลี่ยนเป็น 1 ระเบียน เช่น Part number Part color และ Part number Part weight รวมกันเป็น Part number Part color Part weight
- โครงสร้างแฟ้ม เช่น รวมหลายแฟ้มไว้ในดิสก์ก้อนเดียวกัน หรือแบ่งเป็นหลายก้อน
การเปลี่ยนแปลงลักษณะการแทนข้อมูลดังกล่าวนี้ไม่มีผลกระทบต่อโปแกรมประยุกต์ที่เรียกใช้ ข้อมูลจาก ฐานข้อมูล ไม่ว่าด้วยวิธีการใดๆ (ยกเว้นประสิทธิภาพทางการทำงานซึ่งอาจกระทบได้บ้างในระดับที่ยอมรับได้)