ระบบฐานข้อมูล
ความหมายของฐานข้อมูล
ฐานข้อมูล (database) คือ กลุ่มข้อมูลที่มีความสัมพันธ์กันและถูกนำมารวบรวมไว้ในที่เดียวกันอย่างเป็นระบบเพื่อนำไปใช้ในวัตถุประสงค์อย่างใดอย่างหนึ่งโดยกลุ่มผู้ใช้ตั้งแต่หนึ่งกลุ่มขึ้นไป
ข้อมูล (data) คือ ข้อเท็จจริง (real facts) ต่าง ๆ ที่เกี่ยวข้องหรือแสดงคุณลักษณะของบุคคล สิ่งของ สถานที่ หรือ เหตุการณ์ใดๆ ที่อาจเป็นได้ทั้งตัวเลข (numeric) เช่น ราคา ปริมาณ จำนวนเงิน ส่วนสูง น้ำหนัก ระยะทาง รหัสวิชา เกรดเฉลี่ย หรือ ข้อเท็จจริงที่ไม่ใช่ตัวเลข (non-numeric) เช่น ชื่อ นามสกุล ที่อยู่ ชื่อสินค้า ข้อความ รูปภาพ หรือ อื่น ๆ เป็นต้น
ฐานข้อมูลสำคัญอย่างไร
ในยุคแรกที่นำคอมพิวเตอร์มาประมวลผลข้อมูลนั้น การจัดเก็บข้อมูลแต่ละประเภทจะแยกออกเป็นไฟล์หรือแฟ้มข้อมูล โดยแต่ละแผนกหรือหน่วยงานจะเก็บข้อมูลและมีโปรแกรมของตนเอง ที่ใช้ดึงข้อมูลจากแฟ้มต่าง ๆ มาประมวลผลและออกรายงานดังแสดงในภาพ ซึ่งทำให้เกิดปัญหาตามมาคือ การเก็บข้อมูลซ้ำซ้อน (Data Redundancy)และขาดความเป็นมาตรฐานเดียวกัน (Poor Enforcement of Standards) เนื่องจากต่างคนต่างเก็บ ทำให้การกำหนดโครงสร้างของข้อมูลตัวเดียวกันมีความแตกต่างกันได้ง่าย เช่น ชนิดและรูปแบบข้อมูลรวมทั้งชื่อที่ตั้งไว้ไม่ตรงกัน ปัญหาความไม่เป็นอิสระของข้อมูล (Data Dependency) เนื่องจากวิธีการจัดเก็บและเรียกใช้ข้อมูลจะขึ้นกับโปรแกรมที่แต่ละหน่วยงานใช้ประมวลผล เป็นต้น
แผนภาพแสดงโครงสร้างการจัดเก็บข้อมูลของบริษัทไทยพัฒนาจำกัด จะเห็นแต่ละแผนกต่างเก็บข้อมูลของตัวเองแยกไว้เป็นแต่ละแฟ้มข้อมูลซึ่งมีข้อมูลบางส่วนที่เก็บซ้ำซ้อนกันอยู่ เช่น แฟ้มข้อมูลพนักงานขาย ของแผนกการตลาด จะมีข้อมูลส่วนนี้ อยู่ใน แฟ้มข้อมูลพนักงาน ของแผนกบุคคล ซึ่งต้องเก็บข้อมูลทุกคนในบริษัทไว้ด้วยเหมือนกัน โดยแต่ละแผนกจะมีโปรแกรมของตนเองที่ใช้ดึงข้อมูลจากแฟ้มมาประมวลผลและออกรายงาน
จากตัวอย่างจะเห็นข้อดีในการประมวลผลแบบแฟ้มข้อมูล คือ แต่ละแผนกสามารถเขียนโปรแกรมประมวลผลข้อมูลของตนเองในรูปแบบที่ต้องการได้อย่างอิสระ การแก้ไขและเรียกใช้ข้อมูลสามารถทำได้ทันที เพระต่างคนต่างเก็บ นอกจากนี้ค่าใช้จ่ายค่อนข้างต่ำ เพราะข้อมูลจะใช้เฉพาะแผนกไม่ต้องไปเชื่อมโยงกับข้อมูลของแผนกอื่น จึงไม่ซับซ้อนจนต้องใช้ระบบเครือข่ายและระบบจัดการฐานข้อมูลที่มีประสิทธิภาพสูงมากมาช่วย แต่ปัญหาที่สำคัญจะตามมาสำหรับการจัดเก็บข้อมูลในลักษณะนี้ก็คือ
Æเกิดความซับซ้อนของข้อมูล (Data Redundancy) ซึ่งจะนำไปสู่การขัดแย้งของข้อมูลได้ (Data Inconsistency) ถ้ามีการแก้ไขข้อมูลในแฟ้มหนึ่งแต่ไม่ได้แก้ไขข้อมูลนั้นในแฟ้มของฝ่ายอื่นด้วย
Æเกิดความไม่เป็นอิสระของข้อมูล (Data Dependency) เนื่องจากโปรแกรมที่ใช้ในแต่ละแผนกจะต้องผูกพันกับโครงสร้างการจัดเก็บและเรียกใช้ข้อมูล ถ้าเมื่อใดมีการเปลี่ยนแปลงโครงสร้างการจัดเก็บข้อมูล โปรแกรมทุกโปรแกรมที่เรียกใช้แฟ้มข้อมูลนั้นจะต้องถูกแก้ไขเปลี่ยนแปลงตามไปด้วย ซึ่งจะเป็นอุปสรรคที่สำคัญต่อการพัฒนโปรแกหรือพัฒนาโครงสร้างการจัดเก็บข้อมูลให้สามารถนำไปใช้งานได้อย่างมีประสิทธิภาพมากขึ้นในระยะยาวเนื่องจากขาดความยืดหยุ่นและความคล่องตัว
จากปัญหาข้างต้น ทำให้เกิดความคิดที่จะนำเทคโนโลยีฐานข้อมูลมาใช้เพื่อรวบรวมข้อมูลต่าง ๆ ที่มีความสัมพันธ์กันแต่แยกกันอยู่ในแต่ละแฟ้มข้อมูลของแต่ละระบบงานมาเก็บไว้ในที่เดียวกัน เพื่อให้แต่ละแผนกหรือหน่วยงานที่จำเป็นต้องใช้ข้อมูลนั้น สามารถเข้าถึงและใช้ข้อมูลร่วมกันได้ การดูแลรักษาระบบทำได้ง่ายขึ้นเพราะข้อมูลไม่อยู่กระจัดกระจายเหมือนในตอนแรก นอกจากนี้การมีระบบฐานข้อมูลที่มีประสิทธิภาพ คือข้อมูลที่มีความถูกต้องอยู่เสมอและสามารถเรียกใช้ได้ทันทีที่ต้องการจะช่วยให้การตัดสินใจของผู้บริหารสามารถทำได้อย่างรวดเร็ว
การออกแบบฐานข้อมูลที่ดีนั้น ผู้ออกแบบจะต้องสามารถจัดกลุ่มและแยกประเภทข้อมูลที่จะนำมาใช้ได้ โดยให้ข้อมูลในแต่ละกลุ่มมีความซับซ้อนกันน้อยที่สุด เพื่อให้ขนาดของข้อมูลเล็กที่สุดแต่ในขณะเดียวกันก็ได้ความหมายมากที่สุดเช่นกัน และสามารถกำหนดความสัมพันธ์ระหว่างกลุ่มข้อมูลต่าง ๆ ได้ ซึ่งความสัมพันธ์นี้เองจะเป็นจุดเริ่มต้นที่นำไปสู่การพัฒนาเป็นระบบฐานข้อมูล
องค์ประกอบสำคัญในการทำงานร่วมกับฐานข้อมูล
นอกจากฐานข้อมูลจะเกิดจากการนำกลุ่มหรือแฟ้มข้อมูลต่าง ๆ มาเก็บรวบรวมไว้ในที่เดียวกันแล้ว ยังต้องมีปัจจัยสำคัญที่เป็นหัวใจสำคัญของการทำงานในระบบฐานข้อมูล คือ
² แฟ้มหรือกลุ่มข้อมูลที่นำมาเก็บรวมกันนั้นต้องมีความเกี่ยวข้องกัน โดยสามารถระบุความสัมพันธ์ระหว่างข้อมูล และใช้ประโยชน์จากความสัมพันธ์นั้นได้
² ต้องมีโปรแกรมระบบจัดการฐานข้อมูล (Database Management System : DBMS) เพื่อนำมาช่วยในการ สร้าง เรียกใช้ และปรับปรุงแก้ไขฐานข้อมูลทำได้ง่ายแต่มีประสิทธิภาพสูง โดย DBMS นี้จะทำหน้าที่เป็นสื่อกลางระหว่างผู้ใช้กับฐานข้อมูลเพื่อควบคุมการทำงานที่กล่าวมาข้างต้น โดยผู้ใช้ไม่จำเป็นต้องทราบโครงสร้างและการจัดเก็บข้อมูลทางกายภาพ ทำให้สามารถพัฒนาโปรแกรมประยุกต์เพื่อนำข้อมูลเหล่านี้มาใช้โดยไม่ขึ้นกับโครงสร้างการจัดเก็บเหมือนในระบบแฟ้มข้อมูล
ภาพแสดงโครงสร้างระบบการจัดเก็บและประมวลผลข้อมูลของบริษัทไทยพัฒนาฯ ที่นำมาปรับปรุงใหม่จะเห็นว่าข้อมูลที่อยู่ในกลุ่มเดียวกันและต้องใช้ร่วมกันในแต่ละแผนกได้ถูกนำมาเก็บไว้ในแฟ้มข้อมูลเดียวกันเท่านั้น เพื่อแก้ปัญหาการเก็บข้อมูลซ้ำซ้อน โดยข้อมูลแต่ละแฟ้มจะถูกเก็บรวบรวมไว้ในฐานข้อมูลเดียวทั้งหมด ไม่แยกกันเก็บเหมือนในระบบเดิม สิ่งที่เพิ่มขึ้นมาคือ โปรแกรมระบบจัดการฐานข้อมูล (DBMS) ที่ทำหน้าที่เป็นตัวกลางที่จะควบคุมดูแลการทำงานระหว่างผู้ใช้กับฐานข้อมูล
1. องค์ประกอบของระบบฐานข้อมูล
ระบบฐานข้อมูลโดยทั่วไป จะเกี่ยวข้องกับ 4 ส่วนหลักๆ
ดังนี้
1.1 ข้อมูล (Data)
ข้อมูลที่จัดเก็บอยู่ในฐานข้อมูล ข้อมูลในแต่ละส่วนจะต้องสามารถนำมาใช้ประกอบกันได้
เช่น เมื่อแพทย์รักษาผู้ป่วย
จะอาศัยข้อมูลจากประวัติการรักษาพยาบาลของผู้ป่วย แต่ในกรณีที่ต้องการติดต่อญาติผู้ป่วย
ซึ่งข้อมูลส่วนนี้ไม่ปรากฏอยู่ในประวัติการรักษาพยาบาล
ทางโรงพยาบาลสามารถนำชื่อผู้ป่วยไปค้นหาชื่อญาติ ในทะเบียนผู้ป่วยได้
โดยไม่จำเป็นต้องเก็บชื่อญาติผู้ป่วยไว้ในประวัติการรักษาพยาบาลแต่อย่างใด
1.2 ฮาร์ดแวร์ (Hardware)
เป็นอุปกรณ์ทางคอมพิวเตอร์ที่มีส่วนเกี่ยวข้องกับฐานข้อมูล
เป็นอุปกรณ์ทางคอมพิวเตอร์ที่มีส่วนเกี่ยวข้องกับฐานข้อมูล
1.3 ซอฟท์แวร์ (Software)
ในการติดต่อกับข้อมูลภายในฐานข้อมูลของผู้ใช้ จะต้องกระทำผ่านโปรแกรมที่มีชื่อว่าโปรแกรม Database Management System (DBMS)
ในการติดต่อกับข้อมูลภายในฐานข้อมูลของผู้ใช้ จะต้องกระทำผ่านโปรแกรมที่มีชื่อว่าโปรแกรม Database Management System (DBMS)
1.4 ผู้ใช้ระบบฐานข้อมูล (User)
เป็นผู้ที่เรียกใช้ข้อมูลจากระบบฐานข้อมูลมาใช้งาน
เป็นผู้ที่เรียกใช้ข้อมูลจากระบบฐานข้อมูลมาใช้งาน
2. หน้าที่ของ DBMS
1. ทำหน้าที่แปลงคำสั่งที่ใช้จัดการเกี่ยวกับข้อมูลภายในฐานข้อมูล
ให้อยู่ในรูปแบบที่ฐานข้อมูลเข้าใจ
2. ทำหน้าที่ในการนำคำสั่งต่างๆ ซึ่งได้รับการแปลแล้ว ไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ข้อมูล การจัดเก็บข้อมูล การลบข้อมูล การเพิ่มข้อมูล เป็นต้น
3. ทำหน้าที่ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะตรวจสอบว่าคำสั่งใดที่สามารถทำงานได้ และคำสั่งใดที่ไม่สามารถทำงานได้
4. ทำหน้าที่รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ
5. ทำหน้าที่เก็บรายละเอียดต่างๆ ที่เกี่ยวข้องกับข้อมูลภายในฐานข้อมูล
6. ทำหน้าที่ควบคุมให้ฐานข้อมูลทำงานได้อย่างถูกต้องและมีประสิทธิภาพ
2. ทำหน้าที่ในการนำคำสั่งต่างๆ ซึ่งได้รับการแปลแล้ว ไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ข้อมูล การจัดเก็บข้อมูล การลบข้อมูล การเพิ่มข้อมูล เป็นต้น
3. ทำหน้าที่ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะตรวจสอบว่าคำสั่งใดที่สามารถทำงานได้ และคำสั่งใดที่ไม่สามารถทำงานได้
4. ทำหน้าที่รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ
5. ทำหน้าที่เก็บรายละเอียดต่างๆ ที่เกี่ยวข้องกับข้อมูลภายในฐานข้อมูล
6. ทำหน้าที่ควบคุมให้ฐานข้อมูลทำงานได้อย่างถูกต้องและมีประสิทธิภาพ
ความสำคัญของระบบการจัดการฐานข้อมูล
การนำเอาระบบคอมพิวเตอร์มาใช้งานเพื่อประมวลผลข้อมูล
นอกจากอำนวยความสะดวกในการทำงานได้รวดเร็วแล้ว
ยังมีความถูกต้องแม่นยำในการประมวลผลอีกด้วย ตัวอย่าง เช่น กรณีระบบฐานข้อมูลของโรงพยาบาล
เมื่อมีผู้ป่วยต้องการเลือดหมู่โลหิตพิเศษโดยเร่งด่วนจำเป็นต้องการผู้บริจาคโลหิตหมู่โลหิตเดียวกันโดยใช้ฐานข้อมูลค้นหาผู้บริจาคโลหิตที่มีคุณสมบัติได้อย่างรวดเร็วได้แก่ผู้บริจาคต้องน้ำหนักมากกว่า 45ก.ก.และบริจาคครั้งสุดท้ายมาแล้วเกิน 90วัน
ผู้บริจาคควรมีที่อยู่ใกล้โรงพยาบาล เป็นต้น
นอกจากนี้ระบบฐานข้อมูลยังมีความสำคัญในด้านต่าง ๆ อีก ดังนี้
1. ความมีประสิทธิภาพ
ระบบการจัดการฐานข้อมูล ช่วยให้การจัดการเป็นไปอย่างมีประสิทธิภาพและบรรลุผลมากขึ้น เช่น อธิการบดีต้องการทราบว่าในแต่ละปีมีอาจารย์หรือบุคลากรเกษียณอายุราชการเป็นจำนวนเท่าไร และมีอาจารย์สาขาใดบ้างที่เกษียณ ในอนาคตมีสาขาใดขาดแคลนหรือไม่ ระบบฐานข้อมูลสามารถให้คำตอบแก่ผู้บริหารได้
ระบบการจัดการฐานข้อมูล ช่วยให้การจัดการเป็นไปอย่างมีประสิทธิภาพและบรรลุผลมากขึ้น เช่น อธิการบดีต้องการทราบว่าในแต่ละปีมีอาจารย์หรือบุคลากรเกษียณอายุราชการเป็นจำนวนเท่าไร และมีอาจารย์สาขาใดบ้างที่เกษียณ ในอนาคตมีสาขาใดขาดแคลนหรือไม่ ระบบฐานข้อมูลสามารถให้คำตอบแก่ผู้บริหารได้
2. การสอบถามข้อมูล
ระบบบบการจัดการฐานข้อมูลมีภาษาที่ใช้ในการสอบถามสำหรับสอบถามข้อมูลได้ทันทีแม้ว่าโปรแกรมเมอร์ไม่ได้เขียนคำสั่งสอบถามในบางรายการเอาไว้ผู้ใช้ที่มีความชำนาญสามารถใช้คำสั่งเพื่อให้ได้คำตอบแบบทันทีทันใดได้เช่นกันเช่นในกรณีระบบฐานข้อมูลของผู้ป่วย ถ้าผู้บริหารต้องการทราบจำนวนสถิติของผู้ป่วยที่เกิดอุบัติเหตุจากรถจักรยานยนต์ ว่ามีจำนวนเท่าไรสามารถใช้คำสั่งสอบถามแบบง่าย ๆ ได้ คำสั่งดังกล่าว ผู้เขียนได้เขียนอธิบายไว้อย่างละเอียดใน บทที่ 3
ระบบบบการจัดการฐานข้อมูลมีภาษาที่ใช้ในการสอบถามสำหรับสอบถามข้อมูลได้ทันทีแม้ว่าโปรแกรมเมอร์ไม่ได้เขียนคำสั่งสอบถามในบางรายการเอาไว้ผู้ใช้ที่มีความชำนาญสามารถใช้คำสั่งเพื่อให้ได้คำตอบแบบทันทีทันใดได้เช่นกันเช่นในกรณีระบบฐานข้อมูลของผู้ป่วย ถ้าผู้บริหารต้องการทราบจำนวนสถิติของผู้ป่วยที่เกิดอุบัติเหตุจากรถจักรยานยนต์ ว่ามีจำนวนเท่าไรสามารถใช้คำสั่งสอบถามแบบง่าย ๆ ได้ คำสั่งดังกล่าว ผู้เขียนได้เขียนอธิบายไว้อย่างละเอียดใน บทที่ 3
3. การเข้าถึงข้อมูล
ระบบการจัดการฐานข้อมูลให้บริการการเข้าถึงข้อมูลได้เป็นอย่างดีมีระบบรักษาความปลอดภัยรวมทั้งการจัดการข้อมูลที่ดี เพราะระบบการจัดการฐานข้อมูลมีฟังก์ชันการให้สิทธิ์การเข้าถึงข้อมูลโดยบุคคลภายนอกไม่สามารถเข้าถึงข้อมูลได้ ถ้าหากไม่ได้รับสิทธิ์จากผู้บริหารระบบ
ระบบการจัดการฐานข้อมูลให้บริการการเข้าถึงข้อมูลได้เป็นอย่างดีมีระบบรักษาความปลอดภัยรวมทั้งการจัดการข้อมูลที่ดี เพราะระบบการจัดการฐานข้อมูลมีฟังก์ชันการให้สิทธิ์การเข้าถึงข้อมูลโดยบุคคลภายนอกไม่สามารถเข้าถึงข้อมูลได้ ถ้าหากไม่ได้รับสิทธิ์จากผู้บริหารระบบ
4.ลดข้อมูลที่ขัดแย้ง
ระบบการจัดการฐานข้อมูลช่วยลดความไม่สอดคล้อง
หรือข้อมูลที่ขัดแย้งกันให้น้อยลงทำให้ข้อมูลมีความสมบูรณ์มากขึ้น
ประโยชน์ของระบบจัดการฐานข้อมูล
ในปัจจุบันองค์กรส่วนใหญ่หันมาให้ความสนใจกับระบบฐานข้อมูลกันมาก
เนื่องจากระบบฐานข้อมูลมีประโยชน์ดังต่อไปนี้
1.ลดความซ้ำซ้อนของข้อมูล
เนื่องจากการใช้งานระบบฐานข้อมูลนั้นต้องมีการออกแบบฐานข้อมูลเพื่อให้มีความซ้ำซ้อนของข้อมูลน้อยที่สุด
จุดประสงค์หลักของการออกแบบฐานข้อมูลเพื่อการลดความซ้ำซ้อน
สาเหตุที่ต้องลดความซ้ำซ้อน เนื่องจากความยากในการปรับปรุงข้อมูล
กล่าวคือถ้าเก็บข้อมูลซ้ำซ้อนกันหลายแห่ง
เมื่อมีการปรับปรุงข้อมูลแล้วปรับปรุงข้อมูลไม่ครบทำให้ข้อมูลเกิดความขัดแย้งกันของข้อมูลตามมา
และยังเปลืองเนื้อที่การจัดเก็บข้อมูลด้วย
เนื่องจากข้อมูลชุดเดียวกันจัดเก็บซ้ำกันหลายแห่งนั่นเอง
ถึงแม้ว่าความซ้ำซ้อนช่วยให้ออกรายงานและตอบคำถามได้เร็วขึ้น
แต่ข้อมูลจะเกิดความขัดแย้งกัน ในกรณีที่ต้องมีการปรับปรุงข้อมูลหลายแห่ง
การออกรายงานจะทำได้เร็วเท่าใดนั้นจึงไม่มีความหมายแต่อย่างใด
และเหตุผลที่สำคัญอีกประการหนึ่งคือปัญหาเรื่องความขัดแย้งกันของข้อมูลแก้ไขไม่ได้ด้วยฮาร์ดแวร์
ขณะที่การออกรายงานช้านั้นใช้ความสามารถของฮาร์ดแวร์ช่วยได้
2.รักษาความถูกต้องของข้อมูล
เนื่องจากระบบจัดการฐานข้อมูลสามารถตรวจสอบกฎบังคับความถูกต้องของข้อมูลให้ได้
โดยนำกฎเหล่านั้นมาไว้ที่ฐานข้อมูล
ซึ่งถือเป็นหน้าที่ของระบบจัดการฐานข้อมูลที่จะจัดการเรื่องความถูกต้องของข้อมูลให้แทน
แต่ถ้าเป็นระบบแฟ้มข้อมูลผู้พัฒนาโปรแกรมต้องเขียนโปรแกรมเพื่อควบคุมกฎระเบียบต่างๆ(data integrity) เองทั้งหมด
ถ้าเขียนโปรแกรมครอบคลุมกฎระเบียบใดไม่ครบหรือขาดหายไปบางกฎอาจทำให้ข้อมูลผิดพลาดได้
และยังช่วยลดค่าใช้จ่ายในการบำรุงรักษาและพัฒนาโปรแกรมด้วย เนื่องจากระบบจัดการฐานข้อมูลจัดการให้นั่นเอง
เนื่องจากระบบจัดการฐานข้อมูลสามารถรองรับการใช้งานของผู้ใช้หลายคนพร้อมกันได้
ดังนั้นความคงสภาพและความถูกต้องของข้อมูลจึงมีความสำคัญมากและต้องควบคุมให้ดีเนื่องจากผู้ใช้อาจเปลี่ยนแปลงแก้ไขข้อมูลได้
ซึ่งจะทำให้เกิดความผิดพลาดกระทบต่อการใช้ข้อมูลของผู้ใช้อื่นทั้งหมดได้
ดังนั้นประโยชน์ของระบบฐานข้อมูลในเรื่องนี้จึงมีความสำคัญมาก
3. มีความเป็นอิสระของข้อมูล
เนื่องจากมีแนวคิดที่ว่าทำอย่างไรให้โปรแกรมเป็นอิสระจากการเปลี่ยนแปลงโครงสร้างข้อมูล
ในปัจจุบันนี้ถ้าไม่ใช้ระบบฐานข้อมูลการแก้ไขโครงสร้างข้อมูลจะกระทบถึงโปรแกรมด้วย
เนื่องจากในการเรียกใช้ข้อมูลที่เก็บอยู่ในระบบแฟ้มข้อมูลนั้น
ต้องใช้โปรแกรมที่เขียนขึ้นเพื่อเรียกใช้ข้อมูลในแฟ้มข้อมูลนั้นโดยเฉพาะ เช่น
เมื่อต้องการรายชื่อพนักงานที่มีเงินเดือนมากกว่า 100,000
บาทต่อเดือน โปรแกรมเมอร์ต้องเขียนโปรแกรมเพื่ออ่านข้อมูลจากแฟ้มข้อมูลพนักงานและพิมพ์รายงานที่แสดงเฉพาะข้อมูลที่ตรงตามเงื่อนไขที่กำหนด
กรณีที่มีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูลข้อมูลเช่น ให้มีดัชนี (index)
ตามชื่อพนักงานแทนรหัสพนักงาน
ส่งผลให้รายงานที่แสดงรายชื่อพนักงานที่มีเงินเดือนมากกว่า 100,000 บาทต่อเดือนซึ่งแต่เดิมกำหนดให้เรียงตามรหัสพนักงานนั้นไม่สามารถพิมพ์ได้
ทำให้ต้องมีการแก้ไขโปรแกรมตามโครงสร้างดัชนี (index) ที่เปลี่ยนแปลงไป
ลักษณะแบบนี้เรียกว่าข้อมูลและโปรแกรมไม่เป็นอิสระต่อกัน
สำหรับระบบฐานข้อมูลนั้นข้อมูลภายในฐานข้อมูลจะเป็นอิสระจากโปรแกรมที่เรียกใช้(data independence) สามารถแก้ไขโครงสร้างทางกายภาพของข้อมูลได้
โดยไม่กระทบต่อโปรแกรมที่เรียกใช้ข้อมูลจากฐานข้อมูล
เนื่องจากระบบฐานข้อมูลมีระบบจัดการฐานข้อมูลทำหน้าที่แปลงรูป (mapping) ให้เป็นไปตามรูปแบบที่ผู้ใช้ต้องการ เนื่องจากในระบบแฟ้มข้อมูลนั้นไม่มีความเป็นอิสระของข้อมูล
ดังนั้นระบบฐานข้อมูลได้ถูกพัฒนาขึ้นมาเพื่อแก้ปัญหาด้านความเป็นอิสระของข้อมูล
นั่นคือระบบฐานข้อมูลมีการทำงานไม่ขึ้นกับรูปแบบของฮาร์ดแวร์ที่นำมาใช้กับระบบฐานข้อมูลและไม่ขึ้นกับโครงสร้างทางกายภาพของข้อมูล
และมีการใช้ภาษาสอบถามในการติดต่อกับข้อมูลภายในฐานข้อมูลแทนคำสั่งของภาษาคอมพิวเตอร์ในยุคที่
3 ทำให้ผู้ใช้เรียกใช้ข้อมูลจากฐานข้อมูลโดยไม่จำเป็นต้องทราบรูปแบบการจัดเก็บข้อมูล
ประเภทหรือขนาดของข้อมูลนั้นๆ
4. มีความปลอดภัยของข้อมูลสูง
ถ้าหากทุกคนสามารถเรียกดูและเปลี่ยนแปลงข้อมูลในฐานข้อมูลทั้งหมดได้
อาจก่อให้เกิดความเสียหายต่อข้อมูลได้
และข้อมูลบางส่วนอาจเป็นข้อมูลที่ไม่อาจเปิดเผยได้หรือเป็นข้อมูลเฉพาะของผู้บริหาร
หากไม่มีการจัดการด้านความปลอดภัยของข้อมูล ฐานข้อมูลก็จะไม่สามารถใช้เก็บข้อมูลบางส่วนได้
ระบบฐานข้อมูลส่วนใหญ่จะมีการรักษาความปลอดภัยของข้อมูล
ดังนี้
· มีรหัสผู้ใช้ (user)
และรหัสผ่าน (password) ในการเข้าใช้งานฐานข้อมูลสำหรับผู้ใช้แต่ละคนระบบฐานข้อมูลมีระบบการสอบถามชื่อพร้อมรหัสผ่านของผู้เข้ามาใช้ระบบงานเพื่อให้ทำงานในส่วนที่เกี่ยวข้องเท่านั้น
โดยป้องกันไม่ให้ผู้ที่ไม่ได้รับอนุญาตเข้ามาเห็นหรือแก้ไขข้อมูลในส่วนที่ต้องการปกป้องไว้
· ในระบบฐานข้อมูลสามารถสร้างและจัดการตารางข้อมูลทั้งหมดในฐานข้อมูล
ทั้งการเพิ่มผู้ใช้ ระงับการใช้งานของผู้ใช้ อนุญาตให้ผู้ใช้สามารถเรียกดู
เพิ่มเติม ลบและแก้ไขข้อมูล หรือบางส่วนของข้อมูลได้ในตารางที่ได้รับอนุญาต) ระบบฐานข้อมูลสามารถกำหนดสิทธิการมองเห็นและการใช้งานของผู้ใช้ต่างๆ
ตามระดับสิทธิและอำนาจการใช้งานข้อมูลนั้นๆ
· ในระบบฐานข้อมูล (DBA)
สามารถใช้วิว (view) เพื่อประโยชน์ในการรักษาความปลอดภัยของข้อมูลได้เป็นอย่างดี
โดยการสร้างวิวที่เสมือนเป็นตารางของผู้ใช้จริงๆ
และข้อมูลที่ปรากฏในวิวจะเป็นข้อมูลที่เกี่ยวข้องกับงานของผู้ใช้เท่านั้น
ซึ่งจะไม่กระทบกับข้อมูลจริงในฐานข้อมูล
· ระบบฐานข้อมูลจะไม่ยอมให้โปรแกรมใดๆ
เข้าถึงข้อมูลในระดับกายภาพ (physical) โดยไม่ผ่าน
ระบบการจัดการฐานข้อมูล
และถ้าระบบเกิดความเสียหายขึ้นระบบจัดการฐานข้อมูลรับรองได้ว่าข้อมูลที่ยืนยันการทำงานสำเร็จ
(commit) แล้วจะไม่สูญหาย และถ้ากลุ่มงานที่ยังไม่สำเร็จ (rollback)
นั้นระบบจัดการฐานข้อมูลรับรองได้ว่าข้อมูลเดิมก่อนการทำงานของกลุ่มงานยังไม่สูญหาย
· มีการเข้ารหัสและถอดรหัส
(encryption/decryption) เพื่อปกปิดข้อมูลแก่ผู้ที่ไม่เกี่ยวข้อง
เช่น มีการเข้ารหัสข้อมูลรหัสผ่าน
5. ใช้ข้อมูลร่วมกันโดยมีการควบคุมจากศูนย์กลาง
มีการควบคุมการใช้ข้อมูลในฐานข้อมูลจากศูนย์กลาง
ระบบฐานข้อมูลสามารถรองรับการทำงานของผู้ใช้หลายคนได้
กล่าวคือระบบฐานข้อมูลจะต้องควบคุมลำดับการทำงานให้เป็นไปอย่างถูกต้อง
เช่นขณะที่ผู้ใช้คนหนึ่งกำลังแก้ไขข้อมูลส่วนหนึ่งยังไม่เสร็จ
ก็จะไม่อนุญาตให้ผู้ใช้คนอื่นเข้ามาเปลี่ยนแปลงแก้ไขข้อมูลนั้นได้
เนื่องจากข้อมูลที่เข้ามายังระบบฐานข้อมูลจะถูกนำเข้าโดยระบบงานระดับปฏิบัติการตามหน่วยงานย่อยขององค์กร
ซึ่งในแต่ละหน่วยงานจะมีสิทธิในการจัดการข้อมูลไม่เท่ากัน
ระบบฐานข้อมูลจะทำการจัดการว่าหน่วยงานใดใช้ระบบจัดการฐานข้อมูลในระดับใดบ้าง
ใครเป็นผู้นำข้อมูลเข้า ใครมีสิทธิแก้ไขข้อมูล และใครมีสิทธิเพียงเรียกใช้ข้อมูล
เพื่อที่จะให้สิทธิที่ถูกต้องบนตารางที่สมควรให้ใช้
ระบบฐานข้อมูลจะบอกรายละเอียดว่าข้อมูลใดถูกจัดเก็บไว้ในตารางชื่ออะไร
เมื่อมีคำถามจากผู้บริหารจะสามารถหาข้อมูลเพื่อตอบคำถามได้ทันทีโดยใช้ภาษาฐานข้อมูลที่มีประสิทธิภาพมาก
คือ SQL ซึ่งสามารถตอบคำถามที่เกิดขึ้นในขณะใดขณะหนึ่งที่เกี่ยวข้องกับฐานข้อมูลได้ทันที
โดยไม่จำเป็นต้องเขียนภาษาโปรแกรมอย่างเช่น โคบอล ซี หรือ ปาสคาล
ซึ่งเสียเวลานานมากจนอาจไม่ทันต่อความต้องการใช้ข้อมูลเพื่อการตัดสินใจของผู้บริหาร
เนื่องจากระบบจัดการฐานข้อมูลนั้นสามารถจัดการให้ผู้ใช้ทำงานพร้อมๆ
กันได้หลายคน
ดังนั้นโปรแกรมที่พัฒนาภายใต้การดูแลของระบบจัดการฐานข้อมูลจะสามารถใช้ข้อมูลร่วมกันในฐานข้อมูลเดียวกันระบบฐานข้อมูลจะแบ่งเบาภาระในการพัฒนาระบบงานถ้าการพัฒนาระบบงานไม่ใช้ระบบฐานข้อมูล
(ใช้ระบบแฟ้มข้อมูล) ผู้พัฒนาโปรแกรมจะต้องจัดการสิ่งเหล่านี้เองทั้งหมด
นั่นคือระบบฐานข้อมูลทำให้การใช้ข้อมูลเกิดความเป็นอิสระระหว่างการจัดเก็บข้อมูลและการประยุกต์ใช้
เพราะส่วนของการจัดเก็บข้อมูลจริงถูกซ่อนจากการใช้งานจริงนั่นเอง
ระบบร้านอาหาร / ภัตตาคาร (MyResSQL)
เมนูหลัก
การบันทึกข้อมูลรายการสั่งอาหารแต่ละโต๊ะ
การชำระเงินค่าอาหาร/เครื่องดื่ม
ตัวอย่างฐานข้อมูล
ระบบร้านอาหาร / ภัตตาคาร
MyResSQL Screen
![Attention: open in a new window.](file:///C:\Users\SONY\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif)
โปรแกรมระบบร้านอาหาร เป็นโปรแกรมสำเร็จรูประบบร้านอาหารที่เหมาะสำหรับร้านอาหารทุกรูปแบบ
ทั้งที่เป็นร้านขนาดเล็ก หรือขนาดใหญ่ (จำนวนลูกค้าตั้งแต่ 100 - 1,500 คน/วัน) เป็นระบบที่ช่วยบันทึกรายการสั่งอาหารของลูกค้าพร้อมคิดราคาอาหาร
สามารถเรียกดูยอดเรียกเก็บเงินตามโต๊ะได้ทันที สามารถเรียกดูรายงานสรุปยอดรายได้ประจำวัน/ประจำเดือน การจัดอันดับยอดขายประจำวัน/ประจำเดือน ฯลฯ
ระบบโปรแกรมร้านอาหารสามารถตรวจสอบการทำงานของพนักงานบันทึกข้อมูล ลดการสูญเสียจากการคิดเงินผิด ลดการรั่วไหลของกระบวนการทำงาน
ระบบฐานข้อมูล
ระบบฐานข้อมูล
- ฐานข้อมูลแบบ MySQL
คุณสมบัติ
- ใช้งานง่าย มีความรวดเร็วในการทำงาน
- ระบบกราฟฟิก รองรับจำนวนโต๊ะได้มากถึง 300 โต๊ะ และสามารถกำหนดชื่อโต๊ะอาหารได้เอง
- สามารถพิมพ์รายการอาหารไปตามครัว ซุ้มอาหารญี่ปุ่น บาร์เครื่องดื่มต่างๆ รวมทั้งกำหนดข้อความพิเศษของอาหารนั้นได้เช่น ไม่เผ็ด ไม่ใส่กระเทียม
- สามารถสั่งอาหารพิเศษ ที่นอกเหนือจากเมนูได้
- สามารถพิมพ์ใบเก็บเงินได้ทันทีที่ลูกค้าเช็คบิล
- รองรับการตรวจสอบสินค้าคงเหลือ (Stock Card)
- สามารถกำหนดส่วนลดแยกตามประเภทอาหาร เครื่องดื่ม เครื่องดื่มที่มีอัลกอฮอล์ ฯลฯ
- รองรับการชำระเงินหลายแบบเช่น เงินสด+บัตรเครดิต เป็นต้น
- ฟังก์ชันการทำงานที่สะดวกได้แก่ การจองโต๊ะ ย้ายโต๊ะ แยกโต๊ะ รวมโต๊ะ หรือแยกรายการกลับบ้าน
- สามารถพิมพ์ใบกำกับภาษีอย่างย่อ / เต็มรูป
- สามารถตรวจสอบใบออเดอร์ของพนักงานรับออเดอร์
- สามารถตรวจสอบการเคลื่อนไหวของการบันทึก/แก้ไข รายการอาหารในแต่ละบิล
- สามารถตรวจสอบจำนวนสินค้าคงเหลือประจำวันได้
- สามารถพิมพ์รายงานยอดขายประจำวันต่างๆ ที่สามารถนำมาวิเคราะห์ เพื่อใช้สำหรับการตัดสินใจของผู้บริหาร
- ใช้งานง่าย มีความรวดเร็วในการทำงาน
- ระบบกราฟฟิก รองรับจำนวนโต๊ะได้มากถึง 300 โต๊ะ และสามารถกำหนดชื่อโต๊ะอาหารได้เอง
- สามารถพิมพ์รายการอาหารไปตามครัว ซุ้มอาหารญี่ปุ่น บาร์เครื่องดื่มต่างๆ รวมทั้งกำหนดข้อความพิเศษของอาหารนั้นได้เช่น ไม่เผ็ด ไม่ใส่กระเทียม
- สามารถสั่งอาหารพิเศษ ที่นอกเหนือจากเมนูได้
- สามารถพิมพ์ใบเก็บเงินได้ทันทีที่ลูกค้าเช็คบิล
- รองรับการตรวจสอบสินค้าคงเหลือ (Stock Card)
- สามารถกำหนดส่วนลดแยกตามประเภทอาหาร เครื่องดื่ม เครื่องดื่มที่มีอัลกอฮอล์ ฯลฯ
- รองรับการชำระเงินหลายแบบเช่น เงินสด+บัตรเครดิต เป็นต้น
- ฟังก์ชันการทำงานที่สะดวกได้แก่ การจองโต๊ะ ย้ายโต๊ะ แยกโต๊ะ รวมโต๊ะ หรือแยกรายการกลับบ้าน
- สามารถพิมพ์ใบกำกับภาษีอย่างย่อ / เต็มรูป
- สามารถตรวจสอบใบออเดอร์ของพนักงานรับออเดอร์
- สามารถตรวจสอบการเคลื่อนไหวของการบันทึก/แก้ไข รายการอาหารในแต่ละบิล
- สามารถตรวจสอบจำนวนสินค้าคงเหลือประจำวันได้
- สามารถพิมพ์รายงานยอดขายประจำวันต่างๆ ที่สามารถนำมาวิเคราะห์ เพื่อใช้สำหรับการตัดสินใจของผู้บริหาร
ประโยชน์กับธุรกิจ และเจ้าของกิจการ
- การให้บริการลูกค้ามีความถูกต้องน่าเชื่อถือ มีความรวดเร็ว ทำให้สามารถรองรับกับการให้บริการลูกค้าที่เพิ่มขึ้นเรื่อยเรื่อย
- ลดปัญหาการคิดเงินผิด
- ลดปัญหาการรั่วไหลของการดำเนินการ
- ลดปัญหาการทุจริต การยักยอก ของพนักงาน
- สินค้าหายน้อยลง
- ผู้บริหารมีเวลาพักผ่อน และมีเวลาทำอย่างอื่นได้มากขึ้น
- การให้บริการลูกค้ามีความถูกต้องน่าเชื่อถือ มีความรวดเร็ว ทำให้สามารถรองรับกับการให้บริการลูกค้าที่เพิ่มขึ้นเรื่อยเรื่อย
- ลดปัญหาการคิดเงินผิด
- ลดปัญหาการรั่วไหลของการดำเนินการ
- ลดปัญหาการทุจริต การยักยอก ของพนักงาน
- สินค้าหายน้อยลง
- ผู้บริหารมีเวลาพักผ่อน และมีเวลาทำอย่างอื่นได้มากขึ้น
การเติบโตของระบบ
- สามารถขยายจุดบันทึกรายการอาหาร ไม่จำกัด
- สามารถกำหนดจุดที่จะพิมพ์บิลเรียกเก็บเงิน จุดใดก็ได้
- สามารถเพิ่มจุดพิมพ์รายการอาหารออกครัว ไม่จำกัด
ประเภทธุรกิจ
- ร้านอาหาร / ภัตตาคาร / ร้านคาราโอเกะ / ร้านหมูกระทะ / ร้านพิซซ่า / ร้านอาหารญี่ปุ่น
- ไนท์คลับ / เทค / ผับ
- โรงแรม / รีสอร์ท
- สามารถขยายจุดบันทึกรายการอาหาร ไม่จำกัด
- สามารถกำหนดจุดที่จะพิมพ์บิลเรียกเก็บเงิน จุดใดก็ได้
- สามารถเพิ่มจุดพิมพ์รายการอาหารออกครัว ไม่จำกัด
ประเภทธุรกิจ
- ร้านอาหาร / ภัตตาคาร / ร้านคาราโอเกะ / ร้านหมูกระทะ / ร้านพิซซ่า / ร้านอาหารญี่ปุ่น
- ไนท์คลับ / เทค / ผับ
- โรงแรม / รีสอร์ท
การบันทึกข้อมูลรายการสั่งอาหารแต่ละโต๊ะ
การชำระเงินค่าอาหาร/เครื่องดื่ม
http://www.krujirat.com/web/word_database/database1.htm
http://www.thaisoftbiz.com/siambiz/index.php?option=com_content&view=category&layout=blog&id=3&Itemid=3
http://www.thaisoftbiz.com/siambiz/index.php?option=com_content&view=category&layout=blog&id=3&Itemid=3