Entity – Relationship Model

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
Advertisements

ชื่อผู้สอน : นางฐิติมา พิริยะ
ตราด สำนักงานโยธาธิการและผังเมืองจังหวัด นางสาวอุสิมา สิงห์โตทอง
การพัฒนาระบบทะเบียน ของ โรงเรียนเมโทรเทคโนโลยี จังหวัดเชียงใหม่
การใช้งานโปรแกรม SPSS
Entity-Relationship Model E-R Model
ซอฟต์แวร์ระบบที่รู้จักกันดี คือซอฟต์แวร์ควบคุมการปฏิบัติการ ของคอมพิวเตอร์ที่เรียกว่า ระบบปฏิบัติการ ระบบปฏิบัติการเป็นชุดคำสั่งที่ใช้ควบคุมระบบฮาร์ดแวร์และ.
หลักการออกแบบฐานข้อมูล
กระบี่ สำนักงานโยธาธิการและผังเมืองจังหวัด
อำนาจเจริญ - ว่าง- - ว่าง- - ว่าง - -ว่าง -
ระยอง นายสมชัย ฉายศรีศิริ นายปรพล เจริญพงษ์ นายสมหมาย เอี่ยมมงคลสกุล
ผู้รับผิดชอบ ผลผลิต ฝ่ายบริหารทั่วไป
นางพจนีย์ ขจร ปรีดานนท์ โยธาธิการและผังเมือง จังหวัด นายทวีศักดิ์ สุริยะสิงห์ หัวหน้ากลุ่มงานวิชาการ โยธาธิการ ( ว่าง ) หัวหน้าฝ่ายบริหารงาน ทั่วไป นายปรีชา.
ประโยชน์และตัวอย่างของการใช้เทคโนโลยีสารสนเทศ
Database Management System
ประชุมจัดทำแผนปฏิบัติการ เพื่อพัฒนาบริการกลุ่มวัยรุ่น ปี 2558 วันที่ 15 มิถุนายน 2558 ณ ห้องประชุมสหกรณ์ออมทรัพย์สาธารณสุขจังหวัดเชียงใหม่ จำกัด.
ประเภทโครงงาน พัฒนาระบบ (System Development)
การประเมินผลโครงการ คปสอ.คลองใหญ่.
CSIT-URU อ. กฤษณ์ ชัยวัณณคุปต์ Mathematics and Computer Program, URU บทที่ 1 ความรู้ทั่วไปเกี่ยวกับ เทคโนโลยีสารสนเทศ Introduction to Information.
นาย สรวิศ เตธัญญวรากูล ปวช.3/2 นาย ศิวกร มาลี ปวช.3/2.
การพัฒนาผลสัมฤทธิ์ทางการเรียน วิชาการใช้โปรแกรมนำเสนอข้อมูล เรื่องการเชื่อมโยง ภาพนิ่ง ด้วยโปรแกรม Powerpoint2007 โดยใช้ สื่อคอมพิวเตอร์ช่วยสอน CAI ของนักเรียนระดับชั้น.
จัดทำโดย นางสาว อุศนันท์หาดรื่น ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยสยาม ปีการศึกษา 2557.
การกำหนด คุณลักษณะครุภัณฑ์ นาตอนงค์ จันทร์แจ่มแจ้ง นักวิชาการพัสดุชำนาญการพิเศษ.
Microsoft Access 2007 ทำความรู้จักและใช้งาน. รู้จักกับฐานข้อมูล (Database) ฐานข้อมูล (Data base) คือ ? Bit Byte Field/Word Record Table/File.
การออกแบบโครงสร้างข้อมูล การออกแบบโครงสร้างข้อมูล หมายถึง กรณีสร้างตารางใหม่ด้วย ออกแบบตาราง (Table Design) เพื่อต้องการกำหนด โครงสร้างด้วยตนเอง โดยมีขั้นตอนการ.
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
Entity-Relationship Model
ง21101 การงานอาชีพและเทคโนโลยี ม. 1 เจตคติต่อการประกอบอาชีพ
โครงงาน(Project) เรื่อง ระบบร้านเช่าหนังสือออนไลน์
“วิธีการใช้งาน PG Program New Version สำหรับ PGD”
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การทำ Normalization 14/11/61.
IP-Addressing and Subneting
Author (ผู้แต่ง) AuID รหัผู้แต่ง Char 3 PK AuName ชื่อผู้แต่ง Varchar Table name Attribute name Description Data Type Size Key References BookType.
IP-Addressing and Subneting
บทสรุป ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
บทที่ 11 การเขียนแผนผังข้อมูลแบบสัมพัทธ์.
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การจัดการระบบฐานข้อมูล ภาษาที่ใช้ในระบบจัดการฐานข้อมูล
การบัญชีต้นทุนช่วง (Process Costing).
Entity – Relationship Model
เรื่อง ความพึงพอใจต่อการให้บริการห้องสมุด
คำสั่ง Create , Insert, Delete, Update
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
กรณีศึกษา : นักเรียน ระดับ ปวช.2 สาขาวิชาการบัญชี
งานสังคมครั้งที่ 1 เรื่อง การเก็บข้อมูลประวัติหมู่บ้าน ชุมชน วิถีชุมชน
กิจกรรมการแลกเปลี่ยนเรียนรู้ งานบริหารและธุรการ คณะบริหารธุรกิจ
แนวทางการบริหารการจัดเก็บ ข้อมูลเพื่อการพัฒนาชุมชน ปี 2561
KMA หมวด 6 การจัดการกระบวนการ.
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
สรุปผลการนิเทศงานเฉพาะกิจ งานข้อมูลและเทคโนโลยีสารสนเทศ
SMS News Distribute Service
มาฝึกสมองกันครับ.
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
การวิจัยทางการท่องเที่ยว
สถาปัตยกรรมของฐานข้อมูล
คำชี้แจง เรื่อง การเก็บข้อมูลประวัติหมู่บ้าน ชุมชน วิถีชุมชน
จุดเริ่มต้นสวนสัตว์ไทย
การเปลี่ยนแปลงประมาณการทางบัญชี และข้อผิดพลาด
ฐานข้อมูลเชิงสัมพันธ์
ระบบสำนักงานอัตโนมัติ (Office Automation : OA)
ตัวแบบข้อมูล (Data Modeling)
งานสังคมครั้งที 1 เรื่อง การเก็บข้อมูลประวัติหมู่บ้าน ชุมชน วิถีชุมชน โดย น.ส.อธิชา ฤทธิ์เจริญ ม.4 MEP-A เลขที่ 21.
Chapter 7 : ขั้นตอนการแปลงแผนภาพ ER มาเป็นรีเลชั่น ( ER-to-Relational Mapping Algorithm ) อ.คเชนทร์ ซ่อนกลิ่น.
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
Database Design & Development
การพัฒนาการทำแผล หอผู้ป่วยพิเศษร่มเย็น 4
บทที่ 7 การบัญชีภาษีมูลค่าเพิ่ม
Class Diagram.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

Entity – Relationship Model E-R Model

ขั้นตอนในการออกแบบฐานข้อมูล ออกแบบฐานข้อมูลในระดับแนวคิด(Conceptual Database Design) การออกแบบฐานข้อมูลในระดับตรรกะ(Logical Database Design) การออกแบบฐานข้อมูลในระดับกายภาพ(Physical Database Design)

การออกแบบฐานข้อมูลในระดับแนวคิด เป็นขั้นตอนในการวิเคราะห์ข้อมูลที่จำเป็นทั้งหมดที่เกี่ยวข้องกับระบบสารสนเทศ โดยกำหนดกลุ่มข้อมูล(Entity)และกำหนดความสัมพันธ์(Relationship)ระหว่างข้อมูลต่าง ๆ จากนั้นจึงระบุรายละเอียด(Attribute)ต่าง ๆ ของข้อมูลทั้งหมด และระบุกฏที่จะควบคุมความคงสภาพของข้อมูล(Data Integrity) แสดงแนวคิดการออกแบบโดยใช้ ER Model แล้วพัฒนา ER Diagram

ผู้แต่ง หนังสือ สำนักพิมพ์ การสั่งซื้อ ลูกค้า ครั้งที่พิมพ์ รูปภาพ ปีที่พิมพ์ ชื่อผู้แต่ง ชื่อหนังสือ รหัสประเภทหนังสือ ชื่อประเภท อีเมลล์ รหัสผู้แต่ง ราคา รหัสISBN ผู้แต่ง M แต่ง N หนังสือ N จัดแบ่งเป็น 1 ประเภทหนังสือ N N ชื่อเข้าระบบ เว็บไซต์ จำนวน จัดพิมพ์ มีรายการ โทรศัพท์ รหัสสำนักพิมพ์ รหัสผ่าน ชื่อ 1 ราคารวม M สำนักพิมพ์ การสั่งซื้อ N ใช้งาน 1 ลูกค้า วันทั่งซื้อ วันทั่งส่งสินค้า รหัสลูกค้า ที่อยู่ โทรศัพท์ ยอดรวม อีเมลล์ อีเมลล์ รหัสการสั่งซื้อ ที่อยู่ ชื่อสำนักพิมพ์ บ้านเลขที่ ภาษีมูลค่าเพิ่ม รหัสไปรษณีย์ ถนน ตำบล อำเภอ จังหวัด

การออกแบบฐานข้อมูลในระดับตรรกะ เป็นการแปลง ER Diagram ให้เป็นเค้าร่างรีเลชัน(Relational schema) ตามทฤษฎีฐานข้อมูลเชิงสัมพันธ์ นำรีเลชันมาปรับบรรทัดฐาน(Normalization) ให้อยู่ในรูปแบบบรรทัดฐานที่เหมาะสม

Relational Schema จาก ER Diagram แปลงเป็นเค้าร่างฐานข้อมูลได้ดังนี้ ประเภทหนังสือ(รหัสประเภท , ชื่อปรเภท) หนังสือ(รหัสISBN , ชื่อหนังสือ , ราคา , ปีที่พิมพ์ , ครั้งที่พิมพ์ , รูปภาพ , รหัสประเภท , รหัสสำนักพิมพ์ ) สำนักพิมพ์(รหัสสำนักพิมพ์ , ชื่อสำนักพิมพ์ , ที่อยู่ , โทรศัพท์ , เว็บไซต์ , อีเมลล์) ผู้แต่ง(รหัสผู้แต่ง , ชื่อผู้แต่ง , อีเมลล์ ) ลูกค้า(รหัสลูกค้า , ชื่อลูกค้า , โทรศัพท์ , อีเมลล์ , ชื่อเข้าใช้ระบบ , รหัสผ่าน , บ้านเลขที่ , ถนน , ตำบล , อำเภอ , จังหวัด , รหัสไปรษณีย์ ) การสั่งซื้อ(รหัสการสั่งซื้อ , วันที่สั่งซื้อ , วันที่ส่งสินค้า , รหัสลูกค้า ) การแต่งหนังสือ(รหัสISBN , รหัสผู้แต่ง) รายการสั่งซื้อ(รหัสการสั่งซื้อ , รหัส ISBN , จำนวน , ราคารวม)

Relational Schema

การออกแบบฐานข้อมูลในระดับกายภาพ เป็นการออกแบบโครงสร้างข้อมูลที่จะนำไปจัดเก็บในฐานข้อมูล โดยกำหนดโครงสร้างตามคุณสมบัติข้อมูลของระบบจัดการฐานข้อมูลที่จะใช้ในการจัดการข้อมูล ระบุพจนานุกรมของข้อมูล(Data Dictionary)

พจนานุกรมข้อมูล(Data Dictionary) Table name Attribute name Description Data Type Size Key References BookType (ประเภทหนังสือ) BTypeID รหัสประเภท Char 5 PK BTypeName ชื่อประเภท Varchar 30 Book (หนังสือ) ISBN รหัสISBN 15 BName ชื่อหนังสือ 50 Price ราคา Float Edition ครั้งที่พิมพ์ Int Published ปีที่พิมพ์ Picture รูปภาพ Blob FK

E-R Model เป็นแบบจำลองที่ใช้แสดงแนวคิดการออกแบบฐานข้อมูลในระดับแนวคิด(Conceptual schema) โดยจะแสดงความสัมพันธ์ระหว่างข้อมูลที่ประกอบด้วย เอนทิตี้ , แอททริบิวต์ และความสัมพันธ์ คิดค้นโดย Peter Chen ในปี 1976 เป็นอิสระจากระบบการจัดการฐานข้อมูล(DBMS) นักวิเคราะห์และออกแบบระบบจะใช้ ERM เป็นสื่อกลางในการสื่อสารระหว่างผู้ใช้และผู้พัฒนาโปรแกรม

E-R Model E-R Model เป็นการออกแบบฐานข้อมูลในระดับแนวคิดในลักษณะจากบนลงล่าง (Top-Down Strategy) ผลจากการออกแบบฐานข้อมูลจะได้เค้าร่างในระดับแนวคิดที่ประกอบด้วย เอนทิตี้ที่ควรจะมีในระบบ ความสัมพันธ์ระหว่างเอนทิตี้ว่าเป็นอย่างไร แอททริบิวต์ซึ่งเป็นรายละเอียดที่อธิบายเอนทิตี้ และมีความสัมพันธ์กันอย่างไร

องค์ประกอบของ ER Model เอนทิตี้(Entity) แอททริบิวต์(Attribute) ความสัมพันธ์(Relationship)

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

ประเภทของ Entity แบ่งออกเป็น 2 ประเภท คือ เอนทิตี้แบบปกติ(Regular Entity หรือ Strong Entity) เอนทิตี้แบบอ่อน (Weak Entity)

เอนทิตี้แบบปกติ เป็นเอนทิตี้ที่เราสามารถกำหนดให้มีในระบบได้อย่างอิสระ ไม่ขึ้นกับข้อมูลจากเอนทิตี้อื่น เช่น นักศึกษา , พนักงาน , รถ และ วิชาเรียน เป็นต้น ข้อมูลในเอนทิตี้แบบปกติมีลักษณะเป็นเอกลักษณ์(Unique) นั่นคือ สามารถเลือกข้อมูลบางแอททริบิวต์ที่อยู่ในเอนทิตี้นั้นๆ มาเป็นกุญแจหลัก(Primary Key) ของเอนทิตี้นั้น เพื่อจำแนกข้อมูลแต่ละรายการได้

เอนทิตี้แบบปกติ Entity Name STUDENT PRODUCT สัญลักษณ์ที่ใช้แทน เอนทิตี้แบบปกติ Entity Name STUDENT PRODUCT

เอนทิตี้แบบอ่อน เอนทิตี้แบบอ่อนเป็นเอนทิตี้ขึ้นต่อข้อมูลในเอนทิตี้อื่น ๆ บางเอนทิตี้ กล่าวคือ เอนทิตี้แบบอ่อนจะไม่มีข้อมูลในฐานข้อมูล หากไม่มีข้อมูลในอีกเอนทิตี้หนึ่ง (เรียกว่า Owner Entity) เกิดขึ้นในระบบก่อน เรียกว่า “การขึ้นต่อกันเชิงปรากฏ (Existence Dependency)” เอนทิตี้แบบอ่อนจะไม่สามารถกำหนดคีย์หลักโดยใช้แอททริบิวต์ในเอนทิตี้เพียงลำพัง แต่ต้องอาศัยคีย์หลักจาก Owner Entity มาประกอบกันกับแอททริบิวต์ที่เป็นส่วนประกอบของคีย์

เอนทิตี้แบบอ่อน สัญลักษณ์ที่ใช้แทน เอนทิตี้แบบอ่อน Entity Name ORDER_DETAIL DEPENDENT

ตัวอย่างเอนทิตี้ พนักงาน ผู้รับผลประโยชน์ 1 N มีความสัมพันธ์ รหัส ชื่อ นามสกุล ที่อยู่ S1 วนิดา สุขสันต์ S2 สมชาย รักดี S3 จริงใจ รักชีพ S4 สถาพร ช่วงโชติ S5 จิราพร แก้วมณี อุดรธานี กรุงเทพฯ เชียงใหม่ ภูเก็ต S6 ลินดา ใจอ่อน S7 จิระศักดิ์ ปานพุ่ม ระยอง ชื่อ นามสกุล ความสัมพันธ์ สุดาวัลย์ สุขสันต์ วิภา รักดี จันจิรา รักชีพ สมชาย สุขสม บุตรสาว ภรรยา บิดา แก้วมณี สามี นิโคล ปานพุ่ม

Attribute แอททริบิวต์ หมายถึง คุณสมบัติ หรือ คุณลักษณะ ที่ใช้อธิบายรายละเอียดของเอนทิตี้ และ ความสัมพันธ์ ตัวอย่าง เอนทีตี้ “นักศึกษา” ประกอบด้วยข้อมูล “รหัสนักศึกษา , ชื่อ ,นามสกุล , ที่อยู่ , วันเกิด , อายุ , เกรดเฉลี่ยสะสม” ตัวอย่าง เอนทีตี้ “สินค้า” ประกอบด้วยข้อมูล “รหัสสินค้า , ชื่อสินค้า , ราคาต่อหน่วย , จำนวนคงเหลือ”

ประเภท Attribute Simple Attribute หรือ Atomic Attribute Composite Attribute Single-value Attribute Multivalued Attribute Derived Attribute

Atomic/Simple Attribute หมายถึง แอททริบิวต์ที่ไม่มีการแยกออกเป็นแอททริบิวต์ย่อยๆ อีก เช่น รหัสนักศึกษา , เงินเดือน , เกรดเป็นต้น รหัสนักศึกษา Attribute Name เงินเดือน

Composite Attribute หมายถึง แอททริบิวต์ที่สามารถแยกออกเป็นแอททริบิวต์ย่อยออกไปอีก เช่น ที่อยู่ ประกอบด้วย บ้านเลขที่ , ถนน , ตำบล , อำเภอ , จังหวัด , รหัสไปรษณีย์ ที่อยู่ บ้านเลขที่ ถนน ตำบล อำเภอ จังหวัด รหัสไปรษณีย์ Attr. name Attribute Name

Single value Attribute หมายถึง แอททริบิวต์ที่มีค่าข้อมูลได้เพียงค่าเดียวในแต่ละ แอททริบิวต์ สำหรับแต่ละรายการข้อมูล ถ้ากำหนดให้เป็นกุญแจหลัก(Primary key) ให้ขีดเส้นใต้ทึบที่ใต้ชื่อแอททริบิวต์ Primary key Attribute Attribute Name ชื่อ รหัสนักศึกษา

Multivalued Attribute หมายถึง แอททริบิวต์ที่สามารถกำหนดค่าข้อมูลได้มากกว่า 1 ค่า สำหรับข้อมูลแต่ละรายการ เช่น พนักงานแต่ละคนสามารถมีความสามารถพิเศษได้หลายอย่าง พิมพ์ดีด ขับรถยนต์ พิมพ์ดีด ภาษาจีน คอมพิวเตอร์ สมชาย วันดี <ชื่อ Attr.> ความสามารถพิเศษ

Derived Attribute หมายถึง แอททริบิวต์ที่ค่าของแอททริบิวต์ประกอบขึ้นหรือคำนวณค่าจากค่าของแอททริบิวต์อื่น เช่น อายุ คำนวณจาก วันเกิด วันเกิด Attribute Name อายุ นักศึกษา

Entity & Attribute นักศึกษา ที่อยู่ นามสกุล วันเกิด ชื่อ อายุ โทรศัพท์ รหัสนักศึกษา ชื่อ นามสกุล ที่อยู่ บ้านเลขที่ ถนน ตำบล อำเภอ จังหวัด รหัสไปรษณีย์ วันเกิด อายุ โทรศัพท์

STUDENT Student_ID : 63812489101 Student_Name : วันดี ใจสะอาด Address : 45/2 ถ.อุดรดุษฎี ต.หมากแข้ง อ.เมือง จ.อุดรธานี 41000 Phone : 042211563 Major : เคมี Student_Name Phone Student_ID Address Major STUDENT CREATE TABLE STUDENT ( Student_ID CHAR(11) NOT NULL UNIQUE, Student_Name VARCHAR(50) , Address VARCHAR(100), Phone VARCHAR(10) , Major VARCHAR(20) , PRIMARY KEY(Student_ID) ) ; Student_ID : 63856245231 Student_Name : สมศักดิ์ ใจดี Address : 50 ถ.ทหาร ต.หมากแข้ง อ.เมือง จ.อุดรธานี 41000 Phone : 042244121 Major : คอมพิวเตอร์

Relationship ความสัมพันธ์ หมายถึง ความสัมพันธ์ที่เชื่อมโยงระหว่างแต่ละเอนทิตี้ ตามเงื่อนไขของระบบงาน เช่นเอนทิตี้ “อาจารย์” และเอนทิตี้ “นักศึกษา” มีความสัมพันธ์กันชื่อ “เป็นที่ปรึกษา”

Relationship สัญลักษณ์แทน ความสัมพันธ์ Relationship Name แสดงความสัมพันธ์ระหว่างเอนทิตี้ที่มีความสัมพันธ์กันแบบปกติ แสดงความสัมพันธ์ระหว่างเอนทิตี้แบบอ่อนกับเอนทิตี้อื่น (Owner Entity) ที่มีความสัมพันธ์กันแบบเชิงปรากฏและเชิงระบุ เรียกความสัมพันธ์นี้ว่า Identifying Relationship Relationship Name

Relationship R1 A B R2 B C R3 A C R4 C D

Degree of Relationship หมายถึง จำนวนของเอนทิตี้ในการมีส่วนร่วม(Participating)กับความสัมพันธ์ใด ๆ มีความเป็นไปได้ 4 แบบ ดังนี้ Unary Degree Binary Degree Ternary Quaternary

Degree of Relationship : Unary Relationship เป็นความสัมพันธ์เกิดขึ้นกับเอนทิตี้ 1เอนทิตี้ โดยสมาชิกในเอนทิตี้มีความสัมพันธ์ระหว่างกันเอง (recursive) R1 A แต่งงาน บุคลากร สามี ภรรยา บังคับเรียนก่อน วิชาเรียน วิชาบังคับ

Degree of Relationship : Binary Relationship เป็นความสัมพันธ์ระหว่างสองเอนทิตี้ R1 A B เป็นที่ปรึกษา อาจารย์ นักศึกษา สอน อาจารย์ นักศึกษา

Degree of Relationship : Binary Relationship สังกัด นักศึกษา คณะวิชา ลงทะเบียน นักศึกษา วิชาเรียน

Degree of Relationship : Ternary Relationship เป็นความสัมพันธ์ระหว่างเอนทิตี้ 3 เอนทิตี้ R1 A B C

Degree of Relationship : Ternary Relationship กำหนดให้ พนักงาน ทักษะ โครงการ

Degree of Relationship : Ternary Relationship Ternary Degree ใช้ อุปกรณ์ ผู้ผลิต โครงการ

Cardinality Constraints หมายถึง การระบุจำนวนสมาชิกของเอนทิตี้ที่มาสัมพันธ์กันในแต่ละความสัมพันธ์ ประกอบด้วย ความสัมพันธ์แบบ หนึ่งต่อหนึ่ง(One-to-One Relationship) ความสัมพันธ์แบบ หนึ่งต่อกลุ่ม(One-to-Many Relationship) ความสัมพันธ์แบบ กลุ่มต่อกลุ่ม(Many-to-Many Relationship)

1 : 1 Relationship เป็นการแสดงความสัมพันธ์ระหว่างข้อมูลของเอนทิตี้หนึ่งกับข้อมูลของอีกเอนทิตี้หนึ่งเพียง 1 รายการเท่านั้น ตัวอย่างเช่น อาจารย์ 1 คน เป็นคณบดีได้ 1 คณะ ในขณะที่ คณะวิชาแต่ละคณะมีคณบดี ได้ 1 คน/คณะ พนักงาน 1 คนมีที่จอดรถเพียง 1 ที่ และที่จอดรถแต่ละที่สามารถจอดรถโดยพนักงาน 1 คนเท่านั้น พนักงาน 1 คนเป็นผู้จัดการแผนกได้ 1 แผนกและแต่ละแผนกก็มีผู้จัดการได้เพียง 1 คน

1 : 1 Relationship สัญลักษณ์แบบ Chen สัญลักษณ์แบบ Crow’s Foot 1 1 A R1 B สัญลักษณ์แบบ Crow’s Foot A R1 B

1 : 1 Relationship อาจารย์ คณะวิชา ชื่อ นามสกุล รหัสคณะ ชื่อคณะ รหัสอาจารย์ 1 1 1 อาจารย์ เป็นคณบดี คณะวิชา รหัส ชื่อ นามสกุล รหัส ชื่อคณะ T1 เรวดี พิพัฒน์สูงเนิน F1 วิทยาศาสตร์ T2 คุณาวุฒิ บุญกว้าง F2 บริหารธุรกิจ T3 นิพล สังสุทธิ F3 วิศวกรรมศาสตร์ T4 อารีรัตน์ วุฒิเสน F4 ศิลปกรรมศาสตร์ T5 ปัจจัย พวงสุวรรณ F5 เกษตรศาสตร์ อาจารย์ คณะวิชา

1 : 1 Relationship บุคลากร แต่งงาน 1 สมชาย สมศรี สมจิต 1 สมใจ สมหวัง สมศักดิ์

1 : N Relationship เป็นการแสดงความสัมพันธ์ของข้อมูลเอนทิตี้หนึ่งว่ามีความสัมพันธ์กับข้อมูลของอีกเอนทิตี้หนึ่งมากกว่า 1 รายการ ตัวอย่างเช่น อาจารย์ 1 คน เป็นอาจารย์ที่ปรึกษาให้กับนักศึกษาได้หลายคน ในขณะที่นักศึกษาแต่ละคนมีอาจารย์ที่ปรึกษาเพียง 1 คน แผนก 1 แผนกมีพนักงานสังกัดได้หลายคน ในขณะที่พนักงานแต่ละคนสามารถสังกัดแผนกได้เพียง 1 แผนก

1 : N Relationship สัญลักษณ์แบบ Chen สัญลักษณ์แบบ Crow’s Foot 1 N A R1 B สัญลักษณ์แบบ Crow’s Foot A R1 B

1 : N Relationship อาจารย์ นักศึกษา อาจารย์ นักศึกษา ชื่อ นามสกุล ชื่อ โปรแกรมวิชา รหัสอาจารย์ รหัสนักศึกษา นามสกุล 1 1 N อาจารย์ เป็นที่ปรึกษา นักศึกษา รหัส ชื่อ นามสกุล รหัส ชื่อ นามสกุล โปรแกรมวิชา T1 เรวดี ทองอ่อน s1 วนิดา สุขสันต์ คอมพิวเตอร์ T2 พนารัตน์ ศรีเชษฐา s2 สมชาย รักดี โยธา T3 นิพล สังสุทธิ s3 จริงใจ รักชีพ คอมพิวเตอร์ T4 อารีรัตน์ บุญทอง s4 สถาพร ช่วงโชติ สัตวบาล T5 ปัจจัย พวงสุวรรณ s5 จิราพร แก้วมณี โยธา S6 ลินดา ใจอ่อน โยธา อาจารย์ S7 ชาติชาย ปานพุ่ม คอมพิวเตอร์ นักศึกษา

1 : N Relationship คณะวิชา นักศึกษา นักศึกษา สังกัด คณะวิชา ชื่อ นามสกุล รหัสคณะ ชื่อคณะ รหัสนักศึกษา โปรแกรมวิชา N 1 นักศึกษา สังกัด คณะวิชา รหัส ชื่อ นามสกุล โปรแกรมวิชา รหัส ชื่อคณะ s1 วนิดา สุขสันต์ คอมพิวเตอร์ F1 วิทยาศาสตร์ s2 สมชาย รักดี โยธา F2 บริหารธุรกิจ s3 จริงใจ รักชีพ คอมพิวเตอร์ F3 วิศวกรรมศาสตร์ s4 สถาพร ช่วงโชติ สัตวบาล F4 ศิลปกรรมศาสตร์ s5 จิราพร แก้วมณี โยธา F5 เกษตรศาสตร์ S6 ลินดา ใจอ่อน โยธา คณะวิชา S7 ชาติชาย ปานพุ่ม คอมพิวเตอร์ นักศึกษา

M : N Relationship เป็นการแสดงความสัมพันธ์ของข้อมูลระหว่างเอนทิตี้แบบกลุ่มต่อกลุ่ม ตัวอย่างเช่น นักศึกษา 1 คนสามารถลงทะเบียนเรียนได้หลายวิชา ในขณะที่แต่ละวิชาก็สามารถมีนักศึกษามาลงทะเบียนเรียนได้หลายคน

M : N Relationship สัญลักษณ์แบบ Chen สัญลักษณ์แบบ Crow’s Foot M N A R1 B สัญลักษณ์แบบ Crow’s Foot A R1 B

M : N Relationship วิชาเรียน นักศึกษา นักศึกษา ลงทะเบียน วิชาเรียน ชื่อ นามสกุล รหัสวิชา ชื่อวิชา รหัสนักศึกษา โปรแกรมวิชา หน่วยกิต M N นักศึกษา ลงทะเบียน วิชาเรียน รหัส ชื่อ นามสกุล โปรแกรมวิชา รหัส ชื่อวิชา หน่วยกิต s1 วนิดา สุขสันต์ คอมพิวเตอร์ Su1 ฐานข้อมูล 3 s2 สมชาย รักดี โยธา Su2 สื่อสารข้อมูล 3 s3 จริงใจ รักชีพ คอมพิวเตอร์ Su3 แคลคูลัส 3 s4 สถาพร ช่วงโชติ สัตวบาล Su4 บัญชี1 3 s5 จิราพร แก้วมณี โยธา Su5 อังกฤษ1 2 S6 ลินดา ใจอ่อน โยธา วิชาเรียน S7 ชาติชาย ปานพุ่ม คอมพิวเตอร์ นักศึกษา

M : N Relationship วิชาเรียน การเขียนโปรแกรม 1 M ฐานข้อมูลเบื้องต้น บังคับเรียนก่อน วิชาเรียน ระบบการจัดการฐานข้อมูล N เครือข่ายคอมพิวเตอร์ การวิเคราะห์และออกแบบระบบ เครือข่ายไร้สาย

Participation Constraints หมายถึง ข้อกำหนดในการมีส่วนรวมในความสัมพันธ์ของสมาชิกในเอนทิตี้ ประกอบด้วย 2 ข้อกำหนด คือ การมีส่วนร่วมแบบทั้งหมด(Total Participation หรือ Mandatory) การมีส่วนร่วมแบบบางส่วน(Partial Participation หรือ Optional)

Total Participation หมายถึง ทุกรายการในเอนทิตี้ A ต้องมีความสัมพันธ์แบบ R1 กับสมาชิกเอนทิตี้ B เสมอ 1 N A R1 B A R1 B

Total Participation นักศึกษาทุกคนต้องสังกัดคณะวิชาได้คนละ 1 คณะ และแต่ละคณะต้องมีนักศึกษามาสังกัดอย่างน้อย 1 คนหรือหลายคน ชื่อ นามสกุล รหัสคณะ ชื่อคณะ รหัสนักศึกษา โปรแกรมวิชา N 1 นักศึกษา สังกัด คณะวิชา รหัส ชื่อ นามสกุล โปรแกรมวิชา รหัส ชื่อคณะ s1 วนิดา สุขสันต์ คอมพิวเตอร์ F1 วิทยาศาสตร์ s2 สมชาย รักดี โยธา F2 บริหารธุรกิจ s3 จริงใจ รักชีพ คอมพิวเตอร์ F3 วิศวกรรมศาสตร์ s4 สถาพร ช่วงโชติ สัตวบาล F4 ศิลปกรรมศาสตร์ s5 จิราพร แก้วมณี โยธา F5 เกษตรศาสตร์ S6 ลินดา ใจอ่อน โยธา คณะวิชา S7 ชาติชาย ปานพุ่ม คอมพิวเตอร์ นักศึกษา

Partial Participation หมายถึง รายการในเอนทิตี้ A อาจจะมีความสัมพันธ์แบบ R1 กับสมาชิกเอนทิตี้ B หรือไม่ก็ได้ 1 N A R1 B A R1 B

Partial Participation นักศึกษา(บางคน) สามารถลงทะเบียนเรียนหรือไม่ลงทะเบียนก็ได้ และสามารถลงทะเบียนเรียนได้หลายวิชา แต่ละวิชาก็อนุญาตให้ลงทะเบียนได้มากกว่า 1 คน ชื่อ นามสกุล รหัสวิชา ชื่อวิชา รหัสนักศึกษา โปรแกรมวิชา หน่วยกิต M N นักศึกษา ลงทะเบียน วิชาเรียน รหัส ชื่อ นามสกุล โปรแกรมวิชา รหัส ชื่อวิชา หน่วยกิต s1 วนิดา สุขสันต์ คอมพิวเตอร์ Su1 ฐานข้อมูล 3 s2 สมชาย รักดี โยธา Su2 สื่อสารข้อมูล 3 s3 จริงใจ รักชีพ คอมพิวเตอร์ Su3 แคลคูลัส 3 s4 สถาพร ช่วงโชติ สัตวบาล Su4 บัญชี1 3 s5 จิราพร แก้วมณี โยธา Su5 อังกฤษ1 2 S6 ลินดา ใจอ่อน โยธา วิชาเรียน S7 ชาติชาย ปานพุ่ม คอมพิวเตอร์ นักศึกษา

Participation อาจารย์(บางคน) เป็นที่ปรึกษาให้แก่นักศึกษาได้หลายคน แต่ในขณะที่นักศึกษาทุกคนต้องมีอาจารย์ที่ปรึกษา 1 คน ชื่อ นามสกุล ชื่อ โปรแกรมวิชา รหัสอาจารย์ รหัสนักศึกษา นามสกุล 1 1 N อาจารย์ เป็นที่ปรึกษา นักศึกษา รหัส ชื่อ นามสกุล รหัส ชื่อ นามสกุล โปรแกรมวิชา T1 เรวดี ทองอ่อน s1 วนิดา สุขสันต์ คอมพิวเตอร์ T2 พนารัตน์ ศรีเชษฐา s2 สมชาย รักดี โยธา T3 นิพล สังสุทธิ s3 จริงใจ รักชีพ คอมพิวเตอร์ T4 อารีรัตน์ บุญทอง s4 สถาพร ช่วงโชติ สัตวบาล T5 ปัจจัย พวงสุวรรณ s5 จิราพร แก้วมณี โยธา S6 ลินดา ใจอ่อน โยธา อาจารย์ S7 ชาติชาย ปานพุ่ม คอมพิวเตอร์ นักศึกษา

ความสัมพันธ์เชิงระบุ(Identifying Relationship) 1 R1 N E2 N N R5 1 R2 E6 1 N R3 1 E3 E4 N R4 1 E5

สัญลักษณ์ E-R Model ชื่อเอนทิตี้ ชื่อเอนทิตี้ E-R Model แบบ Chen เอนทิตี้แบบปกติ ชื่อเอนทิตี้ เอนทิตี้แบบอ่อน

สัญลักษณ์ E-R Model E-R Model แบบ Chen ความสัมพันธ์แบบปกติ ความสัมพันธ์แบบ Existence Dependency

สัญลักษณ์ E-R Model E-R Model แบบ Chen แอททริบิวต์แบบ atomic attribute , single-valued attribute แอททริบิวต์แบบ multi-valued attribute แอททริบิวต์แบบ composite attribute แอททริบิวต์แบบ Derive attribute

สัญลักษณ์ E-R Model E-R Model แบบ Chen ความสัมพันธ์ของข้อมูลระหว่าง E1 กับ E2 แบบ 1:1 แบบ Partial Participation E1 E2 1 ความสัมพันธ์ของข้อมูลระหว่าง E1 กับ E2 แบบ 1:N แบบ Partial Participation E1 E2 1 N ความสัมพันธ์ของข้อมูลระหว่าง E1 กับ E2 แบบ M:N โดย E1 เป็นแบบ Partial Participation และ E2 เป็นแบบ Total Participation E1 E2 M N

สัญลักษณ์ E-R Model E-R Model แบบ Chen Generalization หรือ Specialization หากสัญลักษณ์ในวงกลมเป็น d หมายถึง disjoint แต่ถ้าสัญลักษณ์ในวงกลมเป็น o หมายถึง Nondisjoint เส้นที่ลากจาก Superclass มายังวงกลม ถ้าเป็นเส้นคู่ หมายถึง Total Participation แต่ถ้าเป็น เส้นเดี่ยว หมายถึง Partial Participation Superclass d Subclass Subclass

สัญลักษณ์ E-R Model ชื่อเอนทิตี้ E-R Model แบบ Crow’s Foot เอนทิตี้แบบปกติ ชื่อความสัมพันธ์ ความสัมพันธ์ระหว่างเอนทิตี้ปกติ ชื่อความสัมพันธ์ ความสัมพันธ์ระหว่างเอนทิตี้ปกติกับแบบอ่อน หรือแบบอ่อนกับแบบอ่อน

สัญลักษณ์ E-R Model E-R Model แบบ Crow’s Foot ชื่อเอนทิตี้ เอนทิตี้ปกติและแอททริบิวต์ แอททริบิวต์จะแสดงข้างใต้ชื่อเอนทิตี้ โดยแอททริบิวต์ที่เป็นคีย์หลักจะขีดเส้นใต้ที่ใต้ชื่อแอททริบิวต์ แอททริบิวต์ 1 แอททริบิวต์ 2 แอททริบิวต์ 3

สัญลักษณ์ E-R Model E-R Model แบบ Crow’s Foot ชื่อเอนทิตี้ เอนทิตี้แบบอ่อนและแอททริบิวต์ แอททริบิวต์จะแสดงข้างใต้ชื่อเอนทิตี้ โดยแอททริบิวต์ที่เป็นคีย์ร่วมของคีย์หลักจะขีดเส้นใต้ที่ใต้ชื่อแอททริบิวต์ แอททริบิวต์ 1 แอททริบิวต์ 2 แอททริบิวต์ 3

สัญลักษณ์ E-R Model E-R Model แบบ Crow’s Foot ความสัมพันธ์แบบ Mandatory One ความสัมพันธ์แบบ Mandatory Many ความสัมพันธ์แบบ Optional One ความสัมพันธ์แบบ Optional Many

สัญลักษณ์ E-R Model E-R Model แบบ Crow’s Foot ความสัมพันธ์ของข้อมูลระหว่าง E1 กับ E2 แบบ 1:1 แบบ Total Participation (Mandatory) ชื่อความสัมพันธ์ E1 E2 ความสัมพันธ์ของข้อมูลระหว่าง E1 กับ E2 แบบ 1:1 โดย E1 เป็นแบบ Partial Participation (Optional) และ E2 เป็นแบบ Total Participation (Mandatory) ชื่อความสัมพันธ์ E1 E2

สัญลักษณ์ E-R Model E-R Model แบบ Crow’s Foot ความสัมพันธ์ของข้อมูลระหว่าง E1 กับ E2 แบบ 1:N โดย E1 เป็นแบบ Partial Participation (Optional) ส่วน E2 เป็นแบบ Total Participation (Mandatory) ชื่อความสัมพันธ์ E1 E2 ชื่อความสัมพันธ์ ความสัมพันธ์ของข้อมูลระหว่าง E1 กับ E2 แบบ M:N แบบ Partial Participation (Optional) E1 E2

สัญลักษณ์ E-R Model E-R Model แบบ Crow’s Foot Superclass สี่เหลี่ยมใหญ่แสดง Superclass และสี่เหลี่ยมย่อยแสดง Subclass (Generalization / Specialization) Subclass Subclass

ตัวอย่าง ER แบบ Crow’s Foot วิชาเรียนสามารถมีหมู่เรียนได้หลายหมู่เรียน(หรือไม่มีหมู่เรียนก็ได้) แต่ในขณะที่แต่ละหมู่เรียน(ทุกหมู่เรียน)จะเปิดสอนได้เพียง 1 รายวิชา วิชาเรียน รหัสวิชา ชื่อวิชา หน่วยกิต หมู่เรียน รหัสหมู่เรียน ห้องเรียน เวลาเรียน มี

เปรียบเทียบ E-R Model แผนก 1 แผนกอาจจะมีพนักงานทำงานอยู่หรือไม่ก็ได้ แต่พนักงานทุกคนต้องสังกัดแผนกเพียง 1 แผนกเท่านั้น N สังกัด 1 Chen พนักงาน แผนก สังกัด Crow’s Foot พนักงาน แผนก

เปรียบเทียบ E-R Model แผนก 1 แผนกอาจจะมีพนักงานทำงานอยู่หรือไม่ก็ได้ และพนักงานแต่ละคนจะสังกัดแผนกหรือไม่ก็ได้ แต่สังกัดได้ไม่เกิน 1 แผนก N สังกัด 1 Chen พนักงาน แผนก สังกัด Crow’s Foot พนักงาน แผนก

เปรียบเทียบ E-R Model แผนกแต่ละแผนกจะต้องมีพนักงานทำงานอยู่ และพนักงานทุกคนต้องสังกัดแผนกเพียง 1 แผนกเท่านั้น N สังกัด 1 พนักงาน แผนก Chen สังกัด Crow’s Foot พนักงาน แผนก

เปรียบเทียบ E-R Model แผนก 1 แผนกจะต้องมีพนักงานทำงานอยู่ แต่พนักงานแต่ละคนจะสังกัดแผนกหรือไม่ก็ได้ แต่สังกัดได้ไม่เกิน 1 แผนก N สังกัด 1 พนักงาน แผนก Chen สังกัด Crow’s Foot พนักงาน แผนก

ตัวอย่าง ER แบบ Crow’s Foot ประเทศสามารถมีจังหวัด/รัฐ ได้หลายจังหวัด/รัฐ (หรือไม่มีก็ได้) แต่ในขณะที่แต่ละจังหวัด/รัฐ(ทุกจังหวัด/รัฐ)จะเกิดขึ้นได้ต้องมีข้อมูลประเทศเกิดขึ้นก่อน และ 1 จังหวัด/รัฐ จะอยู่ในประเทศได้แค่ 1 ประเทศเท่านั้น รหัสจังหวัด/รัฐ ชื่อจังหวัด/รัฐ ชื่อประเทศ จำนวนประชากร รหัสประเทศ 1 N มี ประเทศ จังหวัด/รัฐ ประเทศ รหัสประเทศ ชื่อประเทศ จำนวนประชากร จังหวัด/รัฐ รหัสจังหวัด/รัฐ ชื่อจังหวัด/รัฐ มี

ตัวอย่าง ER แบบ Crow’s Foot นักศึกษาสามารถลงทะเบียนเรียนในหมู่เรียนได้คนละหลายหมู่เรียน(หรือไม่ลงทะเบียนเรียนในหมู่เรียนใดเลยก็ได้) และแต่ละหมู่เรียนก็สามารถมีนักศึกษามาลงทะเบียนเรียนได้หลายคน(หรือไม่มีนักศึกษามาลงทะเบียนเรียนเลยก็ได้) เกรด รหัสหมู่เรียน ห้องเรียน ชื่อชื่อ สาขาวิชา รหัสนักศึกษา เวลาเรียน ลงทะเบียน เรียนใน M N นักศึกษา หมู่เรียน นักศึกษา รหัสนักศึกษา ชื่อนักศึกษา สาขาวิชา หมู่เรียน รหัสหมู่เรียน ห้องเรียน เวลาเรียน ลงทะเบียนเรียนใน เกรด

ขั้นตอนการออกแบบฐานข้อมูลด้วย ER Model

ขั้นตอนในการพัฒนา ER Diagram ขั้นที่ 1 ศึกษาหน้าที่ของระบบงาน (Business Function) ว่ามีรายละเอียดของการทำงานและข้อมูลที่เกี่ยวข้องอะไรบ้าง มีข้อสมมุติฐาน(Business Rule) ของงานต่างๆ อะไรบ้าง ขั้นที่ 2 กำหนดเอนทิตี้ที่ควรจะมีในระบบงานฐานข้อมูล ขั้นที่ 3 กำหนดความสัมพันธ์ระหว่างเอนทิตี้ และข้อกำหนดต่างๆ ขั้นที่ 4 กำหนดแอททริบิวต์ให้กับแต่ละเอนทิตี้ ขั้นที่ 5 ระบุคีย์หลักของแต่ละเอนติตี้ ขั้นที่ 6 นำองค์ประกอบในขั้นที่ 2 – 5 มาแทนด้วยสัญลักษณ์

กรณีศึกษาที่ 1

ขั้นที่ 1 ศึกษาข้อกำหนดของระบบงาน บริษัทรับฝากขายบ้านแห่งหนึ่งต้องการจัดทำระบบฐานข้อมูลเพื่อจัดเก็บข้อมูลการดำเนินงานของบริษัท โดยมีรูปแบบการดำเนินงานดังนี้ บริษัทมีสำนักงานตั้งอยู่หลายแห่ง โดยในแต่ละแห่งมีตัวแทนนายหน้าทำงานประจำสำนักงานหลายคน ตัวแทนแต่ละคนจะเก็บรายการบ้านที่ต้องการฝากขายที่แต่ละคนได้รับการติดต่อให้ขาย ซึ่งบ้านที่มาฝากขายแต่ละแห่งจะถูกดูแลโดยตัวแทนคนใดคนหนึ่ง เจ้าของบ้านที่มาฝากขายแต่ละคนสามารถมาฝากขายบ้านกับบริษัทได้หลายหลัง

ขั้นที่ 1 ศึกษาข้อกำหนดของระบบงาน ข้อมูลที่จำเป็นของสำนักงานที่จัดเก็บได้แก่ รหัสสำนักงาน , ชื่อผู้จัดการสำนัก , เบอร์โทรศัพท์ , เบอร์โทรสาร และที่อยู่ ข้อมูลที่จัดเก็บเกี่ยวกับตัวแทนได้แก่ รหัสตัวแทน , ชื่อ และเบอร์โทรศัพท์ ข้อมูลที่จัดเก็บเกี่ยวกับบ้านได้แก่ รหัสบ้าน , ที่ตั้ง(บ้านเลขที่ , ถนน,ตำบล,อำเภอ,จังหวัด,รหัสไปรษณีย์),จำนวนห้องนอน , จำนวนห้องน้ำ,พื้นที่ , คอมมิสชัน,ราคาขาย ข้อมูลที่จัดเก็บเกี่ยวกับเจ้าของบ้าน ได้แก่ รหัสประจำตัว,ชื่อ,นามสกุล,โทรศัพท์

ขั้นที่ 2 กำหนดเอนทิตี้ สำนักงาน ตัวแทน เจ้าของบ้าน บ้าน

ขั้นที่ 3 กำหนดความสัมพันธ์ บริษัทมีสำนักงานตั้งอยู่หลายแห่ง โดยในแต่ละแห่งมีตัวแทนนายหน้าทำงานประจำสำนักงานหลายคน 1 ทำงาน ประจำ N สำนักงาน ตัวแทน เจ้าของบ้าน บ้าน

ขั้นที่ 3 กำหนดความสัมพันธ์ ตัวแทนแต่ละคนจะเก็บรายการบ้านที่ต้องการฝากขายที่แต่ละคนได้รับการติดต่อให้ขาย ซึ่งบ้านที่มาฝากขายแต่ละแห่งจะถูกดูแลโดยตัวแทนคนใดคนหนึ่ง 1 ทำงาน ประจำ N สำนักงาน ตัวแทน 1 เก็บรายการ N เจ้าของบ้าน บ้าน

ขั้นที่ 3 กำหนดความสัมพันธ์ เจ้าของบ้านที่มาฝากขายแต่ละคนสามารถมาฝากขายบ้านกับบริษัทได้หลายหลัง 1 ทำงาน ประจำ N สำนักงาน ตัวแทน 1 เก็บรายการ N ฝากขาย เจ้าของบ้าน 1 N บ้าน

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลที่จำเป็นของสำนักงานที่จัดเก็บได้แก่ รหัสสำนักงาน , ชื่อผู้จัดการสำนัก , เบอร์โทรศัพท์ , เบอร์โทรสาร และที่อยู่ โทรศัพท์ ชื่อผู้จัดการ ที่อยู่ โทรสาร รหัสสำนักงาน รหัสสำนักงาน สำนักงาน

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลที่จัดเก็บเกี่ยวกับตัวแทนได้แก่ รหัสตัวแทน , ชื่อ และเบอร์โทรศัพท์ ชื่อตัวแทน รหัสตัวแทน รหัสตัวแทน โทรศัพท์ ตัวแทน

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลที่จัดเก็บเกี่ยวกับบ้านได้แก่ รหัสบ้าน , ที่ตั้ง(บ้านเลขที่ , ถนน,ตำบล,อำเภอ,จังหวัด,รหัสไปรษณีย์),จำนวนห้องนอน , จำนวนห้องน้ำ,พื้นที่ , คอมมิสชัน,ราคาขาย คอมมิสชัน ราคาขาย รหัสบ้าน รหัสบ้าน บ้าน จน.ห้องนอน รหัสไปรษณีย์ พื้นที่ ที่ตั้ง จน.ห้องน้ำ จังหวัด บ้านเลขที่ อำเภอ ตำบล ถนน

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลที่จัดเก็บเกี่ยวกับเจ้าของบ้าน ได้แก่ รหัสประจำตัว,ชื่อ,นามสกุล,โทรศัพท์ นามสกุล ชื่อ เจ้าของบ้าน รหัสประจำตัว โทรศัพท์

สำนักงาน ตัวแทน เจ้าของบ้าน บ้าน โทรศัพท์ ชื่อผู้จัดการ ที่อยู่ ชื่อตัวแทน โทรสาร รหัสตัวแทน โทรศัพท์ รหัสสำนักงาน 1 ทำงาน ประจำ N สำนักงาน ตัวแทน 1 เก็บรายการ นามสกุล คอมมิสชัน ชื่อ ราคาขาย N รหัสบ้าน ฝากขาย เจ้าของบ้าน 1 N บ้าน จน.ห้องนอน รหัสไปรษณีย์ พื้นที่ ที่ตั้ง รหัสประจำตัว จน.ห้องน้ำ โทรศัพท์ จังหวัด บ้านเลขที่ อำเภอ ตำบล ถนน

ขั้นที่ 5 กำหนดกุญแจหลัก โทรศัพท์ ชื่อตัวแทน ชื่อผู้จัดการ ที่อยู่ รหัสตัวแทน รหัสตัวแทน รหัสตัวแทน โทรศัพท์ โทรสาร รหัสสำนักงาน รหัสสำนักงาน รหัสสำนักงาน ตัวแทน สำนักงาน คอมมิสชัน ราคาขาย รหัสบ้าน รหัสบ้าน รหัสบ้าน นามสกุล ชื่อ บ้าน จน.ห้องนอน เจ้าของบ้าน รหัสไปรษณีย์ พื้นที่ ที่ตั้ง จน.ห้องน้ำ จังหวัด รหัสประจำตัว รหัสประจำตัว โทรศัพท์ บ้านเลขที่ อำเภอ ตำบล ถนน

สำนักงาน ตัวแทน เจ้าของบ้าน บ้าน โทรศัพท์ ชื่อผู้จัดการ ที่อยู่ ชื่อตัวแทน โทรสาร รหัสตัวแทน โทรศัพท์ รหัสสำนักงาน 1 ทำงาน ประจำ N สำนักงาน ตัวแทน 1 เก็บรายการ นามสกุล คอมมิสชัน ชื่อ ราคาขาย N รหัสบ้าน ฝากขาย เจ้าของบ้าน 1 N บ้าน จน.ห้องนอน รหัสไปรษณีย์ พื้นที่ ที่ตั้ง รหัสประจำตัว จน.ห้องน้ำ โทรศัพท์ จังหวัด บ้านเลขที่ อำเภอ ตำบล ถนน

เพิ่มเติม จากการดำเนินการแบบเดิมที่กล่าวมา บริษัทมีการจัดเก็บข้อมูลเพิ่มเติมได้แก่ข้อมูลลูกค้า ประกอบด้วย รหัสลูกค้า , ชื่อ, ที่อยู่ , โทรศัพท์ ลูกค้าจะมีการติดต่อเพื่อขอเข้าชมบ้านที่ฝากขาย โดยสามารถเข้าชมบ้านได้หลายครั้ง หลายหลัง แต่จะอนุญาตให้เข้าชมบ้านแค่วันละหลังเท่านั้น โดยในการเข้าชมแต่ละครั้งจะมีการจัดเก็บข้อมูล วันที่เข้าชม , ความคิดเห็น , ลูกค้าที่เข้าชม , บ้านที่เข้าชม ในแต่ละวันก็จะมีลูกค้าเข้าชมบ้านแต่ละหลังได้หลายคน

สำนักงาน ตัวแทน ลูกค้า เจ้าของบ้าน บ้าน การเข้าชม โทรศัพท์ ชื่อ ชื่อผู้จัดการ ที่อยู่ ชื่อตัวแทน โทรศัพท์ โทรสาร รหัสสำนักงาน รหัสตัวแทน โทรศัพท์ รหัสลูกค้า ที่อยู่ 1 ทำงาน ประจำ สำนักงาน N ตัวแทน ลูกค้า 1 เก็บรายการ 1 นามสกุล คอมมิสชัน ชื่อ ราคาขาย เข้าชม N รหัสบ้าน ฝากขาย เจ้าของบ้าน 1 N บ้าน จน.ห้องนอน N พื้นที่ ที่ตั้ง บ้านเลขที่ จน.ห้องน้ำ รหัสประจำตัว โทรศัพท์ การเข้าชม ถนน จังหวัด 1 ตำบล อำเภอ รหัสไปรษณีย์ N เข้าชมบ้าน ความคิดเห็น วันที่

กรณีศึกษาที่ 2

ขั้นที่ 1 ศึกษาข้อกำหนดของระบบงาน บริษัท R.T. Trading Co.Ltd. เป็นบริษัทค้าส่งรายใหญ่ ต้องการพัฒนาระบบงานฐานข้อมูลเพื่อจัดเก็บข้อมูล โดยระบบงานที่สร้างขึ้นต้องสามารถรองรับการทำงานด้านต่างๆ ของบริษัท โดยมีขอบเขตของกาจัดเก็บข้อมูลของบริษัทมีการจัดเก็บข้อมูลเกี่ยวกับ แผนกการทำงานของบริษัท , พนักงาน , ลูกค้าของบริษัท , สินค้าที่นำมาจำหน่าย , ผู้ผลิตสินค้า, การสั่งซื้อสินค้าเข้ามาจำหน่ายและการออกใบเสร็จให้กับลูกค้า โดยมีรายละเอียดในการจัดเก็บข้อมูลดังนี้

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

ขั้นที่ 1 ศึกษาข้อกำหนดของระบบงาน ข้อมูลลูกค้า ประกอบด้วย รหัสลูกค้าที่ไม่ซ้ำกัน , ชื่อลูกค้า(คำนำชื่อ , ชื่อ , นามสกุล) , ที่อยู่(บ้านเลขที่ , ถนน , อำเภอ/เมือง , จังหวัด/รัฐ , รหัสไปรษณีย์) , เบอร์โทรศัพท์(บ้าน , มือถือ) , E-Mail Address ข้อมูลสินค้า ประกอบด้วย รหัสสินค้าที่ไม่ซ้ำกัน , ชื่อสินค้า , ราคา , จำนวนคงเหลือ , ระดับคงสต็อก

ขั้นที่ 1 ศึกษาข้อกำหนดของระบบงาน ข้อมูลผู้ผลิตสินค้า ประกอบด้วย รหัสผู้ผลิตที่ไม่ซ้ำกัน , ชื่อบริษัท , เบอร์โทรศัพท์ติดต่อ , E-Mail Address ,ที่อยู่(เลขที่ , ถนน , อำเภอ/เมือง , จังหวัด/รัฐ , รหัสไปรษณีย์) ข้อมูลใบสั่งซื้อสินค้าของบริษัท ประกอบด้วย หมายเลขใบสั่งซื้อที่ไม่ซ้ำกัน , วันที่สั่งซื้อ ,ยอดรวมทั้งหมด(คำนวณจากรายการที่สั่งทั้งหมดได้) ข้อมูลใบเสร็จรับเงินของลูกค้า ประกอบด้วย หมายเลขใบเสร็จที่ไม่ซ้ำกัน , วันที่ออกใบเสร็จ , ยอดรวมทั้งหมด(คำนวณจากรายการที่สั่งทั้งหมดได้)

ขั้นที่ 1 ศึกษาข้อกำหนดของระบบงาน ข้อกำหนดการทำงานของบริษัท(Business rule) มีลักษณะดังนี้ การทำงานของบริษัท พนักงาน แต่ละคนต้องสังกัดแผนกใดแผนกหนึ่ง เพียงแค่ 1 แผนกเท่านั้น ซึ่งในทุก ๆ แผนกก็ต้องมีพนักงานที่สังกัดอย่างน้อย 1 คน การบริหารงานของแผนก จะมีพนักงานบางคนที่ถูกแต่งตั้งให้ดำรงตำแหน่งผู้จัดการแผนก โดยแต่ละแผนกจะมีผู้จัดการแผนกละ 1 คน ไม่ซ้ำคนกันในแต่ละแผนก และเก็บข้อมูลวันที่รับตำแหน่ง

ขั้นที่ 1 ศึกษาข้อกำหนดของระบบงาน การบริหารงานของพนักงาน จะมีการแบ่งสายงานของพนักงานออกเป็นกลุ่มงาน โดยจะมีพนักงานบางคนถูกคัดเลือกให้ทำหน้าที่เป็นหัวหน้าสายงานที่ดูแลพนักงานในสายงานของตนเอง ทำให้ทราบว่าพนักงานแต่ละคนมีใครเป็นหัวหน้าสายงานของตนเอง ในการนำสินค้าเข้ามาขายของบริษัท บริษัทจะสั่งซื้อสินค้าจากผู้ผลิตเข้ามาขาย ในการสั่งซื้อแต่ละครั้งจะสั่งจากผู้ผลิต 1 ราย แต่สามารถสั่งซื้อสินค้าเข้ามาได้หลายรายการ โดยระบุจำนวนที่สั่งในแต่ละครั้งที่สั่งซื้อ

ขั้นที่ 1 ศึกษาข้อกำหนดของระบบงาน ในการขายสินค้าให้กับลูกค้า บริษัทจะออกใบเสร็จรับเงินเพื่อยืนยันการขาย โดยใน 1ใบเสร็จสามารถระบุรายการสินค้าที่ซื้อได้หลายรายการ และระบุจำนวนที่ซื้อแต่ละรายการ ราคารวม (คำนวณจากราคาสินค้าได้) ตัวอย่างใบเสร็จรับเงินดังรูปที่ 3.1 ในการออกใบเสร็จรับเงินจะมีพนักงานเป็นผู้ยืนยันการขายในแต่ละครั้งด้วยเสมอ

ตัวอย่างใบเสร็จรับเงิน เลขที่ใบสั่งซื้อ........................... วันที่ออก....................... ชื่อลูกค้า ……………………………........... ที่อยู่.................................................................................. รหัสสินค้า ชื่อสินค้า จำนวน ราคา รวมมูลค่า ภาษีมูลค่าเพิ่ม(VAT) รวมการสั่งซื้อ ผู้ออกใบเสร็จ........................

ขั้นที่ 2 กำหนดเอนทิตี้ แผนก ใบสั่งซื้อ พนักงาน สินค้า ผู้ผลิต ใบเสร็จรับเงิน ลูกค้า

ขั้นที่ 3 กำหนดความสัมพันธ์ การทำงานของบริษัท พนักงาน แต่ละคนต้องสังกัดแผนกใดแผนกหนึ่ง เพียงแค่ 1 แผนกเท่านั้น ซึ่งในทุก ๆ แผนกก็ต้องมีพนักงานที่สังกัดอย่างน้อย 1 คน N 1 พนักงาน แผนก สังกัด

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

ขั้นที่ 3 กำหนดความสัมพันธ์ การบริหารงานของพนักงาน จะมีการแบ่งสายงานของพนักงานออกเป็นกลุ่มงาน โดยจะมีพนักงานบางคนถูกคัดเลือกให้ทำหน้าที่เป็นหัวหน้าสายงานที่ดูแลพนักงานในสายงานของตนเอง ทำให้ทราบว่าพนักงานแต่ละคนมีใครเป็นหัวหน้าสายงานของตนเอง พนักงาน หัวหน้า ลูกทีม 1 N ดูแล

ขั้นที่ 3 กำหนดความสัมพันธ์ ในการนำสินค้าเข้ามาขายของบริษัท บริษัทจะสั่งซื้อสินค้าจากผู้ผลิตเข้ามาขาย ในการสั่งซื้อแต่ละครั้งจะสั่งจากผู้ผลิต 1 ราย แต่สามารถสั่งซื้อสินค้าเข้ามาได้หลายรายการ โดยระบุจำนวนที่สั่งในแต่ละครั้งที่สั่งซื้อ 1 N ผู้ผลิต ใบสั่งซื้อ สั่งซื้อกับ N มีรายการ สั่งซื้อ M จำนวนที่สั่งซื้อ สินค้า

ขั้นที่ 3 กำหนดความสัมพันธ์ ในการขายสินค้าให้กับลูกค้า บริษัทจะออกใบเสร็จรับเงินเพื่อยืนยันการขาย โดยใน 1ใบเสร็จสามารถระบุรายการสินค้าที่ซื้อได้หลายรายการ และระบุจำนวนที่ซื้อแต่ละรายการ ราคารวม (คำนวณจากราคาสินค้าได้) 1 N ลูกค้า ใบเสร็จ ได้รับ N มีรายการซื้อ M จำนวนที่ซื้อ สินค้า ราคารวม

ขั้นที่ 3 กำหนดความสัมพันธ์ ในการออกใบเสร็จรับเงินจะมีพนักงานเป็นผู้ยืนยันการขายในแต่ละครั้งด้วยเสมอ 1 N พนักงาน ออกโดย ใบเสร็จ

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลแผนกการทำงาน ประกอบด้วยข้อมูล รหัสแผนกที่ไม่ซ้ำกัน , ชื่อแผนก , เบอร์โทรศัพท์ติดต่อ ซึ่งสามารถมีได้หลายเบอร์ ชื่อแผนก รหัสแผนก โทรศัพท์ แผนก

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลพนักงาน ประกอบด้วย รหัสพนักงานที่ไม่ซ้ำกัน , ชื่อพนักงาน(คำนำชื่อ , ชื่อ , นามสกุล) , ตำแหน่งงาน , เงินเดือน , เบอร์โทรศัพท์ , วันเกิด , อายุ(คำนวณจากวันเกิดได้) นามสกุล ชื่อ คำนำชื่อ ตำแหน่งงาน ชื่อพนักงาน เงินเดือน เบอร์โทรศัพท์ พนักงาน รหัสพนักงาน วันเกิด อายุ

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลลูกค้า ประกอบด้วย รหัสลูกค้าที่ไม่ซ้ำกัน , ชื่อลูกค้า(คำนำชื่อ , ชื่อ , นามสกุล) , ที่อยู่(บ้านเลขที่ , ถนน , อำเภอ/เมือง , จังหวัด/รัฐ , รหัสไปรษณีย์) , เบอร์โทรศัพท์(บ้าน , มือถือ) , E-Mail Address ถนน นามสกุล ชื่อ บ้านเลขที่ อำเภอ คำนำชื่อ อีเมลล์ จังหวัด ชื่อลูกค้า ที่อยู่ รหัสไปรษณีย์ ลูกค้า รหัสลูกค้า เบอร์บ้าน เบอร์โทรศัพท์ เบอร์มือถือ

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลสินค้า ประกอบด้วย รหัสสินค้าที่ไม่ซ้ำกัน , ชื่อสินค้า , ราคา , จำนวนคงเหลือ , ระดับคงสต๊อก ชื่อสินค้า รหัสสินค้า ราคา จำนวนคงเหลือ สินค้า ระดับคงสต๊อก

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลผู้ผลิตสินค้า ประกอบด้วย รหัสผู้ผลิตที่ไม่ซ้ำกัน , ชื่อบริษัท , เบอร์โทรศัพท์ติดต่อ , E-Mail Address ,ที่อยู่(เลขที่ , ถนน , อำเภอ/เมือง , จังหวัด/รัฐ , รหัสไปรษณีย์) ถนน เบอร์โทรศัพท์ บ้านเลขที่ อำเภอ อีเมลล์ จังหวัด ชื่อบริษัท ที่อยู่ รหัสไปรษณีย์ ผู้ผลิต รหัสผู้ผลิต

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลใบสั่งซื้อสินค้าของบริษัท ประกอบด้วย หมายเลขใบสั่งซื้อที่ไม่ซ้ำกัน , วันที่สั่งซื้อ ,ยอดรวมทั้งหมด(คำนวณจากรายการที่สั่งทั้งหมดได้) วันที่สั่งซื้อ ยอดรวมทั้งหมด หมายเลขใบสั่งซื้อ ใบสั่งซื้อ

ขั้นที่ 4 กำหนดแอททริบิวต์ ข้อมูลใบเสร็จรับเงินของลูกค้า ประกอบด้วย หมายเลขใบเสร็จที่ไม่ซ้ำกัน , วันที่ออกใบเสร็จ , ยอดรวมทั้งหมด(คำนวณจากรายการที่สั่งทั้งหมดได้) วันที่ออกใบเสร็จ ยอดรวมทั้งหมด หมายเลขใบเสร็จ ใบเสร็จ

ขั้นที่ 5 กำหนดคีย์หลัก ข้อมูลแผนกการทำงาน ประกอบด้วยข้อมูล รหัสแผนกที่ไม่ซ้ำกัน , ชื่อแผนก , เบอร์โทรศัพท์ติดต่อ ซึ่งสามารถมีได้หลายเบอร์ ชื่อแผนก รหัสแผนก รหัสแผนก โทรศัพท์ แผนก

ขั้นที่ 5 กำหนดคีย์หลัก ข้อมูลพนักงาน ประกอบด้วย รหัสพนักงานที่ไม่ซ้ำกัน , ชื่อพนักงาน(คำนำชื่อ , ชื่อ , นามสกุล) , ตำแหน่งงาน , เงินเดือน , เบอร์โทรศัพท์ , วันเกิด , อายุ(คำนวณจากวันเกิดได้) , วันที่รับตำแหน่ง นามสกุล ชื่อ คำนำชื่อ ตำแหน่งงาน ชื่อพนักงาน เงินเดือน เบอร์โทรศัพท์ พนักงาน รหัสพนักงาน รหัสพนักงาน วันเกิด อายุ

ขั้นที่ 5 กำหนดคีย์หลัก ข้อมูลลูกค้า ประกอบด้วย รหัสลูกค้าที่ไม่ซ้ำกัน , ชื่อลูกค้า(คำนำชื่อ , ชื่อ , นามสกุล) , ที่อยู่(บ้านเลขที่ , ถนน , อำเภอ/เมือง , จังหวัด/รัฐ , รหัสไปรษณีย์) , เบอร์โทรศัพท์(บ้าน , มือถือ) , E-Mail Address ถนน นามสกุล ชื่อ บ้านเลขที่ อำเภอ คำนำชื่อ อีเมลล์ จังหวัด ชื่อลูกค้า ที่อยู่ รหัสไปรษณีย์ ลูกค้า รหัสลูกค้า รหัสลูกค้า เบอร์บ้าน เบอร์โทรศัพท์ เบอร์มือถือ

ขั้นที่ 5 กำหนดคีย์หลัก ข้อมูลสินค้า ประกอบด้วย รหัสสินค้าที่ไม่ซ้ำกัน , ชื่อสินค้า , ราคา , จำนวนคงเหลือ , ระดับคงสต๊อก ชื่อสินค้า รหัสสินค้า รหัสสินค้า ราคา จำนวนคงเหลือ สินค้า ระดับคงสต๊อก

ขั้นที่ 5 กำหนดคีย์หลัก ข้อมูลผู้ผลิตสินค้า ประกอบด้วย รหัสผู้ผลิตที่ไม่ซ้ำกัน , ชื่อบริษัท , เบอร์โทรศัพท์ติดต่อ , E-Mail Address ,ที่อยู่(เลขที่ , ถนน , อำเภอ/เมือง , จังหวัด/รัฐ , รหัสไปรษณีย์) ถนน เบอร์โทรศัพท์ บ้านเลขที่ อำเภอ อีเมลล์ จังหวัด ชื่อบริษัท ที่อยู่ รหัสไปรษณีย์ ผู้ผลิต รหัสผู้ผลิต รหัสผู้ผลิต

ขั้นที่ 5 กำหนดคีย์หลัก ข้อมูลใบสั่งซื้อสินค้าของบริษัท ประกอบด้วย หมายเลขใบสั่งซื้อที่ไม่ซ้ำกัน , วันที่สั่งซื้อ ,ยอดรวมทั้งหมด(คำนวณจากรายการที่สั่งทั้งหมดได้) วันที่สั่งซื้อ วันที่สั่งซื้อ ยอดรวมทั้งหมด ยอดรวมทั้งหมด หมายเลขใบสั่งซื้อ หมายเลขใบสั่งซื้อ ใบสั่งซื้อ

ขั้นที่ 5 กำหนดคีย์หลัก ข้อมูลใบเสร็จรับเงินของลูกค้า ประกอบด้วย หมายเลขใบเสร็จที่ไม้ซ้ำกัน , วันที่ออกใบเสร็จ , ยอดรวมทั้งหมด(คำนวณจากรายการที่สั่งทั้งหมดได้) วันที่ออกใบเสร็จ ยอดรวมทั้งหมด หมายเลขใบเสร็จ หมายเลขใบเสร็จ ใบเสร็จ

ผู้ผลิต พนักงาน ใบสั่งซื้อ แผนก สินค้า ลูกค้า ใบเสร็จ ถนน ชื่อบริษัท บ้านเลขที่ ดูแล รหัสผู้ผลิต อำเภอ หัวหน้า ลูกทีม ที่อยู่ 1 N ผู้ผลิต เบอร์โทรศัพท์ จังหวัด รหัสพนักงาน คำนำชื่อ ชื่อ เบอร์โทรศัพท์ 1 รหัสไปรษณีย์ พนักงาน อีเมลล์ ตำแหน่งงาน ชื่อพนักงาน สั่งซื้อกับ นามสกุล เงินเดือน 1 วันเกิด N หมายเลขใบสั่งซื้อ วันที่สั่งซื้อ N สังกัด บริหาร อายุ 1 ใบสั่งซื้อ ยอดรวมทั้งหมด 1 1 วันที่รับตำแหน่ง M รหัสแผนก แผนก มีรายการสั่งซื้อ ออกโดย จำนวนที่สั่งซื้อ ชื่อแผนก ถนน รหัสสินค้า โทรศัพท์ N บ้านเลขที่ ราคา อำเภอ สินค้า นามสกุล อีเมลล์ N จังหวัด ชื่อ ระดับคงสต๊อก ชื่อสินค้า ชื่อลูกค้า ที่อยู่ คำนำชื่อ รหัสไปรษณีย์ N จำนวนคงเหลือ มีรายการซื้อ M 1 ลูกค้า N ได้รับ ใบเสร็จ เบอร์โทรศัพท์ จำนวนที่ซื้อ ยอดรวมทั้งหมด รหัสลูกค้า เบอร์บ้าน หมายเลขใบเสร็จ วันที่ออกใบเสร็จ เบอร์มือถือ

ใบสั่งซื้อ ผู้ผลิต สินค้า ใบเสร็จ ลูกค้า พนักงาน แผนก สั่งซื้อกับ N ใบสั่งซื้อ รหัสผู้ผลิต ผู้ผลิต ชื่อบริษัท เบอร์โทรศัพท์ อีเมลล์ ที่อยู่ บ้านเลขที่ ถนน อำเภอ จังหวัด รหัสไปรษณีย์ 1 หมายเลขใบสั่งซื้อ วันที่สั่งซื้อ ยอดรวมทั้งหมด มีรายการสั่งซื้อ M สินค้า ชื่อสินค้า ราคา จำนวนคงเหลือ ระดับคงสต๊อก รหัสสินค้า มีรายการซื้อ จำนวนที่สั่งซื้อ ใบเสร็จ วันที่ออกใบเสร็จ หมายเลขใบเสร็จ จำนวนที่ซื้อ ลูกค้า ชื่อลูกค้า คำนำชื่อ ชื่อ นามสกุล เบอร์บ้าน เบอร์มือถือ รหัสลูกค้า ได้รับ พนักงาน รหัสพนักงาน ชื่อพนักงาน ตำแหน่งงาน เงินเดือน วันเกิด อายุ แผนก ออกโดย สังกัด บริหาร วันที่รับตำแหน่ง ดูแล หัวหน้า ลูกทีม รหัสแผนก ชื่อแผนก โทรศัพท์

กรณีศึกษาที่ 3

Business Rule ร้านขายหนังสือผ่านระบบอินเทอร์เน็ตมีขอบเขตการจัดเก็บข้อมูลของระบบงานดังนี้ ข้อมูลประเภทหนังสือ ข้อมูลที่จัดเก็บประกอบด้วย รหัสประเภทหนังสือ , ชื่อประเภท ข้อมูลหนังสือแต่ละรายการ ข้อมูลที่จัดเก็บประกอบด้วย รหัสISBN , ชื่อเรื่องหนังสือ , ราคา , ปีที่ผลิต , ครั้งที่พิมพ์ , รูปภาพ ข้อมูลผู้แต่งหนังสือ ข้อมูลที่จัดเก็บประกอบด้วย รหัสผู้แต่ง , ชื่อผู้แต่ง , อีเมลล์ของผู้แต่ง ข้อมูลสำนักพิมพ์ ข้อมูลที่จัดเก็บประกอบด้วย รหัสสำนักพิมพ์ , ที่อยู่ , โทรศัพท์ , เว็บไซต์ , อีเมลล์ ข้อมูลลูกค้าที่เข้ามาซื้อหนังสือในเว็บไซต์ของร้านจะต้องมีการลงทะเบียนเพื่อเป็นสมาชิกของร้านก่อนจึงจะสามารถสั่งซื้อหนังสือในร้านได้ โดยข้อมูลที่จัดเก็บในการลงทะเบียนประกอบด้วย รหัสลูกค้า , ชื่อ , อีเมลล์ , ที่อยู่(ประกอบด้วย บ้านเลขที่ , ถนน , ตำบล , อำเภอ , จังหวัด , รหัสไปรษณีย์) , โทรศัพท์ , ชื่อเข้าใช้ระบบ , รหัสผ่าน ข้อมูลการสั่งซื้อ ข้อมูลที่จัดเก็บประกอบด้วย รหัสการสั่งซื้อ , วันที่สั่งซื้อ , วันที่ส่งสินค้า , ยอดรวม(คำนวณจากราคารวมของหนังสือแต่ละรายการในใบสั่งซื้อ) , ภาษีมูลค่าเพิ่ม(คำนวณร้อยละ 7 จากยอดซื้อ)

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

กำหนด Entity ของระบบงาน ผู้แต่ง หนังสือ ประเภทหนังสือ สำนักพิมพ์ การสั่งซื้อ ลูกค้า

กำหนดความสัมพันธ์ของแต่ละเอนทิตี้ หนังสือแต่ละรายการจัดอยู่ในประเภทหนังสือประเภทใดประเภทหนึ่งเท่านั้น ประเภทหนังสือแต่ละประเภทมีหนังสือจัดอยู่ในประเภทนั้นได้หลายรายการ หนังสือ N จัดแบ่งเป็น 1 ประเภทหนังสือ

กำหนดความสัมพันธ์ของแต่ละเอนทิตี้ หนังสือแต่ละรายการจะถูกจัดพิมพ์จากสำนักพิมพ์ใดสำนักพิมพ์หนึ่งเท่านั้น สำนัพิมพ์แต่ละแห่งสามารถจัดพิมพ์หนังสือได้หลายรายการ หนังสือ N จัดแบ่งเป็น 1 ประเภทหนังสือ N จัดพิมพ์ 1 สำนักพิมพ์

กำหนดความสัมพันธ์ของแต่ละเอนทิตี้ หนังสือบางเล่มอาจมีผู้แต่งแต่งหนังสือร่วมกันหลายคน และผู้แต่งแต่ละคนก็อาจจะแต่งหนังสือได้หลายเล่ม ผู้แต่ง M แต่ง N หนังสือ N จัดแบ่งเป็น 1 ประเภทหนังสือ N จัดพิมพ์ 1 สำนักพิมพ์

กำหนดความสัมพันธ์ของแต่ละเอนทิตี้ ลูกค้าแต่ละคนสามารถมีการสั่งซื้อหนังสือได้หลายครั้ง ผู้แต่ง M แต่ง N หนังสือ N จัดแบ่งเป็น 1 ประเภทหนังสือ N จัดพิมพ์ 1 สำนักพิมพ์ การสั่งซื้อ N สั่งซื้อ 1 ลูกค้า

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

กำหนดแอททริบิวต์ของแต่ละเอนทิตี้ ครั้งที่พิมพ์ รูปภาพ ปีที่พิมพ์ ชื่อผู้แต่ง ชื่อหนังสือ รหัสประเภทหนังสือ ชื่อประเภท อีเมลล์ รหัสผู้แต่ง ราคา รหัสISBN ผู้แต่ง M แต่ง N หนังสือ N จัดแบ่งเป็น 1 ประเภทหนังสือ N N ชื่อเข้าระบบ เว็บไซต์ จำนวน จัดพิมพ์ มีรายการ โทรศัพท์ รหัสสำนักพิมพ์ รหัสผ่าน ชื่อ 1 ราคารวม M สำนักพิมพ์ การสั่งซื้อ N สั่งซื้อ 1 ลูกค้า วันทั่งซื้อ วันทั่งส่งสินค้า รหัสลูกค้า ที่อยู่ โทรศัพท์ ยอดรวม อีเมลล์ อีเมลล์ รหัสการสั่งซื้อ ที่อยู่ ชื่อสำนักพิมพ์ บ้านเลขที่ ภาษีมูลค่าเพิ่ม รหัสไปรษณีย์ ถนน ตำบล อำเภอ จังหวัด

ผู้แต่ง หนังสือ สำนักพิมพ์ การสั่งซื้อ ลูกค้า ครั้งที่พิมพ์ รูปภาพ ปีที่พิมพ์ ชื่อผู้แต่ง ชื่อหนังสือ รหัสประเภทหนังสือ ชื่อประเภท อีเมลล์ รหัสผู้แต่ง ราคา รหัสISBN ผู้แต่ง M แต่ง N หนังสือ N จัดแบ่งเป็น 1 ประเภทหนังสือ N N ชื่อเข้าระบบ เว็บไซต์ จำนวน จัดพิมพ์ มีรายการ โทรศัพท์ รหัสสำนักพิมพ์ รหัสผ่าน ชื่อ 1 ราคารวม M สำนักพิมพ์ การสั่งซื้อ N ใช้งาน 1 ลูกค้า วันทั่งซื้อ วันทั่งส่งสินค้า รหัสลูกค้า ที่อยู่ โทรศัพท์ ยอดรวม อีเมลล์ อีเมลล์ รหัสการสั่งซื้อ ที่อยู่ ชื่อสำนักพิมพ์ บ้านเลขที่ ภาษีมูลค่าเพิ่ม รหัสไปรษณีย์ ถนน ตำบล อำเภอ จังหวัด

การแปลง ER Diagram เป็น Relational Schema

การแปลงE-R Model เป็น Relational Schema ขั้นที่ 1 การแปลง Regular Entity และ Attribute ขั้นที่ 2 การแปลง Weak Entity ขั้นที่ 3 การแปลงความสัมพันธ์

ขั้นที่ 1 การแปลง Regular Entity เอนทิตี้แบบปกติ(Regular entity) แต่ละเอนทิตี้ใน ERD จะถูกแปลงเป็นแต่ละรีเลชัน(relation) ชื่อของเอนทิตี้ก็จะกลายเป็นชื่อของรีเลชัน แต่ละแอททริบิวต์ของเอนทิตี้ก็จะกลายเป็นแต่ละ แอททริบิวต์(คอลัมน์)ของรีเลชัน แอททริบิวต์ที่เป็นกุญแจหลัก(Primary key)ของเอนทิตี้ก็จะถูกกำหนดให้เป็นกุญแจหลักของรีเลชัน

ขั้นที่ 1 การแปลง Regular Entity การแปลง Regular Entity ที่มี Atomic Attribute การแปลง Regular Entity ที่มี Atomic Attribute A a1 a1 a2 … an a2 A หรือ an A(a1 , a2 , … , an) แต่ละแอททริบิวต์ของเอนทิตี้ จะแปลงเป็นแต่ละแอททริบิวต์ของรีเลชัน

ขั้นที่ 1 การแปลง Regular Entity การแปลง Regular Entity ที่มี Atomic Attribute รหัสนศ. ที่อยู่ ชื่อ นักศึกษา โปรแกรมวิชา นามสกุล นักศึกษา รหัสนศ. ชื่อ นามสกุล ที่อยู่ โปรแกรมวิชา หรือ นักศึกษา(รหัสนศ. , ชื่อ , นามสกุล , ที่อยู่ , โปรแกรมวิชา)

ขั้นที่ 1 การแปลง Regular Entity การแปลง Regular Entity ที่มี Composite Attribute Composite attribute a5 a6 a4 A a3 a1 a2 a4 a5 a6 a1 a2 A หรือ A(a1 , a2 , a4, a5 , a6)

ขั้นที่ 1 การแปลง Regular Entity การแปลง Regular Entity ที่มี Composite Attribute ถนน รหัสนศ. เลขที่ อำเภอ ชื่อ นักศึกษา จังหวัด ที่อยู่ นามสกุล โปรแกรมวิชา นักศึกษา รหัสนศ. ชื่อ นามสกุล เลขที่ ถนน อำเภอ จังหวัด โปรแกรมวิชา หรือ นักศึกษา(รหัสนศ. , ชื่อ , นามสกุล , เลขที่ , ถนน , อำเภอ , จังหวัด , โปรแกรมวิชา)

ขั้นที่ 1 การแปลง Regular Entity การแปลง Regular Entity ที่มี Multivalued Attribute A A3 a1 a1 a2 a1 a3 a2 A a3 หรือ นำ Multivalued attribute มาสร้างเป็นรีเลชันใหม่ กุญแจหลักของรีเลชันใหม่คือ กุญแจหลักของรีเลชันเดิมและ แอททริบิวต์แบบ Multivalued A(a1 , a2) A3(a1 , a3)

ขั้นที่ 1 การแปลง Regular Entity การแปลง Regular Entity ที่มี Multivalued Attribute รหัสนศ. ที่อยู่ ชื่อ นักศึกษา โปรแกรมวิชา นามสกุล โทรศัพท์ นักศึกษา รหัสนศ. ชื่อ นามสกุล ที่อยู่ โปรแกรมวิชา โทรศัพท์นักศึกษา รหัสนศ. โทรศัพท์

ขั้นที่ 1 การแปลง Regular Entity การแปลง Regular Entity ที่มี Derived Attribute A a1 a1 a2 a3 a2 A หรือ a3 a4 A(a1 , a2 , a3) Derived attribute ไม่ต้องแปลงเป็น แอททริบิวต์ของรีเลชัน

ขั้นที่ 1 การแปลง Regular Entity การแปลง Regular Entity ที่มี Derived Attribute วันเกิด รหัสนศ. ที่อยู่ ชื่อ นักศึกษา โปรแกรมวิชา นามสกุล อายุ นักศึกษา รหัสนศ. ชื่อ นามสกุล ที่อยู่ วันเกิด โปรแกรมวิชา หรือ นักศึกษา(รหัสนศ. , ชื่อ , นามสกุล , ที่อยู่ , วันเกิด , โปรแกรมวิชา)

ความเหมือนและความต่าง พนักงาน รหัสพนักงาน ชื่อพนักงาน โทรศัพท์ พนักงาน รหัสพนักงาน ชื่อพนักงาน โทรศัพท์ เบอร์มือถือ เบอร์บ้าน พนักงาน รหัสพนักงาน ชื่อพนักงาน โทรศัพท์

พนักงาน พนักงาน ชื่อพนักงาน รหัสพนักงาน โทรศัพท์ รหัสพนักงาน

พนักงาน รหัสพนักงาน ชื่อพนักงาน โทรศัพท์ เบอร์มือถือ เบอร์บ้าน

พนักงาน รหัสพนักงาน ชื่อพนักงาน โทรศัพท์

ขั้นที่ 2 การแปลง Weak Entity ชื่อของเอนทืติตี้แบบอ่อนก็จะกลายเป็นชื่อของรีเลชัน แต่ละแอททริบิวต์ของเอนทิตี้แบบอ่อน ก็จะแปลงเป็นแอททริบิวต์ของรีเลชันตามลักษณะการแปลงแต่ละชนิดของแอททริบิวต์(เหมือนขั้นที่ 1) กุญแจหลักของรีเลชันคือ กุญแจหลักของรีเลชันที่เป็น Owner ที่มีความสัมพันธ์เชิงระบุ(Identifying relationship)กับเอนทิตี้แบบอ่อนแต่ละรีเลชัน ประกอบกันกับแอททริบิวต์ที่เป็นส่วนประกอบของกุญแจหลักจากเอนทิตี้แบบอ่อนเอง(ถ้ามี) กุญแจหลักของรีเลชันที่เป็นOwner นอกจากจะเป็นส่วนประกอบของกุญแจหลักแล้ว ยังเป็นกุญแจนอกของรีเลชันใหม่นี้ด้วย

ขั้นที่ 2 การแปลง Weak Entity Owner Entity Partial key b1 a1 1 N A R B a2 b2 A B a1 a2 a1 b1 b2 A(a1 , a2) B(a1 , b1 , b2) *** a1 และ b1 รวมกันเป็นกุญแจหลัก(Primary key) และ a1 เป็นกุญแจนอก(Foreign key) ของรีเลชัน B เชื่อมโยง(References) ไปยังรีเลชัน A

ขั้นที่ 2 การแปลง Weak Entity รหัสนศ. ครั้งที่ คะแนน ชื่อ 1 N นักศึกษา มี ผลการทดสอบ โปรแกรมวิชา นักศึกษา ผลการทดสอบ รหัสนศ. ชื่อ โปรแกรมวิชา รหัสนศ. ครั้งที่ คะแนน หรือ นักศึกษา(รหัสนศ. , ชื่อ , โปรแกรมวิชา) ผลการทดสอบ(รหัสนศ. , ครั้งที่ , คะแนน)

ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-Many ความสัมพันธ์แบบ Many-to-Many ความสัมพันธ์แบบ One-to-One

ความสัมพันธ์แบบ One-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-Many แปลงแต่ละเอนทิตี้ที่มีความสัมพันธ์กันแบบ 1:N นำกุญแจหลัก(Primary key)ของรีเลชัที่เป็นเอนทิตี้ที่อยู่ด้าน 1 ของความสัมพันธ์ไปเป็นกุญแจนอก(Foreign key)ของรีเลชันของเอนทิตี้ที่อยู่ด้าน N

ความสัมพันธ์แบบ One-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-Many r1 b1 a1 1 N A R B a2 b2 A B a1 a2 b1 b2 a1 r1 A(a1 , a2) B(b1 , b2 , a1 , r1)

ความสัมพันธ์แบบ One-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-Many r1 b1 a1 N 1 A R B a2 b2 A B a1 a2 b1 r1 b1 b2 A(a1 , a2 , b1 , r1) B(b1 , b2)

ความสัมพันธ์แบบ One-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-Many รหัสแผนก รหัสพนักงาน N 1 พนักงาน สังกัด แผนก ชื่อ ชื่อแผนก พนักงาน(รหัสพนักงาน , ชื่อ , รหัสแผนก) แผนก(รหัสแผนก , ชื่อแผนก)

ความสัมพันธ์แบบ One-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-Many รหัสนศ. รหัสอาจารย์ 1 N อาจารย์ เป็นที่ปรึกษา นักศึกษา ชื่ออาจารย์ ชื่อนศ. อาจารย์(รหัสอาจารย์ , ชื่ออาจารย์) นักศึกษา(รหัสนศ. , ชื่อนศ. , รหัสอาจารย์ที่ปรึกษา)

ความสัมพันธ์แบบ One-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-Many ตำแหน่ง รหัสพนักงาน พนักงาน เงินเดือน ชื่อ 1 N หัวหน้า ลูกน้อง ควบคุม ต้องตั้งชื่อ Attribute ให้ต่างจาก primary key แต่มี Domain แบบเดียวกัน พนักงาน(รหัสพนักงาน , ชื่อ , ตำแหน่ง , เงินเดือน , รหัสหัวหน้า)

ความสัมพันธ์แบบ Many-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ Many-to-Many แปลงแต่ละเอนทิตี้ที่มีความสัมพันธ์กันแบบ M:N สร้างรีเลชันใหม่ที่เกิดจากความสัมพันธ์ M:N กุญแจหลักของรีเลชันใหม่เกิดจากการนำกุญแจหลักของแต่ละรีเลชันของเอนทิตี้ที่สัมพันธ์กันแบบ M:N รวมกันเป็นกุญแจหลักของรีเลชันใหม่ กุญแจหลักแต่ละอันของแต่ละรีเลชัน ถือเป็นกุญแจนอกที่เชื่อมโยงไปยังแต่ละรีเลชัน

ความสัมพันธ์แบบ Many-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ Many-to-Many r1 b1 a1 M N A R B a2 b2 A(a1 , a2) B(b1 , b2) Foreign key Foreign key R(a1 , b1 , r1) Primary key

ความสัมพันธ์แบบ Many-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ Many-to-Many เทอม ปี รหัสวิชา รหัสนศ. M N ลงทะเบียน วิชา นักศึกษา ชื่อนศ. ชื่อวิชา หน่วยกิต นักศึกษา(รหัสนศ. , ชื่อนศ.) วิชา(รหัสวิชา , ชื่อวิชา , หน่วยกิต) การลงทะเบียน(รหัสนศ. , รหัสวิชา , เทอม , ปี)

ความสัมพันธ์แบบ Many-to-Many ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ Many-to-Many หน่วยกิต รหัสวิชา วิชาเรียน คำอธิบายรายวิชา ชื่อวิชา N M วิชาที่จะเรียน วิชาที่ต้องเรียนก่อน บังคับเรียน วิชาเรียน(รหัสวิชา , ชื่อวิชา , คำอธิบายรายวิชา , หน่วยกิต) วิชาบังคับ(รหัสวิชา , รหัสวิชาบังคับ)

ความสัมพันธ์แบบ One-to-One ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-One r1 b1 a1 1 1 A R B a2 b2 แบบที่ 1 A(a1 , a2) และ B(b1 , b2 , a1 , r1) แบบที่ 2 A(a1 , a2 , b1 , r1) และ B(b1 , b2)

ความสัมพันธ์แบบ One-to-One ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-One r1 b1 a1 1 1 A R B a2 b2 แบบที่ 1 A(a1 , a2) และ B(b1 , b2 , a1 , r1) แบบที่ 2 A(a1 , a2 , b1 , r1) และ B(b1 , b2)

ความสัมพันธ์แบบ One-to-One ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-One r1 b1 a1 1 1 A R B a2 b2 B(b1 , b2 , a1 , r1) A(a1 , a2)

ความสัมพันธ์แบบ One-to-One ขั้นที่ 3 การแปลงความสัมพันธ์(Relationship) ความสัมพันธ์แบบ One-to-One วันที่รับ ตน. รหัสแผนก รหัสพนักงาน 1 1 พนักงาน บริหาร แผนก ชื่อ ชื่อแผนก พนักงาน(รหัสพนักงาน , ชื่อ) แผนก(รหัสแผนก , ชื่อแผนก , รหัสพนักงาน , วันที่รับตน.)

ตัวอย่างการแปลง ER Diagram เป็น Relational schema

สำนักงาน ตัวแทน ลูกค้า เจ้าของบ้าน บ้าน การเข้าชม โทรศัพท์ ชื่อ ชื่อผู้จัดการ ที่อยู่ ชื่อตัวแทน โทรศัพท์ โทรสาร รหัสสำนักงาน รหัสตัวแทน โทรศัพท์ รหัสลูกค้า ที่อยู่ 1 ทำงาน ประจำ สำนักงาน N ตัวแทน ลูกค้า 1 เก็บรายการ 1 นามสกุล คอมมิสชัน ชื่อ ราคาขาย เข้าชม N รหัสบ้าน ฝากขาย เจ้าของบ้าน 1 N บ้าน จน.ห้องนอน N พื้นที่ ที่ตั้ง บ้านเลขที่ จน.ห้องน้ำ รหัสประจำตัว โทรศัพท์ การเข้าชม ถนน จังหวัด 1 ตำบล อำเภอ รหัสไปรษณีย์ N เข้าชมบ้าน ความคิดเห็น วันที่

สำนักงาน (รหัสสำนักงาน , ชื่อผู้จัดการ ,โทรศัพท์ , โทรสาร , ที่อยู่) ตัวแทน (รหัสตัวแทน , ชื่อตัวแทน ,โทรศัพท์ , รหัสสำนักงาน) เจ้าของบ้าน (รหัสประจำตัว , ชื่อ , นามสกุล , โทรศัพท์) บ้าน (รหัสบ้าน , จน.ห้องนอน , พื้นที่ , ราคาขาย , คอมมิสชัน , จน.ห้องน้ำ , บ้านเลขที่ , ถนน , ตำบล , อำเภอ , จังหวัด , รหัสไปรษณีย์ , รหัสเจ้าของบ้าน , รหัสตัวแทน) ลูกค้า (รหัสลูกค้า , ชื่อ , ที่อยู่ , โทรศัพท์) การเข้าชม (รหัสลูกค้า , วันที่ , ความคิดเห็น , รหัสบ้าน)

ใบสั่งซื้อ ผู้ผลิต สินค้า ใบเสร็จ ลูกค้า พนักงาน แผนก สั่งซื้อกับ N ใบสั่งซื้อ รหัสผู้ผลิต ผู้ผลิต ชื่อบริษัท เบอร์โทรศัพท์ อีเมลล์ ที่อยู่ บ้านเลขที่ ถนน อำเภอ จังหวัด รหัสไปรษณีย์ 1 หมายเลขใบสั่งซื้อ วันที่สั่งซื้อ ยอดรวมทั้งหมด มีรายการสั่งซื้อ M สินค้า ชื่อสินค้า ราคา จำนวนคงเหลือ ระดับคงสต๊อก รหัสสินค้า มีรายการซื้อ จำนวนที่สั่งซื้อ ใบเสร็จ วันที่ออกใบเสร็จ หมายเลขใบเสร็จ จำนวนที่ซื้อ ลูกค้า ชื่อลูกค้า คำนำชื่อ ชื่อ นามสกุล เบอร์บ้าน เบอร์มือถือ รหัสลูกค้า ได้รับ พนักงาน รหัสพนักงาน ชื่อพนักงาน ตำแหน่งงาน เงินเดือน วันเกิด อายุ แผนก ออกโดย สังกัด บริหาร วันที่รับตำแหน่ง ดูแล หัวหน้า ลูกทีม รหัสแผนก ชื่อแผนก โทรศัพท์

F f1 f3 f2 b1 b2 a1 A B a2 e1 e2 r3 r2 E d1 d2 D C d3 c1 c2 N R5 1 1

ความเหมือนและความต่าง รหัสสินค้า หมายเลขใบสั่งซื้อ จำนวน M N สินค้า มีรายการ ใบสั่งซื้อ รหัสสินค้า หมายเลขใบสั่งซื้อ จำนวน 1 N N 1 สินค้า อยู่ใน รายการสั่งซื้อ มี ใบสั่งซื้อ รหัสสินค้า หมายเลขใบสั่งซื้อ ลำดับรายการ จำนวน สินค้า 1 N N 1 อยู่ใน รายการสั่งซื้อ มี ใบสั่งซื้อ รหัสสินค้า หมายเลขใบสั่งซื้อ ลำดับรายการ จำนวน 1 N N 1 สินค้า อยู่ใน รายการสั่งซื้อ มี ใบสั่งซื้อ

สินค้า ใบสั่งซื้อ รหัสสินค้า หมายเลขใบสั่งซื้อ จำนวน มีรายการ P1 P2 P3 M N สินค้า มีรายการ ใบสั่งซื้อ รหัสสินค้า P1 P2 P3 รหัสสินค้า หมายเลขใบสั่งซื้อ จำนวน P1 001 5 P2 10 002 P3 หมายเลขใบสั่งซื้อ 001 002 003

สินค้า รายการสั่งซื้อ ใบสั่งซื้อ รหัสสินค้า หมายเลขใบสั่งซื้อ จำนวน สินค้า 1 N N 1 อยู่ใน รายการสั่งซื้อ มี ใบสั่งซื้อ รหัสสินค้า P1 P2 P3 รหัสสินค้า หมายเลขใบสั่งซื้อ จำนวน P1 001 5 P2 10 002 P3 หมายเลขใบสั่งซื้อ 001 002 003

สินค้า รายการสั่งซื้อ ใบสั่งซื้อ รหัสสินค้า หมายเลขใบสั่งซื้อ ลำดับรายการ จำนวน สินค้า 1 N N 1 อยู่ใน รายการสั่งซื้อ มี ใบสั่งซื้อ รหัสสินค้า P1 P2 P3 หมายเลขใบสั่งซื้อ ลำดับรายการ รหัสสินค้า จำนวน 001 1 P1 5 2 P2 10 002 P3 หมายเลขใบสั่งซื้อ 001 002 003

สินค้า รายการสั่งซื้อ ใบสั่งซื้อ รหัสสินค้า หมายเลขใบสั่งซื้อ ลำดับรายการ จำนวน สินค้า 1 N N 1 อยู่ใน รายการสั่งซื้อ มี ใบสั่งซื้อ รหัสสินค้า P1 P2 P3 ลำดับรายการ หมายเลขใบสั่งซื้อ รหัสสินค้า จำนวน 1 001 P1 5 2 P2 10 3 002 4 P3 หมายเลขใบสั่งซื้อ 001 002 003

พจนานุกรมข้อมูล(Data Dictionary) Table name Attribute name Description Data Type Size Key References BookType (ประเภทหนังสือ) BTypeID รหัสประเภท Char 5 PK BTypeName ชื่อประเภท Varchar 30 Book (หนังสือ) ISBN รหัสISBN 15 BName ชื่อหนังสือ 50 Price ราคา Float Edition ครั้งที่พิมพ์ Int Published ปีที่พิมพ์ Picture รูปภาพ Blob BookTypeID FK

พจนานุกรมข้อมูล(Data Dictionary) Table name Attribute name Description Data Type Size Key References Publisher (สำนักพิมพ์) PubID รหัสสำนักพิมพ์ Char 5 PK PubName ชื่อสำนักพิมพ์ Varchar 30 PubEmail อีเมลล์สำนักพิมพ์ 50 PubWeb เว็บไซต์สำนักพิมพ์ PubAddr ที่อยู่สำนักพิมพ์ 60 Author (ผู้แต่ง) AuID รหัผู้แต่ง 3 AuName ชื่อผู้แต่ง 40 AuEmail อีเมลล์ผู้แต่ง

พจนานุกรมข้อมูล(Data Dictionary) Table name Attribute name Description Data Type Size Key References Customer (ลูกค้า) CID รหัสลูกค้า Char 5 PK CName ชื่อลูกค้า Varchar 30 CEmail อีเมลล์ลูกค้า 50 CUser ชื่อผู้ใช้ระบบ 12 CPwd รหัสผ่าน CPhone โทรศัพท์ 10 CAddr บ้านเลขที่ 40 CStreet ถนน CTumbon ตำบล CAmpher อำเภอ CProvince จังหวัด 7 CZipcode รหัสไปรษณีย์ Int

พจนานุกรมข้อมูล(Data Dictionary) Table name Attribute name Description Data Type Size Key References Orders (การสั่งซื้อ) OID รหัสการสั่งซื้อ Char 10 PK ODate วันที่พิมพ์ Date CSend วันที่สั่ง CID รหัสลูกค้า char 5 FK Customer Order_Detail (รายการสั่งซื้อ) PK,FK ISBN รหัสหนังสือ 15 Book Qty จำนวนเงิน Int Sum ราคารวม Float Author_Book ผู้แต่งหนังสือ) รหัสISBN AuID รหัสผู้แต่ง 3 Author