วันพฤหัสบดีที่ 25 พฤศจิกายน พ.ศ. 2553

วิชา ฐานข้อมูลเบื้องต้น การบ้านบทที่ 4 ประจำวันที่ 24 พ.ย 2553

1.โครงสร้างข้อมูลเชิงสัมพันธ์ประกอบด้วยอะไรบ้าง จงอธิบาย
=       ระบบฐานข้อมูลเชิงสัมพันธ์จะมีส่วนประกอบต่างเพื่อใช้ในการทำงานดังนี้

Field จะเก็บรายละเอียดต่างๆของข้อมูลที่ใช้งาน เช่น ฟิลด์ Name เป็นข้อมูลประเภท Text ในกำหนดประเภทข้องข้อมูลต้องคำนึงถึงว่าจะใช้ในการคำนวณด้วยหรือไม่Record จะประกอบไปด้วยหลายๆฟิลด์จะมีข้อมูลหลากหลายอยู่ในฟิลด์ เช่น ชื่อ ที่อยู่ เบอร์โทรศัพท์ อาชีพ เงินเดือน
Table จะเป็นการรวมหลายๆเรคคอร์ด ไว้ในฐานข้อมูลเชิงสัมพันธ์ จะเก็บตารางที่มีความสัมพันธ์กันไว้หลายๆ ตาราง
        - ตารางจะต้องมีชื่อไม่ซ้ำกัน
        - แต่ละฟิลด์จะบรรจุประเภทข้อมูลเพียงชนิดเดียวเท่านั้น
        - ข้อมูลในแต่ละเรคอร์ดจะต้องไม่ซ้ำกัน
คีย์หลัก(Primary key) คีหลัก หรือเรียกว่า PK หมายถึงฟิลด์ที่มีข้อมูลไม่ซ้ำกัน เพราะเป็นเรื่องสำคัญมากในระบบฐานข้อมูล เช่นฟิลด์รหัสลูกค้าจะต้องไม่ซ้ำกันซึ่งจะเป็นข้อมูลประเภท Number ใน 1 ตาราง ควรจะมีคีย์หลักได้เพียง 1 คีย์เท่านั้น และในคีย์หลักต้องไม่เป็นค่าว่าง
คีย์นอก(Foreign Key) คีนอก หรือเรียกว่า FK หมายถึงฟิลด์หรือคอมบิเนชั่น ของตารางหนึ่ง ซึ่งมีความสัมพันธ์กับฟิลด์ในตารางอื่น (ที่เป็นคีย์หลัก PK ) สามารถเชื่อโยงข้อมูลระหว่างกันได้
คีย์ผสม (Composite Key) คือ การนำฟิลด์ตั้งแต่ 2 ฟิลด์ขึ้นไปมารวมกัน เพื่อให้มีคุณสมบัติเป็น Primary Keyเนื่องจากหากใช้ฟิลด์ใดฟิลด์หนึ่งเป็น PK จะส่งผลให้ข้อมูลในแต่ละเรคอร์ดซ้ำซ้อนได้
คีย์คู่แข่ง (Candidates key) คือ ในแต่ละ Relation อาจมี Attribute ที่ทำหน้าที่เป็นคีน์หลักมากกว่าหนึ่ง Attribute โดยเรียก Attribute เหล่านี้ว่า คีย์คู่แข่ง (Candidates key)
2.คุณสมบัติในการจัดเก็บข้อมูลของรีเลชั่นมีอะไรบ้าง
=  -ข้อมูลในแต่ละแถวจะไม่ซ้ำกัน
    -การเรียงลำดับของข้อมูลในแต่ละแถวไม่เป็นสาระสำคัญ
    -การเรียงลำดับของ Attribute จะเรียงลำดับก่อนหลังอย่างไรก็ได้
    -ค่าของข้อมูลในแต่ละ Attribute ของ Tuple หนึ่ง ๆ จะบรรจุค่าได้เพียงค่าเดียว (Single Value)
    -ค่าของข้อมูลในแต่ละ Attribute จะบรรจุค่าของข้อมูลประเภทเดียวกัน
3.รีเลชั่นประกอบด้วยคีย์ประเภทต่าง ๆ อะไรบ้าง จงอธิบายพร้อมยกตัวอย่างประกอบประเภทคีย์ดังกล่าว
= 1.คีย์หลัก (Primary Key) เป็น Attribute ที่มีคุณสมบัติของข้อมูลที่มีค่าเป็นเอกลักษณ์ หรือไม่มีค่าซ้ำกัน
โดยคุณสมบัตินั้นสามารถจะระบุว่าข้อมูลนั้นเป็นของ Tuple ใด
ยกตัวอย่างเช่น รหัสพนักงานของแต่ละคนที่มีรหัสที่ไม่ซ้ำกันซึ่งคีย์หลัก (Primary Key) ที่สามารถบอกชื่อนามสกุลและอื่น ๆที่ เกี่ยวข้องกับพนักงานได้
2.คีย์ผสม (Composite Key) คือ
-การนำฟิลด์ตั้งแต่ 2 ฟิลด์ขึ้นไปมารวมกัน
-เพื่อให้มีคุณสมบัติเป็น Primary Key
-เนื่องจากหากใช้ฟิลด์ใดฟิลด์หนึ่งเป็น PK จะส่งผลให้ข้อมูลในแต่ละเรคอร์ดซ้ำซ้อนได้
ยกตัวอย่างเช่น รหัสลูกค้ากับรายการสั่งซื้อสินค้า
3.คีย์คู่แข่ง (Candidates key) คือ ในแต่ละ Relation อาจมี Attribute ที่ทำหน้าที่เป็นคีน์หลักมากกว่าหนึ่ง Attribute โดยเรียก Attribute เหล่านี้ว่า คีย์คู่แข่ง (Candidates key)
ยกตัวอย่างเช่น นักศึกษาแต่ละคน มี
-รหัสประจำตัวนักศึกษา
-รหัสประจำตัวประชาชน
โดยปกติแล้วจะเลือก Candidates key ที่สั้นที่สุดเป็น Primary Key
โดยเราจะเรียก Candidates key ที่ถูกเลือกมาใช้เป็นคีย์หลักในตารางว่า “Primary Key” และเรียก Candidates key ที่ไม่ถูกเลือกเป็นคีย์หลักว่า “คีย์สำรอง (Alternate Key)
Candidates key สามารถเป็น Primary Key และ  Alternate Key ได้
4.คีย์นอก(Foreign Key)
         คือคีย์ซึ่งประกอบด้วยแอตทริบิวต์หรือกลุ่มของแอตทริบิวต์ในรีเลชั่นหนึ่งซึ่งมีคุณสมบัติเป็นคีย์หลัก และปรากฏอีกรีเลชั่นหนึ่ง เพื่อระโยชน์ในการเชื่อมโยงข้อมูลซึ่งกันและกัน
-เป็น Key ที่ใช้ในการเชื่อมโยงข้อมูลระหว่างตารางเข้าด้วยกัน
ยกตัวอย่างเช่น ฐานข้อมูลของธนาคารแห่งหนึ่งประกอบด้วย 2 ตารารง คือ
-ตารางที่ลูกค้าเปิด (เลขประจำตัวลูกค้า, ชื่อ-นามสกุลและประเภทของบัญชี)
-ตารางลูกค้า (เลขประจำตัวลูกค้ , ชื่อ-นามสกุล และที่อยู่)
หากต้องการทราบว่าลูกค้ารายหนึ่งเปิดบัญชีใดบ้าง ก็เชื่อมโยงข้อมูล 2 ตารงเข้าด้วยกัน โดยใช้เลขประจำตัวลูกค้าเป็น Foreign Key
4. Null หมายถึงอะไรใน Relational Database
           = Null เป็นศัพท์เฉพาะใน Relational Database หมายถึง ไม่ทราบค่าข้อมูลที่รู้แน่ชัด เราสามารถกำหนดให้ค่าคอลัมน์ใด ๆ เป็น Null ได้ (ถ้าเป็นไปได้ควรใส่ให้ครบจะดีที่สุด) ยกเว้นคอลัมน์ที่เป็น Primary Key เพราะจะไม่สามารถนำ Primary Key มาใช้เข้าถึงข้อมูลในแต่ละแถวได้
5.เหตุใดจึงต้องมีการทำ Integrity rule มาใช้ในฐานข้อมูล
= เพราะ ฐานข้อมูลไม่สามารถรู้ได้เองว่าข้อมูลที่เก็บอยู่นั้นสอดคล้องกับความเป็นจริงหรือไม่ เราจึงต้องบอกให้ฐานข้อมูลรู้ด้วยสิ่งที่รียกว่า กฎการควบคุมความถูกต้องของข้อมูล หรือ Data Integrity
ตัวอย่างงานระบบงานทะเบียนนักศึกษาจะมี Integrity rule ดังต่อไปนี้
-นักศึกษาทุกคนต้องสังกัดคณะที่มีอยู่เท่านั้น
-วิชาที่ลงทะเบียนต้องเป็นวิชาที่เปิดสอนเท่านั้น
-เกรดเฉลี่ยแต่ละเทอมจะอยู่ระหว่าง 0.00-4.00 เท่านั้น
-เกรดที่จะได้จะต้องเป็น A,B+,B.C,C+.D+,Dหรือ F เท่านั้น เป็นต้น
6.ความสัมพันธ์ระหว่างรีเลชั่นมีกี่ประเภท อะไรบ้าง จงยกตัวอย่างประกอบ (ห้ามยกตัวอย่างซ้ำกับสไลด์ประกอบการเรียน)
= ความสัมพันธ์ระหว่างรีเลชั่นมี 3 ประเภท คือ
1.ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One to One Relationship)
-เป็นความสัมพันธ์ที่เข้าใจง่ายที่สุด
-เป็นความสัมพันธ์ของข้อมูลใน 1 เรคอร์ดในตารางหนึ่งมีความสัมพันธ์กับข้อมูลอย่างมากหนึ่งข้อมูลกับอีกเรคอร์ดในอีกตารางหนึ่งเท่านั้นในลักษณะที่เป็นหนึ่งต่อหนึ่ง
ยกตัวอย่างเช่น คนหนึ่งคนสามารถมีกรุ๊ปเลือดได้เพียงหนึ่งกรุ๊ปเลือดเท่านั้น

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

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




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

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