Entity relationship modeling l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

Entity-Relationship Modeling PowerPoint PPT Presentation


  • 221 Views
  • Updated On :
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Entity relationship modeling l.jpg

BC326 Database Management

Numtip Trakulmaykee

Entity-Relationship Modeling


Slide2 l.jpg

BC326 Database Management

BC326 Database Management

Tip [email protected]

Numtip Trakulmaykee

ประโยชน์

  • ทำให้สามารถมองเห็นภาพรวมของ Entities ทั้งหมดที่มีในระบบฐานข้อมูล

  • ทำให้สามารถมองเห็นความสัมพันธ์ระหว่าง Entities เหล่านั้น

  • E-R model ไม่อิงกับระบบจัดการฐานข้อมูลแบบใด

ส่วนประกอบของ E-R Model

  • Entity

  • Relationship

  • Attribute


Entity l.jpg

BC326 Database Management

Numtip Trakulmaykee

เอนติตี้ (Entity)

  • Entity คือ กลุ่มข้อมูลที่เป็นประเภทเดียวกัน ที่เป็นสมาชิกของ Entity นั้น

    เช่น กลุ่มคนที่เป็นพนักงานทุกคน ก็คือ Entity พนักงานทุกคน ก็คือ Entity พนักงาน หรือ Entity ของนักศึกษา ก็คือ กลุ่มของนักศึกษา

  • Entity อาจจะเป็น บุคคล , สถานที่ , เหตุการณ์ หรือสิ่งของที่เราเลือก เพื่อใช้ในการเก็บข้อมูล

  • สัญลักษณ์ จะใช้รูปสี่เหลี่ยมผืนผ้า และมีชื่อกำกับภายในเป็น คำนาม

    หรือ

นักศึกษา

Student


Weak entity l.jpg

BC326 Database Management

Numtip Trakulmaykee

เอนติตี้แบบอ่อน (Weak Entity)

  • คือ Entity ที่ปรากฎในฐานข้อมูลก็ต่อเมื่ออีก Entity ปรากฎในฐานข้อมูลด้วย

  • ตัวอย่างเช่น ถ้าบริษัทกำหนดว่าพนักงานทุกคนที่รับเข้ามาจะต้องมีผู้ค้ำประกันทุกคน ดังนั้น Entity การค้ำประกันเป็น Weak Entity เพราะจะเกิดขึ้นได้ก็ต่อเมื่อมีพนักงานใหม่เข้ามา หรือ มี Entity พนักงาน

  • จะใช้สัญลักษณ์สี่เหลี่ยมผืนผ้าซ้อนกัน แทน Weak Entity

มีผู้ค้ำประกัน

การค้ำประกัน

พนักงาน


Attribute l.jpg

Gender

Address

Tel

Name

DOB

Code

Student

BC326 Database Management

Numtip Trakulmaykee

แอททริบิวท์ (Attribute)

  • Attribute เป็นสิ่งที่ใช้อธิบายถึงคุณลักษณะของ Entity หนึ่ง ๆ เช่น Entity ของนักศึกษา จะประกอบด้วย Attribute ชื่อ-สกุล , เพศ , ที่อยู่ , เบอร์โทร , คณะ , สาขา ,วิชา , วันที่เข้าเรียน เป็นต้น

  • สมาชิกที่อยู่ใน Entity หนึ่ง ๆ จะต้องมี Attributeที่เหมือนกัน

  • จะใช้สัญลักษณ์ วงรี แทน Attribute หนึ่ง Attribute และมีชื่อกำกับภายในที่เป็นคำนาม


Attribute6 l.jpg

ชื่อจังหวัด

หมายเลขทะเบียน

ทะเบียนรถ

BC326 Database Management

Numtip Trakulmaykee

ชนิดของ Attribute

  • Simple Attribute คือ Attribute ที่ประกอบด้วย Attribute เดียว เช่น Attribute ยี่ห้อ สี หรือ ส่วนสูง น้ำหนัก

  • Composite Attribute คือ Attribute ที่ประกอบด้วย Attribute มากกว่า 1 ขึ้นไป เช่น Attribute ทะเบียนรถ จะประกอบด้วยหมายเลขและชื่อจังหวัด


Attribute7 l.jpg

Name

Address

Code

Child

Employee

BC326 Database Management

Numtip Trakulmaykee

ชนิดของ Attribute.. ต่อ

  • Multivalued Attribute คือ Attribute ที่ให้ค่ามากกว่า 1 ค่า สำหรับ Entity 1 Entity เช่น ชื่อบุตร เป็น Multivalued Attribute เนื่องจากมีบุตรได้หลายคน โดยจะใช้สัญลักษณ์ วงรี 2 วงซ้อนกัน


Derived attribute l.jpg

BC326 Database Management

Numtip Trakulmaykee

Derived Attribute

  • บางครั้งเราใช้ Attribute ที่สืบทอดมากจาก Attribute อื่น ซึ่งเรียกว่า derived Attribute

  • ตัวอย่าง age สามารถคำนวณได้จาก attribute DOB หรือ วันที่ปัจจุบัน

  • ในแผนภาพ ER จะใช้เส้นประแทน derived attribute

อายุ


Key attribute l.jpg

BC326 Database Management

Numtip Trakulmaykee

Key Attribute

  • โดยทั่วไปจะต้องมีอย่างน้อย 1 Attribute หรือมากกว่า ที่ทำให้ข้อมูลแต่ละแถว หรือ เรคอร์ดมีความแตกต่างกัน

  • ตัวอย่างเช่น

    • นักศึกษาแต่ละคนมีรหัสประจำตัวที่ไม่ซ้ำกัน รหัสประจำตัวนักศึกษา จึงเรียกว่า คีย์

  • แบ่งออกได้ 2 อย่าง คือ

    • Simple Key คือ มีแอททริบิวท์ 1 แอททริบิวท์ที่เป็นคีย์

    • Composite Key คือ คีย์ประกอบ ที่มีแอททริบิวท์มากกว่า 1 แอททริบิวท์ที่เป็นคีย์

  • สัญลักษณ์ แทนด้วย ขีดเส้นใต้แอททริบิวท์ที่เป็นคีย์


Simple key l.jpg

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


Relationship l.jpg

Subject

Student

BC326 Database Management

Numtip Trakulmaykee

ความสัมพันธ์ (Relationship)

  • Relationship เป็นความสัมพันธ์ระหว่าง Entity

  • ตัวอย่าง Relationship ระหว่าง Entity นักศึกษา กับ Entity รายวิชา มีความสัมพันธ์ คือ นักศึกษาลงทะเบียนเรียนในรายวิชานั้น ๆ

  • จะใช้สัญลักษณ์ สี่เหลี่ยมข้าวหลามตัดแทน และมีการตั้งชื่อความสัมพันธ์นั้นกำกับภายใน โดยชื่อที่กำกับต้องเป็นคำกิริยา

Enrol in


Relationships entity sets l.jpg

BC326 Database Management

Numtip Trakulmaykee

Relationships & Entity Sets

  • Degree ของ relationship คือ จำนวนของ Entity ที่เชื่อมต่อกัน

    • Unary

    • Binary

    • Ternary

A Unary Relationship

Supervise

Employee


A binary relationship l.jpg

Enroll in

Sale

Item

Purchase

Subject

Student

Vendor

BC326 Database Management

Numtip Trakulmaykee

A Binary Relationship

A Ternary Relationship


Relationship14 l.jpg

BC326 Database Management

Numtip Trakulmaykee

ประเภทของ Relationship

  • ประเภทของการเชื่อม Relationship มีดังนี้

    • One-to-One (1:1)

    • One-to-Many (1:N)

    • Many-to-Many (M:N)

  • ในแผนภาพ ER จะแทนโดยการเขียนกำกับที่เส้นเชื่อมความสัมพันธ์


Relationship connectivity l.jpg

Enroll in

Teaches

1

1

Check Login

Password

Member

Subject

Subject

Teacher

Student

BC326 Database Management

Numtip Trakulmaykee

Relationship Connectivity

1

N

M

N


Slide16 l.jpg

BC326 Database Management

Numtip Trakulmaykee

การจับคู่ระหว่างเอนติตี้

  • แต่ละ entity จะจับคู่แบบใดแบบหนึ่งดังต่อไปนี้

    • Partial or Optional ษมาชิกบางตัวไม่มีคู่ แทนด้วย

    • Total or Mandatory สมาชิกทุกตัวใน entity ต้องมีคู่ แทนด้วย

1

1

เป็น

หัวหน้าภาควิชา

พนักงาน


Relationship and attributes l.jpg

BC326 Database Management

Numtip Trakulmaykee

Relationship and Attributes

  • Relationship คือ ความสัมพันธ์ระหว่าง Entity

  • Relationship อาจจะมี Attribute ก็ได้

  • โดยทั่วไปความสัมพันธ์ M:N จะมี Attribute ของ Relation

Supervise

Employee

Task


Slide18 l.jpg

Sale

Item

Purchase

Vendor

วันที่แต่งตั้ง

วันที่แต่งตั้ง

BC326 Database Management

Numtip Trakulmaykee

1

1

เป็น

หัวหน้าภาควิชา

พนักงาน

วันที่แต่งตั้ง


Superclass subclass l.jpg

BC326 Database Management

Numtip Trakulmaykee

Superclass และ Subclass

เอนติตี้หนึ่ง อาจสามารถที่จะจัดกลุ่มของข้อมูลเป็นประเภทต่าง ๆ ได้ อาทิเช่น เอนติตี้พนักงาน สามารถแบ่งออกเป็น พนักงานที่เป็นผู้บริหาร ผู้เชี่ยวชาญ แรงงาน

Superclass เป็นเอนติตี้ที่ประกอบด้วย Subclass ต่าง ๆ โดยที่ Subclass จะมีข้อมูลเฉพาะของตัวเองกล่าวคือ

เอนติตี้ B เป็น Subclass ของเอนติตี้ A ที่เป็น Superclass ก็ต่อเมื่อ Subclass B เป็นสมาชิกของ Superclass A เสมอ โดยมีข้อมูลทุกแอทริบิวต์ที่อยู่ใน Superclass A และข้อมูลเฉพาะของ Subclass


Slide20 l.jpg

BC326 Database Management

Numtip Trakulmaykee

เช่น Superclass ที่ประกอบด้วยข้อมูล รหัสพนักงาน ชื่อ วันที่เริ่มทำงาน และ ประกอบด้วย Subclass ผู้บริหาร ผู้เชี่ยวชาญ พนักงานแรงงาน โดยที่แอทริบิวต์ของ

  • Subclass ผู้บริหาร จะมีข้อมูลเฉพาะคือ รถประจำตำแหน่ง และ เงินเดือนประจำตำแหน่ง

  • Subclass ผู้เชี่ยวชาญ จะมีข้อมูลเฉพาะเกี่ยวกับความชำนาญ และ ค่าตอบแทนส่วนเพิ่มของผู้เชี่ยวชาญ

  • ส่วน Subclass พนักงานแรงงาน จะมีข้อมูลเกี่ยวกับอัตราค่าจ้างรายวัน เป็นต้น


Slide21 l.jpg

BC326 Database Management

Numtip Trakulmaykee

  • Employee

  • รหัสพนักงาน

  • ชื่อ

  • วันที่เริ่มทำงาน

ผู้จัดการ

ผู้เชี่ยวชาญ

พนักงานแรงงาน

  • ความชำนาญ

  • ค่าตอบแทนส่วนเพิ่ม

  • ของผู้เชี่ยวชาญ

  • ค่าแรงรายวัน

  • รถประจำตำแหน่ง

  • เงินเดือนประจำตำแหน่ง


Superclass subclass22 l.jpg

BC326 Database Management

Numtip Trakulmaykee

ความสัมพันธ์ระหว่าง Superclass และ Subclass

  • Disjoint Constraint

    Subclass หนึ่งสามารถเป็น Subclass ของ Superclass ได้เพียง Subclass เดียวเท่านั้น โดยจะใช้สัญลักษณ์ วงกลมและมีอักษร d กำกับ

    ตัวอย่างเช่น พนักงานคนหนึ่งจะเป็นสมาชิกได้เพียง Subclass เดียว หรือ เป็นพนักงานได้เพียงประเภทเดียว คือ เป็น ผู้จัดการ ผู้เชี่ยวชาญ หรือ พนักงานแรงงานอย่างใดอย่างหนึ่งเท่านั้น

d


Slide23 l.jpg

พนักงาน

d

ผู้จัดการ

ผู้เชี่ยวชาญ

พนักงานแรงงาน

ความชำนาญ

รถประจำตำแหน่ง

ค่าตอบแทนผู้เชี่ยวชาญ

ค่าแรงรายวัน

เงินเดือนประจำตำแหน่ง

BC326 Database Management

Numtip Trakulmaykee


Slide24 l.jpg

BC326 Database Management

Numtip Trakulmaykee

  • Overlapping Constraint

    Subclass หนึ่งสามารถเป็น Subclass ได้มากกว่าหนึ่ง Sublclass ซึ่งในการออกแบบในลักษณะนี้จะต้องระมัดระวังว่าในทางปฏิบัติจริง Subclass ที่แท้จริงคืออะไร เนื่องจากอาจทำให้ข้อมูลมีความซ้ำซ้อนมาก จะใช้สัญลักษณ์วงกลมและมีอักษร O กำกับภายใน

    ตัวอย่างเช่น พนักงานหนึ่งคนอาจเป็นได้ทั้งผู้จัดการ และเป็นผู้เชี่ยวชาญเป็นต้น

O


Slide25 l.jpg

พนักงาน

O

ผู้จัดการ

ผู้เชี่ยวชาญ

พนักงานแรงงาน

ความชำนาญ

รถประจำตำแหน่ง

ค่าตอบแทนผู้เชี่ยวชาญ

ค่าแรงรายวัน

เงินเดือนประจำตำแหน่ง

BC326 Database Management

BC326 Database Management

Numtip Trakulmaykee

Numtip Trakulmaykee


E r model l.jpg

BC326 Database Management

Numtip Trakulmaykee

ขั้นตอนในการออกแบบฐานข้อมูลโดยใช้ E-R Model

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


Slide27 l.jpg

BC326 Database Management

Numtip Trakulmaykee

  • ศึกษาถึงลักษณะหน้าที่งานของระบบ (Business Function) ว่ามีรายละเอียดของการทำงานและข้อมูลที่เกี่ยวข้องอะไรบ้าง มีข้อสมมุติฐาน (Business Rule) ของงานต่าง ๆ อะไรบ้าง

  • กำหนดเอนติตี้ที่ควนจะมีอยู่ในฐานข้อมูล ฐานข้อมูลหนึ่ง ๆ ประกอบด้วยหลายเอนติตี้ ในการกำหนดเอนติตี้ที่ควรจะมีอยู่ในฐานข้อมูลหนึ่ง ๆ จะต้องคำนึงรวมไปถึงว่าเอนติตี้นั้น ๆ เป็นเอนติตี้ในประเภทใดบ้าง เช่น เอนติตี้ประเภทอ่อนแอ (Weak Entity)

  • กำหนดประเภทของความสัมพันธ์ระหว่างเอนติตี้ว่ามีความสัมพันธ์อย่างไรบ้าง รวมถึงกำหนดความสัมพันธ์ โดยพิจารณาจากข้อสมมุติฐานของความสัมพันธ์ระหว่างเอนติตี้ที่ได้ศึกษามาในข้อที่ 1 และ 2


Slide28 l.jpg

BC326 Database Management

Numtip Trakulmaykee

  • กำหนดคุณลักษณะของเอนติตี้ว่าควรจะมีรายละเอียดอะไรบ้าง ซึ่งการกำหนดคุณลักษณะของเอนติตี้ จะพิจารณาว่ารายละเอียดต่าง ๆ เป็นรายละเอียดที่มีคุณสมบัติเป็นคีย์ หรือรายละเอียดที่แปลค่ามา หรือ เป็นรายละเอียดที่ประกอบด้วยรายละเอียดที่เป็นข้อมูลหลายอย่าง เช่น ที่อยู่ ประกอบด้วย บ้านเลขที่ ถนน เขต ตำบล จังหวัด รหัสไปรษณีย์ เป็นต้น

  • กำหนดคีย์ของแต่ละเอนติตี้ว่า จะใช้รายละเอียดของข้อมูลใดเป็นคีย์ของเอนติตี้นั้น ๆ ซึ่งจะต้องเป็นรายละเอียดของข้อมูลที่มีค่าเป็นเอกลักษณ์ หรือ ค่าเฉพาะไม่ซ้ำซ้อนในเอนติตี้นั้น ๆ

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


  • Login