SlideShare a Scribd company logo
การออกแบบฐานข้อมูลเชิงตรรกะ
    (Logical Database Design)



                    http://www.flickr.com/photos/aboyandhisbike/
การแปลงไดอะแกรมอีอาร์เป็นรีเลชั่น
แบ่งออกเป็น 7 ขั้นตอน โดยในแต่ละขั้นตอนไม่จำเป็นต้องทำพร้อมกันตามลำดับ
บางขั้นตอนสามารถทำไปพร้อมกัน หรืออาจมีบางขั้นตอนไม่ถูกทำก็ได้

โดยมีรายละเอียดของขั้นตอนดังนี้
1. Map Strong Entities                 4. Map Unary Relationship
2. Map Weak Entities                   5. Map Ternary Relationship
3. Map Binary Relationship             6. Map Associative Entity
    •   ความสัมพันธ์แบบหนึ่งต่อกลุ่ม   7. Map Supertype/Subtype
    •   ความสัมพันธ์แบบหนึ่งต่อหนึ่ง
    •   ความสัมพันธ์แบบกลุ่มต่อกลุ่ม
1. Map Strong Entities
●   สร้างรีเลชั่นโดยใช้ชื่อของเอนทิตี้เป็นชื่อของรีเลชั่น และรีเลชั่นประกอบไปด้วยแอต
    ทริบิวของเอนทิตี้นั้นๆ
●   Composite Attribute ให้เก็บเฉพาะ Simple Attribute ทีประกอบเป็น
                                                        ่
    Composite Attribute นั้นๆ
     ●   เช่น Composite Attribute ชื่อ stdName ที่ประกอบไปด้วยแอตทริบิวต์ย่อย
         frstName และ lastName ในกรณีนี้จะเก็บแต่ frstName และ lastName ส่วน
         stdName ทำการตัดทิ้งได้
●   Derived Attribute อาจตัดทิ้ง เพราะสามารถคำนวณได้จากแอตทริบิวต์อื่นๆ
●   Multi-valued Attribute ต้องแยกเป็นอีกหนึ่งรีเลชั่น
1. Map Strong Entities




STUDENT(stdID, frtName, lastName, stdBirthDate)
STUDENT_TEL(stdID, stdTel)
2. Map Weak Entities
●   สร้างรีเลชั่นของ Weak Entity ที่ประกอบไปด้วย Simple Attribute ทั้งหมดของ
    ตนเอง
●   คัดลอกคีย์หลัก (Primary Key) ของ Strong Entity มาวางบนรีเลชั่นนี้ เพื่อทำ
    หน้าที่เป็นคีย์นอก (Foreign Key)
●   คีย์หลักของของรีเลชั่นนี้จะประกอบด้วยคีย์หลักของ Weak Entity รวมกับคีย์หลัก
    ของ Strong Entity
2. Map Weak Entities




EMPLOYEE(empID, empName, empAddr)
DEPENDENCE(depName, empNo, depAddr, depTel)
3. Map Binary Relationship

ความสัมพันธ์ระหว่างสองเอนทิตี้นั้น อาจเป็นความสัมพันธ์ดังนี้
●   ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (1:M) ให้แปลงเอนทิตี้ที่เป็น 1-side เป็น รีเลชั่น
    ตามปกติ แต่เอนทิตี้ที่เป็น M-side ให้คัดลองคีย์หลักของเอนทิตี้ 1-side มาวางบน
    รีเลชั่นเพื่อเป็นคีย์นอกด้วย
●   ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (1:1) ให้รวมทั้งสองเอนทิตี้เป็นหนึ่งรีเลชั่น โดย
    เลือกคีย์หลักของเอนทิตี้ใดเอนทิตี้หนึ่งเป็นคียหลักของรีเลชั่น
●   ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (M:N) สร้างรีเลชั่นของ เอนทิตี้ M-side และ N-
    side แล้วสร้างรีเลชั่นของความสัมพันธ์แล้ววางแอตทริบิวต์ที่อยู่บนความสัมพันธ์
    (ถ้ามี) จากนั้นคัดลอกคีย์หลักของทั้งเอนทิตี้ M และ N side มาวางที่รีเลชั่นความ
    สัมพันธ์ แล้วเลือกให้ทั้งสองเป็นคีย์หลักของรีเลชั่นนี้
ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (1:M)




CUSTOMER(custID, custName, custAddr)
CAR(carNo, modelCode, carYear, custID)
ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (1:1)




EMPLOYEE(custID, custName, custAddr, carNo, modelCode, carYear)
ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (M:N)




CUSTOMER(custID, custName, custAddr)
CAR(carNo, modelCode, carYear, custID)
CUST_CAR(custID, carNo)
4. Map Unary Relationship
●   สามารถทำได้เช่นเดียวกับการแปลงไดอะแกรมอีอาร์ที่เป็นความสัมพันธ์ระหว่าง
    สองเอนทิตี้ให้เป็นรีเลชั่น
●   แต่ให้เปลี่ยนชื่อของแอตทริบิวต์ของเอนทิตี้ด้านใดด้านหนึ่งเพื่อไม่ให้ซ้ำซ้อนกัน
4. Map Unary Relationship




EMPLOYEE(empNo, empName, empAddr, mngrNo, mngrName, mngrAddr)
5. Map Ternary Relationship
●   ได้อะแกรมที่มีความสัมพันธ์ระหว่างสามเอนทิตี้ควรแปลงให้เป็น Associative
    Entity เพื่อให้ง่ายต่อการแปลง
6. Map Associative Entity
●   สร้างรีเลชั่นสำหรับเอนทิตี้ที่เป็น Strong Entity
●   สร้างรีเลชั่นที่เป็น Associative Entity โดยใช้แอตทริบิวต์ทั้งหมดของเอนทิตี้นี้
●   คัดลอกคีย์หลักของเอนทิตี้ที่เป็น Strong Entity มาวางบนรีเลชั่น เพื่อทำหน้าที่
    เป็นคีย์นอก (Foreign Key)
●   ส่วนคีย์หลักของรีเลชั่นจะประกอบด้วยคีย์หลักของเอนทิตี้ที่เป็น Strong Entity
    รวมกับคีย์หลักของ Associative Entity (ถ้ามี)
6. Map Associative Entity




CUSTOMER(custNo, custName, custAddr)
VENDOR(vendorNo, vendorName, vendorAddr)
SHIPMENT(shipmentNo, custNo, vendorNo, shipmentDate)
7. Map Supertype/Subtype
●   สร้างรีเลชั่นสำหรับเอนทิตี้ที่เป็น Supertype
●   สร้างรีเลชั่นสำหรับเอนทิตี้ที่เป็น Subtype โดยประกอบด้วยแอตทริบิวต์
●   คัดลอกคีย์หลักของเอนทิตี้ Supertype มาวางที่รีเลชั่นของ Subtype เพื่อเป็นคีย์
    หลัก โดยต้องเปลี่ยนชื่อแอตทริบิวต์เพื่อไม่ให้ซ้ำกับคีย์หลักของรีเลชั่น Supertype
7. Map Supertype/Subtype




STAFF(staffNo, staffName, staffPosition, staffSalary)
MANAGER(MNGstaffNo, mngStart, mngBonus)
SALES(SALstaffNo, salesCar, salesAmt)
SECRETARY(SCRstaffNo, scrType)

More Related Content

PPTX
โครงงานการดาษจากกาบ(กลุ่มที่6)
PDF
นิทานเวตาล พร้อมแบบฝึกหัด
PDF
Bài giảng Năng lượng tái tạo-Đại học SPKT TP.HCM
PPT
หน่วยการวัดจริงๆ
PPT
ความรู้ทั่วไปเกี่ยวกับสิ่งแวดล้อม 1
DOCX
แผนผังความสัมพันธ์ของตัวละครเรื่อง ขุนช้างขุนแผน
DOC
แบบสอบถามละครเวที
DOCX
งานคอมโครงงาน เรื่อง น้ำตกหมู
โครงงานการดาษจากกาบ(กลุ่มที่6)
นิทานเวตาล พร้อมแบบฝึกหัด
Bài giảng Năng lượng tái tạo-Đại học SPKT TP.HCM
หน่วยการวัดจริงๆ
ความรู้ทั่วไปเกี่ยวกับสิ่งแวดล้อม 1
แผนผังความสัมพันธ์ของตัวละครเรื่อง ขุนช้างขุนแผน
แบบสอบถามละครเวที
งานคอมโครงงาน เรื่อง น้ำตกหมู

What's hot (20)

PDF
การซ่อมเตารีดด้วยโอห์มมิเตอร์
DOCX
สรุปความรู้จากเรื่องขุนช้าง ขุนแผน
PDF
การลำเลียงสารอาหารของพืช
DOC
สรุปสมบัติของคลื่น
PDF
โคลงโลกนิติ
DOCX
แบบสอบถาม
PDF
คำสั่งแต่งตั้งคณะกรรมการจัดกิจกรรมปัจฉิมนิเทศ ปีการศึกษา 2555
PDF
สูตรแคลคูลัส
PDF
ชนิดประโยค ม.2
PDF
1 อิศรญาณภาษิต ok
PDF
Đề tài: Thiết kế bộ nạp Ác quy tự động, HAY, 9đ
PPTX
หน่วยที่ 2 เรื่อง บ้านน่าอยู่
PDF
เจรจาต่อรองให้สำเร็จ Getting to yes
PPTX
โคลงสี่สุภาพ
PPT
ความรู้เรื่องอนามัยเจริญพันธุ์
PDF
บทที่4 ผลการดำเนินการ
DOCX
อนุมัติใช้แผนการสอน
PPT
เรื่องสำนวน สุภาษิต คำพังเพย
PDF
Subject - Verb Agreement + Exercise
DOC
แบบสอบถาม โครงการบันทึกรักการอ่าน2013
การซ่อมเตารีดด้วยโอห์มมิเตอร์
สรุปความรู้จากเรื่องขุนช้าง ขุนแผน
การลำเลียงสารอาหารของพืช
สรุปสมบัติของคลื่น
โคลงโลกนิติ
แบบสอบถาม
คำสั่งแต่งตั้งคณะกรรมการจัดกิจกรรมปัจฉิมนิเทศ ปีการศึกษา 2555
สูตรแคลคูลัส
ชนิดประโยค ม.2
1 อิศรญาณภาษิต ok
Đề tài: Thiết kế bộ nạp Ác quy tự động, HAY, 9đ
หน่วยที่ 2 เรื่อง บ้านน่าอยู่
เจรจาต่อรองให้สำเร็จ Getting to yes
โคลงสี่สุภาพ
ความรู้เรื่องอนามัยเจริญพันธุ์
บทที่4 ผลการดำเนินการ
อนุมัติใช้แผนการสอน
เรื่องสำนวน สุภาษิต คำพังเพย
Subject - Verb Agreement + Exercise
แบบสอบถาม โครงการบันทึกรักการอ่าน2013
Ad

Similar to 06.1 logical database design[transform erd into relations] (20)

PPT
PDF
PDF
05 entity relationship model
PDF
PDF
การสร้างตาราง
PPT
Chapter 1 2
PPTX
PDF
SlideShare เรื่อง การออกแบบฐานข้อมูล
PDF
Ite 237 midterm guide
PDF
การจัดการฐานข้อมูลเชิงสัมพันธ์2
PDF
การจัดการฐานข้อมูลเชิงสัมพันธ์2
PDF
PPTX
งานคอม#2
PPT
PDF
บทที่ 5 การแปลง er diagram ให้เป็น table
PDF
PPTX
ฐานข้อมูลเชิงสัมพันธ์
PDF
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
PPT
Database architecture
PDF
หน่วยที่ 3 การสร้างตาราง
05 entity relationship model
การสร้างตาราง
Chapter 1 2
SlideShare เรื่อง การออกแบบฐานข้อมูล
Ite 237 midterm guide
การจัดการฐานข้อมูลเชิงสัมพันธ์2
การจัดการฐานข้อมูลเชิงสัมพันธ์2
งานคอม#2
บทที่ 5 การแปลง er diagram ให้เป็น table
ฐานข้อมูลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Database architecture
หน่วยที่ 3 การสร้างตาราง
Ad

More from Opas Kaewtai (7)

PDF
07 sql
PDF
06.2 logical database design [normalization]
PDF
04 the entities relationship model
PDF
03 data abstraction
ODP
Introduction to Database
ODP
Introduction to Database
ODP
Introduction of Multidedia Technology
07 sql
06.2 logical database design [normalization]
04 the entities relationship model
03 data abstraction
Introduction to Database
Introduction to Database
Introduction of Multidedia Technology

06.1 logical database design[transform erd into relations]

  • 1. การออกแบบฐานข้อมูลเชิงตรรกะ (Logical Database Design) http://www.flickr.com/photos/aboyandhisbike/
  • 2. การแปลงไดอะแกรมอีอาร์เป็นรีเลชั่น แบ่งออกเป็น 7 ขั้นตอน โดยในแต่ละขั้นตอนไม่จำเป็นต้องทำพร้อมกันตามลำดับ บางขั้นตอนสามารถทำไปพร้อมกัน หรืออาจมีบางขั้นตอนไม่ถูกทำก็ได้ โดยมีรายละเอียดของขั้นตอนดังนี้ 1. Map Strong Entities 4. Map Unary Relationship 2. Map Weak Entities 5. Map Ternary Relationship 3. Map Binary Relationship 6. Map Associative Entity • ความสัมพันธ์แบบหนึ่งต่อกลุ่ม 7. Map Supertype/Subtype • ความสัมพันธ์แบบหนึ่งต่อหนึ่ง • ความสัมพันธ์แบบกลุ่มต่อกลุ่ม
  • 3. 1. Map Strong Entities ● สร้างรีเลชั่นโดยใช้ชื่อของเอนทิตี้เป็นชื่อของรีเลชั่น และรีเลชั่นประกอบไปด้วยแอต ทริบิวของเอนทิตี้นั้นๆ ● Composite Attribute ให้เก็บเฉพาะ Simple Attribute ทีประกอบเป็น ่ Composite Attribute นั้นๆ ● เช่น Composite Attribute ชื่อ stdName ที่ประกอบไปด้วยแอตทริบิวต์ย่อย frstName และ lastName ในกรณีนี้จะเก็บแต่ frstName และ lastName ส่วน stdName ทำการตัดทิ้งได้ ● Derived Attribute อาจตัดทิ้ง เพราะสามารถคำนวณได้จากแอตทริบิวต์อื่นๆ ● Multi-valued Attribute ต้องแยกเป็นอีกหนึ่งรีเลชั่น
  • 4. 1. Map Strong Entities STUDENT(stdID, frtName, lastName, stdBirthDate) STUDENT_TEL(stdID, stdTel)
  • 5. 2. Map Weak Entities ● สร้างรีเลชั่นของ Weak Entity ที่ประกอบไปด้วย Simple Attribute ทั้งหมดของ ตนเอง ● คัดลอกคีย์หลัก (Primary Key) ของ Strong Entity มาวางบนรีเลชั่นนี้ เพื่อทำ หน้าที่เป็นคีย์นอก (Foreign Key) ● คีย์หลักของของรีเลชั่นนี้จะประกอบด้วยคีย์หลักของ Weak Entity รวมกับคีย์หลัก ของ Strong Entity
  • 6. 2. Map Weak Entities EMPLOYEE(empID, empName, empAddr) DEPENDENCE(depName, empNo, depAddr, depTel)
  • 7. 3. Map Binary Relationship ความสัมพันธ์ระหว่างสองเอนทิตี้นั้น อาจเป็นความสัมพันธ์ดังนี้ ● ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (1:M) ให้แปลงเอนทิตี้ที่เป็น 1-side เป็น รีเลชั่น ตามปกติ แต่เอนทิตี้ที่เป็น M-side ให้คัดลองคีย์หลักของเอนทิตี้ 1-side มาวางบน รีเลชั่นเพื่อเป็นคีย์นอกด้วย ● ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (1:1) ให้รวมทั้งสองเอนทิตี้เป็นหนึ่งรีเลชั่น โดย เลือกคีย์หลักของเอนทิตี้ใดเอนทิตี้หนึ่งเป็นคียหลักของรีเลชั่น ● ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (M:N) สร้างรีเลชั่นของ เอนทิตี้ M-side และ N- side แล้วสร้างรีเลชั่นของความสัมพันธ์แล้ววางแอตทริบิวต์ที่อยู่บนความสัมพันธ์ (ถ้ามี) จากนั้นคัดลอกคีย์หลักของทั้งเอนทิตี้ M และ N side มาวางที่รีเลชั่นความ สัมพันธ์ แล้วเลือกให้ทั้งสองเป็นคีย์หลักของรีเลชั่นนี้
  • 11. 4. Map Unary Relationship ● สามารถทำได้เช่นเดียวกับการแปลงไดอะแกรมอีอาร์ที่เป็นความสัมพันธ์ระหว่าง สองเอนทิตี้ให้เป็นรีเลชั่น ● แต่ให้เปลี่ยนชื่อของแอตทริบิวต์ของเอนทิตี้ด้านใดด้านหนึ่งเพื่อไม่ให้ซ้ำซ้อนกัน
  • 12. 4. Map Unary Relationship EMPLOYEE(empNo, empName, empAddr, mngrNo, mngrName, mngrAddr)
  • 13. 5. Map Ternary Relationship ● ได้อะแกรมที่มีความสัมพันธ์ระหว่างสามเอนทิตี้ควรแปลงให้เป็น Associative Entity เพื่อให้ง่ายต่อการแปลง
  • 14. 6. Map Associative Entity ● สร้างรีเลชั่นสำหรับเอนทิตี้ที่เป็น Strong Entity ● สร้างรีเลชั่นที่เป็น Associative Entity โดยใช้แอตทริบิวต์ทั้งหมดของเอนทิตี้นี้ ● คัดลอกคีย์หลักของเอนทิตี้ที่เป็น Strong Entity มาวางบนรีเลชั่น เพื่อทำหน้าที่ เป็นคีย์นอก (Foreign Key) ● ส่วนคีย์หลักของรีเลชั่นจะประกอบด้วยคีย์หลักของเอนทิตี้ที่เป็น Strong Entity รวมกับคีย์หลักของ Associative Entity (ถ้ามี)
  • 15. 6. Map Associative Entity CUSTOMER(custNo, custName, custAddr) VENDOR(vendorNo, vendorName, vendorAddr) SHIPMENT(shipmentNo, custNo, vendorNo, shipmentDate)
  • 16. 7. Map Supertype/Subtype ● สร้างรีเลชั่นสำหรับเอนทิตี้ที่เป็น Supertype ● สร้างรีเลชั่นสำหรับเอนทิตี้ที่เป็น Subtype โดยประกอบด้วยแอตทริบิวต์ ● คัดลอกคีย์หลักของเอนทิตี้ Supertype มาวางที่รีเลชั่นของ Subtype เพื่อเป็นคีย์ หลัก โดยต้องเปลี่ยนชื่อแอตทริบิวต์เพื่อไม่ให้ซ้ำกับคีย์หลักของรีเลชั่น Supertype
  • 17. 7. Map Supertype/Subtype STAFF(staffNo, staffName, staffPosition, staffSalary) MANAGER(MNGstaffNo, mngStart, mngBonus) SALES(SALstaffNo, salesCar, salesAmt) SECRETARY(SCRstaffNo, scrType)