Databases and Warehousing/What are the problems that arise from the file environment?

โดยส่วนใหญ่องค์กรทั่วไปจะเริ่มพัฒนาโปรแกรมประยุกต์ขึ้นมาใช้ในองค์กรทีละโปรแกรม โดยแต่ละโปรแกรมที่พัฒนาขึ้นมานั้นจะมีความเป็นอิสระซึ่งกันและกัน ซึ่งการออกแบบโปรแกรมเหล่านี้ไม่ได้วางแผนการออกแบบโปรแกรมจากภาพรวมขององค์กร แต่ละโปรแกรมจะมี ข้อมูลเป็นของตัวเอง โดยข้อมูลเหล่านั้นจะถูกจัดเก็บไว้ในแฟ้มข้อมูล ซึ่งการพัฒนาโปรแกรมในลักษณะนี้จะนำมาซึ่งปัญหาเกี่ยวกับความซ้ำซ้อนของข้อมูล (Redundancy) , ความขัดแย้งของข้อมูล (Inconsistency), ข้อมูลแยกอิสระต่อกันทำให้อาจเกิดความแตกต่างของรูปแบบไฟล์ (Data isolation) และยังมีปัญหาอื่น ๆ อีกด้วย โปรแกรมประยุกต์ (เช่น โปรแกรมการตลาด,โปรแกรมบัญชี หรือโปรแกรมการเงิน) จะมีการใช้ function หลักๆ ร่วมกัน เช่น การใส่ข้อมูล (Input), การออกรายงาน (report generation), การสอบถามข้อมูล (Querying) และ การค้นหาข้อมูล (data browsing) อย่างไรก็ตาม function ทั่วๆ ไปจะมี การออกแบบ, เขียนโค้ด,เขียนเอกสาร และ ทดสอบการทำงานของ function (ส่วนทดสอบการทำงานของ function นี้จะมีสูญเสียค่าใช้จ่ายมากที่สุดในกระบวนการทั้งหมดของการพัฒนาโปรแกรมแต่ละโปรแกรม). ยิ่งกว่านั้นยังต้องมีการอบรมผู้ใช้ให้สามารถใช้โปรแกรมแต่ละโปรแกรมได้อย่างมีประสิทธิภาพด้วย. บ่อยครั้งที่ระบบแฟ้มข้อมูล (File Environment) ก่อให้เกิดการสิ้นเปลืองทรัพยากรที่มีค่าในการสร้าง และปรับปรุงระบบแฟ้มข้อมูลไปโดยเปล่าประโยชน์ เช่นเดียวกับการอบรมผู้ใช้เกี่ยวกับระบบที่สร้างขึ้นมา


ปัญหาที่เกิดขึ้นจากระบบแฟ้มข้อมูล

  1. data redundancy : โปรแกรมประยุกต์และแฟ้มข้อมูลถูกสร้างขึ้นมาโดยโปรแกรมเมอร์คนละคนในช่วงเวลาหนึ่งซึ่งนานแล้ว ทำให้ข้อมูลเดียวกันอาจถูกเก็บอยู่ในหลายแฟ้มข้อมูล ตัวอย่างเช่น แต่ละแฟ้มข้อมูลจะเก็บ Record ที่เกี่ยวกับลูกค้าเอาไว้ ซึ่งอาจมีข้อมูลของลูกค้า บาง Record ในจำนวนนี้ถูกเก็บไว้ในแฟ้มข้อมูลอื่นๆ อีกก็ได้ ด้วยเหตุนี้ เมื่อมีการสรุปข้อมูลรายละเอียดของลูกค้าออกมาก็จะการแสดงข้อมูลของลูกค้าบางรายที่ซ้ำกันแสดงออกมาพร้อมๆ กัน ซึ่งการเก็บข้อมูลแบบนี้ทำให้เปลืองเนื้อที่ในการเก็บข้อมูลโดยเปล่าประโยชน์, สูญเสียเวลาของลูกค้า และ เสียเวลาของเสมียนในการที่จะกรอกและแก้ไขข้อมูลของลูกค้า
  2. data redundancy: จะนำไปสู่การเกิด data inconsistency. Data inconsistencyหมายถึง ค่าจริงๆของข้อมูลมีการเก็บอยู่ในหลายๆที่ ซึ่งค่าเหล่านี้อาจจะไม่ตรงกันก็ได้ ทั้งที่ความจริงแล้วเป็นค่าเดียวกันหรืออาจไม่มีการนำข้อมูลเหล่านั้นมาเทียบกันเพื่อให้ตรงกัน ตัวอย่างเช่น ถ้ามีนักเรียนเปลี่ยนที่อยู่, ที่อยู่ใหม่จะต้องถูกแก้ไขในทุกๆโปรแกรมในมหาวิทยาลัยที่จำเป็นต้องใช้ข้อมูลที่อยู่นี้
  • โครงสร้างข้อมูลแบบไฟล์ทำให้ในการเข้าถึงข้อมูลจากโปรแกรมประยุกต์ที่แตกต่างกันทำได้ยาก ซึ่งปัญหานี้เรียกว่า data isolation. สำหรับโปรแกรมประยุกต์ที่มีการออกแบบและพัฒนาแบบเดี่ยวๆนี้ แฟ้มข้อมูลจะมีโครงสร้างที่แตกต่างกัน,มีการจัดเก็บในรูปแบบที่แตกต่างกัน (เช่น ความสูงที่วัดในหน่วยนิ้ว กับ ที่วัดในหน่วยเซนติเมตร) และบ่อยครั้งที่โปรแกรมประยุกต์อื่น ไม่สามารถเข้าถึงได้ เช่น ผู้จัดการต้องการรู้ลูกค้าซื้อผลิตภัณฑ์อะไรไปและลูกค้าคนไหนที่เป็นลูกหนี้ในระบบลูกหนี้ ซึ่งส่วนใหญ่น่าจะไม่สามารถหาคำตอบได้จากคอมพิวเตอร์ที่เป็นระบบแฟ้มข้อมูล. ซึ่งผู้จัดการที่ต้องการทราบข้อมูลนี้อาจต้องมีการทำเอง คือ พิมพ์ข้อมูลจากแฟ้มข้อมูลสองแฟ้มแล้วนำมาเปรียบเทียบกันเอง ซึ่งขั้นตอนนี้จะเป็นการเสียเวลาและต้องใช้ความพยายามอย่างมากและคงจะดูเหมือนว่ามีการใช้ความสามารถของคอมพิวเตอร์ในด้านการประมวลผลที่ความเร็วและถูกต้องได้ไม่คุ้มค่าเท่าใดนัก
  • ในระบบแฟ้มข้อมูลนั้นจะใช้ข้อบังคับต่างๆด้านความปลอดภัยนั้นทำได้ยาก เพราะอาจจะมีโปรแกรมประยุกต์ใหม่ๆ ที่เป็นลักษณะโปรแกรมเฉพาะกิจเพิ่มเติมเข้ามาในระบบ ซึ่งทำให้ข้อมูลถูกเข้าถึงจากหลายโปรแกรมประยุกต์และหลายผู้ใช้งาน
  • ระบบแฟ้มข้อมูลอาจจะเป็นสาเหตุของปัญหา data integrity เป็นอันหนึ่งอันเดียวกันของข้อมูล) ค่าของข้อมูลจะต้องอยู่ภายใต้ข้อบังคับในด้านความเป็นอันหนึ่งอันเดียวกัน (integrity) ตัวอย่างเช่น ฟิลด์ student’s social number (รหัสนักศึกษา) จะไม่ยอมให้ใส่ค่าตัวอักขระ และ เกรดเฉลี่ยไม่สามารถเป็นค่าติดลบได้ ซึ่งการที่จะตั้งข้อบังคับเช่นนี้ทำได้ลำบากในการกำหนดข้อบังคับข้ามไปยังไฟล์ต่างๆ หลายๆไฟล์
  • ยิ่งกว่านั้นการแบ่งปันแฟ้มข้อมูลในระบบแฟ้มข้อมูล (shared file environment) อาจทำให้เกิดปัญหาการเข้าใช้งานในเวลาเดียวกัน (concurrency) โดยในขณะที่ โปรแกรมตัวหนึ่งกำลังปรับปรุงข้อมูลอยู่นั้น อีกโปรแกรมหนึ่งก็อาจจะกำลังเข้าถึง record ที่ถูกปรับปรุงอยู่, ผลที่เกิดขึ้นจากเหตุการณ์นี้คือโปรแกรมสองโปรแกรมอาจไม่ได้ข้อมูลตามที่ต้องการจะได้
  • ท้ายที่สุดแล้ว โปรแกรมก็จะพัฒนาไปโดยที่ไม่ได้คำนึงถึงการจัดเก็บข้อมูลของระบบ, โปรแกรมและข้อมูลในระบบคอมพิวเตอร์ก็จะเกิดการที่ โปรแกรมและข้อมูลแยกกันอยู่อย่างอิสระ ในระบบแฟ้มข้อมูลนั้น โปรแกรมและข้อมูลที่เกี่ยวข้องกับโปรแกรมนั้นๆจะขึ้นอยู่กับสิ่งอื่น ไม่ได้ขึ้นอยู่ซึ่งกันและกัน
  • การเก็บข้อมูลในแฟ้มข้อมูลที่มีความเกี่ยวข้องกันกับโปรแกรมประยุกต์อย่างมาก ซึ่งท้ายที่สุดแล้วจะทำให้องค์กรมีโปรแกรมประยุกต์เป็นและแฟ้มข้อมูลเป็นร้อย. โดยที่ไม่มีศูนย์กลางที่จะแสดงรายละเอียดของแฟ้มข้อมูลที่มี, ส่วนของข้อมูลย่อย หรือคำนิยามของข้อมูล. ปัญหาหลายๆอย่างที่เกิดจากระบบแฟ้มข้อมูลทำให้นำไปสู่การพัฒนาของระบบ ฐานข้อมูล (database)

Questions for Review

แก้ไข
  1. /List the major sources of data.
  2. /List some of the major data problem.
  3. /What is the terabyte?(Write the number.)
  4. /Review the steps of the data life cycle and explain them.
  5. /List some of the categories of data available on the Internet.
  6. /Define data Quality.
  7. /Define document management.
  8. /Describe the hierarchy of a file management system.
  9. /What are the problems that arise from the file environment?
  10. /Discuss a relational database and how it differs from other databases.
  11. /What are the components of a database of a database management system (DBMS)?
  12. /What is the difference between the conceptual, logical and physical views of data?
  13. /How can you get data out of a database?
  14. /What are the benefits of using a DBMS?
  15. /What is the difference between entities and attributes?
  16. /Describe a data warehouse.
  17. /Describe a datamart.
  18. /Define a marketing transaction database.