Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Chapter 2 Database systems Architecture สถาปั ตยกรรมระบบฐานข ้อมูล (Database systems Architecture) “แนวคิด/แบบจาลองของโครงสร ้าง สว่ นประกอบ หลักและหน ้าทีข ่ องแต่ละสว่ นทีน ่ ามาประกอบรวมกันเป็ น ระบบฐานข ้อมูล” 2 สถาปั ตยกรรมระบบฐานข ้อมูล (Database systems Architecture) - ปี ค.ศ.1971 กลุม ่ DBTG (DataBase Task Group) ได ้กาหนดสถาปั ตยกรรมระบบฐานข ้อมูลไว ้ 2 ระดับ - Schema มุมมองระบบ (System View) - Subschema มุมมองผู ้ใช ้ (User View) - ปี ค.ศ.1975 สถาบัน ANSI-SPARC ได ้กาหนดสถาปั ตยกรรมระบบฐานข ้อมูลไว ้ 3 ระดับ - Internal Level - Conceptual Level - External Level - ทาให ้เข ้าใจการทางานของแต่ละสว่ นได ้ง่ายขึน ้ 3 สถาปั ตยกรรม 3 ระดับ (The Three-Schema Architecture) Physical Data Organization Database 4 สถาปั ตยกรรม 3 ระดับ : ระดับภายใน (The Three-Schema Architecture : Internal Level) • • • • • • พิจารณาวิธก ี าร “จัดเก็บข ้อมูลอย่างไร” (HOW) เป็ นระดับที่ DBMS และ OS มอง DBA สามารถจัดการรูปแบบโครงสร ้างข ้อมูลได ้ อธิบายโครงสร ้างการจัดเก็บข ้อมูลเชงิ กายภาพ (Physical) ิ ธิภาพ เพือ ่ ให ้การปฏิบัตก ิ ารกับข ้อมูลเป็ นไปอย่างมีประสท เป็ นสว่ นในการทีพ ่ จ ิ ารณาถึงความเร็วในการปฏิบัตก ิ ารกับข ้อมูล Physical Data Organization Database 5 สถาปั ตยกรรม 3 ระดับ : ระดับแนวคิด (The Three-Schema Architecture : Conceptual Level) • • • • พิจารณาว่ามี “ข ้อมูลอะไร” (What) ทีจ ่ ะเก็บลงฐานข ้อมูล เป็ นมุมมองหลักของระบบ ั พันธ์ระหว่างข ้อมูล (Data Model) กฎเกณฑ์ตา่ งๆ หรือคียต เน ้นความสม ์ า่ งๆ Structured Independent กับ Internal Level Physical Data Organization Database 6 สถาปั ตยกรรม 3 ระดับ : ระดับแนวคิด (The Three-Schema Architecture : Conceptual Level) ้ ละคน • เป็ นมุมมองของผู ้ใชแต่ • ความต ้องการของข ้อมูลของผู ้ใช ้ • อาจจะต ้องใช ้ Derived Attribute Physical Data Organization Database 7 สถาปั ตยกรรม 3 ระดับ (The Three-Schema Architecture) การเปลีย ่ นแปลงในระดับล่างจะไม่มผ ี ลต่อระดับบน Physical Data Organization Database 8 สถาปั ตยกรรม 3 ระดับ (The Three-Schema Architecture) วัตถุประสงค์ • • • • • ้ ข้ ้อมูลชุดเดียวกัน แต่อาจต ้องการมองข ้อมูลต่างกัน ผู ้ใชใช ้ ต ้องรู ้ถึงระดับ Internal level เพราะ DBMS จัดการให ้ ผู ้ใชไม่ เปลีย ่ นโครงสร ้างการจัดเก็บข ้อมูลไม่มผ ี ลต่อ View เปลีย ่ น Storage ไม่มผ ี ลต่อโครงสร ้างภายในของฐานข ้อมูล เปลีย ่ นโครงสร ้างข ้อมูลไม่มผ ี ลต่อ View 9 โครงร่าง , การแปลงรูป และอินสแตนซ ์ (Schema , Mapping and Instance) External/Conceptual Mapping Conceptual/Internal Mapping 10 โครงร่าง , การแปลงรูป และอินสแตนซ ์ (Schema , Mapping and Instance) Instance : โปรแกรมหรือตัวแปรทีท ่ างานอยูใ่ นหน่วยความจา ้ Database Instance : รายการข ้อมูลในฐานข ้อมูลทีถ ่ ก ู ใชงานในหน่ วยความจา ในขณะทีท ่ างานอยู่ Schema Intension Instance Extension/State 11 ความอิสระของข ้อมูล (Data Independence) 12 ความอิสระของข ้อมูลเชงิ ตรรกะ (Logical Data Independence) การเปลีย ่ นแปลงในระดับแนวคิดจะไม่สง่ ผลกระทบ ต่อ ่ การเพิม ระดับภายนอก เชน ่ เอนติต ี้ , แอททริบวิ ท์ และ ั พันธ์ ซงึ่ เป็ นการเปลีย ความสม ่ นแปลงในระดับแนวคิด จะ ไม่กระทบกับมุมมองภายนอก หรือไม่ต ้องแก ้ไขโปรแกรม ใหม่ 13 ความอิสระของข ้อมูลเชงิ กายภาพ (Physical Data Independence) การเปลีย ่ นแปลงในระดับภายในไม่สง่ ผลกระทบต่อ ระดับแนวคิด การเปลีย ่ นแปลงในระดับภายในได ้แก่ การ ้ ใชโครงสร ้างแฟ้ มข ้อมูลใหม่ หรือโครงสร ้างการจัดเก็บ ้ วยเก็บข ้อมูลแบบอืน ใหม่ , ใชหน่ ่ , การแก ้ไขดัชนีหรือ อัลกอริธม ึ แบบแฮช ซงึ่ การเปลีย ่ นแปลงเหล่านีจ ้ ะไม่ กระทบต่อระดับแนวคิดและระดับภายนอก 14 สว่ นประกอบโมดูลในระบบจัดการฐานข ้อมูล (DBMS Component Modules) ื หน ้า 70 อิอ!ิ !! หารูปไม่เจอ ดูรป ู ในหนังสอ 15 ้ ภาษาทีใ่ ชในฐานข ้อมูล (Database Language) Data Definition Language : DDL Data Manipulation Language : DML Data Control Language : DCL 16 ้ ภาษาทีใ่ ชในฐานข ้อมูล (Database Language) Data Definition Language : DDL Data Manipulation Language : DML ”โครงสร ้าง” ้ ภาษาสาหรับนิยามข ้อมูล ประกอบด ้วยคาสงั่ ทีใ่ ชในการก าหนด ข ้อมูลว่ามี แอทริ บวิ ต์อะไร เก็บข ้อมูลประเภทใด การเพิม ่ : แอทริ บวิ ต์ การกาหนดดัชนี Data Control Language DCL ้ ้ ทีใ่ ชในการจั ดเก็บข ้อมูล การกาหนดวิวของผู ้ใชจากเอนทิ ต ี้ 17 ้ ภาษาทีใ่ ชในฐานข ้อมูล (Database Language) Data Definition Language : DDL Data Manipulation Language : DML Data Control Language : DCL “ข ้อมูล” ้ ภาษาสาหรับจัดดาเนินการ ประกอบด ้วยคาสงั่ ทีใ่ ชในการเรี ยกใช ้ ข ้อมูล การเปลีย ่ นแปลงข ้อมูล การเพิม ่ หรือลบข ้อมูล สามารถเรียกข ้อมูลต่าง ๆ มาดู 18 ้ ภาษาทีใ่ ชในฐานข ้อมูล (Database Language) “ควบคุม” ้ ้ ภาษาทีใ่ ชในการ ข ้อมูล ประกอบด ้วยคาสงั่ ทีใ่ ชในการควบคุ ม ้ DDL ยกใชข้ ้อมูล ความถูกต ้องของข ล หรือป้ องกันการเกิ ดเหตุการณ์ทผ ี่ ู ้ใช:หลายคนเรี Data้อมูDefinition Language พร ้อมกัน ในขณะทีข ่ ้อมูลนัน ้ ๆ กาลังปรับปรุงแก ้ไขอยู่ ซงึ่ เป็ นเวลา ้ เดียวกับผู ้ใชอี้ กคนหนึง่ ก็เรียกใชข้ ้อมูลนี้ และได ้ค่าทีไ่ ม่ถก ู ต ้อง เพราะผู ้ใชคนแรก ยังปรับปรุ งแก ้ไขไม่ เสร็จ Data Manipulation Language : DML Data Control Language : DCL 19 โปรแกรมอรรถประโยชน์ของระบบฐานข ้อมูล (Database System Utilities) Loading Utility Backup Utility File Reorganization Performance Monitoring Other… 20 ื่ สาร เครือ ่ งมืออานวยความสะดวกในการพัฒนา/สอ (Tools, Application Environment and Communications Facilities) Case Tools 21