วันพฤหัสบดีที่ 25 พฤศจิกายน พ.ศ. 2553

คำถามท้ายบทที่ 4 เรื่อง Relational Database

 

"วิชาฐานข้อมูลเบื้องต้น (4122201) ตอนเรียน A1*
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

**วันจันทร์ ที่ 29 พฤศจิกายน 2553**

********************************************************************
6. ความสัมพันธ์ระหว่างรีเลชั่นมีกี่ประเภท อะไรบ้าง จงยกตัวอย่างประกอบ
     ตอบ  มี 2 ประเภท  คือ
1. รีเลชั่นหลัก   (  Base  Relation  )
 เป็นรีเลชั่นที่ถูกกำหนดขึ้นเพื่อเก็บข้อมูลเพื่อนำข้อมูลไปใช้ เมื่อมีการสร้างรีเลชั่นในภาษาสำหรับนิยามข้อมูล  (  DDL )  เช่น  SQL  คำสั่ง  CREATE  TABLE  เป็นการสร้างรีเลชั่นหลัก  หลังจากนั้นก็จะทำการเก็บข้อมูลเพื่อการเรียกใช้ข้อมูลในภายหลัง  รีเลชั่นหลักจะเป็นตารางที่มีการเก็บข้อมูลจริงไว้
2. วิว  ( View  )
 เป็นรีเลชั่นที่ถูกสร้างขึ้นตามความต้องการใช้ข้อมูลของผู้ใช้แต่ละคน  เพราะผู้ใช้แต่ละคนในฐานข้อมูลอาจต้องการใช้ข้อมูลในลักษณะที่แตกต่างกัน  จึงทำการกำหนดวิวของตนเองขึ้นจากรีเลชั่นหลักขึ้นมาต่างหาก  เพื่อความสะดวกในการเรียกใช้ข้อมูล  และช่วยในการรักษาความปลอดภัยของฐานข้อมูลทำได้ง่ายขึ้น

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

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