go to http://oracle.in.th

Wednesday, August 26, 2009

Oracle External Table #1

Oracle External Table เป็นการนำความสามารถของ SQL* Loader มาประยุกต์ใช้ ในส่วนของการโหลดข้อมูลจากไฟล์ข้อความ (Text File) หรือไฟล์อื่นๆที่ไม่ได้อยู่ในฐานข้อมูล แต่อยู่ภายนอกฐานข้อมูล เช่น อยู่ใน File System มาเก็บไว้ในตาราง
แต่ในส่วนของ External Table นั้น ข้อมูลที่ถูกโหลด เข้ามาจะไม่ได้ถูกเก็บลงฐานข้อมูลจริงๆ เปรียบเสมือนเป็นตารางชั่วคราว (Temp Table) ไว้สำหรับพักข้อมูลเพื่อจะนำไปใช้ต่อ เช่น กรณีที่มีไฟล์ข้อความและต้องการจะโหลดเก็บไว้ในฐานข้อมูลจริงๆเราจะไม่สามารถทำการโหลดได้โดยตรง แต่จะใช้ External Table ช่วยโดยทำการโหลดจากไฟล์ข้อความมาเก็บไว้ที่ External Table ก่อน จากนั้นจึงทำการ Query จาก External Table ลงไปยังตารางที่อยู่ในฐานข้อมูลจริงๆได้ สรุปคร่าวๆได้ดังนี้
Text File -> External Table -> Database
ซึ่งจากพฤติกรรมของ External Table ซึ่งเปรียบเสมือนตารางพักข้อมูลเท่านั้น ทำให้ External Table สามารถทำได้แค่เพียง Select เท่านั้น และไม่สามารถสร้าง Index ได้ ซึ่งจะต่างจาก SQL* Loader ที่สามารถสร้าง Index ได้
คำสั่งที่ใช้ในการสร้าง External Table จะอยู่ในรูปแบบของ CREATE TABLE ... ORGANIZATION EXTERNAL และส่วนใหญ่การใช้งานจะนำไปใช้ในการโหลดไฟล์ข้อความที่อยู่ในรูปของไฟล์ CSV และไฟล์ที่มีข้อมูลในแต่ละบรรทัดมีความยาวที่เท่าๆ กัน (Fixed Length)
ตัวอย่างข้อมูลของไฟล์แบบ CSV
1, A, 001M
2, B, 002M
3, C, 003M
ตัวอย่างข้อมูลของไฟล์แบบ Fixed Length
1A001M
2B002M
3C003M
คราวหน้าจะต่อเรื่อง "ขั้นตอนการทำ External Table" ครับ
Created By: Pinant Thammanajit
ข้อเขียนนี้ช่วยฉัน:  

No comments:

Post a Comment