Top Banner
Degree of Data Abstraction
20

03 data abstraction

Jul 13, 2015

Download

Education

Opas Kaewtai
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 03 data abstraction

Degree of Data Abstraction

Page 2: 03 data abstraction

#

Degree of Data Abstraction

• วิธีการหน่ึงในการแยกแยะดาต้าโมเดลต่างๆ สามารถทำได้จากการพิจารณาระดับหรือโครงสร้างของดาต้าโมเดล หรือที่เรียกว่า Data Abstraction

• เปรียบได้กับการสร้างรถยนต์จะต้องมีการแบ่งระดับการทำงานต่างๆก่อนที่จะมาเป็นรถยนต์ที่สามารถใช้งานได้– นักออกแบบ(Designer) ทำการออกแบบรถต้นแบบ (Conceptual Design)– วิศวกร(Engineer) ทำการระบุรายละเอียดของเครื่องยนต์และอุปกรณ์ทาง

เทคนิคต่างๆ– วิศวกร(Engineer) ทำการเขียนแบบเพื่อส่งต่อให้โรงงานฝ่ายผลิตทำการผลิต

รถยนต์ออกมา

Page 3: 03 data abstraction

#http://www.seriouswheels.com/stuv/VW-Concept-R-Drawing-Retractable-Top-1280x960.htm

Page 4: 03 data abstraction

http://www.automild.com/mercedes-a-class-e-cell-20-mil-per-charge/mercedes-a-class-e-cell-in-factory/

Page 5: 03 data abstraction

#

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)

Page 6: 03 data abstraction

#

Degree of Data Abstraction

Page 7: 03 data abstraction

#

ระดับแนวคิด (The Conceptual Model)

• แสดงภาพรวมทั้งหมดของฐานข้อมูล สามารถนำมาใช้เป็นเครื่องมือสื่อสารให้ผู้บริหารระดับสูงเข้าใจได้

• แสดงข้อมูลเพื่อให้มนุษย์ (People) เห็นและเข้าใจได้• ใช้อธิบายและระบุข้อมูลหลักๆ ของระบบฐานข้อมูล ทำให้เข้าใจภาพรวมได้ง่าย

ยิ่งขึ้น• เครื่องมือที่นำมาใช้ในการออกแบบเชิงแนวคิดก็คือ Entities Relationship

Diagram (ER-Diagram) ซึ่งเปรียบเสมือนพิมพ์เขียว (Blueprint) ของฐานข้อมูล

• กล่าวในทางกลับกันก็คือเราใช้ ER-Diagram ในการอธิบายการออกแบบฐานข้อมูลระดับแนวคิดน่ันเอง

Page 8: 03 data abstraction

#

ระดับแนวคิด (The Conceptual Model)

Page 9: 03 data abstraction

#

ระดับแนวคิด (The Conceptual Model)

• ประโยชน์ในการออกแบบระดับแนวคิด• ทำให้สามารถมองภาพรวมของฐานข้อมูลทั้งหมดได้ง่าย โดยแสดงออก

มาทางการสร้าง ER-Diagram• มีความเป็นอิสระทั้งทางด้านซอร์ฟแวร์ (Software Independence)

และ ฮาร์ดแวร์ (Hardware Independence)

Page 10: 03 data abstraction

#

ระดับภายใน (The Internal Model)

• เพื่อแสดงข้อมูลให้ DBMS เข้าใจ (เป็นสิ่งที่ DBMS ต้องการเห็น)• เป็นการนำเอาสิ่งที่ได้จากการออกแบบเชิงแนวคิดมาทำการปรับปรุง

ให้เป็นข้อมูลเชิงเทคนิค เพื่อให้เหมาะสมกับการพัฒนาฐานข้อมูลด้วยเทคโนโลยีที่เลือกใช้• ยกตัวอย่างเช่น รูปแบบการเก็บข้อมูล

Page 11: 03 data abstraction

#

ระดับภายใน (The Internal Model)

• การออกแบบระดับภายในจึงเป็นส่วนที่สำคัญในการออกแบบฐานข้อมูลแบบ Hierarchical Model และ Network Model เพราะทั้งสองโมเดลให้ความสำคัญกับที่อยู่ในการเก็บข้อมูลรวมถึง เส้นทางในการเข้าถึงข้อมูล (Data access path)• ส่วน Relational Model น้ันจะมี RDBMS ทำหน้าที่จัดการการจัด

เก็บข้อมูลให้ จึงทำให้ไม่จำเป็นต้องจัดทำรายละเอียดของการออกแบบระดับภายในมากเท่ากับสองโมเดลที่กล่าวมา• ดังน้ันระดับภายใน (The Internal Model) จึงไม่เป็นอิสระต่อ

ซอร์ฟแวร์

Page 12: 03 data abstraction

#

ระดับภายนอก (The External Model)

• มุมมองที่แสดงต่อผู้ใช้ (End User)• โดยผู้ใช้แต่ละระดับจะมีมุมมองรวมถึงความเกี่ยวข้องกับฐานข้อมูลที่

แตกต่างกัน • นักออกแบบสามารถแยกมุมมองจากระดับภายใน (Internal Model)

ออกเป็นระดับภายนอก (External Model) ส่วนต่างๆ สำหรับผู้ใช้แต่ละคนได้• รวมถึงยังสามารถแยกให้นักพัฒนาโปรแกรมพัฒนาแต่ละมุมมองได้• ง่ายต่อการรักษาความปลอดภัยของข้อมูล

Page 13: 03 data abstraction

#

ระดับภายนอก (The External Model)

Page 14: 03 data abstraction

#

ระดับภายนอก (The External Model)

Page 15: 03 data abstraction

#

ระดับภายนอก (The External Model)

Page 16: 03 data abstraction

#

ระดับกายภาพ (The Physical Model)

• ระดับที่อยู่ต่ำที่สุดของโครงสร้าง• ใช้อธิบายวิธีการในการบนัทึกข้อมูลลงในสื่อบันทึกข้อมูลต่างๆ เช่น

Disk หรือ Tape• ระดับน้ีต้องการวิธีการบันทึกจากทั้ง ซอร์ฟแวร์ และฮาร์ดแวร์ ดังน้ัน

จึงถือได้ว่าระดับกายภาพไม่เป็นอิสระต่อทั้งซอร์ฟแวร์และฮาร์ดแวร์

Page 17: 03 data abstraction

#

สคีมา (Schema) และการแปลงรูป (Mapping)

• สคีมา (Schema) คือส่ิงที่แสดงรายละเอียดของฐานข้อมูลในระดับต่างๆ • เปรียบเสมือนพิมพ์เขียว (Blue Print) ของฐานข้อมูล• การแปลงรูป (Mapping) เป็นหน้าที่ของ DBMS ที่จะทำการ

แปลงรูปและตรวจสอบสคีมา ระหว่างระดับให้ถูกต้องตรงกัน• เช่น การแปลงรูประหว่าง External Schema กับ Internal

Schema (External/Internal Mapping)

Page 18: 03 data abstraction

#

ความเป็นอิสระของข้อมูล (Data Independence)

• วัตถุประสงค์ของสถาปัตยกรรม 3 ระดับคือ การให้มีความเป็นอิสระของข้อมูล (Data Independence)

• หมายถึง ผู้ใช้ไม่จำเป็นต้องทำการแก้ไขโปรแกรมทุกครั้งเมื่อมีการเปลี่ยนแปลงโครงสร้างหรือข้อมูลในระดับแนวคิดและระดับภายใน โดยจะปล่อยให้ DBMS เชื่อมข้อมูลในระดับต่างๆ เอง

• ความเป็นอิสระของข้อมูลมี 2 ชนิดคือ– ความเป็นอิสระของข้อมูลทางลอจิคอล (Logical Data Independence)– ความเป็นอิสระของข้อมูลทางฟิสิคอล (Physical Data Independence)

Page 19: 03 data abstraction

#

ความเป็นอิสระของข้อมูลทางลอจิคอล(Logical Data Independence)

• การเปลี่ยนแปลงทางด้านแนวคิด จะไม่ส่งผลกระทบต่อ ระดับภายนอก (External Model) ที่ผู้ใช้ (End User) ใช้งานอยู่• เช่น การเพิ่ม การเปลี่ยนแปลงแอตตริบิวต์ หรือความสัมพันธ์ใดๆ ใน

ฐานข้อมูล จะไม่ส่งผลต่อการใช้งานของผู้ใช้ที่ใช้งานอยู่ และไม่จำเป็นต้องมีการแก้ไขโปรแกรมประยุกต์ใดๆ

Page 20: 03 data abstraction

#

ความเป็นอิสระของข้อมูลทางฟิสิคอล (Physical Data Independence)

• การเปลี่ยนแปลงระดับกายภาพ (Physical Model) จะไม่ส่งผลกระทบต่อการเรียกดูข้อมูลจากผู้ใช้งานใดๆ

• เช่น การเปลี่ยนอุปกรณ์การจัดเก็บข้อมูล การปรับปรุงการเรียงลำดับดัชนีในอุปกรณ์บันทึก การเปลี่ยนแปลงโครงสร้างการจัดเก็บข้อมูล จะไม่่ส่งผลต่อการใช้งานของผู้ใช้ (End User) ที่เรียกดูข้อมูลอยู่