1 / 19

บทที่ 3

บทที่ 3. สถาปัตยกรรมของระบบฐานข้อมูล. หัวข้อที่ศึกษา. 3.1 แนะนำ 3.2 สถาปัตยกรรม 3 ระดับ 3.3 ประโยชน์ของสถาปัตยกรรม 3 ระดับ. 3.1 แนะนำ. ฐานข้อมูลมีข้อดีเหนือกว่าระบบประมวลผลแบบแฟ้มข้อมูลอยู่ข้อหนึ่ง คือ ความเป็นอิสระกันของข้อมูล

drago
Download Presentation

บทที่ 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 3 สถาปัตยกรรมของระบบฐานข้อมูล

  2. หัวข้อที่ศึกษา 3.1 แนะนำ 3.2 สถาปัตยกรรม 3 ระดับ 3.3 ประโยชน์ของสถาปัตยกรรม 3 ระดับ

  3. 3.1 แนะนำ • ฐานข้อมูลมีข้อดีเหนือกว่าระบบประมวลผลแบบแฟ้มข้อมูลอยู่ข้อหนึ่ง คือ ความเป็นอิสระกันของข้อมูล • ความเป็นอิสระกันของข้อมูล คือ โปรแกรมประยุกต์ที่ผู้ใช้เขียนขึ้นไม่ขึ้นกับโครงสร้างของข้อมูลที่มีการเปลี่ยนแปลงไป • เนื่องจากการจัดโครงสร้างข้อมูลจะมีการแบ่งระดับชั้นเป็น 3 ระดับ ได้แก่ ระดับความคิด ระดับภายนอก ระดับภายใน • ระดับของข้อมูลทั้ง 3 ระดับนี้เรียกว่า สถาปัตยกรรมของระบบฐานข้อมูล (ANSI/SPARC Architecture)

  4. 3.2 สถาปัตยกรรม 3 ระดับ สถาปัตยกรรมของระบบฐานข้อมูลแบ่งเป็น 3 ระดับ คือ • ระดับความคิด (Conceptual Level) • ระดับภายนอก (External Level) • ระดับภายใน (Internal Level)

  5. 1. ระดับความคิด (Conceptual Level) • เป็นระดับของการออกแบบฐานข้อมูล ซึ่งผลลัพธ์ที่ได้จากการออกแบบฐานข้อมูล  เก็บข้อมูลอะไร และความสัมพันธ์ข้อมูลเป็นอย่างไร  สคีมา (Schema) • Conceptual Schema = สิ่งที่อธิบายว่าฐานข้อมูลประกอบด้วย เอนติตี้อะไรบ้าง แต่ละเอนติตี้ประกอบด้วยเขตข้อมูล (Filed)ใด มีชนิดข้อมูลเป็นอะไร มีขนาดเท่าไร และความสัมพันธ์ระหว่างเอนติตี้เป็นอย่างไร • ผู้รับผิดชอบ คือ DBA

  6. TABLE ENROLL EN_YEAR SMALLINT, EN_TERM CHARACTER(1), EN_SJID CHARACTER(7), EN_STID CHARACTER(9), EN_GRD CHARACTER(2), TABLE SUBJECT SUB_ID CHARACTER(7), SUB_NAME CHARACTER(15), SUB_UNIT CHARACTER(1), Conceptual Schema

  7. 2. ระดับภายนอก (External Level) • ระดับที่มีการนำข้อมูลจากฐานข้อมูลไปใช้งาน • ผู้ใช้แต่ละคนสามารถเลือกดูข้อมูลเฉพาะที่ตนสนใจหรือต้องการใช้ ดังนั้น ผู้ใช้แต่ละคนจะมีวิว/มุมมองข้อมูลในฐานข้อมูลที่แตกต่างกันได้ • วิวของข้อมูลจะดึงข้อมูลมาจาก Conceptual Level • External Schema / Subschema = สิ่งที่จะใช้อธิบายวิวของข้อมูลที่ถูกดึงมาจากฐานข้อมูลที่อยู่ในระดับ Conceptual Level • ระดับภายนอกมี Subschema ได้หลาย Subschema • ผู้รับผิดชอบ คือ นักเขียนโปรแกรมประยุกต์ (Application Programmer) หรือผู้ใช้ทั่วไป (End User)

  8. การลงทะเบียนนักศึกษา รหัสนศ. _____________________ รหัสวิชา _____ ชื่อวิชา _________ รายงานเกรดนักศึกษา รหัสวิชา ______ ชื่อวิชา __________รหัสนศ. ______ เกรด ___________ External Schema/Subschema

  9. 3. ระดับภายใน (Internal Level) • ระดับของการจัดเก็บฐานข้อมูลในหน่วยเก็บข้อมูลสำรอง  ข้อมูลเก็บอยู่ในตำแหน่งใดของดิสก์ และจัดเก็บข้อมูลเกี่ยวกับ Index และ pointer • ผู้รับผิดชอบ คือ ผู้ออกแบบฐานข้อมูลระดับกายภาพ (Physical Database Designer) เลือกใช้อุปกรณ์ที่ใช้ในการจัดเก็บ วิธีเข้าถึงข้อมูล วิธีการบำรุงรักษา และการเพิ่มประสิทธิภาพของฐานข้อมูล

  10. Internal Schema

  11. การลงทะเบียนนักศึกษา รหัสนศ. ____________________________ รหัสวิชา __________ ชื่อวิชา __________ รายงานเกรดนักศึกษา รหัสวิชา _______ ชื่อวิชา ________________รหัสนศ. _____________ เกรด ____________ TABLE ENROLL EN_YEAR SMALLINT, EN_TERM CHARACTER(1), EN_SJID CHARACTER(7), EN_STID CHARACTER(9), EN_GRD CHARACTER(2), TABLE SUBJECT SUB_ID CHARACTER(7), SUB_NAME CHARACTER(15), SUB_UNIT CHARACTER(1), สถาปัตยกรรมฐานข้อมูล ระดับ External Level ผู้รับผิดชอบจัดการระดับนี้ คือ User & Application Programmer ระดับ Conceptual Level ผู้รับผิดชอบจัดการระดับนี้ คือ Database Administrator ระดับ Internal Level ผู้รับผิดชอบจัดการระดับนี้ คือ Physical Database Designer

  12. User A User B User C External Conceptual ตารางนักเรียน ตารางอาจารย์ ผู้ใช้ 3 คนเห็นข้อมูลไม่เหมือนกัน

  13. Conceptual Internal Index ภาพที่เรามองการจัดเก็บข้อมูล จะแตกต่างจากวิธีเก็บข้อมูลจริง

  14. Index Conceptual Internal 11 4 X ระดับภายในเป็นระดับที่ใกล้ชิดกับดิสก์มากที่สุด

  15. 3.3 ประโยชน์จากสถาปัตยกรรม 3 ระดับ • โครงสร้างสถาปัตยกรรมของฐานข้อมูลทั้ง 3 ระดับ จะมี DBMS ทำหน้าที่แม็ป (Map)/แปลระดับข้อมูลจากระดับหนึ่งไปเป็นอีกระดับหนึ่ง

  16. การลงทะเบียนนักศึกษา รหัสนศ. ____________________________ รหัสวิชา __________ ชื่อวิชา __________ รายงานเกรดนักศึกษา รหัสวิชา _______ ชื่อวิชา ________________รหัสนศ. _____________ เกรด ____________ TABLE ENROLL EN_YEAR SMALLINT, EN_TERM CHARACTER(1), EN_SJID CHARACTER(7), EN_STID CHARACTER(9), EN_GRD CHARACTER(2), TABLE SUBJECT SUB_ID CHARACTER(7), SUB_NAME CHARACTER(15), SUB_UNIT CHARACTER(1), การเชื่อมโยงข้อมูลแต่ละระดับด้วยการ Mapping External/Conceptual Mapping Conceptual/Internal Mapping

  17. การแม็ปหรือการแปลระดับข้อมูลก่อให้เกิดประโยชน์ดังนี้การแม็ปหรือการแปลระดับข้อมูลก่อให้เกิดประโยชน์ดังนี้ 1. มุมมองของผู้ใช้งาน (View of each user) • ระดับความคิดและระดับภายนอก (External/Conceptual Mapping)  ทำให้ผู้ใช้ฐานข้อมูลมีมุมมองที่แตกต่างกันได้ โดย DBMS ทำการแปล (map) ชื่อข้อมูลให้ระดับภายนอกและระดับความคิด ให้สามารถเข้าใจว่าคือข้อมูลตัวเดียวกัน • ระดับความคิดและภายใน (Conceptual/Internal Mapping) ผู้ใช้ฐานข้อมูลไม่จำเป็นต้องทราบว่าข้อมูลที่ต้องการใช้ถูกจัดเก็บอย่างไรในดิสก์ โดย DBMS จะดูว่าข้อมูลที่ผู้ใช้ต้องการนั้นเก็บ ณ ตำแหน่งใด

  18. DBA ผู้ใช้งานทั่วไป ผู้ออกแบบฐานข้อมูลทางกายภาพ ผู้ออกแบบฐานข้อมูลทางตรรก TABLE ENROLL EN_YEAR SMALLINT, EN_TERM CHARACTER(1), EN_SJID CHARACTER(7), EN_STID CHARACTER(9), EN_GRD CHARACTER(2), CREATE VIEW VW_ENR (ST_ID, SJ_ID, SJ_NAME) AS SELECT EN_STID, EN_SJID, SUB_NAME FROM ENROLL, SUBJECT WHERE EN_SJID=SUB_ID TABLE SUBJECT SUB_ID CHARACTER(7), SUB_NAME CHARACTER(15), SUB_UNIT CHARACTER(1), CREATE VIEW VW_ENR (SB_ID, SB_NAME, SJ_ID, ST_GRD) AS SELECT EN_SJID, SUB_NAME, EN_STID, EN-GRD FROM ENROLL, SUBJECT WHERE EN_SJID=SUB_ID MAP MAP INTERNAL LEVEL EXTERNAL LEVEL CONCEPTUAL LEVEL

  19. 2. ความเป็นอิสระของข้อมูล • ระดับความคิดและระดับภายนอก (External/Conceptual Mapping) การเปลี่ยนแปลงฐานข้อมูลในระดับความคิดจะไม่มีผลกระทบต่อโปรแกรมประยุกต์ที่ใช้ในระดับภายนอก • ระดับความคิดและภายใน (Conceptual/Internal Mapping)  การเปลี่ยนแปลงฐานข้อมูลในระดับภายใน ได้แก่เปลี่ยนแปลงวิธีการจัดเก็บในดิสก์แบบดัชนีเป็นแบบสุ่ม เมื่อมีการสร้างตารางใดๆ ในระดับความคิดจะไม่มีผลกระทบหรือไม่ต้องรับรู้การเปลี่ยนแปลงดังกล่าว

More Related