วันพุธที่ 25 เมษายน พ.ศ. 2555

การแบ่งประเภทแฟ้มข้อมูล


ในการเก็บข้อมูลด้วยคอมพิวเตอร์ในรูปแบบแฟ้มนั้นต้องประกอบด้วยเขตข้อมูลหลาย ๆ เขตรวมกันเป็นระเบียน การเก็บและการเรียกข้อมูลจะกระทำทีละระเบียน การแบ่งประเภทของแฟ้มจึงมักแบ่งแยกตามรูปแบบลักษณะการเรียกค้นหา ซึ่งแบ่งออกเป็น 3 แบบด้วยกันคือ แฟ้มลำดับ (sequential file) แฟ้มสุ่ม (random file) และ แฟ้มดัชนี (index file) ดังนี้
1) แฟ้มลำดับ  เป็นแฟ้มที่มีโครงสร้างการเก็บข้อมูลแบบพื้นฐานที่สุด กล่าวคือ เมื่อมีการเพิ่มข้อมูลลงในแฟ้มทีละระเบียน ข้อมูลจะเข้าต่อท้ายเรียงกันไป ในการย้ายข้อมูลก็จะอ่านข้อมูลที่ละระเบียน เพื่อให้เข้าใจได้ง่ายอาจเปรียบเทียบได้กับการเก็บข้อมูลเพลงในเทปคาสเซต ซึ่งสมมติว่าในม้วนเทปหนึ่งมีการเก็บเพลงได้ 10 เพลง ความยาวเพลงละ 3 นาที ซึ่งหากต้องการค้นหาเพลงใดก็ต้องเริ่มต้นจากเพลงแรกไปเป็นลำดับจนกว่าจะพบ



aaaa     2) แฟ้มสุ่ม  เป็นแฟ้มที่มีคุณสมบัติที่ผู้ใช้สามารถอ่านหรือเขียนที่ตำแหน่งใด ๆ ก็ได้โดยไม่ต้องเรียงลำดับจากต้นแฟ้ม เช่น กรณีของการเก็บข้อมูลเพลงในเทปคาสเซต ถ้าต้องการอ่านเพลงที่ 5 ก็จะคำนวณความยาวของสายเทป เพื่อให้มีการเคลื่อนสายเทปไปยังตำแหน่งที่ต้องการแล้วจึงเริ่มอ่าน กรณีนี้จะทำได้เร็วกว่าสแบบลำดับ



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





โครงสร้างของข้อมูลในระบบฐานข้อมูล


คอมพิวเตอร์เป็นอุปกรณ์ที่สร้างขึ้นมาเพื่อใช้จัดการและเปลี่ยนแปลงข้อมูลข่าวสาร(Information) ดังนั้น จึงต้องมีการศึกษาถึงการควบคุมดูแลการทำงานของคอมพิวเตอร์ที่ยุ่งเกี่ยวกับข้อมูลข่าวสาร เมื่อมีการเปลี่ยนแปลงแก้ไขหรือเพื่ออำนวยประโยชน์ที่ต้องการการทำงานเพื่อนแก้ไขปัญหาต่าง ๆ ด้วยระบบคอมพิวเตอร์จะประกอบด้วยส่วนต่าง ๆ ทางด้านฮาร์ดแวร์ (Hardware) เช่น ซีพียู (CPU) หน่วยความจำ (Memory) อุปกรณ์รับส่งข้อมูล (Input / Output Device) และซอฟแวร์ (Software) ที่นำมาใช้ควบคุมการทำงานของฮาร์ดแวร์ เพื่อแก้ไขปัญหานั้น ๆ ในการแก้ไขปัญหาจึงต้องมีกระบวนการพัฒนาซอฟต์แวร์ (Software Development) ที่เป็นขั้นตอนมาใช้ดังนี้
ขั้นตอนการพัฒนาซอฟแวร์
การแยกแยะและวิเคราะห์ปัญหา 
               
 ในขั้นตอนแรกเป็นการแก้ไขปัญหาโดยการวิเคราะห์และแยกแยะ สิ่งแรกที่ต้องพิจารณา คือ เอาต์พุต ที่ต้องการและมีข้อมูลข่าวสารอะไรบ้างที่ทำที่ทำให้สามารถแก้ไขปัญหาได้หลังจากพิจารณาเอ้าท์พุตก็คือพิจารณาอินพุต และมีข้อมูลข่าวสารอะไรบ้างที่ทำให้สามารถแกไขปัญหาได้ หลังจากแยกแยะเอ้าท์พุตและอินพุต รวมถึงข้อมูลข่าวสารที่ต้องการเสร็จสิ้นลงก็เป็นการพัฒนาเขียนอัลกอรึทึมและโปรแกรม 
การออกแบบระบบ 
               
 เนื่องจากระบบคอมพิวเตอร์ไม่สามารถที่จะเข้าใจและแกไขปัญหาบางอย่างได้ จึงต้องมีวิธีการที่จะแก้ไขปัญหาโดยการออกแบบระบบ ซึ่งเป็นการวางแผนออกแบบที่แยกแยะออกเป็นปัญหาย่อย และพิจารณาสร้างชุดคำสั่งเพื่อแก้ไขปัญหาย่อยนั้น จากนั้นมารวมกันเป็นระบบที่สามารถแก้ไขปัญหาทั้งหมด มีลักษณะการวางแผนออกแบบจากบนลงล่าง (Top-down Design) ซึ่งประกอบด้วย 2ส่วนหลัก ๆ คือ
               
 1. โครงสร้างข้อมูล (Data Strutcure) ใช้ควบคุมและจัดการกับข้อมูลของปัญหานั้น ๆ หรือที่เรียกว่าชนิดข้อมูลมีโครงสร้าง เรียกสั้น ๆ ว่าชนิดข้อมูล เช่น ชนิดข้อมูลอาร์เรย์ ชนิดข้อมูลสแตก และชนิดข้อมูลลิ้งค์ ลิสต์ การออกแบบระบบต้องเลือกใช้โครงสร้างข้อมูลอย่างเหมาะสมเพื่อจัดการกับข้อมูลที่ใช้ในระบบ 
              
  2. การออกแบชุดคำสั่ง (Module Design) ในการแก้ไขปัญหาจะต้องมีกระบวนการทำงานเพื่อให้ได้มาซึ่งข้อมูลข่าวสารหรือเอ้าท์พุต ที่ต้องการโดยชุดคำสั่งเป็นส่วนประกอบของระบบ จึงต้องมีการออกแบบการทำงานที่เป็นชุดคำสั่งหรือโมดุลนั้นๆ และเรียกว่า อัลกอรึทึม ได้เป็น
โครงสร้างข้อมูล + อัลกอริทึม = โปรแกรม
                การที่จะเลือกใช้โครงสร้างข้อมูลและอัลกอริทึมในการออกแบบให้การทำงานอย่างมีประสิทธิภาพ  ซึ่งถือว่าเป็นหัวใจสำคัญของการออกแบบซอฟต์แวร์จะพิจารณาได้จากลักษณะดังต่อไปนี้
1. ความถูกต้อง
2. ระยะเวลาการทำงาน
3. จำนวนพื้นที่ใช้งาน
4. ความเรียบง่าย
5. ความเหมาะสมที่สุด

การเขียนคำสั่งและรวมกัน 
               
 
               การเขียนคำสั่ง (Coding) คือ การเขียนคำสั่งต่าง ๆ ของโปรแกรมให้ทำงานเป็นไปตามโครงสร้างข้อมูลและอัลกอริทึมด้วยภาษาเขียนโปรแกรมภาหนึ่ง ถ้าโครงสร้างข้อมูลและอัลกอริทึมถูกออกแบบไว้เป็นอย่างดีทำให้กระบวนการแปลงคำสั่งจากภาษาเขียนให้เป็นภาษาเครื่องก็จะง่ายไม่ยุ่งยากลำบาก
               
 การรวมกัน (Integration) เป็นกระบวนการนำคำสั่งต่าง ๆ ที่เขียนเป็นแต่ละชุดคำสั่งมารวมกันและให้มีการทำงานร่วมกันได้เป็นซอฟต์แวร์โปรแกรมขึ้นมา 
               
 การเขียนโปรแกรมที่ดีนั้นจะต้องมีความถูกต้องในการทำงาน สามารถอ่านคำสั่งและทำความเข้าใจได้ง่าย จึงต้องมีโครงสร้างการเขียนโปรแกรมที่ดี ซึ่งมีวิธีการเข้ามาช่วยเหลือในการเขียนโดยพิจารณาได้จากเรื่องต่อไปนี้ 
                1.
 การเขียนโปรแกรมควรเป็นแบบบนลงล่าง (Top-Down) โดยเฉพาะกับปัญหาที่มีขนาดใหญ่หรือมีความซับซ้อน จึงควรแยกปัญหาใหญ่ออกเป็นปัญหาย่อย ๆ จากการเขียนคำสั่งทั้งหมดในโปรแกรม ก็แยกเป็นชุดคำสั่งย่อย ๆ
                2.
 ใช้โครงสร้างควบคุมการทำงาน (Control Structure) ในการเขียนโปรแกรมหรือชุดคำสั่ง เช่น การใช้เงื่อนไข IF การใช้วนลูปแบบต่าง ๆ
                3.
 ควรใช้ตัวแปรที่เป็นแบบโลคอล (Local Variable) และใช้กับชุดคำสั่งเพื่อแก้ปัญหาย่อย
                4.
 ควรใช้ตัวแปรพารามิเตอร์ (Parameter)  กับชุดคำสั่งเพื่อแก้ไขปัญหาย่อย หลีกเลี่ยงที่จะใช้ตัวแปรที่เป็นแบบโกลบอล และตัวพารามิเตอร์ควรมีการป้องกันหากมีการแก้ไขค่า
                5.
 นำตัวแปรค่าคงที่ ( Constant Variable) มาใช้ จะช่วยให้การเขียนโปรแกรมมีความยืดหยุ่นมากขึ้นและอ่านเข้าใจง่าย
                6.
 การเขียนโปรแกรมควรมีการจัดพื้นที่หรือบรรทัดว่างเพื่อให้อ่านสะดวก มีการย่อหน้าเพื่อจัดระดับของคำสั่งและมีลักษณะที่เป็นกรอบ
ทดสอบความถูกต้อง
1. การตรวจคำสั่ง (Validation) เป็นการตรวจสอบการเขียนโปรแกรมว่ามีความถูกต้องตามโครงสร้างของภาษาและทำงานตรงตามที่ต้องการหรือไม่
                2.
 การตรวจสอบความจริง (Verification) เป็นการตรวจสอบขั้นตอนการทำงานของโปรแกรมว่ามีความถูกต้องและสอดคล้องกันหรือไม่
                3.
 การทดสอบ (Testing) เป็นการทดสอบการทำงานว่าในแต่ละส่วนหรือชุดคำสั่งและการทำงานทั้งหมดในโปรแกรมมีความถูกต้องหรือไม่ มีการทดสอบแต่ละยูนิต ทดสอบการรวมกันของยูนิต
การดูแลระบบ
              หลังจากการพัฒนาซอฟต์แวร์เสร็จสมบูรณ์และนำไปใช้งาน  หากมีความต้องการที่จะเปลี่ยนแปลงแก้ไขเพื่อเติม  หรือโปรแกรมมีปัญหาเกิดขึ้น  จึงต้องมีการดูแลระบบ เพื่อนำกลับมาปรับปรุงแก้ไขใหม่ให้เป็นไปตามความต้องการ


ลักษณะของแฟ้มข้อมูลในฐานข้อมูล


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

1. ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
เป็นการเก็บข้อมูลในรูปแบบที่เป็นตาราง (Table) หรือเรียกว่ารีเลชั่น (Relation) มีลักษณะเป็น 2 มิติ คือเป็นแถว (row) และเป็นคอลัมน์ (column) การเชื่อมโยงข้อมูลระหว่างตาราง จะเชื่อมโยงโดยใช้แอททริบิวต์ (attribute) หรือคอลัมน์ที่เหมือนกันทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูลรูปแบบของฐานข้อมูลนี้นิยมใช้ในปัจจุบัน




2. ฐานข้อมูลแบบเครือข่าย (Network Database)
ฐานข้อมูลแบบเครือข่ายจะเป็นการรวมระเบียนต่าง ๆซึ่งฐานข้อมูลแบบเครือข่าย จะแสดงความสัมพันธ์อย่างชัดเจน




3. ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database)
ฐานข้อมูลแบบลำดับชั้นเป็นโครงสร้างที่จัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบพ่อ-ลูก (Parent-Child Relationship Type : PCR Type) หรือเป็นโครงสร้างรูปแบบต้นไม้ (Tree) ข้อมูลที่จัดเก็บในที่นี้ คือ ระเบียน (Record) ซึ่งประกอบด้วยค่าของเขตข้อมูล (Field) ของเอนทิตี้หนึ่ง ๆฐานข้อมูลแบบลำดับชั้นนี้คล้ายคลึงกับฐานข้อมูลแบบเครือข่ายแต่ต่างกันที่ฐานข้อมูลแบบลำดับชั้น มีกฎเพิ่มขึ้นมาอีกหนึ่งประการ คือในแต่ละกรอบจะมีลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัวลูกศร






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


1. ความหมายของแฟ้มข้อมูล
            แฟ้มข้อมูล (file) หมายถึง ข้อสนเทศหรือข้อมูลทั้งหมดที่เก็บไว้ในสื่อที่มีคุณสมบัติเป็นแม่เหล็กไม่ว่าจะเป็นจานบันทึกธรรมดาหรือจานแข็ง (hard disk) ก็ตาม ข้อสนเทศที่นำไปเก็บนั้นจะถูกนำไปเก็บไว้เป็นเรื่องๆ ไป อาจจะเป็นโปรแกรม ข้อมูล หรือภาพ (graphics) ก็ได้ แต่ละเรื่องต่างก็ต้องมีชื่อเป็นของตนเอง ที่ต้องไม่ซ้ำกัน (ทักษิณา สวนานนท์ 2544, หน้า 249)
2. โครงสร้างแฟ้มข้อมูล
            
  โครงสร้างแฟ้มข้อมูล ” (data structure) หมายถึง รูปแบบของการจัดระเบียบของข้อมูล ซึ่งมีอยู่หลายรูปแบบ (ทักษิณา สวนานนท์, 2544, หน้า 161) ประกอบด้วยโครงสร้างพื้นฐานที่ลำดับจากหน่วยที่เล็กที่สุดไปยังหน่วยที่ใหญ่ขึ้นตามลำดับต่อไปนี้
             
 2.1 บิท (Bit : Binary Digit) คือ หน่วยของข้อมูลที่เล็กที่สุดที่เก็บอยู่ในหน่วยความจำภายในคอมพิวเตอร์ ซึ่ง Bit จะแทนด้วยตัวเลขหนึ่งตัว คือ 0 หรือ 1 อย่างใดอย่างหนึ่ง เรียกตัวเลข 0 หรือ 1 ว่าเป็น บิท 1 บิท
             
 2.2 ไบท์ (Byte) คือ หน่วยของข้อมูลที่นำบิทหลายๆบิทมารวมกัน แทนตัวอักษรแต่ละตัว เช่น A, B, …, Z, 0, 1, 2, … ,9 และสัญลักษณ์พิเศษอื่นๆ เช่น $, &, +, -, *, / ฯลฯ โดยตัวอักษร 1 ตัวจะแทนด้วยบิท 7บิท หรือ 8 บิท ซึ่งตัวอักษรแต่ละตัวจะเรียกว่า ไบท์ เช่น ตัว A เมื่อเก็บอยู่ในคอมพิวเตอร์จะเก็บเป็น1000001 ส่วนตัว B จะเก็บเป็น 1000010 เป็นต้น
            
 2.3 เขตข้อมูล (Field) คือ หน่วยของข้อมูลที่เกิดจากการนำตัวอักขระหลายๆตัวมารวมกัน เป็นคำที่มีความหมาย เช่น รหัสนักศึกษา ชื่อนักศึกษา นามสกุล ที่อยู่ คณะ และสาขาวิชา เป็นต้น ภาพที่ 1.1)
            
 2.4 ระเบียน (Record) คือ หน่วยของข้อมูลที่มีการนำเขตข้อมูลหลายๆ เขตข้อมูล ที่มีความสัมพันธ์กันมารวมกัน หรือค่าของข้อมูลในแต่ละเขตข้อมูล เช่น ระเบียนนักศึกษาคนที่ 1 ประกอบด้วยเขตข้อมูล รหัสนักศึกษา 4800111 , ชื่อ : สาธิต, นามสกุล : กิตติพงศ์, โปรแกรมวิชา : บรรณารักษศาสตร์, คณะ : มนุษยศาสตร์ เป็นต้น 
            
 2.5 แฟ้มข้อมูล (File) คือ หน่วยของข้อมูลที่มีการนำระเบียนหลายๆ ระเบียนที่มีความสัมพันธ์กันมารวมกัน เช่น แฟ้มข้อมูลนักศึกษา ซึ่งประกอบไปด้วย ระเบียนจำนวน 5 ระเบียน หรือ 5 แถว ซึ่งก็คือ รายละเอียดของนักศึกษาจำนวน 5 คน นั่นเอง
            
 2.6 ฐานข้อมูล (Database) คือ หน่วยของข้อมูลที่มีการนำแฟ้มข้อมูลหลายๆ แฟ้มข้อมูล ที่มีความสัมพันธ์กันมารวมกัน เช่น ฐานข้อมูลในระบบทะเบียนนักศึกษา จะประกอบด้วยแฟ้มข้อมูลรายวิชา นักศึกษา การลงทะเบียน ผลการเรียน และอาจารย์ผู้สอน เป็นต้น
3. ประเภทของแฟ้มข้อมูล
                 
 แฟ้มข้อมูลจะถูกแบ่งแยกประเภทตามการใช้งาน ซึ่งแบ่งออกเป็น 5 ประเภทต่างๆ ดังนี้
                        
 3.1 แฟ้มข้อมูลรายการหลัก (Master File) ทำหน้าที่จัดเก็บข้อมูลที่ไม่มีการเปลี่ยนแปลงหรือมีสภาพค่อนข้างคงที่ เช่น แฟ้มข้อมูลประวัตินักศึกษา จะประกอบด้วยข้อมูลต่างๆ เช่น รหัสนักศึกษา ชื่อ-นามสกุล ที่อยู่ คณะ และโปรแกรมวิชา เป็นต้น ซึ่งการปรับปรุงแก้ไขข้อมูลใน Master File ให้ทันสมัยสามารถทำได้ 3 รูปแบบคือ การเพิ่ม (add) การลบออก (delete) และการแก้ไข (modify) เช่น การเพิ่มระเบียนของนักศึกษาในกรณีที่เป็นนักศึกษาใหม่ การลบระเบียนของนักศึกษาในกรณีที่นักศึกษาลาออก และการเปลี่ยนแปลงที่อยู่ของนักศึกษา เป็นต้น อีกตัวอย่างหนึ่งที่เป็นแฟ้มข้อมูลรายการหลัก ก็คือ ข้อมูลของลูกค้าธนาคาร เช่น เลขที่บัญชี ชื่อ-นามสกุล ที่อยู่ ยอดเงินคงเหลือ ซึ่งจะถูกแก้ไขเมื่อมีรายการฝากถอนเงินจากลูกค้า โดยการแก้ไขแฟ้มข้อมูลอาจทำได้โดยตรงหรือแก้ไขโดยใช้ข้อมูลจากแฟ้มข้อมูลรายการเปลี่ยนแปลงซึ่งจะกล่าวในข้อต่อไป
            
             3.2 แฟ้มข้อมูลรายการเปลี่ยนแปลง (Transaction File) ทำหน้าที่จัดเก็บข้อมูลที่มักมีการเคลื่อนไหวหรือมีการเปลี่ยนแปลงอยู่เสมอ เช่น แฟ้มข้อมูลการลงทะเบียนเรียนของนักศึกษาที่จะต้องมีการลงทะเบียนเรียนในทุกๆ ภาคการศึกษา แฟ้มข้อมูลรายการฝาก-ถอนเงินในบัญชีลูกค้าธนาคาร หรือแฟ้มข้อมูลการขายสินค้าประจำวัน เป็นต้น
                        
 3.3 แฟ้มข้อมูลรายงาน  (Report File) ทำหน้าที่เก็บรายงานที่ได้จากคอมพิวเตอร์ไว้ เนื่องจากการเก็บแฟ้มข้อมูลรายงานไว้ในรูปของแฟ้มข้อมูลในหน่วยความจำสำรอง มีข้อดีคือจัดเก็บได้สะดวกและทนทานกว่าการเก็บเป็นกระดาษ อีกทั้งสามารถสั่งพิมพ์เมื่อใดและปริมาณเท่าใดก็ได้
                        
 3.4 แฟ้มข้อมูลเก็บผลลัพธ์  (Output File) โปรแกรมส่วนมากจะมีการรับข้อมูลเข้ามาประมวลผล และได้ผลลัพธ์เป็นข้อมูลใหม่ออกมา ข้อมูลใหม่อาจแสดงออกทางหน่วยแสดงผลหรือจัดเก็บไว้ในแฟ้มข้อมูลก็ได้ เรียกแฟ้มข้อมูลที่เก็บข้อมูลใหม่นี้ว่า แฟ้มข้อมูลเก็บผลลัพธ์ และสามารถนำแฟ้มข้อมูลนี้ไปเป็นข้อมูลนำเข้าของโปรแกรมอื่นได้ต่อไป
          
                3.5 แฟ้มข้อมูลสำรอง (Backup) ใช้เก็บสำรองข้อมูลในแฟ้มข้อมูลที่มีความสำคัญสูง การสำรองข้อมูลเป็นสิ่งสำคัญมากในการใช้งานคอมพิวเตอร์ เนื่องจากสื่อที่เก็บข้อมูลต่าง ๆ อาจเกิดปัญหาได้โดยที่ผู้ใช้คาดไม่ถึง ดังนั้นเราควรจัดเก็บข้อมูลลงบนสื่อบันทึกข้อมูลอื่นด้วย เพื่อเป็นการสำรองข้อมูลในกรณีที่มีปัญหา ซึ่งจะช่วยให้ได้ข้อมูลที่สำคัญกลับมาใช้ใหม่