entity relationship modeling
Download
Skip this Video
Download Presentation
Entity-Relationship Modeling

Loading in 2 Seconds...

play fullscreen
1 / 28

Entity-Relationship Modeling - PowerPoint PPT Presentation


  • 286 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Entity-Relationship Modeling' - jana


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
slide2
BC326 Database Management

BC326 Database Management

Tip [email protected]

Numtip Trakulmaykee

ประโยชน์
  • ทำให้สามารถมองเห็นภาพรวมของ Entities ทั้งหมดที่มีในระบบฐานข้อมูล
  • ทำให้สามารถมองเห็นความสัมพันธ์ระหว่าง Entities เหล่านั้น
  • E-R model ไม่อิงกับระบบจัดการฐานข้อมูลแบบใด

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

  • Entity
  • Relationship
  • Attribute
entity
BC326 Database Management

Numtip Trakulmaykee

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

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

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

หรือ

นักศึกษา

Student

weak entity
BC326 Database Management

Numtip Trakulmaykee

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

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

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

พนักงาน

attribute
Gender

Address

Tel

Name

DOB

Code

Student

BC326 Database Management

Numtip Trakulmaykee

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

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

ทะเบียนรถ

BC326 Database Management

Numtip Trakulmaykee

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

Address

Code

Child

Employee

BC326 Database Management

Numtip Trakulmaykee

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

Numtip Trakulmaykee

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

อายุ

key attribute
BC326 Database Management

Numtip Trakulmaykee

Key Attribute
  • โดยทั่วไปจะต้องมีอย่างน้อย 1 Attribute หรือมากกว่า ที่ทำให้ข้อมูลแต่ละแถว หรือ เรคอร์ดมีความแตกต่างกัน
  • ตัวอย่างเช่น
    • นักศึกษาแต่ละคนมีรหัสประจำตัวที่ไม่ซ้ำกัน รหัสประจำตัวนักศึกษา จึงเรียกว่า คีย์
  • แบ่งออกได้ 2 อย่าง คือ
    • Simple Key คือ มีแอททริบิวท์ 1 แอททริบิวท์ที่เป็นคีย์
    • Composite Key คือ คีย์ประกอบ ที่มีแอททริบิวท์มากกว่า 1 แอททริบิวท์ที่เป็นคีย์
  • สัญลักษณ์ แทนด้วย ขีดเส้นใต้แอททริบิวท์ที่เป็นคีย์
simple key
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
Subject

Student

BC326 Database Management

Numtip Trakulmaykee

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

Enrol in

relationships entity sets
BC326 Database Management

Numtip Trakulmaykee

Relationships & Entity Sets
  • Degree ของ relationship คือ จำนวนของ Entity ที่เชื่อมต่อกัน
    • Unary
    • Binary
    • Ternary

A Unary Relationship

Supervise

Employee

a binary relationship
Enroll in

Sale

Item

Purchase

Subject

Student

Vendor

BC326 Database Management

Numtip Trakulmaykee

A Binary Relationship

A Ternary Relationship

relationship14
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
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
BC326 Database Management

Numtip Trakulmaykee

การจับคู่ระหว่างเอนติตี้
  • แต่ละ entity จะจับคู่แบบใดแบบหนึ่งดังต่อไปนี้
    • Partial or Optional ษมาชิกบางตัวไม่มีคู่ แทนด้วย
    • Total or Mandatory สมาชิกทุกตัวใน entity ต้องมีคู่ แทนด้วย

1

1

เป็น

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

พนักงาน

relationship and attributes
BC326 Database Management

Numtip Trakulmaykee

Relationship and Attributes
  • Relationship คือ ความสัมพันธ์ระหว่าง Entity
  • Relationship อาจจะมี Attribute ก็ได้
  • โดยทั่วไปความสัมพันธ์ M:N จะมี Attribute ของ Relation

Supervise

Employee

Task

slide18
Sale

Item

Purchase

Vendor

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

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

BC326 Database Management

Numtip Trakulmaykee

1

1

เป็น

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

พนักงาน

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

superclass subclass
BC326 Database Management

Numtip Trakulmaykee

Superclass และ Subclass

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

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

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

slide20
BC326 Database Management

Numtip Trakulmaykee

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

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

Numtip Trakulmaykee

  • Employee
  • รหัสพนักงาน
  • ชื่อ
  • วันที่เริ่มทำงาน

ผู้จัดการ

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

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

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

Numtip Trakulmaykee

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

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

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

d

slide23
พนักงาน

d

ผู้จัดการ

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

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

ความชำนาญ

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

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

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

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

BC326 Database Management

Numtip Trakulmaykee

slide24
BC326 Database Management

Numtip Trakulmaykee

  • Overlapping Constraint

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

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

O

slide25
พนักงาน

O

ผู้จัดการ

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

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

ความชำนาญ

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

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

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

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

BC326 Database Management

BC326 Database Management

Numtip Trakulmaykee

Numtip Trakulmaykee

e r model
BC326 Database Management

Numtip Trakulmaykee

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

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

slide27
BC326 Database Management

Numtip Trakulmaykee

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

Numtip Trakulmaykee

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