หน่วยที่ 2 การสร้างฐานข้อมูลด้วย Access สาระสำคัญ การพัฒนาระบบงานฐานข้อมูล (Database) จำเป็นต้องทราบขั้นตอนในการออกแบบที่ถูกต้อง ซึ่งจะช่วย ลดความยุ่งยากหรือปัญหาที่จะเกิดขึ้นในภายหลังได้ โปรแกรมฐานข้อมูลขนาดเล็กที่นิยมใช้กันทั่วไป ได้แก่ โปรแกรม Microsoft Access ซึ่งมีองค์ประกอบที่สามารถนำมาสร้างและพัฒนางานฐานข้อมูลขนาดเล็กได้ทันที สาระการเรียนรู้ 1. ปัญหาการสร้างฐานข้อมูลโดยไม่ออกแบบ 2. การออกแบบฐานข้อมูลด้วย ERD 3. ขั้นตอนการพัฒนางานฐานข้อมูล 4. ซอฟต์แวร์ระบบจัดการฐานข้อมูล 5. การสร้างฐานข้อมูลโดยใช้ Access จุดประสงค์เชิงพฤติกรรม 1. แสดงตัวอย่างปัญหาของฐานข้อมูลที่ไม่ได้ออกแบบได้ 2. ออกแบบฐานข้อมูลด้วย ERD ได้ 3. บอกชื่อซอฟต์แวร์ระบบจัดการฐานข้อมูลได้อย่างน้อย 3 ชื่อ 4. บอกขั้นตอนการพัฒนางานฐานข้อมูลได้ 5. บอกชื่อและหน้าที่ขององค์ประกอบในโปรแกรม Access ได้ 6. สร้างบานข้อมูลด้วยโปรแกรม Microsoft Access ได้ สมรรถนะอาชีพ การสร้างฐานข้อมูลด้วย Microsoft Access
1.ปัญหาการสร้างฐานข้อมูลโดยไม่ออกแบบ การออกแบบฐานข้อมูลนับว่าเป็นเรื่องที่สำคัญมาก เนื่องจากถ้าออกแบบผิดพลาดอาจทำให้เกิด ความ ยุ่งยากในภายหลัง ลองพิจารณาการออกแบบตารางเก้บข้อมูลนักศึกษาต่อไปนี้ จากตัวอย่างถ้านำไปเก็บข้อมูลจะเกิดปัญหาหลายประการ เช่น 1. การค้นข้อมูลนักศึกษาจะต้องป้อนคำนำหน้าชื่อด้วยเสมอ 2. ถ้าต้องการค้นข้อมูลนักศึกษาหญิงจะป้อนคำนำหน้าอย่างไร (นางสาว น.ส. หรือ นส.) 3. จะต้องปรับข้อมูลอายุอยู่เสมอ เนื่องจากอายุจะเพิ่มขึ้นตามวันเวลา 4. ไม่สามารถแยกสรุปข้อมูลนักศึกษาตามรายอำเภอได้ เพราะข้อมูลรวมอยู่ในข้อมูลที่อยู่
หากต้องการแก้ปัญหาดังกล่าวจะต้องปรับการออกแบบข้อมูลในลักษณะดังนี้ จะเห็นว่าถ้าออกแบบผิดพลาดและบันทึกข้อมูลไปแล้ว เมื่อทำการปรับแก้โครงสร้างข้อมูล ใหม่ จะต้องใช้ ปรับแก้ข้อมูลที่เคยบันทึกไปเป็นจำนวนมาก ทำให้ต้องเสียเวลาและค่าใช้จ่ายในการแก้ไขข้อมูล ทั้งยังเสี่ยงต่อ ข้อมูลผิดพลาดได้ ดังนั้นการออกแบบฐานข้อมูลให้มีความถูกต้องตั้งแต่แรกจึงมีความจำเป็น เพื่อจะได้ไม่ต้อง เสียเวลาแก้ไขข้อมูลในภายหลัง 2. การออกแบบฐานข้อมูลด้วย ERD การออกแบบฐานข้อมูลในรูปแบบฐานข้อมูลเชิงสัมพันธ์ (Rrlational Diagram ) ส่วนใหญ่จะใช้ E-R Diagram หรือ ERD ซึ่งย่อมาจากคำว่า Entity Relationship Diagram คือ การเขียนแผนภาพความสัมพันธ์ของข้อมูลที่ ต้องการจัดเก็บภายในฐานข้อมูล โดยจะมีองค์ประกอบ 3 ส่วน คือ 1) เอนทิตี (Entity) หมายถึง สิ่งที่ต้องการเก็บข้อมูล อาจเป็น คน สัตว์ วัตถุ หรือ สถานที่ 2) แอททริบิวต์ (Attribute) หมายถึง คุณสมบัติหรือหัวข้อของข้อมูลของสิ่งที่จัดเก็บ 3) ความสัมพันธ์ (Relationship) คือ ความสัมพันธ์ ระหว่างเอนทิตี
สัญลักษณ์ของ E-R Diagram ที่ใช้กันทั่วไปจะมี 2 แบบคือ แบบของ ปีเตอร์ เชน (Peter Chen) ซึ่งเป็นแบบดั้งเดิม และแบบของคราวฟูต (Crow’s Foot ) ดังรูปที่ 1.1 และ 1.2 รูปที่ 1.1 แสดง E-R Diagram ตามรูปแบบ Peter Chen รูปที่ 1.2 แสดง E-R Diagram ตามรูปแบบ Crow’s Foot จากรูปจะเห็นว่า E-R Diagram ตามรูปแบบ Peter Chen กับแบบ Crow’s Foot จะแตกต่างกันโดย แบบ Peter Chen จะสามารถวาดและปรับเปลี่ยนได้ง่าย และมองเห็นชัดเจนจึงเหมาะสำหรับการออกแบบในครั้ง แรกซึ่งเป็นการแสดงถึงแนวคิดการออกมาโดยคร่าว ๆ ส่วน Crow’s Foot เหมาะสำหรับการแสดงออกในรูปแบบ ของตารางเก็บข้อมูล
สำหรับการเขียน E-R Diagram ในการออกแบบฐานข้อมูลจะมีเนื้อหาและรายละเอียดค่อนข้างมาก ใน ระดับนี้จึงขอให้รูปแบบ Peter Chen ซึ่งมีแนวทางการเขียนโดยสังเขปนี้ 1) พิจารณาข้อมูลที่จัดเก็บและกำหนดให้เป็นเอนทิตี (Entity) โดยเขียนอยู่ในกรอบสี่เหลี่ยมผืนผ้า เช่น พนักงาน กับ หลักสูตรที่อบรม 2) กำหนดความสัมพันธ์ของเอนทีตี ด้วยสี่เหลี่ยมขนมเปียกปูน และลากเส้นเชื่อมความสัมพันธ์พร้อมทั้ง กำหนดรูปแบบความสัมพันธ์ของเอนทิตี ซึ่งอาจมีได้ 3 รูปแบบ คือ 1). ความสัมพันธ์ แบบหนึ่งต่อหนึ่ง (One to One ) เป็นความสัมพันธ์ของเอนทิตีหนึ่งสัมพันธ์กับอีก เอนทิตีหนึ่งได้เพียง 1 รายการ เช่น ความสัมพันธ์ระหว่างแผนกวิชากับหัวหน้าแผนก ซึ่งหมายความว่า แผนกวิชาหนึ่งจะมีหัวหน้าแผนกได้เพียงคนเดียว และในทางกลับกันผู้ที่เป็นหัวหน้าแผนกใดแล้วจะต้องไม่ สามารถเป็นหัวหน้าของแผนกอื่นได้ การเขียนความสัมพันธ์อาจแทนด้วยแผนภาพ ERD ได้ดังรูปที่ 1.3 รูปที่ 1.3 แสดงความสัมพันธ์แบบ 1:1 2). ความสัมพันธ์ แบบหนึ่งต่อกลุ่ม (One to Many ) เป็นความสัมพันธ์ของเอนทิตีหนึ่งจะมี ความสัมพันธ์กับอีกเอนทิตี้หนึ่งได้หลายรายการ แต่ในทางกลับกันเมื่อมองจากอีกเอนทิตีหนึ่งจะมี ความสัมพันธ์กับเอนทีตีก่อนหน้าเพียงรายการเดียว เช่น ความสัมพันธ์ระหว่างเอนทิตี้ลูกค้า กับ เอนทิตี้ บัตรเครดิต โดยลูกค้า 1 คน อาจมีบัตรเครดิต 1 ใบจะเป็นของลูกค้าเพียงคนเดียวเท่าน รูปที่ 1.4 แสดงความสัมพันธ์แบบ 1 : M
3). ความสัมพันธ์ แบบกลุ่มต่อกลุ่ม (Many to Many ) เป็นความสัมพันธ์ของเอนทิตีหนึ่งสัมพันธ์กับ เอนทิตี้หนึ่งได้หลายรายการ และในทางกลับกันเมื่อมองจากอีกเอนทิตีหนึ่งจะสัมพันธ์กับเอนทิตีก่อนหน้า ได้หลายรายการเช่นเดียวกัน ตัวอย่างเช่น ความสัมพันธ์ระหว่างครูกับรายวิชาจะเห็นว่าครูแต่ละคน สามารถสอนได้หลายวิชา ในทำนองเดียวกันแต่ละรายวิชาก็อาจจะมีครูสอนหลายคนได้เช่นกัน ดังรูปที่1.5 รูปที่ 1.5 แสดงความสัมพันธ์แบบ M : N 3) ในกรณีเป็นความสัมพันธ์แบบ กลุ่มต่อกลุ่ม หรือ M:N จะแปลงความสัมพันธ์ดังกล่าวให้เป็นเอนทิตี โดย เขียนสี่เหลี่ยมผืนผ้าครอบความสัมพันธ์อีกชั้นหนึ่ง โดยถือว่าเป็นเอนทิตีที่เกิดจากความสัมพันธ์ เรียกว่า Composite Entity หรือ Associative Entity ดังรูปที่ 1.6 รูปที่ 1.6 แสดงการแปลงความสัมพันธ์แบบ M:N เป็น 1: M จากรูปจะเห็นได้ว่าความสัมพันธ์ระหว่างครูกับรายวิชา จะถูกแปลงเป็นเอนทิตีรายการสอน โดย ครู 1 คนอาจมีรายการสอยหลายวิชา และรายวิชาอาจอยู่ในรายการสอนของครูแต่ละคนได้เช่นกัน
4) กำหนดชื่อแอททริบิวต์ (Attribute) ซึ่งเป็นรายละเอียดของข้อมูลที่จะจัดเก็บในเอนทิตี้นั้นโดยเขียนอยู่ใน วงจรรี จากนั้นลากเส้นจากเอนทิตีไปยังแอททริบิวต์ที่เกี่ยวข้องกัน พร้อมทั้งขีดเส้นใต้ชื่อของแอททริบิวต์ ที่เป็นคีย์หลัก ดังรูปที่ 1.7 รูปที่ 1.7 แสดงการเขียน ERD ที่สมบูรณ์ สำหรับการเขียนในรูปแบบ Crow’s Foot ซึ่งสามารถนำไปสร้างตารางในฐานข้อมูลจะเขียนได้ ดังรูปที่ 1.8 รูปที่ 1.8 แสดงการเขียน ERD แบบ Crow’s Foot 3. ขั้นตอนการพัฒนางานฐานข้อมูล ขั้นตอนการออกแบบจะเริ่มจากการวิเคราะห์ความต้องการของระบบ โดยพิจารณาว่าต้องเก็บข้อมูล อะไรบ้าง ข้อมูลแต่ละตัวประกอบด้วยรายละเอียดที่ต้องจัดเก็บอย่างไร และมีความสัมพันธ์กับข้อมูลอื่นอย่างไร โดยทั่วไปในทางทฤษฎีจะแบ่งออกเป็น 3 ระดับ คือ 1) การออกแบบในระดับแนวคิด(Conceptual Design) 2) การออกแบบในระดับลอจิก (Logical Design) 3) การออกแบบในระดับกายภาพ (Physical Design)
1)การออกแบบข้อมูลในระดับแนวคิด (Conceptual Design) เป็นการถ่ายทอดโครงสร้ฐานข้อมูลที่คิดไว้ให้ ออกมาเห็นได้ ซึ่งส่วนใหญ่ในการออกแบบจะใช้แผนภาพE-R Diagram เขียนโครงสร้างความสัมพันธ์ของเอนทีตี ต่าง ๆ ในฐานข้อมูล 2)การออกแบบในระดับลอจิก(Logical Design)คือการนำโครงสร้างฐานข้อมูลที่ได้จากการออกแบบในระดับ แนวความคิดมากำหนดเป็นโครงสร้างฐานข้อมูลเพื่อใช้งานโดยอ้างอิงตามซอฟต์แวร์ฐานข้อมูล (DBMS) ที่ใช้ เช่น การนำเอาแผน E-R Diagram ที่ออกแบบไว้วมาแปลงเป็นตารางข้อมูลและหนดชนิดข้อมูลให้กับเขตข้อมูลต่าง ๆ ของตาราง 3)การอออกแบบในระดับกายภาพ(Physical Design) คือ การนำการออกแบบในระดับลอจิกไปสร้างเป็น ฐานข้อมูลจริง ตามซอฟต์แวร์ฐานข้อมูลที่เลือกใช้ สำหรับขั้นตอนในการพัฒนางานฐานข้อมูลในทางปฏิบัติ อาจสรุปเป็นขั้นตอนได้ ดังรูปที่1.9 คือ 1) ออกแบบโครงสร้างฐานข้อมูลด้วย E-R Diagram 2) เลือกซอฟต์แวร์ระบบจัดการฐานข้อมูล ( DBMS) ที่จะนำมาใช้งาน 3) แปลง E-R Diagram เป็นโครงสร้างฐานข้อมูลตามซอฟต์แวร์ฐานข้อมูลที่เลือกใช้ 4) สร้างฐานข้อมูลตามโครงสร้างที่ออกแบบ รูปที่ 1.9 แสดงขั้นตอนปฏิบัติในการพัฒนางานฐานข้อมูล
4. ซอฟต์แวร์ระบบจัดฐานข้อมูล รูปที่ 1.10 แสดงตัวอย่างซอฟต์แวร์จัดการฐานข้อมูล ซอฟต์แวร์ที่ใช้ในการจัดการฐานข้อมูล หรืออาจเรียกสั้น ๆ ว่า DBMS (Database Managementsoftware) มีด้วยกันหลายตัว เช่น Access, Visual FoxPro, Microsoft SQL Sybase, MySQL, Oracle, Sybase และ DB2 เป็นต้น สำหรับการเลือกใช้งานซอฟต์แวร์ตัวใดส่วนใหญ่จะพิจารณาถึงขนาดของ ข้อมูลที่จัดเก็บและระดับความปลอดภัยของข้อมูลที่ต้องการ รวมไปถึงความสามารถในการรองรับจำนวนผ็ใช้งาน ที่เข้ามาใช้งานฐานข้อมูลในภาวะพร้อม โดยอาจแบ่งเป็น3 ระดับ คือ 1) ระบบฐานข้อมูลขนาดใหญ่ สำหรับฐานข้อมูลขนาดใหญ่ที่มีปริมาณข้อมูลและจำนวน ผู้ใช้งานร่วมกันหลายคน ควรใช้ซอฟต์แวร์จัดการฐานข้อมูลที่มีประสิทธิภาพสูง และมีระบบรักษาความปลอดภัยที่ เข้มงวด เช่น Oracle หรือ Microsoft SQL Server รุ่น Enterprise Edition 2) ระบบฐานข้อมูลขนาดกลาง สำหรับฐานข้อมูลขนาดกลางที่มีปริมาณข้อมูลและจำนวนผู้ใช้งาน ร่วมกันไม่มากนัก อาจใช้ซอฟต์แวร์ฐานข้อมูล เช่น My SQL ซึ่งเป็นซอฟต์แวร์ฐานข้อมูลที่สามารถ นำมาใช้ได้โดยไม่ต้องเสียค่าใช้จ่าย หรือ Microsoft SQL Sybase รุ่น Standard 3) ระบบฐานข้อมูลขนาดเล็ก สำหรับงานที่มีข้อมูลไม่มาก และใช้กับหน่วยงานขนาดเล็กที่มีผู้ใช้งาน เพียงไม่กี่คน หรือใช้เฉพาะบุคคล และไม่ต้องการความปลอดภัยที่สูงมากนัก อาจใช้ซอฟต์แวร์จัดการ ฐานข้อมูลขนาดเล็ก เช่น Microsoft Access หรือ Visual Fox Pro มาดำเนินการซึ่งจะช่วยให้ พัฒนางานได้ง่าย และเสียค่าใช้จ่ายน้อยกว่า
5.การสร้างฐานข้อมูลโดยใช้ Access ไมโครซอฟต์แอคเซส(Microsoft Acccess)เป็นซอฟต์แวร์ในชุดไมโครซอฟต์ออฟฟิศ(Microsoft Office) ซึ่งใช้งานกันอย่างแพร่หลายตามสำนักงานทั่วไปจุดเด่นของไมโครซอฟต์แอคเซส คือจะมีทั้งส่วนจัดเก็บข้อมูล และ ส่วนสร้างการติดต่อผู้ใช้งาน รวมไปถึงสามารถสร้างรายได้อย่างเบ็ดเสร็จโดยไม่ต้องใช้ซอฟต์แวร์อื่นมาช่วย จึงทำ ให้สามารถพัฒนางานได้สะดวกรวดเร็ว สำหรับไมโครซอฟต์แอคเซสมีด้วยกันหลายเวอร์ชัน โดยส่วนใหญ่จะใช้ตาม เวอร์ชันของไมโครซอฟต์ออฟฟิศที่นำมาใช้งานโดยที่เวอร์ชันที่เริ่มได้รับความนิยมคือ Access 97 จากนั้นได้พัฒนา เป็น Access 2000 และ Access 2003 ตามลำดับ แต่รุ่นที่ปรับปรุงและเปลี่ยนแปลงอย่างมากจะเริ่มที่ Access 2007 โดยได้พัฒนาส่วนการติดต่อผู้ใช่จากการใช้เมนูมาเป็นแถบริบบอนเครื่องมือ (Ribbon Toolbar) รวมทั้ง พัฒนาโครงสร้างการจัดเก็บข้อมูลใหม่เพื่อให้มีประสิทธิภาพมากขึ้น โดยเปลี่ยนจากรูปแบบไฟล์เดิมที่เป็น .mdb มาเป็น .accdb จึงทำให้โปรแกรม Access เวอร์ชันที่เก่ากว่า 2007 ไม่สามารถเปิดงานที่สร้างจาก Access รุ่น ใหม่ได้ แต่งานที่สร้างด้วยเวอร์ชัน เก่าสามารารถนำมาใช้กับเวอร์ชันใหม่ได้โดยแปลงเป็นไฟล์ฐานข้อมูลในเวอร์ชัน ใหม่ หลังจาก Access2007 ได้มีการพัฒนาอย่างต่อเนื่องเป็น Access2010,Access2013 จนมาถึงเวอร์ชัน ปัจจุบัน คือ Access2016 ซึ่งส่วนใหญ่จะมีความแตกต่างกันไม่มาก โดยในที่นี่จะขอกล่าวถึงการใช้งาน Access เวอร์ชัน 2016 ซึ่งจัดว่าป็นเวอร์ชันที่ได้รับความนิยมสูงสุดอยู่ในขณะนี้ 5.1 การเปิดใช้งานโปรแกรม การเปิดใช้งานโปรแกรม Access สามารถทำได้หลายวิธีดังรูปที่ 1.11 คือ (1) เรียกใช้งานผ่านทางเมนูของปุ่ม{Start} โดยเลือกที่ Access (2) ดับเบิลคลิกที่ไอคอนของโปรแกรมม Access บนหน้าจอ Desktop (3) คลิกที่ไอคอน Access บนทาสต์บาร์ด้านล่าง
รูปที่ 1.11 แสดงวิธีเปิดใช้โปรแกรม Microsoft Access 5.2 การสร้างฐานข้อมูล หลังจากเข้าสู่โปรแกรม เราสามารถสร้างฐานได้ โดยคลิกที่ (1) เพื่อสร้างฐานข้อมูลเปล่าหรือคลิกที่ (2) เพื่อสร้างโดยใช้เทมเพลต ออนไลน์ ดังรูปที่ 1.12 รูปที่ 1.12 แสดงการสร้างฐานข้อมูลใน Access 2016
ในกรณีสร้างฐานข้อมูลโดยคลิกปุ่มฐานข้อมูลเปล่า (Blank Database) จะปรากฏกรอบหน้าต่างให้ กำหนดชื่อไฟล์ฐานข้อมูล (ในที่นี่ตั้งชื่อเป็น Person) หลังจากนั้นให้คลิกปุ่ม [สร้าง] เพื่อสร้างไฟล์ฐานข้อมูล ดังรูป ที่ 1.13 รูปที่ 1.13 แสดงการสร้างไฟล์ฐานข้อมูลชื่อ Person 5.3ส่วนประกอบของโปรแกรม Microsoft Access เมื่อเปิดใช้งานโปรแกรม Microsoft Access จะมีหน้าตาของโปรแกรมดังรูปที่ 1.14 รูปที่1.14 แสดงส่วนประกอบในหน้าต่างในโปรแกรม Access 2016
โดยมีส่วนประกอบที่ควรทราบดังนี้ 1) แถบชื่อไฟล์ฐานข้อมูล (Title Bar) 2) แถบเครื่องมือด่วน (Quick Access Tool Bar) 3) แถวริบบอนเครื่องมือ (Ribbon Tool Bar) ซึ่งประกอบด้วย ริบบอนหลัก ได้แก่ • ไฟล์ : ใช้ในการจัดการไฟล์ เช่น สร้าง บันทึก บันทึกเป็น และการจัดการต่าง ๆ • หน้าแรก : เป็นส่วนของเครื่องมือที่ใช้งานบ่อย • สร้าง : เป็นส่วนที่ใช้ในการสร้างวัตถุในฐานข้อมูล เช่น ตาราง แบบสอบถาม แบบฟอร์ม รายงาน • ข้อมูลภายนอก : เป็นแถบริบบอนที่ใช้ในการนำเข้าหรือส่งออกข้อมูล • เครื่องมือฐานข้อมูล : เป็นแถบริบบอนที่รวมเครื่องมือในการจัดการฐานข้อมูล 4) แถบริบบอนย่อย จะแสดงขึ้นมาสำหรับจัดการเฉพาะส่วน เช่น เครื่องมือตาราง จะแสดงเมื่ออยู่ในโหมด การจัดการตาราง 5) แถบหน้าต่างวัตถุ : ใช้แสดงรายชื่อวัตถุที่สร้างขึ้นในฐานข้อมูล 6) แถบหน้าต่างงาน : เป็นพื้นที่ที่ใช้แสดงข้อมูลในวัตถุต่าง ๆ 5.4องค์ประกอบที่ใช้พัฒนางาน โปรแกรม Microsoft Access มีวัตถุหรือองค์ประกอบที่ใช้พัฒนางานดังนี้ 1) ตาราง (Table) คือ ส่วนที่โปรแกรมใช้สำหรับจัดเก็บข้อมูล 2) แบบสอบถาม (Query) คือ ส่วนของโปรแกรมที่ใช้สร้างผลลัพธ์และจัดการข้อมูล 3) ฟอร์ม (Form) คือ ส่วนของโปรแกรมใช้สร้างหน้าจอติดต่อผู้ใช้ให้ใช้งาน 4) รายงาน (Report) คือ ส่วนของโปรแกรมที่สร้างรายงานแบบกระดาษ 5) แมโคร (Macro) คือ ส่วนของโปรแกรมที่สร้างการทำงานแบบอัตโนมัติ สำหรับรายละเอียดในการสร้างและใช้งานวัตถุของฐานข้อมูล Access จะกล่าวถึงในหน่วยการเรียนต่อไป