ใบความรู้ที่ 6 ม.5/4 ภาคเรียนที่ 2/2556 โรงเรียนบ้านหมอ "พัฒนานุกูล" จ.สระบุรี

รายวิชา ง30209 การจัดการธุรกิจด้วยระบบฐานข้อมูล ระดับชั้นมัธยมศึกษาปีที่ 5/4
หน่วยการเรียนรู้ที่ 1 ฐานข้อมูลและระบบฐานข้อมูล
เรื่อง ความรู้เบื้องต้นเกี่ยวกับการจัดการข้อมูล
ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล
นิยามของฐานข้อมูล
ฐานข้อมูล หมายถึง การจัดการข้อมูลรูปแบบหนึ่งที่มีการจัดเก็บทั้งค่าข้อมูลพร้อมโครงสร้างข้อมูลไว้ด้วยกัน แนวคิดของฐานข้อมูลคือ การจัดเก็บข้อมูลที่จำเป็นทั้งหมดขององค์กรไว้ในแหล่งเดียว เพื่อช่วยลดความซ้ำซ้อนและความขัดแย้งของข้อมูลตลอดจนช่วยให้ผู้ใช้งานทั้งหลายได้รับความสะดวกและใช้ข้อมูลร่วมกันได้
แนวคิดเบื้องต้นของฐานข้อมูล คือการใช้งานฐานข้อมูลเดียวสำหรับข้อมูลที่เกี่ยวข้องทั้งหมด โดยฐานข้อมูลจะประกอบด้วยองค์ประกอบ 4 องค์ประกอบ ได้แก่ ฮาร์ดแวร์ ซอฟต์แวร์ ข้อมูล และผู้ใช้ กล่าวคือ ข้อมูลจะถูกเก็บอยู่รวมกันในฐานข้อมูลเพียงที่เดียว โดยที่ผู้ใช้งานระบบทุกคนเป็นผู้สั่งงานผ่านทางซอฟต์แวร์ชุดหนึ่งที่เรียกว่า ระบบการจัดการฐานข้อมูล (Database Management System : DBMS) ซึ่งจะทำหน้าที่ควบคุมฐานข้อมูล แทนที่จะใช้งานแฟ้มข้อมูลคอมพิวเตอร์ที่กระจัดกระจายและมีการดูแลโดยผู้ใช้กลุ่มต่างๆ กัน เป้าหมายสูงสุดของแนวความคิดฐานข้อมูลคือการป้อนและจัดเก็บข้อมูลแต่ละชุดเพียงครั้งเดียว ผู้ใช้แต่ละคนได้รับสิทธิ์ในการเรียกใช้งานข้อมูลที่จัดเก็บนั้นอย่างรวดเร็ว และง่ายและส่วนของข้อมูลที่เป็นอิสระไม่ขึ้นอยู่กับโปรแกรมประยุกต์โปรแกรมใดโปรแกรมหนึ่ง
จากรูปที่ 1 จะเห็นว่าผู้พัฒนาระบบงาน หรือระบบฐานข้อมูลจะใช้ระบบการจัดการฐานข้อมูลในการสร้างระบบงานที่มีการจัดเก็บข้อมูลแบบฐานข้อมูล และผู้ใช้ระบบงานก็สามารถจะใช้งานโดยผ่านระบบการจัดการฐานข้อมูล ฐานข้อมูลที่สร้างขึ้นและใช้งานจะมีส่วนประกอบดังนี้
1. ข้อมูลผู้ใช้งาน
ข้อมูลของผู้ใช้งาน หมายถึง ข้อมูลต่างๆ ที่ผู้ใช้ต้องการใช้ทำงาน ข้อมูลเหล่านี้จะถูกจัดเก็บเป็นตารางความสัมพันธ์ (relation) โดยทั่วไปฐานข้อมูลหนึ่งๆ จะมีตารางความสัมพันธ์หลายตาราง ผู้พัฒนาระบบงานมีหน้าที่ออกแบบฐานข้อมูลโดยกำหนดจำนวนตารางความสัมพันธ์ และเขตข้อมูลซึ่งหมายถึงแต่ละสดมภ์ในตารางความสัมพันธ์ให้มีโครงสร้างที่สามารถใช้งานได้อย่างมีประสิทธิภาพ รูปที่ 2 เป็นตัวอย่างแสดงส่วนประกอบของตารางความสัมพันธ์สมาชิกห้องสมุดและตารางความสัมพันธ์ข้อมูลหนังสือ แต่ละตารางความสัมพันธ์เป็นตารางข้อมูลโดยมีแต่ละสดมภ์เป็นเขตข้อมูลและแต่ละแถวเป็นระเบียนข้อมูล
รหัสสมาชิก |
ชื่อ-นามสกุลสมาชิก |
ชั้นเรียน |
จำนวนหนังสือที่ยืมได้ |
S000001 |
ณัฐพล โพธิ์สุวรรณ |
ม.1/12 |
5 |
S000002 |
สุเมธ พุ่มเจริญ |
ม.2/8 |
5 |
T000001 |
สุภาภรณ์ อร่ามศรี |
ม.4/6 |
5 |
(ก) ตารางความสัมพันธ์สมาชิกห้องสมุด
รหัสหนังสือ |
ชื่อหนังสือ |
ชื่อผู้แต่ง |
จำนวนหนังสือ |
B0000001 |
การจัดการข้อมูลเบื้องต้น |
สถาบันส่งเสริมการสอน วิทยาศาสตร์และเทคโนโลยี |
5 |
B0000002 |
เรียนลัด Visual Basic |
จิระ จริงจิตร |
4 |
B0000003 |
การจัดการฐานข้อมูล |
สถาบันส่งเสริมการสอน วิทยาศาสตร์และเทคโนโลยี |
5 |
(ข) ตารางความสัมพันธ์ข้อมูลหนังสือ
รูปที่ 2 แสดงส่วนประกอบของตารางความสัมพันธ์สมาชิกและตารางความสัมพันธ์ข้อมูลหนังสือ
2. พจนานุกรมข้อมูล
พจนานุกรมข้อมูล เป็นส่วนที่เก็บโครงสร้างของตารางความสัมพันธ์และคุณสมบัติของข้อมูล โดยทั่วไปพจนานุกรมข้อมูลจะจัดเก็บในรูปของตาราง เรียกว่า ตารางระบบ (system table) รูปที่ 3 แสดงตัวอย่างของพจนานุกรมข้อมูลของตารางความสัมพันธ์สมาชิกห้องสมุดและข้อมูลหนังสือ ตามตัวอย่างในรูปที่ 2 โดยประกอบด้วยตารางแสดงคุณสมบัติของตารางความสัมพันธ์ทั้งหมดในฐานข้อมูลว่ามีกี่สดมภ์หรือเขตข้อมูล และเขตข้อมูลใดเป็นเขตกุญแจหลัก (primary key) ซึ่งต้องเป็นเขตข้อมูลที่ไม่มีค่าข้อมูลที่ซ้ำกันในแต่ละระเบียน ทำให้สามารถใช้เป็นตัวแทนของข้อมูลในระเบียนนั้นๆ เช่น รหัสสมาชิกห้องสมุด รหัสหนังสือ เลขประจำตัวนักเรียน ทะเบียนรถยนต์ ส่วนอีกตารางเป็นตารางสดมภ์ ซึ่งเป็นข้อมูลแสดงคุณสมบัติของเขตข้อมูลต่างๆ ในฐานข้อมูล พจนานุกรม ข้อมูลจะถูกกำหนดขึ้นโดยการออกแบบฐานข้อมูลของผู้พัฒนาระบบ
ตารางแสดงข้อมูลของตารางความสัมพันธ์
ชื่อตารางความสัมพันธ์ |
จำนวนสดมภ์ |
เขตกุญแจหลัก |
สมาชิก |
4 |
รหัสสมาชิกห้องสมุด |
หนังสือ |
4 |
รหัสหนังสือ |
ตารางแสดงข้อมูลของสดมภ์
ชื่อสดมภ์ |
ชื่อตารางความสัมพันธ์ |
ประเภทข้อมูล |
ขนาดความยาว |
รหัสสมาชิก |
สมาชิก |
อักขระ |
7 |
ชื่อ-สกุล |
สมาชิก |
อักขระ |
30 |
ชั้นเรียน |
สมาชิก |
อักขระ |
6 |
จำนวนหนังสือที่ยืมได้ |
สมาชิก |
ตัวเลข |
1 |
รหัสหนังสือ |
หนังสือ |
อักขระ |
7 |
ชื่อหนังสือ |
หนังสือ |
อักขระ |
30 |
ชื่อผู้แต่ง |
หนังสือ |
อักขระ |
30 |
จำนวนหนังสือ |
หนังสือ |
ตัวเลข |
2 |
รูปที่ 3 แสดงตัวอย่างของพจนานุกรมข้อมูลของตาราง
ความสัมพันธ์สมาชิกห้องสมุดและตารางความสัมพันธ์ข้อมูลหนังสือ
3. ดัชนี
ข้อมูลดัชนีเป็นข้อมูลที่สร้างขึ้นเพื่อช่วยเพิ่มประสิทธิภาพในการใช้งานและการเข้าถึงข้อมูลในฐานข้อมูลโดยประกอบด้วยข้อมูลแสดงตำแหน่งของข้อมูลจากค่าที่กำหนด รูปที่ 4 แสดงดัชนีชื่อ-นามสกุลสมาชิกของตารางความสัมพันธ์สมาชิกห้องสมุด และดัชนีชื่อหนังสือของตารางความสัมพันธ์ข้อมูลหนังสือ ซึ่งดัชนีดังกล่าวช่วยให้เราสามารถค้นหาข้อมูลสมาชิกห้องสมุดโดยใช้ชื่อ-นามสกุลสมาชิก และค้นหาข้อมูลหนังสือโดยใช้ชื่อหนังสือได้อย่างมีประสิทธิภาพ นอกจากนี้ดัชนียังช่วยเราจัดเรียงลำดับข้อมูลตามค่าที่ต้องการได้โดยไม่ต้องจัดเรียงข้อมูลในฐานข้อมูลใหม่ เช่น เรียงข้อมูลของตารางความสัมพันธ์นักเรียนเรียนด้วยชื่อ-นามสกุลของนักเรียน ผู้พัฒนาระบบจะเป็นผู้กำหนดว่าจะนำข้อมูลใดมาสร้างดัชนีชื่อ-นามสกุลขึ้นเพื่อเพิ่มประสิทธิภาพในการใช้งานฐานข้อมูล
ชื่อ-นามสกุลสมาชิก |
รหัสสมาชิก |
ณัฐพล โพธิ์สุวรรณ |
S0000001 |
สุภาภรณ์ อร่ามศรี |
T0000001 |
สุเมธ พุ่มเจริญ |
S0000002 |
ชื่อหนังสือ |
รหัสหนังสือ |
การจัดการข้อมูลเบื้องต้น |
B0000001 |
การจัดการฐานข้อมูล |
B0000003 |
เรียนลัด Visual Basic |
B0000002 |
รูปที่ 4 แสดงดัชนีชื่อ-นามสกุลสมาชิก และดัชนีหนังสือ
3. ข้อมูลโครงสร้างและรูปแบบ
ฐานข้อมูลส่วนใหญ่จะมีส่วนประกอบนี้ ซึ่งเป็นข้อมูลส่วนที่เป็นโครงสร้างและรูปแบบของฟอร์มของผู้ใช้ รายงาน (Report) การสอบถาม (query) และส่วนประกอบอื่นๆ ที่เกี่ยวข้องโครงสร้างและรูปแบบต่างๆ เหล่านี้ถูกกำหนดขึ้นเพื่อช่วยให้ผู้ใช้สามารถใช้งานได้สะดวก ผู้พัฒนาระบบงานจะออกแบบส่วนประกอบเหล่านี้ตามความต้องการของผู้ใช้งาน
รูปที่ 5 แสดงให้เห็นความแตกต่างของโครงสร้างแฟ้มข้อมูล และฐานข้อมูล โดยแฟ้มข้อมูลเกิดจากข้อมูลหน่วยย่อยที่สุดคือ “บิต” แล้วรวมกันเป็นไบต์หรือักขระ อักขระหลายอักขระรวมกันเป็นเขตข้อมูล หลายเขตข้อมูลเป็นระเบียนข้อมูล และหลายระเบียนข้อมูลเป็นแฟ้มข้อมูล ส่วนฐานข้อมูลจะมีทั้งแฟ้มข้อมูล และข้อมูลเกี่ยวกับโครงสร้างข้อมูลและการทำงานกับฐานข้อมูลรวมอยู่ด้วย
จะเห็นได้ว่าฐานข้อมูลนอกจากจะมีแฟ้มข้อมูลแล้ว ยังประกอบด้วยข้อมูลอื่นๆ ที่เกี่ยวข้อง การประมวลผลฐานข้อมูลจะใช้ระบบการจัดการฐานข้อมูล ซึ่งเป็นซอฟต์แวร์สำหรับใช้งานฐานข้อมูลทุกรูปแบบ ตั้งแต่การสร้างฐานข้อมูล การปรับปรุงแก้ไข การจัดเรียง การคำนวณ การค้นหาตามเงื่อนไข การทำรายงาน พร้อมทั้งการประมวลผลและแสดงผลรูปภาพและกราฟในแบบต่างๆ รูปที่ 6 แสดงให้เห็นว่า ผู้ใช้งานในระบบงานต่างๆ สามารถใช้งานโดยมีระบบการจัดการฐานข้อมูลช่วยในการจัดการข้อมูลในฐานข้อมูล ปัจจุบันได้มีการพัฒนาระบบจักการฐานข้อมูลขึ้นมากมาย ระบบการจัดการฐานข้อมูลบางระบบผลิตขึ้นมาเพื่อใช้กับเครื่องไมโครคอมพิวเตอร์เท่านั้น เช่น ดีเบส (dBASE) ฟอกซ์เบส (FoxBase) ฟอกซ์โปร (FoxPro) แอกเซส (Access) ฯลฯ ระบบการจัดการฐานข้อมูลบางระบบผลิตขึ้นมาใช้ได้กับเครื่องคอมพิวเตอร์ตั้งแต่เครื่องไมโครคอมพิวเตอร์ จนถึงเครื่องคอมพิวเตอร์ขนาดใหญ่ เช่น ออราเคิล (Oracal) โปรเกรส (Progress) อินโฟมิกซ์ (Informix) ฯลฯ
4. ประโยชน์ของการประมวลผลฐานข้อมูล
เทคโนโลยีฐานข้อมูลได้รับการพัฒนาขึ้น เพื่อขจัดขีดจำกัดของการประมวลผลแบบแฟ้มข้อมูลและช่วยให้การจัดการข้อมูลง่ายและสะดวกขึ้น โดยที่ผู้ออกแบบฐานข้อมูลไม่ต้องกังวลถึงลักษณะการจัดเก็บข้อมูลจริงบนสื่อบันทึกซึ่งระบบจัดการฐานข้อมูลจะจัดการให้ทำให้ผู้พัฒนาระบบงานสามารถมุ่งออกแบบระบบที่ใช้งานได้ดีให้แก่ผู้ใช้ การประมวลผลฐานข้อมูลประกอบด้วยระบบจัดการฐานข้อมูลเพื่อใช้ในการประมวลผลและฐานข้อมูลเพื่อใช้เก็บข้อมูลของผู้ใช้ ข้อมูลของโครงสร้างและข้อมูลอื่นๆ ที่เกี่ยวข้องเราอาจสรุปประโยชน์ของการประมวลผลฐานข้อมูล ได้แก่
1. การรวมข้อมูลเบ็ดเตล็ด ในระบบฐานข้อมูล ข้อมูลต่างๆ ของระบบงานหนึ่งหรือหลายระบบที่เกี่ยวข้องกันอาจถูกจัดเก็บภายในฐานข้อมูลเดียวกัน ผู้ใช้งานสามารถใช้ข้อมูลที่ต้องการโดยไม่ต้องเกี่ยวข้องกันอาจถูกจัดเก็บภายในฐานข้อมูลเดียวกัน ผู้ใช้งานสามารถใช้ข้อมูลที่ต้องการโดยไม่ต้องเกี่ยวข้องกับลักษณะการจัดเก็บข้อมูล ผู้พัฒนาระบบงานเพียงแต่ระบุโครงสร้างคุณสมบัติของข้อมูลตลอดจนการประมวลผลฐานข้อมูลที่ต้องการ
2. ลดความซ้ำซ้อนของข้อมูล ในการประมวลผลฐานข้อมูล ไม่ว่าจะมีผู้ใช้ข้อมูลกี่รายหรือใช้กี่ระบบงาน ข้อมูลที่จัดเก็บในฐานข้อมูลส่วนใหญ่จะมีที่เก็บเพียงที่เดียว ทำให้ลดปัญหาเรื่องการจัดเก็บที่ซ้ำซ้อนและความขัดแย้งของข้อมูล โดยระบบจัดการฐานข้อมูลจะช่วยดูแลในการจัดเก็บ
3. โครงสร้างและข้อมูลอยู่รวมกันในฐานข้อมูล การประมวลผลฐานข้อมูลจะช่วยให้โปรแกรมที่พัฒนาขึ้นไม่ต้องกำหนดโครงสร้างแฟ้มข้อมูล เนื่องจากโครงสร้างข้อมูลได้ถูกจัดเก็บพร้อมกับข้อมูลในฐานข้อมูลและถูกเรียกใช้โดยระบบการจัดการฐานข้อมูล ซึ่งผิดกับระบบการประมวลผลแบบแฟ้มข้อมูลที่ไม่ได้เก็บโครงสร้างข้อมูล ทำให้แต่ละโปรแกรมต้องมีการกำหนดโครงสร้างข้อมูลที่ต้องการแระมวลผล ดังนั้นถ้ามีการเปลี่ยนโครงสร้างข้อมูลจึงจำเป็นต้องมีการเปลี่ยนในทุกๆ โปรแกรมที่ใช้งานอยู่ แต่สำหรับฐานข้อมูลแล้วจะเปลี่ยนแปลงในฐานข้อมูลเพียงที่เดียว โปรแกรมที่ใช้งานต่างๆ ก็สามารถใช้งานได้โดยไม่คำนึงถึงสิ่งที่เปลี่ยนแปลงไป
4. ง่ายต่อการพัฒนาระบบ เทคโนโลยีฐานข้อมูลช่วยให้การพัฒนาระบบงานง่ายยิ่งขึ้น เนื่องจากมีเครื่องมือช่วยในการสร้างฐานข้อมูลและพัฒนางาน เช่น เครื่องมือกำหนดโครงสร้างข้อมูล เครื่องมือออกแบบแบบฟอร์มสำหรับป้อนข้อมูล เครื่องมือออกแบบรายงาน และเครื่องมือช่วยสร้างการประมวลผลข้อมูล โดยไม่จำเป็นต้องเขียนโปรแกรม
5. ง่ายต่อการนำเสนอในรูปแบบที่ผู้ใช้ต้องการ เทคโนโลยีฐานข้อมูลช่วยให้การนำเสนอข้อมูลไม่ถูกจำกัดให้เสนอเป็นตัวเลข หรือตัวอักษร แต่อาจนำเสนอในรูปแบบอื่น เช่น กราฟ เป็นต้น ซึ่งผู้ใช้ใช้งานง่ายและตรงไปตรงมา
6. มีระบบการควบคุมการใช้งานและการรักษาความมั่นคง ที่ช่วยกำหนดสิทธิการใช้งานของผู้ใช้แต่ละประเภท ตลอดจนการสกัดผู้ที่ไม่มีสิทธิ์ในการใช้งานไม่ให้เข้าสู่ระบบได้
7.มีระบบการสำรองและกู้ข้อมูล ที่ช่วยสามารถสร้างฐานข้อมูลขึ้นใหม่ได้ เมื่อฐานข้อมูลที่ใช้อยู่มีปัญหา
ในการออกแบบและพัฒนาระบบฐานข้อมูล ผู้พัฒนาสามารถออกแบบระบบฐานข้อมูลได้หลายรูปแบบ (model) ซึ่งแบ่งตามภาพโครงสร้างข้อมูลที่ผู้ใช้มองเห็นได้ 3 รูปแบบ ได้แก่ ฐานข้อมูลแบบลำดับชั้น (hierarchical database) ฐานข้อมูลแบบข่ายงาน (network database) และฐานข้อมูลเชิงสัมพันธ์ (relational database system) รูปแบบที่ได้รับความนิยมมากที่สุด คือ ระบบฐานข้อมูลเชิงสัมพันธ์ เป็นฐานข้อมูลที่ข้อมูลจะจัดเก็บอยู่ในรูปของตาราง ในฐานข้อมูลหนึ่งๆ จะประกอบด้วยตารางหลายตาราง โดยแต่ละตารางจะมีข้อมูลของสิ่งต่างๆ ในระบบที่เราสนใจ และแต่ละตารางจะมีความสัมพันธ์กัน และจะมีเขตข้อมูลที่ทำหน้าที่เชื่อมตารางเหล่านี้
คำศัพท์ที่เกี่ยวข้องกับฐานข้อมูลเชิงสัมพันธ์ ประกอบด้วย
เขตกุญแจหลัก เป็นเขตข้อมูลที่มีคุณสมบัติที่จะมีค่าไม่ซ้ำกันในแต่ละระเบียน
เขตข้อมูลนอก (Foreign key) เป็นเขตข้อมูลในตารางหนึ่ง ซึ่งสามารถใช้อ้างอิงค่าของเขตข้อมูลนี้ในอีกตารางหนึ่งได้ ซึ่งเราใช้เขตข้อมูลนี้ในการสร้างความสัมพันธ์ของตาราง 2 ตารางได้
ความสัมพันธ์ เขตข้อมูลในแต่ละตารางจะต้องสอดคล้องกันจึงจะสามารถแสดงรายละเอียดเกี่ยวกับคำสั่งที่เหมือนกันได้ การประสานกันเหล่านี้จะสมบูรณ์ได้เมื่อมีความสัมพันธ์ระหว่างตาราง ความสัมพันธ์ทำงานได้โดยการจับคู่ข้อมูลในเขตกุญแจหลัก โดยปกติแล้วจะเป็นเขตข้อมูลที่มีชื่อเดียวกันในทั้งสองตาราง ในกรณีส่วนใหญ่แล้วเขตข้อมูลที่คู่กันจะเป็นเขตกุญแจหลักตารางหนึ่ง ซึ่งระบุชื่อที่ไม่ซ้ำซ้อนกันสำหรับแต่ละระเบียน และเขตข้อมูลนอกในตารางอื่น ตัวอย่างเช่น พนักงานสามารถทำงานตามคำสั่งที่เขาได้รับผิดชอบโดยการสร้างความสัมพันธ์ระหว่างตารางพนักงานคนอื่น และตารางคำสั่งงานโดยการใช้เขตข้อมูลเลขประจำตัวพนักงาน ชนิดต่างๆ ของความสัมพันธ์ ความสัมพันธ์หนึ่งต่อหลาย ความสัมพันธ์หลายต่อหลาย และความสัมพันธ์หนึ่งต่อหนึ่ง