งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 Database Design v โมเดลจำลองความสัมพันธ์ระหว่างข้อมูล (ER-Diagram) DBMS Database Management System.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 Database Design v โมเดลจำลองความสัมพันธ์ระหว่างข้อมูล (ER-Diagram) DBMS Database Management System."— ใบสำเนางานนำเสนอ:

1 1 Database Design v โมเดลจำลองความสัมพันธ์ระหว่างข้อมูล (ER-Diagram) DBMS Database Management System

2 5.2Outline v การออกแบบฐานข้อมูลมีประโยชน์ อย่างไร v ขั้นตอนในการออกแบบฐานข้อมูล v ER-Diagram v Map ER to Relation

3 5.3 การออกแบบฐานข้อมูลมีประโยชน์ อย่างไร v เป็นการวางแผนว่าจะเก็บข้อมูลต่างๆ ที่ จำเป็นต้องใช้ในระบบงานไว้ในตารางใดบ้าง โดยยังคงมีความสัมพันธ์ระหว่างข้อมูลไว้ได้ และสามารถเรียกดูข้อมูลที่เก็บไว้เพื่อมาใช้ งานได้ตามปกติ v มองเห็นความสัมพันธ์ระหว่างข้อมูลทั้งหมดที่ มีอยู่ โดยข้อมูลบางตัวอาจจะเกี่ยวข้องกับ ข้อมูลอื่นๆหลายตัว อาจทำให้เกิดการเก็บ รายละเอียดของข้อมูลนั้นซ้ำซ้อนกันได้

4 5.4 แสดงขั้นตอนในการออกแบบ ฐานข้อมูล 1. Requirement Analysis 2. Conceptual Design 3. Logical Design 4. Schema Refinement 5. Physical Design 6. Security Design (ER-Diagram) (Normalization) DBA Database Designer 7. Maintenance

5 สำรวจความต้องการใช้ งาน (Requirement Analysis) v เป็นขั้นตอนแรกที่สำคัญมากต่อระบบ ฐานข้อมูล v จะรู้ความต้องการของผู้ใช้งานและระบบ ได้อย่างไร

6 5.6 จะรู้ความต้องการของผู้ใช้งานได้ อย่างไร v ศึกษาเอกสารที่ใช้ในระบบงานนั้นๆ v การใช้แบบสอบถาม v การพูดคุยกับผู้ใช้โดยตรง v ข้อมูลที่เราจำเป็นต้องเก็บรวบรวมเพื่อ นำไปใช้ในการออกแบบระบบฐานข้อมูล ประกอบด้วย –ข้อมูลแต่ละตัวที่จำเป็นต้องใช้ในระบบงาน (Entity) –รายละเอียดของข้อมูลนั้น(Attribute) –ความสัมพันธ์ระหว่างข้อมูลทั้งหมด (Relationship)

7 5.7 ตั้งคำถาม ถามระบบ v วิธีที่จะตรวจสอบว่าความต้องการที่สำรวจได้ เพียงพอที่จะใช้งานจริงแล้วหรือไม่ คือ ลอง ตั้งคำถามที่ต้องการดูว่าข้อมูลที่จะเก็บใน ฐานข้อมูลสามารถนำมาใช้ตอบคำถามนั้นๆ ได้ทั้งหมดหรือไม่ v ถ้าตอบได้ ก็แสดงว่าเราไม่ได้ลืมเก็บข้อมูลที่ จำเป็นต้องใช้ตัวอื่นอีก

8 ออกแบบฐานข้อมูลระดับ แนวคิด (Conceptual Design) v ผู้ออกแบบฐานข้อมูลจะต้อง u กำหนดเอนติติ้และแอตทริบิวต์ u กำหนดคอนสเตรนต์ u กำหนดความสัมพันธ์ v โดยใช้ ER Diagram มาช่วยในขั้นตอน นี้

9 ออกแบบฐานข้อมูลระดับตรรกะ (Logical Design) v เป็นขั้นตอนการแปลงความสัมพันธ์ของ ข้อมูล ซึ่งแสดงด้วย ER-Diagram ไปเป็น ตารางตาม Relational Model

10 ปรับโครงสร้างข้อมูล (Schema Refinement) v ตารางที่ได้จากการออกแบบฐานข้อมูลใน ระดับ Logical ยังไม่ใช่ตารางที่เหมาะสำหรับ นำไปเก็บข้อมูลจริง เนื่องจากอาจทำให้เกิด ความซ้ำซ้อนของข้อมูล และปัญหาต่างๆ

11 ออกแบบฐานข้อมูลระดับ กายภาพ (Physical Design) v เป็นหน้าที่ DBA เพื่อให้ระบบฐานข้อมูลเกิด ประสิทธิภาพมากที่สุด v การออกแบบในระดับนี้ เกี่ยวข้องกับการสร้าง อินเด็กซ์ (Index)และการเลือกโครงสร้าง ข้อมูลระดับภายใน (Internal View) เพื่อให้ สอดคล้องกับลักษณะการใช้งานข้อมูลที่ เกิดขึ้นบ่อยๆ เช่น สร้างอินเด็กซ์ที่คอลัมน์ซึ่ง มักถูกใช้กำหนดเป็นเงื่อนไขในการดึงข้อมูล

12 ควบคุมการนำไปใช้ (Security Design) v เป็นการกำหนดสิทธิในการใช้งานข้อมูล ที่ DBA จะกำหนดขึ้นตามความ เหมาะสมและความต้องการของผู้ใช้งาน

13 การบำรุงรักษาระบบ (Maintenance Database System) v เป็นขั้นตอนที่มีความสำคัญกับระบบมาก v เมื่อระบบทำงานช้าลง ต้องตรวจสอบ v เมื่อพบข้อผิดพลาดจากข้อมูลที่เก็บ v เมื่อความต้องการของระบบหรือผู้ใช้เปลี่ยนไป v เมื่อนโยบายขององค์กรเปลี่ยนไป v การสำรองข้อมูล เมื่อไร backup / การกู้คืน ข้อมูล v การป้องกันไวรัสทุกชนิด โจรกรรมข้อมูล

14 5.14การออกแบบฐานข้อมูล v เป็นเรื่องที่สำคัญมาก เพราะมีผลต่อ ประสิทธิภาพในการใช้งาน v ควรออกแบบอย่างรอบคอบ v โดยต้องทำความเข้าใจในระบบงานก่อน v เพื่อให้การออกแบบถูกต้องและครอบคลุม งานของระบบทั้งหมด ป้องกันการแก้ไข ภายหลังหรือป้องกันความซับซ้อนของงานที่ ออกแบบ

15 5.15 Entity Relationship Model v By ดร.ปีเตอร์ เชนน์ ราวปี พ.ศ v ER Model เป็นแบบจำลองข้อมูลซึ่ง แสดงถึงโครงสร้างของฐานข้อมูล v สัญลักษณ์ต่างๆที่ใช้ในอี-อาร์โมเดล เรียกว่า อี-อาร์ไดอะแกรม (ER-Diagram)

16 5.16 Entity Relationship Diagram v v เป็นแผนภาพสัญลักษณ์ ที่แสดงความสัมพันธ์ของ องค์ประกอบต่างๆ เพื่อสร้างฐานข้อมูลเชิงสัมพันธ์ ได้แก่ เอนติตี้ แอตทริบิวต์ และความสัมพันธ์ ระหว่างเอนติตี้ v จุดเด่นของ ER – –ช่วยให้การออกแบบทำได้ง่ายขึ้น ด้วยการจัดระเบียบ ความคิดของคนที่ทำการออกแบบ ที่มีต่อองค์ประกอบ ต่างๆให้ชัดเจน – –ช่วยนำให้เกิดความคิดอย่างเป็นขั้นตอน ลดความ ซับซ้อนของระบบได้อย่างดี – –มองเห็นความสัมพันธ์ระหว่างข้อมูล มองเห็นแอตทริบิวต์ ของข้อมูลได้ชัดเจน

17 5.17 Entity, Attribute v เอนติตี้(Entity) –ตัวแทนของสิ่งที่มีอยู่ในระบบที่เราสนใจ อาจเป็น สิ่งของ คน สถานที การกระทำ โดยแต่ละเอนติตี้จะเก็บเรื่องเดียวกัน v แอตทิบิวต์(Attribute) –รายละเอียดหรือคุณสมบัติของเอนติตี้นั้นๆ

18 5.18ความสัมพันธ์(Relationships) v ในระบบงานหนึ่งๆ เอนติตี้ทั้งหมด จะต้องเกี่ยวข้องกัน ความเกี่ยวข้อง เรียกว่า Relationship –Degree of Relationships –Cardinality of Relationships

19 5.19 สัญลักษณ์ของ ER Model สัญลักษณ์ความหมาย สี่เหลี่ยมผืนผ้าเอนติตี้ เอนติติ้แบบอ่อน (Weak Entity) ความสัมพันธ์ ER-Model ตามแบบของ Peter Pin Shan Chen

20 5.20 สัญลักษณ์ของ ER model(ต่อ) สัญลักษณ์ความหมาย ความสัมพันธ์แบบอ่อน (Weak Relationship) แอตทริบิวต์ แอตทริบิวต์ที่เป็น primary key

21 5.21 สัญลักษณ์ของ ER model(ต่อ) สัญลักษณ์ความหมาย แอตทริบิวต์ที่มีหลายค่า แอตทริบิวต์ประกอบ (แอ ตทริบิวต์ด้านบนเป็น ส่วนประกอบของแอตทริ บิวต์ด้านล่าง)

22 5.22 สัญลักษณ์ของ ER model(ต่อ) สัญลักษณ์ความหมาย ดีไรฟ์แอตทริบิ่วต์(derived attribute) เก็บผลของการ คำนวณหรือแปลงค่ามาจากแอ ตทริบิวเดิม ความสัมพันธ์ที่ข้อมูลทุกๆแถวใน เอนติติ้ E2 สามารถจับคู่ได้กับ ข้อมูลแถวใดแถวหนึ่งของ E1 ได้ เรียกว่า ข้อมูลใน E2 เป็น total participation กับ E1 E1 E2 R

23 5.23 สัญลักษณ์ของ ER model(ต่อ) สัญลักษณ์ความหมาย ความสัมพันธ์ที่ข้อมูลทุกๆ แถวในเอนติติ้ E1 สามารถ จับคู่ได้กับข้อมูลแถวใด แถวหนึ่งของ E2 ได้ เรียกว่า ข้อมูลใน E2 เป็น partial participation กับ E1 E1 E2 R

24 5.24ประเภทของแอตทริบิวต์ v แอตทริบิวต์ที่มีค่าเดียว คือ แอตทริบิวที่เก็บค่า ได้เพียงค่าเดียวเท่านั้น เช่น รหัสลูกค้า ลูกค้า 1 คนมีรหัสลูกค้าได้หมายเลขเดียว v แอตทริบิวต์ที่มีหลายค่า(Multivalued attribute) คือ แอตทริบิวต์ที่เก็บค่าได้ตั้งแต่ 1 ค่าขึ้นไป เช่น ระดับการศึกษาที่อาจารย์จบ ซึ่ง เก็บค่าได้หลายระดับ

25 5.25ประเภทของแอตทริบิวต์(ต่อ) v v แอตทริบิวต์ประกอบ(Composite attribute) คือแอตทริบิวต์ที่ประกอบด้วยแอตทริบิวต์หลาย ตัวมารวมกันจึงให้ความหมายที่ชัดเจน เช่น ที่อยู่(รวม บ้านเลขที่ ซอย ถนน เขต จังหวัด) v v ดีไรฟ์แอตทริบิวต์(Derived attribute) คือ แอตทริบิวต์ที่เก็บผลการคำนวณหรือแปลง ค่ามาจากแอตทริบิวต์อื่นๆ เช่น จำนวนเงิน (ราคา*จำนวน)

26 5.26 Weak Entities v เป็นเอนติตี้ที่ขึ้นต่อกันในเชิงปรากฏกับเอนติตี้ หนึ่ง v ลักษณะของการขึ้นต่อกัน คือ การที่เอนติตี้ หนึ่งจะเกิดขึ้นได้นั้น ขึ้นกับอีกเอนติตี้หนึ่งว่า ปรากฏอยู่หรือไม่ v เช่น เอนติตี้พนักงานและเอนติตี้ญาติ ถ้าไม่มี เอนติตี้พนักงาน เอนติตี้ญาติก็จะไม่เกิดขึ้น –เอนติตี้ญาติ เป็น Weak Entity –เอนติตี้พนักงาน เป็น Entity

27 Weak Entities(ต่อ) ตึก มี ห้องเรียน 1 M รหัสตึก ชื่อตึก รหัสห้องเรียน ความจุ

28 5.28 จำนวน entity ต่อ entity ใน ความสัมพันธ์ (Cardinality of Relationships) v One to One relationship(1 to 1) v One to Many relationship(1 to M) v Many to Many relationship(M to M)

29 5.29 Mapping Cardinalities One to one One to many

30 5.30 Mapping Cardinalities Many to one Many to many

31 5.31 One to One Relationship v ความสัมพันธ์ที่แต่ละแถวของข้อมูลในเอนติตี้ แรก สามารถจับคู่กับข้อมูลในเอนติตี้ที่สองได้ เพียงแถวเดียวเท่านั้น v เช่น ระบบข้อมูลมหาวิทยาลัย –แต่ละคณะจะมีอาจารย์ที่เป็นคณบดีได้คนเดียวเท่านั้น อาจารย์ เป็นคณบดี 1 1 คณะ

32 5.32 One to Many v ความสัมพันธ์ที่แต่ละแถวของข้อมูลในเอนติตี้ แรก สามารถจับคู่กับข้อมูลในเอนติตี้ที่สองได้ มากกว่าหนึ่งแถว v เช่น ระบบสั่งซื้อสินค้าของลูกค้า –ลูกค้าหนึ่งคนสั่งซื้อใบสั่งซื้อได้หลายใบ และใบสั่งซื้อแต่ละ ใบถูกลูกค้าสั่งซื้อได้เพียงคนเดียว ลูกค้า สั่งซื้อ 1 M ใบสั่งซื่อ

33 5.33 Many to Many v ความสัมพันธ์ที่แต่ละแถวของข้อมูลในเอนติตี้แรก สามารถจับคู่กับข้อมูลในเอนติตี้ที่สองได้มากกว่าหนึ่ง แถว และในทางกลับกันข้อมูลแต่ละแถวของฝั่งเอนติตี้ที่ สองก็สามารถจับคู่กับข้อมูลในเอนติตี้แรกได้มากกว่า หนึ่งแถว v เช่น ระบบสั่งซื้อสินค้าของลูกค้า –สินค้า 1 ชนิดถูกสั่งซื้อตามใบสั่งซื้อได้หลายใบ และใบสั่ง ซื้อ 1 ใบสั่งซื้อสินค้าได้หลายชนิด สินค้า ถูกสั่งซื้อ M M ใบสั่งซื่อ

34 5.34 จำนวนชนิดของ Entity (Degree of Relationship) v Unary (Recursive) Relationship –เอนติตี้มาเกี่ยวข้องเพียงชนิดเดียวเท่านั้น v Binary Relationship –เอนติตี้มาเกี่ยวข้อง 2 ชนิด v Ternary Relationship –มีเอนติตี้มาเกี่ยวข้อง 3 ชนิด

35 5.35 จำนวนชนิดของ Entity (Degree of Relationship) ต่อ พนักงาน หัวหน้างาน 1 m Unary M วิชาเรียน หนังสือ อาจารย์ สอน M M Ternary นักศึกษา ลงทะเบียน วิชาเรียน Binary M M

36 5.36Aggregation v Treat aggregation as any other entity type Treatment Physician Patient Treat MM Drug Us e M M

37 หลักการแปลง ER เป็นรีเลชั่น 1. ให้แปลงเอนติติ้ทุกตัวเป็นรีเลชั่น และ แปลงแอตทริบิวต์ทุกตัวของเอนติตี้ให้ เป็นแอตทริบิวต์ของรีเลชั่น Customer CusID CusName CusSurName CusAdd Customer(CusID, CusName, CusSurName, CusAdd)

38 หลักการแปลง ER เป็นรีเลชั่น (ต่อ) 2. เพิ่มแอตทริบิวต์ให้กับรีเลชั่น 2.1 ถ้าความสัมพันธ์เป็นแบบ 1 to 1 ให้นำ pk ของรีเลชั่นฝั่งใดฝั่งหนึ่งไปอยู่ในรีเลชั่นของอีก ฝั่งหนึ่ง Teacher ThID ThName ThSurName Teacher(ThID, ThName, ThSurName) Faculty(FacID,FacName,ThID*) เป็นคณบดี Faculty FacID FacName 1 1

39 หลักการแปลง ER เป็นรีเลชั่น (ต่อ) 2. เพิ่มแอตทริบิวต์ให้กับรีเลชั่น 2.2 ถ้าความสัมพันธ์เป็นแบบ 1 to Mให้นำ pk ของรีเลชั่นฝั่งที่เป็น 1ไปอยู่ในรีเลชั่นของฝั่งที่ เป็น M Customer CusID CusName CusSurName Customer(CusID, CusName, CusSurName) Orders(OID,OrderDate, ReqDate,CusID*) สั่งซื้อ Orders OID OrderDate 1 M ReqDate

40 หลักการแปลง ER เป็นรีเลชั่น (ต่อ) 2. เพิ่มแอตทริบิวต์ให้กับรีเลชั่น 2.3 แอตทริบิวต์ที่อยู่บนความสัมพันธ์ จะนำไปใส่ ในรีเลชั่นใด ก็ขึ้นอยู่กับว่าเมื่อใส่ลงในรีเลชั่น นั้นแล้ว จะมีบางแถวหรือไม่มีแถวข้อมูลใดเลยที่มีค่า ในแอตทริบิวต์เป็น Null Customer CusID CusName CusSurName Customer(CusID, CusName, CusSurName) Orders(OID,OrderDate, ReqDate,CusID*) สั่งซื้อ Orders OID OrderDate 1 M ReqDate

41 หลักการแปลง ER เป็นรีเลชั่น (ต่อ) 3. สร้างรีเลชั่นใหม่สำหรับความสัมพันธ์แบบ M to M โดยสร้าง PK ได้จาก การนำเอา PK ของแต่ละรี เลชั่น โดยสร้าง PK ได้จาก การนำเอา PK ของแต่ละรี เลชั่น มาประกอบกัน มาประกอบกัน Products PID PName Price Product(PID, PName, Price) Orders(OID,OrderDate, ReqDate,CusID*) OrderDetail(OID*, PID*, Discount, Amount, UnitPrice) หรือ ในทางปฏิบัติมักจะสร้าง pk มาใหม่ OrderDetail(id,OID*, PID*, Discount, Amount, UnitPrice) รายการสั่งซื่อ Orders OID UnitPrice M M Amount Discount

42 หลักการแปลง ER เป็นรีเลชั่น (ต่อ) 4. สำหรับเอนติติ้ที่มีแอตทริบิวต์แบบหลายค่า v v ให้สร้างรีเลชั่นเพิ่ม ที่มีแอตทริบิวต์แบบหลายค่านั้น v v PK ของรีเลชั่นใหม่เกิดจาก PK ของรีเลชั่นเดิม ประกอบกับ แอตทริบิวต์ที่เกิดจากแอตทริบิวแบบ หลายค่า Customer CusID CusName CusSurName Customer(CusID, CusName, CusSurName) CusCredit(CusID*, CreditNum) CreditNum

43 หลักการแปลง ER เป็นรีเลชั่น (ต่อ) 5. สำหรับเอนติตี้แบบอ่อน ให้สร้างเป็นรีเลชั่น และมี PK ที่มาจาก PK ของรีเลชั่นหนึ่งรวมกับ PK ของเอนติตี้ แบบอ่อน Invoice(Inv no, Date) InvoiceDetail( Inv no*,Line) Date Invoice has Invoice Detail Inv no Line 1 M


ดาวน์โหลด ppt 1 Database Design v โมเดลจำลองความสัมพันธ์ระหว่างข้อมูล (ER-Diagram) DBMS Database Management System.

งานนำเสนอที่คล้ายกัน


Ads by Google