1.ง่าย
คำสั่ง SQL ใดเพิ่มแถวใหม่ลงในตาราง?
- ASELECT
- BALTER
- CINSERT
- DUPDATE
2.ง่าย
ข้อจำกัด (constraint) ใดรับรองว่าคอลัมน์ไม่มีทางเว้นว่าง (NULL)?
- ACHECK NULL
- BDEFAULT
- CUNIQUE
- DNOT NULL
3.ง่าย
คีย์แทน (surrogate key) คืออะไร?
- Aคีย์ที่สร้างจากข้อมูลจริง เช่น อีเมล
- Bตัวระบุที่สร้างขึ้นซึ่งไม่มีความหมายทางธุรกิจ เช่น id ที่เพิ่มอัตโนมัติ
- Cคีย์ที่ใช้เฉพาะในวิว
- Dคีย์ที่อ้างอิงอีกตารางหนึ่ง
4.ปานกลาง
เหตุใดตารางจึงมีดัชนีคลัสเตอร์ได้เพียงหนึ่งดัชนี?
- Aแถวเก็บทางกายภาพได้เพียงลำดับเดียว
- Bดัชนีคลัสเตอร์อยู่ได้เฉพาะบนคีย์หลัก
- Cมาตรฐาน SQL ห้ามมีดัชนีมากกว่าหนึ่งดัชนีต่อตาราง
- Dดัชนีคลัสเตอร์ใช้หน่วยความจำมากเกินไป
5.ปานกลาง
รูปแบบบรรทัดฐานที่สาม (3NF) ขจัด:
- Aค่าอะตอมมิก
- Bการพึ่งพาแบบถ่ายทอดระหว่างแอตทริบิวต์ที่ไม่ใช่คีย์
- Cดัชนีที่ซ้ำซ้อนบนคอลัมน์ที่ไม่ได้เป็นส่วนของคีย์
- Dคีย์ประกอบ
6.ปานกลาง
นักเรียนลงเรียนได้หลายวิชา และวิชามีนักเรียนหลายคน จะสร้างแบบจำลองนี้ในตารางอย่างไร?
- Aด้วยคอลัมน์คีย์นอก course_id ในตาราง students ที่ชี้ไปยัง courses
- Bด้วยรายการ id ของวิชาที่เก็บในคอลัมน์เดียว
- Cโดยรวม students และ courses เป็นตารางเดียว
- Dด้วยตารางเชื่อม (junction table) ที่เก็บคีย์นอกไปยังทั้ง students และ courses
7.ยาก
ข้อเสียที่รู้จักของการแยกตารางเป็น BCNF เมื่อเทียบกับ 3NF คืออะไร?
- Aการพึ่งพาเชิงฟังก์ชันบางอย่างอาจตรวจสอบภายในตารางเดียวไม่ได้อีกต่อไป
- Bตาราง BCNF มีคีย์หลักไม่ได้
- Cการแยกทำให้ข้อมูลหายเสมอเมื่อเชื่อมกลับ
- DBCNF ยอมให้มีความซ้ำซ้อนมากกว่า 3NF
8.ยาก
มีดัชนีประกอบบน (last_name, first_name) เงื่อนไขใดใช้ดัชนีนี้ได้อย่างมีประสิทธิภาพที่สุด?
- AWHERE last_name = 'Jansen'
- BWHERE UPPER(first_name) = 'EVA'
- CWHERE first_name = 'Eva'
- DWHERE first_name LIKE '%a'