บทที่ 1
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
งานในองค์การไม่ว่าจะเป็นองค์การขนาดเล็ก ขนาดกลาง หรือขนาดใหญ่ ต่างก็ต้องมีข้อมูลของการทำงาน หรือข้อมูลทางธุรกิจในลักษณะต่าง ๆ ซึ่งข้อมูลเหล่านั้นอาจมีทั้งข้อมูลพนักงาน ข้อมูลลูกค้า ข้อมูลที่เป็นความลับทางธุรกิจ เป็นต้น นอกจากนั้นข้อมูลขององค์การดังกล่าวยังอาจมีความสำคัญมากน้อยต่างกัน มีผู้ใช้ข้อมูลเฉพาะกลุ่ม หรือทุกกลุ่มได้ตามความจำเป็นและตามลำดับชั้นความลับ สิ่งสำคัญคือ ข้อมูลขององค์การหนึ่งย่อมมีความเกี่ยวข้องกันและควรที่จะนำมารวมไว้ใน “ฐานข้อมูล” (Database)
ความหมาย
มีคำอธิบายความหมายของ “ฐานข้อมูล” อยู่มากมายหลายคามหมาย ตัวอย่างเช่น
ฐานข้อมูลอาจถือได้ว่าเป็นตู้เก็บเอกสารอิเล็กทรอนิคส์ชนิดหนึ่ง เช่น เป็นที่รวมหรือเป็นที่บรรจุแฟ้มข้อมูลคอมพิวเตอร์ชุดหนึ่ง เป็นต้น (A database can be regarded as a kind of electronic filing cabinet.)
ฐานข้อมูลเป็นชุดของข้อมูลที่คงทน (Persistent Data) ซึ่งถูกเรียกใช้โดยระบบโปรแกรมของกิจการใดกิจการหนึ่ง (A database is a collection of persistent data that is used by the application systems of some given enterprise.) ข้อมูลจะคงทนอยู่ในฐานข้อมูลเพราะเมื่อระบบจัดการฐานข้อมูลรับข้อมูลนั้นเข้าสู่ฐานข้อมูลแล้ว ใครจะขจัดหรือเอาข้อมูลออกไปจากฐานข้อมูลได้ต้องมีการร้องขอต่อระบบจัดการฐานข้อมูลเท่านั้น ตัวอย่างข้อมูลที่คงทนในฐานข้อมูล เช่น
กิจการ ข้อมูลคงทน
บริษัทผู้ผลิตสินค้า ข้อมูลผลิตภัณฑ์
ธนาคาร ข้อมูลบัญชี
โรงพยาบาล ข้อมูลผู้ป่วย
มหาวิทยาลับ ข้อมูลนักศึกษา
หน่วยราชการ ข้อมูลการวางแผน

เอ็นทิตี้
คำว่า “เอ็นทิตี้” (Entity) หมายถึง วัตถุใด ๆ ที่เราสามารถระบุ หรือแยกแยะออกจากกันได้ ซึ่งแทนอยู่ในฐานข้อมูล (An entity is any distinguishable object that is to be represented in the database.)
สัมพันธภาพ
คำว่า “สัมพันธภาพ” (Relationship) บางที่เรียกว่า “ความสัมพันธ์” หมายถึง การเชื่อมโยงหรือความเกี่ยวข้องระหว่างเอ็นทิตี้ต่าง ๆ ซึ่งความสัมพันธภาพเป็นตัวเชื่อมโยงเอ็นทิตี้เหล่านั้นเข้าไว้ด้วยกัน (Relationship links those basic entities together.)
รูปแบบของฐานข้อมูล
รูปแบบของฐานข้อมูล ในที่นี้หมายถึง ตัวแบบข้อมูล (Data Model) ของฐานข้อมูลชนิดต่าง ๆ ซึ่งมีผู้รู้คิดค้นขึ้นมา
ก่อนอื่นเราควรต้องทราบความหมายของคำว่า “ข้อมูล” ก่อน
ข้อมูล คือ ข้อเท็จจริงที่ให้มา ซึ่งสามารถอนุมานข้อเท็จจริงเพิ่มเติมขึ้นมาได้ (“Data” refers to given facts from which additional facts can be inferred.)
ข้อเท็จจริงที่ให้มา คือ ประพจน์ที่เป็นจริงเชิงตรรกศาสตร์ (“Given fact” is a logically true proposition.) ดังนั้น ความหมายฐานข้อมูลในมุมมองนี้ ก็คือ ชุดของประพจน์ที่เป็นจริงดังกล่าว (A database is a collection of such true propositions.)
ตัวแบบข้อมูล เป็นคำจำกัดความเชิงตรรกะ เป็นนามธรรม บริบูรณ์ในตัวเอง ของวัตถุ ตัวกระทำทางคณิตศาสตร์ และ ฯลฯ ซึ่งรวมกันแล้วประกอบเข้าเป็นเครื่องจักรนามธรรมที่ผู้ใช้โต้ตอบได้ วัตถุดังกล่าวทำให้เราสามารถจำลองโครงสร้างข้อมูลได้ ส่วนตัวกระทำทางคณิตศาสตร์ทำให้เราสามารถจำลองพฤติกรรมของมันได้ (Data Model is an abstrach, self –contained, logical definition of the objects, operators, and so forth, that together constitute the abstract machine with which users interact. The objects allow us to model the structure of data. The operators allow us to model its behaviour.)
ตัวแบบข้อมูล เป็นเหมือนภาษาในการเขียนโปรแกรม แม้ว่าค่อนข้างจะเป็นนามธรรม แต่โครงสร้างของมันสามารถใช้แก้ปัญหาได้ (Data Model is like a programming language-albeit one that is somewhat abstract – whose constructs con be used to solve problems.)
ตัวแบบข้อมูลมี 3 ประเภทที่สำคัญ คือ
1. ตัวแบบเชิงสัมพันธ์ (จะกล่าวถึงละเอียดในบทต่อไป) ผู้ใช้ทั่วไปจะมองเห็นตัวแบบเชิงสัมพันธ์ว่า คือ การเก็บข้อมูลเป็นตาราง (Table) หรือถ้าเรียกอย่างเป็นทางการตามทฤษฎีทางคณิตศาสตร์ก็คือ รีเลชั่น (Relation) นั่นเอง ลักษณะของตารางจะมี 2 มิติ คือ แถว (Row) และคอลัมน์ (Column)โดยเอ็นทิตี้ (Entity) ต่าง ๆ จะมีข้อมูลถูกนำมาจัดเก็บในลักษณะเป็นตาราง กล่าวคือ จะไม่มีแฟ้มข้อมูลแม่หรือแฟ้มข้อมูลลูก แฟ้มข้อมูลแต่ละส่วนเป็นอิสระต่อกัน ตัวอย่างผลิตภัณฑ์ระบบบริหารฐานข้อมูลเชิงสัมพันธ์เรียงตามลำดับอักษร ได้แก่
DB2 (มีหลายรุ่น) ของบริษัท IBM Corp.
Ingres II ของบริษัท Computer Associates International Inc.
Informix Dynamic Server ของบริษัท Informix Software Inc.
Microsoft SQL Server ของบริษัท Microsoft Corp.
Oracle 8i ของบริษัท Oracle Corp.และ
Sybase Adaptive Server ของบริษัท Sybase Inc.
2. ตัวแบบเครือข่าย บางที่เรียกว่า CODASYL Systems หรือ DBTG Systems ตามชื่อคณะทำงานที่เสนอแนะ กล่าวคือ กลุ่มงานฐานข้อมูลแห่งการประชุมว่าด้วยเรื่องภาษาระบบฐานข้อมูล(the Data Base Task Group of the conference on Data Systems Languages) ตัวอย่างเช่น ระบบ IDMS ของบริษัท Computer Associates International Inc. ตัวแบบเครือข่ายนี้ไม่ได้เกี่ยวข้องกับเรื่องการสื่อสารข้อมูล (Data Communication) แต่อย่างใด โดยตัวแบบนี้ในแง่การมองของผู้ใช้จะเป็นไปในรูปของการรวบรวม ระเบียนต่าง ๆ และความสัมพันธ์ระหว่างระเบียน ความแตกต่างที่เห็นได้ชัดเจนระหว่างตัวแบบเชิงสัมพันธ์และแบบเครือข่าย คือ ในตัวแบบเชิงสัมพันธ์จะแฝง (Implicit) การแสดงความสัมพันธ์เอาไว้ (หมายความว่า ระเบียนที่มีความสัมพันธ์กันจะต้องมีค่าของข้อมูลในเขตข้อมูลใด เขตข้อมูลหนึ่งเหมือนกัน) ส่วนการแสดงความสัมพันธ์ในตัวแบบเครือข่ายจะเป็นไปอย่างโจ่งแจ้ง (Explicit) คือ แสดงได้ในโครงสร้างอย่างชัดเจน ตัวอย่างเช่น

ในรูปจะเห็นว่า กรอบสี่เหลี่ยมแสดงถึงชนิดของระเบียนในฐานข้อมูลซึ่งจะมี 1 อันต่อ 1 Entity เครื่องหมายลูกศรแสดงถึงความสัมพันธ์ ซึ่งในรูปนี้แสดงความสัมพันธ์แบบหนึ่งต่อกลุ่ม โดยที่หัวลูกศรจะออกจากส่วนของ “หนึ่ง” ไปยังส่วนของ “กลุ่ม”
วิธีการค้นหาข้อมูลที่ต้องการ จะใช้หัวลูกศรเป็นแนวทาง ซึ่งอาจวิ่งทวนทิศทางกับหัวลูกศรก็ได้ เช่น ถ้าต้องการแสดงรายชื่อของอาจารย์ที่ทำงานอยู่แผนกวิชาที่ 4 ก็เริ่มด้วยการออกคำสั่งแก่ระบบจัดการฐานข้อมูลไห้ค้นหาแผนกที่ 4 ก่อน จากระเบียนของแผนกวิชา จากนั้นให้วิ่งตามลูกศรซึ่งจะเชื่อม (Link) ข้อมูลของแผนกที่ 4 นี้เข้ากับข้อมูลในส่วนของอาจารย์ ซึ่งได้แก่บรรดาระเบียนของอาจารย์ที่ทำงานอยู่แผนกที่ 4 สังเกตว่า ในการค้นหานี้เราจะค้นโดยใช้ลูกศร หรือทางเชื่อมในการโยงความสัมพันธ์ ดังนั้นเราจึงไม่จำเป็นต้องเก็บเขตข้อมูลรหัสแผนกไว้ในระเบียนของอาจารย์อย่างในตัวแบบเชิงสัมพันธ์
1.ตัวแบบแตกสาขา หรือตัวแบบลำดับ ตัวแบบนี้พัฒนาขึ้นโดยไอบีเอ็ม เมื่อปี พ.ศ. 2511 ตัวอย่างเช่น ระบบ IMS ของ IBM มีความสัมพันธ์ระหว่างแฟ้มข้อมูลเป็นระดับชั้นหรือตามอาวุโส แฟ้มข้อมูลจะมีตำแหน่งจากบนลงล่าง โดยแฟ้มที่อยู่ในระดับที่สูงกว่าจะเป็นแม่ของแฟ้มที่อยู่ในระดับต่ำกว่า ข้อสังเกต คือ แฟ้มหนึ่งจะมีแฟ้มข้อมูลลูก (Child File) ได้หลายแฟ้ม ขณะที่แฟ้มลูกจะมีแฟ้มแม่เพียงแฟ้มเดียว เมื่อมองในลักษณะนี้จะเห็นว่าตัวแบบนี้มีโครงสร้างเหมือนต้นไม้ (Tee) ซึ่งอันที่จริงตัวแบบนี้คล้ายแบบเครือข่าย แต่ต่างกันตรงที่ ตัวแบบแตกสาขามีกฎเกณฑ์เพิ่มขึ้นมาอีก 1 ข้อ คือ ในแต่ละกรอบจะมีหัวลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัว จากตัวอย่างในภาพของตัวแบบเครือข่าย จะเห็นว่ากรอบอาจารย์มีลูกศรเข้ามา 2 ทาง ดังนั้น เราจะสร้างฐานข้อมูลเดียวกันนี้ด้วยตัวแบบแตกสาขาไม่ได้ แต่ต้องเปลี่ยนแปลงให้เหมาะสม เช่น
นอกจากนั้น ยังมีลักษณะอีกประการหนึ่งที่สองตัวแบบหลังนี้แตกต่างจากตัวแบบเชิงสัมพันธ์ ก็คือ ในตัวแบบลำกับชั้น และตัวแบบเครือข่ายนั้น จะมีการใช้ตัวชี้ (Pointers) เพื่อแทนเส้นทางขึ้นลงไปตามแผนภาพต้นไม้สำหรับตัวแบบลำดับชั้น และแทนเส้นทางเชื่อมต่อในแผนภาพเครือข่ายของตัวแบบเครือข่าย แต่ในตัวแบบเชิงสัมพันธ์จะไม่มีการเกี่ยวข้องกับตัวชี้ดังกล่าวเลย (C.J. Date, 2000, p. 26)
นอกจากตัวแบบทั้ง 3 ดังกล่าวแล้ว เมื่อไม่นานมานี้เริ่มมีผลิตภัณฑ์ระบบบริหารฐานข้อมูลแบบใหม่ปรากฏขึ้นมาบ้าง คือ
ในตำราเล่มนี้จะไม่กล่าวถึงระบบฐานข้อมูลเชิงวัตถุ (Object-oriented Database Systems) ม
ไปกว่านี้ แม้ว่าจะจัดเป็นตัวแบบหนึ่งของระบบฐานข้อมูล เนื่องจากเป็นเรื่องที่ยังใหม่และอยู่นอกเหนือขอบเขต
ระบบฐานข้อมูล
ระบบฐานข้อมูล (Database System) เป็นคำประสมระหว่างคำว่า “ระบบ” (System) กับคำว่า “ฐานข้อมูล” (Database) มีความหมายและองค์ประกอบดังต่อไปนี้
ความหมาย
ระบบฐานข้อมูล โดยพื้นฐานเป็นระบบจัดเก็บระเบียนด้วยคอมพิวเตอร์ (A database system is basically a computerized record-keeping system.)สามารถทำงานกับข้อมูลในฐานข้อมูลในลักษณะต่าง ๆ ได้ เช่น
ระบบฐานข้อมูล มีวัตถุประสงค์หลักในการจัดเก็บข้อสนเทศและให้ผู้ใช้สืบค้น ตลอดจนปรับปรุงข้อสนเทศนั้นให้เป็นปัจจุบัน
องค์ประกอบ
ระบบฐานข้อมูลมีองค์ประกอบหลัก 4 องค์ประกอบ ได้แก่
1. ข้อมูล
ข้อมูลจะต้องเป็นข้อมูลรวมและแบ่งปันกันได้ (Both Integrated and Shared) ข้อมูลรวม (Integrated) ในฐานข้อมูล หมายถึง อาจมีข้อมูลซ้ำซ้อนกันระหว่างแฟ้มต่าง ๆ น้อยที่สุ หรือเท่าที่จำเป็น เช่น แฟ้มข้อมูลชื่อ EMPLOYEE กับ ENROLLMENT
NAME |
ADDRESS |
DEPARTMENT |
SALARY |
… |
EMPLOYEE
NAME |
COURSE |
… |
ENROLLMENT
แฟ้ม ENROLLMENT ไม่ควรมีเขตข้อมูล (Field) ชื่อ Department หรือ Salary ซ้ำอีก เพราะเราสามารถค้นหาได้จากแฟ้ม ENROLLMENT ได้อยู่แล้ว
ส่วนคำว่า แบ่งปัน (Shared) หมายถึง ข้อมูลในแต่ละชิ้นในฐานข้อมูลอาจถูกแบ่งปันระหว่างผู้ใช้หลายคน ซึ่งแต่ละคนสามารถเข้าถึงข้อมูลชิ้นเดียวกันได้ ด้วยวัตถุประสงค์ต่างกันไป ผู้ใช้หลายคนสามารถเข้าถึงข้อมูลได้พร้อมกัน (Concurrent Access)
2. ฮาร์ดแวร์
ฮาร์ดแวร์ของระบบฐานข้อมูลประกอบไปด้วย 2 ส่วน คือ
3. ซอฟต์แวร์
ซอฟต์แวร์ เป็นส่วนเชื่อมระหว่างผู้ใช้กับฮาร์ดแวร์
ซอฟต์แวร์ในที่นี้คือ ระบบจัดการฐานข้อมูล หรือระบบบริหารฐานข้อมูล (Database Management System : DBMS) ซึ่งมีหน้าที่ช่วยซ่อนกับผู้ใช้ฐานข้อมูลจากรายละเอียดระดับฮาร์ดแวร์ ระบบจัดการฐานข้อมูลจะทำให้ผู้ใช้รู้จักฐานข้อมูลในระดับที่อยู่เหนือระดับฮาร์ดแวร์และช่วยสนับสนุนการปฏิบัติงานของผู้ใช้ เช่น การปฏิบัติงานด้วยภาษานอบถามเชิงโครงสร้าง (Structured Query Language : SQL)
4. ผู้ใช้
ผู้ใช้ (Users) มี 3 กลุ่ม ได้แก่
เป็นบุคลากรทางเทคนิค เป็นมืออาชีพด้านไอที โดยมีงานในหน้าที่ ดังนี้
นอกจากนี้ยังมีบุคคลระดับบริหารซึ่งไม่ใช่ผู้ใช้ แต่มีความสำคัญและเกี่ยวข้องกับฐานข้อมูล คือ ผู้บริหารข้อมูล (Data Administrator : DA)เป็นบุคคลทีรู้ความเป็นไปของการใช้ข้อมูลดี ควรเป็นคนในระดับผู้บริหารอาวุโส (Senior Management)รู้ว่าควรเก็บข้อมูลอะไร ไว้อย่างไร งานของผู้บริหารข้อมูลได้แก่
ระบบบริหารฐานข้อมูล (Database Management System) บางที่เรียกว่า ระบบจัดการฐานข้อมูล แท้ที่จริงคือ ซอฟต์แวร์ที่จัดการการเข้าถึงทุกอย่างที่กระทำกับฐานข้อมูล (The DBMS is the software that handles all access to the database.) ซึ่งได้แก่ขั้นตอนการกระทำต่อไปนี้
1.4 หน้าที่ของระบบฐานข้อมูล
ระบบบริหารฐานข้อมูล จะต้องสนับสนุนการกระทำต่อไปนี้ได้อย่างน้อย

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


ภาพตัวอย่างของการประมวลผลในระบบจัดการแฟ้มข้อมูล