![]() |
|
![]() |
|
![]() |
ความสัมพันธ์ระหว่างภาษาสอบถามเชิงโครงสร้างกับกระบวนการสอบถามข้อมูลและการสอบถามข้อมูลที่ได้คำตอบที่ดีที่สุด
1 โครงสร้างของตัวประมวลผลสอบถามตัวประมวลผลสอบถามเป็นส่วนประกอบหนึ่งของระบบการจัดการฐานข้อมูลที่ทำหน้าที่ในการเลือกแผนหรือกลยุทธ์ที่เหมาะสม ตัวประมวลผลสอบถามมีโครงสร้างดังภาพที่ 8.1.2.1 ซึ่งมีส่วนประกอบดังนี้ ภาพที่ 1โครงสร้างของตัวประมวลผลสอบถาม1.1 ส่วนตรวจสอบภาษา (parser)เป็นส่วนหนึ่งของตัวประมวลผลสอบถามที่ทำหน้าที่ตรวจเช็คกฎและหลักเกณฑ์ (syntax) ของคำสั่งสอบถามข้อมูลที่กำหนดไว้ในระบบฐานข้อมูล โดยจะทำการตรวจสอบข้อมูลที่อยู่ในพจนานุกรมข้อมูลแล้วทำการแปลคำสั่งให้อยู่ในรูปของสมการพีชคณิตแบบสัมพันธ์ (relational algebraic expression) ที่ระบบจัดการฐานข้อมูลสามารถเข้าใจได้ ตัวอย่าง ภาษาSQL เพื่อภาษาสอบถามข้อมูลต้องการสอบถามข้อมูลจากตาราง COURSE โดยทำการค้นหาข้อมูลที่มีรหัสวิชา (Course#) เป็น COMP353 ที่มี Smith เป็นผู้สอนมีดังนี้ select Course# from COURSE where Course# = COMP353 and Insturctor = Smith; จากคำสั่งภาษา SQL ดังกล่าวข้างต้น ส่วนตรวจสอบภาษา (parser) จะทำการแปลคำสั่งในการสอบถามจากภาษา SQL ให้อยู่ในรูปของสมการพีชคณิตแบบสัมพันธ์ (relational algebraic expression) ได้ดังนี้ s Course# = COMP353 Ù (Instructor = Smith(COURSE)) 1.2 ออฟติไมเซอร์ (optimizer)เป็นส่วนหนี่งของตัวประมวลผลสอบถามที่ทำหน้าที่ในการกลยุทธ์หรือวิธีการที่เหมาะสมเพื่อให้การเข้าถึงข้อมูลประหยัดเวลาที่สุด เมื่อคำสั่งในภาษาสอบถามผ่านตัวตรวจสอบภาษา (parser) แล้วจะได้คำสั่งในการสอบถามที่อยู่ในรูปของสมการพีชคณิตแบบสัมพันธ์ (relational algebraic expression) ซึ่งสามารถประมวลผลได้หลายวิธีด้วยเทคนิคต่าง ๆ ในการหาทางเลือกที่เหมาะสม (optimization) ออฟติไมเซอร์จะทำการเลือกการเข้าถึงข้อมูล (aceess plan) โดยการเลือกแผนการเข้าถึงข้อมูลซึ่งจะต้องคำนึงถึงประเด็นต่อไปนี้ · การลดปริมาณการดึงหรือเรียกใช้ข้อมูล · การลดขนาดของโครงสร้างข้อมูลโดยพิจารณาใช้เทคนิคการลดการทำงานระหว่างการดึงข้อมูล · เพิ่มความสามารถในการดึงข้อมูลด้วยการเรียงลำดับไว้ก่อน การจัดเรียงลำดับใหม่อาจจะช่วยลดการทำงานบางอย่างไร เพื่อช่วยให้การประมวลผลสอบถามสามารถทำงานได้ดีขึ้น ออฟติไมเซอร์โดยอาจสร้างสมการพีชคณิตแบบสัมพันธ์ให้อยู่ในรูปแบบของโครงสร้างต้นไม้ที่อยู่ในรูปของกราฟ (operator graph) ดังภาพที่ 8.1.2.2 เป็นโอเปอร์เรเตอร์กราฟ (operator graph) ของการค้นหารายชื่อของนักศึกษาที่ลงทะเบียนเรียนวิชา Database ภาพที่ .2 ตัวอย่างโอเปอร์เรชันกราฟ(operator graph)· จัดลำดับคำสั่งเพื่อให้ขั้นตอนการทำงานลดลงได้แก่ จัดลำดับการคำสั่ง SELECT เพื่อลดการนำเข้าข้อมูลตั้งแต่เริ่มต้นดึงข้อมูลจากดิสก์ · เลือกใช้คำสั่งในการจัดกลุ่ม( PROJECT ) และคำสั่งค้นหา (SELECT) ในการเลือกกลุ่มข้อมูล |
|
|