วันเสาร์ที่ 11 ธันวาคม พ.ศ. 2553

วิชาฐานข้อมูลบทที่

บทที่ 5 ประจำวันที่ 9 ธ.ค. 53


1.องค์ประกอบที่สำคัญของแบบจำลองอี-อาร์ มีไรบ้าง
            ตอบ มีองค์ประกอบหลักอยู่  3  ประการ  คือ  เอนทิตี้ , แอตทิบิวต์ และความสัมพันธ์ โดยมีรายละเอียดคร่าว ๆ ดังหัวข้อต่อไปนี้
·       เอนทิตี้ หมายถึง สิ่งที่สนใจสามารถระบุได้ในความเป็นจริง และต้องการเก็บรวบรวม
ข้อมูลที่เกี่ยวข้องด้วยไว้ในฐานข้อมูล  โดยตัวอย่างของเอนทิตี้ประเภทต่าง ๆ  เช่น  บุคคล  สถานที่  วัตถุ  หรือ เหตุการณ์  มีดังนี้
1.บุคคล ได้แก่  พนักงาน  ลูกค้า  นักศึกษา  เป็นต้น
2.สถานที่ ได้แก่  จังหวัด  ที่อยู่  ประเทศ  เป็นต้น
3.วัตถุ ได้แก่  เครื่องจักร  สินค้า  เป็นต้น
4.เหตุการณ์ ได้แก่  การซื้อสินค้า  การลงทะเบียน  เป็นต้น
แบบจำลอง  อี-อาร์  จะใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้าแทน 1 เอนทิตี้  โดยมีชื่อของเอนทิตี้
นั้น ๆ  กำกับอยู่ภายใน
เอนทิตี้สามารถแบ่งเป็น2ประเภทคือเอนทิตี้ปกติเอนทิตี้อ่อนแอ โดยมีความหมายดังนี้
เอนทิตี้ปกติ (Strong Entity) หมาย ถึง เอนทิตี้ที่สนใจและต้องการจัดเก็บข้อมูลที่เกี่ยวข้องไว้ในระบบฐานข้อมูล ซึ่งการคงอยู่ของเอนทิตี้นี้ไม่เกี่ยวข้องกับเอนทิตี้อื่น  โดยเอนทิตี้นี้สามารถมีคุณสมบัติ Identity  ได้ด้วยตัวเอง  ตัวอย่างของเอนทิตี้ปกติแสดงไว้ในรูปที่  2.1
เอนทิตี้อ่อนแอ (Weak Entity) หมาย ถึง  เอนทิตี้ที่มีการคงอยู่เกี่ยวข้องกับเอนทิตี้อื่นในระบบฐานข้อมูล  โดยเอนทิตี้อื่นที่มีความสัมพันธ์กับเอนทิตี้นี้เรียกว่า  Parent  Entity  หรือ  อาจกล่าวได้ว่า  เอนทิตี้อ่อนแอจะไม่มีความหมาย หรือไม่สามารถปรากฏในฐานข้อมูลได้  หากปราศจาก  Parent Entity  ที่มีความสัมพันธ์เกี่ยวข้องกัน  ซึ่งสมาชิกของเอนทิตี้อ่อนแอจะสามารถมีคุณสมบัติ Identity  ได้ก็ต่อเมื่ออาศัย  Property  ใด  Property  หนึ่ง  ของเอนทิตี้ปกติมาประกอบกับ Property ของเอนทิตี้นั้น ๆ
            แบบจำลองอี-อาร์  จะใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้า 2  รูปซ้อนกันแทน 1  เอนทิตี้อ่อนเอ  โดยมีชื่อของเอนทิตี้นั้น ๆ กำกับอยู่ภายใน
·       แอตทิบิวต์  (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 ความสัมพันธ์  โดยมีชื่อของความสัมพันธ์นั้น ๆ กำกับอยู่ภายใน  และเชื่อมต่อกับเอนทิตี้ที่เกี่ยวข้องกับความสัมพันธ์นั้นด้วยเส้นตรง
ลักษณะความสัมพันธ์ของข้อมูลแบ่งได้เป็น  3 ลักษณะดังนี้
1.       ความสัมพันธ์แบบหนึ่งต่อหนึ่ง
            ความสัมพันธ์แบบหนึ่งต่อหนึ่ง หมายถึง ความสัมพันธ์ที่แต่ละสมาชิกในเอนทิตี้หนึ่งมีความสัมพันธ์กับสมาชิกในอีก หนึ่งเอนทิตี้เพียงสมาชิกเดียว หรือกล่าวได้ว่า  ความสัมพันธ์ดังกล่าวเป็นความสัมพันธ์แบบ หนึ่งต่อหนึ่ง  เช่น  เอนทิตี้อาจารย์  และเอนทิตี้คณะ  มีความสัมพันธ์กันแบบหนึ่งต่อหนึ่ง  กล่าวคือ  แต่ละคณะมีคณบดีเพียงหนึ่งคนเท่านั้น และมีเพียงอาจารย์เพียงหนึ่งคนเท่านั้นเป็นคณบดี  เป็นต้น
            แบบจำลองอี-อาร์ จะใช้สัญลักษณ์ 1 : 1 กำกับเหนือเส้นที่เชื่อมต่อระหว่างความสัมพันธ์และเอนทิตี้ที่เกี่ยวข้องกับ ความสัมพันธ์นั้น
2.       ความสัมพันธ์แบบหนึ่งต่อกลุ่ม
            ความสัมพันธ์แบบหนึ่งต่อกลุ่ม  หมายถึง  ความสัมพันธ์ที่แต่ละสมาชิกในเอนทิตี้หนึ่งมีความสัมพันธ์กับสมาชิกในอีก หนึ่งเอนทิตี้มากกว่าหนึ่งสมาชิกหรือกล่าวได้ว่า  ความสัมพันธ์ดังกล่าวเป็นแบบหนึ่งต่อกลุ่ม  เช่น  เอนทิตี้พนักงาน และเอนทิตี้แผนก มีความสัมพันธ์กันแบบหนึ่งต่อกลุ่ม  กล่าวคือ  พนักงานแต่คนมีสังกัดอยู่เพียงแผนกเดียว  และในหนึ่งแผนกจะมีพนักงานในสังกัดได้หลายคน  เป็นต้น
แบบจำลองอี-อาร์  จะใช้สัญลักษณ์  1:M กำกับเหนือเส้นที่เชื่อมต่อระหว่างความสัมพันธ์และเอนทิตี้ที่เกี่ยวข้องกับความสัมพันธ์นั้น 
3.      ความสัมพันธ์แบบกลุ่มต่อกลุ่ม
            ความสัมพันธ์แบบกลุ่มต่อกลุ่ม  หมายถึง  ความสัมพันธ์ที่สมาชิกมากกว่าหนึ่งสมาชิกใน
เอน ทิตี้หนึ่ง  มีความสัมพันธ์กับสมาชิกในอีกหนึ่งเอนทิตี้มากกว่าหนึ่งสมาชิก  หรือกล่าวได้ว่า  ความสัมพันธ์ดังกล่าวเป็นแบบกลุ่มต่อกลุ่ม  เช่น  เอนทิตี้ลูกน้องและเอนทิตี้หัวหน้า  มีความสัมพันธ์กับแบบกลุ่มต่อกลุ่ม  กล่าวคือ  ลูกน้องแต่ละคนสามารถมีหัวหน้าได้หลายคนและ  แต่ละหัวหน้ามีลูกน้องได้หลายคน เป็นต้น
            แบบจำลองอี-อาร์ จะใช้สัญลักษณ์ M: M กำกับเหนือเส้นที่เชื่อมต่อระหว่างความสัมพันธ์และเอนทิตี้ที่เกี่ยวข้องกับความสัมพันธ์นั้น 
                          
          

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



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



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



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

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

 
 
E –R Diagram ที่สมบูรณ์

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

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

วันศุกร์ที่ 26 พฤศจิกายน พ.ศ. 2553

วิชาฐานข้อมูล

การบ้านบทที่ 4 ประจำวันที่ 24 พ.ย. 53


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

2. คุณสมบัติในการจัดเก็บข้อมูลของรีเลชั่นมีอะไรบ้าง
- 1. รีเลชั่นต้องมีชื่อกำกับ แต่ละชื่อต้องแตกต่างกัน ซ้ำกันไม่ได้
   2. แต่ละแอตตริบิวต์ของรีเลชั่นจะบบรจุได้เพียงค่าเดียว (Single value)
   3. ชื่อในแต่ละแอตตริบิวต์ต้องแตกต่างกัน ชื่อจะซ้ำกันไม่ได้
   4. ค่าของข้อมูลในแอตตริบิวต์เป็นไปตามข้อกำหนดของโดเมนในแอตตริบิวต์นั้นๆ
   5. การเรียงลำดับของแต่ละแอตตริบิวต์ไม่มีความสำคัญใดๆ
   6. แต่ละทูเพิลต้องมีความแตกต่างกัน จะไม่มีทูเพิลที่ซ้ำกัน
   7. การเรียงลำดับของทูเพิลไม่มีความสำคัญใดๆ  

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 Values)
              ค่าของ Attribute อาจจะเป็นค่าว่าง (Null) คือ ไม่มีค่าหรือยังไม่ทราบค่าได้ ตัวอย่างเช่น
จำนวนไข่ของนกกระจอกเทศ จะสามารถบอกได้เมื่อนกกระจอกเทศออกไข่แล้ว แต่ยังไม่ทราบค่า ใน
ขณะที่จำนวนไข่ของช้างนั้นไม่มีค่า เป็นต้น
5. เหตุใดจึงต้องมีการนำ Integrity rule มาใช้ในฐานข้อมูล
     - สามารถแบ่งเป็น 2 ส่วน ดังนี้
  การกำหนด Entity Integrity Rule เป็นการกำหนด Integrity Rule ขึ้นเพื่อควบคุมค่าของ Attribute ต่างๆ ให้มีค่าเป็นไปตามที่กำหนด ดังเช่น ตัวอย่างคำสั่ง SQL
  การกำหนด Referential Integrity Rule เป็นการกำหนด Integrity Rule ขึ้นเพื่อควบคุมความถูกต้องในการอ้างถึงข้อมูลระหว่าง Table ต่างๆ ดังเช่น ตัวอย่างคำสั่ง SQL
6. ความสัมพันธ์ระหว่างรีเลชั่นมีกี่ประเภท อะไรบ้าง จงยกตัวอย่างประกอบ
     - มี 2 ประเภท คือ
1. รีเลชั่นหลัก (Base Relation)
    เป็นตารางที่ใช้ในการเก็บข้อมูลจริงเพื่อนำข้อมูลไปใช้ ถูกสร้างด้วยภาษาสำหรับนิยามข้อมูล (DDL) เช่น ภาษา SQL คำสั่ง Create Table เป็นการสร้าง Relation หลัก
2. วิว (View)
     เป็น ตารางที่ถูกสร้างขึ้นตามความต้องการของผู้ใช้แต่ละคน โดยทำการวิวจากรีเลชั่นหลัก ช่วยให้การรักษาความปลอดภัยของฐานข้อมูลทำได้โดยง่าย เพราะฉะนั้นวิวจึงเป็นตารางสมมติหรือตารางที่แปลค่ามา (Vertual Table หรือ Derives Table) จะไม่ถูกจัดเก็บจริง ๆ ในระบบ

วันเสาร์ที่ 20 พฤศจิกายน พ.ศ. 2553

วิชาฐานข้อมูล

การบ้านบทที่ 3 ประจำวันที่ 17 พ.ย. 53

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

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

3. ปัญหาที่สำคัญของ Hierarchica Model คืออะไร และเหตุใด Hierarchica Model จึงไม่สามารถลดความซ้ำซ้อนของข้อมูลได้ทั้งหมด
          เป็นฐานข้อมูลที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบของ โครงสร้างต้นไม้ (tree structure) เป็นโครงสร้างลักษณะคล้ายต้นไม้เป็นลำดับชั้น ซึ่งแตกออกเป็นกิ่งก้านสาขา หรือที่เรียกว่า เป็นการจัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบ พ่อ-ลูก (Parent-Child Relationship Type : PCR Type)
           1. Record ลูก ไม่สามารถมี record พ่อหลายคนได้ เช่น นักศึกษาสามารถลงทะเบียนได้มากกว่า 1 วิชา
           2. มีความยืดหยุ่นน้อย เพราะการปรับโครงสร้างของ Tree ค่อนข้างยุ่งยาก
           3. มีโอกาสเกิดความซ้ำซ้อนมากที่สุดเมื่อเทียบกับระบบฐานข้อมูลแบบโครงสร้างอื่น
           4.หากข้อมูลมีจำนวนมาก การเข้าถึงข้อมูลจะใช้เวลานานในการค้นหา เนื่องจากจะต้องเข้าถึงที่ต้นกำเนิดของข้อมูล

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

5.สิ่งที่ทำให้ Relational Model ได้รับความนิยมอย่างมากคืออะไร จงอธิบาย      
           เป็นการจัดข้อมูลในรูปแบบของตาราง 2 มิติ คือมี แถว (Row) และ คอลัมน์ (Column) โดยการเชื่อมโยงข้อมูลระหว่างตาราง จะใช้ Attribute ที่มีอยู่ทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล
          1. เหมาะกับงานที่เลือกดูข้อมูลแบบมีเงื่อนไขหลายคีย์ฟิลด์ข้อมูล
          2. ป้องกันข้อมูลถูกทำลายหรือแก้ไขได้ดี เนื่องจากโครงสร้างแบบสัมพันธ์นี้ผู้ใช้จะไม่ทราบว่าการเก็บข้อมูลในฐานข้อมูลอย่างแท้จริงเป็นอย่างไร จึงสามารถป้องกันข้อมูลถูกทำลายหรือถูกแก้ไขได้ดี
          3.การเลือกดูข้อมูลทำได้ง่าย มีความซับซ้อนของข้อมูลระหว่างแฟ้มต่าง น้อยมาก อาจมีการฝึกฝนเพียงเล็กน้อยก็สามารถใช้ทำงานได้