1 / 28

Entity-Relationship Modeling

BC326 Database Management. Numtip Trakulmaykee. Entity-Relationship Modeling. BC326 Database Management. BC326 Database Management. Tip T.maykee@2002. Numtip Trakulmaykee. ประโยชน์. ทำให้สามารถมองเห็นภาพรวมของ Entities ทั้งหมดที่มีในระบบฐานข้อมูล

jana
Download Presentation

Entity-Relationship Modeling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BC326 Database Management Numtip Trakulmaykee Entity-Relationship Modeling

  2. BC326 Database Management BC326 Database Management Tip T.maykee@2002 Numtip Trakulmaykee ประโยชน์ • ทำให้สามารถมองเห็นภาพรวมของ Entities ทั้งหมดที่มีในระบบฐานข้อมูล • ทำให้สามารถมองเห็นความสัมพันธ์ระหว่าง Entities เหล่านั้น • E-R model ไม่อิงกับระบบจัดการฐานข้อมูลแบบใด ส่วนประกอบของ E-R Model • Entity • Relationship • Attribute

  3. BC326 Database Management Numtip Trakulmaykee เอนติตี้ (Entity) • Entity คือ กลุ่มข้อมูลที่เป็นประเภทเดียวกัน ที่เป็นสมาชิกของ Entity นั้น เช่น กลุ่มคนที่เป็นพนักงานทุกคน ก็คือ Entity พนักงานทุกคน ก็คือ Entity พนักงาน หรือ Entity ของนักศึกษา ก็คือ กลุ่มของนักศึกษา • Entity อาจจะเป็น บุคคล , สถานที่ , เหตุการณ์ หรือสิ่งของที่เราเลือก เพื่อใช้ในการเก็บข้อมูล • สัญลักษณ์ จะใช้รูปสี่เหลี่ยมผืนผ้า และมีชื่อกำกับภายในเป็น คำนาม หรือ นักศึกษา Student

  4. BC326 Database Management Numtip Trakulmaykee เอนติตี้แบบอ่อน (Weak Entity) • คือ Entity ที่ปรากฎในฐานข้อมูลก็ต่อเมื่ออีก Entity ปรากฎในฐานข้อมูลด้วย • ตัวอย่างเช่น ถ้าบริษัทกำหนดว่าพนักงานทุกคนที่รับเข้ามาจะต้องมีผู้ค้ำประกันทุกคน ดังนั้น Entity การค้ำประกันเป็น Weak Entity เพราะจะเกิดขึ้นได้ก็ต่อเมื่อมีพนักงานใหม่เข้ามา หรือ มี Entity พนักงาน • จะใช้สัญลักษณ์สี่เหลี่ยมผืนผ้าซ้อนกัน แทน Weak Entity มีผู้ค้ำประกัน การค้ำประกัน พนักงาน

  5. Gender Address Tel Name DOB Code Student BC326 Database Management Numtip Trakulmaykee แอททริบิวท์ (Attribute) • Attribute เป็นสิ่งที่ใช้อธิบายถึงคุณลักษณะของ Entity หนึ่ง ๆ เช่น Entity ของนักศึกษา จะประกอบด้วย Attribute ชื่อ-สกุล , เพศ , ที่อยู่ , เบอร์โทร , คณะ , สาขา ,วิชา , วันที่เข้าเรียน เป็นต้น • สมาชิกที่อยู่ใน Entity หนึ่ง ๆ จะต้องมี Attributeที่เหมือนกัน • จะใช้สัญลักษณ์ วงรี แทน Attribute หนึ่ง Attribute และมีชื่อกำกับภายในที่เป็นคำนาม

  6. ชื่อจังหวัด หมายเลขทะเบียน ทะเบียนรถ BC326 Database Management Numtip Trakulmaykee ชนิดของ Attribute • Simple Attribute คือ Attribute ที่ประกอบด้วย Attribute เดียว เช่น Attribute ยี่ห้อ สี หรือ ส่วนสูง น้ำหนัก • Composite Attribute คือ Attribute ที่ประกอบด้วย Attribute มากกว่า 1 ขึ้นไป เช่น Attribute ทะเบียนรถ จะประกอบด้วยหมายเลขและชื่อจังหวัด

  7. Name Address Code Child Employee BC326 Database Management Numtip Trakulmaykee ชนิดของ Attribute.. ต่อ • Multivalued Attribute คือ Attribute ที่ให้ค่ามากกว่า 1 ค่า สำหรับ Entity 1 Entity เช่น ชื่อบุตร เป็น Multivalued Attribute เนื่องจากมีบุตรได้หลายคน โดยจะใช้สัญลักษณ์ วงรี 2 วงซ้อนกัน

  8. BC326 Database Management Numtip Trakulmaykee Derived Attribute • บางครั้งเราใช้ Attribute ที่สืบทอดมากจาก Attribute อื่น ซึ่งเรียกว่า derived Attribute • ตัวอย่าง age สามารถคำนวณได้จาก attribute DOB หรือ วันที่ปัจจุบัน • ในแผนภาพ ER จะใช้เส้นประแทน derived attribute อายุ

  9. BC326 Database Management Numtip Trakulmaykee Key Attribute • โดยทั่วไปจะต้องมีอย่างน้อย 1 Attribute หรือมากกว่า ที่ทำให้ข้อมูลแต่ละแถว หรือ เรคอร์ดมีความแตกต่างกัน • ตัวอย่างเช่น • นักศึกษาแต่ละคนมีรหัสประจำตัวที่ไม่ซ้ำกัน รหัสประจำตัวนักศึกษา จึงเรียกว่า คีย์ • แบ่งออกได้ 2 อย่าง คือ • Simple Key คือ มีแอททริบิวท์ 1 แอททริบิวท์ที่เป็นคีย์ • Composite Key คือ คีย์ประกอบ ที่มีแอททริบิวท์มากกว่า 1 แอททริบิวท์ที่เป็นคีย์ • สัญลักษณ์ แทนด้วย ขีดเส้นใต้แอททริบิวท์ที่เป็นคีย์

  10. Gender SalePrice Address Qty Tel SaleDate Name Prod_ID Cust_ID DOB Code BillNo Student Selling BC326 Database Management Numtip Trakulmaykee Simple Key Composite Key

  11. Subject Student BC326 Database Management Numtip Trakulmaykee ความสัมพันธ์ (Relationship) • Relationship เป็นความสัมพันธ์ระหว่าง Entity • ตัวอย่าง Relationship ระหว่าง Entity นักศึกษา กับ Entity รายวิชา มีความสัมพันธ์ คือ นักศึกษาลงทะเบียนเรียนในรายวิชานั้น ๆ • จะใช้สัญลักษณ์ สี่เหลี่ยมข้าวหลามตัดแทน และมีการตั้งชื่อความสัมพันธ์นั้นกำกับภายใน โดยชื่อที่กำกับต้องเป็นคำกิริยา Enrol in

  12. BC326 Database Management Numtip Trakulmaykee Relationships & Entity Sets • Degree ของ relationship คือ จำนวนของ Entity ที่เชื่อมต่อกัน • Unary • Binary • Ternary A Unary Relationship Supervise Employee

  13. Enroll in Sale Item Purchase Subject Student Vendor BC326 Database Management Numtip Trakulmaykee A Binary Relationship A Ternary Relationship

  14. BC326 Database Management Numtip Trakulmaykee ประเภทของ Relationship • ประเภทของการเชื่อม Relationship มีดังนี้ • One-to-One (1:1) • One-to-Many (1:N) • Many-to-Many (M:N) • ในแผนภาพ ER จะแทนโดยการเขียนกำกับที่เส้นเชื่อมความสัมพันธ์

  15. Enroll in Teaches 1 1 Check Login Password Member Subject Subject Teacher Student BC326 Database Management Numtip Trakulmaykee Relationship Connectivity 1 N M N

  16. BC326 Database Management Numtip Trakulmaykee การจับคู่ระหว่างเอนติตี้ • แต่ละ entity จะจับคู่แบบใดแบบหนึ่งดังต่อไปนี้ • Partial or Optional ษมาชิกบางตัวไม่มีคู่ แทนด้วย • Total or Mandatory สมาชิกทุกตัวใน entity ต้องมีคู่ แทนด้วย 1 1 เป็น หัวหน้าภาควิชา พนักงาน

  17. BC326 Database Management Numtip Trakulmaykee Relationship and Attributes • Relationship คือ ความสัมพันธ์ระหว่าง Entity • Relationship อาจจะมี Attribute ก็ได้ • โดยทั่วไปความสัมพันธ์ M:N จะมี Attribute ของ Relation Supervise Employee Task

  18. Sale Item Purchase Vendor วันที่แต่งตั้ง วันที่แต่งตั้ง BC326 Database Management Numtip Trakulmaykee 1 1 เป็น หัวหน้าภาควิชา พนักงาน วันที่แต่งตั้ง

  19. BC326 Database Management Numtip Trakulmaykee Superclass และ Subclass เอนติตี้หนึ่ง อาจสามารถที่จะจัดกลุ่มของข้อมูลเป็นประเภทต่าง ๆ ได้ อาทิเช่น เอนติตี้พนักงาน สามารถแบ่งออกเป็น พนักงานที่เป็นผู้บริหาร ผู้เชี่ยวชาญ แรงงาน Superclass เป็นเอนติตี้ที่ประกอบด้วย Subclass ต่าง ๆ โดยที่ Subclass จะมีข้อมูลเฉพาะของตัวเองกล่าวคือ เอนติตี้ B เป็น Subclass ของเอนติตี้ A ที่เป็น Superclass ก็ต่อเมื่อ Subclass B เป็นสมาชิกของ Superclass A เสมอ โดยมีข้อมูลทุกแอทริบิวต์ที่อยู่ใน Superclass A และข้อมูลเฉพาะของ Subclass

  20. BC326 Database Management Numtip Trakulmaykee เช่น Superclass ที่ประกอบด้วยข้อมูล รหัสพนักงาน ชื่อ วันที่เริ่มทำงาน และ ประกอบด้วย Subclass ผู้บริหาร ผู้เชี่ยวชาญ พนักงานแรงงาน โดยที่แอทริบิวต์ของ • Subclass ผู้บริหาร จะมีข้อมูลเฉพาะคือ รถประจำตำแหน่ง และ เงินเดือนประจำตำแหน่ง • Subclass ผู้เชี่ยวชาญ จะมีข้อมูลเฉพาะเกี่ยวกับความชำนาญ และ ค่าตอบแทนส่วนเพิ่มของผู้เชี่ยวชาญ • ส่วน Subclass พนักงานแรงงาน จะมีข้อมูลเกี่ยวกับอัตราค่าจ้างรายวัน เป็นต้น

  21. BC326 Database Management Numtip Trakulmaykee • Employee • รหัสพนักงาน • ชื่อ • วันที่เริ่มทำงาน ผู้จัดการ ผู้เชี่ยวชาญ พนักงานแรงงาน • ความชำนาญ • ค่าตอบแทนส่วนเพิ่ม • ของผู้เชี่ยวชาญ • ค่าแรงรายวัน • รถประจำตำแหน่ง • เงินเดือนประจำตำแหน่ง

  22. BC326 Database Management Numtip Trakulmaykee ความสัมพันธ์ระหว่าง Superclass และ Subclass • Disjoint Constraint Subclass หนึ่งสามารถเป็น Subclass ของ Superclass ได้เพียง Subclass เดียวเท่านั้น โดยจะใช้สัญลักษณ์ วงกลมและมีอักษร d กำกับ ตัวอย่างเช่น พนักงานคนหนึ่งจะเป็นสมาชิกได้เพียง Subclass เดียว หรือ เป็นพนักงานได้เพียงประเภทเดียว คือ เป็น ผู้จัดการ ผู้เชี่ยวชาญ หรือ พนักงานแรงงานอย่างใดอย่างหนึ่งเท่านั้น d

  23. พนักงาน d ผู้จัดการ ผู้เชี่ยวชาญ พนักงานแรงงาน ความชำนาญ รถประจำตำแหน่ง ค่าตอบแทนผู้เชี่ยวชาญ ค่าแรงรายวัน เงินเดือนประจำตำแหน่ง BC326 Database Management Numtip Trakulmaykee

  24. BC326 Database Management Numtip Trakulmaykee • Overlapping Constraint Subclass หนึ่งสามารถเป็น Subclass ได้มากกว่าหนึ่ง Sublclass ซึ่งในการออกแบบในลักษณะนี้จะต้องระมัดระวังว่าในทางปฏิบัติจริง Subclass ที่แท้จริงคืออะไร เนื่องจากอาจทำให้ข้อมูลมีความซ้ำซ้อนมาก จะใช้สัญลักษณ์วงกลมและมีอักษร O กำกับภายใน ตัวอย่างเช่น พนักงานหนึ่งคนอาจเป็นได้ทั้งผู้จัดการ และเป็นผู้เชี่ยวชาญเป็นต้น O

  25. พนักงาน O ผู้จัดการ ผู้เชี่ยวชาญ พนักงานแรงงาน ความชำนาญ รถประจำตำแหน่ง ค่าตอบแทนผู้เชี่ยวชาญ ค่าแรงรายวัน เงินเดือนประจำตำแหน่ง BC326 Database Management BC326 Database Management Numtip Trakulmaykee Numtip Trakulmaykee

  26. BC326 Database Management Numtip Trakulmaykee ขั้นตอนในการออกแบบฐานข้อมูลโดยใช้ E-R Model การออกแบบฐานข้อมูลโดยใช้ E-R Model มีขั้นตอนที่เกี่ยวข้องหลายขั้นตอนและกระบวนการในการออกแบบ E-R model เป็นกระบวนการที่จะต้องพิจารณาซ้ำ ๆ หลายครั้งเพื่อให้ได้ E-R Model ที่เหมาะสมและมีข้อมูลครบถ้วน ขั้นตอนในการออกแบบข้อมูลโดยใช้ E-R Model ประกอบด้วยหลายขั้นตอน

  27. BC326 Database Management Numtip Trakulmaykee • ศึกษาถึงลักษณะหน้าที่งานของระบบ (Business Function) ว่ามีรายละเอียดของการทำงานและข้อมูลที่เกี่ยวข้องอะไรบ้าง มีข้อสมมุติฐาน (Business Rule) ของงานต่าง ๆ อะไรบ้าง • กำหนดเอนติตี้ที่ควนจะมีอยู่ในฐานข้อมูล ฐานข้อมูลหนึ่ง ๆ ประกอบด้วยหลายเอนติตี้ ในการกำหนดเอนติตี้ที่ควรจะมีอยู่ในฐานข้อมูลหนึ่ง ๆ จะต้องคำนึงรวมไปถึงว่าเอนติตี้นั้น ๆ เป็นเอนติตี้ในประเภทใดบ้าง เช่น เอนติตี้ประเภทอ่อนแอ (Weak Entity) • กำหนดประเภทของความสัมพันธ์ระหว่างเอนติตี้ว่ามีความสัมพันธ์อย่างไรบ้าง รวมถึงกำหนดความสัมพันธ์ โดยพิจารณาจากข้อสมมุติฐานของความสัมพันธ์ระหว่างเอนติตี้ที่ได้ศึกษามาในข้อที่ 1 และ 2

  28. BC326 Database Management Numtip Trakulmaykee • กำหนดคุณลักษณะของเอนติตี้ว่าควรจะมีรายละเอียดอะไรบ้าง ซึ่งการกำหนดคุณลักษณะของเอนติตี้ จะพิจารณาว่ารายละเอียดต่าง ๆ เป็นรายละเอียดที่มีคุณสมบัติเป็นคีย์ หรือรายละเอียดที่แปลค่ามา หรือ เป็นรายละเอียดที่ประกอบด้วยรายละเอียดที่เป็นข้อมูลหลายอย่าง เช่น ที่อยู่ ประกอบด้วย บ้านเลขที่ ถนน เขต ตำบล จังหวัด รหัสไปรษณีย์ เป็นต้น • กำหนดคีย์ของแต่ละเอนติตี้ว่า จะใช้รายละเอียดของข้อมูลใดเป็นคีย์ของเอนติตี้นั้น ๆ ซึ่งจะต้องเป็นรายละเอียดของข้อมูลที่มีค่าเป็นเอกลักษณ์ หรือ ค่าเฉพาะไม่ซ้ำซ้อนในเอนติตี้นั้น ๆ • นำรายละเอียดตั้งแต่ข้อ 2-5 มาเขียน E-R Model โดยใช้สัญลักษณ์ที่กล่าวมาแล้วข้างต้นเป็นการอธิบายถึงความสัมพันธ์ระหว่างเอนติตี้ หลังจากนั้นให้ทำการทบทวน E-R Model ว่าควรจะปรับปรุงเค้าร่างใหม่หรือไม่ (Refinement Primitive) เพื่อให้ได้ E-R Model ที่สมบูรณ์

More Related