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