วันพุธที่ 24 พฤศจิกายน พ.ศ. 2553

วิชา การจัดการฐานข้อมูลเบื้องต้น

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

คำถามท้ายบทที่ 4
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. คุณสมบัติในการจัดเก็บข้อมูลของรีเลชั่นมีอะไรบ้าง
ตอบ       1) ข้อมูลในแต่ละแถวไม่ซ้ำกัน
                2) การเรียงลำดับของข้อมูลในแต่ละแถวไม่เป็นสาระสำคัญ
            3) การเรียงลำดับของ Attribute จะเรียงลำดับก่อนหลังอย่างไรก็ได้
            4) ค่าของข้อมูลในแต่ละ Attribute ของ Tuple หนึ่งๆ จะบรรจุข้อมูลได้เพียงค่าเดียว (Single Value )
            5) ค่าของข้อมูลในแต่ละ Attribute จะบรรจุค่าของข้อมูลประเภทเดียวกัน
3. รีเลชั่นประกอบด้วยคีย์ประเภทต่างๆ อะไรบ้าง จงอธิบายพร้อยยกตัวอย่างประกอบประเภทคีย์ดังกล่าว
ตอบ       1) คีย์หลัก (Primary Key ) เป็น Attribute ที่มีคุณสมบัติของข้อมูลที่มีค่าเป็นเอกลักษณ์หรือไม่มีค่าซ้ำกัน โดยคุณสมบัตินั้นจะสามารถระบุว่าข้อมูลนั้นเป็นของ Tuple ใด ตัวอย่างคีย์หลัก (Primary Key ) รหัสนักศึกษา รหัสสินค้า
      2) คีย์ผสม (Composite Key )  การนำฟิลด์ตั้งแต่ 2 ฟิลด์ขึ้นไปมารวมกัน  เพื่อให้มีคุณสมบัติเป็น Primary Key  เนื่องจากหากใช้ฟิลด์ใดฟิลด์หนึ่งเป็น PK จะส่งผลให้ข้อมูลในแต่ละเรคอร์ดซ้ำซ้อนได้  ตัวอย่างคีย์ผสม ( Composite Key) รีเลชั่นใบส่งของ (Invoice) มีคีย์ คือ แอททริบิวต์เลขที่ใบส่งของ (InvNo) และแอททริบิวต์รหัสสินค้า (ProdNo) เพราะใบส่งของแต่ละใบจะมีรายการสินค้าบรรจุในใบส่งของได้มากกว่า 1 รายการ  ดังนั้นถ้าใช้แอททริบิวต์เลขที่ใบส่งของเพียงตัวเดียวจะไม่สามารถแยกความแตกต่างแต่ละ Tuple ได้

                3) คีย์คู่แข่ง ( Candidates Key ) ในแต่ละ Relation อาจมี Attribute ที่ทำหน้าที่เป็นคีย์หลักได้มากกว่าหนึ่ง Attribute  โดยเรียก Attribute  เหล่านี้ว่า คีย์คู่แข่ง ( Candidates Key ) ตัวอย่าง คีย์คู่แข่ง( Candidates Key ) นักศึกษาแต่ละคน มีรหัสนักศึกษา รหัสประจำตัวประชาชน 
                โดยเราจะเรียก Candidate Key ที่ถูกเลือกมาใช้เป็นคีย์หลักในตารางว่า Primary Key และเรียก Candidate Key ที่ไม่ถูกเลือกเป็นคีย์หลักว่า คีย์สำรอง ( Alternate Key )
              4) คีย์นอก ( Foreign Key ) คือ คีย์ซึ่งประกอบด้วยแอทริบิวต์หรือกลุ่มของแอทริบิวต์ในรีเลชั่นหนึ่งซึ่งมีคุณสมบัติเป็นคีย์หลัก และไปปรากฏอีกรีเลชั่นหนึ่ง เพื่อประโยชน์ในการเชื่อมโยงข้อมูลซึ่งกันและกัน         ตัวอย่างคีย์นอก ( Foreign Key ) ถ้าเรามีตาราง สองตารางของลูกค้า อันหนึ่งแสดงข้อมูลของลูกค้า อีกอันแสดงสิ่งที่ลูกค้าสั่งซื้อ   สิ่งที่จะโยงถึงกันก็คือ สินค้าที่ลูกค้าสั่งนั้นจะต้องเกี่ยวโยงกับข้อมูลของลูกค้าที่ปรากฏแล้วในตาราง แบบนี้เราสามารถใช้ foreign key ในข้อมูลของสิ่งของที่ลูกค้าสั่ง แล้วโยงถึง primary key คือข้อมูลของลูกค้า  เช่น primary key จะเป็น ชื่อ นามสกุล วัน เดือน ปี หรือเลขหมายที่ลูกค้าสั่งของ แล้ว foreign key เป็น SID (security identifier) ของลูกค้า
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)
-เป็นความสัมพันธ์ที่พบไม่บ่อยนัก
-เป็นความสัมพันธ์ของข้อมูลในเรคอร์ดใด ๆ ของตารางหนึ่งมีค่าตรงกับข้อมูลของหลาย ๆ เรคอร์ดในตารางอื่น ๆ
ยกตัวอย่างเช่น บาร์โคดหนึ่งอันสามารถกำหนดตัวเลขได้หลาย ๆ แบบ

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

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