วันอาทิตย์ที่ 12 ธันวาคม พ.ศ. 2553

คำถามท้ายบทที่ 5 เรื่อง Entity Relationship Model

1. องค์ประกอบที่สำคัญของแบบจำลองอี-อาร์ มีไรบ้าง
       มีองค์ประกอบหลักอยู่  3  ประการ  คือ  เอนทิตี้ แอตทิบิวต์ และความสัมพันธ์  โดยมีรายละเอียดคร่าว ๆ ดังหัวข้อต่อไปนี้
       เอนทิตี้ หมายถึง  สิ่งที่สนใจสามารถระบุได้ในความเป็นจริง  และต้องการเก็บรวบรวมข้อมูลที่เกี่ยวข้องด้วยไว้ในฐานข้อมูล  โดยตัวอย่างของเอนทิตี้ประเภทต่าง ๆ  เช่น  บุคคล  สถานที่  วัตถุ  หรือ เหตุการณ์  มีดังนี้
1.บุคคล ได้แก่  พนักงาน  ลูกค้า  นักศึกษา  เป็นต้น
2.สถานที่ ได้แก่  จังหวัด  ที่อยู่  ประเทศ  เป็นต้น
3.วัตถุ ได้แก่  เครื่องจักร  สินค้า  เป็นต้น
4.เหตุการณ์ ได้แก่  การซื้อสินค้า  การลงทะเบียน  เป็นต้น
       แบบจำลอง  อี-อาร์  จะใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้าแทน 1 เอนทิตี้  โดยมีชื่อของเอนทิตี้นั้น ๆ  กำกับอยู่ภายในเอนทิตี้สามารถแบ่งเป็น2ประเภทคือเอนทิตี้ปกติเอนทิตี้อ่อนแอ โดยมีความหมายดังนี้
เอนทิตี้ปกติ (Strong Entity) หมายถึง  เอนทิตี้ที่สนใจและต้องการจัดเก็บข้อมูลที่เกี่ยวข้องไว้ในระบบฐานข้อมูล  ซึ่งการคงอยู่ของเอนทิตี้นี้ไม่เกี่ยวข้องกับเอนทิตี้อื่น  โดยเอนทิตี้นี้สามารถมีคุณสมบัติ Identity  ได้ด้วยตัวเอง  ตัวอย่างของเอนทิตี้ปกติแสดงไว้ในรูปที่  2.1
เอนทิตี้อ่อนแอ (Weak Entity) หมายถึง  เอนทิตี้ที่มีการคงอยู่เกี่ยวข้องกับเอนทิตี้อื่นในระบบฐานข้อมูล  โดยเอนทิตี้อื่นที่มีความสัมพันธ์กับเอนทิตี้นี้เรียกว่า  Parent  Entity  หรือ  อาจกล่าวได้ว่า  เอนทิตี้อ่อนแอจะไม่มีความหมาย หรือไม่สามารถปรากฏในฐานข้อมูลได้  หากปราศจาก  Parent Entity  ที่มีความสัมพันธ์เกี่ยวข้องกัน  ซึ่งสมาชิกของเอนทิตี้อ่อนแอจะสามารถมีคุณสมบัติ Identity  ได้ก็ต่อเมื่ออาศัย  Property  ใด  Property  หนึ่ง  ของเอนทิตี้ปกติมาประกอบกับ Property ของเอนทิตี้นั้น ๆ
       แบบจำลองอี-อาร์  จะใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้า รูปซ้อนกันแทน เอนทิตี้อ่อนเอ  โดยมีชื่อของเอนทิตี้นั้น ๆ กำกับอยู่ภายใน
       แอตทิบิวต์  (Property) หมายถึง  คุณสมบัติหรือคุณลักษณะเฉพาะของแต่ละเอนทิตี้ 
เช่น  แอตทิบิวต์ของเอนทิตี้พนักงานประกอบด้วย  รหัสพนักงาน  ชื่อ-นามสกุล  ที่อยู่  เพศ  อายุ  เป็นต้น 
แบบจำลองอี-อาร์  จะใช้สัญลักษณ์รูปวงรีแทน  1 แอตทิบิวต์ โดยมีชื่อของแอตทิบิวต์นั้น ๆ กำกับอยู่ภายใน  และเชื่อมต่อกับเอนทิตี้ นั้น ๆ ด้วยเส้นตรง
แอตทิบิวต์สามารถแบ่งเป็น  6  ประเภทดังนี้
1.  Simple Property  หมายถึง แอตทิบิวต์ที่สามารถแบ่งแยกย่อยลงไปได้อีก เช่น แอตทิบิวต์ชื่อนามสกุลและเพศ เป็นต้น   แบบจำลองอี-อาร์  จะใช้สัญลักษณ์แทน Simple Property เช่นเดียวกับแอตทิบิวต์
2.   Composite Property หมายถึง  แอตทิบิวต์ที่ลักษณะตรงข้ามกับ Simple  Property คือ  สามารถแบ่งแยกย่อยลงไปได้อีก  เช่น  แอตทิบิวต์ชื่อ นามสกุล  สามารถแบ่งได้  2  Simple  Property  คือ  แอตทิบิวต์ชื่  และแอตทิบิวต์นามสกุล   แบบจำลองอี-อาร์  จะใช้สัญลักษณ์รูปวงรีที่มีชื่อของแอตทิบิวต์นั้นกำกับอยู่ภายใน  แทน 1  Composite Property และเชื่อมต่อกับ Simple Property ที่จำแนกออกไปด้วยเส้นตรง
3.   Key Property หมายถึง  แอตทิบิวต์หรือกลุ่มของแอตทิบิวต์  ที่มีค่าของข้อมูล  ในแต่ละสมาชิกของเอนทิตี้ไม่ซ้ำกัน  ทำให้สามารถระบุความแตกต่างของแต่ละสมาชิกในแต่ละเอนทิตี้ได้  เช่น  เอนทิตี้พนักงานประกอบด้วย  แอตทิบิวต์  รหัสพนักงาน  ชื่อ-นามสกุล  โดยแอตทิบิวต์ที่สามารถบอกความแตกต่างของพนักงานแต่ละคนได้  คือ  รหัสพนักงาน  ดังนั้นแอตทิบิวต์รหัสพนักงานจึงเป็น Key Property  ของเอนทิตี้พนักงาน  เป็นต้น
      แบบจำลองอี-อาร์  จะใช้สัญลักษณ์รูปวงรี  ที่มีชื่อของแอตทิบิวต์นั้นกำกับอยู่ภายใน  โดยมีการขีดเส้นใต้แทน  Key Property และเชื่อมต่อกับเอนทิตี้ที่มีแอตทิบิวต์นั้นด้วยเส้นตรง
4.  Single – Valued Property หมายถึง  แอตทิบิวต์ที่มีค่าของข้อมูลในแต่ละสมาชิกของเอนทิตี้ได้เพียงค่าเดียว  เช่น  บุคคลหนึ่งคนมีเพียงเพศเดียว  แอตทิบิวต์เพศจึงเป็น Single – Valued  Property  หรือพนักงานหนึ่งคนมีเงินเดือนเพียงค่าเดียว  แอตทิบิวต์เงินเดือนจึงเป็น Single – Valued  Propertyแบบจำลองอี-อาร์  จะใช้สัญลักษณ์แทน Single – Valued Property เช่นเดียวกับแอตทิบิวต์
5.  Multi-Valued Property หมายถึง   แอตทิบิวต์ที่ลักษณะตรงข้ามกับ Single-Valued Property โดยเป็นแอตทิบิวต์ที่สามารถมีคุณค่าของข้อมูลในแต่ละสมาชิกของเอนทิตี้ได้ หลายภาค เช่น บุคคลหนึ่งคนอาจมีวุฒิการศึกษาได้หลายระดับ แอตทิบิวต์การศึกษาจึงเป็น Multi-Valued Property  แบบจำลองอี-อาร์  จะใช้สัญลักษณ์รูปวงรี ที่มีชื่อของแอตทิบิวต์กำกับอยู่ภายในแทน 1 Multi-Valued Property และเชื่อมต่อกับเอนทิตี้นั้นด้วยเส้นคู่
6.   Derived Property หมายถึง  แอตทิบิวต์ค่าของข้อมูลในแต่ละสมาชิกของเอนทิตี้ได้มาจากการนำค่าของข้อมูล ในแอตทิบิวต์อื่น  ในแต่ละสมาชิกของเอนทิตี้มาทำการคำนวณ  ซึ่งโดยทั่วไปไม่จำเป็นต้องจัดเก็บแอตทิบิวต์นี้ไว้ในระบบฐานข้อมูล  เนื่องจากแอตทิบิวต์นี้จะมีการเปลี่ยนแปลงค่าทุกครั้ง  เมื่อมีการเปลี่ยนแปลงค่าของข้อมูลในแอตทิบิวต์ที่ถูกนำมาคำนวณ  เช่น  แอตทิบิวต์อายุปัจจุบันสามารถคำนวณได้จากแอตทิบิวต์วันเดือนปีเกิด  เป็นต้น  แบบจำลองอี-อาร์  จะใช้สัญลักษณ์รูปวงรี  ที่มีชื่อของแอตทิบิวต์นั้นกำกับอยู่ภายใน แทน 1 Derived Property และเชื่อมต่อกับเอนทิตี้ที่มีแอตทิบิวต์นั้นด้วยเส้นประ
      ความสัมพันธ์ (Relationship)  หมายถึง  ความสัมพันธ์ระหว่างเอนทิตี้  ความสัมพันธ์แต่ละอันจะถูกระบุด้วยชื่อที่ใช้อธิบายความสัมพันธ์นั้น ๆ การตั้งชื่อความสัมพันธ์โดยทั่วไปจะใช้คำกริยาทีแสดงการกระทำ  เช่น  มี  สอน  เป็นต้น  แบบจำลองอี-อาร์จะใช้สัญลักษณ์รูปสี่เหลี่ยมขนมเปียกปูนแทน 1ความสัมพันธ์  โดยมีชื่อของความสัมพันธ์นั้น ๆ กำกับอยู่ภายใน  และเชื่อมต่อกับเอนทิตี้ที่เกี่ยวข้องกับความสัมพันธ์นั้นด้วยเส้นตรง

2.จงอธิบายความหมายและสัญลักษณ์ของคำต่อไปนี้
เอนทิตี หมายถึง  ชื่อของสิ่งใดสิ่งหนึ่ง เปรียบเสมือนคำนาม  อาจได้แก่  คน  สถานที่  สิ่งของ  การกระทำ  ซึ่งต้องการจัดเก็บข้อมูลไว้  เช่น เอนทิตี้ของลูกค้า เอนทิตี้ของพนักงาน เป็นต้น  บางเอนทิตี้อาจจะไม่มีความหมายเลย  หากขาดเอนทิตี้อื่นในฐานข้อมูล  เช่น  เอนทิตี้ประวัตินักสึกษาจะไม่มีความหมาย  หากปราศจากเอนทิตี้นักศึกษา  เพราะจะไม่ทราบว่าเป็นประวัติของนักศึกษาคน
      รีเลชันชิพ คือ ความสัมพันธ์ซึ่งเป็นลักษณะการเกี่ยวพันกันระหว่างเอนทิรีหนึ่งกับตัวมันเอง หรือ  เอนทิตีอื่น   อาจเป็นความสัมพันธ์ที่มากกว่า  2  เอนทิตีก็ได้  เช่น  แผนกจัดซื้อทำการสั่งซื้อสินค้าหรือวัตถุดิบ
       แอตทรีบิวต์ คือ กลุ่มของค่าความจริงใด ๆ ที่เป็นรายละเอียดของเอนทิตีซึ่งแสดงลักษณะ แล คุณสมบัติของเอนทิตี  ทำให้เข้าใจเอนทิตีได้ลึกซึ้งยิ่งขึ้น  และเป็นสิ่งที่ไม่สามารถแตกย่อยลงไปได้อีกโดยไม่เสียความหมายไป  เช่น  รหัสสินค้า, สถานที่เก็บชื่อสินค้า, ราคา  นอกจากนั้นยังมีการระบุด้วยว่าแอตตริบิวใดเป็นคีย์กำหนดกฎข้อบังคับต่าง ๆ ของเอนทิตีและรีเลชันชิป
       คอมโพสิตแอทริบิวต์  หมายถึง แอททริบิวต์ที่ประกอบด้วยแอททริบิวต์หลายตัวมารวมกัน  และให้ความหมายอย่างหนึ่งอย่างใด เช่น ที่อยู่  ประกอบด้วยแอททริบิวต์ย่อยคือ บ้านเลขที่  ถนน  ตำบล  อำเภอ  จังหวัด เป็นต้น
       แอทริบิวต์ที่ทีหลายค่า คือ แอททริบิวต์ที่มีค่าได้มากกว่า  1  ค่า  เช่น  บุคคลหนึ่งสามารถมีวุฒิการศึกษาได้มากกว่า  1  วุฒิ เขียนแทนด้วยสัญลักษณ์เส้นคู่แล้วเชื่อมโยงไปยังแอททริบิวต์
       ดีไรฟต์แอทริบิวต์ คือ  แอททริบิวต์ที่ได้ค่ามาจากการคำนวณของแอททริบิวต์อื่น  เช่น อายุได้มาจาก วันเดือนปีเกิด  แทนด้วยสัญลักษณ์เส้นประที่เชื่อมโยงไปยังแอททริบิวต์

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

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


5.จากตารางข้อมูลที่กำหนดให้

5.1 จงเขียน E-R Diagram แสดงความสำคัญของตาราง   
ขั้นที่ 1    ศึกษาข้อกำหนดของระบบงาน
             - ข้อมูลหนังสือแต่ละรายการ ข้อมูลที่จัดเก็บประกอบด้วย รหัสหนังสือชื่อหนังสือ,รหัสผู้แต่งรหัสสำนักพิมพ์
                 - ข้อมูลผู้แต่งหนังสือ ข้อมูลที่จัดเก็บประกอบด้วย รหัสผู้แต่ง , ชื่อผู้แต่ง
                  ข้อมูลสำนักพิมพ์ ข้อมูลที่จัดเก็บประกอบด้วย รหัสสำนักพิมพ์ , ชื่อสำนักพิมพ์ที่อยู่โทรศัพท์ 

ขั้นที่ 2 กำหนดเอนทิตี้ (Entity)
1. ผู้แต่ง  
2.หนังสือ
3.สำหนักพิมพ์



ขั้นที่ 3 กำหนดความสัมพันธ์ของแต่ละเอนทิตี้ (Entity)
            - หนังสือแต่ละเล่มจะถูกพิมพ์จากสำนักพิมพ์ใดสำนักพิมพ์หนึ่งเท่านั้นแต่ละสำนักพิมพ์สามารถจัดพิมพ์หนังสือได้หลายรายการ
        - หนังสือแต่ละเล่มจะมีผู้แต่งได้เพียงคนเดียวเท่านั้นแต่ผู้แต่งแต่ละคนสามารถจะแต่งหนังสือได้หลายเล่ม

        5.2 จงบอกว่าแต่ละตารางมี Field ใดเป็น Primary Key
            ตอบ   - ในตารางผู้แต่งจะมี Field รหัสผู้แต่ง เป็น Primary Key
                         ในตารางสำนักพิมพ์จะมี Field รหัสสำนักพิมพ์ เป็น Primary Key                    
                         ในตารางหนังสือจะมี Field รหัสหนังสือ เป็น Primary Key

       5.3 สำหรับตารางที่มี Foreign Key จงบอกว่าเป็น Field ใดและมีความสัมพันธ์กับField ใดในตารางใด
       ตอบ   จากฐานข้อมูลของระบบหนังสือจะประกอบไปด้วยตาราง 3 ตาราง ซึ่งแต่ละตารางจะมี Field ที่เชื่อมโยงถึงกันทั้ง 3 ตาราง
          - ตารางผู้แต่ง (รหัสผู้แต่งชื่อผู้แต่ง)
          - ตารางสำนักพิมพ์ (รหัสสำนักพิมพ์ชื่อสำนักพิมพ์โทรศัพท์)
          - ตารางหนังสือ (รหัสหนังสือชื่อหนังสื่อรหัสผู้แต่งรหัสสำนักพิมพ์


ไม่มีความคิดเห็น:

แสดงความคิดเห็น