300 likes | 424 Views
สภาวะแวดล้อมฐานข้อมูล. Database Environment. สถาปัตยกรรมฐานข้อมูล 3 ระดับ ANSI/SPARC (The tree-level ANSI/SPARC architecture). แบ่งออกเป็น 3 ระดับ ระดับภายนอก (External level) ระดับแนวคิด (Conceptual level) ระดับภายใน (Internal level).
E N D
สภาวะแวดล้อมฐานข้อมูลสภาวะแวดล้อมฐานข้อมูล Database Environment
สถาปัตยกรรมฐานข้อมูล 3 ระดับ ANSI/SPARC(The tree-level ANSI/SPARC architecture) แบ่งออกเป็น 3 ระดับ • ระดับภายนอก(External level) • ระดับแนวคิด(Conceptual level) • ระดับภายใน(Internal level)
สถาปัตยกรรมฐานข้อมูล 3 ระดับ ANSI/SPARC(The tree-level ANSI/SPARC architecture) User 1 User 2 User 3 External level View 1 View 2 View 3 Conceptual level Conceptual Schema Internal level Internal Schema Database
เหตุผลในการแยกออกเป็น 3 ระดับจากกัน • ผู้ใช้แต่ละคนสามารถเข้าถึงข้อมูลเดียวกันได้ แต่อาจจะมีมุมมองในการใช้งานต่างกันได้ • ผู้ใช้จะไม่สามารถเข้าถึงข้อมูลในระดับกายภาพได้โดยตรง • ผู้บริหารฐานข้อมูลสามารถแก้ไขโครงสร้างในการจัดเก็บฐานข้อมูล โดยไม่ส่งผลกระทบต่อมุมมองของผู้ใช้ • โครงสร้างของระดับภายในของฐานข้อมูลจะไม่ได้รับผลกระทบจากการเปลี่ยนตำแหน่งในการจัดเก็บในระดับกายภาพ • ผู้บริการฐานข้อมูล(DBA) สามารถที่จะเปลี่ยนโครงสร้างระดับแนวคิดของฐานข้อมูลโดยไม่ส่งผลกระทบกับผู้ใช้ทุกคน
ระดับภายนอก(External level) • เป็นระดับที่ติดต่อกับผู้ใช้ • ผู้ใช้แต่ละคนอาจจะมีมุมมองข้อมูลแตกต่างกันหรือเหมือนกันก็ได้ • รูปแบบข้อมูลที่เห็นในระดับภายนอก เรียกว่า เค้าร่างภายนอก(External schema)หรือ วิว(View)ซึ่งอาจนำเสนอได้หลายรูปแบบ • แต่ละฐานข้อมูลสามารถมี เค้าร่างภายนอก ได้หลายรูปแบบ
ระดับภายนอก(External level) User C User A User B External schema Conceptual schema
ระดับแนวคิด(Conceptual level) • เป็นโครงสร้างหลักของฐานข้อมูลโดยรวม • โครงสร้างข้อมูลในระดับนี้มุ่งเน้นความสัมพันธ์(Relationship) ระหว่างข้อมูลเป็นหลักสำคัญ หรือเรียกว่าแบบจำลองข้อมูล(Data Model) • เป็นระดับที่อธิบายถึงว่า ข้อมูลอะไร(What) ที่จะจัดเก็บลงในฐานข้อมูล และมีความสัมพันธ์ระหว่างอย่างไร • ระดับแนวคิดมีความเกี่ยวข้องกับสิ่งต่อไปนี้ • จำนวนเอนติตี้ทั้งหมด ซึ่งประกอบด้วย แอตทริบิวต์ และความสัมพันธ์ระหว่างเอนติตี้ • กฏเกณฑ์ของข้อมูล • ความปลอดภัย และความคงสภาพของข้อมูล
ระดับแนวคิด(Conceptual level) • ข้อมูลในระดับแนวคิดจะถูกแสดงตามแบบจำลองข้อมูล ที่ฐานข้อมูลนั้นใช้ เรียกว่า เค้าร่างแนวคิด (Conceptual schema) • ผู้ที่ทำหน้าที่บริหารจัดการโครงสร้างในระดับนี้คือ ผู้บริหารฐานข้อมูล(DBA)
ระดับแนวคิด(Conceptual level) Conceptualschema Internal schema
ระดับภายใน(Internal level) • เป็นระดับที่จัดเก็บข้อมูลด้วยโครงสร้างที่เหมาะสม ซึ่งมีผลต่อความเร็วและประสิทธิภาพในการเข้าถึงข้อมูลที่ต้องการ • โครงสร้างข้อมูลที่ใช้เก็บ เช่น Tree , B-Tree หรือ Index ขึ้นอยู่กับการกำหนดโดย DBA • รูปแบบข้อมูลที่เห็นในระดับภายในเรียกว่า เค้าร่างภายใน(Internal schema) • เป็นระดับที่มีการทำงานประสานกับระบบปฏิบัติการ(OS) • ข้อมูลในระดับภายในยังไม่ใช่รูปแบบการจัดเก็บข้อมูลจริงๆที่เก็บในดิสก์ • การอ่านและเขียนข้อมูลเป็นหน้าที่ของระบบปฏิบัติการ(OS)
ระดับภายใน(Internal level) Internalschema Physical Disk 4 11 X
เค้าร่างฐานข้อมูล(schema) ประกอบด้วย • เค้าร่างภายนอก(External schema หรือ subschema) • เค้าร่างแนวคิด(Conceptual schema) • เค้าร่างภายใน(Internal schema)
การแปลงความหมาย(Mapping) • จากสถาปัตยกรรม 3 ระดับ ข้อมูลแต่ละระดับมีความแตกต่างกัน จึงมีกลไกในการแปลงรูปแบบของข้อมูลจากระดับหนึ่งไปเป็นอีกระดับ ได้แก่ • การแปลงความหมายระดับแนวคิด/ระดับภายใน(conceptual/internal mapping) • การแปลงความหมายระดับภายนอก/ระดับแนวคิด(external/conceptual mapping)
การแปลความหมายระดับภายนอกและระดับแนวคิด(External / Conceptual Mapping) • เป็นการถ่ายทอดมุมมอง(View) ที่มีต่อข้อมูลจากผู้ใช้ระดับภายนอกไปยังระดับแนวคิด • เพื่อทำการออกแบบโครงสร้าง ให้ตรงตามความต้องการของผู้ใช้ในระดับภายนอก
การแปลความหมายระดับแนวคิดและระดับภายใน(Conceptual / External Mapping) • เป็นการถ่ายทอดมุมมอง(View) ที่มีต่อข้อมูลจากผู้ใช้ระดับแนวคิดไปยังระดับภายใน • เพื่อเอาโครงสร้างที่ได้ออกแบบไว้ใปกำหนดหรือออกแบบวิธีการจัดเก็บข้อมูลในหน่วยความจำสำรอง
ความเป็นอิสระของข้อมูล(Data Independence) • จุดประสงค์ของ ความเป็นอิสระของข้อมูล คือ ผู้ใช้ไม่จำเป็นต้องแก้ไขโปรแกรมทุกครั้งเมื่อมีการเปลี่ยนแปลงโครงสร้างหรือข้อมูลในระดับแนวคิดและระดับภายใน • โดยปล่อยให้ DBMS เป็นตัวจัดการเชื่อมข้อมูลระดับภายนอกกับระดับแนวคิด และระดับแนวคิดกับระดับภายในเอง • กล่าวคือ ข้อมูลระดับที่สูงกว่าจะไม่เกิดผลกระทบใด ๆ จากการเปลี่ยนแปลงข้อมูลในระดับที่ต่ำกว่า
ความเป็นอิสระของข้อมูล(Data Independence) • ความเป็นอิสระของข้อมูลทางตรรกะ(Logical data independence) • ความเป็นอิสระของข้อมูลทางกายภาพ(Physical data independence)
ความเป็นอิสระของข้อมูลทางตรรกะ(Logical data independence) • หมายถึง การเปลี่ยนแปลงในเค้าร่างแนวคิด(Conceptual schemas) เช่น การเพิ่ม การเปลี่ยนแปลงแอตทริบิวต์ หรือความสัมพันธ์ใด ๆ ก็จะไม่ส่งผลกระทบต่อเค้าร่างภายนอก(External schemas)ที่ผู้ใช้ใช้งานอยู่ • กล่าวคือ ผู้ใช้ยังคงวิวข้อมูลได้เช่นเดิม โดยไม่ต้องแก้ไขโปรแกรมประยุกต์ใด ๆ ถึงแม้จะมีการเปลี่ยนแปลงในเค้าร่างแนวคิด
ความเป็นอิสระของข้อมูลทางกายภาพ(Physical data independence) • หมายถึง การเปลี่ยนแปลงเค้าร่างภายใน(Internal schemas) เช่น การปรับปรุงโครงสร้างไฟล์ใหม่ หรือการเปลี่ยนแปลงโครงสร้างการจัดเก็บข้อมูลด้วยการใช้อุปกรณ์จัดเก็บข้อมูลที่แตกต่างไปจากเดิม การปรับปรุงการเรียงลำดับดัชนี การปรับปรุงอัลกอริทึมการแฮชชิง ก็ไม่กระทบต่อการเรียกดูข้อมูลจากผู้ใช้งานใด ๆ
ความเป็นอิสระของข้อมูล(Data Independence) External schema External schema External schema Logical data independence External/Conceptual Mapping Conceptual Schema Physical data independence Conceptual/Internal Mapping Internal Schema
User A1 User A2 User B1 User B2 User B3 Host language + DSL Host language + DSL Host language + DSL Host language + DSL Host language + DSL External schemaA External Schema B Logical Data Independence External/Conceptual Mapping DBMS Conceptual Schema DBA Conceptual/Internal Mapping Physical Data Independence Database
แบบจำลองข้อมูล(Data Model) • แบบจำลองข้อมูล(Data Model) หมายถึง แบบจำลองที่ใช้อธิบายและจัดการข้อมูล , ความสัมพันธ์ระหว่างข้อมูล และข้อบังคับของข้อมูลในระบบ
แบบจำลองเชิงวัตถุ(Object data model) • แบบจำลองข้อมูลเชิงวัตถุใช้หลักการเกี่ยวกับ เอนติตี้(Entity) , แอททริบิวท์(Attribute) และความสัมพันธ์(Relationship) • ตัวอย่างของแบบจำลองนี้ได้แก่ Entity-Relationship , Semantic , Functional , Object-Oriented
แบบจำลองเชิงเรคคอร์ด(Record-Based data model) • แบบจำลองที่ประกอบด้วยรายการข้อมูลที่แตกต่างกัน • ตัวอย่างแบบจำลองแบบนี้ได้แก่ • Hierarchical data model • Network data model • Relational data model
A B C D E F G H I J K แบบจำลองลำดับชั้น(Hierarchical data model) Root segment Parent segment Child segment
แบบจำลองลำดับชั้น(Hierarchical data model)
แบบจำลองเครือข่าย(Network data model) พนักงานขาย ลูกค้า ใบส่งของ สินค้า การชำระเงิน รายการในใบส่งของ
แบบจำลองข้อมูลเชิงสัมพันธ์(Relational data model)
หน้าที่ของ DBMS • จัดการพจนานุกรมของข้อมูล(Data dictionary management) • จัดการการจัดเก็บข้อมูล(Data storage management) • การแปลงข้อมูลและการนำเสนอข้อมูล(Data transformation and presentation) • การจัดการด้านความปลอดภัย(Security management) • ควบคุมการเข้าใช้งานของผู้ใช้พร้อมกัน(Multiuser accesss control)
หน้าที่ของ DBMS • การจัดการเรื่องการสำรองและกู้คืนข้อมูล(Backup and recovery management) • การจัดการความคงสภาพของข้อมูล(Data integrity management) • ภาษาในการเข้าถึงข้อมูลและส่วนประสานผู้ใช้ในโปรแกรมประยุกต์(Database access languages and application programming interfaces)