Chapter 1 Database Concept PDF
Document Details
Uploaded by LucrativeZither1252
Tags
Summary
This document provides an overview of database concepts, focusing on database management systems (DBMS) and relational databases. It discusses the importance of databases, their role in organizations, and their various functions.
Full Transcript
บทที$ 1 แนวคิดทัว$ ไปเกีย$ วกับฐานข้ อมูล วัตถุประสงค์ สามารถอธิบายแนวคิดทัว2 ไปเกี2ยวกับระบบจัดการฐานข้อมูล (database management system – DBMS) ได้ อย่างถูกต้อง สามารถอธิบายแนวคิดของระบบจัดการฐานข้อมูลเชิงสัมพันธ์ได้อย่างถูกต้อง สามารถอธิบายถึงความจําเป็...
บทที$ 1 แนวคิดทัว$ ไปเกีย$ วกับฐานข้ อมูล วัตถุประสงค์ สามารถอธิบายแนวคิดทัว2 ไปเกี2ยวกับระบบจัดการฐานข้อมูล (database management system – DBMS) ได้ อย่างถูกต้อง สามารถอธิบายแนวคิดของระบบจัดการฐานข้อมูลเชิงสัมพันธ์ได้อย่างถูกต้อง สามารถอธิบายถึงความจําเป็ นในการใช้งานระบบจัดการฐานข้อมูลได้ สามารถอธิบายในเบืKองต้นว่าข้อมูลที2นาํ มาใช้ประโยชน์ถูกจัดเก็บไว้ในระบบจัดการฐานข้อมูลอย่างไร สามารถอธิบายในเบืKองต้นว่าการค้นคืนและแก้ไขข้อมูลในระบบจัดการฐานข้อมูลทําได้อย่างไร สามารถอธิบายในเบืKองต้นว่าระบบจัดการฐานข้อมูลรองรับการใช้งานของผูใ้ ช้หลายๆ คนพร้อมๆ กันได้ อย่างไร สามารถอธิบายในเบืKองต้นถึงวิธีการที2ระบบจัดการฐานข้อมูลใช้ป้องกันข้อมูลผิดพลาดในกรณี ที2ระบบ ล้มเหลว สามารถอธิบายองค์ประกอบหลักของระบบจัดการฐานข้อมูล สามารถระบุผทู ้ ี2มีส่วนเกี2ยวข้องกับการใช้งานระบบจัดการฐานข้อมูล คําสํ าคัญ: ข้อมูล (data); สารสนเทศ (information); การจัดการฐานข้อมูล (database management); ความเป็ น อิ สระของข้อมู ล (data independence); การออกแบบฐานข้อมู ล (database design); แบบจําลองข้อมู ล (data model); ฐานข้อมูลเชิ งสัมพันธ์และข้อคําถาม (relational database and queries); สคีมา (schema); ระดับของ ฐานข้อมูลเชิ งนามธรรม (levels of database abstraction); ธุ รกรรม/รายการเปลี2ยนแปลง (transaction); ภาวะ พร้ อ มกั น และการปิ ดกัK น (concurrency and locking); การกู้ แ ละการลงบั น ทึ ก (recovery and logging); โครงสร้างของระบบจัดการฐานข้อมูล (DBMS structure); ผูด้ ูแลฐานข้อมูล (database administrator—DBA); โปรแกรมเมอร์ (programmer); ผูใ้ ช้ (end user) บทที$ 1 แนวคิดทัว$ ไปเกีย$ วกับฐานข้ อมูล 1.1 บทนํา ข้อมูล (data) และสารสนเทศ (information) ในปั จจุบนั นีK มีอยู่มากมายมหาศาล และเพิ2มจํานวนขึKน อย่างรวดเร็ ว ซึ2 งเราไม่สามารถปฏิเสธได้เลยว่าข้อมูลและสารสนเทศนัKนมีประโยชน์มากมายสําหรับผูน้ าํ ไปใช้ ในแง่ขององค์การต่างๆ ก็ตระหนักถึ งความสําคัญของข้อมู ลเป็ นอย่างดี ซึ2 งเราได้ให้ความสําคัญกับข้อมู ล เปรี ยบเสมือนสิ นทรัพย์อย่างหนึ2งขององค์การไปแล้ว การที2จะใช้ประโยชน์จากข้อมูลที2มีจาํ นวนมหาศาลและ ซับซ้อนนีK จําเป็ นที2 จะต้องอาศัยเครื2 องมื อเพื2อช่ วยอํานวยความสะดวกในการจัดการข้อมูลตลอดจนการนํา ข้อมูลไปใช้งานอย่างมีประสิ ทธิภาพ มิฉะนัKนแล้ว ค่าใช้จ่ายในการจัดหาและการจัดการข้อมูลจะมีมูลค่าสู งเกิน กว่าประโยชน์ที2เราจะได้รับจากตัวข้อมูล ฐานข้ อมู ล คื อกลุ่ ม ของข้อมู ล ซึ2 งโดยทั2วไปเป็ นข้อมู ลที2 เกี2 ยวข้องกับ คุ ณ สมบัติ และกิ จกรรมต่ างๆ ของ ผูก้ ระทํากิจกรรมนัKนๆ และมีความสัมพันธ์กนั ตัวอย่างของฐานข้อมูล เช่น ฐานข้อมูลของมหาวิทยาลัยอาจจะประกอบไปด้วยข้อมูลดังนีK เอนทิตี (entity) เช่น นักศึกษา อาจารย์ รายวิชา ห้องเรี ยน ความสั มพันธ์ (relationship) ระหว่างเอนทิ ตี เช่ น นักศึ กษาลงทะเบี ยนเรี ยนในรายวิชา อาจารย์สอนในรายวิชา และการใช้งานห้องต่างๆ สําหรับแต่ละรายวิชา ระบบจัดการฐานข้ อมูล (database management system – DBMS) คือซอฟต์แวร์ ที2ช่วยในการจัดการและใช้ งานกลุ่มของข้อมูล โดยเฉพาะการจัดการกับกลุ่มของข้อมูลขนาดใหญ่ หรื อฐานข้อมูลนั2นเอง ปั จจุบนั เราได้ใช้ระบบ จัดการฐานข้อมูลกันเป็ นที2แพร่ หลายซึ2งเกือบเป็ นสิ2 งหนึ2งที2ขาดไม่ได้ในการบริ หารจัดการองค์การ วัตถุประสงค์ของการศึกษารายวิชาการออกแบบและพัฒนาฐานข้อมูลเน้นที2การออกแบบ พัฒนา และ สามารถนําระบบฐานข้อมูลที2พฒั นาไปใช้อย่างมีประสิ ทธิภาพ ทัKงนีK การที2จะบรรลุวตั ถุประสงค์ดงั กล่าว เรามี ความจําเป็ นที2 จะต้องเลือกใช้ระบบจัดการฐานข้อมูลที2 ถูกต้องเหมาะสมกับการประยุกต์ใช้ ซึ2 งการเลือกใช้ ระบบจัดการฐานข้อมูล ตลอดจนการออกแบบ และพัฒนาฐานข้อมูลสําหรับระบบจัดการฐานข้อมูลใดๆ เรามี ความจําเป็ นอย่างยิง2 ที2จะต้องเข้าใจถึงการทํางานของระบบจัดการฐานข้อมูล ระบบจัดการฐานข้อมูลที2ใช้กนั ในปั จจุบนั มีหลายประเภท แต่สาํ หรับรายวิชานีK จะเน้นที2ระบบจัดการ ฐานข้อ มู ล เชิ ง สั ม พัน ธ์ (relational database management systems – RDBMSs) ซึ2 งเป็ นประเภทของระบบ จัดการฐานข้อมูลที2 แพร่ หลายที2 สุดในปั จจุบนั สําหรับเรื2 องที2 จะศึ กษาสามารถแบ่งออกเป็ นกลุ่มใหญ่ ๆ ได้ ดังต่อไปนีK 1) แนวคิดพืนI ฐานเกีย$ วกับฐานข้ อมูล ได้แก่เนืKอหาในบทนีK 2) การออกแบบฐานข้ อมูล หัวข้อดังกล่าวศึกษาเกี2ยวกับ แนวคิด ขัKนตอน และเครื2 องมือที2ใช้ในการ ออกแบบเพื2อให้ได้มาซึ2 งฐานข้อมูลที2 ถูกต้องเหมาะสม ตลอดจนการศึกษาเกี2 ยวกับการที2 ผูใ้ ช้ 4 บทที$ 1 อธิ บายกิ จกรรมต่างๆ ตลอดจนสิ2 งที2เกี2 ยวข้องกับกิ จกรรมนัKนๆ ขององค์การ ทัKงในรู ปสิ2 งของที2 เป็ นรู ปธรรมและนามธรรม รวมถึงบุคคลต่างๆ อย่างไร ในแง่ของการจัดเก็บเป็ นข้อมูลในระบบ จัดการฐานข้อมูล ปัจจัยใดบ้างที2ควรคํานึงถึงในการจัดการและจัดเก็บข้อมูล (บทที2 2-5) 3) การพัฒ นาฐานข้ อมู ล การพัฒ นาระบบฐานข้อมู ล การพัฒ นาโปรแกรมประยุกต์ห รื อระบบ สารสนเทศที2ใช้งานระบบจัดการฐานข้อมูลนัKนทําอย่างไร (บทที2 6-8 และ 10) 4) การวิเคราะห์ และใช้ งานข้ อมูล ผูใ้ ช้จะสามารถตอบคําถามเกี2ยวกับองค์การในแง่ต่างๆ ได้อย่างไร โดยการใช้ขอ้ คําถาม (queries) กับระบบจัดการฐานข้อมูล (บทที2 8) 5) การจัดการธุรกรรมและความมั$นคงปลอดภัย ระบบจัดการฐานข้อมูลรองรับการใช้งานของผูใ้ ช้ หลายๆ คนพร้อมกันได้อย่างไร รวมทัKงระบบจัดการฐานข้อมูลทําอย่างไรในการป้ องกันความ ผิ ด พลาดของข้อ มู ล ในกรณี ที2 ร ะบบล้ม เหลว ตลอดจนการรั ก ษาความมั2น คงปลอดภัย ของ ฐานข้อมูล (บทที2 9) หลังจากได้แนะนําเกี2ยวกับระบบฐานข้อมูลในเบืKองต้น และภาพรวมของเรื2 องที2จะศึกษาในรายวิชา แล้ว ในบทนีK หัวข้อที2 1.2 ยังจะกล่าวถึ งข้อมู ลและสารสนเทศ ซึ2 งเน้นยํKาให้เห็ นถึ งความสําคัญของระบบ ฐานข้อมูล หัวข้อที2 1.3 กล่าวถึงวิวฒั นาการของการจัดการฐานข้อมูลและบทบาทของระบบจัดการฐานข้อมูล ในระบบสารสนเทศสมัยใหม่ หัวข้อที2 1.4 ระบุถึงข้อเสี ยของการจัดเก็บข้อมูลด้วยระบบไฟล์ขอ้ มูลและระบบ จัดการฐานข้อมู ลสามารถลบข้อเสี ยของระบบไฟล์ได้อย่างไร และได้อธิ บายถึ งข้อดี ของการใช้งานระบบ จัดการฐานข้อมูลในหัวข้อที2 1.5 สําหรับในหัวข้อที2 1.6 นัKน ได้อธิบายว่าเราจะมีวธิ ีการอย่างไรในการจัดเก็บข้อมูลและสารสนเทศของ องค์การลงในระบบจัดการฐานข้อมูล ผูใ้ ช้จะมองฐานข้อมูลในระดับสู ง กล่าวคือมองในเชิงการใช้งานจริ งใน สภาพแวดล้อมจริ ง ในขณะที2 ระบบจัดการฐานข้อมูลจะจัดเก็บข้อมูลในรู ปของข้อมูลดิ จิตอลเป็ นบิ ตลงใน อุปกรณ์ จดั เก็บ ทัKงนีK จะพบว่าระหว่างระดับของข้อมูลในระดับที2 ผูใ้ ช้มองเห็ นกับระดับจัดเก็บข้อมูลลงใน ฮาร์ ดแวร์ จะถูกขัKนและจัดการด้วยระดับต่างๆ ซึ2 งเราเรี ยกว่าระดับเชิ งนามธรรม (levels of abstraction) ซึ2 งถูก สร้างขึKนมาเพื2อเอืKออํานวยต่อการจัดการฐานข้อมูลอย่างมีประสิ ทธิภาพ หัวข้อที2 1.7 อธิ บายถึงวิธีการที2ผูใ้ ช้จะทําอย่างไรในการเรี ยกใช้ขอ้ มูลที2ถูกจัดเก็บอยูใ่ นระบบจัดการ ฐานข้อมูล รวมถึงความจําเป็ นในการใช้เทคนิคต่างๆ ในการดึงข้อมูลออกมาจากฐานข้อมูลอย่างรวดเร็ ว หัวข้อ ที2 1.8 อธิ บายภาพรวมเกี2 ยวกับการทํางานของระบบจัดการฐานข้อมูลว่ามี วิธีการอย่างไรในการรองรับการ ทํางานของผูใ้ ช้หลายๆ คนพร้อมๆ กัน ตลอดจนระบบจัดการฐานข้อมูลป้ องกันข้อมูลจากความผิดพลาดและ ความเสี ยหายในกรณี ที2ระบบล้มเหลวได้อย่างไร โครงสร้างของบท และหัวข้อที2 1.3-1.9 ตลอดจนสคีมาตัวอย่างของมหาวิทยาลัย ดัดแปลงและเรี ยบ เรี ยงจาก Ramakrishnan and Gehrke, 2003 เป็ นหลัก แนวคิดอื2นๆ เรี ยบเรี ยงมาจากและอ่านเพิ2มเติ มได้ตาม เอกสารอ้างอิง แนวคิดทั$วไปเกี$ยวกับฐานข้ อมูล 5 1.2 ข้ อมูลและสารสนเทศ ข้ อมูล คือ ข้อเท็จจริ งเกี2ยวกับสิ2 งต่างๆ สารสนเทศ คือ ข้อมูลที2ผา่ นการประมวลผล ข้อมูลและสารสนเทศมีความจําเป็ นในทุกวงการ เช่นในแง่ธุรกิจนัKนมีความสําคัญต่อผูบ้ ริ หารในการ ตัดสิ นใจดําเนิ นธุ รกิจต่างๆ ทัKงนีK เราต้องเข้าใจความหมายของคําว่าข้อมูลและสารสนเทศก่อน ข้ อมูล (data) คือข้อเท็จจริ งที2เกี2ยวข้องกับสิ2 งที2เราสนใจจะจัดเก็บซึ2งได้แก่ เอนทิตี และ ความสั มพันธ์ ดังได้กล่าวถึงในหัวข้อ ที2แล้ว สารสนเทศ (information) หรื อในบางครัKงเรี ยกว่าข้อมูลสารสนเทศ คือสิ2 งที2เราได้จากการนําข้อมูลมา ประมวลผล การประมวลผลคือกระบวนการใดๆ ที2 จะได้มาซึ2 งสารสนเทศที2 นาํ มาใช้ประโยชน์ได้ เรานํา สารสนเทศมาใช้ประกอบการตัดสิ นใจดําเนินการเพื2อให้บรรลุวตั ถุประสงค์ขององค์การ ข้อมูล (data) ประมวลผล (process) สารสนเทศ (information) เราสามารถยกตัวอย่างความแตกต่างระหว่างข้อมูลและสารสนเทศ ตลอดจนการนําสารสนเทศไปใช้ ประโยชน์ได้ดว้ ยตัวอย่างข้อมูลการจดบันทึ กการขายของร้ านขายของชําดังนีK (สําหรับเป็ นตัวอย่างเท่านัKน ข้อมูลมีปริ มาณน้อยเพื2อความสะดวกในการอธิบาย) ตารางที$ 1-1 ตัวอย่างข้อมูลการขายและรายละเอียดสิ นค้า รหัสสิ นค้ า ชื$ อสิ นค้ า ประเภทสิ นค้ า จํานวนทีข$ าย วันที$ 00001 มาม่ารสหมูสบั บะหมี2ก2 ึงสําเร็ จรู ป 5 1/09/2007 00002 ยํายํารสหมูสบั บะหมี2ก2 ึงสําเร็ จรู ป 5 5/09/2007 00001 มาม่าต้มยํากุง้ บะหมี2ก2 ึงสําเร็ จรู ป 3 10/09/2007 00005 ชาเขียวโออิชิรสข้าวญี2ปุ่น เครื2 องดื2ม 1 10/09/2007 00010 แชมพูแพนทีน 500 มล. เครื2 องสําอาง 1 17/09/2007 00001 มาม่ารสหมูสบั บะหมี2ก2 ึงสําเร็ จรู ป 4 18/09/2007 00098 โค้กซีโร่ กระป๋ อง 325 มล. เครื2 องดื2ม 12 20/09/2007 00209 เธอกับฉัน กันยายน 2550 หนังสื อ 1 22/09/2007 00005 ชาเขียวโออิชิรสข้าวญี2ปุ่น เครื2 องดื2ม 2 28/09/2007 00112 ขายหัวเราะ กันยายน 2550 หนังสื อ 1 29/09/2007 6 บทที$ 1 จากข้อมูลดิบข้างต้น ยังไม่มีประโยชน์ต่อการช่วยในการนํามาพัฒนาการขาย เราสามารถนํารายการ ขายตลอดเดือนมาพิจารณาสิ นค้าที2ขายดีเป็ นพิเศษ เพื2อซืK อสิ นค้านัKนๆ ในปริ มาณมากขึKน และสิ นค้าชิKนใดที2 ขายได้ไม่ดี ซึ2 งเราจะสามารถวิเคราะห์ในภายหลังได้วา่ เกิดจากอะไรและเราอาจจะไม่จาํ เป็ นต้องสั2งซืK อสิ นค้า นัKนๆ มาขาย หรื อในทางกลับกันอาจจัดรายการส่ งเสริ มการขายสิ นค้าที2ขายได้นอ้ ยแต่ได้กาํ ไรมาก ให้มียอด จําหน่ ายเพิ2มขึKน การที2จะได้มาซึ2 งสารสนเทศดังกล่าว เราสามารถประมวลผลได้ดว้ ยวิธีการต่างๆ เช่น การ รวมจํานวนสิ นค้าที2เป็ นสิ นค้าเดียวกันและเรี ยงลําดับข้อมูลจากมากไปน้อย ตารางที$ 1-2 ข้อมูลการขายสิ นค้าเรี ยงตามลําดับจํานวนที2ขายได้ รหัสสิ นค้ า ชื$ อสิ นค้ า ประเภทสิ นค้ า จํานวนทีข$ าย 00098 โค้กซีโร่ กระป๋ อง 325 มล. เครื2 องดื2ม 12 00001 มาม่ารสหมูสบั บะหมี2ก2 ึงสําเร็ จรู ป 9 00002 ยํายํารสหมูสบั บะหมี2ก2 ึงสําเร็ จรู ป 5 00001 มาม่าต้มยํากุง้ บะหมี2ก2 ึงสําเร็ จรู ป 3 00005 ชาเขียวโออิชิรสข้าวญี2ปุ่น เครื2 องดื2ม 3 00010 แชมพูแพนทีน 500 มล. เครื2 องสําอาง 1 00209 เธอกับฉัน กันยายน 2550 หนังสื อ 1 00112 ขายหัวเราะ กันยายน 2550 หนังสื อ 1 เราสามารถประมวลผลให้สารสนเทศที2ได้มามีประโยชน์หรื อสามารถเข้าใจได้ง่ายขึKนอีกด้วยการทํา ให้เห็นภาพ เช่น การสร้างแผนภูมิจากสารสนเทศที2ได้ ดังตัวอย่าง ภาพที$ 1-1 ตัวอย่างแผนภูมิแท่งแสดงยอดจําหน่ายสิ นค้าแยกตามประเภท แนวคิดทั$วไปเกี$ยวกับฐานข้ อมูล 7 เราจะเห็นภาพชัดเจนถึงประเภทสิ นค้าที2มียอดจําหน่ายสู งจากสารสนเทศที2ได้จากการประมวลผล ทํา ให้การวางแผนการบริ หารร้านค้าสามารถทําได้อย่างมีกลวิธีและมีประสิ ทธิภาพเพิ2มขึKน ในกรณี นK ีร้านค้าควรที2 จะซืK อบะหมี2ก2 ึ งสําเร็ จรู ปในปริ มาณที2 มากกว่าสิ นค้าอื2นๆ เพื2อให้เพียงพอต่อการจําหน่ าย การจัดเก็บข้อมูล การนําข้อมูลมาใช้ประโยชน์ ตลอดจนการประมวลผลข้อมูลและนําสารสนเทศที2ได้มาใช้ประโยชน์นK นั เรา สามารถใช้ระบบสารสนเทศ (information system) มาจัดการได้ ซึ2 งระบบสารสนเทศในปั จจุบนั อาศัยการ จัดการข้อมูลที2มีประสิ ทธิภาพจากระบบจัดการฐานข้อมูล 1.3 วิวฒ ั นาการของฐานข้ อมูล (Ramakrishnan and Gehrke, 2004) การจัดเก็บ แก้ไข และบริ หารจัดการข้อมูลเป็ นหัวข้อการศึกษาและวิจยั ที2สาํ คัญ ตลอดจนได้รับการ พัฒนามาอย่างต่อเนื2 อง ระบบจัดการฐานข้อมูลสําหรับใช้งานทัว2 ๆ ไประบบแรกได้รับการออกแบบโดยนาย ชาลส์ แบคแมน (Charles Bachman) แห่ งบริ ษทั เจเนอรัลอิเล็กทริ ก ในต้นทศวรรษ ค.ศ. 1960 ระบบดังกล่าว ถูกเรี ยกว่า Integrated Data Store ซึ2 งเป็ นรากฐานของการจัดเก็บขอมูลโดยใช้แบบจําลองข้อมูลแบบเครื อข่าย (network data model) ทัKงนีK ระบบดังกล่าวได้รับการยอมรับและกําหนดมาตรฐานขึKนโดย The Conference on Data Systems Languages (CODASYL) รู ปแบบของการจัดเก็บข้อมูลดังกล่าวได้รับการยอมรับและมีอิทธิอย่าง มากต่อรู ปแบบของสถาปั ตยกรรมระบบจัดการฐานข้อมูลในช่ วงทศวรรษ 1960 แบคแมนเป็ นบุคคลแรกที2 ได้รับ ACM’s Turing Award ด้านการศึกษาฐานข้อมูลในปี 1973 ซึ2 ง Turing Award นีK เป็ นรางวัลที2 เปรี ยบได้ กับรางวัลโนเบลในทางวิทยาการคอมพิวเตอร์ ในช่ วงปลายทศวรรษที2 1960 บริ ษทั ไอบี เอ็มได้พฒั นาระบบจัดการฐานข้อมู ลในชื2 อ Information Management System (IMS) ซึ2 งยังคงได้รับการใช้งานอยูใ่ นปั จจุบนั สําหรับฐานข้อมูลขนาดใหญ่ โดย IMS นีK นําเสนอรู ปแบบของการจัดการข้อมูลด้วยแบบจําลองข้อมูลเชิ งลําดับชัKน (hierarchical data model) ในช่ วง เวลาเดียวกันระบบ SABRE ซึ2 งเป็ นระบบสําหรับการจองตัว` เครื2 องบินที2บริ ษทั ไอบีเอ็มพัฒนาร่ วมกับอเมริ กนั แอร์ไลนส์ได้ถูกพัฒนาขึKน เพื2อให้สามารถใช้งานผ่านเครื อข่ายคอมพิวเตอร์ได้ ระบบดังกล่าวมีความน่าสนใจ ตรงที2 เป็ นระบบสําคัญสําหรับการจองตัว` เครื2 องบิ นในปั จจุบนั เช่ นเว็บไซต์ Travelocity ยังคงใช้งานระบบ SABRE ในปี 1970 เอ็ดการ์ ค็อด (Edgar Codd) แห่งห้องปฏิบตั ิการวิจยั ซานโฮเซของบริ ษทั ไอบีเอ็ม ได้เสนอ รู ปแบบการจัดการข้อมูลด้วยแบบจําลองข้อมูลเชิงสัมพันธ์ (relational data model) ซึ2 งรู ปแบบดังกล่าวมีความ เหมาะสมในการใช้งานเป็ นอย่างยิง2 และได้รับความนิ ยมแพร่ หลายอย่างรวดเร็ ว นอกจากนีK มีผสู ้ นับสนุ นและ วิจยั เพื2อให้เกิดทฤษฎีมารองรับและประยุกต์ใช้อย่างเป็ นระบบ นอกจากจะได้รับความสนใจในแวดวงวิชาการ โดยถือเป็ นศาสตร์ แขนงหนึ2 งแล้ว ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ยงั มีผลกระทบต่อแวดวงธุ รกิจ การนํา ระบบจัดการฐานข้อมู ลเชิ งสัมพันธ์ไปช่ วยในการบริ หารองค์การก่ อให้เกิ ดประโยชน์อย่างสู ง ได้รับการ ยอมรับ และถือเป็ นเครื2 องมือมาตรฐานอย่างหนึ2 งที2ควรนํามาใช้เพื2ออํานวยความสะดวกในการปฏิบตั ิงานและ เพิ2มประสิ ทธิภาพขององค์การ Codd ได้รับรางวัล Turing ในปี 1981 ในช่วงทศวรรษ 1980 แบบจําลองเชิงสัมพันธ์ได้กลายเป็ นมาตรฐานหลักของระบบจัดการฐานข้อมูล และมีการใช้ระบบจัดการฐานข้อมูลกันอย่างแพร่ หลาย ภาษาที2ใช้สาํ หรับจัดการฐานข้อมูลเชิงสัมพันธ์ที2ได้รับ 8 บทที$ 1 การยอมรับเป็ นมาตรฐานได้แก่ SQL ซึ2 งถูกพัฒนาขึKนโดยบริ ษทั ไอบีเอ็มภายใต้โครงการ IBM’s System R โดย SQL ดังกล่าวได้ถูกกําหนดมาตรฐานขึKนในปลายทศวรรษที2 1980 โดย SQL เริ2 มจากการกําหนดและรองรับให้ เป็ น ม าต ร ฐ าน โ ด ย American National Standards Institute (ANSI) จ น International Organization for Standardization (ISO) กําหนดให้เป็ นมาตรฐานในระดับนานาชาติในที2สุด การคิดค้นสําคัญอีกอย่างหนึ2 งของ SQL ก็คือการออกแบบ SQL เพื2อให้รองรับการใช้งานฐานข้อมูลโดยผูใ้ ช้ฐานข้อมูลหลายคน และธุ รกรรมที2 เกิ ดขึK นพร้ อมๆ กันได้ โดยเขี ยนคําสั2งเสมื อนมี ผูใ้ ช้งานฐานข้อมูลไม่พร้ อมกัน แต่ระบบจัดการฐานข้อมูล สามารถรองรั บ การใช้งานฐานข้อมู ลพร้ อมจากผูใ้ ช้ห ลายคนได้ เจมส์ เกรย์ (James Gray) ได้รับ รางวัล Turing สําหรับการศึกษาที2เป็ นประโยชน์ต่อการจัดการธุรกรรมของฐานข้อมูล ปรากฏการณ์ ที2 น่ าสนใจของการจัด การฐานข้อ มู ล ในปั จจุ บัน ได้แก่ ก ารกําเนิ ด ของระบบจัด การ ทรัพยากรองค์การ (enterprise resource planning – ERP) ซึ2 งเป็ นรู ปแบบสมัยใหม่ของการใช้งานระบบจัดการ ฐานข้อมูล โดยส่ วนใหญ่องค์การธุรกิจจะประกอบไปด้วยหน่วยงานย่อยๆ ที2คล้ายคลึงกันแบ่งตามหน้าที2ทาง ธุ รกิจ (business functions) เช่นฝ่ ายทรัพยากรมนุ ษย์ ฝ่ ายการเงินและบัญชี ฝ่ ายผลิต ฝ่ ายขาย และฝ่ ายบริ หาร เป็ นต้น ซึ2 งโดยปกติหน่ วยงานทางธุ รกิ จเหล่านีK มีระบบสารสนเทศของตนเองและจัดเก็บข้อมูลลงในระบบ จัดการฐานข้อมูล นอกจากข้อมูลที2จดั เก็บในระบบจัดการฐานข้อมูลของหน่วยงานย่อยๆ จะมีความคล้ายคลึง กันในแต่ละบริ ษทั แล้ว กระบวนการทางธุรกิจอื2นๆ ก็มีความคล้ายคลึงเช่นเดียวกัน จึงมีผพู ้ ฒั นา ERP ขึKนเพื2อ เชื2 อมโยงข้อมูลของหน่ วยงานย่อยของบริ ษทั เข้าด้วยกัน ตลอดจนนําเสนอโปรแกรมประยุกต์ที2อาํ นวยความ สะดวกในกระบวนการธุ รกิจมาพร้อมกับระบบจัดการฐานข้อมูลด้วย บริ ษทั ผูน้ าํ ด้านซอฟต์แวร์ ERP ได้แก่ Baan Oracle PeopleSoft SAP และ Siebel เป็ นต้น ชุ ด ERP แต่ละชุ ดสามารถปรับแต่งเพื2อให้เข้ากับองค์การ ธุ รกิจใดๆ ได้โดยเฉพาะ จึงเป็ นการประหยัดเวลาและค่าใช้จ่ายในการพัฒนาระบบสารสนเทศเพื2อช่วยในการ ดําเนินการและบริ หารองค์การ วิวฒั นาการที2 สําคัญ อย่างยิ2งยวดของระบบจัด การฐานข้อ มู ล ได้แก่ ค วามสามารถของการใช้งาน ฐานข้อมูลผ่านอินเตอร์ เน็ต ในยุคแรกของอินเตอร์ เน็ต หน้าเว็บต่างๆ เป็ นไฟล์ที2มีเนืK อหาคงที2ตามที2ได้สร้าง ขึKนโดย HTML แต่ในปั จจุบนั เราสามารถสร้างเว็บไซต์ที2สามารถตอบสนองตามการร้องขอของผูใ้ ช้ที2แตกต่าง กันจากฟอร์มของเว็บ ค้นคืนข้อมูลจากฐานข้อมูล ประมวลผลและนําเสนอในรู ปแบบของเอกสาร HTML เพื2อ สามารถแสดงผลบนเว็บบราวเซอร์ ได้ การประยุกต์ใช้งานดังกล่าวเป็ นที2นิยมแพร่ หลาย ผูผ้ ลิตระบบจัดการ ฐานข้อมูลทุกรายได้เพิ2มความสามารถด้านการใช้งานฐานข้อมูลบนเว็บให้กบั ผลิตภัณฑ์ของตนเอง Network Hierarchic Relational SQL ERP & The Data al Data Data Internet Model Model Model Early 1960s Late 1970 1980 Present Bachman 1960s Codd IBM System Oracle, IDS IBM Turing in R SAP, Baan, IMS 1981 SQL by ANSI etc. Turing in 1973 ภาพที$ 1-2 วิวฒั นาการที2สาํ คัญของฐานข้อมูล แนวคิดทั$วไปเกี$ยวกับฐานข้ อมูล 9 ระบบจัดการฐานข้อมูลทวีความสําคัญและประโยชน์มากขึKนเรื2 อยๆ เนื2 องจากมีการเรี ยกใช้ขอ้ มูลและ สารสนเทศผ่านทางเว็บ มากขึK น อย่างไม่ ห ยุด ยัKง นอกจากข้อ มู ล ที2 เป็ นภาพและตัวหนังสื อ แล้ว ปั จ จุ บัน ฐานข้อมูลมัลติมีเดียถูกใช้งานอย่างแพร่ หลายเพื2อรองรับการดูภาพยนตร์ ทีวี วีดีทศั น์ ตลอดจนฟั งเพลงและ ข่าวสารผ่านทางเครื อข่ายคอมพิวเตอร์ การใช้งานฐานข้อมูลเพื2อรองรับห้องสมุดดิจิทลั การใช้งานเพื2อรองรับ โครงการวิจยั ทางวิทยาศาสตร์ ขนาดใหญ่เช่นแผนที2ยีนของมนุ ษย์ โครงการ Earth Observation System ของ องค์การนาซ่ า การใช้เพื2อรองรับกระบวนการตัดสิ นใจทางธุ รกิ จ การนํามาใช้ประกอบการขุดค้นข้อมูลที2 น่ าสนใจเพื2องานวิชาการและธุ รกิจ ในแวดงวงธุ รกิจตลาดของระบบจัดการฐานข้อมูลยังมีขนาดที2ใหญ่เป็ น อันดับต้นๆ ทัKงหมดที2 กล่าวมานีK เป็ นเพียงตัวอย่างบางส่ วนของบทบาทที2 สําคัญของระบบจัดการฐานข้อมูล การศึกษาเกี2ยวกับฐานข้อมูลจึงเป็ นสิ2 งที2น่าสนใจและมีประโยชน์อย่างกว้างขวาง 1.4 ระบบไฟล์ และระบบจัดการฐานข้ อมูล เพื2อให้เข้าใจถึงความจําเป็ นในการใช้งานระบบจัดการฐานข้อมูล สามารถอธิ บาย (Ramakrishnan and Gehrke, 2003) ให้เห็นได้ดงั นีK บริ ษทั แห่งหนึ2งมีขอ้ มูลอยูเ่ ป็ นจํานวนมาก ประมาณ 500 GB ซึ2งเป็ นข้อมูล ของพนักงาน แผนก สิ นค้า การขาย ฯลฯ ข้อมูลถูกใช้งานโดยพนักงานหลายคนพร้อมกัน การเรี ยกใช้ขอ้ มูล จะต้องได้รับการตอบสนองอย่างรวดเร็ ว การเปลี2ยนแปลงข้อมูลใดๆ โดยผูใ้ ช้งานคนละคนจะต้องยังคงความ ถูกต้องของข้อมูล และจะต้องมีการป้ องกันการเข้าถึงข้อมูลบางข้อมูล เช่น ข้อมูลเงินเดือนของพนักงาน เป็ น ต้น เราสามารถลองที2จะจัดการข้อมูลดังกล่าวโดยจัดเก็บข้อมูลรู ปแบบไฟล์ปกติที2ปฏิบตั ิกนั มานานแล้ว ซึ2งวิธีดงั กล่าวมีขอ้ เสี ยที2เกิดขึKนดังนีK เราไม่สามารถจัดเก็บข้อมูลไว้ในหน่วยความจําหลักได้ทK งั 500 GB ข้อมูลจะต้องถูกจัดเก็บอยูบ่ น หน่ วยความจําสํารองได้แก่ ฮาร์ ดดิ สก์ หรื อเทปแม่ เหล็ก เมื2 อจําเป็ นจะต้องใช้งานข้อมู ลใดๆ ข้อมูลส่ วนที2 เกี2 ยวข้องจะถูกอ่านขึKนสู่ หน่ วยความจําหลัก ซึ2 งจะต้องมี การเขียนโปรแกรมเพื2อ รองรับกระบวนการนีKเป็ นพิเศษ การตอบคําถามจากข้อมูล การจัดเก็บ การแก้ไขใดๆ จําเป็ นต้องเขียนโปรแกรมเฉพาะกับข้อมูล ชุดนัKนๆ ซึ2งโปรแกรมจะมีความซับซ้อนเนื2องจากขนาดที2ใหญ่โตของข้อมูล จะต้องมีการป้ องกันความผิดพลาดในกรณี ที2มีการแก้ไขข้อมูลเดียวกันพร้อมๆ กัน การจัดการ เหตุการณ์ดงั กล่าวในกรณี ที2ใช้ระบบไฟล์ขอ้ มูล ยิง2 ทวีความซับซ้อนในการเขียนโปรแกรม ระบบต้องรับประกันว่าข้อมูลจะคืนสู่ สภาพที2ควรจะถูกต้องจากการแก้ไขครัKงสุ ดท้ายก่อนเกิ ด การล้มเหลวของระบบ ปกติแล้วระบบไฟล์จะมีการป้ องกันการเข้าถึงไฟล์โดยการใช้รหัสผ่านสําหรับผูใ้ ช้ก่อนเข้าใช้ ระบบหรื อใช้รหัสผ่านเพียงรหัสเดี ยวสําหรับไฟล์ทK งั หมด ซึ2 งวิธีการป้ องกันไฟล์ดงั กล่าวไม่ เพียงพอต่อการใช้งานในรู ปแบบของการอนุ ญาตให้ผูใ้ ช้แต่ละคนสามารถเข้าถึงข้อมูลชุดใดชุด หนึ2งเท่านัKนในชุดข้อมูลที2มีอยูท่ K งั หมด 10 บทที$ 1 ตัวอย่ างที$ 1.1 ปัญหาการจัดการไฟล์ ตัวอย่างการจัดเก็บข้อมูลของฝ่ ายบุคคล และฝ่ ายขาย ซึ2งมีรูปแบบของไฟล์ไม่เหมือนกัน ดังนีK ฝ่ ายบุคคล ฝ่ ายขาย รหัสพนักงาน | ชื, อพนักงาน | แผนก | รหัสพนักงาน | ชื, อพนักงาน | ยอดขาย | เงินเดือน | 00001 | นายสมชาย จดปลายเท้า 00001 | นายสมชาย จดปลายเท้า | 300000 | | ฝ่ ายขาย | 30000 | 00002 | นางสาวสมศรี 00004 | นางสาวสมหญิง จดปลายเท้า | จดปลายเท้า | ฝ่ ายบุคคล | 12000 | … 250000 | … จากตัวอย่าง ไฟล์ขอ้ มูลพนักงาน 2 ไฟล์อยูใ่ นแต่ละแผนกแยกจากกัน จะพบว่าเรามีความจําเป็ นต้อง เขียนโปรแกรมสําหรับเข้าถึงระเบียนด้วยตนเองตามรู ปแบบของไฟล์ ในกรณี ตวั อย่างนีK เราใช้เครื2 องหมาย “|” เป็ นตัวแบ่ งฟิ ลด์ เราจะไม่ สามารถใช้โปรแกรมนีK อ่ านไฟล์อื2นๆ ที2 ไม่ ได้ใช้เครื2 องหมายแบ่ งฟิ ลด์เดี ยวกัน นอกจากนีK ถา้ มี ความจําเป็ นที2 ไฟล์จะต้องจัดเก็บฟิ ลด์เพิ2 มเติ มเช่ น หมายเลขประกันสังคม เราจะต้องเขี ยน โปรแกรมใหม่ ไฟล์ขอ้ มูลซํKาซ้อนกัน 2 ไฟล์นK ี ยงั จะก่อให้เกิดปั ญหาความขัดแย้งกันของข้อมูลในกรณี ที2เกิด การแก้ไขข้อมูลของพนักงานคนใดในไฟล์หนึ2ง แต่ไม่ได้แก้ในอีกไฟล์หนึ2ง คําตอบของข้อกําหนดของระบบทัKงหมดที2 กล่าวมาคื อการใช้ระบบจัดการฐานข้อมู ล การจัดเก็บ ข้อ มู ล ลงในฐานข้อ มู ล แทนที2 จ ะจัด เก็ บ ลงในไฟล์ธ รรมดา เราสามารถที2 จ ะจัด การก้อ นข้อ มู ล ได้อ ย่างมี ประสิ ทธิ ภาพมากขึKน ระบบจัดการฐานข้อมูลเป็ นสิ2 งที2จะต้องใช้งานอย่างหลีกเลี2ยงไม่ได้สําหรับหน่ วยงาน โดยทัว2 ไปที2 ขอ้ มู ลมี ขนาดหลายร้ อย GB (ซึ2 งเป็ นขนาดของข้อมู ลโดยทัว2 ๆ ไปในปั จจุ บนั ) และการใช้งาน พร้อมๆ กันของผูใ้ ช้เป็ นพันคน ในหัวข้อต่อๆ ไปจะได้อธิบายถึงข้อดีและสถาปั ตยกรรมของฐานข้อมูลเพื2อให้ เข้าใจได้ถึงหลักการทํางานของฐานข้อมูลที2จะรองรับความต้องการจัดการข้อมูลได้ดีกว่าไฟล์อย่างไร 1.5 ข้ อดีของระบบจัดการฐานข้ อมูล ระบบจัดการฐานข้อมูลมีขอ้ ดีดงั ต่อไปนีK ความเป็ นอิ ส ระของข้ อ มู ล (data independence) ความเป็ นอิ ส ระของข้อ มู ล หมายถึ ง การที2 รู ปแบบของข้อมูลไม่ผูกติดกับสิ2 งใดสิ2 งหนึ2 งในกระบวนใช้งานฐานข้อมูล เช่น การที2นกั พัฒนา ระบบจะพัฒนาระบบสารสนเทศหรื อโปรแกรมประยุกต์ใดๆ เพื2อใช้ประโยชน์ ชุ ดคําสั2งของ โปรแกรมไม่ควรผูกติดอยูก่ บั รู ปแบบของการจัดเก็บข้อมูลในระดับฮาร์ ดแวร์ แต่ควรมีกลไกใน การขัKนกลางระหว่างการจัดเก็บข้อมู ลกับการใช้งานข้อมู ลในระดับสู ง ซึ2 งสามารถสร้ างเป็ น ระดั บ ๆ ของกลไกได้ โ ดยเรี ยกว่ า ระดั บ เชิ ง นามธรรมของฐานข้ อ มู ล (level of database abstractions) การเข้ าถึงข้ อมูลอย่ างมีประสิ ทธิภาพ (efficient data access) ระบบจัดการฐานข้อมูลใช้เทคนิคที2 ซับซ้อนและชาญฉลาดที2 จะจัดเก็บข้อมู ลและเรี ยกใช้ขอ้ มู ลอย่างมี ประสิ ทธิ ภาพและรวดเร็ ว เทคนิ คดังกล่าวจําเป็ นอย่างยิง2 โดยเฉพาะสําหรับการจัดการข้อมูลที2อยูใ่ นหน่วยความจําสํารองที2 แนวคิดทั$วไปเกี$ยวกับฐานข้ อมูล 11 ทํางานได้ชา้ กว่าหน่ วยความจําหลักอย่างมาก นอกจากนีK ยงั รวมถึงวิธีจดั การกับข้อมูลเพื2อแสดง ผลลัพธ์ได้อย่างรวดเร็ วตามข้อคําถาม (queries) ต่างๆ บู รณภาพและความมั$นคงปลอดภัยของข้ อมู ล (data integrity and security) ตราบเท่ าที2 ผูใ้ ช้ จะต้องใช้งานข้อมูลผ่านระบบจัดการฐานข้อมูล เราสามารถที2จะกําหนดข้อกําหนดและควบคุม ให้ขอ้ มูลมีบูรณภาพ ซึ2 งหมายถึงการที2ขอ้ มูลมีความถูกต้องตรงตามสภาพที2ควรจะเป็ นในชี วิต จริ ง เช่ น การทําการขึK นเงิ นเดื อนให้พนักงาน ระบบจะสามารถตรวจสอบได้ว่าเงิ นเดื อนของ พนักงานไม่เกินไปจากงบประมาณของหน่วยงาน หรื อการแก้ไขสถานะภาพสมรสของพนักงาน คนใดๆ จะแก้ไ ขให้ เป็ นหม้า ยไม่ ไ ด้ห ากยัง ไม่ เคยแต่ ง งาน เป็ นต้น นอกจากนีK การเข้า ถึ ง ฐานข้อมูลโดยผ่านทางระบบจัดการฐานข้อมูลเท่านัKนยังอนุญาตให้มีการกําหนดระดับการเข้าถึง ข้อมูลว่าผูใ้ ช้คนใดหรื อกลุ่มใด สามารถมองเห็น ข้อมูลชุดใด หรื อทํากิจกรรมใดๆ กับฐานมูลนัKน ได้บา้ ง การบริ หารข้ อมูล (data administrator) เมื2อผูใ้ ช้หลายคน ใช้งานข้อมูลชุ ดเดี ยวกัน การจัดการ ข้อมูลโดยรวมศูนย์จะทําให้การบริ หารข้อมูลมีประสิ ทธิ ภาพมากขึKน ผูท้ ี2มีความชํานาญในการ จัดการฐานข้อมูลจะทราบว่าจะปรับแต่งฐานข้อมูลอย่างไรให้ตรงตามความต้องการข้อมูลใช้ ใน แง่ของการควบคุมการเข้าถึงข้อมูลชุ ดต่างๆ ของผูใ้ ช้อย่างเหมาะสม การลดความซํKาซ้อนของ ข้อมูลที2 ใช้งานร่ วมกัน ตลอดจนการปรับแต่งฐานข้อมูลเพื2อให้สามารถเรี ยกใช้งานข้อมูลได้ รวดเร็ วขึKน การจัดการภาวะพร้ อมกันและการกู้จากความล้ มเหลวของระบบ (concurrent access and crash recovery) ระบบจัดการฐานข้อมูลมีความสามารถในการจัดลําดับการทํางานของธุ รกรรมที2เข้า มาพร้อมๆ กันให้เสมือนหนึ2 งว่าฐานข้อมูลมีการใช้งานจากผูใ้ ช้เพียงคนเดี ยวและการปรับปรุ ง ข้อมูลใดๆ มีความถูกต้องอยูเ่ สมอ ตลอดจนป้ องกันข้อมูลสู ญหายและผิดพลาดในกรณี ที2ระบบ ล้มเหลว ลดเวลาในการพัฒนาระบบทีใ$ ช้ งานฐานข้ อมูล (reduced application development time) ระบบ จัดการฐานข้อมู ลที2 มี ให้เลื อกใช้มี ความสามารถในการรองรั บ การทํางานที2 ใช้กัน โดยทั2วไป ดังนัKนจึงมีเครื2 องมือและรู ปแบบการเรี ยกใช้งานซึ2 งมองได้ว่าเป็ นการเรี ยกใช้งานฐานข้อมูลใน ระดับสู ง เช่นมีมาตรฐาน SQL ในการจัดการข้อมูล ทําให้ไม่ตอ้ งเขียนโปรแกรมเฉพาะที2ยงุ่ ยาก ซับซ้อนสําหรับข้อมูลแต่ละชุ ดเอง นอกจากนีK การจัดการข้อมูลลงในอุปกรณ์ จดั เก็บยังทํางาน อย่างถูกต้องและมีประสิ ทธิภาพอยูแ่ ล้วโดยระบบจัดการฐานข้อมูล นักพัฒนาสามารถลดเวลาใน การพัฒนาและแก้ไขข้อผิดพลาดจากการพัฒนาลงได้อย่างมาก อย่างไรก็ตาม แม้ว่าระบบจัดการฐานข้อมูลจะมี ประโยชน์มากมาย แต่เราไม่จาํ เป็ นต้องใช้ระบบ จัดการฐานข้อมูลเสมอไป ในกรณี ที2เราไม่จาํ เป็ นต้องใช้ความสามารถที2กล่าวมาของระบบจัดการฐานข้อมูล เลย เช่ น ไม่จาํ เป็ นต้องใช้การจัดการกรณี ที2มีผูใ้ ช้งานฐานข้อมูลพร้อมๆ กันหลายคน หรื อมีผูใ้ ช้หลายระดับ เข้าถึงข้อมูล เป็ นต้น นอกจากนีKการวิเคราะห์ขอ้ มูลบางอย่างที2ซบั ซ้อน อาจไม่สามารถจัดเก็บได้ในฐานข้อมูล และในบางกรณี เราอาจมีความต้องการพิเศษในการใช้งานข้อมูล เช่นจะต้องมีความเร็ วสู งกว่าที2ระบบจัดการ 12 บทที$ 1 ฐานข้อมูลจะสามารถทําได้ เราก็ไม่จาํ เป็ นต้องใช้งานระบบจัดการฐานข้อมูล กล่าวโดยสรุ ปได้วา่ เราอาจจะไม่ จําเป็ นต้องใช้งานระบบจัดการฐานข้อมูลในกรณี ที2เราไม่ตอ้ งการความสามารถที2สูงเกินความจําเป็ น ซึ2 งอาจทํา ให้การใช้งานระบบจัดการฐานข้อมูลไม่คุม้ ค่ากับค่าใช้จ่าย รวมถึงในกรณี ที2เราไม่สามารถใช้งานระบบจัดการ ฐานข้อมูลได้ในกรณี ที2ขอ้ มูลไม่อยูใ่ นรู ปแบบที2ระบบจัดการฐานข้อมูลจัดการได้ รวมถึงความต้องการพิเศษที2 เราจะต้องพัฒนาระบบสําหรับจัดการกับข้อมูลเอง แต่ในทางตรงกันข้าม การจัดการข้อมูลที2ซับซ้อนและมี ขนาดใหญ่มกั จะหลีกเลี2ยงไม่ได้ที2จะต้องใช้งานระบบจัดการฐานข้อมูล 1.6 การจัดเก็บข้ อมูลในระบบจัดการฐานข้ อมูลและสถาปัตยกรรมฐานข้ อมูล ผูใ้ ช้ขอ้ มูลโดยทัว2 ไปจะมองข้อมูลในมุมมองของการใช้งานในชีวติ จริ ง ในขณะที2การจัดเก็บข้อมูลลง ในฐานข้อมูลเป็ นวิธีในการที2 จะทําอย่างไรเพื2อจัดเก็บข้อมูลในมุมมองนัKนๆ ลงในฐานข้อมูลให้ได้ เช่ น ใน มหาวิทยาลัยจะประกอบไปด้วยข้อมูลที2เกี2 ยวกับนักศึกษา อาจารย์ และรายวิชา ตลอดจนกิ จกรรมต่างๆ ที2 เกิดขึKนในมหาวิทยาลัยที2จะต้องจดบันทึกข้อมูลไว้ ในขณะที2การจัดเก็บข้อมูลลงในฐานข้อมูลจะอยูใ่ นรู ปของ การมองผูก้ ระทํากิ จ กรรมต่ างๆ เป็ นเอนทิ ตี การเก็ บ ข้อ มู ล ที2 อ ธิ บ ายเอนทิ ตี ต่ างๆ และจัด เก็ บ ข้อ มู ล ด้าน ความสัมพันธ์ต่างๆ ของเอนทิตีไว้ การที2จะจําลองมุมมองข้อมูลในโลกแห่ งความเป็ นจริ งมาเป็ นรู ปแบบของการจัดเก็บข้อมูลในเครื2 อง คอมพิวเตอร์ จาํ เป็ นต้องแทนข้อมูลและเชื2 อมโยงกันโดยอาศัยแบบจําลองข้อมูล (data model) ซึ2 งแบบจําลอง ข้อมูลนีK จะใช้เป็ นเครื2 องมือที2แทนรู ปแบบของการจัดเก็บข้อมูลในระดับสู ง และจะซ่ อนรายละเอียดอื2นๆ ที2 เกี2 ยวข้องกับ การจัดเก็บ ข้อมู ลในระดับ ล่ างที2 เกี2 ยวข้องกับ การเก็บ ข้อมู ลลงในอุ ป กรณ์ จดั เก็บ จริ งๆ ซึ2 งใน ปั จจุบนั แบบจําลองข้อมูลที2ใช้กนั แพร่ หลายที2สุดได้แก่แบบจําลองข้อมูลเชิงสัมพันธ์ (relational database) ซึ2 ง เป็ นแบบจําลองหลักที2ใช้ศึกษาในรายวิชา อย่างไรก็ต าม แม้แบบจําลองข้อ มู ล จะซ่ อ นรายละเอี ยดการจัด การกับ อุ ป กรณ์ จัด เก็บ ข้อ มู ล แต่ แบบจําลองข้อมูลมีความใกล้เคียงกับวิธีการจัดเก็บข้อมูลของระบบจัดการฐานข้อมูลมากกว่าการมองข้อมูลใน โลกแห่ งความเป็ นจริ ง เราจึ งต้องอาศัยเครื2 องมื ออื2 นได้แก่ แบบจําลองข้อมู ลเชิ งความหมาย (semantic data mode) ซึ2 งเป็ นธรรมชาติใกล้เคียงกับข้อมูลในมุมมองของการใช้งานในโลกแห่ งความเป็ นจริ งมากขึKน โดย แบบจําลองข้อมูลเชิงความหมายนีKจะใช้เป็ นเครื2 องมือเริ2 มต้นในการแทนกิจกรรมและผูเ้ กี2ยวข้องต่างๆ ให้อยูใ่ น รู ปแบบแผนภาพ หรื อรู ปแบบอื2นๆ ที2จะสามารถจดบันทึกและแลกเปลี2ยนทําความเข้าใจกันได้ แบบจําลอง ข้อมูลเชิงความหมายนีKสามารถแทนข้อกําหนดต่างๆ ของกิจกรรมในองค์การได้ แต่ระบบจัดการฐานข้อมูลไม่ สามารถรองรับข้อกําหนดนัKนๆ โดยตรง เพราะระบบจัดการฐานข้อมูลเชิ งสัมพันธ์ใช้แบบจําลองข้อมูลเชิ ง สัมพันธ์ซ2 ึ งต่างจากแบบจําลองในระดับสู งอย่างแบบจําลองข้อมูลเชิ งความหมาย อย่างไรก็ตาม แบบจําลอง ข้อมูลทัKงสองมีความสัมพันธ์กนั และเราสามารถออกแบบให้สอดคล้องกันได้เพื2อให้ระบบจัดการฐานข้อมูล เชิงสัมพันธ์สามารถรองรับการใช้งานข้อมูลในกิจการขององค์การได้อย่างถูกต้อง รู ปแบบของแบบจําลองข้อมูลเชิ งความหมายที2 ได้รับการใช้งานอย่างกว้างขวางมีชื2อว่าแบบจําลอง เอนทิตีและความสัมพันธ์ (entity-relationship model—ER model) แบบจําลองดังกล่าวทําให้เราสามารถแทน เอนทิตีและความสัมพันธ์ของเอนทิตีต่างๆ เป็ นแผนภาพ แบบจําลองเอนทิตีและความสัมพันธ์เป็ นเครื2 องมือที2 แนวคิดทั$วไปเกี$ยวกับฐานข้ อมูล 13 ใช้ในการออกแบบฐานข้อมูลขัKนต้นก่อนที2จะปรับแผนภาพเอนทิตีและความสัมพันธ์ไปเป็ นแบบจําลองเชิ ง สัมพันธ์ และจัดการในรู ปแบบของฐานข้อมูลเชิ งสัมพันธ์ในที2สุด การออกแบบฐานข้อมูลด้วยแบบจําลอง เอนทิตีและความสัมพันธ์นK นั จะกล่าวถึงในบทที2 3 1.6.1 แบบจําลองเชิงสั มพันธ์ (relational model) ในหัวข้อนีKจะแนะนําแบบจําลองเชิงสัมพันธ์โดยย่อ โครงสร้างที2เป็ นหลักของแบบจําลองเชิงสัมพันธ์ ได้แก่ ตารางความสั มพันธ์ /รีเลชัน (relation) ซึ2งรี เลชันนีKสามารถเปรี ยบได้กบั ชุดของระเบียน (records) ในแบบจําลองข้อมู ลนัKนจะมี การนิ ยามหรื ออธิ บายข้อมู ลต่ างๆ ไว้ ซึ2 งเราเรี ยกการนิ ยามข้อมู ลใน แบบจําลองข้อมูลนีK ว่าเค้าร่ าง/สคีมา (schema) ซึ2 งสคีมาในแบบจําลองเชิ งสัมพันธ์ประกอบไปด้วยชื2 อของ ความสัมพันธ์ ชื2 อของเขตข้อมูล หรื อลักษณะประจํา หรื อสดมภ์ (field or attribute or column ซึ2 งจะใช้คาํ ว่า ฟิ ลด์ แอททริ บิวต์ และคอลัมน์ตามลําดับแทนเนื2องจากสามารถเข้าใจได้ง่ายกว่า และสามารถใช้แทนกันได้ตาม ความเหมาะสม) ซึ2 งทัKงฟิ ลด์ แอททริ บิ ว ต์ และคอลัม น์ ต่ างก็ คื อ การนิ ยามข้อ มู ล ในรี เลชัน เช่ น เดี ยวกัน นอกจากนีKสคีมาในแบบจําลองเชิงสัมพันธ์ยงั ประกอบไปด้วยชนิดของข้อมูลแต่ละฟิ ลด์ ตัวอย่างต่อไปนีKแสดง รี เลชัน ของข้อมูลตัวอย่างของนักศึกษาในมหาวิทยาลัย (Ramakrishnan and Gehrke, 2003) ซึ2 งรี เลชันมีสคีมา ดังต่อไปนีK Student (sid: string, name: string, login: string, age: integer, gpa: real) Student แสดงถึ งความสัมพัน ธ์ของนักศึ กษา sid คื อฟิ ลด์รหัสนักศึ กษามี ชนิ ดเป็ นสตริ งหรื อสาย อักขระ name คือชื2อจริ งของนักศึกษา login คือชื2อที2ใช้ในการเข้าใช้งานระบบ age เป็ นอายุซ2 ึ งเป็ นข้อมูลชนิ ด จํานวนเต็ม และ gpa คือเกรดเฉลี2ยของนักศึกษามีชนิ ดของข้อมูลเป็ นจํานวนจริ ง ทัKงนีK ในทางปฏิบตั ิแล้วเราไม่ ควรออกแบบฐานข้อมูลโดยมีฟิลด์ที2สามารถเปลี2ยนแปลงข้อมูลไปตามกาลเวลาเช่นอายุ เนื2 องจากในปี ถัดไป อายุของนักศึกษาจะเพิ2มขึKนได้ เราจึงควรกําหนดฟิ ลด์ดงั กล่าวเป็ นวันเดือนปี เกิด แต่เพื2อความสะดวกต่อการ อธิบายและยกตัวอย่าง จึงใช้ฟิลด์ที2เป็ นอายุประกอบตัวอย่าง กรณี ตวั อย่าง (instance) ของข้อมูล 5 ตัวอย่างจากสคีมา Student สามารถแสดงได้ดงั นีK sid name login age gpa B5075666 สมชาย somchai@it 18 3.44 B5075688 สมศรี somsri@com 18 3.21 B5075650 สมศรี somsri@it 19 3.82 B5075831 สมศักดิm somsak@med 11 1.80 B5075832 สมนํKาหน้า somnamna@math 12 2.00 ข้อมูลที2ปรากฏในแต่ละแถวเป็ นระเบียนข้อมูลของนักศึกษาแต่ละคน ข้อมูลที2กาํ หนดยังไม่ครบถ้วน เช่ น ส่ วนสู งของนัก ศึ ก ษาหรื อ นํKาหนัก แต่ ว่าข้อ มู ล เท่ าที2 มี อ ยู่เพี ยงพอต่ อ การใช้งานในระบบฐานข้อ มู ล มหาวิทยาลัย ข้อมู ลทุ กแถวเป็ นไปตามรู ปแบบของสคี มา Student ดังนัKนเราสามารถมองได้ว่าสคี มาก็คือ แม่แบบข้อมูลนัน2 เอง 14 บทที$ 1 เราสามารถที2จะนิ ยามหรื อระบุขอ้ กําหนดต่างๆ ของข้อมูลนักศึกษาให้เฉพาะเจาะจงได้อีกโดยการ กํา หนดเงื$ อ นไขบั ง คั บ บู ร ณภาพ (integrity constraints) ซึ2 งใช้ใ นการกํา หนดเงื2 อ นไข ข้อ บัง คับ หรื อ กฎเกณฑ์ที2ขอ้ มูลในระเบียนนัKนต้องเป็ นไปตามกฎ เช่นต้องไม่มีรหัสนักศึกษาที2ซK าํ กัน การกําหนดเงื2อนไข ดังกล่าวควรที2จะสามารถระบุได้ในแบบจําลองข้อมูล 1.6.2 แบบจําลองข้ อมูลแบบอื$นๆ นอกจากแบบจําลองข้อมูลเชิงสัมพันธ์ซ2 ึ งใช้ในระบบจัดการฐานข้อมูล IBM DB2, Oracle, Microsoft Access, Microsoft SQL Server, MySQL ฯลฯ แล้ว ยังมีแบบจําลองข้อมูลอื2นๆ ที2ใช้ประโยชน์บา้ งในปั จจุบนั แต่ไม่แพร่ หลายเทียบเท่าแบบจําลองเชิ งสัมพันธ์ ซึ2 งสามารถใช้งานได้ดีในงานบางประเภทรวมถึงอาจเป็ น ระบบที2 มีขนาดใหญ่ โตและใช้มานานแล้ว แบบจําลองข้อมูลที2 สําคัญที2 ควรกล่าวถึ ง ได้แก่ แบบจําลองเชิ ง เครื อ ข่ า ย (network model) ซึ2 งใช้ ใ น IDS และ IDMS แบบจํา ลองเชิ ง ลํา ดับ ชัK น (hierarchical model) ซึ2 ง ประยุก ต์ใช้โดย IBM IMS แบบจําลองเชิ งวัต ถุ (object-oriented model) มี ใช้ใน Objectstore Versant ฯลฯ แบบจําลองเชิ งวัตถุ-สัมพันธ์รองรับโดย IBM DB2, Oracle, Microsoft SQL Server ฯลฯ ต่อไปนีK จะเป็ นการ แนะนําฐานข้อมูลเชิงเครื อข่ายและเชิงลําดับชัKนเบืKองต้น แบบจําลองฐานข้ อมูลเชิงเครื อข่ าย D423 สาขาวิชาวิศวกรรมคอมพิวเตอร์ สํานักวิชาวิศวกรรมศาสตร์ B5005688 สมศรี somsri@com 18 3.21 D423 D609 สาขาวิชาแพทยศาสตร์ สํานักวิชาแพทย์ศาสตร์ B5001092 สมควร somkuan@com 18 3.98 D423 D204 สาขาวิชาเทคโนโลยีสารสนเทศ สํานักวิชาเทคโนโลยีสังคม B5075831 สมศักดิ< somsak@med 11 1.80 D609 D102 สาขาวิชาเคมี สํานักวิชาวิทยาศาสตร์ B5075699 สมหญิง somying@it 18 4.00 D204 D205 สาขาวิชาเทคโนโลยีการจัดการ สํานักวิชาเทคโนโลยีสังคม B5075666 สมชาย somchai@it 18 3.44 D204 B5075650 สมศรี somsri@it 19 3.82 D204 ภาพที$ 1-3 ตัวอย่างข้อมูลแบบจําลองเชิงเครื อข่าย แบบจําลองข้อมูลเชิ งเครื อข่ายนัKนมีขอ้ มูลจัดเก็บเป็ นระเบียนดังตัวอย่าง ซึ2 งข้อมูลจะมีการเชื2 อมโยง กับข้อมูลที2เกี2ยวข้องในลักษณะเซตของความสัมพันธ์ เราอาจกําหนดเซตของความสัมพันธ์ในคอลัมน์ใหม่เช่น คอลัมน์ที2กาํ หนดสาขาวิชาที2นกั ศึกษาแต่ละคนสังกัด ตัวอย่างข้อมูลนัKนเป็ นตัวอย่างจํานวนน้อย ถ้าข้อมูลมี จํานวนมาก รู ปแบบของการเชื2 อมโยงข้อมูลจะอยู่ในรู ปของเครื อข่าย หรื อที2 เรี ยกว่าโครงสร้างข้อมูลกราฟ ข้อมูลแต่ละระเบียนเป็ นโหนด (nodes) ของกราฟ (graph) และการเชื2อมโยงระหว่างระเบียนคือขอบ (edges) แนวคิดทั$วไปเกี$ยวกับฐานข้ อมูล 15 แบบจําลองฐานข้ อมูลเชิงลําดับชัIน D102 … สํานักวิชาวิทยาศาสตร์ D205 … สํานักวิชาเทคโนโลยีสังคม D423 … สํานักวิชาวิศวกรรมศาสตร์ D204 … สํานักวิชาเทคโนโลยีสังคม D609 … สํานักวิชาแพทย์ศาสตร์ B5005688 สมศรี somsri@com 18 3.21 D423 B5001092 สมควร somkuan@com 18 3.98 D423 B5075699 สมหญิง somying@it 18 4.00 D204 B5075666 สมชาย somchai@it 18 3.44 D204 B5075650 สมศรี somsri@it 19 3.82 D204 B5075831 สมศักดิ< somsak@med 11 1.80 D609 ภาพที$ 1-4 ตัวอย่างข้อมูลแบบจําลองเชิงลําดับชัKน แบบจําลองฐานข้อมูลเชิ งลําดับชัKนสามารถมองได้ว่าเป็ นแบบจําลองเชิ งเครื อข่ายที2มีรูปแบบเฉพาะ โดยมีรูปแบบของการเชื2อมต่อเครื อข่ายเป็ นลําดับชัKน หรื อเป็ นโครงสร้างข้อมูลแบบต้นไม้ (tree) จากตัวอย่าง ข้อมูลจะพบว่าแบบจําลองเชิงลําดับชัKนจะอนุญาตให้มีโหนดที2เป็ นต้นกําเนิดเพียงโหนดเดียว แบบจําลองฐานข้อมูลทัKง 2 แบบได้ถูกพัฒนาและใช้มากว่า 10 ปี ก่ อนที2 จะมี การเสนอแบบจําลอง ข้อมูลเชิ งสัมพันธ์ขK ึน ฐานข้อมูลที2ใช้แบบจําลองข้อมูลทัKง 2 ได้ยกตัวอย่างไว้แล้วในหัวข้อ 1.3 แบบจําลอง ฐานข้อมูลทัKง 2 สามารถรองรับการทํางานของข้อมูลได้ดีระดับหนึ2งเนื2องจากทํางานโดยใช้ระเบียนและรองรับ ความสัมพันธ์ระหว่างระเบียนแต่ขอ้ ด้อยสําคัญของแบบจําลองทัKง 2 คือการขาดความสามารถในการจัดการ ข้อมูลให้มีความถูกต้องโดยขาดการรองรับเงื2อนไขบังคับบูรณภาพของข้อมูล (integrity constraint) สําหรับ แบบจําลองเชิ งวัตถุนK ันรองรั บข้อกําหนดทางธุ รกิ จต่างๆ แต่การแทนข้อมู ลเพื2อจัดเก็บลงในระบบจัดการ ฐานข้อมูลนัKนไม่มีรูปแบบที2ชดั เจนและจะต้องอ้างอิงการจัดการข้อมูลเชิงระเบียนหรื อเชิงสัมพันธ์ 16 บทที$ 1 1.6.3 ระดับของฐานข้ อมูล ระดับชัKนของโครงสร้างในฐานข้อมูลสามารถแบ่งออกได้ 3 ระดับดังภาพที2 1-5 ระดับของฐานข้อมูล แต่ละระดับนัKนเป็ นระดับของการแทนการใช้งานข้อมูลจริ งด้วยรู ปแบบต่างๆ ที2เหมาะสมจนสามารถจัดการ ฐานข้อมู ลได้อย่างมี ประสิ ทธิ ภาพ แต่ ละระดับบรรจุ รายละเอี ยดของข้อมู ลและสคี มาประจําแต่ ละระดับ ฐานข้อ มู ล ทัKง 3 ระดับ ได้แ ก่ ระดับ แนวคิ ด (conceptual level) ระดับ กายภาพ (physical level) และระดับ ภายนอก (external level) ภาษาที2ใช้ในการนิ ยามข้อมูล (data definition language—DDL) ใช้สําหรับนิ ยามและสร้างสคีมาใน ระดับภายนอกและระดับแนวคิ ด SQL เป็ นภาษาที2 ใช้งานมากที2 สุดในการนิ ยามและจัดการข้อมูลซึ2 งจะได้ อธิ บายถึงในบทที2 7 และ 8 ระบบจัดการฐานข้อมูลเกือบทัKงหมดรองรับคําสั2ง SQL นอกจากนีK ยงั ใช้ SQL ใน การจัดการข้อมูลในระดับกายภาพด้วย ต่อไปนีKเป็ นการอธิบายถึงระดับของฐานข้อมูล 3 ระดับ User Level สคีมาภายนอก 1 สคีมาภายนอก 1 สคีมาภายนอก 1 สคีมาระดับแนวคิด สคีมาระดับกายภาพ Disk Level ภาพที$ 1-5 สถาปัตยกรรม 3 ระดับของฐานข้อมูล 1) สคีมาระดับแนวคิด (Conceptual Schema) สคีมาระดับแนวคิด ซึ2 งในบางครัKงเรี ยกว่าสคีมาระดับตรรกะ (logical schema) เป็ นระดับของการ อธิ บายข้อมูลที2จะจัดเก็บให้มีรูปแบบสัมพันธ์กบั แบบจําลองข้อมูลของระบบจัดการฐานข้อมูลโดยตรง ใน ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ สคีมาระดับแนวคิดอธิ บายถึงความสัมพันธ์ทK งั หมดที2จดั เก็บในฐานข้อมูล ตัวอย่างฐานข้อมูลของมหาวิทยาลัยต่อไปนีK บรรจุขอ้ มูลเกี2ยวกับเอนทิตี เช่น นักศึกษา (student) และอาจารย์ (faculty) และยังจัดเก็บความสัมพันธ์ (relationships) ของเอนทิ ตีต่างๆ เช่ นนักศึ กษาลงทะเบี ยนในรายวิชา (Course) เอนทิตีนกั ศึกษาทุกคนสามารถอธิ บายข้อมูลได้จากระเบียนทัKงหมดในรี เลชัน เราสามารถแทนชุด ข้อมูลของเอนทิตีและชุดข้อมูลของความสัมพันธ์ใดๆ ได้ดว้ ยรี เลชัน ซึ2 งเราสามารถกําหนดสคีมาระดับแนวคิด ของมหาวิทยาลัย (Ramakrishnan and Gehrke, 2003) ได้ดงั นีK แนวคิดทั$วไปเกี$ยวกับฐานข้ อมูล 17 Student (sid: string, name: string, login: string, age: integer, gpa: real) Faculty (fid: string, fname: string, sal: real) Course (cid: string, cname: string, credits: integer) Room (rno: integer, address: string, capacity: integer) Enrolled (sid: string, cid: string, grade: string) Teaches (fid: string, cid: string) Meets_In (cid: string, rno: integer, time: string) การเลือกที2จะเก็บข้อมูลใดๆ และกําหนดขึKนเป็ นรี เลชัน ตลอดจนจะต้องจัดเก็บข้อมูลฟิ ลด์ใดบ้างใน แต่ ละรี เลชันนัKนไม่ ชัดแจ้งและตายตัว เราสามารถสร้ างสคี มาเชิ งแนวคิ ดที2 สมบู รณ์ ดงั ที2 ได้อธิ บายในการ ออกแบบฐานข้อมูลในระดับแนวคิดในบทที2 2 และ 4 2) สคีมาระดับกายภาพ สคี มาระดับกายภาพจะมี การระบุ รายละเอี ยดเพิ2 มเติ มเกี2 ยวกับการจัดเก็บข้อมู ลในอุ ปกรณ์ จดั เก็บ กล่าวคือสคีมาระดับกายภาพเป็ นสคีมาที2 มีรองรับสคีมาในระดับแนวคิด และเพิ2มรายละเอียดในการจะจัด ข้อมูลนัKนๆ รวมถึงการจัดการพิเศษใดๆ ในการจัดเก็บข้อมูลลงจานบันทึกหรื อเทปแม่เหล็ก ตัวอย่างหนึ2 งขององค์ประกอบของสคีมาระดับกายภาพได้แก่ เราจะต้องเลือกการสร้างดัชนี หรื ออิน เด็กซ์ (index) ซึ2 งเป็ นไฟล์หรื อกลไกเสริ มในการที2 จะเข้าถึ งข้อมู ลได้รวดเร็ วขึK นนอกจากที2 เราจะต้องเลื อก ลักษณะการจัดเรี ยงของไฟล์บนจานบันทึกซึ2 งเป็ นสคีมาระดับกายภาพ สําหรับตัวอย่างสคีมาของฐานข้อมูล ของมหาวิทยาลัยได้แก่ จัดเก็บข้อมูลเป็ นไฟล์ของระเบียนซึ2 งไม่จาํ เป็ นต้องเรี ยงลําดับข้อมูล นอกจากนีK อาจเป็ นไฟล์หลายๆ ไฟล์จดั เก็บข้อมูลเป็ นชุดๆ สร้ างไฟล์ index เป็ นไฟล์เสริ ม ซึ2 งไฟล์ index นีK ใช้สําหรั บเพิ2มความเร็ วในการเข้าถึ งข้อมู ล ไฟล์ index จัดเก็บข้อมูลที2เรี ยงลําดับตามคอลัมน์ใดๆ พร้อมทัKงตําแหน่ งของระเบียนที2สัมพันธ์กบั ข้อมูล คอลัมน์ที2ทาํ index เช่ น index ของคอลัมน์แรกในรี เลชันนักศึ กษา อาจารย์ และห้องเรี ยน index ของคอลัมน์เงินเดือนของอาจารย์ index ของความจุของห้องเรี ยน index เป็ นไฟล์ที2เรี ยงลําดับข้อมูลซึ2 งทําให้เราเข้าถึงข้อมูลได้รวดเร็ วขึKนมาก ทําให้เข้าถึงที2 อยู่ของ ข้อมูลจริ งได้รวดเร็ ว จําเป็ นสําหรับข้อมูลจํานวนมหาศาลในอุปกรณ์หน่ วยความจําสํารอง ซึ2 งหลักการของ index จะได้กล่าวถึ งในการสร้ าง index ด้วย SQL ในบทที2 7 การได้มาซึ2 งสคีมาทางกายภาพที2 ดีควรทําตาม ระเบียบวิธีในการออกแบบสคีมาระดับกายภาพ ซึ2งได้อธิบายไว้ในบทที2 2 18 บทที$ 1 3) สคีมาระดับภายนอก สคีมาระดับภายนอกหมายเป็ นการระบุ