วันอาทิตย์ที่ 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 ตาราง
          - ตารางผู้แต่ง (รหัสผู้แต่งชื่อผู้แต่ง)
          - ตารางสำนักพิมพ์ (รหัสสำนักพิมพ์ชื่อสำนักพิมพ์โทรศัพท์)
          - ตารางหนังสือ (รหัสหนังสือชื่อหนังสื่อรหัสผู้แต่งรหัสสำนักพิมพ์


วันอาทิตย์ที่ 28 พฤศจิกายน พ.ศ. 2553

คำถามท้ายบทที่ 4 เรื่อง Relational Database

การบ้าน

วิชาฐานข้อมูลเบื้องต้น (4122201) ตอนเรียน A1

ประจำวันที่ 24 พฤศจิกายน 2553


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

2. คุณสมบัติในการจัดเก็บข้อมูลของรีเลชั่นมีอะไรบ้าง
    ตอบ   
         1 ข้อมูลในแต่ละแถวไม่ซ้ำกัน
         2 การเรียงลำดับของข้อมูลในแต่ละแถวไม่เป็นสาระสำคัญ
         3 การเรียงลำดับของ Attribute จะเรียงลำดับก่อนหลังอย่างไรก็ได้
         4 ค่าของข้อมูลในแต่ละ Attribute ของ Tuple หนึ่งๆ จะบรรจุข้อมูลได้เพียงค่าเดียว (Single Value )
         5 ค่าของข้อมูลในแต่ละ Attribute จะบรรจุค่าของข้อมูลประเภทเดียวกัน


3.รีเลชั่นประกอบด้วยคีย์ต่างๆ อะไรบ้าง จงอธิบายพร้อมยกตัวอย่างประกอบประเภทคีย์ดังกล่าว
ตอบ
ประเภทของคีย์ (Relation keys)
   ในฐานข้อมูลจะมีข้อมูลอยู่เป็นจานวนมาก โดยเฉพาะฐานข้อมูลขนาดใหญ่  ก็จะมีข้อมูลจานวนมากที่มีความคล้ายคลึงกันหรือแตกต่างกันออกไป ทำให้การแยกแยะหรือจัดการข้อมูลทาได้ยาก  ดังนั้นจึงกำหนดคีย์ (keys) ขึ้นมาคีย์ คือ แอททริบิวต์หรือกลุ่มของแอททริบิวต์ ที่ใช้ในการระบุค่าต่าง ๆ ของทูเพิล เพื่อความเป็นเอกลักษณ์ (unique) หรือเป็นสิ่งที่ใช้กำหนดความเป็นเอกลักษณ์ของทูเพิล โดยคีย์มีหลายประเภท  ดังนี้
คีย์หลัก (Primary key)
            หมายถึง คีย์ที่มีคุณสมบัติในการระบุค่าต่าง ๆ ของแต่ละทูเพิลในรีเลชั่นได้ เป็นเอกลักษณ์(Unique) หรือมีค่าไม่ซ้ำกัน และมีเป็นค่าว่าง (Null) ไม่ได้  คีย์หลักจะประกอบด้วยหนึ่งแอททริบิวต์หรือหลายแอททริบิวต์ก็ได้
คีย์คู่แข่ง (Candidate key)
            หมายถึง ในรีเลชั่นหนึ่ง ๆ มีคีย์ที่สามารถเป็นคีย์หลักได้มากกว่าหนึ่ง แอททริบิวต์  แต่เมื่อแอททริบิวต์ใดที่ถูกเลือกเป็นคีย์หลักแล้ว คีย์คู่แข่งที่เหลืออยู่ก็จะมีชื่อใหม่เรียกว่า คีย์สำรอง ( secondary key หรือ Alternate key)

คีย์สำรอง (Secondary key หรือ Alternate key)
            หมายถึง คีย์คู่แข่งที่ไม่ได้ถูกเลือกเป็นคีย์หลัก โดยคีย์สำรองจะไม่มีคุณสมบัติ ความเป็นเอกลักษณ์ ถ้ามีการค้นหาข้อมูลจะได้ข้อมูลมากกว่าหนึ่งข้อมูล   เพราะคีย์สำรองมีค่าซ้ำได้
คีย์นอก(Foreign key)
            หมายถึง   แอททริบิวต์หรือกลุ่มของแอททริบิวต์ในรีเลชั่นหนึ่ง  ที่ใช้ในการอ้างอิงถึง แอททริบิวต์เดียวกันในอีกรีเลชั่นหนึ่งที่เป็นคีย์หลัก คีย์นอกเป็นคีย์ที่ใช้ในการเชื่อมความสัมพันธ์ระหว่างรีเลชั่นของ ฐานข้อมูลเชิงสัมพันธ์ ดังนั้นในการเปลี่ยนแปลงค่าของคีย์นอกหรือคีย์หลักที่เชื่อมความสัมพันธ์กัน อยู่จึงเป็นเรื่องที่ต้องระมัดระวังเป็นอย่างมาก ซึ่งในการจัดการฐานข้อมูลจะต้องมีกฏเกณฑ์และเงื่อนไข เพื่อทำให้ฐานข้อมูลถูกต้องตลอดเวลา และขึ้นอยู่กับ DBMS ที่สามารถควบคุมความถูกต้องของฐานข้อมูลนั้น ๆ ด้วย

 4.  Null หมายถึงอะไรใน Relational Database
    ตอบ
หมายถึง ไม่ทราบค่าข้อมูลที่รู้แน่ชัด เราสามารถกำหนดให้ค่าของคอลัมน์ใดๆ เป็น Null ได้ ยกเว้นคอลัมน์ที่เป็น Primary Key เพราะจะไม่สามารถนำ Primary Key มาใช้เข้าถึงข้อมูลในแต่ละแถวได้

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

6.ความสัมพันธ์ระหว่างรีเลชั่นมีกี่ประเภท อะไรบ้าง จงยกตัวอย่างประกอบ (ห้ามยกตัวอย่างซ้ำกับสไลด์ประกอบการเรียน)
ตอบ
1.ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One to One Relationship)
- เป็นความสัมพันธ์ที่เข้าใจง่ายที่สุด
- เป็นความสัมพันธ์ของข้อมูลใน 1 เรคอร์ดในตารางหนึ่งมีความสัมพันธ์กับข้อมูลอย่างมากหนึ่งข้อมูลกับอีก เรคอร์ดในอีกตารางหนึ่งเท่านั้นในลักษณะที่เป็นหนึ่งต่อหนึ่ง
ยกตัวอย่างเช่น คนหนึ่งคนสามารถมีกรุ๊ปเลือดได้เพียงหนึ่งกรุ๊ปเลือดเท่านั้น
2.ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One to Many Relationship)
- เป็นความสัมพันธ์ที่พบบ่อยที่สุดในฐานข้อมูล
- เป็นความสัมพันธ์ของข้อมูลใน 1 เรคอร์ดในตารางหนึ่งมีความสัมพันธ์กับข้อมูลมากกว่าหนึ่งข้อมูลกับอีก เรคอร์ดในอีกตารางหนึ่งเท่านั้นในลักษณะที่เป็นหนึ่งต่อหนึ่ง
ยกตัวอย่างเช่น คนหนึ่งสามารถมีบัตร ATM ได้หลาย ๆ ธนาคาร
3.ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many to Many Relationship)
- เป็นความสัมพันธ์ที่พบไม่บ่อยนัก
- เป็นความสัมพันธ์ของข้อมูลในเรคอร์ดใด ๆ ของตารางหนึ่งมีค่าตรงกับข้อมูลของหลาย ๆ เรคอร์ดในตารางอื่น ๆ
ยกตัวอย่างเช่น บาร์โคดหนึ่งอันสามารถกำหนดตัวเลขได้หลาย ๆ แบบ

วันอาทิตย์ที่ 21 พฤศจิกายน พ.ศ. 2553

คำถามท้ายบทที่ 3 เรื่อง Database Models

การบ้าน

วิชาฐานข้อมูลเบื้องต้น (4122201) ตอนเรียน A1

ประจำวันที่ 17 พฤศจิกายน 2553

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

2. ความเป็นอิสระของข้อมูลมีบทบาทสำคัญอย่างไรต่อการจัดการฐานข้อมูล จงอธิบาย
   
ตอบ        ความเป็นอิสระของข้อมูลคือการที่ผู้ใช้สามารถเปลี่ยนแปลงข้อมูลในระดับแนว ความคิด หรือระดับภายในได้โดยไม่กระทบกับโปรแกรมที่ เรียกใช้ ผู้ใช้ยังมองเห็นโครงสร้างข้อมูลในระดับ ภายนอกเหมือนเดิมและใช้งานได้ตามปกติ โดยมี DBMS เป็นตัวจัดการในการเชื่อมต่อข้อมูล ในระดับ ภายนอกกับระดับแนวความคิด และเชื่อมข้อมูลระดับแนวความคิดกับระดับภายใน นั่นหมายถึงการ เปลี่ยนแปลงข้อมูลในระดับที่ต่ำ กว่า จะไม่กระทบกับข้อมูลที่อยู่ในระดับที่สูงกว่า ซึ่งความเป็นอิสระ ของข้อมูลแบ่งออกเป็น 2 ลักษณะคือ
            1. ความเป็นอิสระของข้อมูลเชิงตรรกะ (Logical Data Independce) คือ การเปลี่ยนแปลงแก้ไขโครงสร้างของข้อมูลในระดับแนวความคิด จะไม่มีผลกระทบต่อโครงสร้างข้อมูลในระดับภายนอกที่ผู้ใช้งานใช้อยู่ เช่น ในการเขียนโปรแกรมเพื่อแสดงข้อมูลของพนักงาน ซึ่งใช้ข้อมูลใน ระดับภายนอก หากในระดับแนวความคิด มีการเปลี่ยนแปลง โดยการ เพิ่มแอตทริบิวส์บางตัวเข้าไปใน รายละเอียดข้อมูลของพนักงาน จะไม่มี ผลกระทบกับโปรแกรมเดิมที่ทำงานอยู่
             2. ความเป็นอิสระของข้อมูลเชิงกายภาพ (Physical Data Independce) คือการเปลี่ยนแปลงแก้ไขโครงสร้างของข้อมูลในระดับภายใน จะ ไม่มีผลกระทบต่อ โครงสร้างข้อมูลในระดับแนวความคิด หรือระดับภายนอก เช่น ในระดับภายในมีการเปลี่ยนวิธีการ จัดเก็บข้อมูลจากแบบ เรียงลำดับ (sequential) ไปเป็นแบบดัชนี (indexed) ในระดับภายใน ในระดับแนวคิดนั้นจะไม่มีผลกระทบต่อการเปลี่ยนแปลงดังกล่าว หรือ โปรแกรมประยุกต์ที่เขียน ในระดับ ภายนอกก็ไม่จำเป็นต้องแก้ไขโปรแกรมตามวิธีการจัดเก็บที่เปลี่ยนแปลงไป



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



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


5. สิ่งที่ทำให้ Relational Model ได้รับความนิยมอย่างมากคืออะไร จงอธิบาย      
 ตอบ   การพัฒนาระบบฐานข้อมูลด้วย Relation Model สามารถพัฒนาระบบได้อย่างรวดเร็วกว่าสะดวกกว่าทำให้ได้ผลงานที่สูงกว่า Hierarchical Model และ Network Model
          -  ภาษาที่ใช้เหมาะสมและสามารถ retrieve ข้อมูลด้วยคำคำสั่งเดียว
          -  โครงสร้างข้อมูลเรียบง่ายต่อการ Update,Delete,Insert
          -  ป้องกันข้อมูลถูกทำลายหรือแก้ไขได้ดี เนื่องจากโครงสร้างแบบสัมพันธ์นี้ผู้ใช้จะไม่ทราบว่าการเก็บข้อมูลในฐาน ข้อมูลอย่างแท้จริงเป็นอย่างไร จึงสามารถป้องกันข้อมูลถูกทำลายหรือถูกแก้ไขได้ดี
          -  การเลือกดูข้อมูลทำได้ง่าย มีความซับซ้อนของข้อมูลระหว่างแฟ้มต่าง ๆ น้อยมาก อาจมีการฝึกฝนเพียงเล็กน้อยก็สามารถใช้ทำงานได้