วันพุธที่ 4 มกราคม พ.ศ. 2560

บทที่ 1 หลักการของระบบฐานข้อมูล

     ความหมายของระบบจัดการฐานข้อมูล

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

2. ระบบฐานข้อมูล(Database System) หมายถึง การรวมตัวกันของฐานข้อมูลตั้งแต่ 2ฐานข้อมูลเป็นต้นไปที่มีความสัมพันธ์กัน โดยมีวัตถุประสงค์เพื่อเป็นการลดความซ้ำซ้อนของข้อมูล และทำให้การบำรุงรักษาตัวโปรแกรมง่ายมากขึ้น โดยผ่านระบบการจัดการฐานข้อมูล หรือ  เรียกย่อ ๆ ว่า DBMS

3. ระบบจัดการฐานข้อมูล หมายถึง กลุ่มโปรแกรมหรือซอฟต์แวร์ชนิดหนึ่ง ที่สร้างขึ้นมาเพื่อทำหน้าที่บริหารฐานข้อมูลโดยตรง ให้มีประสิทธิภาพมากที่สุด เป็นเครื่องมือที่ช่วยอำนวยความสะดวกให้ผู้ใช้สามารถเข้าถึงข้อมูลได้ โดยที่ผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างฐานข้อมูล พูดง่าย ๆ ก็คือ DBMS นี้เป็นตัวกลางในการเชื่อมโยงระหว่างผู้ใช้ และโปรแกรมต่างๆ ที่เกี่ยวข้องกับระบบฐานข้อมูล ตัวอย่างของ DBMS ที่นิยมใช้ในปัจจุบัน ได้แก่ Microsoft Access, FoxPro,SQL Server, Oracle, Informix, DB2 เป็นต้น

หน้าที่ของระบบจัดการฐานข้อมูล มีดังนี้
1. กำหนดมาตรฐานข้อมูล
2. ควบคุมการเข้าถึงข้อมูลแบบต่าง ๆ
3. ดูแล-จัดเก็บข้อมูลให้มีความถูกต้องแม่นยำ
4. จัดเรื่องการสำรอง และฟื้นสภาพแฟ้มข้อมูล
5. จัดระเบียบแฟ้มทางกายภาพ (Physical Organization)
6. รักษาความปลอดภัยของข้อมูลภายในฐานข้อมูล และป้องกันไม่ใช้ข้อมูลสูญหาย
7. บำรุงรักษาฐานข้อมูลให้เป็นอิสระจากโปรแกรมแอพพลิเคชันอื่น ๆ
8. เชื่อมโยงข้อมูลที่มีความสัมพันธ์เข้าด้วยกันเพื่อรองรับความต้องการใช้ข้อมูลในระดับ

     ประโยชน์ของระบบจัดการฐานข้อมูล 

     ในปัจจุบันองค์กรส่วนใหญ่หันมาให้ความสนใจกับระบบฐานข้อมูลกันมาก เนื่องจากระบบฐานข้อมูลมีประโยชน์ดังต่อไปนี้
1. ลดความซ้ำซ้อนของข้อมูล
เนื่องจากการใช้งานระบบฐานข้อมูลนั้นต้องมีการออกแบบฐานข้อมูลเพื่อให้มีความซ้ำซ้อนของข้อมูลน้อยที่สุด จุดประสงค์หลักของการออกแบบฐานข้อมูลเพื่อการลดความซ้ำซ้อน
2. รักษาความถูกต้องของข้อมูล
เนื่องจากระบบจัดการฐานข้อมูลสามารถตรวจสอบกฎบังคับความถูกต้องของข้อมูลให้ได้ โดยนำกฎเหล่านั้นมาไว้ที่ฐานข้อมูล ซึ่งถือเป็นหน้าที่ของระบบจัดการฐานข้อมูลที่จะจัดการเรื่องความถูกต้องของข้อมูลให้แทน แต่ถ้าเป็นระบบแฟ้มข้อมูลผู้พัฒนาโปรแกรมต้องเขียนโปรแกรมเพื่อควบคุมกฎระเบียบต่างๆ
3. มีความเป็นอิสระของข้อมูล
เนื่องจากมีแนวคิดที่ว่าทำอย่างไรให้โปรแกรมเป็นอิสระจากการเปลี่ยนแปลงโครงสร้างข้อมูล ในปัจจุบันนี้ถ้าไม่ใช้ระบบฐานข้อมูลการแก้ไขโครงสร้างข้อมูลจะกระทบถึงโปรแกรมด้วย
4. มีความปลอดภัยของข้อมูลสูง
ถ้าหากทุกคนสามารถเรียกดูและเปลี่ยนแปลงข้อมูลในฐานข้อมูลทั้งหมดได้ อาจก่อให้เกิดความเสียหายต่อข้อมูลได้ และข้อมูลบางส่วนอาจเป็นข้อมูลที่ไม่อาจเปิดเผยได้หรือเป็นข้อมูลเฉพาะของผู้บริหาร หากไม่มีการจัดการด้านความปลอดภัยของข้อมูล ฐานข้อมูลก็จะไม่สามารถใช้เก็บข้อมูลบางส่วนได้
ระบบฐานข้อมูลส่วนใหญ่จะมีการรักษาความปลอดภัยของข้อมูล ดังนี้
– มีรหัสผู้ใช้ (user) และรหัสผ่าน (password)
– ในระบบฐานข้อมูล (DBS) สามารถใช้วิว (view) เพื่อประโยชน์ในการรักษาความ ปลอดภัยของข้อมูลได้เป็นอย่างดี โดยการสร้างวิวที่เสมือนเป็นตารางของผู้ใช้จริงๆ
– ระบบฐานข้อมูลจะไม่ยอมให้โปรแกรมใดๆ เข้าถึงข้อมูลในระดับกายภาพ (physical) โดยไม่ผ่านระบบการจัดการฐานข้อมูล
– มีการเข้ารหัสและถอดรหัส (encryption/decryption) เพื่อปกปิดข้อมูลแก่ผู้ที่ไม่เกี่ยวข้อง เช่น มีการเข้ารหัสข้อมูลรหัสผ่าน
5. ใช้ข้อมูลร่วมกันโดยมีการควบคุมจากศูนย์กลาง
มีการควบคุมการใช้ข้อมูลในฐานข้อมูลจากศูนย์กลาง ระบบฐานข้อมูลสามารถรองรับการทำงานของผู้ใช้หลายคนได้ กล่าวคือระบบฐานข้อมูลจะต้องควบคุมลำดับการทำงานให้เป็นไปอย่างถูกต้อง

      ลักษณะความสัมพันธ์ของฐานข้อมูล 

1. ความสัมพันธ์แบบ หนึ่งต่อหนึ่ง ( One to one Relationships)
เป็นการแสดงความสัมพันธ์ของข้อมูล ของเอนทิตี้หนึ่งว่ามีความสัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะ หนึ่ง ต่อ หนึ่ง หรือเขียนได้เป็น 1:1 แสดงว่าข้อมูลเพียงหนึ่งข้อมูลของเอนทิตี้แรกมีความสัมพันธ์กับข้อมูลในเอนทิตี้ที่สองเพียงข้อมูลเดียว

2. ความสัมพันธ์แบบ หนึ่งต่อกลุ่ม ( One to many Relationships)
เป็นการแสดงความสัมพันธ์ของข้อมูล ของเอนทิตี้หนึ่งว่ามีความส ัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะ หนึ่ง ต่อ กลุ่ม หรือเขียนได้เป็น 1:N แสดงว่าข้อมูลเพียงหนึ่งข้อมูลของเอนทิตี้แรกมีความสัมพันธ์กับข้อมูลในเอนทิตี้ที่สองหลายข้อมูล เช่น
ลูกค้าหนึ่งคนมีใบเสร็จได้หลายใบ เนื่องจากลูกค้าหนึ่งคนอาจมาซื้อสินค้าหลายครั้ง
ใบเสร็จหนึ่งใบต้องเป็นของลูกค้าเพียงคนเดียวเท่านั้น

3. ความสัมพันธ์แบบ กลุ่มต่อกลุ่ม ( Many to Many Relationships)
เป็นการแสดงความสัมพันธ์ของข้อมูล ของเอนทิตี้หนึ่งว่ามีความส ัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะ กลุ่ม ต่อ กลุ่ม หรือเขียนได้เป็น N:M แสดงว่าข้อมูลเพียงหนึ่งข้อมูลของเอนทิตี้แรก มีความสัมพันธ์กับข้อมูลในเอนทิตี้ที่สองหลายข้อมูล และทำนองเดียวกัน ข้อมูลเพียงหนึ่งข้อมูลของเอนทิตี้ที่สองมีความสัมพันธ์ในทางกลับกันกับข้อมูลในเอนทิตี้ที่แรกหลายข้อมูล

     ศัพท์พื้นฐาน