เฉลยคำถามท้ายบท [3]


Home Page  |   รายการบทความ   |   ลิงค์ที่เกี่ยวข้อง   |   laploy.com  |  เกี่ยวกับผู้เขียน

เฉลยคำถามท้ายบท [3]

บทที่ 9

1. สถาปัตยกรรมแบบ ฟอน นอยมานเป็นอย่างไร

สถาปัตยกรรมที่มีโปรเซสเซอร์เพียงตัวเดียว

2. การคิดแบบ PL เป็นอย่างไร

คือคิดแบบแยกย่อยประบวนการเป็นขั้นตอนเล็กๆ เพื่อดำเนินการตามลำดับ

3. การคิดแบบเซตเป็นอย่างไร

คิดเป็นภาพรวมทั้งหมด หรือเป็นก้อนใหญ่ทั้งก้อนไปในทีเดียวกัน

4. ตารางเทียมแบ่งออกเป็นกี่แบบ

สามแบบคือ ตารางช่วย (Auxiliary Table) ตารางชั่วคราว (Temporal Table) ตารางเสมือน (Virtual Table)

5. แบบจำลองในการเขียนโปรแกรมมีทั้งหมดกี่แบบ

แบบเน้นกระบวนการ (Procedural Programming)แบบเน้นฟังก์ชัน (Functional Programming)

แบบเน้นข้อกำหนด (Constraint Programming) แบบเน้นวัตถุ (OOP)

6. ดาต้าโมเดลคืออะไร

แบบจำลองข้อมูลลักษณะการเก็บข้อมูลในโลกของฐานข้อมูลสัมพันธ์

7. คอลัมน์คืออะไร

คือการแบ่งข้อมูลในแถวออกเป็นส่วนๆ

8. แถวคืออะไร

คือการแบ่งข้อมูลในตารางออกเป็นส่วนๆ

9. คิวรีคืออะไร

ในหนังสือเล่มนี้หมายถึงคำสั่งภาษา T-SQL ทั้งหมด

10. โมเลกุลคืออะไร

การเก็บค่าหลายๆ ค่าไว้ภายในคอลัมน์เดียว

11. หน่วยข้อมูลแบบไอโซเมอร์คืออะไร

หน่วยข้อมูลสองหน่วยที่มีข้อมูลเดี่ยวจำนวนเท่ากันและชนิดเดียวกัน

12. ตัวแสดงแทนคืออะไร

โค้ดให้ส่งค่ากลับเป็นค่างคงที่เพื่อให้โค้ดที่เรียกใช้สามารถรันได้เหมือนมีเมธอดที่เขียนเสร็จแล้วจริงๆ

13. อะมีบาเทียบได้กับอะไร

การทำงานของคิวรีที่สามารถแตกตัวออกเป็นตัวประมวลผลใหม่จำนวนมากและกระจายงานให้ทำพร้อมๆ กันได้

14. Derived Table คืออะไร

ตารางชั่วคราวที่เกิดจากการทำงานของคิวรี

 

บทที่ 10

1. ภาษา T-SQL ถูกออกแบบมาอย่างไร

ให้มีรูปแบบคำสั่งคล้ายภาษามนุษย์ หรือภาษาธรรมชาติ เพื่อให้ผู้ใช้ที่ไม่ใช่โปรแกรมเมอร์หรือนักคอมพิวเตอร์ สามารถป้อนพิมพ์คิวรีเพื่อดึงข้อมูลจากฐานข้อมูลได้เอง

2. คำสั่ง GO ทำหน้าที่อะไร

กำหนดจุดสิ้นสุดของแบตช์

3. คำสั่ง USE ทำหน้าที่อะไร

กำหนดฐานข้อมูลที่ต้องการทำคิวรี

4. เครื่องหมาย ; มีหน้าที่อะไร

ระบุจุดสิ้นสุดของบรรทัดคำสั่ง

5. เครื่องหมายขีดลบติดกันสองอัน (–) ใช้ทำหน้าที่อะไร

กำหนดหมายเหตุหรือคอมเมนท์แบบ ANSI

6. เครื่องหมาย @ มีหน้าที่อะไร

มีไว้ใส่นำหน้าชื่อตัวแปร

7. ขอบเขตของตัวแปรท้องถิ่นเป็นอย่างไร

มีขอบเขตหรือมีชีวิตอยู่ภายในแบตช์ที่ประกาศมันเท่านั้น

8. คำสั่ง Step over ใช้ทำอะไร

รันโค้ดข้ามส่วนสพร็อกซ์ ฟังก์ชัน ทริกเกอร์ ที่ปรากฏอยู่ภายในคิวรี

9. ตัวแปรแบบใดเก็บค่าเป็นโรวเซต

ตัวแปรแบบตาราง (table variable)

10. การกำหนดค่าตัวแปรด้วย SET และ SELECT แตกต่างกันอย่างไร

คำสั่ง SET นำค่ามาจากค่าคงที่หรือนิพจน์ ส่วนคำสั่ง SELECT นำค่ามาจากตาราง

11. คำสั่ง Begin/End มีหน้าที่อะไร

ช่วยให้กำหนดบล็อกเพื่อให้คำสั่งต่างๆ ที่จะทำงานเมื่อเงื่อนไขของ IF เป็นจริงมีได้หลายบรรทัด

12. คำสั่ง WAITFOR ใช้ทำอะไร

ใช้ทำให้โปรแกรมหยุดรอตามเวลาที่กำหนด โดยช่วงที่หยุดรออาจกำหนดเป็นวินาที หรือกำหนดให้หยุดรอจนถึงเวลาที่กำหนด

13. คำสั่ง CASE แตกต่างจากคำสั่ง IF อย่างไร

คำสั่ง IF ใช้กับบล็อกของโค้ดภายนอกคิวรี ส่วนคำสั่ง CASE ใช้ตรวจสอบเงื่อนไขและทำงานภายในคิวรี

14. ตัวแปรโกลบอลคืออะไร

คือตัวแปรของระบบเพื่อใช้เรียกดูสถานะ

15. ชื่อตัวแปรท้องถิ่นควรเขียนแบบใด

ปาสคาล

16. อินเตอร์เซคคืออะไร

คือตัวกระทำทางเซต เมื่อ x = A ∩ B ค่าของ x จะเป็นหน่วยต่างๆ ที่มีซ้ำกันอยู่ในทั้ง A และ B

17. คำสั่ง TOP ใช้ทำหน้าที่อะไร

ใช้ร่วมกับคำสั่ง SELECT เพื่อกำหนดจำนวนแถวที่ต้องการให้ฉายแสดง

 

บทที่ 11

1. ท่านสามารถสร้างตารางในฐานข้อมูลได้กี่ตาราง

สองพันล้านตาราง

2. ในหนึ่งตารางเก็บข้อมูลได้กี่แถว

เก็บได้ไม่จำกัดจนกว่าฮาร์ดดิสก์จะเต็ม

3. ภายในหนึ่งตารางมีดรรชนีได้กี่ดรรชนี

หนึ่งพันดรรชนี

4. คำว่า dbo คืออะไร

ย่อจาก Database Owner หมายถึงผู้สร้างฐานข้อมูลนั้น

5. ตัวกำหนด IGNORE_DUP_KEY ทำหน้าที่อะไร

ทำหน้าที่กำหนดว่าจะให้แสดงเออเรอร์เมื่อพบค่าในกุญแจซ้ำกันหรือไม่

6. วิธีเรียกดูรายการออพเจ็กต์ที่ผูกอยู่กับตารางทำอย่างไร

ทำได้โดยเรียกดูวิวชื่อ sys.dm_sql_referencing_entities

 

บทที่ 12

1. DT คืออะไร

คือ Derived Table เป็นตารางเสมือนที่เกิดจากผลลัพธ์ของคำสั่ง SELECT

2. คำสั่ง WHERE มีหน้าที่อะไร

ใช้คัดกรองแถวข้อมูลใน DT ที่เกิดจากผลลัพธ์ของคำสั่ง SELECT

3. คำสั่ง DISTINCT ทำหน้าที่อะไร

กำจัดข้อมูลซ้ำภายใน DT

4. การคัดกรองด้วยเงื่อนไขหลายอย่างทำอย่างไร

ใช้คำสั่ง WHERE ร่วมกับตัวกระทำตรรกะ AND และ OR

5. คำสั่ง AS ใช้ทำอะไร

ใช้กำหนดชื่อเล่นให้คอลัมน์ของ DT

6. การสุ่มดูข้อมูลในตารางทำอย่างไร

ใช้คำสั่ง TABLESAMPLE หรือใช้คำสั่ง ORDER BY ร่วมกับฟังก์ชัน NEWID()

7. ตรวจสอบหาค่า NULL ทำอย่างไร

ใช้คำสั่ง IF NULL

8. ตรวจสอบหาค่าที่ไม่ใช่ NULL ทำอย่างไร

ใช้คำสั่ง IF NOT NULL

9. คำสั่ง LIKE มีประโยชน์อย่างไร

ค้นหาข้อความที่รู้ค่าเพียงบางส่วน หรือต้องการดูข้อมูลหลายๆ แถวที่มีข้อความคล้ายๆ กัน

10. ตัวกำหนด DESC ทำหน้าที่อะไร

เรียงลำดับกลับด้านจาก Z ไป A

11. เมตาดาต้าชื่อ INFORMATION_SCHEMA.TABLES มีประโยชน์อย่างไร

ใช้เรียกดูรายชื่อตารางทั้งหมดในฐานข้อมูลหนึ่งๆ

12. วิธีเรียกดูรายชื่อคอลัมน์ทั้งหมดในตารางทำอย่างไร

ใช้เมตาดาต้าชื่อ INFORMATION_SCHEMA.COLUMNS

13. คำสั่ง UNION ALL ใช้ทำอะไร

จับสอง DT จากสองคิวรีมารวมเป็น DT เดียว

14. ตารางที่ UNION กันได้ต้องเป็นอย่างไร

ต้องเป็นตารางที่เข้ากันได้ในทางยูเนียนหรือ Union Compatible Tables

15. Cartesian product คืออะไร

คือการจับคู่ทุกแบบหรือทุกความเป็นไปได้ระหว่างแถวข้อมูลในสองตาราง

16. การจอยแบบใดให้ผลลัพธ์เหมือน Cartesian product

INNER JOIN

17. ฟังก์ชัน SUBSTING ทำหน้าที่อะไร

นำตัวอักษรในสตริงมาแยกออกเป็นตัวๆ

18. ฟังก์ชัน LEN มีหน้าที่อะไร

ให้ข้อมูลความยาวของสตริง

19. คำสั่ง WITH ใช้ทำอะไร

ใช้สร้างคิวรีแบบ "นิพจน์ตารางร่วม" Common Table Expression

20. แอกริเกต (Aggregate) คืออะไร

คือการหาผลรวมของจำนวนเลขจากข้อมูลหลายๆ แถว

21. การเปรียบเทียบชั่วโมงของเวลาสองเวลาทำอย่างไร

ใช้ฟังก์ชัน DATEDIFF กำหนดพารามิเตอร์เป็น DAY แล้วคุณด้วย 24 คือ DATEDIFF(DATE, day1, day2) * 24

22. การเปรียบเทียบนาทีของเวลาสองเวลาทำอย่างไร

ใช้ฟังก์ชัน DATEDIFF กำหนดพารามิเตอร์เป็น DAY แล้วคุณด้วย 24 แล้วคุณด้วย 60 คือ DATEDIFF(DATE, day1, day2) * 24 * 60

23. การสร้าง Pivot table ทำอย่างไร

ทำได้โดยใช้คำสั่ง COALESCE และ ROLLUP

 

บทที่ 13

1. RC คืออะไร

คือแคลคูลัสที่คอดด์พัฒนาขึ้นเพื่อใช้ทำงานกับฐานข้อมูลสัมพันธ์โดยเฉพาะ

2. ลักษณะเด่นอย่างหนึ่งของ RC คืออะไร

เน้นตัวแปรย่าน

3. ตัวแปรย่านคืออะไร

เป็นตัวแปรที่มีค่าเป็นทูเพิลในตาราง คือตัวแปรซึ่งเก็บอนุญาตให้เก็บได้เฉพาะทูเพิลในตารางเท่านั้น

4. แคลคูลัสแบบที่เน้น RV เรียกว่าอะไร

เรียกว่าแคลคูลัสภาคทูเพิล

5. เพราะอะไรจึงต้องเสียเวลาเรียน RC

เพราะภาษา T-SQL มีต้นกำเนิดมาจาก RC

6. DT คืออะไร

คือตารางเทียมซึ่งเกิดจากแถวและคอลัมน์ที่เป็นผลลัพธ์ของคิวรี

7. ตัวแปรชี้ทูเพิลคืออะไร

คือตัวแปรนี้ทำหน้าที่เหมือนมือชี้ที่คอยชี้ไล่ไปตามข้อมูลแต่ละแถว เพื่อตรวจดูว่าแถวที่กำลังชี้อยู่มีข้อมูลตรงกับเงื่อนไขหรือไม่

8. การฉายแสดงคอลัมน์ทั้งหมดดีหรือไม่

ไม่ดีเพราะตารางบางตารางอาจมีคอลัมน์เป็นร้อยทำให้ข้อมูลล้นจอหรือหน้ากระดาษและช้าเพราะมีปริมาณข้อมูลไหลจำนวนมาก

9. ชื่อเล่นหรือ Alias มีประโยชน์อย่างไร

ช่วยทำให้คิวรีกระชับและอ่านง่ายขึ้น

10. การจอยแบ่งออกเป็นประเภทหลักกี่แบบ

แบ่งออกเป็นสองแบบคือ “การจอยสามัญ” และ “การจอยมีเงื่อนไข”

11. CROSS JOIN คืออะไร

คือการจอยแบบคาร์ทีเซียนโดยไม่มีเงื่อนไข

12. INNER JOIN คืออะไร

เหมือน CROSS JOIN แต่ต้องระบุเงื่อนไขในการจอย

13. การอ่าน RCE ควรอ่านทิศทางใด

อ่านไล่จากขวาไปซ้าย

14. วิวมีประโยชน์อย่างไร

ทำให้คิวรีซับซ้อนน้อยลง

15. เครื่องหมาย $ คืออะไร

หมายถึง "มีปรากฏในแถว”

16. การเขียน RCE ช่วยให้การสร้างคิวรีง่ายขึ้นเพราะอะไร

เพราะการตรวจสอบความถูกต้องของคิวรีขณะอยู่ในรูปของ RCE ทำได้ง่ายกว่าตอนแปลเป็นภาษา T-SQL แล้ว

17. RC มีวิธีคิดอย่างไร

มีวิธีคิดอย่าง NP คือไม่เน้นกระบวนการคือใกล้เคียงกับการสั่งด้วยภาษาธรรมชาติ

 

บทที่ 14

1. ทูเพิลคืออะไร

มีความหมายเดียวกับคำว่าแถวข้อมูล (Row) ในตาราง

2. เซตคืออะไร

คือรีเลชันที่ไม่มีทูเพิลซ้ำกัน

3. แบ็กคืออะไร

คือรีเลชันที่มีทูเพิลซ้ำกัน

4. ตัวถูกดำเนินการแบบอะตอมคืออะไร

หมายถึงตัวถูกดำเนินการที่เป็นหน่วยๆ เดียว แบ่งแยกไม่ได้

5. ตัวดำเนินการในวิชา RA แบ่งออกเป็นกี่ประเภท

สี่ คือ ตัวดำเนินการทางเซตธรรมดา ตัวดำเนินการที่ทำหน้าที่ตัดบางส่วนของความสัมพันธ์ ตัวดำเนินการซึ่งทำหน้าที่นำความสัมพันธ์สองชุดมารวมเข้าด้วยกัน ตัวดำเนินการเพื่อการเปลี่ยนชื่อ

6. DT คืออะไร

Derived Table รีเลชันเสมือนที่เกิดจากผลลัพธ์ของคิวรี มีความหมายเดียวกับ "ชุดผลลัพธ์" (Result Set ย่อ RS)

7. ตัวกระทำทางเซตทั้งเจ็ดของคอดด์มีอะไรบ้าง

ตัวคัดกรอง (Restrict) ตัวฉายแสดง (Project) การคูณ (Product) ยูเนียน (Union) อินเตอร์เซคชัน (Intersection) ดิฟเฟอร์เรนซ์ (Difference) การจอย (Join) การหาร (Divide)

8. คำสั่ง WITH มีประโยชน์อย่างไร

เป็นเครื่องมือเพื่อช่วยให้เขียนสูตรได้กระชับเข้า

9. จงสำแดงนิยามของยูเนียน

คือผลของ a ยูเนียน b คือทูเพิล t เมื่อ a และ b เป็นรีเลชันชนิดเดียวกันและประกอบด้วยทูเพิล t ในทั้งสองรีเลชัน

10. จงสำแดงนิยามของอินเตอร์เซค

เมื่อมีรีเลชัน a และ b ซึ่งเป็นรีเลชันชนิดเดียวกัน (คือมีแอตทริบิวต์ตรงกัน) การทำอินเตอร์เซคระหว่างสองรีเลชันนี้ คือ a อินเตอร์เซค b ย่อมได้ผลลัพธ์เป็นรีเลชันที่มีชนิดเดียวกัน ภายในรีเลชันประกอบด้วยทูเพิล t ซึ่งเป็น t ที่มีอยู่ทั้งในรีเลชัน a และรีเลชัน b

11. ประโยชน์ของโปรเจคชันคืออะไร

ใช้หา "เซตย่อยทางแนวตั้ง" ของรีเลชัน คือนำมาใช้เพื่อคัดกรองเฉพาะแอตทริบิวต์ที่ต้องการออกจากแอตทริบิวต์ทั้งหมดในรีเลชัน

12. เมื่อพูดว่าจอยโดยไม่ระบุว่าเป็นการจอยแบบใดจะถือว่าคือการจอยแบบใด

จอยสามัญ

13. พีชคณิตสัมพันธ์ภาคเซตคืออะไร

คือ RA ที่ถูกออกแบบมาให้ทำงานกับรีเลชันที่มีทูเพิลไม่ซ้ำกันเลย

14. ตัวอักษรพาย (π) ใช้ทำหน้าที่อะไร

แทนตัวดำเนินการโปรเจคชัน

15. ตัวอักษรซิกมา (σ) ใช้ทำหน้าที่อะไร

ใช้แทนตัวดำเนินการซีเลคชัน

16. CE คืออะไร

คือนิพจน์เพื่อการเปรียบเทียบ Condition Expression คล้ายคลึงกับนิพจน์เพื่อการเปรียบเทียบในภาษาคอมพิวเตอร์ แต่มีข้อจำกัดอยู่ว่าตัวถูกดำเนินการต้องเป็นค่าคงที่ หรือไม่ก็เป็นแอตทริบิวต์ในรีเลชัน

17. ทำไมจึงต้องทำจอย

เพราะได้แยกข้อมูลพาดพิงต่างๆ ออกเป็นรีเลชันย่อยหลายรีเลชันตอนทำนอร์มัลไลซ์

18. เทรตาจอยคืออะไร

การจอยที่กำหนดเงื่อนไขได้

19. RAET คืออะไร

Relative Algebra Expression Tree คือการเขียน RAE ให้เป็นแผนภูมิต้นไม้

20. อักษร r (ตัวอักษรกรีก Rho) ใช้แทนอะไร

ตัวดำเนินการเปลี่ยนชื่อ

21. การทำอินเตอร์เซคชันอาจใช้วิธีใดแทนได้

การหาผลต่าง

22. การทำเทรตาจอยอาจใช้วิธีใดแทนได้

การหาผลคูณคาร์ทีเซียนร่วมกับซีเลคชัน

23. LE คืออะไร

นิพจน์เชิงเส้น Linear Expression คือนิพจน์ที่แสดงการทำงานการเรียงตามลำดับของกระบวนการ

24. LN คืออะไร

สัญลักษณ์เชิงเส้น (Linear Notation) คือการกำหนดชื่อให้แก่โหนดต่างๆ ของต้นไม้ในแต่ละช่วงการทำงาน

25. ซีเลคชันมีประโยชน์อย่างไร

คัดกรองทูเพิลตามเงื่อนไขที่กำหนด

26. คิวรีที่ให้ DT เป็นแบ็กดีกว่าเซตหรือไม่อย่างไร

ดีกว่าเพราะทำงานเร็วกว่าและกินทรัพยากรของระบบน้อยกว่า

27. ตัวดำเนินการใดที่ให้ผลลัพธ์เหมือนกันไม่ว่าจะทำกับเซตหรือแบ็ก

อินเตอร์เซคชัน และดิฟเฟอร์เรนซ์

28. ตัวดำเนินการใดที่ให้ผลลัพธ์ต่างกันเมื่อทำกับเซตและแบ็ก

ยูเนียน

29. กฎการสลับที่ของยูเนียนเป็นอย่างไร

R u S = S u R

30. กฎการกระจายสำหรับยูเนียนเป็นอย่างไร

(R u S)-T = (R-T) u (S-T)

31. เมื่อทำโปรเจคชันกับแบ็กและเซตแตกต่างกันหรือไม่อย่างไร

แตกต่างกัน เมื่อทำโปรเจคชันแบบแบ็กจะย่อมให้ DT ที่มีทูเพิลที่ซ้ำกันได้ แต่เมื่อทำโปรเจคชันแบบเซตจะตัดทูเพิลซ้ำออกจาก DT

32. ตัวดำเนินการเพิ่มจากของคอดด์มีกี่ตัว อะไรบ้าง

มีหกตัวคือ ตัวตัดข้อมูลซ้ำ ตัวหาผลรวม ตัวจัดกลุ่ม ตัวเรียงข้อมูล ตัวเสริมโปรเจคชันและ Outerjoin

33. Outerjoin คืออะไร

คือจอยแบบพิเศษที่รวม DLT ไว้ใน DT ด้วย

 

บทที่ 15

1. คำสั่ง IN ทำหน้าที่อะไร

ช่วยให้ดึงค่าที่กระจายอยู่หลายๆ แห่งในตารางได้ง่ายขึ้น

2. ประโยชน์จริงๆ ของคำสั่ง IN คืออะไร

คือการนำไปใช้ในคิวรีซ้อนคิวรี

3. คิวรีย่อยที่คืนค่าเดี่ยวเหมาะใช้ทำอะไร

ทำ SELECT เพื่อดึงเซตย่อยของแถวในตาราง

4. คิวรีย่อยเพื่อการตรวจหาค่าคืออะไร

คือคิวรีย่อยเพื่อที่ใช้คำสั่ง EXITS ทำหน้าที่ตรวจดูว่า SQEC มีค่าที่ต้องการหรือไม่โดยไม่สนใจว่า SQEC ส่งค่ากลับมากี่แถวหรือมีค่าอะไรบ้าง

5. คิวรีหลายชั้นมีประโยชน์อย่างไร

เปรียบเทียบค่ากับผลลัพธ์ที่มาจากการหาผลรวมและหาค่ากลับตรรกะ

โฆษณา

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google photo

You are commenting using your Google account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: