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

โดยปกติความสัมพันธ์ของแต่ละแฟ้มจะมีส่วนของตัวชี้ที่จะบอกว่าข้อมูลของระเบียนเดียวกันอยู่ที่ใดในแฟ้มอื่น ๆ เช่น เมื่อแบ่งแยกแฟ้มออกเป็น 3 แฟ้ม คือ นักเรียน,อาจารย์ และ วิชา โดยแต่ละแฟ้มจะมีตัวชี้บ่งบอกว่าข้อมูลที่สัมพันธ์กันอยู่ที่ใด ดังตัวอย่างในรูป
โครงสร้างข้อมูลในฐานข้อมูลตามรูปที่ 3.4 ประกอบด้วย 3 แฟ้ม ในแต่ละแฟ้มมีความสัมพันธ์ถึงกัน เช่น ข้อมูลในแฟ้มนักเรียนจะมีส่วนที่เป็นกุญแจที่ชี้บอกความสัมพันธ์กับแฟ้มอาจารย์ว่าอาจารย์ประจำชั้นชื่ออะไรaaaaaกรณีที่การหาข้อมูลของนักเรียน เช่น นักเรียนรหัสประจำตัว 008 มีชื่อว่าอะไร มีใครเป็นอาจารย์ประจำชั้น และเรียนวิชาอะไร ลักษณะการค้นหาคือ ค้นหาในแฟ้มนักเรียนทีละระเบียนจนพบระเบียนที่มีระรหัสเป็น 008 ก็จะทราบชื่อนักเรียนและมีกุญแจที่เป็นตัวชี้ว่าข้อมูลนี้สัมพันธ์กับข้อมูลในแฟ้มอาจารย์ ทำให้โยงต่อว่าอาจารย์ชื่ออะไร และจะทราบกุญแจซึ่งเป็นตัวชี้ว่าอาจารย์สอนวิชาอะไร เป็นต้น การค้นหาข้อมูลที่มีกุญแจเป็นตัวชี้ข้อมูลจะทำให้เราเข้าถึงข้อมูลได้รวดเร็วขึ้น
การแบ่งประเภทแฟ้มข้อมูล
ในการเก็บข้อมูลด้วยคอมพิวเตอร์ในรูปแบบแฟ้มนั้นต้องประกอบด้วยเขตข้อมูลหลาย ๆ เขตรวมกันเป็นระเบียน การเก็บและการเรียกข้อมูลจะกระทำทีละระเบียน การแบ่งประเภทของแฟ้มจึงมักแบ่งแยก ตามรูปแบบลักษณะการเรียกค้นหา ซึ่งแบ่งออกเป็น 3 แบบด้วยกันคือ แฟ้มลำดับ (sequential file) แฟ้มสุ่ม (random file) และ แฟ้มดัชนี (index file) ดังนี้
aaaaa1) แฟ้มลำดับ เป็นแฟ้มที่มีโครงสร้างการเก็บข้อมูลแบบพื้นฐานที่สุด กล่าวคือ เมื่อมีการเพิ่มข้อมูลลงในแฟ้มทีละระเบียน ข้อมูลจะเข้าต่อท้ายเรียงกันไป ในการย้ายข้อมูลก็จะอ่านข้อมูลที่ละระเบียน เพื่อให้เข้าใจได้ง่ายอาจเปรียบเทียบได้กับการเก็บข้อมูลเพลงในเทปคาสเซต ซึ่งสมมติว่าในม้วนเทปหนึ่งมีการเก็บเพลงได้ 10 เพลง ความยาวเพลงละ 3 นาที ซึ่งหากต้องการค้นหาเพลงใดก็ต้องเริ่มต้นจากเพลงแรกไปเป็นลำดับจนกว่าจะพบaaaaa2) แฟ้มสุ่ม เป็นแฟ้มที่มีคุณสมบัติที่ผู้ใช้สามารถอ่านหรือเขียนที่ตำแหน่งใด ๆ ก็ได้โดยไม่ต้องเรียงลำดับจากต้นแฟ้ม เช่น กรณีของการเก็บข้อมูลเพลงในเทปคาสเซต ถ้าต้องการอ่นเพลงที่ 5 ก็จะคำนวณความยาวของสายเทป เพื่อให้มีการเคลื่อนสายเทปไปยังตำแหน่งที่ต้องการแล้วจึงเริ่มอ่าน กรณีนี้จะทำได้เร็วกว่าสแบบลำดับaaaaa3) แฟ้มแบบดัชนี แฟ้มแบบนี้จำเป็นต้องมีการจัดเรียงข้อมูลในเขตข้อมูลที่เป็นดัชนีเสียก่อน เพื่อประโยชน์ในการค้นหา การหาตำแหน่งในการเขียนการอ่านในระเบียนที่ต้องการปกติจะใช้ข้อมูลที่เป็นกุญแจสำหรับการค้นหา เพื่อความสะดวกในการกำหนดตำแหน่งการเขียนอ่าน ดังตัวอย่างเช่น ถ้าใช้ชื่อเพลงเป็นกุญแจสำหรับการค้นหา จะมีการเก็บชื่อเพลงโดยมีการจัดเรียงตามตัวอักษร เมื่อค้นหาชื่อเพลงได้ ก็ได้ลำดับเพลง ซึ่งสามารถนำไปคำนวณหาตำแหน่งที่ต้องการเขียนอ่านได้ต่อไป
โครงสร้างข้อมูลในฐานข้อมูลตามรูปที่ 3.4 ประกอบด้วย 3 แฟ้ม ในแต่ละแฟ้มมีความสัมพันธ์ถึงกัน เช่น ข้อมูลในแฟ้มนักเรียนจะมีส่วนที่เป็นกุญแจที่ชี้บอกความสัมพันธ์กับแฟ้มอาจารย์ว่าอาจารย์ประจำชั้นชื่ออะไรaaaaaกรณีที่การหาข้อมูลของนักเรียน เช่น นักเรียนรหัสประจำตัว 008 มีชื่อว่าอะไร มีใครเป็นอาจารย์ประจำชั้น และเรียนวิชาอะไร ลักษณะการค้นหาคือ ค้นหาในแฟ้มนักเรียนทีละระเบียนจนพบระเบียนที่มีระรหัสเป็น 008 ก็จะทราบชื่อนักเรียนและมีกุญแจที่เป็นตัวชี้ว่าข้อมูลนี้สัมพันธ์กับข้อมูลในแฟ้มอาจารย์ ทำให้โยงต่อว่าอาจารย์ชื่ออะไร และจะทราบกุญแจซึ่งเป็นตัวชี้ว่าอาจารย์สอนวิชาอะไร เป็นต้น การค้นหาข้อมูลที่มีกุญแจเป็นตัวชี้ข้อมูลจะทำให้เราเข้าถึงข้อมูลได้รวดเร็วขึ้น
การแบ่งประเภทแฟ้มข้อมูล
ในการเก็บข้อมูลด้วยคอมพิวเตอร์ในรูปแบบแฟ้มนั้นต้องประกอบด้วยเขตข้อมูลหลาย ๆ เขตรวมกันเป็นระเบียน การเก็บและการเรียกข้อมูลจะกระทำทีละระเบียน การแบ่งประเภทของแฟ้มจึงมักแบ่งแยก ตามรูปแบบลักษณะการเรียกค้นหา ซึ่งแบ่งออกเป็น 3 แบบด้วยกันคือ แฟ้มลำดับ (sequential file) แฟ้มสุ่ม (random file) และ แฟ้มดัชนี (index file) ดังนี้
aaaaa1) แฟ้มลำดับ เป็นแฟ้มที่มีโครงสร้างการเก็บข้อมูลแบบพื้นฐานที่สุด กล่าวคือ เมื่อมีการเพิ่มข้อมูลลงในแฟ้มทีละระเบียน ข้อมูลจะเข้าต่อท้ายเรียงกันไป ในการย้ายข้อมูลก็จะอ่านข้อมูลที่ละระเบียน เพื่อให้เข้าใจได้ง่ายอาจเปรียบเทียบได้กับการเก็บข้อมูลเพลงในเทปคาสเซต ซึ่งสมมติว่าในม้วนเทปหนึ่งมีการเก็บเพลงได้ 10 เพลง ความยาวเพลงละ 3 นาที ซึ่งหากต้องการค้นหาเพลงใดก็ต้องเริ่มต้นจากเพลงแรกไปเป็นลำดับจนกว่าจะพบaaaaa2) แฟ้มสุ่ม เป็นแฟ้มที่มีคุณสมบัติที่ผู้ใช้สามารถอ่านหรือเขียนที่ตำแหน่งใด ๆ ก็ได้โดยไม่ต้องเรียงลำดับจากต้นแฟ้ม เช่น กรณีของการเก็บข้อมูลเพลงในเทปคาสเซต ถ้าต้องการอ่นเพลงที่ 5 ก็จะคำนวณความยาวของสายเทป เพื่อให้มีการเคลื่อนสายเทปไปยังตำแหน่งที่ต้องการแล้วจึงเริ่มอ่าน กรณีนี้จะทำได้เร็วกว่าสแบบลำดับaaaaa3) แฟ้มแบบดัชนี แฟ้มแบบนี้จำเป็นต้องมีการจัดเรียงข้อมูลในเขตข้อมูลที่เป็นดัชนีเสียก่อน เพื่อประโยชน์ในการค้นหา การหาตำแหน่งในการเขียนการอ่านในระเบียนที่ต้องการปกติจะใช้ข้อมูลที่เป็นกุญแจสำหรับการค้นหา เพื่อความสะดวกในการกำหนดตำแหน่งการเขียนอ่าน ดังตัวอย่างเช่น ถ้าใช้ชื่อเพลงเป็นกุญแจสำหรับการค้นหา จะมีการเก็บชื่อเพลงโดยมีการจัดเรียงตามตัวอักษร เมื่อค้นหาชื่อเพลงได้ ก็ได้ลำดับเพลง ซึ่งสามารถนำไปคำนวณหาตำแหน่งที่ต้องการเขียนอ่านได้ต่อไป
ประวัติ
ฐานข้อมูลในลักษณะที่คล้ายกับฐานข้อมูลสมัยใหม่ ถูกพัฒนาเป็นครั้งแรกในทศวรรษ 1960 ซึ่งผู้บุกเบิกในสาขานี้คือ ชาลส์ บากแมน แบบจำลองข้อมูลสำคัญสองแบบเกิดขึ้นในช่วงเวลานี้ ซึ่งเริ่มต้นด้วย แบบจำลองข่ายงาน (พัฒนาโดย CODASYL) และตามด้วยแบบจำลองเชิงลำดับชั้น (นำไปปฏิบัติใน IMS) แบบจำลองทั้งสองแบบนี้ ในภายหลังถูกแทนที่ด้วย แบบจำลองเชิงสัมพันธ์ ซึ่งอยู่ร่วมสมัยกับแบบจำลองอีกสองแบบ แบบจำลองแบบแรกเรียกกันว่า แบบจำลองแบนราบ ซึ่งออกแบบสำหรับงานที่มีขนาดเล็กมาก ๆ แบบจำลองร่วมสมัยกับแบบจำลองเชิงสัมพันธ์อีกแบบ คือ ฐานข้อมูลเชิงวัตถุ หรือ โอโอดีบี3 (OODB)
ในขณะที่แบบจำลองเชิงสัมพันธ์ มีพื้นฐานมาจากทฤษฎีเซต ได้มีการเสนอแบบจำลองดัดแปลงซึ่งใช้ทฤษฎีเซตคลุมเครือ (ซึ่งมีพื้นฐานมาจากตรรกะคลุมเครือ) ขึ้นเป็นอีกทางเลือกหนึ่ง
ปัจจุบันมีการกล่าวถึงมาตรฐานโครงสร้างฐานข้อมูล เพื่อให้สามารถเชื่อมโยงฐานข้อมูลต่างระบบ ให้สืบค้นรวมกันเสมือนเป็นฐานข้อมูลเดียวกัน และการสืบค้นต้องแสดงผลตรงตามคำถาม มาตรฐานดังกล่าวได้แก่ XML RDF Dublin Core Metadata เป็นต้น และสิ่งสำคัญอีกประการหนึ่งที่จะช่วยให้การแลกเปลี่ยนข้อมูลรหว่างต่างหน่วยงานได้ดี คือการใช้ Taxonomy และ อรรถาภิธาน ซึ่งเป็นเครื่องมือสำหรับจัดการความรู้ในลักษณะศัพท์ควบคุม เพื่อจำกัดความหมายของคำที่ใช้ได้หลายคำในความหมายเดียวกัน
ในขณะที่แบบจำลองเชิงสัมพันธ์ มีพื้นฐานมาจากทฤษฎีเซต ได้มีการเสนอแบบจำลองดัดแปลงซึ่งใช้ทฤษฎีเซตคลุมเครือ (ซึ่งมีพื้นฐานมาจากตรรกะคลุมเครือ) ขึ้นเป็นอีกทางเลือกหนึ่ง
ปัจจุบันมีการกล่าวถึงมาตรฐานโครงสร้างฐานข้อมูล เพื่อให้สามารถเชื่อมโยงฐานข้อมูลต่างระบบ ให้สืบค้นรวมกันเสมือนเป็นฐานข้อมูลเดียวกัน และการสืบค้นต้องแสดงผลตรงตามคำถาม มาตรฐานดังกล่าวได้แก่ XML RDF Dublin Core Metadata เป็นต้น และสิ่งสำคัญอีกประการหนึ่งที่จะช่วยให้การแลกเปลี่ยนข้อมูลรหว่างต่างหน่วยงานได้ดี คือการใช้ Taxonomy และ อรรถาภิธาน ซึ่งเป็นเครื่องมือสำหรับจัดการความรู้ในลักษณะศัพท์ควบคุม เพื่อจำกัดความหมายของคำที่ใช้ได้หลายคำในความหมายเดียวกัน
1. แนวคิดเกี่ยวกับฐานข้อมูล
• ฐานข้อมูลเป็นการจัดเก็บข้อมูลที่มีความสัมพันธ์กันมาจัดเก็บในที่เดียวกัน ซึ่งแต่เดิมถูกจัดเก็บอยู่ในแต่ละแฟ้มข้อมูลเป็นระบบแฟ้มข้อมูล ฐานข้อมูลมีความจำเป็นในการแก้ปัญหาต่างๆ ที่เกิดขึ้นจากระบบแฟ้มข้อมูล ได้แก่ ความซ้ำซ้อนของข้อมูล ความขัดแย้งของข้อมูลความยากในการแก้ไขและบำรุงรักษา การผูกติดกับข้อมูล การกระจายของข้อมูล และการใช้ประโยชน์จากข้อมูลลดลง
• ในงานฐานข้อมูลจำเป็นต้องเข้าใจหลักการฐานข้อมูลให้ถูกต้อง ตรรกะ คือ สิ่งที่โปรแกรมหรือผู้ใช้เห็น กายภาพเป็นสิ่งที่ระบบปฏิบัติการเห็น ฐานข้อมูล คือ ที่เก็บรวบรวมข้อมูลและความสัมพันธ์ระหว่างข้อมูล สคีมา คือ โครงสร้างฐานข้อมูล อินสแตนซ์ คือ เนื้อข้อมูล แบบจำลองข้อมูล คือ โครงสร้างข้อมูลระดับตรรกะที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลให้ผู้ใช้เห็น เอนทิตี คือ สิ่งที่เราสนใจเก็บข้อมูลเกี่ยวข้องด้วย แอตทริบิวต์ คือ คุณลักษณะของเอนทิตี
• ระบบฐานข้อมูลมีองค์ประกอบที่สำคัญ คือ ฐานข้อมูล ระบบจัดการฐานข้อมูล และ บุคลากร โดยบุคลากรที่มีบทบาทสำคัญในการจัดการการบริหารฐานข้อมูล คือ ผู้บริหารฐานข้อมูล
• คุณลักษณะของระบบฐานข้อมูล คือ มีความซ้ำซ้อนของข้อมูลน้อยสุด มีความถูกต้องของข้อมูลสูงสุด มีความปลอดภัยของข้อมูลสูงสุด มีความเป็นอิสระของข้อมูล และมีการควบคุมจากศูนย์กลาง
2. แนวคิดเกี่ยวกับระบบจัดการฐานข้อมูล
• ระบบจัดการฐานข้อมูลหรือดีบีเอ็มเอส คือ ซอฟต์แวร์ที่ใช้จัดการฐานข้อมูล ทำหน้าที่เกี่ยวกับการนิยามข้อมูล การจัดการข้อมูล การดูแลความปลอดภัยและความถูกต้องของข้อมูล การฟื้นสภาพข้อมูลและควบคุมภาวะพร้อมกัน การจัดทำพจนานุกรมข้อมูล
• ระบบจัดการฐานข้อมูลมีประโยชน์ต่อฐานข้อมูลดังนี้ คือ ความเป็นอิสระของข้อมูล ความปลอดภัยของข้อมูล การกำหนดสิทธิในการใช้ข้อมูล การฟื้นสภาพข้อมูลอัตโนมัติเมื่อระบบเกิดความเสียหาย การดูแลผู้ใช้หลายคนให้สามารถทำงานพร้อมกัน การใช้ข้อมูลร่วมกัน และการควบคุมความถูกต้องของข้อมูล
• ระบบจัดการฐานข้อมูลมีส่วนประกอบที่สำคัญ คือ ส่วนการจัดการฐานข้อมูล ส่วนประมวลผลสอบถาม ส่วนแปลภาษานิยามข้อมูล และส่วนรหัสออบเจกต์ของโปรแกรมประยุกต์
• ภาษาหลักที่ใช้ในระบบจัดการฐานข้อมูล คือ ภาษานิยามข้อมูลและภาษาจัดการข้อมูล ภาษานิยามข้อมูลใช้สำหรับกำหนดโครงสร้างฐานข้อมูล ภาษาจัดการข้อมูลใช้สำหรับสอบถามข้อมูลเพิ่มข้อมูล ลบข้อมูล เปลี่ยนแปลงแก้ไขข้อมูลที่อยู่ในฐานข้อมูล เกณฑ์หลักที่ใช้ในการจำแนกประเภทของระบบจัดการฐานข้อมูล คือ แบบจำลองข้อมูล
• สถาปัตยกรรมไคลเอ็นต์เซอร์ฟเวอร์มี 2 ส่วนที่สำคัญ คือ เซอร์ฟเวอร์หรือแบ็กเอนด์หรือเครื่องให้บริการ และไคลเอ็นต์หรือฟรอนเอนด์หรือเครื่องใช้บริการ โดยเครื่องให้บริการฐานข้อมูลจะต้องมีระบบจัดการฐานข้อมูลอยู่ที่เครื่องเซอร์ฟเวอร์ การใช้งานฐานข้อมูลแบบไคลเอ็นต์เซอร์ฟเวอร์มี 3 ลักษณะ คือ ไคล์เอ็นต์เซอร์ฟเวอร์แบบเอสคิวแอล ไคลเอ็นต์เซอร์ฟเวอร์แบบเมสเซส และไคลเอ็นต์เซอร์ฟเวอร์แบบ 3 ระดับชั้น
3. แนวคิดเกี่ยวกับโครงสร้างฐานข้อมูล
• โครงสร้างฐานข้อมูลหรือสถาปัตยกรรมฐานข้อมูลแบ่งเป็น 3 ระดับ คือ ระดับภายนอก ระดับแนวคิด และระดับภายใน การแบ่งโครงสร้างฐานข้อมูลออกเป็น 3 ระดับนี้ ทำให้เกิดความเป็นอิสระของข้อมูล
• โครงสร้างฐานข้อมูลระดับภายนอกเป็นระดับการมองข้อมูลภายในฐานข้อมูลสำหรับผู้ใช้แต่ละคน โครงสร้างฐานข้อมูลระดับแนวคิดเป็นระดับของการออกแบบฐานข้อมูล โครงสร้างฐานข้อมูลระดับภายในเป็นระดับของการจัดเก็บข้อมูลในหน่วยเก็บข้อมูลจริงๆ
• ความเป็นอิสระของข้อมูล หมายถึง เมื่อมีการเปลี่ยนแปลงแก้ไขโครงสร้างข้อมูลในระดับภายในหรือระดับแนวคิดจะไม่มีผลกระทบต่อโปรแกรมที่ผู้ใช้ใช้งานอยู่ในระดับภายนอก
• การแปลงรูปเป็นการเชื่อมมุมมองจากสถาปัตยกรรมในระดับที่สูงกว่าไปยังระดับที่ต่ำกว่า การเชื่อมมุมมองระหว่างระดับภายนอกกับระดับแนวคิดเพื่อให้ผู้ใช้ฐานข้อมูลมีมุมมองข้อมูลที่แตกต่างกันได้ การเชื่อมมุมมองระหว่างระดับแนวคิดกับระดับภายในเพื่อนำโครงสร้างของข้อมูลที่กำหนดในระดับแนวคิดมากำหนดโครงสร้างของเรคอร์ดและฟิลด์ที่จะนำไปจัดเก็บการแปลงรูปทำโดยระบบจัดการฐานข้อมูลหรือดีบีเอ็มเอส
4. แบบจำลองข้อมูล
• แบบจำลองข้อมูล คือ โครงสร้างข้อมูลระดับตรรกะที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลให้ผู้ใช้เห็นและเข้าใจได้
• แบบจำลองข้อมูลแบบสัมพันธ์นำเสนอในรูปตาราง มีการเชื่อมโยงข้อมูลถึงกันโดยใช้ค่าของคีย์ ที่มีประสิทธิภาพสูง เป็นแบบจำลองที่นิยมใช้กันมากที่สุดในปัจจุบัน
• แบบจำลองข้อมูลแบบไฮราคีนำเสนอในรูปของโครงสร้างต้นไม้ มีความสัมพันธ์ของเรคอร์ดในฐานข้อมูลแบบพาเรนต์-ไชลด์เป็นแบบหนึ่งต่อหลาย สร้างความสัมพันธ์ด้วยการใช้ตัวชี้
• แบบจำลองข้อมูลแบบเครือข่ายนำเสนอในรูปมัลติลิสต์ มีความสัมพันธ์ของเรคอร์ดในฐานข้อมูลแบบพาเรนต์-ไชลด์เป็นแบบหนึ่งต่อหลายแบบจำกัด มีการเชื่อมโยงเซตของเรคอร์ดด้วยตัวชี้สามารถแก้ปัญหาความสัมพันธ์แบบหลายต่อหลายได้
• แบบจำลองข้อมูลแบบออบเจกต์นำเสนอในรูปออบเจกต์ เป็นแบบจำลองที่เหมาะกับงานออกแบบทางวิศวกรรมและการเก็บข้อมูลรายละเอียดที่เป็นวัตถุเชิงซ้อน มีการอ้างถึงออบเจกต์อื่นโดยใช้ตัวระบุออบ เจกต์เชิงตรรกะ
การจัดการฐานข้อมูล การจัดการฐานข้อมูล(Database Management) คือ การบริหารแหล่งข้อมูลที่ถูกเก็บรวบรวมไว้ที่ศูนย์กลาง เพื่อตอบสนองต่อการใช้ของโปรแกรมประยุกต์อย่างมีประสิทธิภาพและลดการซ้ำซ้อนของข้อมูล รวมทั้งความขัดแย้งของข้อมูลที่เกิดขึ้นภายในองค์การ ในอดีตการเก็บข้อมูลมักจะเป็นอิสระต่อกันไม่มีการเชื่อมโยงของข้อมูลเกิดการ สิ้นเปลืองพื้นที่ในการเก็บข้อมูล เช่น องค์การหนึ่งจะมีแฟ้มบุคคล (Personnel) แฟ้มเงินเดือน (Payroll) และแฟ้ม สวัสดิการ (Benefits) อยู่แยกจากกัน เวลาผู้บริหารต้องการข้อมูลของพนักงานท่านใดจำเป็นจะต้องเรียกดูแฟ้มข้อมูลทั้ง 3 แฟ้ม ซึ่งเป็นการไม่สะดวก จงทำให้เกิดแนวความคิดในการรวมแฟ้มข้อมูลทั้ง 3 เข้าด้วยกันแล้วเก็บไว้ที่ ศูนย์กลางในลักษณะฐานข้อมูล (Database) จึงทำให้เกิดระบบการจัดการฐานข้อมูล (Database Management system (DBMS) ซึ่งจะต้องอาศัยโปรแกรมเฉพาะในการสร้างและบำรุงรักษา (Create and Maintenance) ฐาน ข้อมูลและสามารถที่จะให้ผู้ใช้ประยุกต์ใช้กับธุรกิจส่วนตัวได้โดยการดึงข้อมูล (Retrieve) ขึ้นมาแล้วใช้โปรแกรมสำเร็จรูปอื่นสร้างงานขึ้นมาโดยใช้ข้อมูลทีมีอยู่ในฐานข้อมูล แสดงการรวมแฟ้มข้อมูล 3 แฟ้มเข้าด้วยกัน
การประมวลผลในระบบสารสนเทศ
จากที่ได้กล่าวมาแล้วว่าข้อมูลที่ถูกเก็บอยู่ในระบบคอมพิวเตอร์เพื่อนำมาใช้สร้างเป็นสารสนเทศนั้นอาจอยู่ในรูปของแฟ้มข้อมูลหรือไฟล์หรืออาจอยู่ในรูปฐานข้อมูล ซึ่งการประมวลผลข้อมูลเพื่อสร้างระบบสารสนเทศนั้น ถ้าข้อมูลที่ถูกเก็บนั้นเป็นระบบแฟ้มข้อมูล เมื่อเปรียบเทียบกับระบบฐานข้อมูล จะพบว่าจะมีข้อดีข้อเสียแตกต่างกัน ดังจะกล่าวในหัวข้อต่อไปนี้
ระบบการประมวลผลแฟ้มข้อมูล
แรกเริ่มที่มีการใช้ระบบคอมพิวเตอร์เพื่อการประมวลผลข้อมูลทางธุรกิจ หรือเพื่อสร้างสารสนเทศนั้นจะมีการเก็บกลุ่มของระเบียนต่าง ๆ ไว้ในแฟ้มข้อมูลที่แยกจากกันและจะเรียกว่าเป็นระบบการประมวลผลแฟ้มข้อมูล ถึงแม้ว่าระบบการประมวลผลแฟ้มข้อมูลนี้จะเป็นระบบที่มีประสิทธิภาพที่ดีกว่าระบบที่ทำด้วยมือ แต่ระบบแฟ้มข้อมูลนี้ก็ยังมีข้อจำกัดหลายอย่างด้วยกัน
ข้อดีของการประมวลผลในระบบแฟ้มข้อมูล1.) การประมวลผลข้อมูลทำได้อย่างรวดเร็ว ค่าลงทุนในเบื้องต้นจะต่ำ อาจไม่จำเป็นต้องใช้คอมพิวเตอร์ที่มีความสามารถมาก ก็สามารถทำการประมวลผลข้อมูลได้ 2.) โปรแกรมประยุกต์แต่ละโปรแกรมสามารถควบคุมการใช้ข้อมูลในแฟ้มข้อมูลของตนเองได้
ข้อเสียของการประมวลผลในระบบแฟ้มข้อมูล
การประมวลผลในระบบแฟ้มข้อมูล อาจมีข้อเสียที่เกิดขึ้นได้ ดังต่อไปนี้1.) มีความซ้ำซ้อนของข้อมูล (Redundancy) การใช้แฟ้มข้อมูลที่ซ้ำซ้อนกันนี้ จะส่งผลให้เกิดข้อเสียในสิ่งต่อไปนี้ 1.1) ทำให้เสียเนื้อที่ในการใช้งานในหน่วยเก็บข้อมูลสำรองเช่นดิสก์ 1.2) ถ้ามีการเปลี่ยนแปลงข้อมูลในแฟ้มหนึ่งก็จะต้องตามไปแก้ไขข้อมูลในแฟ้มข้อมูลอื่นทุกแฟ้มที่มีข้อมูลนั้นอยู่ด้วยจึงอาจเกิดปัญหาที่เกี่ยวกับ ความขัดแย้งกันของข้อมูล (Data Inconsistency) เนื่องจากข้อมูลในแต่ละแฟ้มเกิดความไม่สอดคล้องกันขึ้น ซึ่งพบมากในระบบการประมวลผลแบบแฟ้มข้อมูล1.2) ความยากในการประมวลผลข้อมูลในแฟ้มข้อมูลหลายแฟ้มข้อมูล ในการสร้างรายงานของแต่ละระบบเช่นการสร้างรายงานการลงทะเบียน ว่าแต่ละวิชามีนักศึกษาคนใดบ้างที่ลงทะเบียนเรียน จะต้องมีการเขียนโปรแกรมประยุกต์เช่นโปรแกรมการลงทะเบียน เพื่อทำการดึงข้อมูลรหัสวิชา รหัสนักศึกษา จากแฟ้มข้อมูลการลงทะเบียน และต้องนำรหัสวิชาที่ได้ไปค้นชื่อวิชาและจำนวนหน่วยกิตที่มีรหัสวิชาตรงกันจากแฟ้มรายวิชา ส่วนรหัสนักศึกษาที่ได้ก็จะต้องนำไปค้นชื่อนักศึกษาที่มีรหัสตรงกันจากแฟ้มนักศึกษา ซึ่งโปรแกรมการลงทะเบียนที่เขียนจะต้องมีความซับซ้อนพอสมควร เนื่องจากต้องมีการจัดการกับแฟ้มข้อมูลมากกว่า 1 แฟ้มข้อมูลขึ้นไป
1.3) ไม่มีผู้ควบคุมหรือรับผิดชอบระบบทั้งหมด เนื่องจากผู้เขียนโปรแกรมด้านใดด้านหนึ่ง ก็จะดูแลเฉพาะข้อมูลที่จะมีการใช้กับงานของตนเท่านั้น
1.4) ความขึ้นต่อกัน (Dependency) โครงสร้างของแฟ้มข้อมูลมักจะเป็นส่วนหนึ่งของโปรแกรมประยุกต์ที่สร้างขึ้น ตัวอย่างเช่น ถ้ามีการเขียนโปรแกรมประยุกต์ด้วยภาษา COBOL โครงสร้างของแฟ้มข้อมูลที่จะใช้เช่นชื่อเขตข้อมูลต่าง ๆ ขนาดของเขตข้อมูล จะต้องประกาศไว้ในส่วนของ DATA DIVISION ของโปรแกรมประยุกต์ ปัญหาก็คือว่าถ้ามีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูลเมื่อใด ก็จะต้องไปทำการแก้ไขโปรแกรมประยุกต์ คือต้องไปเปลี่ยนแปลงโครงสร้างแฟ้มข้อมูลในส่วน DATA DIVISION นั้นด้วย
จากข้อเสียดังกล่าวของการประมวลผลในระบบแฟ้มข้อมูล จึงเป็นที่มาของการพัฒนาระบบการประมวลผลแบบใหม่ เพื่อแก้ไขข้อเสียของการประมวลผลในระบบแฟ้มข้อมูล ซึ่งเรียกการประมวลผลแบบใหม่นี้ว่า "ระบบการประมวลผลฐานข้อมูล"
ระบบการประมวลผลฐานข้อมูล
จากข้อจำกัดของระบบการประมวลผลแฟ้มข้อมูลดังกล่าวข้างต้น จึงมีความพยายามคิดหาเทคโนโลยีการประมวลผลแบบใหม่ เพื่อเอาชนะข้อจำกัดดังกล่าว เทคโนโลยีหนึ่งที่ถูกพัฒนาขึ้นมาแทนที่ระบบการประมวลผลแฟ้มข้อมูลได้แก่ ระบบการประมวลผลฐานข้อมูล
คำว่า ฐานข้อมูล โดยทั่วไปจะหมายถึงการเก็บรวบรวมข้อมูลที่มีความสัมพันธ์กันไว้ในที่ที่เดียวกันในระบบการประมวลผลฐานข้อมูลจะมีรูปแบบวิธีการจัดการข้อมูลที่แตกต่างกันจากระบบแฟ้มข้อมูล มีองค์ประกอบเพิ่มขึ้นมาจากระบบการประมวลผลแฟ้มข้อมูลได้แก่องค์ประกอบที่เรียกว่า ระบบการจัดการฐานข้อมูล DBMS(Database Management System)
DBMS จะช่วยในการสร้าง เรียกใช้ข้อมูล และปรับปรุงฐานข้อมูล โดยจะทำหน้าที่เสมือนตัวกลางระหว่างผู้ใช้และฐานข้อมูลให้สามารถติดต่อกันได้
รูประบบการประมวลผลฐานข้อมูล
การทำงานที่ต้องผ่าน DBMS ทุกครั้งนี้จะทำให้การเขียนโปรแกรมประยุกต์มีความสะดวกยิ่งขึ้น เนื่องจากผู้เขียนโปรแกรมไม่ต้องยุ่งเกี่ยวหรือสนใจว่าในทางกายภาพข้อมูลถูกเก็บอยู่อย่างไรในดิสก์ หรือแม้แต่วิธีการในการจัดการกับข้อมูลไม่ต้องสนใจว่าใช้วิธีแบบอินเด็กซ์ไฟล์ (Index File) หรือแบบอินเด็กซ์ซีเควนเชียวไฟล์ (Index Sequential File) เป็นต้น ผู้ใช้เพียงแต่ออกคำสั่งง่าย ๆ ในการเรียกใช้ข้อมูล เพิ่มข้อมูล ปรับปรุงข้อมูล หรือ ลบข้อมูลผ่านทาง DBMS แทน
ข้อดีของการประมวลผลข้อมูลในฐานข้อมูล1.) ข้อมูลมีการเก็บอยู่รวมกันและสามารถใช้ข้อมูลร่วมกันได้
2.) ลดความซ้ำซ้อนของข้อมูลได้3.) สามารถหลีกเลี่ยงความขัดแย้งกันของข้อมูลที่อาจเกิดขึ้นได้4.) การควบคุมความคงสภาพของข้อมูล ความคงสภาพ (Integrity) หมายถึง ความถูกต้อง ความคล้องจอง ความสมเหตุสมผลหรือความเชื่อถือได้ของข้อมูล5.) การจัดการข้อมูลในฐานข้อมูลจะทำได้ง่าย6.) ความเป็นอิสระระหว่างโปรแกรมประยุกต์และข้อมูล7.) การมีผู้ควบคุมระบบเพียงคนเดียว ซึ่งเรียกว่า DBA (Database Administrator) เป็นผู้ควบคุมและบริหารจัดการระบบฐานข้อมูลทั้งหมด
ข้อเสียของการประมวลผลข้อมูลในฐานข้อมูล
แม้ว่าการประมวลผลข้อมูลในฐานข้อมูล จะให้ข้อดีหลายประการแต่ก็จะมีข้อเสียอยู่บ้างเช่นกันในเรื่องต่าง ๆ ดังต่อไปนี้ 1.) การใช้งานฐานข้อมูลจะเสียค่าใช้จ่ายค่อนข้างสูง เนื่องจากราคา DBMS มีราคาค่อนข้างแพง นอกจากนี้การใช้ฐานข้อมูล จะต้องใช้กับเครื่องคอมพิวเตอร์ที่มีประสิทธิภาพค่อนข้างสูง เช่นต้องมีความเร็วสูง มีขนาดหน่วยความจำ และหน่วยเก็บข้อมูลสำรองความจุสูง เป็นต้น 2.) การสูญเสียของข้อมูลที่อาจเกิดขึ้นได้ด้วยตัวเอง เช่น Index Pointer เสียเป็นต้น
การประมวลผลในระบบสารสนเทศ
จากที่ได้กล่าวมาแล้วว่าข้อมูลที่ถูกเก็บอยู่ในระบบคอมพิวเตอร์เพื่อนำมาใช้สร้างเป็นสารสนเทศนั้นอาจอยู่ในรูปของแฟ้มข้อมูลหรือไฟล์หรืออาจอยู่ในรูปฐานข้อมูล ซึ่งการประมวลผลข้อมูลเพื่อสร้างระบบสารสนเทศนั้น ถ้าข้อมูลที่ถูกเก็บนั้นเป็นระบบแฟ้มข้อมูล เมื่อเปรียบเทียบกับระบบฐานข้อมูล จะพบว่าจะมีข้อดีข้อเสียแตกต่างกัน ดังจะกล่าวในหัวข้อต่อไปนี้
ระบบการประมวลผลแฟ้มข้อมูล
แรกเริ่มที่มีการใช้ระบบคอมพิวเตอร์เพื่อการประมวลผลข้อมูลทางธุรกิจ หรือเพื่อสร้างสารสนเทศนั้นจะมีการเก็บกลุ่มของระเบียนต่าง ๆ ไว้ในแฟ้มข้อมูลที่แยกจากกันและจะเรียกว่าเป็นระบบการประมวลผลแฟ้มข้อมูล ถึงแม้ว่าระบบการประมวลผลแฟ้มข้อมูลนี้จะเป็นระบบที่มีประสิทธิภาพที่ดีกว่าระบบที่ทำด้วยมือ แต่ระบบแฟ้มข้อมูลนี้ก็ยังมีข้อจำกัดหลายอย่างด้วยกัน
ข้อดีของการประมวลผลในระบบแฟ้มข้อมูล1.) การประมวลผลข้อมูลทำได้อย่างรวดเร็ว ค่าลงทุนในเบื้องต้นจะต่ำ อาจไม่จำเป็นต้องใช้คอมพิวเตอร์ที่มีความสามารถมาก ก็สามารถทำการประมวลผลข้อมูลได้ 2.) โปรแกรมประยุกต์แต่ละโปรแกรมสามารถควบคุมการใช้ข้อมูลในแฟ้มข้อมูลของตนเองได้
ข้อเสียของการประมวลผลในระบบแฟ้มข้อมูล
การประมวลผลในระบบแฟ้มข้อมูล อาจมีข้อเสียที่เกิดขึ้นได้ ดังต่อไปนี้1.) มีความซ้ำซ้อนของข้อมูล (Redundancy) การใช้แฟ้มข้อมูลที่ซ้ำซ้อนกันนี้ จะส่งผลให้เกิดข้อเสียในสิ่งต่อไปนี้ 1.1) ทำให้เสียเนื้อที่ในการใช้งานในหน่วยเก็บข้อมูลสำรองเช่นดิสก์ 1.2) ถ้ามีการเปลี่ยนแปลงข้อมูลในแฟ้มหนึ่งก็จะต้องตามไปแก้ไขข้อมูลในแฟ้มข้อมูลอื่นทุกแฟ้มที่มีข้อมูลนั้นอยู่ด้วยจึงอาจเกิดปัญหาที่เกี่ยวกับ ความขัดแย้งกันของข้อมูล (Data Inconsistency) เนื่องจากข้อมูลในแต่ละแฟ้มเกิดความไม่สอดคล้องกันขึ้น ซึ่งพบมากในระบบการประมวลผลแบบแฟ้มข้อมูล1.2) ความยากในการประมวลผลข้อมูลในแฟ้มข้อมูลหลายแฟ้มข้อมูล ในการสร้างรายงานของแต่ละระบบเช่นการสร้างรายงานการลงทะเบียน ว่าแต่ละวิชามีนักศึกษาคนใดบ้างที่ลงทะเบียนเรียน จะต้องมีการเขียนโปรแกรมประยุกต์เช่นโปรแกรมการลงทะเบียน เพื่อทำการดึงข้อมูลรหัสวิชา รหัสนักศึกษา จากแฟ้มข้อมูลการลงทะเบียน และต้องนำรหัสวิชาที่ได้ไปค้นชื่อวิชาและจำนวนหน่วยกิตที่มีรหัสวิชาตรงกันจากแฟ้มรายวิชา ส่วนรหัสนักศึกษาที่ได้ก็จะต้องนำไปค้นชื่อนักศึกษาที่มีรหัสตรงกันจากแฟ้มนักศึกษา ซึ่งโปรแกรมการลงทะเบียนที่เขียนจะต้องมีความซับซ้อนพอสมควร เนื่องจากต้องมีการจัดการกับแฟ้มข้อมูลมากกว่า 1 แฟ้มข้อมูลขึ้นไป
1.3) ไม่มีผู้ควบคุมหรือรับผิดชอบระบบทั้งหมด เนื่องจากผู้เขียนโปรแกรมด้านใดด้านหนึ่ง ก็จะดูแลเฉพาะข้อมูลที่จะมีการใช้กับงานของตนเท่านั้น
1.4) ความขึ้นต่อกัน (Dependency) โครงสร้างของแฟ้มข้อมูลมักจะเป็นส่วนหนึ่งของโปรแกรมประยุกต์ที่สร้างขึ้น ตัวอย่างเช่น ถ้ามีการเขียนโปรแกรมประยุกต์ด้วยภาษา COBOL โครงสร้างของแฟ้มข้อมูลที่จะใช้เช่นชื่อเขตข้อมูลต่าง ๆ ขนาดของเขตข้อมูล จะต้องประกาศไว้ในส่วนของ DATA DIVISION ของโปรแกรมประยุกต์ ปัญหาก็คือว่าถ้ามีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูลเมื่อใด ก็จะต้องไปทำการแก้ไขโปรแกรมประยุกต์ คือต้องไปเปลี่ยนแปลงโครงสร้างแฟ้มข้อมูลในส่วน DATA DIVISION นั้นด้วย
จากข้อเสียดังกล่าวของการประมวลผลในระบบแฟ้มข้อมูล จึงเป็นที่มาของการพัฒนาระบบการประมวลผลแบบใหม่ เพื่อแก้ไขข้อเสียของการประมวลผลในระบบแฟ้มข้อมูล ซึ่งเรียกการประมวลผลแบบใหม่นี้ว่า "ระบบการประมวลผลฐานข้อมูล"
ระบบการประมวลผลฐานข้อมูล
จากข้อจำกัดของระบบการประมวลผลแฟ้มข้อมูลดังกล่าวข้างต้น จึงมีความพยายามคิดหาเทคโนโลยีการประมวลผลแบบใหม่ เพื่อเอาชนะข้อจำกัดดังกล่าว เทคโนโลยีหนึ่งที่ถูกพัฒนาขึ้นมาแทนที่ระบบการประมวลผลแฟ้มข้อมูลได้แก่ ระบบการประมวลผลฐานข้อมูล
คำว่า ฐานข้อมูล โดยทั่วไปจะหมายถึงการเก็บรวบรวมข้อมูลที่มีความสัมพันธ์กันไว้ในที่ที่เดียวกันในระบบการประมวลผลฐานข้อมูลจะมีรูปแบบวิธีการจัดการข้อมูลที่แตกต่างกันจากระบบแฟ้มข้อมูล มีองค์ประกอบเพิ่มขึ้นมาจากระบบการประมวลผลแฟ้มข้อมูลได้แก่องค์ประกอบที่เรียกว่า ระบบการจัดการฐานข้อมูล DBMS(Database Management System)
DBMS จะช่วยในการสร้าง เรียกใช้ข้อมูล และปรับปรุงฐานข้อมูล โดยจะทำหน้าที่เสมือนตัวกลางระหว่างผู้ใช้และฐานข้อมูลให้สามารถติดต่อกันได้
รูประบบการประมวลผลฐานข้อมูล
การทำงานที่ต้องผ่าน DBMS ทุกครั้งนี้จะทำให้การเขียนโปรแกรมประยุกต์มีความสะดวกยิ่งขึ้น เนื่องจากผู้เขียนโปรแกรมไม่ต้องยุ่งเกี่ยวหรือสนใจว่าในทางกายภาพข้อมูลถูกเก็บอยู่อย่างไรในดิสก์ หรือแม้แต่วิธีการในการจัดการกับข้อมูลไม่ต้องสนใจว่าใช้วิธีแบบอินเด็กซ์ไฟล์ (Index File) หรือแบบอินเด็กซ์ซีเควนเชียวไฟล์ (Index Sequential File) เป็นต้น ผู้ใช้เพียงแต่ออกคำสั่งง่าย ๆ ในการเรียกใช้ข้อมูล เพิ่มข้อมูล ปรับปรุงข้อมูล หรือ ลบข้อมูลผ่านทาง DBMS แทน
ข้อดีของการประมวลผลข้อมูลในฐานข้อมูล1.) ข้อมูลมีการเก็บอยู่รวมกันและสามารถใช้ข้อมูลร่วมกันได้
2.) ลดความซ้ำซ้อนของข้อมูลได้3.) สามารถหลีกเลี่ยงความขัดแย้งกันของข้อมูลที่อาจเกิดขึ้นได้4.) การควบคุมความคงสภาพของข้อมูล ความคงสภาพ (Integrity) หมายถึง ความถูกต้อง ความคล้องจอง ความสมเหตุสมผลหรือความเชื่อถือได้ของข้อมูล5.) การจัดการข้อมูลในฐานข้อมูลจะทำได้ง่าย6.) ความเป็นอิสระระหว่างโปรแกรมประยุกต์และข้อมูล7.) การมีผู้ควบคุมระบบเพียงคนเดียว ซึ่งเรียกว่า DBA (Database Administrator) เป็นผู้ควบคุมและบริหารจัดการระบบฐานข้อมูลทั้งหมด
ข้อเสียของการประมวลผลข้อมูลในฐานข้อมูล
แม้ว่าการประมวลผลข้อมูลในฐานข้อมูล จะให้ข้อดีหลายประการแต่ก็จะมีข้อเสียอยู่บ้างเช่นกันในเรื่องต่าง ๆ ดังต่อไปนี้ 1.) การใช้งานฐานข้อมูลจะเสียค่าใช้จ่ายค่อนข้างสูง เนื่องจากราคา DBMS มีราคาค่อนข้างแพง นอกจากนี้การใช้ฐานข้อมูล จะต้องใช้กับเครื่องคอมพิวเตอร์ที่มีประสิทธิภาพค่อนข้างสูง เช่นต้องมีความเร็วสูง มีขนาดหน่วยความจำ และหน่วยเก็บข้อมูลสำรองความจุสูง เป็นต้น 2.) การสูญเสียของข้อมูลที่อาจเกิดขึ้นได้ด้วยตัวเอง เช่น Index Pointer เสียเป็นต้น
แหล่งอ้างอิง
2.www.chakkham.ac.th/technology/lesson22/database2.html
3.www.tanti.ac.th/Com-tranning/IT/technof3.htm
เม้นต์
ตอบลบ