1.โครงสร้างข้อมูลเชิงสัมพันธ์ประกอบด้วยอะไรบาง จงอธิบาย
- เอนทิตี้ (Entity) หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง ได้แก่ คน สถานที่ สิ่งของ การกระทำ ซึ่งต้องการจัดก็บข้อมูลไว้ เช่น เอนทิตี้ลูกค้า เอนทิตี้พนักงาน
- เอนทิตี้ชนิดอ่อนแอ (Weak Entity) เป็นเอนทิตี้ที่ไม่มีความหมาย หากขาดเอนทิตี้อื่นในฐานข้อมูล
แอททริบิวต์ (Attribute) หมายถึง รายละเอียดข้อมูลที่แสดงลักษณะและคุณสมบัติของเอนทิตี้หนึ่ง ๆ เช่น เอนทิตี้นักศึกษา ประกอบด้วย - แอทริบิวต์รหัสนักศึกษา
- แอททริบิวต์ชื่อนักศึกษา
- แอททริบิวต์ที่อยู่นักศึกษา
2. คุณสมบัติในการจัดเก็บข้อมูลของรีเลชั่นมีอะไรบ้าง
- 1. รีเลชั่นต้องมีชื่อกำกับ แต่ละชื่อต้องแตกต่างกัน ซ้ำกันไม่ได้
2. แต่ละแอตตริบิวต์ของรีเลชั่นจะบบรจุได้เพียงค่าเดียว (Single value)
3. ชื่อในแต่ละแอตตริบิวต์ต้องแตกต่างกัน ชื่อจะซ้ำกันไม่ได้
4. ค่าของข้อมูลในแอตตริบิวต์เป็นไปตามข้อกำหนดของโดเมนในแอตตริบิวต์นั้นๆ
5. การเรียงลำดับของแต่ละแอตตริบิวต์ไม่มีความสำคัญใดๆ
6. แต่ละทูเพิลต้องมีความแตกต่างกัน จะไม่มีทูเพิลที่ซ้ำกัน
7. การเรียงลำดับของทูเพิลไม่มีความสำคัญใดๆ
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 Values)
ค่าของ Attribute อาจจะเป็นค่าว่าง (Null) คือ ไม่มีค่าหรือยังไม่ทราบค่าได้ ตัวอย่างเช่น
จำนวนไข่ของนกกระจอกเทศ จะสามารถบอกได้เมื่อนกกระจอกเทศออกไข่แล้ว แต่ยังไม่ทราบค่า ใน
ขณะที่จำนวนไข่ของช้างนั้นไม่มีค่า เป็นต้น
5. เหตุใดจึงต้องมีการนำ Integrity rule มาใช้ในฐานข้อมูล
- สามารถแบ่งเป็น 2 ส่วน ดังนี้
การกำหนด Entity Integrity Rule เป็นการกำหนด Integrity Rule ขึ้นเพื่อควบคุมค่าของ Attribute ต่างๆ ให้มีค่าเป็นไปตามที่กำหนด ดังเช่น ตัวอย่างคำสั่ง SQL
การกำหนด Referential Integrity Rule เป็นการกำหนด Integrity Rule ขึ้นเพื่อควบคุมความถูกต้องในการอ้างถึงข้อมูลระหว่าง Table ต่างๆ ดังเช่น ตัวอย่างคำสั่ง SQL
6. ความสัมพันธ์ระหว่างรีเลชั่นมีกี่ประเภท อะไรบ้าง จงยกตัวอย่างประกอบ
- มี 2 ประเภท คือ
1. รีเลชั่นหลัก (Base Relation)
เป็นตารางที่ใช้ในการเก็บข้อมูลจริงเพื่อนำข้อมูลไปใช้ ถูกสร้างด้วยภาษาสำหรับนิยามข้อมูล (DDL) เช่น ภาษา SQL คำสั่ง Create Table เป็นการสร้าง Relation หลัก
2. วิว (View)
เป็น ตารางที่ถูกสร้างขึ้นตามความต้องการของผู้ใช้แต่ละคน โดยทำการวิวจากรีเลชั่นหลัก ช่วยให้การรักษาความปลอดภัยของฐานข้อมูลทำได้โดยง่าย เพราะฉะนั้นวิวจึงเป็นตารางสมมติหรือตารางที่แปลค่ามา (Vertual Table หรือ Derives Table) จะไม่ถูกจัดเก็บจริง ๆ ในระบบ