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

วิชา ฐานข้อมูลเบื้องต้น

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

1. โครงสร้างข้อมูลเชิงสัมพันธ์ประกอบด้วยอะไรบ้าง  จงอธิบาย
     ตอบ  Relation - ตาราง 2 มิติ ประกอบด้วย Row และ Column
              Attribute - คุณสมบัติหรือรายละเอียดของ Relation
              Domain - เป็นการกำหนดขอบเขต ค่าข้อมูล และชนิดของข้อมูล เช่น Salary - มีค่าไม่เกิน 7 digits ,เพศ - 1 = ชาย/2 = หญิง
              Tople - คือแถวแต่ละแถวใน Relation
              Degree - คือจำนวน Attribute ที่บรรจุอยู่ใน Relation
              Cardinality - คือจำนวน Tuple หนึ่งที่บรรจุอยู่ใน Relation หนึ่งที่ไปมีความสัมพันธ์ใน Tuple ของอีก Relation หนึ่ง
2. คุณสมบัติในการจัดเก็บข้อมูลของรีเลชั่นมีอะไรบ้าง
     ตอบ 1. Relation ต้องมีชื่อกำกับ และชื่อซ้ำกันไม่ได้
              2. แต่ละ Attribute ของ Relation จะบรรจุค่าเพียงค่าเดียว (single value)
              3. ชื่อของแต่ละ Attribute ในแต่ละ Relation จะต้องไม่ซ้ำกัน
              4. ค่าของข้อมูลใน Attribute ต้องเป็นไปตามข้อกำหนดของ Domain ใน Attribute นั้น ๆ
              5. การเรียงลำดับในแต่ละ Attribute ไม่มีความสำคัญใด ๆ
              6. แต่ละ Tuple ต้องไม่มีข้อมูลที่ซ้ำกัน
              7. การเรียงลำดับของแต่ละ Tuple ไม่มีความสำคัญใด ๆ
3. รีเลชั่นประกอบด้วยคีย์ประเภทต่าง ๆ อะไรบ้าง จงอธิบายพร้อมยกตัวอย่างประกอบประเภทคีย์ดังกล่าว
     ตอบ 1. คีย์หลัก (Primary Key) เป็น Attribute ที่มีคุณสมบัติของข้อมูลที่มีค่าเป็นเอกลักษณ์ หรือไม่มีค่าซ้ำกัน โดยคุณสมบัตินั้นจะสามารถระบุว่าข้อมูลนั้นเป็นของ Tuple ใด เช่น รหัสนักศึกษา หรือเลขที่บัตรประชาชน ซึ่งจะต้องเลือกอย่างใดอย่างหนึ่งเป็นคีย์หลักขึ้นมา
              2. คีย์ผสม (Composite Key) เป็นการนำฟิลด์ตั้งแต่ 2 ฟิลด์ขึ้นไปมารวมกัน เพื่อให้มีคุณสมบัติเป็น Primary Key เนื่องจากหากใช้ฟิลด์ใดฟิลด์หนึ่งเป็น PK จะส่งผลให้ข้อมูลในแต่ล่ะเรคอร์ดซ้ำซ้อนได้ เช่น รีเลชั่นใบส่งของ (Invoice) มีคีย์ คือ แอทริบิวต์เลขที่ใบส่งของ และแอทริบิวต์รหัสสินค้า เพราะใบส่งของแต่ละใบจะมีรายการสินค้าบรรจุในใบส่งของได้มากกว่า 1 รายการ ดังนั้นถ้าใช้แอทริบิวต์เลขที่ใบส่งของเพียงตัวเดียวจะไม่สามารถแยกความแตกต่างแต่ละ Tuple ได้
              3. คีย์คู่แข่ง (Candidates Key) ในแต่ละ Relation อาจมี Attribute ที่ทำหน้าที่เป็นคีย์หลักได้มากกว่าหนึ่ง Attribute โดยเรียก Attribute เหล่านี้ว่า คีย์คู่แข่ง (Candidates Key) เช่น นักศึกษาแต่ละคนมี รหัสประจำตัวนักศึกษา และ รหัสประจำตัวบัตรประชาชน โดยปกติแล้วจะเลือก Candidates Key ที่สั้นที่สุดเป็น Primary Key
              4. คีย์นอก (Foreign Key) คือคีย์ซึ่งประกอบด้วยแอทริบิวต์หรือกลุ่มของแอทริบิวต์ในรีเลชันหนึ่งซึ่งมีคุณสมบัติเป็นคีย์หลัก และไปปรากฎอีกรีเลชันหนึ่ง เพื่อประโยชน์ในการเชื่อมโยงข้อมูลซึ่งกันและกัน เช่น ฐานข้อมูลของธนาคารแห่งหนึ่งประกอบด้วย 2 ตาราง คือ 1. ตารางบัญชีที่ลูกค้าเปิด (เลขประจำตัวลูกค้า, ชื่อ - นามสกุลและประเภทของบัญชี) 2. ตารางลูกค้า (เลขประจำตัวลูกค้า, ชื่อ - นามสกุล และที่อยู่) หากต้องการทราบว่าลูกค้ารายหนึ่งเปิดบัญชีใดบ้าง ก็เชื่อมโยงข้อมูล 2 ตารางเข้าด้วยกัน โดยใช้เลขประจำตัวลูกค้าเป็นForeign Key
4. Null หมายถึงอะไรใน Relational Database
    ตอบ Null หมายถึง Attribute ใดที่ไม่มีค่าข้อมูลเก็บอยู่หรือไม่ทราบค่าข้อมูลที่จะใส่ลงไปใน Attribute ของระเบียนหนึ่ง ๆ ค่าว่างไม่ใช่ช่องว่าง (Blank) หรือ ศุนย์
5. เหตุใดจึงต้องมีการนำ Integrity rule มาใช้ในฐานข้อมูล
     ตอบ เพราะฐานข้อมูลไม่สามารถรู้ได้เองว่าข้อมูลที่เก็บอยู่นั้นสอดคล้องกับความเป็นจริงหรือไม่ เราจึงต้องบอกให้ฐานข้อมูลรู้ด้วยสิ่งที่เรียกว่า กฎการควบคุมความถูกต้องของข้อมูล
6. ความสัมพันธ์ระหว่างรีเลชั่นมีกี่ประเภท อะไรบ้าง จงยกตัวอย่างประกอบ
    ตอบ ความสัมพันธ์ระหว่างรีเลชั่น แบ่งออกเป็น 3 ประเภท คือ
              1. One to One Relationship (1 - 1) เช่น อาจารย์ กับ คณะ คือ แต่ละคณะจะมีอาจารย์ที่เป็นคณบดีได้คนเดียวเท่านั้น
              2. One to Many Relationship (1 - M) เช่น ลูกค้า กับ ใบสั่งซื้อ คือ ลูกค้าหนึ่งคนมีใบสั่งซื้อได้หลายใบ และใบสั่งซื้อแต่ละใบจับคู่กับลูกค้าได้เพียงคนเดียว
              3. Many to Many Relationship (M - M) เช่น สินค้า กับ ใบสั่งซื้อ คือ สินค้า 1 ชนิด ถูกสั่งตามใบสั่งซื้อได้หลายใบ และใบสั่งซื้อ 1 ใบ สามารถสั่งสินค้าได้หลายชนิด

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

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