Upload
opas-kaewtai
View
2.587
Download
3
Embed Size (px)
Citation preview
Degree of Data Abstraction
#
Degree of Data Abstraction
• วิธีการหน่ึงในการแยกแยะดาต้าโมเดลต่างๆ สามารถทำได้จากการพิจารณาระดับหรือโครงสร้างของดาต้าโมเดล หรือที่เรียกว่า Data Abstraction
• เปรียบได้กับการสร้างรถยนต์จะต้องมีการแบ่งระดับการทำงานต่างๆก่อนที่จะมาเป็นรถยนต์ที่สามารถใช้งานได้– นักออกแบบ(Designer) ทำการออกแบบรถต้นแบบ (Conceptual Design)– วิศวกร(Engineer) ทำการระบุรายละเอียดของเครื่องยนต์และอุปกรณ์ทาง
เทคนิคต่างๆ– วิศวกร(Engineer) ทำการเขียนแบบเพื่อส่งต่อให้โรงงานฝ่ายผลิตทำการผลิต
รถยนต์ออกมา
#http://www.seriouswheels.com/stuv/VW-Concept-R-Drawing-Retractable-Top-1280x960.htm
http://www.automild.com/mercedes-a-class-e-cell-20-mil-per-charge/mercedes-a-class-e-cell-in-factory/
#
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)
#
Degree of Data Abstraction
#
ระดับแนวคิด (The Conceptual Model)
• แสดงภาพรวมทั้งหมดของฐานข้อมูล สามารถนำมาใช้เป็นเครื่องมือสื่อสารให้ผู้บริหารระดับสูงเข้าใจได้
• แสดงข้อมูลเพื่อให้มนุษย์ (People) เห็นและเข้าใจได้• ใช้อธิบายและระบุข้อมูลหลักๆ ของระบบฐานข้อมูล ทำให้เข้าใจภาพรวมได้ง่าย
ยิ่งขึ้น• เครื่องมือที่นำมาใช้ในการออกแบบเชิงแนวคิดก็คือ Entities Relationship
Diagram (ER-Diagram) ซึ่งเปรียบเสมือนพิมพ์เขียว (Blueprint) ของฐานข้อมูล
• กล่าวในทางกลับกันก็คือเราใช้ ER-Diagram ในการอธิบายการออกแบบฐานข้อมูลระดับแนวคิดน่ันเอง
#
ระดับแนวคิด (The Conceptual Model)
#
ระดับแนวคิด (The Conceptual Model)
• ประโยชน์ในการออกแบบระดับแนวคิด• ทำให้สามารถมองภาพรวมของฐานข้อมูลทั้งหมดได้ง่าย โดยแสดงออก
มาทางการสร้าง ER-Diagram• มีความเป็นอิสระทั้งทางด้านซอร์ฟแวร์ (Software Independence)
และ ฮาร์ดแวร์ (Hardware Independence)
#
ระดับภายใน (The Internal Model)
• เพื่อแสดงข้อมูลให้ DBMS เข้าใจ (เป็นสิ่งที่ DBMS ต้องการเห็น)• เป็นการนำเอาสิ่งที่ได้จากการออกแบบเชิงแนวคิดมาทำการปรับปรุง
ให้เป็นข้อมูลเชิงเทคนิค เพื่อให้เหมาะสมกับการพัฒนาฐานข้อมูลด้วยเทคโนโลยีที่เลือกใช้• ยกตัวอย่างเช่น รูปแบบการเก็บข้อมูล
#
ระดับภายใน (The Internal Model)
• การออกแบบระดับภายในจึงเป็นส่วนที่สำคัญในการออกแบบฐานข้อมูลแบบ Hierarchical Model และ Network Model เพราะทั้งสองโมเดลให้ความสำคัญกับที่อยู่ในการเก็บข้อมูลรวมถึง เส้นทางในการเข้าถึงข้อมูล (Data access path)• ส่วน Relational Model น้ันจะมี RDBMS ทำหน้าที่จัดการการจัด
เก็บข้อมูลให้ จึงทำให้ไม่จำเป็นต้องจัดทำรายละเอียดของการออกแบบระดับภายในมากเท่ากับสองโมเดลที่กล่าวมา• ดังน้ันระดับภายใน (The Internal Model) จึงไม่เป็นอิสระต่อ
ซอร์ฟแวร์
#
ระดับภายนอก (The External Model)
• มุมมองที่แสดงต่อผู้ใช้ (End User)• โดยผู้ใช้แต่ละระดับจะมีมุมมองรวมถึงความเกี่ยวข้องกับฐานข้อมูลที่
แตกต่างกัน • นักออกแบบสามารถแยกมุมมองจากระดับภายใน (Internal Model)
ออกเป็นระดับภายนอก (External Model) ส่วนต่างๆ สำหรับผู้ใช้แต่ละคนได้• รวมถึงยังสามารถแยกให้นักพัฒนาโปรแกรมพัฒนาแต่ละมุมมองได้• ง่ายต่อการรักษาความปลอดภัยของข้อมูล
#
ระดับภายนอก (The External Model)
#
ระดับภายนอก (The External Model)
#
ระดับภายนอก (The External Model)
#
ระดับกายภาพ (The Physical Model)
• ระดับที่อยู่ต่ำที่สุดของโครงสร้าง• ใช้อธิบายวิธีการในการบนัทึกข้อมูลลงในสื่อบันทึกข้อมูลต่างๆ เช่น
Disk หรือ Tape• ระดับน้ีต้องการวิธีการบันทึกจากทั้ง ซอร์ฟแวร์ และฮาร์ดแวร์ ดังน้ัน
จึงถือได้ว่าระดับกายภาพไม่เป็นอิสระต่อทั้งซอร์ฟแวร์และฮาร์ดแวร์
#
สคีมา (Schema) และการแปลงรูป (Mapping)
• สคีมา (Schema) คือส่ิงที่แสดงรายละเอียดของฐานข้อมูลในระดับต่างๆ • เปรียบเสมือนพิมพ์เขียว (Blue Print) ของฐานข้อมูล• การแปลงรูป (Mapping) เป็นหน้าที่ของ DBMS ที่จะทำการ
แปลงรูปและตรวจสอบสคีมา ระหว่างระดับให้ถูกต้องตรงกัน• เช่น การแปลงรูประหว่าง External Schema กับ Internal
Schema (External/Internal Mapping)
#
ความเป็นอิสระของข้อมูล (Data Independence)
• วัตถุประสงค์ของสถาปัตยกรรม 3 ระดับคือ การให้มีความเป็นอิสระของข้อมูล (Data Independence)
• หมายถึง ผู้ใช้ไม่จำเป็นต้องทำการแก้ไขโปรแกรมทุกครั้งเมื่อมีการเปลี่ยนแปลงโครงสร้างหรือข้อมูลในระดับแนวคิดและระดับภายใน โดยจะปล่อยให้ DBMS เชื่อมข้อมูลในระดับต่างๆ เอง
• ความเป็นอิสระของข้อมูลมี 2 ชนิดคือ– ความเป็นอิสระของข้อมูลทางลอจิคอล (Logical Data Independence)– ความเป็นอิสระของข้อมูลทางฟิสิคอล (Physical Data Independence)
#
ความเป็นอิสระของข้อมูลทางลอจิคอล(Logical Data Independence)
• การเปลี่ยนแปลงทางด้านแนวคิด จะไม่ส่งผลกระทบต่อ ระดับภายนอก (External Model) ที่ผู้ใช้ (End User) ใช้งานอยู่• เช่น การเพิ่ม การเปลี่ยนแปลงแอตตริบิวต์ หรือความสัมพันธ์ใดๆ ใน
ฐานข้อมูล จะไม่ส่งผลต่อการใช้งานของผู้ใช้ที่ใช้งานอยู่ และไม่จำเป็นต้องมีการแก้ไขโปรแกรมประยุกต์ใดๆ
#
ความเป็นอิสระของข้อมูลทางฟิสิคอล (Physical Data Independence)
• การเปลี่ยนแปลงระดับกายภาพ (Physical Model) จะไม่ส่งผลกระทบต่อการเรียกดูข้อมูลจากผู้ใช้งานใดๆ
• เช่น การเปลี่ยนอุปกรณ์การจัดเก็บข้อมูล การปรับปรุงการเรียงลำดับดัชนีในอุปกรณ์บันทึก การเปลี่ยนแปลงโครงสร้างการจัดเก็บข้อมูล จะไม่่ส่งผลต่อการใช้งานของผู้ใช้ (End User) ที่เรียกดูข้อมูลอยู่