โครงสร้างของแฟ้มข้อมูล
 


ในระบบคอมพิวเตอร์  หน่วยที่เล็กที่สุดของข้อมูล คือ Bit (Binary Digit)  ซึ่งใช้ แทนเหตุการณ์ หรือ สถานะได้เพียง 2        อย่างเท่านั้นไม่เพียงพอ
กับการแทนข้อมูลจำนวนมหาศาลได้ จึงรวมกลุ่มของบิตเข้าด้วยกันเพื่อแทนอักขระ 1 ตัว   แต่หน่วยของข้อมูลที่เล็กที่สุดที่มีความหมายต่อผู้ใช้คือ เขตข้อมูล (Field)
ซึ่งประกอบด้วยอักขระตั้งแต่ 1 ตัว   ขึ้นไปมารวมกันให้เกิดความหมายขึ้นมาใช้ แทนข้อมูลเขตข้อมูลที่รวมกันอย่างมีจุดประสงค์กลายเป็นระเบียนข้อมูลที่สามารถนำ
ไปใช้งานได้ 

 การจัดโครงสร้างข้อมูล
ในการเขียนโปรแกรมคอมพิวเตอร์ เพื่อประยุกต์ใช้งานในองค์การ ผู้เขียนโปรแกรมจะต้องมีความเข้าใจในระบบจัดการข้อมูล และสามารถ
จัดรูปแบบข้อมูล เพื่อที่จะสามารถเข้าถึง (Access) และเรียกใช้ได้อย่างมีประสิทธิภาพ กระบวนการในการจัดการกับข้อมูลมีดังนี้
 1. ข้อมูลจะต้องเป็นตัวแทน (Represent) ของสิ่งที่องค์กรต้องการศึกษาและจัดต้องถูกจัดเก็บ (Store) ในรูปแบบที่สามารถเข้าถึงได้ในภายหลัง
 2.ข้อมูลต้องถูกจัดระบบ (Organize) ให้สามารถเลือกเข้าถึงได้ตามจุดมุ่งหมายของผู้ใช้ ในลักษณะต่าง ๆ กัน และเข้าถึงได้อย่างมีประสิทธิภาพ
 3. ข้อมูลจะต้องถูกประมวลผล (Process) และนำเสนอ (Present) ในรูปแบบที่ตรงตามความต้องการของผู้ใช้อย่างมีประสิทธิภาพ
 4. ข้อมูลจะต้องถูกจัดในลักษณะที่สามารถป้องกัน (Project) และจัดการ (Manage) ได้อย่างมีประสิทธิภาพ

ในภาษาคอมพิวเตอร์ชั้นสูงหลายภาษา วิธีการจัดการและใช้คำสั่งกำหนดรูปแบบหรือโครงสร้างของข้อมูลแตกต่างกันออกไปแต่สามารถจำแนก
โครงสร้างข้อมูลหรือประเภทข้อมูล ออกเป็น 3 ประเภทใหญ่ ๆ ด้วกันดังนี้
1. โครงสร้างข้อมูลพื้นฐาน (Primitive data structure) เป็นข้อมูลที่มีค่าเฉพาะประเภทใดประเภทหนึ่ง เช่น จำนวนเต็ม (Integer)
แบบตรรก (Boolean)
2. โครงสร้างองค์ประกอบอย่างง่าย (Simple data structure) เป็นข้อมูลที่เกิดจากการนำข้อมูลโครงสร้างพื้นฐานประกอบขึ้นมา
เป็นชุดของข้อมูลที่มีความสัมพันธ์กันในลักษณะหนึ่ง ได้แก่ ข้อมูลแบบอาร์เรย์ (Array) แบบระเบียน (Record)
3. โครงสร้างองค์ประกอบซับซ้อน (Compound data structure) เป็นข้อมูลที่เกิดจากการนำข้อมูลอลค์ประกอบอย่างง่าย
ประกอบขึ้นเป็นข้อมูลที่มีโครงสร้างซับซ้อนขึ้น เพื่อวัตถุประสงค์ ของการจัดเก็บและเรียกใช้ข้อมูลเป็นการเฉพาะกิจภายในโปรแกรม
ซึ่งอาจแบ่งโครงสร้างข้อมูลประเภทนี้ออกเป็น 2 ประเภทย่อย ๆ คือ
     1. แบบชุดข้อมูลสัมพันธ์เชิงเส้นตรง ได้แก่ แบบ Linked-List , Stack และ Queue
     2.  แบบชุดข้อมูลไม่ใช่เส้นตรง ได้แก่ Binary Tree , Graph

 
 
 
 
 

 โครงสร้างข้อมูลแบบอาร์เรย์
อาร์เรย์เป็นโครงสร้างข้อมูลประเภทหนึ่งที่มีมิติ ซึ่งอาจจะเป็นอาร์เรย์มิติเดียว สองมิติ หรือมากกว่านี้ก็ได้ การแสดงโครงสร้างของอาร์เรย์       นั้น
จะเรียงตามแถว (Row) และ สดมภ์ (Column) ลักษณะสำคัญของ อาร์เรย์คือ การรวบรวมข้อมูลแบบเดีบวกันตั้งแต่สองตัวขึ้นไปให้อยู่ในชุดหหรือแถวเดียวกัน
โดยสมาชิกในอาร์เรย์จะมีเลขดัชนี (Index) เป็นตัวชี้บอกตำแหน่งของข้อมูลที่ต้องการ อาร์เรย์หรือเวคเตอร์ในทางคณิตศาสตร์ตัวอย่างเช่น
 

ตัวอย่างเช่น นักศึกษา 5 คน แต่ละคนจะมีคะแนนสอบ 3 ครั้ง โดยที่คะแนนสอบของนักศึกษามีดังนี้


           Row Major                                                                         Column Major      

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

  การแยกประเภทแฟ้มข้อมูล
แฟ้มข้อมูลสามารถแยกประเภทของแฟ้มข้อมูลได้ดังนี้
          แยกตามเนื้อหา มีดังนี้
        1) แฟ้มข้อมูลหลัก (Master File) คือ แฟ้มข้อมูลที่ใช้เก็บข้อมูลไว้อย่างถาวร และมักจะเรียงตามลำดับของไพมารีคีย์   ข้อมูลจะต้องทันสมัย
เพื่อได้ใช้ประมวลผลแฟ้มข้อมูลอย่างถูกต้อง ในแฟ้มข้อมูลหลักมักจะมีเขตข้อมูลสำหรับสะสมค่าอยู่ด้วย แฟ้มข้อมูลหลักมีไว้ใช้อ้างอิง และปรับปรุงให้ทันสมัยอยู่
เสมอ
        2) แฟ้มรายการ (Transaction File) หมายถึงแฟ้มข้อมูลที่บันทึกเหตุการณ์หรือความเปลี่ยนแปลงของแฟ้มข้อมูลหลัก   เป็นรายการย่อยที่
เกิดในช่วงเวลาหนึ่ง ๆ ที่เกิดจากการเพิ่มข้อมูล ข้อมูลต่าง ๆ ในแฟ้มข้อมูล ข้อมูลจะถูกเก็บไว้ชั่วคราว เมื่อปรับปรุงแฟ้มข้อมูลหลักแล้วระยะหนึ่งก็จะบันทึกลงแฟ้ม
รายการซึ่งมักจเรียงตามลำดับเหตุการณ์ โดยไม่จำเป็นต้องเรียงตามไพมารีคีย์ ถ้ามีรายการหลายประเภทอยู่ในแฟ้มเดียวกันมักมีรหัสบอกประเภทของ Transaction
จะให้ 'P' แทนการซื้อ และ 'S' แทนการขาย



        3) แฟ้มดัชนี (Index File) เช่นเดียวกับช่วงท้ายของหนังสือ แฟ้มดัชนีเป็นแฟ้มที่ใช้ชี้บอกตำแหน่งของข้อมูลในแฟ้มข้อมูล เพื่อช่วยให้ค้นหา
ได้รวดเร็ว
           4) แฟ้มข้อมูลเก่า (Historical File) มักเป็นแฟ้มข้อมูลเก่าที่ไม่ได้ใช้งานแล้วโดยใช้ข้อมูลเก่าในแฟ้มข้อมูลประเภทนี้ เป็นตัวเลขทางสถิติ ใช้
สำหรับอ้างอิง เปรียบเทียบ หรือ พยากรณ์ข้อมูลในอนาคต
        5) แฟ้มสรุปผล (Summary File) เป็นแฟ้มข้อมูลที่สร้างขึ้นมาจากแฟ้มข้อมูลอื่น       โดยการรวบรวมหรือคำนวณ เพื่อให้อยู่ในรูปแบบที่มี
ความหมายมากขึ้นและไม่ต้องเสียเวลาทุกครั้งที่เรียกใช้งาน
        6) แฟ้มงาน (Work File)
        7) แฟ้มรายงาน (Report File) เป็นแฟ้มข้อมูลที่ใช้เก็บข้อมูลที่จะนำเสนอในรูปแบบของรายงาน
        8) แฟ้มสำรอง (Backup File) เป็นแฟ้มสำรองข้อมูล เพื่อป้องกันความเสียหายหรือข้อผิดพลาดที่อาจเกิดขึ้นกับแฟ้มข้อมูลสำคัญ ๆ นิยมใช้
ฮาร์ดดิสก์ ในการเก็บแฟ้มสำรองข้อมูล

       แยกตามวิธีการประมวลผล มีดังนี้
        1) แฟ้มอินพุต (Input File) ระเบียนของแฟ้มข้อมูลนี้จะถูกอ่าน (Read) ออกมาเพื่อประมวลผลและผลลัพธ์จะเก็บไว้ในแฟ้มข้อมูลอื่น
        2) แฟ้มเอาท์พุต (Output File) มีการบันทึก (Write) ข้อมูลลงไปในระหว่างการประมวลผลข้อมูล
        3) แฟ้มอินพุต-เอาท์พุต (Input-Output File) จะต้องเก็บอยู่ในอุปกรณ์ที่สามารถเข้าถึงโดยตรงได้ (DASD) กล่าวคือ ข้อมูลแฟ้มแบบนี้จะ
ถูกอ้างและประมวลผลแล้วจะบันทึก (Rewrite) ข้อมูลที่เปลี่ยนแปลงไปแล้วไปแล้วลงทีเดิม แฟ้มข้อมูลแบบนี้จะต้องมีปฏิบัติการอินพุต          และเอาพุตระหว่าง
การประมวลผล เช่น  แฟ้มพนักงานเป็นแฟ้มอินพุตในโปรแกรมพนักงาน และเป็นแฟ้มเอาท์พุตในโปรแกรมพิมพ์รายงาน

       ปฏิบัติการเกี่ยวกับแฟ้มข้อมูล 
     1. การสร้างแฟ้มข้อมูล (Creation) คือการบันทึกข้อมูลในแฟ้มข้อมูลครั้งแรก     โดยรวบรวมข้อมูลและตรวจสอบความถูกต้องของข้อมูลก่อน
การบันทึกข้อมูล
      2.  การปรับปรุงข้อมูล (Update) ได้แก่
          - การเพิ่มระเบียนใหม่ (Insertion) เข้าไปในแฟ้มข้อมูล
          - การแก้ไขเปลี่ยนแปลงข้อมูลภายในแฟ้มข้อมูล (Modification)
       3.  การเรียกใช้ข้อมูล (Retrieval) ทำได้สองรูปแบบคือ
         - การสอบถาม (Inquiry) เป็นการเรียกใช้ข้อมูลแบบตอบโต้
         - การพิมพ์รายงาน (Report Generation) เป็นการเรียกใช้ข้อมูลในลักษณะของการพิมพ์รายงาน
       4. การบำรุงรักษาแฟ้มข้อมูล (Maintenance) คือการเปลี่ยนแปลงข้อมูลที่ใช้งานไประยะหนึ่งแล้ว เพื่อเพิ่มประสิทธิภาพในการเข้าถึงแฟ้มข้อมูล
และให้สอดคล้องเหตุการณ์ปัจจุบัน ได้แก่
        - การปรับโครงสร้างแฟ้มข้อมูลใหม่ (Restructure) เป็นการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูลใหม่ให้เหมาะสมกับการใช้งาน
        - การจัดระเบียบใหม่  (Reorganization) เพื่อให้ใช้ที่เก็บข้อมูลอย่างมีประสิทธิภาพ โดยปรับปรุงระเบียนภายในแฟ้มข้อมูลให้เรียงลำดับใหม่
และขจัดระเบียนข้อมูลที่ไม่ใช้ออกจากแฟ้มข้อมูล

          การจัดระเบียบแฟ้มข้อมูล
คือ เทคนิคทีใช้แทนและจัดเก็บระเบียนในแฟ้มข้อมูล โดยมีวัตถุประสงค์หลัก คือ การเตรียมเส้นทางเข้าถึงระเบียนระหว่างปฏิบัติการเรียกใช้ และ
ปรับปรุงข้อมูล ระเบียบแฟ้มข้อมูลต่างขนิด จะให้เส้นทางการเข้าถึงที่แตกต่างกัน ระเบียนแฟ้มข้อมูลที่สนับสนุนโดยตัวจัดการแฟ้มข้อมูล     (File Manager)
ของระบบการดำเนินการนั้น ได้แก่ แฟ้มลำดับ (Sequential File) , แฟ้มลำดับเชิงดัชนี (Index Sequential File) , แฟ้มสุ่ม (Random File)        และ
แฟ้ม VSAM แฟ้มข้อมูลเหล่านี้สามารถเข้าถึงระเบียนโดยผ่าน Primary Key เท่านั้นหากต้องการเข้าถึงระเบียนโดยผ่านเขตหลัก (Key Field) อื่น ๆ หรือ
หลาย ๆ  เขตหลัก จะต้องใช้ Multi key File Organization

        การจัดโครงสร้างของไฟล์
ไฟล์ข้อมูล (Data File) คือหน่วยที่ใช้จัดเก็บข้อมูลที่สัมพันธ์กันให้เป็นระบบ       ตัวอย่าง     ไฟล์นักศึกษา       จะมีข้อมูลเกี่ยวข้องกับตัวนักศึกษา
ในการออกแบบแฟ้มข้อมูล จะต้องคำนึงถึงองค์ประกอบต่างๆ หลายด้านได้แก่การจัดโครงสร้างแฟ้มข้อมูล ประเภทและการทำงานของแฟ้มในระบบงานทั้งหมด
ลักษณะโครงสร้างของแฟ้มข้อมูลมี 4 ประเภทได้แก่
 1. Sequential
 2. Random
 3. Index Sequential
 4. Multiple Key
ลักษณะการออกแบบและจัดการไฟล์ข้อมูลมาตราฐานทั้ง 4 แบบนี้แตกต่างกันในการจัดระบบเรียงลำดับข้อมูลภายในไฟล์ (Record Sequential) ซึ่งจะหมายถึง
การจัดเก็บหน่วยข้อมูลจริง (Physical Ordering) บนหน่วยจัดเก็บข้อมูล เช่น ฮาร์ดดิสก์


ที่มา : เนื้อหาวิชาการประมวลผลแฟ้มข้อมูล อ. วิศัลยา ปานเจริญ สถาบันราชภัฏสงขลา

โดย : นาย สุรพล ดำจุติ, บริษัท ปตท.สผ. จำกัด, วันที่ 3 พฤศจิกายน 2545