![]() |
|
![]() |
|
![]() |
ขั้นตอนของการทำกระบวนการสอบถามข้อมูล และการสอบถามข้อมูลที่ได้คำตอบที่ดีที่สุดการประมวลผลสอบถามจะทำการประมวลผลเป็นขั้นตอนต่าง ๆ โดยจะนำคำสั่งภาษาสอบถามที่ผู้ใช้ต้องการมาตรวจสอบกับกฎและไวยากรณ์ (rule of grammars) ของภาษาสอบถามนั้น ๆ ระบบการจัดการฐานข้อมูลจะใช้กลยุทธ์การประมวลผล (execution strategy) สำหรับหาผลลัพธ์ของคำสั่งภาษาสอบถามนั้น ๆ จะทำให้ได้ผลลัพธ์ในเวลาอันรวดเร็ว ขั้นตอนในการประมวลผลสอบถามดังภาพที่ 8.2.1 มีขั้นตอนดังนี้ ภาพที่ 1ขั้นตอนการประมวลผลในภาษาสอบถามขั้นตอนที่ 1 การตรวจเช็คกฎไวยากรณ์ของภาษา (syntax checking) เมื่อผู้ใช้ได้ทำการป้อนคำสั่งภาษาสอบถาม ระบบจัดการฐานข้อมูลโดย ตัวประมวลผลสอบถาม (query processor) จะทำการตรวจเช็คกฎและหลักเกณฑ์ (syntax checking) ของภาษาสอบถามนั้น เมื่อตรวจเช็คแล้วหากพบว่าคำสั่งภาษาสอบถามที่ป้อนเข้ามายังระบบมีความผิดพลาดไม่เป็นไปตามกฎเกณฑ์ของภาษาสอบถาม ระบบจัดการฐานข้อมูลโดยตัวประมวลผลสอบถามก็จะส่งข้อความไปยังผู้ใช้ให้ผู้ใช้ปรับแก้ให้ถูกต้อง แต่ถ้าตรวจเช็คแล้วคำสั่งนั้นถูกต้องตามกฎไวยากรณ์ของภาษาสอบถาม จะแปลงทำให้ได้รูปแบบของภาษาสอบถาม (intermediate from of query) เพื่อให้ระบบจัดการฐานข้อมูลสามารถเข้าใจได้ ซึ่งผลที่แปลงจะอยู่ในรูปของสมการพีชคณิตแบบสัมพันธ์ (relational algebraic expression) เพื่อให้ ระบบจัดการฐานข้อมูลเข้าใจและทำตามผลที่ได้นั้น ตัวอย่างเช่น ต้องการหารายชื่อนักศึกษาที่ลงทะเบียนในวิชาฐานข้อมูล ซึ่งสามารถเขียนเป็นภาษา เอสคิวแอลได้ดังนี้ select Std_Name, Course_Name from STUDENT, REGISTRATION, COURSE where STUDENT.Std_ID = REGISTRATION.Std_ID and COURSE. = REGISTRATION.Course# and REGISTRATION.Course# = Database; เมื่อป้อนคำสั่งดังกล่าวข้างตอนเข้าสู่ระบบ ระบบจะทำการตรวจเช็คโดยดูว่าคำสั่งที่ผู้ใช้ป้อนเข้าสู่ระบบนั้นมีความผิดพลาดหรือไม่ ถ้าพบว่าผิดพลาดระบบจะส่งข้อความแจ้งให้ผู้ใช้ทราบเพื่อปรับแก้ให้ถูกต้อง แต่ถ้าคำสั่งที่ป้อนเข้าสู่ระบบนั้นถูกต้องแล้ว ระบบจะสร้างสมการพีชคณิตแบบสมพันธ์ดังนี้ ขั้นตอนที่ 2 การแปลงการสอบถามให้อยู่ในรูปที่เหมาะสมที่สุด (query optimizer) เมื่อได้สมการพีชคณิตแบบสัมพันธ์แล้วระบบการจัดการฐานข้อมูลจะทำการประมวลผลสมการรพีชคณิตแบบสัมพันธ์นั้น เพื่อให้ได้แผนการเข้าถึงข้อมูลในการประมวลผล การที่จะให้ได้แผนการเข้าถึงข้อมูล (access) นั้นจะมีวิธีการเข้าถึงฐานข้อมูลได้หลายวิธี ระบบการจัดการฐานข้อมูลจะทำการหาวิธีที่เหมาะสมในการเข้าถึงฐานข้อมูล โดยจะมีเทคนิคต่างๆในการเข้าถึงข้อมูลที่ใช้เวลาน้อยที่สุด หรือเรียกว่าการทำออพติไมเซชั่น (optimisation) ซึ่งเทคนิคในการเข้าถึงข้อมูลที่เหมาะสมเหล่านี้ เช่น เทคนิคการซอร์ตและการเมอร์จ (sorting and merge method) เป็นการเรียงลำดับข้อมูลในตารางข้อมูลโดยในระบบจัดการฐานข้อมูลจะมีโปรแกรมสำหรับจัดเรียงลำดับข้อมูล เพื่อให้การประมวลผลประหยัดเวลาในการประมวลผลลง เทคนิคดีคอมโพสิชั่น (decomposition method) เป็นการแตกคำสั่งในภาษาสอบถามให้เป็นโมดูลย่อยๆเพื่อง่ายต่อการประมวลผล หรือเทคนิคโอเปอร์เรเตอร์กราฟ (operator graph) เป็นการนำสมการพีชคณิตที่ได้จากการตรวจเช็คกฎไวยากรณ์ของภาษา แล้วนำมาหาทางการประมวลผลที่ทำให้การประมวลผลนั้นใช้เวลาน้อย เทคนิคต่างๆ เหล่านี้จะทำให้ได้แผนการในการประมวลผลที่เหมาะสมว่าระบบจะต้องประมวลผลอย่างไร เพื่อให้ได้วิธีการเข้าถึงฐานข้อมูลที่มีประสิทธิภาพและใช้เวลาในการประมวลผลน้อยที่สุด ขั้นตอนที่ 3 การสร้างชุดคำสั่งของภาษาสอบถาม (query code generator) เมื่อได้วิธีที่เหมาะสมที่สุดในการเข้าถึงฐานข้อมูลแล้ว ระบบจัดการฐานข้อมูลโดยตัวประมวลผลสอบถามจะทำการสร้างชุดคำสั่งของภาษาสอบถาม ทำให้ได้ชุดคำสั่ง (source code) ที่พร้อมจะประมวลผล ขั้นตอนที่ 4 การประมวลผลในฐานข้อมูล (runtime database processor) เมื่อได้ชุดคำสั่งที่พร้อมจะประมวลผลแล้ว ตัวประมวลผลสอบถามก็จะทำการคอมไพล์ (compile) หรือแปลคำสั่ง (interpret) และประมวลผล (executed ) ชุดคำสั่งจนได้ผลลัพธ์ |
|
|