280 likes | 692 Views
BC326 Database Management. Numtip Trakulmaykee. Entity-Relationship Modeling. BC326 Database Management. BC326 Database Management. Tip T.maykee@2002. Numtip Trakulmaykee. ประโยชน์. ทำให้สามารถมองเห็นภาพรวมของ Entities ทั้งหมดที่มีในระบบฐานข้อมูล
E N D
BC326 Database Management Numtip Trakulmaykee Entity-Relationship Modeling
BC326 Database Management BC326 Database Management Tip T.maykee@2002 Numtip Trakulmaykee ประโยชน์ • ทำให้สามารถมองเห็นภาพรวมของ Entities ทั้งหมดที่มีในระบบฐานข้อมูล • ทำให้สามารถมองเห็นความสัมพันธ์ระหว่าง Entities เหล่านั้น • E-R model ไม่อิงกับระบบจัดการฐานข้อมูลแบบใด ส่วนประกอบของ E-R Model • Entity • Relationship • Attribute
BC326 Database Management Numtip Trakulmaykee เอนติตี้ (Entity) • Entity คือ กลุ่มข้อมูลที่เป็นประเภทเดียวกัน ที่เป็นสมาชิกของ Entity นั้น เช่น กลุ่มคนที่เป็นพนักงานทุกคน ก็คือ Entity พนักงานทุกคน ก็คือ Entity พนักงาน หรือ Entity ของนักศึกษา ก็คือ กลุ่มของนักศึกษา • Entity อาจจะเป็น บุคคล , สถานที่ , เหตุการณ์ หรือสิ่งของที่เราเลือก เพื่อใช้ในการเก็บข้อมูล • สัญลักษณ์ จะใช้รูปสี่เหลี่ยมผืนผ้า และมีชื่อกำกับภายในเป็น คำนาม หรือ นักศึกษา Student
BC326 Database Management Numtip Trakulmaykee เอนติตี้แบบอ่อน (Weak Entity) • คือ Entity ที่ปรากฎในฐานข้อมูลก็ต่อเมื่ออีก Entity ปรากฎในฐานข้อมูลด้วย • ตัวอย่างเช่น ถ้าบริษัทกำหนดว่าพนักงานทุกคนที่รับเข้ามาจะต้องมีผู้ค้ำประกันทุกคน ดังนั้น Entity การค้ำประกันเป็น Weak Entity เพราะจะเกิดขึ้นได้ก็ต่อเมื่อมีพนักงานใหม่เข้ามา หรือ มี Entity พนักงาน • จะใช้สัญลักษณ์สี่เหลี่ยมผืนผ้าซ้อนกัน แทน Weak Entity มีผู้ค้ำประกัน การค้ำประกัน พนักงาน
Gender Address Tel Name DOB Code Student BC326 Database Management Numtip Trakulmaykee แอททริบิวท์ (Attribute) • Attribute เป็นสิ่งที่ใช้อธิบายถึงคุณลักษณะของ Entity หนึ่ง ๆ เช่น Entity ของนักศึกษา จะประกอบด้วย Attribute ชื่อ-สกุล , เพศ , ที่อยู่ , เบอร์โทร , คณะ , สาขา ,วิชา , วันที่เข้าเรียน เป็นต้น • สมาชิกที่อยู่ใน Entity หนึ่ง ๆ จะต้องมี Attributeที่เหมือนกัน • จะใช้สัญลักษณ์ วงรี แทน Attribute หนึ่ง Attribute และมีชื่อกำกับภายในที่เป็นคำนาม
ชื่อจังหวัด หมายเลขทะเบียน ทะเบียนรถ BC326 Database Management Numtip Trakulmaykee ชนิดของ Attribute • Simple Attribute คือ Attribute ที่ประกอบด้วย Attribute เดียว เช่น Attribute ยี่ห้อ สี หรือ ส่วนสูง น้ำหนัก • Composite Attribute คือ Attribute ที่ประกอบด้วย Attribute มากกว่า 1 ขึ้นไป เช่น Attribute ทะเบียนรถ จะประกอบด้วยหมายเลขและชื่อจังหวัด
Name Address Code Child Employee BC326 Database Management Numtip Trakulmaykee ชนิดของ Attribute.. ต่อ • Multivalued Attribute คือ Attribute ที่ให้ค่ามากกว่า 1 ค่า สำหรับ Entity 1 Entity เช่น ชื่อบุตร เป็น Multivalued Attribute เนื่องจากมีบุตรได้หลายคน โดยจะใช้สัญลักษณ์ วงรี 2 วงซ้อนกัน
BC326 Database Management Numtip Trakulmaykee Derived Attribute • บางครั้งเราใช้ Attribute ที่สืบทอดมากจาก Attribute อื่น ซึ่งเรียกว่า derived Attribute • ตัวอย่าง age สามารถคำนวณได้จาก attribute DOB หรือ วันที่ปัจจุบัน • ในแผนภาพ ER จะใช้เส้นประแทน derived attribute อายุ
BC326 Database Management Numtip Trakulmaykee Key Attribute • โดยทั่วไปจะต้องมีอย่างน้อย 1 Attribute หรือมากกว่า ที่ทำให้ข้อมูลแต่ละแถว หรือ เรคอร์ดมีความแตกต่างกัน • ตัวอย่างเช่น • นักศึกษาแต่ละคนมีรหัสประจำตัวที่ไม่ซ้ำกัน รหัสประจำตัวนักศึกษา จึงเรียกว่า คีย์ • แบ่งออกได้ 2 อย่าง คือ • Simple Key คือ มีแอททริบิวท์ 1 แอททริบิวท์ที่เป็นคีย์ • Composite Key คือ คีย์ประกอบ ที่มีแอททริบิวท์มากกว่า 1 แอททริบิวท์ที่เป็นคีย์ • สัญลักษณ์ แทนด้วย ขีดเส้นใต้แอททริบิวท์ที่เป็นคีย์
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
Subject Student BC326 Database Management Numtip Trakulmaykee ความสัมพันธ์ (Relationship) • Relationship เป็นความสัมพันธ์ระหว่าง Entity • ตัวอย่าง Relationship ระหว่าง Entity นักศึกษา กับ Entity รายวิชา มีความสัมพันธ์ คือ นักศึกษาลงทะเบียนเรียนในรายวิชานั้น ๆ • จะใช้สัญลักษณ์ สี่เหลี่ยมข้าวหลามตัดแทน และมีการตั้งชื่อความสัมพันธ์นั้นกำกับภายใน โดยชื่อที่กำกับต้องเป็นคำกิริยา Enrol in
BC326 Database Management Numtip Trakulmaykee Relationships & Entity Sets • Degree ของ relationship คือ จำนวนของ Entity ที่เชื่อมต่อกัน • Unary • Binary • Ternary A Unary Relationship Supervise Employee
Enroll in Sale Item Purchase Subject Student Vendor BC326 Database Management Numtip Trakulmaykee A Binary Relationship A Ternary Relationship
BC326 Database Management Numtip Trakulmaykee ประเภทของ Relationship • ประเภทของการเชื่อม Relationship มีดังนี้ • One-to-One (1:1) • One-to-Many (1:N) • Many-to-Many (M:N) • ในแผนภาพ ER จะแทนโดยการเขียนกำกับที่เส้นเชื่อมความสัมพันธ์
Enroll in Teaches 1 1 Check Login Password Member Subject Subject Teacher Student BC326 Database Management Numtip Trakulmaykee Relationship Connectivity 1 N M N
BC326 Database Management Numtip Trakulmaykee การจับคู่ระหว่างเอนติตี้ • แต่ละ entity จะจับคู่แบบใดแบบหนึ่งดังต่อไปนี้ • Partial or Optional ษมาชิกบางตัวไม่มีคู่ แทนด้วย • Total or Mandatory สมาชิกทุกตัวใน entity ต้องมีคู่ แทนด้วย 1 1 เป็น หัวหน้าภาควิชา พนักงาน
BC326 Database Management Numtip Trakulmaykee Relationship and Attributes • Relationship คือ ความสัมพันธ์ระหว่าง Entity • Relationship อาจจะมี Attribute ก็ได้ • โดยทั่วไปความสัมพันธ์ M:N จะมี Attribute ของ Relation Supervise Employee Task
Sale Item Purchase Vendor วันที่แต่งตั้ง วันที่แต่งตั้ง BC326 Database Management Numtip Trakulmaykee 1 1 เป็น หัวหน้าภาควิชา พนักงาน วันที่แต่งตั้ง
BC326 Database Management Numtip Trakulmaykee Superclass และ Subclass เอนติตี้หนึ่ง อาจสามารถที่จะจัดกลุ่มของข้อมูลเป็นประเภทต่าง ๆ ได้ อาทิเช่น เอนติตี้พนักงาน สามารถแบ่งออกเป็น พนักงานที่เป็นผู้บริหาร ผู้เชี่ยวชาญ แรงงาน Superclass เป็นเอนติตี้ที่ประกอบด้วย Subclass ต่าง ๆ โดยที่ Subclass จะมีข้อมูลเฉพาะของตัวเองกล่าวคือ เอนติตี้ B เป็น Subclass ของเอนติตี้ A ที่เป็น Superclass ก็ต่อเมื่อ Subclass B เป็นสมาชิกของ Superclass A เสมอ โดยมีข้อมูลทุกแอทริบิวต์ที่อยู่ใน Superclass A และข้อมูลเฉพาะของ Subclass
BC326 Database Management Numtip Trakulmaykee เช่น Superclass ที่ประกอบด้วยข้อมูล รหัสพนักงาน ชื่อ วันที่เริ่มทำงาน และ ประกอบด้วย Subclass ผู้บริหาร ผู้เชี่ยวชาญ พนักงานแรงงาน โดยที่แอทริบิวต์ของ • Subclass ผู้บริหาร จะมีข้อมูลเฉพาะคือ รถประจำตำแหน่ง และ เงินเดือนประจำตำแหน่ง • Subclass ผู้เชี่ยวชาญ จะมีข้อมูลเฉพาะเกี่ยวกับความชำนาญ และ ค่าตอบแทนส่วนเพิ่มของผู้เชี่ยวชาญ • ส่วน Subclass พนักงานแรงงาน จะมีข้อมูลเกี่ยวกับอัตราค่าจ้างรายวัน เป็นต้น
BC326 Database Management Numtip Trakulmaykee • Employee • รหัสพนักงาน • ชื่อ • วันที่เริ่มทำงาน ผู้จัดการ ผู้เชี่ยวชาญ พนักงานแรงงาน • ความชำนาญ • ค่าตอบแทนส่วนเพิ่ม • ของผู้เชี่ยวชาญ • ค่าแรงรายวัน • รถประจำตำแหน่ง • เงินเดือนประจำตำแหน่ง
BC326 Database Management Numtip Trakulmaykee ความสัมพันธ์ระหว่าง Superclass และ Subclass • Disjoint Constraint Subclass หนึ่งสามารถเป็น Subclass ของ Superclass ได้เพียง Subclass เดียวเท่านั้น โดยจะใช้สัญลักษณ์ วงกลมและมีอักษร d กำกับ ตัวอย่างเช่น พนักงานคนหนึ่งจะเป็นสมาชิกได้เพียง Subclass เดียว หรือ เป็นพนักงานได้เพียงประเภทเดียว คือ เป็น ผู้จัดการ ผู้เชี่ยวชาญ หรือ พนักงานแรงงานอย่างใดอย่างหนึ่งเท่านั้น d
พนักงาน d ผู้จัดการ ผู้เชี่ยวชาญ พนักงานแรงงาน ความชำนาญ รถประจำตำแหน่ง ค่าตอบแทนผู้เชี่ยวชาญ ค่าแรงรายวัน เงินเดือนประจำตำแหน่ง BC326 Database Management Numtip Trakulmaykee
BC326 Database Management Numtip Trakulmaykee • Overlapping Constraint Subclass หนึ่งสามารถเป็น Subclass ได้มากกว่าหนึ่ง Sublclass ซึ่งในการออกแบบในลักษณะนี้จะต้องระมัดระวังว่าในทางปฏิบัติจริง Subclass ที่แท้จริงคืออะไร เนื่องจากอาจทำให้ข้อมูลมีความซ้ำซ้อนมาก จะใช้สัญลักษณ์วงกลมและมีอักษร O กำกับภายใน ตัวอย่างเช่น พนักงานหนึ่งคนอาจเป็นได้ทั้งผู้จัดการ และเป็นผู้เชี่ยวชาญเป็นต้น O
พนักงาน O ผู้จัดการ ผู้เชี่ยวชาญ พนักงานแรงงาน ความชำนาญ รถประจำตำแหน่ง ค่าตอบแทนผู้เชี่ยวชาญ ค่าแรงรายวัน เงินเดือนประจำตำแหน่ง BC326 Database Management BC326 Database Management Numtip Trakulmaykee Numtip Trakulmaykee
BC326 Database Management Numtip Trakulmaykee ขั้นตอนในการออกแบบฐานข้อมูลโดยใช้ E-R Model การออกแบบฐานข้อมูลโดยใช้ E-R Model มีขั้นตอนที่เกี่ยวข้องหลายขั้นตอนและกระบวนการในการออกแบบ E-R model เป็นกระบวนการที่จะต้องพิจารณาซ้ำ ๆ หลายครั้งเพื่อให้ได้ E-R Model ที่เหมาะสมและมีข้อมูลครบถ้วน ขั้นตอนในการออกแบบข้อมูลโดยใช้ E-R Model ประกอบด้วยหลายขั้นตอน
BC326 Database Management Numtip Trakulmaykee • ศึกษาถึงลักษณะหน้าที่งานของระบบ (Business Function) ว่ามีรายละเอียดของการทำงานและข้อมูลที่เกี่ยวข้องอะไรบ้าง มีข้อสมมุติฐาน (Business Rule) ของงานต่าง ๆ อะไรบ้าง • กำหนดเอนติตี้ที่ควนจะมีอยู่ในฐานข้อมูล ฐานข้อมูลหนึ่ง ๆ ประกอบด้วยหลายเอนติตี้ ในการกำหนดเอนติตี้ที่ควรจะมีอยู่ในฐานข้อมูลหนึ่ง ๆ จะต้องคำนึงรวมไปถึงว่าเอนติตี้นั้น ๆ เป็นเอนติตี้ในประเภทใดบ้าง เช่น เอนติตี้ประเภทอ่อนแอ (Weak Entity) • กำหนดประเภทของความสัมพันธ์ระหว่างเอนติตี้ว่ามีความสัมพันธ์อย่างไรบ้าง รวมถึงกำหนดความสัมพันธ์ โดยพิจารณาจากข้อสมมุติฐานของความสัมพันธ์ระหว่างเอนติตี้ที่ได้ศึกษามาในข้อที่ 1 และ 2
BC326 Database Management Numtip Trakulmaykee • กำหนดคุณลักษณะของเอนติตี้ว่าควรจะมีรายละเอียดอะไรบ้าง ซึ่งการกำหนดคุณลักษณะของเอนติตี้ จะพิจารณาว่ารายละเอียดต่าง ๆ เป็นรายละเอียดที่มีคุณสมบัติเป็นคีย์ หรือรายละเอียดที่แปลค่ามา หรือ เป็นรายละเอียดที่ประกอบด้วยรายละเอียดที่เป็นข้อมูลหลายอย่าง เช่น ที่อยู่ ประกอบด้วย บ้านเลขที่ ถนน เขต ตำบล จังหวัด รหัสไปรษณีย์ เป็นต้น • กำหนดคีย์ของแต่ละเอนติตี้ว่า จะใช้รายละเอียดของข้อมูลใดเป็นคีย์ของเอนติตี้นั้น ๆ ซึ่งจะต้องเป็นรายละเอียดของข้อมูลที่มีค่าเป็นเอกลักษณ์ หรือ ค่าเฉพาะไม่ซ้ำซ้อนในเอนติตี้นั้น ๆ • นำรายละเอียดตั้งแต่ข้อ 2-5 มาเขียน E-R Model โดยใช้สัญลักษณ์ที่กล่าวมาแล้วข้างต้นเป็นการอธิบายถึงความสัมพันธ์ระหว่างเอนติตี้ หลังจากนั้นให้ทำการทบทวน E-R Model ว่าควรจะปรับปรุงเค้าร่างใหม่หรือไม่ (Refinement Primitive) เพื่อให้ได้ E-R Model ที่สมบูรณ์