More Related Content Similar to 03 data abstraction Similar to 03 data abstraction (20) More from Opas Kaewtai (7) 03 data abstraction2. Degree of Data Abstraction
• วิธีการหนึ่งในการแยกแยะดาต้าโมเดลต่างๆ สามารถทำได้จากการพิจารณาระดับ
หรือโครงสร้างของดาต้าโมเดล หรือที่เรียกว่า Data Abstraction
• เปรียบได้กับการสร้างรถยนต์จะต้องมีการแบ่งระดับการทำงานต่างๆก่อนที่จะมา
เป็นรถยนต์ที่สามารถใช้งานได้
– นักออกแบบ(Designer) ทำการออกแบบรถต้นแบบ (Conceptual Design)
– วิศวกร(Engineer) ทำการระบุรายละเอียดของเครื่องยนต์และอุปกรณ์ทาง
เทคนิคต่างๆ
– วิศวกร(Engineer) ทำการเขียนแบบเพื่อส่งต่อให้โรงงานฝ่ายผลิตทำการผลิต
รถยนต์ออกมา
#
5. Degree of Data Abstraction
• ค.ศ.1970 องค์กร the American National Standards
Institute/Standards Planning and Requirements Committee
(ANSI/SPARC) ทำการแบ่งระดับของ Data Abstraction ออกเป็น
– ระดับแนวคิด (Conceptual)
– ระดับภายใน (Internal)
– ระดับภายนอก (External)
• Peter Rob และ Carlos Coronel ได้ทำการแบ่งระดับเพิ่มเติมคือ
– ระดับกายภาพ (Physical)
#
7. ระดับแนวคิด (The Conceptual Model)
• แสดงภาพรวมทั้งหมดของฐานข้อมูล สามารถนำมาใช้เป็นเครื่องมือสื่อสารให้ผู้
บริหารระดับสูงเข้าใจได้
• แสดงข้อมูลเพื่อให้มนุษย์ (People) เห็นและเข้าใจได้
• ใช้อธิบายและระบุข้อมูลหลักๆ ของระบบฐานข้อมูล ทำให้เข้าใจภาพรวมได้ง่าย
ยิ่งขึ้น
• เครื่องมือที่นำมาใช้ในการออกแบบเชิงแนวคิดก็คือ Entities Relationship
Diagram (ER-Diagram) ซึ่งเปรียบเสมือนพิมพ์เขียว (Blueprint) ของฐาน
ข้อมูล
• กล่าวในทางกลับกันก็คือเราใช้ ER-Diagram ในการอธิบายการออกแบบฐาน
ข้อมูลระดับแนวคิดนั่นเอง
#
9. ระดับแนวคิด (The Conceptual Model)
• ประโยชน์ในการออกแบบระดับแนวคิด
• ทำให้สามารถมองภาพรวมของฐานข้อมูลทั้งหมดได้ง่าย โดยแสดงออก
มาทางการสร้าง ER-Diagram
• มีความเป็นอิสระทั้งทางด้านซอร์ฟแวร์ (Software Independence)
และ ฮาร์ดแวร์ (Hardware Independence)
#
10. ระดับภายใน (The Internal Model)
• เพื่อแสดงข้อมูลให้ DBMS เข้าใจ (เป็นสิ่งที่ DBMS ต้องการเห็น)
• เป็นการนำเอาสิ่งที่ได้จากการออกแบบเชิงแนวคิดมาทำการปรับปรุง
ให้เป็นข้อมูลเชิงเทคนิค เพื่อให้เหมาะสมกับการพัฒนาฐานข้อมูลด้วย
เทคโนโลยีที่เลือกใช้
• ยกตัวอย่างเช่น รูปแบบการเก็บข้อมูล
#
11. ระดับภายใน (The Internal Model)
• การออกแบบระดับภายในจึงเป็นส่วนที่สำคัญในการออกแบบฐาน
ข้อมูลแบบ Hierarchical Model และ Network Model เพราะทั้ง
สองโมเดลให้ความสำคัญกับที่อยู่ในการเก็บข้อมูลรวมถึง เส้นทางใน
การเข้าถึงข้อมูล (Data access path)
• ส่วน Relational Model นั้นจะมี RDBMS ทำหน้าที่จัดการการจัด
เก็บข้อมูลให้ จึงทำให้ไม่จำเป็นต้องจัดทำรายละเอียดของการ
ออกแบบระดับภายในมากเท่ากับสองโมเดลที่กล่าวมา
• ดังนั้นระดับภายใน (The Internal Model) จึงไม่เป็นอิสระต่อ
ซอร์ฟแวร์
#
12. ระดับภายนอก (The External Model)
• มุมมองที่แสดงต่อผู้ใช้ (End User)
• โดยผู้ใช้แต่ละระดับจะมีมุมมองรวมถึงความเกี่ยวข้องกับฐานข้อมูลที่
แตกต่างกัน
• นักออกแบบสามารถแยกมุมมองจากระดับภายใน (Internal Model)
ออกเป็นระดับภายนอก (External Model) ส่วนต่างๆ สำหรับผู้ใช้
แต่ละคนได้
• รวมถึงยังสามารถแยกให้นักพัฒนาโปรแกรมพัฒนาแต่ละมุมมองได้
• ง่ายต่อการรักษาความปลอดภัยของข้อมูล
#
16. ระดับกายภาพ (The Physical Model)
• ระดับที่อยู่ต่ำที่สุดของโครงสร้าง
• ใช้อธิบายวิธีการในการบันทึกข้อมูลลงในสื่อบันทึกข้อมูลต่างๆ เช่น
Disk หรือ Tape
• ระดับนี้ต้องการวิธีการบันทึกจากทั้ง ซอร์ฟแวร์ และฮาร์ดแวร์ ดังนั้น
จึงถือได้ว่าระดับกายภาพไม่เป็นอิสระต่อทั้งซอร์ฟแวร์และฮาร์ดแวร์
#
17. สคีมา (Schema) และการแปลงรูป (Mapping)
• สคีมา (Schema) คือส่ิงที่แสดงรายละเอียดของฐานข้อมูลใน
ระดับต่างๆ
• เปรียบเสมือนพิมพ์เขียว (Blue Print) ของฐานข้อมูล
• การแปลงรูป (Mapping) เป็นหน้าที่ของ DBMS ที่จะทำการ
แปลงรูปและตรวจสอบสคีมา ระหว่างระดับให้ถูกต้องตรงกัน
• เช่น การแปลงรูประหว่าง External Schema กับ Internal
Schema (External/Internal Mapping)
#
18. ความเป็นอิสระของข้อมูล (Data Independence)
• วัตถุประสงค์ของสถาปัตยกรรม 3 ระดับคือ การให้มีความเป็นอิสระของข้อมูล
(Data Independence)
• หมายถึง ผู้ใช้ไม่จำเป็นต้องทำการแก้ไขโปรแกรมทุกครั้งเมื่อมีการเปลี่ยนแปลง
โครงสร้างหรือข้อมูลในระดับแนวคิดและระดับภายใน โดยจะปล่อยให้ DBMS
เชื่อมข้อมูลในระดับต่างๆ เอง
• ความเป็นอิสระของข้อมูลมี 2 ชนิดคือ
– ความเป็นอิสระของข้อมูลทางลอจิคอล (Logical Data Independence)
– ความเป็นอิสระของข้อมูลทางฟิสิคอล (Physical Data Independence)
#
19. ความเป็นอิสระของข้อมูลทางลอจิคอล
(Logical Data Independence)
• การเปลี่ยนแปลงทางด้านแนวคิด จะไม่ส่งผลกระทบต่อ ระดับ
ภายนอก (External Model) ที่ผู้ใช้ (End User) ใช้งานอยู่
• เช่น การเพิ่ม การเปลี่ยนแปลงแอตตริบิวต์ หรือความสัมพันธ์ใดๆ ใน
ฐานข้อมูล จะไม่ส่งผลต่อการใช้งานของผู้ใช้ที่ใช้งานอยู่ และไม่จำเป็น
ต้องมีการแก้ไขโปรแกรมประยุกต์ใดๆ
#
20. ความเป็นอิสระของข้อมูลทางฟิสิคอล
(Physical Data Independence)
• การเปลี่ยนแปลงระดับกายภาพ (Physical Model) จะไม่ส่งผลกระทบต่อการ
เรียกดูข้อมูลจากผู้ใช้งานใดๆ
• เช่น การเปลี่ยนอุปกรณ์การจัดเก็บข้อมูล การปรับปรุงการเรียงลำดับดัชนีใน
อุปกรณ์บันทึก การเปลี่ยนแปลงโครงสร้างการจัดเก็บข้อมูล จะไม่่ส่งผลต่อการ
ใช้งานของผู้ใช้ (End User) ที่เรียกดูข้อมูลอยู่
#