วันอาทิตย์ที่ 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)
- เป็นความสัมพันธ์ที่พบไม่บ่อยนัก
- เป็นความสัมพันธ์ของข้อมูลในเรคอร์ดใด ๆ ของตารางหนึ่งมีค่าตรงกับข้อมูลของหลาย ๆ เรคอร์ดในตารางอื่น ๆ
ยกตัวอย่างเช่น บาร์โคดหนึ่งอันสามารถกำหนดตัวเลขได้หลาย ๆ แบบ

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

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