03 data abstraction

20
Degree of Data Abstraction

Upload: opas-kaewtai

Post on 13-Jul-2015

2.589 views

Category:

Education


3 download

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) ที่เรียกดูข้อมูลอยู่