Transcript File
Chapter 3 แบบจำลองข ้อมูล : Data Models แบบจำลองข ้อมูล (Data Models) - เป็ นแหล่งรวมของแนวคิดทีน ่ ำเสนอควำมเป็ นจริงของวัตถุ ข ้อมูล และ ั พันธ์ระหว่ำงข ้อมูลทีม เหตุกำรณ์ รวมถึงควำมสม ่ ค ี วำมสอดคล ้องกัน - กำรนำแนวคิดต่ำงๆ มำนำเสนอให ้เกิดเป็ นรูปแบบจำลอง ้ ื่ สำรระหว่ำง Database Designer กับ User เพือ - ใชในกำรส อ ่ ให ้เกิด ควำมเข ้ำใจตรงกัน ประเภทของแบบจำลองข ้อมูล (Types of Data Models) Conceptual Data Models Implementation Data Models ประเภทของแบบจำลองข ้อมูล : เชงิ แนวคิด (Types of Data Models : Conceptual) Conceptual Data Models - ้ บ ใชอธิ ำยภำพโดยรวมของข ้อมู ลทัง้ หมดในระบบ Implementation Data Models ั พันธ์ระหว่ำง Entities แสดงในรูปไดอะแกรมควำมสม ทำให ้เกิดควำมเข ้ำใจกันระหว่ำงผู ้ออกแบบและผู ้ใช ้ ไม่ขน ึ้ อยูก ่ บ ั DBMS ่ Entity-Relationship Model : E-R Model ตัวอย่ำงเชน ประเภทของแบบจำลองข ้อมูล : เชงิ แนวคิด (Types of Data Models : Conceptual) Conceptual Data Models Implementation Data Models ้ บำยโครงสร ้ำงข ้อมูลของฐำนข ้อมูล - ใชอธิ - อ ้ำงอิงกับ DBMS พืน ้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล (Data Models Basic Building Blocks) Entities Attributes Relationships Constraints พืน ้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล (Data Models Basic Building Blocks) Entities - บุคคล สงิ่ ของ หรือเหตุกำรณ์ ทีเ่ กีย ่ วข ้องกับข ้อมูลทีร่ วบรวม ไว ้เพือ ่ กำรจัดเก็บ Attributes - ถือเป็ นตัวแทนของวัตถุในโลกแห่งควำมเป็ นจริง Relationships *** ต่อไปมั นจะกลำยไปเป็ นตำรำง *** Constraints พืน ้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล (Data Models Basic Building Blocks) Entities Attributes - คุณลักษณะ (properties) ของ Entities Relationships *** ต่อไปมันจะกลำยไปเป็ นฟิ ลด์ของตำรำง *** Constraints พืน ้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล (Data Models Basic Building Blocks) Entities ั พันธ์ระหว่ำง Entities - ควำมสม 1:1 1:M Attributes M : M หรือ M : N Relationships Constraints พืน ้ ฐำนกำรสร ้ำงแบบจำลองข ้อมูล (Data Models Basic Building Blocks) Entities Attributes - กฎเกณฑ์/ข ้อตกลง ของข ้อมูล - เกิดควำมมัน ่ ใจในควำมเป็ นอันหนึง่ อันเดียวกัน - เกิดควำมสอดคล ้องตรงกันของข ้อมูล Relationships Constraints แบบจำลองฐำนข ้อมูล (Database Model) - รูปแบบหรือวิธก ี ำรจัดกำรเข ้ำถึงข ้อมูลในฐำนข ้อมูล จำเป็ นต ้องมีวธิ ก ี ำร หรือโครงสร ้ำงกำรจัดกำรทีแ ่ ตกต่ำงกัน ขึน ้ อยูก ่ บ ั DBMS ทีใ่ ช ้ แบบจำลองฐำนข ้อมูล (Database Model) Hierarchical Database Model Network Database Model Relational Database Model Object-Oriented Database Model Multidimensional Database Model ั้ แบบจำลองฐำนข ้อมูล : แบบลำดับชน (Hierarchical Database Model) ั้ แบบจำลองฐำนข ้อมูล : แบบลำดับชน (Hierarchical Database Model) ข ้อดี - รูปแบบโครงสร ้ำงเข ้ำใจง่ำย (Tree) ั ซอนน ้ โครงสร ้ำงซบ ้อยทีส ่ ด ุ 1:M Relational ควำมปลอดภัยในข ้อมูลดี มีควำมคงสภำพทีด ่ ี (Data Integrity) เหมำะกับข ้อมูลทีม ่ ก ี ำรเรียงลำดับแบบต่อเนือ ่ ง ี ข ้อเสย - ยำกต่อกำรพัฒนำ ต ้องเข ้ำใจโครงสร ้ำงทำงกำยภำพของข ้อมูล ั พันธ์แบบ M:M - ไม่รองรับควำมสม - Structural Dependent & Data Dependent - ไม่สะดวกในกำรค ้นหำข ้อมูลในระดับล่ำง - ไม่ม ี DML ใน DBMS ั เจน - ขำดมำตรฐำนกำรรองรับทีช ่ ด แบบจำลองฐำนข ้อมูล : แบบเครือข่ำย (Network Database Model) ั ้ อย่ำงไรหน๊อ ต่ำงจำกแบบลำดับชน แบบจำลองฐำนข ้อมูล : แบบเครือข่ำย (Network Database Model) แบบจำลองฐำนข ้อมูลแบบเครือข่ำยถูกสร ้ำงขึน ้ ด ้วยเหตุผลที่ ั พันธ์ทซ ั ซอนที ้ เพือ ่ ให ้จัดกำรกับควำมสม ี่ บ แ ่ บบจำลองฐำนข ้อมูลแบบ ั ้ ทำไม่ได ้ (M:N) เพือ ิ ธิภำพของฐำนข ้อมูล ลำดับชน ่ ปรับปรุงประสท แบบจำลองฐำนข ้อมูล : แบบเครือข่ำย (Network Database Model) ั พันธ์จะเรียกว่ำ เซต(set) ในแต่ละ ในแบบจำลองแบบเครือข่ำยควำมสม เซตจะประกอบด ้วยเรคคอร์ดอย่ำงน ้อย 2 ประเภท คือ Owner และ ั พันธ์ทเี่ กิดขึน member ซงึ่ ควำมสม ้ อำจจะเป็ นแบบ 1:N หรือ M:N ซงึ่ ั พันธ์กบ หมำยถึง member สำมำรถมีควำมสม ั Owner ได ้หลำย Owner • • • • พนักงำนขำยหนึง่ คนสำมำรถออกใบสง่ ของได ้ ื่ พนักงำนขำยเพียง หลำยใบ แต่ละใบจะมีชอ ื่ เดียว ชอ ื้ สน ิ ค ้ำได ้หลำย ลูกค ้ำคนหนึง่ อำจจะมีกำรซอ ครัง้ จึงอำจจะมีใบสง่ ของหลำยใบและแต่ละ ื่ ผู ้ซอ ื้ ได ้เพียงหนึง่ ชอ ื่ เท่ำนัน ใบจะมีชอ ้ ใบสง่ ของแต่ละใบอำจจะมีรำยกำรสง่ ของในใบ แจ ้งได ้หลำยรำยกำร ิ ค ้ำหลำย ๆ รำยกำรสำมำรถไปปรำกฏในใบ สน สง่ ของได ้หลำยใบ ้ *** ปั จจุบน ั ยังคงมีใชงำนอยู ใ่ นระดับ MainFrame *** แบบจำลองฐำนข ้อมูล : แบบเครือข่ำย (Network Database Model) ข ้อดี - รูปแบบโครงสร ้ำงเข ้ำใจง่ำย ั พันธ์ M:N สนับสนุนควำมสม มีควำมยืดหยุน ่ ในกำรเข ้ำถึงข ้อมูล มีควำมคงสภำพทีด ่ ี (Data Integrity) DBMS มี DDL และ DML มีควำมเป็ นมำตรฐำน Data Independent ี ข ้อเสย ั ซอน ้ และมีข ้อจำกัดด ้ำนประสท ิ ธิภำพ - ระบบโดยรวมยังมีควำมซบ - ยำกต่อกำรนำไปใช ้ - Structural Dependent ั พันธ์ แบบจำลองฐำนข ้อมูล : เชงิ สม (Relational Database Model) - คิดค ้นโดย E.F. Codd (จำก IBM) ในปี 1970 เป็ นแบบจำลองนำเสนอรูปแบบทำงแนวคิดทีเ่ ข ้ำใจง่ำย ้ ทีน ่ ย ิ มใชมำกในปั จจุบน ั *** ื่ มควำมสม ั พันธ์กน มุมมองข ้อมูลมีลก ั ษณะเป็ นตำรำงทีเ่ ชอ ั ้ ื่ มควำมสม ั พันธ์ ใชระบบคี ย ์ (KEY) ในกำรเชอ Primary Key : PK Foreign Key : FK แบบจำลองฐำนข ้อมูล : เชงิ วัตถุ (Object-Orineted Database Model) - พัฒนำตำมภำษำกำรโปรแกรมจำก SOP OOP - มองทุกสงิ่ เป็ น Object ซงึ่ ประกอบด ้วย Data & Operation - Class - Data Member (Properties , Attribute , Variable) - Method (Function) - ยังคงมีคณ ุ สมบัตข ิ อง OOP - Encapsulation กำรห่อหุ ้ม ื ทอด - Inheritance กำรสบ - Abstraction กำรสร ้ำงขึน ้ มำ แต่ยังไม่ระบุรำยละเอียด - Polymorphism Overload - มี OODBMS หรือ ODBMS แบบจำลองฐำนข ้อมูล : เชงิ วัตถุ (Object-Oriented Database Model) แบบจำลองฐำนข ้อมูล : เชงิ วัตถุ (Object-Oriented Database Model) ข ้อดี - Inheritance ทำให ้ข ้อมูลมีควำมคงสภำพสูง - Reusable - กำรนำเสนอเป็ นแบบ Visual ทำให ้อธิบำยหัวข ้อควำมหมำยได ้ดี ี ข ้อเสย ี่ วชำญเฉพำะด ้ำน - ต ้องมีผู ้เชย - ค่ำใชจ่้ ำยสูง - ยังไม่มม ี ำตรฐำนรองรับ ั่ แบบจำลองฐำนข ้อมูล : มัลติไดเมนชน (Multidimension Database Model) ั พันธ์ - พัฒนำจำกแบบเชงิ สม - Row & Column จะมีลก ั ษณะเป็ นลูกบำศก์ (Data Cube) - สำมำรถมองข ้อมูลได ้ 2 ทำง เพือ ่ ให ้เห็นปั ญหำและสร ้ำงวิธแ ี ก ้ได ้ดี ้ - ใชแบบจ ำลอง Star Schema ในกำรออกแบบ - มี Fact Table เก็บ fields ทัง้ หมดทีจ ่ ะวัด - มีตำรำง Dimension สำหรับ Join กับ Fact Table ้ - ถูกนำไปใชงำนกั บคลังข ้อมูล (Data Warehousing) ้ - ใชกำรเข ้ำถึงข ้อมูลโดยระบบ OLAP * OLAP : OnLine Analytical Processing (ระบบประมวลผลเชงิ วิเครำะห์แบบต่อตรง) ั่ แบบจำลองฐำนข ้อมูล : มัลติไดเมนชน (Multidimension Database Model) ั่ แบบจำลองฐำนข ้อมูล : มัลติไดเมนชน (Multidimension Database Model) ข ้อดี ้ อ - สำมำรถนำไปใชเพื ่ วำงแผนและสร ้ำงวิธแ ี ก ้ปั ญหำทำงธุรกิจได ้ - สำมำรถนำเสนอข ้อมูลได ้หลำยมุมมอง ี ข ้อเสย ี่ วชำญเฉพำะด ้ำน - ต ้องมีผู ้เชย ้ - ค่ำใชจ่้ ำยสูง ในสว่ นของ HW & SW เพือ ่ ใชในกำรวิ เครำะห์ - เหมำะกับธุรกิจขนำดใหญ่ ั พันธ์ โครงสร ้ำงข ้อมูลเชงิ สม (Relational Data Structure) Primary Key : PK Attribute (Field, Column) Cardinality Tuple (Record, Row) Relation (Table,File) Degree Domain : Rang of Data in each Field Foreign Key : FK กฎ 12 ข ้อของคอดด์ (Codd’s 12 Relational Database Model) • • • • • • • • • • • • Information Guaranteed Access Systematic Treatment of Null Dynamic On-Line Catalog Based on the Relational Model Comprehensive Data Sublanguage View Updating High-Level Insert, Update and Delete Physical Data Independence Logical Data Independence Integrity Independence Distribution Independence Nonsubversion ั พันธ์ ฐำนข ้อมูลเชงิ สม (Database Relations) ั่ คุณสมบัตข ิ องรีเลชน (Properties of Relations) • • • • • • • ั่ ต ้องมีชอ ื่ กำกับ ซงึ่ ซ้ำกันไม่ได ้ รีเลชน แต่ละ Attribute เก็บค่ำได ้เพียงค่ำเดียว (Atomic : Single Value) ื่ กำกับ ซงึ่ ซ้ำกันไม่ได ้ แต่ละ Attribute ต ้องมีชอ ข ้อมูลในแต่ละ Attribute ต ้องเป็ นไปตำมข ้อกำหนดของ Domain ข ้อมูลในแต่ละ Tuple ต ้องมีควำมแตกต่ำงจะต ้องไม่ม ี Tuple ทีซ ่ ้ำกัน กำรเรียงลำดับของแต่ละ Attribute ไม่มค ี วำมสำคัญใดๆ กำรเรียงลำดับของ Tuple ไม่มค ี วำมสำคัญใดๆ คีย ์ (Keys) • กำรกำหนด Attribute หรือกลุม ่ ของ Attributes เป็ น Key เพือ ่ ให ้แต่ ละ Tuple มีควำมแตกต่ำงกัน • กำรกำหนด Key ให ้กับ Relation เพือ ่ ให ้สำมำรถนำ Key ไประบุ Tuple ใน Relation ตำมต ้องกำรได ้ คีย ์ (Keys) Candidate Key : CK Primary Key : PK Alternate Key / Secondary Key Foreign Key : FK Composite/Concatenated/Compound Key Super Key