การจัดการฐานข้อมูล (Database Management)
การประมวลผลแฟ้มข้อมูลและฐานข้อมูล
รูปแบบการจัดเก็บข้อมูลของแฟ้มข้อมูล (Methods of File Organization)ข้อมูลต่าง ๆ หากมีปริมาณมาก ๆ จะต้องเก็บในสื่อบันทึกข้อมูลสำรองต่าง ๆ โดยจะมีรูปแบบของการจัดเก็บข้อมูลของแฟ้มข้อมูล 3 ประเภทคือ
1.การจัดแฟ้มข้อมูลแบบเรียงลำดับ (Sequential File)
เก็บในเทปแม่เหล็ก โดยข้อมูลจะเรียงลำดับต่อเนื่องจากตั้งแต่ต้นเทปจนท้ายเทป การอ่านจะต้องเริ่มอ่านตั้งแต่ต้นเทปจนกว่าจะพบข้อมูลที่ต้องการ มักเป็นแฟ้มข้อมูลที่มีการจัดเรียงลำดับ เช่น เรียงลำดับตามชื่อ หากจะต้องมีการเพิ่ม แก้ไข หรือถ่ายโอนข้อมูล จะต้องมีเทปอีกอันหนึ่งในการกระทำต่าง ๆ
ข้อดี
·ป้องกันการสูญหายของข้อมูล เนื่องจากไม่มีการบันทึกทับลงบนข้อมูลเดิม
·ใช้เนื้อที่ในการจัดเก็บข้อมูลน้อยกว่าแบบสุ่ม
·ใช้ได้กับสื่อบันทึกได้ทุกประเภท ราคาถูก
·ง่ายต่อการสร้างแฟ้มข้อมูล
ข้อจำกัด
·ไม่สามารถเข้าถึงข้อมูลได้โดยตรง
·การประมวลผลข้อมูลมีความล่าช้า ต้องเสียเวลาในการข้อมูลทุกเรคคอร์ด
2.การจัดแฟ้มข้อมูลแบบสุ่มหรือแบบโดยตรง (Random/direct File)
เข้าถึงข้อมูลได้โดยตรง โดยอาศัย Key Field เป็นค่าคีย์ในแต่เรคคอร์ดที่ไม่ซ้ำกันในการอ่าน ค้นหา ข้อมูล สำหรับบอกตำแหน่งในดิสก์ มีการจัดเก็บข้อมูล 2 รูปแบบDirect Addressing กำหนดค่าองคีย์ข้อมูลที่มีความสัมพันธ์กัน เช่น หมายเลขเช็คที่ไม่ซ้ำกัน กับ ข้อมูลในเช็คนั้น
ข้อดี
·เหมาะสมกับงานที่ต้องการความรวดเร็ว
·สามารถบันทึกข้อมูล อ่านข้อมูล หรือปรับปรุงข้อมูลได้โดยตรง
·ใช้เวลาในการประมวลผลน้อย
ข้อจำกัด
·การเขียนโปรแกรมมีความสลับซับซ้อนมากกว่าแบบเรียงลำดับ
·ใช้เนื้อที่ในการจัดเก็บข้อมูลมากกว่าการจัดเก็บข้อมูลแบบเรียงลำดับ ในการจองตำแหน่ง
·ไม่สามารถจัดรียงลำดับข้อมูลในแฟ้มได้ตามความต้องการ
·ในการเพิ่มข้อมูลหรือการปรับปรุงข้อมูลทำได้ยากกว่าแฟ้มข้อมูลแบบเรียงลำดับ
Hash Addressing เป็นการแปลงค่าของคีย์ให้อยู่ในรูปของค่าตำแหน่งที่ใช้ในการเก็บข้อมูลบนดิสก์ เรียกว่า Key Transformation อาศัยฟังก์ชัน Hashing Algorithms ในการคำนวณต่าง ๆ
3.การจัดแฟ้มข้อมูลแบบลำดับเชิงดัชนี (Indexed Sequential File)
เป็นอีกลักษณะหนึ่งของการจัดเก็บแบบสุ่ม โดยเข้าถึงข้อมูลได้ทั้งแบบเรียงลำดับ และแบบโดยตรง โดยจะแบ่งโครงสร้างของแฟ้มข้อมูลแบบลำดับเชิงดัชนีเป็น 2 ส่วน คือ
แฟ้มข้อมูลดัชนี (Index File) จะเก็บคีย์และตัวชี้ (Pointer) ไปยังตำแหน่งของข้อมูลและทำหน้าที่ควบคุมการเรียงลำดับข้อมูลภายในแฟ้มข้อมูลอีกที่หนึ่ง
แฟ้มข้อมูล (Data File) ทำหน้าที่เก็บรายละเอียดของข้อมูลต่าง ๆ โดยแฟ้มข้อมูลจะมีแฟ้มข้อมูลดัชนีได้มากกว่าหนึ่งแฟ้ม
ข้อดี
·การเข้าถึงข้อมูลได้ทั้งแบบเรียงลำดับและแบบสุ่ม
·การค้นหาข้อมูลจากแฟ้มทำได้รวดเร็ว
·การบันทึกเพิ่มข้อมูลลงแฟ้ม ข้อมูลชุดใหม่จะถูกจัดลำดับตามค่าของคีย์ให้โดยอัตโนมัติ
ข้อจำกัด
·ไม่สามารถจัดลำดับของข้อมูลให้อยู่ในลำดับที่ต้องการได้ เพราะข้อมูลจะถูกจัดเรียงค่าให้อัตโนมัติ
·เปลืองเนื้อที่ในการเก็บแฟ้มดัชนี
เปรียบเทียบการประมวลผลระบบแฟ้มข้อมูลและระบบฐานข้อมูล
ข้อดีของการประมวลผลในระบบแฟ้มข้อมูล
·การประมวลผลข้อมูลทำได้รวดเร็ว
·ค่าลงทุนในเบื้องต้นจะต่ำอาจไม่จำเป็นต้องใช้คอมพิวเตอร์มีความสามารถ
·โปรแกรมประยุกต์แต่ละโปรแกรมสามารถควบคุมการใช้ข้อมูลในแฟ้มข้อมูลของตนเองได้
ข้อเสียของการประมวลผลในระบบแฟ้มข้อมูล
·มีความซ้ำซ้อนของข้อมูล (Redundancy)
· เป็นความยากในการประมวลผลข้อมูลในแฟ้มข้อมูลหลายแฟ้ม
· ไม่มีผู้ควบคุมหรือรับผิดชอบระบบทั้งหมด เนื่องจากผู้เขียนโปรแกรมเฉพาะด้าน จะดูแลด้านนั้น
·ความขึ้นต่อกัน (Dependency) ระหว่างโปรแกรมประยุกต์และโครงสร้างของแฟ้มข้อมูล เมื่อมีการปรับปรุงโครงสร้างข้อมูล จะต้องมีการปรับปรุงข้อมูลด้วย
ฐานข้อมูลและองค์ประกอบฐานข้อมูล
ความหมายของฐานข้อมูล
ฐานข้อมูล ประกอบด้วยรายละเอียดของข้อมูลที่เกี่ยวข้องกัน ซึ่งถูกนำมาใช้ในงานด้านต่าง ๆ เช่น ด้านธนาคาร จะมีฐานข้อมูลที่เกี่ยวข้องกับข้อมูลเงินฝาก ข้อมูลเหล่านี้จะถูกจัดเก็บไว้อย่างมีระบบ และมีความสัมพันธ์กัน เพื่อประโยชน์ในการจัดการและรียกใช้ข้อมูลได้อย่างมีประสิทธิภาพฐานข้อมูล ประกอบด้วยรายละเอียดของข้อมูลที่เกี่ยวข้องกัน ซึ่งถูกนำมาใช้ในงานด้านต่าง ๆ เช่น ด้านธนาคาร จะมีฐานข้อมูลที่เกี่ยวข้องกับข้อมูลเงินฝาก ข้อมูลเหล่านี้จะถูกจัดเก็บไว้อย่างมีระบบ และมีความสัมพันธ์กัน เพื่อประโยชน์ในการจัดการและรียกใช้ข้อมูลได้อย่างมีประสิทธิภาพ
องค์ประกอบของระบบฐานข้อมูล
ระบบฐานข้อมูลส่วนใหญ่ เป็นระบบที่มีการนำคอมพิวเตอร์เข้ามาช่วยในการจัดเก็บข้อมูล แบ่งออกเป็น 5 ประเภท คือ
1.ฮาร์ดแวร์ (Hardware)ในระบบฐานข้อมูลที่มีประสิทธิภาพควรมีฮาร์ดแวร์ต่าง ๆ ที่พร้อมจะอำนวยความสะดวกในการบริหารฐานข้อมูลได้อย่างมีประสิทธิภาพ
2.โปรแกรม (Program)ในการประมวลผลฐานข้อมูลนั้น ต้องใช้งานหลายรูปแบบ จึงจำเป็นจะต้องมีโปรแกรมที่ทำหน้าที่ต่าง ๆ ได้ เช่น ควบคุมดูแลฐานข้อมูล สร้างฐานข้อมูล สร้างรายงาน จัดการรายงาน เป็นต้น เรียกว่า ระบบจัดการฐานข้อมูล (Database Management : DBMS) โดยโปรแกรมเหล่านี้ทำหน้าที่จัดการฐานข้อมูลและเป็นสื่อกลางระหว่างผู้ใช้และโปรแกรมประยุกต์ต่าง ๆ ฉะนั้น ระบบจัดการฐานข้อมูลจึงมีหน้าที่ดังนี้
2.1 กำหนด และเก็บโครงสร้างฐานข้อมูล (Define and Store Database Structure)
2.2 การบรรจุข้อมูลจากฐานข้อมูล (Load Database)
2.3 เก็บและดูแลข้อมูล (Store and Maintain Data)
2.4 ประสานงานกับระบบปฏิบัติการ (Operating System)
2.5 ช่วยควบคุมความปลอดภัย (Security Control)
2.6 การจัดทำข้อมูลสำรองและการกู้ (Backup and Recovery)
2.7 ควบคุมการใช้ข้อมูลพร้อมกันของผู้ใช้ในระบบ (Concurrency Control)
2.8 ควบคุมความบูรณภาพของข้อมูล (Integrity Control)
2.9 ทำหน้าที่จัดทำพจนานุกรมข้อมูล (data Dictionary)
3.ข้อมูล (Data)
ฐานข้อมูลเป็นการเก็บรวบรวมข้อมูลให้เป็นศูนย์กลางข้อมูลอย่างมีระบบ ซึ่งข้อมูลเหล่านี้สามารถเรียกใช้ร่วมกันได้
บุคลากร (People) มีดังนี้
4.1ผู้ใช้ทั่วไป (User)
4.2พนักงานปฏิบัติการ (Operator)
4.3นักวิเคราะห์และออกแบบระบบ (System Analyst)
4.4ผู้เขียนโปรแกรมประยุกต์ใช้งาน (Programmer)
4.5ผู้บริหารฐานข้อมูล (Database Administrator : DBA)
5.5ขั้นตอนการปฏิบัติงาน (Procedures)ควรมีการจัดทำเอกสารที่ระบุขั้นตอนการทำงานของหน้าที่งานต่าง ๆ ไว้ ซึ่งจะช่วยในการทำงานและแก้ปัญหา
ประเภทและสถาปัตยกรรมระบบฐานข้อมูล
รูปแบบของฐานข้อมูล
โครงสร้างของข้อมูลโดยทั่วไปจะมี 3 แบบด้วย
1.ฐานข้อมูลแบบลำดับขั้น (Hierarchical Database)
2.ฐานข้อมูลแบบเครือข่าย (Network database)
3.ฐานข้อมูลแบบเชิงสัมพันธ์ (Relational Database)
1.ฐานข้อมูลแบบลำดับขั้น (Hierarchical Database)ลักษณะคล้ายต้นไม้ที่คว่ำหัวลง หรือเรียกอีกแบบว่าโครงสร้างแบบต้นไม้ (Tree Structure) โดยมีระเบียนที่อยู่แถวบนเรียกว่า ระเบียนพ่อแม่ (Parent Record) ระเบียนในแถวถัดลงมาจะเรียกว่า ระเบียนลูก (Child Record)
2.ฐานข้อมูลแบบเครือข่าย (Network database)
ข้อมูลภายในฐานข้อมูลนี้สามารถมีความสัมพันธ์กันแบบใดก็ได้
รหัสร้านผู้ผลิตสินค้า
ชื่อร้านผู้ผลิตสินค้า
รหัสร้านสินค้า
ชื่อสินค้า
ราคาต่อหน่วย
จำนวนที่มี
รหัสที่เก็บสินค้า
ขนาดบรรจุสินค้า
ระเบียนร้านผู้ผลิตสินค้า
ระเบียนสินค้า ระเบียนที่เก็บสินค้า
3.ฐานข้อมูลแบบเชิงสัมพันธ์ (Relational Database)มีโครงสร้างข้อมูลที่ต่างจากฐานข้อมูลอื่น คือ ข้อมูลจะถูกเก็บอยู่ในรูปแบบของ ตาราง (Table)สถาปัตยกรรมระบบฐานข้อมูลระบบฐานข้อมูลประกอบด้วย โครงสร้างของข้อมูลที่ผู้ใช้หลายกลุ่ม สามารถเรียกใช้ข้อมูลได้ การแบ่งระดับของข้อมูลออกเป็นระดับต่าง ๆ มีวัตถุประสงค์เพื่อให้การใช้ข้อมูลของผู้ใช้เป็นไปอย่างเหมาะสม แบ่งได้เป็น 3 ระดับ คือ
1.ระดับภายนอก (External Level)
2.ระดับภายใน (Internal Level)
3.ระดับหลักการ (Conceptual Level)
1.ระดับภายนอก (External Level)เป็นระดับการมองของข้อมูลภายในฐานข้อมูลสำหรับผู้ใช้งานแต่ละคน เช่น โปรแกรมเมอร์ ผู้ใช้ปฏิบัติการ โดยเป็นระดับที่ผู้ใช้นำข้อมูลจากฐานข้อมูลไปใช้งานตามที่ผู้ใช้ต้องการ
2.ระดับภายใน (Internal Level)ประกอบด้วยเค้าร่างที่เกี่ยวกับการจัดเก็บข้อมูลจริง ๆ ว่ามีโครงสร้างการจัดเก็บรูปแบบใด รวมถึง วิธีการเข้าถึง ข้อมูลต่าง ๆ ในฐานข้อมูล เพื่อดึงข้อมูลที่ต้องการ เช่น Indexing Pointers เป็นต้น ระดับนี้จะอยู่ในความรับผิดชอบของผู้ออกแบบฐานข้อมูลในระดับกายภาพ
3.ระดับหลักการ (Conceptual Level)ประกอบด้วยเค้าร่างที่อธิบายถึงฐานข้อมูลรวมว่ามีเอนทิตี้ โครงสร้างของข้อมูล ความสัมพันธ์ของข้อมูลกฏเกณฑ์และข้อจำกัดต่าง ๆ ข้อมูลระดับนี้เป็นข้อมูลที่ผ่านการวิเคราะห์ เป็นระดับข้อมูลที่ถูกออกแบบเพื่อให้ผู้ใช้ข้อมูลต่าง ๆ ในระดับภายนอกสามารถเรียกใช้ข้อมูลได้หลายรูปแบบ