๖ วิชา การใช้โปรแกรมฐานข้อมูล
ระบบจัดการฐานข้อมูล
-
ดูบทความหลักที่ ระบบจัดการฐานข้อมูล
ระบบจัดการฐานข้อมูล(DBMS) ประกอบด้วยซอฟต์แวร์ที่ใช้ในการจัดการฐานข้อมูล, จัดเตรียมพื้นที่ในการเก็บ, การเข้าถึง, ระบบรักษาความปลอดภัย, สำรองข้อมูล และสิ่งอำนวยความสะดวกอื่นๆ ระบบจัดการฐานข้อมูลสามารถแบ่งหมวดหมู่ได้ตามแบบจำลองฐานข้อมูลที่สนับสนุน อาทิเช่น เชิงสัมพันธ์ หรือ XML เป็นต้น แบ่งตามประเภทของคอมพิวเตอร์ที่สนับสนุน อาทิเช่น server cluster หรือ โทรศัพท์พกพา เป็นต้น แบ่งตามประภทของภาษาสอบถามที่ใช้ในการเข้าถึงฐานข้อมูล อาทิเช่น ภาษาสอบถามเชิงโครงสร้าง หรือ XQuery แบ่งตามประสิทธิภาพในการ trade-offs อาทิเช่น ขนาดที่ใหญ่ที่สุด หรือ ความเร็วสูงสุด หรือ อื่นๆ เป็นต้น ในบาง DBMS จะครอบคลุมมากกว่าหนึ่งหมวดหมู่ เช่น สนับสนุนภาษาสอบถามได้หลายๆ ภาษา ยกตัวอย่างเช่น ใน DBMS ที่นิยมใช้การอย่างแพร่หลาย MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker,Oracle,Sybase, dBASE, Clipper,FoxPro อื่นๆ ในทุกๆ ซอฟต์แวร์ฐานข้อมูลจะมี Open Database Connectivity (ODBC) driver มาให้ด้วย เพื่ออนุญาติให้ฐานข้อมูลสามารถทำงานร่วมกับฐานข้อมูลแบบอื่นๆ ได้
[แก้]การออกแบบฐานข้อมูล
การออกแบบฐานข้อมูล (Designing Databases) มีความสำคัญต่อการจัดการระบบฐานข้อมูล (DBMS) ทั้งนี้เนื่องจากข้อมูลที่อยู่ภายในฐานข้อมูลจะต้องศึกษาถึงความสัมพันธ์ของข้อมูล โครงสร้างของข้อมูลการเข้าถึงข้อมูลและกระบวนการที่โปรแกรมประยุกต์จะเรียกใช้ฐานข้อมูล ดังนั้น เราจึงสามารถแบ่งวิธีการสร้างฐานข้อมูลได้ 3 ประเภท
1. รูปแบบข้อมูลแบบลำดับขั้น หรือโครงสร้างแบบลำดับขั้น (Hierarchical data model) วิธีการสร้างฐาน ข้อมูลแบบลำดับขั้นถูกพัฒนาโดยบริษัท ไอบีเอ็ม จำกัด ในปี 1980 ได้รับความนิยมมาก ในการพัฒนาฐานข้อมูลบนเครื่องคอมพิวเตอร์ขนาดใหญ่และขนาดกลาง โดยที่โครงสร้างข้อมูลจะสร้างรูปแบบเหมือนต้นไม้ โดยความสัมพันธ์เป็นแบบหนึ่งต่อหลาย (One- to -Many)
2. รูปแบบข้อมูลแบบเครือข่าย (Network data Model) ฐานข้อมูลแบบเครือข่ายมีความคล้ายคลึงกับฐาน ข้อมูลแบบลำดับชั้น ต่างกันที่โครงสร้างแบบเครือข่าย อาจจะมีการติดต่อหลายต่อหนึ่ง (Many-to-one) หรือ หลายต่อหลาย (Many-to-many) กล่าวคือลูก (Child) อาจมีพ่อแม่ (Parent) มากกว่าหนึ่ง สำหรับตัวอย่างฐานข้อมูลแบบเครือข่ายให้ลองพิจารณาการจัดการข้อมูลของห้องสมุด ซึ่งรายการจะประกอบด้วย ชื่อเรื่อง ผู้แต่ง สำนักพิมพ์ ที่อยู่ ประเภท
3. รูปแบบความสัมพันธ์ข้อมูล (Relation data model) เป็นลักษณะการออกแบบฐานข้อมูลโดยจัดข้อมูลให้อยู่ในรูปของตารางที่มีระบบคล้ายแฟ้ม โดยที่ข้อมูลแต่ละแถว (Row) ของตารางจะแทนเรคอร์ด (Record) ส่วน ข้อมูลนแนวดิ่งจะแทนคอลัมน์ (Column) ซึ่งเป็นขอบเขตของข้อมูล (Field) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้ เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ
การออกแบบฐานข้อมูลเชิงสัมพันธ์
การออกแบบฐานข้อมูลในองค์กรขนาดเล็กเพื่อตอบสนองความต้องการของผู้ใช้งานอาจเป็นเรื่องที่ไม่ยุ่งยากนัก เนื่องจากระบบและขั้นตอนการทำงานภายในองค์กรไม่ซับซ้อน ปริมาณข้อมูลที่มีก็ไม่มาก และจำนวนผู้ใช้งานฐานข้อมูลก็มีเพียงไม่กี่คน หากทว่าในองค์กรขนาดใหญ่ ซึ่งมีระบบและขั้นตอนการทำงานที่ซับซ้อน รวมทั้งมีปริมาณข้อมูลและผู้ใช้งานจำนวนมาก การออกแบบฐานข้อมูลจะเป็นเรื่องที่มีความละเอียดซับซ้อน และต้องใช้เวลาในการดำเนินการนานพอควรทีเดียว ทั้งนี้ ฐานข้อมูลที่ได้รับการออกแบบอย่างเหมาะสมจะสามารถตอบสนองต่อความต้องการของผู้ใช้งานภายในหน่วยงานต่าง ๆ ขององค์กรได้ ซึ่งจะทำให้การดำเนินงานขององค์กรมีประสิทธิภาพดียิ่งขึ้น เป็นผลตอบแทนที่คุ้มค่าต่อการลงทุนเพื่อพัฒนาระบบฐานข้อมูลภายในองค์กรทั้งนี้ การออกแบบฐานข้อมูลที่นำซอฟต์แวร์ระบบจัดการฐานข้อมูลมาช่วยในการดำเนินการ สามารถจำแนกหลักในการดำเนินการได้ 6 ขั้นตอน คือ
1.การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล
2.การเลือกระบบจัดการฐานข้อมูล
3.การออกแบบฐานข้อมูลในระดับแนวคิด
4.การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล
5.การออกแบบฐานข้อมูลในระดับกายภาพ
6.การนำฐานข้อมูลไปใช้และการประเมินผล
การออกแบบฐานข้อมูลในระดับตรรกะ
การออกแบบฐานข้อมูลในระดับตรรกะ หรือในระดับแนวความคิด เป็นขั้นตอนการออกแบบความสัมพันธ์ระหว่างข้อมูลในระบบโดยใช้แบบจำลองข้อมูลเชิงสัมพันธ์ ซึ่งอธิบายโดยใช้แผนภาพแสดงความสัมพันธ์ระหว่างข้อมูล (E-R Diagram) จากแผนภาพ E-R Diagram นำมาสร้างเป็นตารางข้อมูล (Mapping E-R Diagram to Relation) และใช้ทฤษฏีการ Normalization เพื่อเป็นการรับประกันว่าข้อมูลมีความซ้ำซ้อนกันน้อยที่สุด ซึ่งการออกแบบเชิงตรรกะนี้จะบอกถึงรายละเอียดของ Relation , Attribute และ Entity