บทที่ 10

ความรู้พื้นฐาน  เกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล



หัวข้อเรื่องและงาน
ความรู้พื้นฐานเกี่ยวกับข้อมูล ฐานข้อมูล ระบบฐานข้อมูลในAccess 2007 ส่วนประกอบ ของฐานข้อมูล Access 2007 และหลักการออกแบบฐานข้อมูลที่ดี
สาระสำคัญ
ข้อมูล หมายถึง ข้อเท็จจริงที่เกี่ยวข้องกับสิ่งต่าง ๆ ทั่วไป
ฐานข้อมูล หมายถึง แหล่งเก็บรวบรวมข้อมูลกลุ่มหนึ่งที่เกี่ยวข้องกับหัวข้อหรือจุดประสงค์อย่างใดอย่างหนึ่ง มีโครงการและการจัดการอย่างเป็นระบบ
ระบบฐานข้อมูล หมายถึง ส่วนประกอบต่าง ๆ ที่เกี่ยวข้องกับการใช้งานฐานข้อมูล ส่วนประกอบของฐานข้อมูล Access 2007 ได้แก่ ตาราง ฟอร์ม รายงาน แบบสอบถาม แมโคร และโมดูล มีหลักการออกแบบฐานข้อมูลที่ดี มีกระบวนการ คือ กำหนดวัตถุประสงค์ของ ฐานข้อมูล ค้นหาและจัดระเบียบข้อมูลที่ต้องการ แบ่งข้อมูลลงในตารางต่างๆ เปลี่ยนรายการของ ข้อมูลให้เป็นคอลัมน์ต่างๆ ระบุคีย์แต่ละตารางกำหนดความสัมพันธ์ของตาราง การปรับการ ออกแบบให้ดียิ่งขึ้น และการใช้กฎ Normalization
จุดประสงค์การสอน
เพื่อให้มีความรู้ความเข้าใจเกี่ยวกับความหมายของข้อมูล ฐานข้อมูล และระบบฐานข้อมูล
จุดประสงค์ทั่วไป
เพื่อให้มีความรู้ความเข้าใจเกี่ยวกับระบบฐานข้อมูลและส่วนประกอบของฐานข้อมูลใน Access 2007
เพื่อให้มีความรู้ความเข้าใจ และมีทักษะในการหลักการออกแบบฐานข้อมูลที่ดี
จุดประสงค์เชิงพฤติกรรม
สามารถอธิบายความหมายของข้อมูล ฐานข้อมูล และระบบฐานข้อมูลได้
สามารถอธิบายและจำแนกระบบฐานข้อมูลและส่วนประกอบของฐานข้อมูลในAccess 2007 ได้
สามารถออกแบบฐานข้อมูลที่ดีได้
เนื้อหา
ข้อมูลและฐานข้อมูล
ข้อมูล  (Data) หมายถึง ข้อเท็จจริงที่เกี่ยวข้องกับสิ่งต่างๆ ทั่วไป เช่น ราคาสินค้า คะแนนของนักเรียนแต่ละคน ซึ่งปกติถือว่าเป็น ข้อมูลดิบ (Raw Data) ที่ยังไม่ได้ผ่านการประมวลผล ข้อมูลที่ผ่านการประมวลผลแล้วเรียกว่า สารสนเทศ (Information) เช่น เมื่อนำคะแนนของนักเรียนทั้งหมดมาประมวลผลก็จะได้คะแนนสูงสุด คะแนนต่ำสุดของนักเรียนทั้งหมด ข้อมูลที่นำมาจัดเก็บในฐานข้อมูลอาจอยู่ในรูปของตัวเลข ตัวอักษร ข้อความ รูปภาพ เสียง หรือภาพและเสียง
ฐานข้อมูล (Database) หมายถึง แหล่งเก็บรวบรวมข้อมูลกลุ่มหนึ่งที่เกี่ยวข้องกับหัวข้อหรือจุดประสงค์อย่างใดอย่างหนึ่ง มีโครงการและการจัดการอย่างเป็นระบบ ข้อมูลที่บันทึกเก็บไว้สามารถปรับปรุงแก้ไข สืบค้น และนำมาใช้ในการจัดการสารสนเทศได้อย่างรวดเร็วและมีประสิทธิภาพ
ฐานข้อมูลในที่นี้ หมายถึงฐานข้อมูลที่ใช้ระบบคอมพิวเตอร์ ส่วนอุปกรณ์ที่เก็บข้อมูลก็คือจานแม่เหล็กหรือฮาร์ดดิสก็นั่นเอง ตัวอย่างฐานข้อมูลที่ใช้กันทั่วไป ได้แก่ ฐานข้อมูลบุคลากร ฐานข้อมูลนักศึกษา ฐานข้อมูลสินค้า ฯลฯ  ปกติฐานข้อมูลจะถูกจัดเก็บไว้ที่สวนกลางของหน่วยงานหรือองค์กร เพื่อให้ผู้ใช้งานสามารถเรียกใช้ข้อมูลรวมกันได้ โดยอาจใช้ข้อมูลได้บางส่วนหรือทั้งหมดขึ้นอยู่กับการกำหนดสิทธิในการใช้งาน  ฐานข้อมูลอาจเก็บข้อมูลไว้ในแฟ้มเดียวกันหรือแยกเก็บหลายๆ แฟ้มที่มีความสัมพันธ์กัน  โดยแต่ละแฟ้มเรียกว่า ตาราง

(Table) ซึ่งมีลักษณะโครงสร้าง ดังรูป


โครงสร้างของตารางประกอบด้วย
1. ชื่อตารางหรือชื่อฐานข้อมูล (Database Name)
2. เขตข้อมูลในแนวตั้ง (Column) หรือฟิลด์ (Field) หลายฟิลด์
3. รายการข้อมูลหรือระเบียน (Record) หลายรายการในแนวนอน (Row)
ตัวอย่าง ตารางฐานข้อมูลชื่อ ข้อมูลนักศึกษา มีฟิลด์ต่าง ๆ ที่ไม่ซ้ำกัน เช่น รหัสนักศึกษา (StudentID) ชื่อ นามสกุล ที่อยู่ เมือง จังหวัด ฯลฯ ซึ่งข้อมูลของนักศึกษาแต่ละคนจัดเก็บในระเบียนที่ไม่ซ้ำกันตามฟิลด์ต่าง ๆ
ศัพท์สำคัญเกี่ยวกับระบบฐานข้อมูลและการออกแบบระบบฐานข้อมูล คือ
เอนทิตี้ (Entity) เป็นคำที่อ้างอิงถึงบุคคล สถานที่ และสิ่งของต่างๆ เช่น สินค้าหรือวิชาใบสั่งซื้อหรือบัตรลงทะเบียนและลูกค้าหรือนักศึกษา เป็นต้น ถ้าเราสนใจในการสร้างระบบฐานข้อมูลการสั่งซื้อสินค้าเอนทิตี้ของระบบนี้จะประกอบด้วย เอนทิตี้ลูกค้า ใบสั่งซื้อสิ้นค้า กับสิ้นค้า ดังรูป
แอตทริบิวต์  (Attribute) เป็นข้อมูลที่แสดงลักษณะของเอนทิตี้ เช่น แอตทิบิวต์ของเอนทิตี้ลูกค้าหรือนักศึกษา จะมีชื่อ ที่อยู่ และรหัสไปรษณีย์ ส่วนแอตทริบิวต์ของเอนทิตี้ ใบสังซื้อสินค้า จะมีรหัสใบสังซื้อ วันที่สังซื้อ ชื่อสินค้า จำนวนสินค้าที่สั่ง และราคาสินค้า เป็นต้น ซึ่งเราสามารถแสดงเอนทิตี้ รวมทั้งแอตทิบิวต์ได้
ความสัมพันธ์ (Relationships) หมายถึง ความสัมพันธ์ระหว่างเอนทิตี้ต่างๆ ใน ระบบ เช่น ในระบบการสั่งซื้อสิ้นค้า จะประกอบด้วยเอนทิตี้ใบสั่งซื้อสินค้า และเอนทิตี้ลูกค้าซึ่งมีความสัมพันธ์จากลูกค้าไปยังใบสั่งซื้อสินค้าเป็นแบบหนึ่งต่อกลุ่ม (One – to – Many) เป็นต้น


ในระบบฐานข้อมูลเชิงสัมพันธ์นั้น เราจะต้องกำหนดชนิดของคีย์ต่างๆ เพื่อเป็น        แอตทริบิวต์พิเศษที่ทำหน้าที่บางอย่าง เช่น เป็นตัวแทนของตาราง ฯลฯ ซึ่งมีชนิดคีย์ ดังนี้
Primary Key (คีย์หลัก) จะเป็นฟิลด์ที่มีค่าไม่ซ้ำกันเลยในแต่ละเรคอร์ดในตารางนั้น เราสามารถใช้ฟิลด์ที่เป็น Primary Key นี้เป็นตัวแทนของตารางนั้นได้ทันที
Candidate Key (คีย์คู่แข่ง ) เป็นฟิลด์หนึ่งหรือหลายฟิลด์ที่พอเอามารวมกันแล้วมีคุณสมบัติเป็น Primary Key (ไม่ซ้ำ) และไม่ได้ถูกใช้เป็นคีย์หลัก เช่น รหัสจังหวัดเป็นคีย์หลักสวนชื่อจังหวัดก็ไม่ซ้ำเช่นกัน แต่ไม่ได้เป็นคีย์หลักจึงเป็นคีย์คู่แข่งแทน
Composite Key บางตารางหาฟิลด์ไม่ซ้ำไม่ได้เลยจึงต้องใช้หลายๆ ฟิลด์มารวมกันเป็น Primary Key ฟิลด์ที่ใช้รวมกันนี้เราเรียกว่า Composite Key
Foreign Key เป็นฟิลด์ใดๆ ในตารางหนึ่ง (ฝัง Many) ที่มีความสัมพันธ์กับฟิลด์ ที่เป็น Primary Key ในอีกตารางหนึ่ง (ฝัง One) โดยที่ตารางทั้งสองมีความสัมพันธ์แบบ One – to – Many ต่อกัน
ฐานข้อมูลมีหลายแบบแต่ที่นิยมใช้กันมากที่สุดในปัจจุบัน คือ
ฐานข้อมูลแบบสัมพันธ์(Relational Database) ซึ่งมีโครงสร้างเป็นตารางหลายตารางที่มีความสัมพันธ์กันโดยใช้ฟิลด์ที่ เหมือนกัน เช่น รหัสนักศึกษา (StudentID)


ลักษณะของฐานข้อมูลแบบสัมพันธ์
1.   ค่าของข้อมูลต้องเป็นค่าที่ไม่สามารถแบ่งแยกออกไปได้อีก เช่น ชื่อ
2.   ค่าในแนวตั้ง (Column) หรอฟิลด์ต้องเป็นแบบเดียวกัน เช่น ถ้าเป็นฟิลดสำหรับเก็บชื่อก็ต้องเป็นชื่อจริงทั้งหมด ไม่มีชื่อเล่นมาเก็บด้วย
3.   ลำดับของฟิลด์ไม่จำเป็นต้องเรียงกัน เช่น อาจใช้   ฟิลด์นามสกุลก่อนฟิลด์ชื่อก็ได้
4.   ชื่อฟิลด์ในตารางเดียวกันจะต้องไม่ซ้ำกัน
5.   ต้องกำหนดฟิลด์ใดฟิลด์หนึ่งเป็นดัชนี (Index)หรอเรียกว่า กุญแจหลัก (Primary Key)
6.   ข้อมูลในแต่ละแถวหรอระเบียนต้องไม่ซ้ำกันกับแถวอื่น
7.   ไม่จำเป็นต้องเรียงลำดับของข้อมูลแต่ละแถวหรอระเบียน



ระบบฐานข้อมลู (Database System)
ระบบฐานข้อมูล (Database System) หมายถึง ส่วนประกอบต่างๆ ที่เกี่ยวข้องกับการใช้งานฐานข้อมูล อาจแบ่งเป็นฮาร์ดแวร์ (Hardware) ซอฟต์แวร์ (Software) และบุคลากร (Personnel) เหมือนระบบคอมพิวเตอร์ ดังนี้
ฮาร์ดแวร์ (Hardware) หมายถึง เครื่องคอมพิวเตอร์และอุปกรณ์ประกอบ เช่น ฮาร์ดดิสก์ ที่ใช้กับฐานข้อมูล อุปกรณ์นำเข้าข้อมูลแบบต่างๆและโปรแกรมใช้งาน
ซอฟต์แวร์ (Software) หมายถึง โปรแกรมใช้งานและระบบการจัดการฐานข้อมูล
บุคลากร (Personnel) หมายถึง บุคลากรที่เกี่ยวข้องกับระบบหรือผู้ใช้งานฐานข้อมูล
เพื่อให้เข้าใจได้ง่ายขึ้นอาจดูผังลักษณะการใช้งานระบบฐานข้อมูล ดังนี้
ผู้ใช้งานฐานข้อมูล หรือผู้ที่เกี่ยวข้องกับฐานข้อมูลแบ่งได้เป็น

ผู้ใช้ (User) หมายถึง ผู้ที่ต้องการใช้ฐานข้อมูลทั่วไป การใช้งานอาจทำได้โดยผ่านโปรแกรมใช้งานหรือผ่านระบบการจัดการฐานข้อมูลถ้ามีความรู้เกี่ยวกับระบบเพียงพอ
ผู้เขียนโปรแกรมใช้งาน (Application Programmer) หมายถึง ผู้ที่สร้างฐานข้อมูล และพัฒนาโปรแกรมใช้งานสำหรับให้ผู้ใช้สามารถใช้งานฐานข้อมูลได้ง่าย และให้ผู้บริหาร ฐานข้อมูลสามารถจัดการฐานข้อมูลได้สะดวกขึ้น
ผู้บริหารฐานข้อมูล (Database Administrator) หมายถึง ผู้ที่ออกแบบฐานข้อมูล ดูแลรักษาและจัดการฐานข้อมูลให้ปลอดภัย ทันสมัย และถูกต้องอยู่เสมอ
โปรแกรมใช้งานฐานข้อมูล อาจทำขึ้นโดยใช้ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เช่น วิชวลเบสิก (Visual Basic) หรือใช้ภาษาสำหรับฐานข้อมูล คือ SQL (Structured Query Language) หรือใช้ระบบการจัดการฐานข้อมูล (DBMS: Database Management System) โดยตรงก็ได้
การใช้งานระบบฐานข้อมูล อาจเป็นแบบใช้งานคนเดียว (Single User) หรือระบบใช้งาน หลายคน (Multi – User) ที่เชื่อมต่อกันเป็นเครือข่าย (Network) ภายในหน่วยงานที่เรียกว่า อินทราเน็ต (Intranet) หรือใช้งานผ่านระบบอินเทอร์เน็ตที่กำลังเป็นที่นิยมกันในปัจจุบัน
ระบบการจัดการฐานข้อมูล หมายถึง ชุดโปรแกรมที่ใช้ในการจัดการฐานข้อมูล เช่น การสร้างฐานข้อมูล การบัทึกข้อมูล การปรับปรุงแก้ไขข้อมูล การสืบค้นข้อมูล การวิเคราะห์ข้อมูล การจัดทำรายงาน และอื่น ๆ
ตัวอย่างของโปรแกรมที่ใช้จัดการฐานข้อมูล ได้แก่ Microsoft Access, Microsoft SQL Server, MySQL, Oracle เป็นต้น
 ประโยชน์ของระบบฐานข้อมลู
การจัดเก็บข้อมูลไว้ในฐานข้อมูลที่เดียวกันด้วยระบบการจัดการฐานข้อมูล มีประโยชน์ ดังนี้
1. สามารถใช้ข้อมูลร่วมกันได้ ผู้ใช้แต่ละคนสามารถที่จะใช้ข้อมูลในระบบฐานข้อมูลได้และโปรแกรมใช้งานหลายโปรแกรมอาจใช้ฐานข้อมูลร่วมกันได้
2. สามารถกำหนดมาตรฐานของข้อมูลได้ ผู้บริหารฐานข้อมูลอาจกำหนดมาตรฐาน ต่างๆ ในการจัดเก็บข้อมูลให้เป็นลักษณะเดียวกัน เช่น โครงสร้างข้อมูล ประเภทของข้อมูล เป็นต้น
3. ลดความซ้ำซ้อนของข้อมูลได้ ผู้ใช้ทุกคนที่ต้องการจัดเก็บข้อมูลจะใช้โดยผ่านระบบการจัดการฐานข้อมูล ทำให้ข้อมูลไมซ้ำกันและไม่เปลืองเนื้อที่ในการเก็บข้อมูล
4. ลดความขัดแย้งของข้อมูลได้ ข้อมูลชุดเดียวกันที่ปรากฏอยู่หลายแห่งในฐานข้อมูลจะต้องตรงกัน ถ้ามีการแก้ไขข้อมูลนี้ระบบการจัดการฐานข้อมูลจะต้องแก้ไขให้ถูกต้องตามกันหมดโดยอัตโนมัติ
5. ป้องกันและรักษาความปลอดภัยของข้อมูลได้โดยกำหนดสิทธิ์ของผู้ใช้แต่ละคนตามระดับการใช้งาน เช่น ผู้ใช้ทั่วไปอาจใช้ข้อมูลบางส่วน ผู้ใช้ที่มีหน้าที่บันทึกและแก้ไขข้อมูลก็มีสิทธิ์ใช้ข้อมูลได้อีกระดับหนึ่ง เป็นต้น
6.ดูแลรักษาฐานข้อมูลได้ง่าย เช่น การทำสำเนาฐานข้อมูล การบูรณะฐานข้อมูลให้กลับสู่สภาพปกติ
ระบบฐานข้อมลู ใน Access 2007
ฐานข้อมูลเป็นเครื่องมือสำหรับการเก็บรวบรวมและจัดระเบียบข้อมูล ฐานข้อมูลสามารถ เก็บข้อมูลเกี่ยวกับบุคคล ผลิตภัณฑ์ ใบสั่งซื้อ หรือสิ่งอื่นใดก็ได้  ฐานข้อมูลจำนวนมากเริ่มมาจากรายการในโปรแกรมประมวลผลคำหรือโปรแกรมกระดาษคำนวณ เมื่อรายการมีขนาดใหญ่ขึ้นความซ้ำซ้อนและความไม่สอดคล้องกันของข้อมูลจะเริ่มปรากฏขึ้น การดูข้อมูลในฟอร์มรายการ เริ่มไม่เข้าใจและมีข้อจำกัดในการค้นหาหรือดึงเซตย่อยของข้อมูลมาตรวจทาน เมื่อปัญหาดังกล่าว เกิดขึ้นแล้วจึงเป็นการดีที่จะโอนถ่ายข้อมูลไปยังฐานข้อมูลที่สร้างขึ้นด้วยระบบการจัดการ ฐานข้อมูล (DBMS) เช่น MS Access 2007
ฐานข้อมูลในระบบคอมพิวเตอร์เป็นคอนเทนเนอร์ของวัตถุ โดยฐานข้อมูลหนึ่งชุดสามารถ มีตารางได้มากกว่าหนึ่งตาราง ตัวอย่างเช่น  ระบบติดตามสินค้าคงคลังหนึ่งระบบจะใช้ข้อมูลจาก ตารางสามตารางไม่ใช่จากฐานข้อมูลสามชุดแต่ฐานข้อมูลหนึ่งชุดนั้นสามารถมีตารางได้สามตาราง เว้นแต่ว่าฐานข้อมูลนั้นจะถูกออกแบบพิเศษให้ใช้ข้อมูลหรือโค้ดจากแหลงข้อมูลอื่นได้ ฐานข้อมูล Access จะเก็บตารางไว้ในแฟ้ มข้อมูลเดียว พร้อมกับวัตถุอื่นด้วย เช่น ฟอร์ม รายงาน แมโคร และ โมดูล โดยฐานข้อมูลที่สร้างในรูปแบบ Access 2007 จะมีนามสกุลเป็น .accdb และฐานข้อมูลที่ สร้างในรูปแบบของ Access รุ่นก่อนหน้าจะมีนามสกุลแฟ้มเป็น mdb คุณสามารถใช้ Access 2007 สร้างแฟ้มข้อมูลในรูปแบบแฟ้มของรุ่นก่อนหน้าได้ (ตัวอย่างเช่น Access 2000 และ Access 2002- 2003)
ความจำเป็นในการใช้ Access 2007 คือ 
เพิ่มข้อมูลใหม่ลงในฐานข้อมูล เช่น รายการใหม่ในสินค้าคงคลัง
แก้ไขข้อมูลที่มีอยู่ในฐานข้อมูล เช่น การเปลี่ยนตำแหนงที่ตั้งปัจจุบันของรายการ
ลบข้อมูล ถ้ารายการถูกขายออกหรือละทิ้งแล้ว
จัดระเบียบและดูข้อมูลด้วยวิธีต่างๆ
ใช้ข้อมูลรวมกันกับผู้อื่นผ่านทางรายงาน ข้อความอีเมล อินทราเน็ต หรือ อินเทอร์เน็ต
ส่วนประกอบของฐานข้อมลูAccess 2007
ส่วนประกอบของฐานข้อมูล Access 2007 มีดังต่อไปนี้
5.1  ตาราง (Table)
ตารางฐานข้อมูลจะมีลักษณะคล้ายกับกระดาษคำนวณ นั่นคือข้อมูลจะถูกเก็บไว้ในแถวและคอลัมน์ ดังนั้น จึงเป็นเรื่องค่อนข้างง่ายในการนำเข้าข้อมูลจากกระดาษคำนวณไปยังตารางฐานข้อมูล โดยข้อแตกต่างที่สำคัญระหว่างการเก็บข้อมูลในกระดาษคำนวณและการเก็บในฐานข้อมูลจะอยู่ที่วิธีการจัดระเบียบข้อมูล


เมื่อต้องการความยืดหยุ่นสำหรับฐานข้อมูลให้มากที่สุด ข้อมูลต้องมีการจัดระเบียบลง ในตารางเพื่อไม่ให้เกิดความซ้ำซ้อน ตัวอย่างเช่น ถ้าคุณจะเก็บข้อมูลเกี่ยวกับนักศึกษาหรือพนักงาน ควรป้อนข้อมูลของนักศึกษาหรือพนักงานแต่ละคนเข้าไปในตารางที่ใช้เก็บข้อมูลนักศึกษาหรือพนักงานเพียงครั้งเดียวข้อมูลเกี่ยวกับผลิตภัณฑ์จะเก็บในตารางของวิชาหรือผลิตภัณฑ์และข้อมูลเกี่ยวกับที่อยู่ของสาขาจะเก็บในตารางอื่นกระบวนการนี้เรียกว่าการทำ Normalization
แต่ละแถวในตารางจะถูกอ้างอิงเป็นหนึ่งระเบียน ระเบียนคือที่ที่ใช้เก็บข้อมูลแต่ละส่วน  แต่ละระเบียนจะประกอบด้วย เขตข้อมูลอย่างน้อยหนึ่งเขตข้อมูล เขตข้อมูลจะสอดคล้องกับคอลัมน์ในตาราง ตัวอย่างเช่น ถ้ามีตารางหนึ่งที่ชื่อ ข้อมูลนักศึกษาซึ่งแต่ละระเบียน (แถว) จะมี ข้อมูล เกี่ยวกับนักศึกษาหนึ่งคนและแต่ละเขตข้อมูล (คอลัมน์) จะมีชนิดข้อมูลที่ต่างกัน เช่น ชื่อ  นามสกุล ที่อยู่และอื่น ๆ เขตข้อมูลนั้นต้องได้รับการออกแบบให้มีชนิดข้อมูลที่แน่นอนไม่ว่าจะเป็นข้อความ วันที่หรือเวลา ตัวเลข หรือชนิดข้อมูลอื่น ๆ
อีกวิธีหนึ่งที่จะอธิบายให้เห็นภาพของระเบียนและเขตข้อมูลก็คือให้นึกถึงชุดบัตรข้อมูลรุ่นเก่าของห้องสมุดโดยบัตรข้อมูลแต่ละใบที่อยู่ในตู้บัตรรายการจะเทียบเท่ากับระเบียนในฐานข้อมูล ส่วนข้อมูลแต่ละส่วนบนบัตรแต่ละใบ (ชื่อผู้แต่ง ชื่อเรื่อง และอื่น ๆ) จะเทียบเท่ากับเขตข้อมูลในฐานข้อมูล
5.2   ฟอร์ม (Form)
ในบางครั้งฟอร์มจะถูกอ้างอิงเป็น หน้าจอสำหรับป้อนข้อมูลซึ่งเป็นส่วนติดต่อที่ใช้ทำงานกับข้อมูลและฟอร์มมักมีปุ่มคำสั่งที่ใช้ดำเนินการคำสั่งได้หลากหลาย สามารถสร้าง ฐานข้อมูลโดยไม่ต้องใช้ฟอร์มด้วยการแก้ไขข้อมูลอย่างง่าย ๆ ในแผนข้อมูลตาราง อย่างไรก็ตามผู้ใช้ฐานข้อมูลส่วนใหญ่ต้องการที่จะใช้ฟอร์มเพื่อดูป้อข้อมูลและแก้ไขข้อมูลในตารางมากกว่า


ฟอร์มจะให้รูปแบบที่ง่ายต่อการใช้สำหรับทำงานกับข้อมูลและสามารถเพิ่มองค์ประกอบการใช้งาน เช่น ปุ่มคำสั่งลงในฟอร์มได้ด้วย คุณอาจเขียนโปรแกรมให้กับปุ่มต่างๆ เพื่อใช้กำหนดว่าจะให้ข้อมูลใดบ้างปรากฏบนฟอร์ม เปิดฟอร์มหรือรายงานอื่น ๆ หรือดำเนินงาน อื่นหลากหลายประเภท ตัวอย่างเช่น อาจมีฟอร์มชื่อ ข้อมูลนักศึกษาที่ใช้ทำงานกับข้อมูลนักศึกษา ฟอร์มนักศึกษา อาจมีปุ่มที่ใช้เปิดฟอร์มบัตรลงทะเบียนที่สามารถป้อนรายการลงทะเบียนใหม่สำหรับ นักศึกษาคนนั้นได้
นอกจากนี้ฟอร์มยังอนุญาตให้เราสามารถควบคุมวิธีที่ผู้ใช้รายอื่นจะโต้ตอบกับข้อมูลในฐานข้อมูลด้วย ตัวอย่างเช่น สามารถสร้างฟอร์มที่แสดงเฉพาะบางเขตข้อมูลและอนุญาตให้มีการดำเนินการได้เพียงบางอย่างเท่านั้น สิ่งนี้จะช่วยป้องกันข้อมูลและทำให้แน่ใจได้ว่าข้อมูลจะถูกป้อนอย่างถูกต้อง
 5.3  รายงาน (Report)
รายงานเป็นสิงที่ต้องใช้เพื่อสรุปและนำเสนอข้อมูลในตารางบ่อยครั้งที่รายงานจะตอบคำถามตามที่ระบุไว้ เช่น เรารับเงินจากนักศึกษาแต่ละคนเป็นจำนวนเท่าไรในรุ่นนี้หรือ
นักศึกษาของเราอยู่ที่ไหนบ้างแต่ละรายงานสามารถกำหนดรูปแบบให้นำเสนอข้อมูลในรูปแบบ ที่อ่านง่ายที่สุดได้


รายงานสามารถถูกเรียกใช้เวลาใดก็ได้ และจะแสดงข้อมูลปัจจุบันในฐานข้อมูลเสมอ โดยทั่วไปรายงานจะถูกจัดรูปแบบให้สามารถพิมพ์ออกมาได้ แตกยังสามารถดูรายงานบนหน้าจอ ส่งออกไปยังโปรแกรมอื่นหรือส่งเป็นข้อความอีเมลได้เช่นกัน
5.4 แบบสอบถาม (Query)
แบบสอบถามเป็นส่วนสำคัญในฐานข้อมูลและสามารถดำเนินการฟังก์ชันที่ต่างกันได้ จำนวนมาก ฟังก์ชันทั่วไปส่วนใหญ่ของแบบสอบถาม คือ การดึงข้อมูลที่ระบุจากตารางต่าง ๆ ออกมา โดยข้อมูลที่คุณต้องการดูอาจจะกระจายอยู่ในหลาย ๆ ตารางก็ได้ และแบบสอบถามจะทำให้สามารถดูข้อมูลที่ต้องการได้ในรูปของแผนข้อมูลเดียว นอกจากนี้ ถ้าเราไมต้องการดูระเบียนทั้งหมดพร้อมกันแบบสอบถามจะให้เพิ่มเงื่อนไขเพื่อ กรองข้อมูลเอาเฉพาะระเบียนที่ต้องการ ออกมาบ่อยครั้งที่แบบสอบถามทำหน้าที่เป็นแหล่งระเบียนสำหรับฟอร์มและรายงานต่างๆ


แบบสอบถามบางชุด สามารถปรับปรุงได้นั้นหมายความว่า สามารถแกไขข้อมูลในตารางต้นแบบผ่านแผนข้อมูลแบบสอบถามได้ ถ้าทำงานในแบบสอบถามที่สามารถปรับปรุงได้ โปรดจำไว้ว่าการเปลี่ยนแปลงจะมีผลกับตารางต่าง ๆ ด้วย ไม่ใชเฉพาะในแผ่นข้อมูลแบบสอบถาม  เท่านั้น
แบบสอบถามมีรูปแบบพื้นฐานสองรูปแบบ ได้แก่  แบบสอบถามแบบใช้เลือกข้อมูล และแบบสอบถามแอคชัน แบบสอบถามแบบใช้เลือกข้อมูล จะเรียกใช้ข้อมูลและทำให้ข้อมูลพร้อม ใช้งานได้อย่างง่ายดาย สามารถดูผลลัพธ์ของแบบสอบถามบนหน้าจอ พิมพ์แบบสอบถาม หรือ คัดลอกไปยังคลิปบอร์ด หรือยังสามารถใช้ผลลัพธ์ของแบบสอบถามเป็นแหล่งระเบียนสำหรับฟอร์มหรือรายงานได้ ส่วนแบบสอบถามแอคชัน จะดำเนินงานกับข้อมูลโดยแบบสอบถามแอคชัน สามารถใช้สร้างตารางใหม่เพิ่มข้อมูลลงในตารางที่มีอยู่ปรับปรุงข้อมูล หรือลบข้อมูลได้
5.5  แมโคร (Macros)
แมโครใน Access 2007 นันจะเหมือนกับภาษาที่ใช้ในการเขียนโปรแกรมอย่างง่ายที่สามารถใช้เพื่อเพิ่มหน้าที่การใช้งานให้กับฐานข้อมูล  ตัวอย่างเช่น สามารถแนบแมโครลงในปุ่มคำสังบนฟอร์ม เพื่อให้แมโครนั้นทำงานเมื่อใดก็ตามที่มีการกดปุ่มแมโครจะมีแอคชันที่ใช้ ดำเนินงานหลายอยาง เช่น การเปิดรายงาน การเรียกใช้แบบสอบถามหรือการปิดฐานข้อมูล โดย การดำเนินการกับฐานข้อมูลส่วนใหญ่ที่ทำด้วยตนเองนั้นสามารถทำได้อัตโนมัติโดยใช้แมโคร ดังนั้นแมโครจึงเป็นเครื่องมือที่ช่วยประหยัดเวลาที่อย่างมาก


  หลักการออกแบบฐานข้อมลูที่ดี


ในกระบวนการออกแบบฐานข้อมูลที่ดีนั้นมีหลักการบางอย่างเป็นแนวทางในการดำเนินการ ดังนี้
ข้อมูลซ้ำหรือที่เรียกว่าข้อมูลซ้ำซ้อน ไม่ใช่สิ่งที่ดี เนื่องจากเปลืองพื้นที่และอาจทำให้มีข้อผิดพลาดเกิดขึ้นรวมถึงเกิดความไม่สอดคล้องกัน
ความถูกต้องและความสมบูรณ์ของข้อมูลเป็นสิ่งสำคัญถ้าฐานข้อมูลมีข้อมูลที่ไม่ถูกต้องรายงานต่างๆ ที่ดึงข้อมูลจากฐานข้อมูลจะมีข้อมูลที่ไม่ถูกต้องตา,ไปด้วย ส่งผลให้การตัดสินใจต่างๆ ที่ได้กระทำโดยยึดตามรายงานเหล่านั้นจะไม่ถูกต้องด้วยเช่นกัน
ดังนั้นหลักการออกแบบฐานข้อมูลที่ดี คือ
1.  แบ่งข้อมูลของคุณลงในตารางต่าง ๆ ตามหัวเรื่องเพื่อลดการซ้ำซ้อนกันของข้อมูล
2.  ใส่ข้อมูลที่จำเป็นลงใน  Access เพื่อรวมข้อมูลในตารางต่างๆ เข้าด้วยกันตามต้องการ
3.  ช่วยสนับสนุนและรับประกันความถูกต้องและความสมบูรณ์ของข้อมูล
4. ตอบสนองต่อความต้องการในการประมวลผลข้อมูลและการรายงาน
9. กระบวนการออกแบบ
กระบวนการออกแบบประกอบด้วยขั้นตอนต่อไปนี้


1.  กำหนดวัตถุประสงค์ของฐานข้อมูล
2. ค้นหาและจัดระเบียบข้อมูลที่ต้องการ รวบรวมข้อมูลทุกชนิดที่ต้องการบันทึกลงในฐานข้อมูล เช่น ชื่อผลิตภัณฑ์และหมายเลขใบสั่งซื้อ
3. แบ่งข้อมูลลงในตารางต่างๆ แบ่งรายการข้อมูลออกเป็นกลุ่มหรือหัวเรื่องหลัก ๆ เช่น ผลิตภัณฑ์ หรือใบสั่งซื้อจากนั้นแต่ละหัวเรื่องจะถูกนำมาทำเป็นตาราง
4. เปลี่ยนรายการของข้อมูลให้เป็นคอลัมน์ต่างๆ ตัดสินใจว่าต้องการเก็บข้อมูลอะไร ในตารางแต่ละตาราง รายการแต่ละรายการจะกลายเป็นเขตข้อมูล และแสดงเป็นคอลัมน์ในตาราง ตัวอย่างเช่น ตารางพนักงานอาจมีเขตข้อมูลเช่น นามสกุลและวันที่จ้างงาน
5. ระบุคีย์หลัก เลือกคีย์หลักของตารางแต่ละตารางคีย์หลัก คือคอลัมน์ที่ใช้เพื่อระบุแต่ละแถวแบบไม่ซ้ำกัน ตัวอย่างเช่น หมายเลขผลิตภัณฑ์ หรือ ID ใบสั่งซื้อ
6. กำหนดความสัมพันธ์ของตาราง ดูที่ตารางแต่ละตารางแล้วพิจารณาวาข้อมูลในตารางหนึ่งสัมพันธ์กับข้อมูลในตารางอื่นๆ อย่างไรให้เพิ่มเขตข้อมูลลงในตารางหรือสร้างตารางใหม่เพื่อระบุความสัมพันธ์ต่างๆ ให้ชัดเจนตามต้องการ
7. การปรับการออกแบบให้ดียิงขึ้น วิเคราะห์การออกแบบ เพื่อหาข้อผิดพลาดสร้างตารางแล้วเพิ่มระเบียนข้อมูลตัวอย่างสองสามระเบียนให้ดูว่าจะได้รับผลลัพธ์ที่ต้องการจากตารางนั้นหรือไม่ แล้วปรับเปลี่ยนการออกแบบตามต้องการ
8. การใช้กฎ Normalization ใช้กฎ Normalization ข้อมูลเพื่อดูว่าตารางมีโครงสร้างที่ถูกต้องหรือไม่ ปรับเปลี่ยนการออกแบบได้เมื่อจำเป็น
9.1  การกำหนดวัตถุประสงค์ของฐานข้อมลู
เป็นการดีที่จะเขียนวัตถุประสงค์ของฐานข้อมูลลงบนกระดาษ ได้แก่ การคาดหวังว่าจะใช้ฐานข้อมูลอย่างไรและใครจะเป็นผู้ใช้ ตัวอย่างเช่น  ฐานข้อมูลขนาดเล็ก สำหรับธุรกิจระดับครอบครัว อาจเขียนทำนองว่า ฐานข้อมูลลูกค้ามีไว้เก็บรายการข้อมูลลูกค้าเพื่อวัตถุประสงค์ในการออกจดหมายและรายงานถ้าฐานข้อมูลซับซ้อนขึ้นหรือมีผู้ใช้หลายคน ดังที่  เกิดขึ้นอยู่บ่อย ๆ ในองค์กร วัตถุประสงค์อาจยาวเป็นย่อหน้าหรือหลายย่อหน้าและควรจะบอกว่าใครจะใช้ฐานข้อมูล เมื่อใดหรืออย่างไรแนวคิดก็คือว่าเขียนพันธ์กิจที่เรียบเรียงไว้ดีแล้วนั้นจะสามารถใช้อ้างถึงได้ตลอดกระบวนการออกแบบการมีบันทึกดังกล่าวจะช่วยให้จดจ่อกับจุดมุ่งหมายเมื่อกระทำการตัดสินใจในกรณีต่างๆ
9.2   การค้นหาและการจัดระเบียบข้อมลูที่ ต้องการ
เมื่อต้องการค้นหาและจัดระเบียบข้อมูลที่ต้องการให้เริ่มต้นกับข้อมูลที่มีอยู่เป็นอันดับแรก เช่น  บันทึกใบสั่งซื้อในบัญชีหรือเก็บข้อมูลลูกค้าในแบบฟอร์มกระดาษไว้ในแฟ้มเอกสารให้รวบรวมเอกสารเหล่านี้แล้วทำรายการชนิดของข้อมูล (ตัวอย่างเช่น แต่ละช่องที่กรอกลงในฟอร์ม) ถ้าไมมีฟอร์มใดๆ อยู่ให้ลองจินตนาการแทนว่ากำลังออกแบบฟอร์มสำหรับการบันทึกข้อมูลลูกค้าต้องคิดว่าจะใส่ข้อมูลอะไรลงในฟอร์มนี้ จะสร้างกล่องสำหรับกรอกข้อมูลอะไรบ้าง ให้ระบุและจดบันทึกรายการเหล่านี้แต่ละรายการไว้ ตัวอย่างเช่น สมมติว่าคุณเก็บรายชื่อลูกค้าไว้ในบัตรดัชนี ให้สำรวจบัตรดัชนีเหล่านี้ว่าในบัตรอาจจะมีรายละเอียดเกี่ยวกับชื่อลูกค้า ที่อยู่  เมือง รัฐ รหัสไปรษณีย์ และหมายเลขโทรศัพท์ โดยสามารถใช้รายการเหล่านี้แต่ละรายการในการ สร้างคอลัมน์ในตารางได้
ในระหว่างที่กำลังเตรียมรายการนี้อยู่ ไม่ต้องเป็นกังวลว่าจะต้องทำให้ได้สมบูรณ์แบบในครั้งแรก  ให้แจกแจงแต่ละรายการเท่าที่นึกได้ ถ้าจะมีบุคคลอื่นใช้ฐานข้อมูลนี้ด้วยให้ลองถามความคิดเห็นจากบุคคลเหล่านั้นดู ซึ่งสามารถปรับรายการให้สมบูรณ์ยิ่งขึ้นได้ในภายหลัง
ในขั้นต่อไปให้พิจารณาชนิดของรายงานหรือการส่งจดหมายที่ต้องการสร้างขึ้นโดยใช้ฐานข้อมูล ตัวอย่างเช่น ต้องการรายงานการขายของผลิตภัณฑ์เพื่อแสดงยอดขายตามภูมิภาคหรือรายงานสรุปสินค้าคงคลังที่แสดงระดับสินค้าคงคลัง นอกจากนี้ถ้าต้องการสร้างจดหมาย แบบฟอร์มสำหรับส่งถึงลูกค้าเพื่อประกาศกิจกรรมการขายหรือนำเสนอข้อเสนอพิเศษต่าง ๆ ให้ ออกแบบรายงานนี้ไว้ในใจ แล้วจินตนาการว่ารายงานจะมีรูปลักษณ์อย่างไรจะใส่ข้อมูลอะไรบ้างลงในรายงาน ให้จดแต่ละรายการไว้แล้วทำเช่นเดียวกันนี้สำหรับจดหมายแบบฟอร์มและสำหรับ รายงานอื่น ๆ ที่จะสร้างขึ้น
เมื่อคิดถึงรายงานและการส่งจดหมายที่ต้องการสร้างจะเป็นการช่วยให้การระบุรายการต่างๆ ที่ต้องการให้มีในฐานข้อมูลได้ เช่น  ถ้าเปิดโอกาสให้ลูกค้าสามารถขอรับหรือขอยกเลิกการรับข้อมูลล่าสุดทางอีเมลเป็นประจำและต้องการพิมพ์รายชื่อลูกค้าที่ต้องการสมัครรับ ข้อมูล เมื่อต้องการบันทึกข้อมูลดังกล่าวไว้ให้เพิ่มคอลัมน์ ส่งอีเมล ลงในตารางลูกค้าและให้สามารถตั้งค่าเขตข้อมูลเป็น ใช่ หรือ ไม่ใช่ ให้กับลูกค้าแต่ละรายได้ ข้อกำหนดในการส่งข้อความอีเมลถึงลูกค้าเป็นอีกรายการหนึ่งที่ต้องบันทึกไว้ เมื่อทราบว่าลูกค้าต้องการรับข้อความอีเมลจำเป็นที่จะต้องทราบที่อยู่อีเมลสำหรับการส่งข้อความอีเมล เหล่านี้  ดังนั้นจึงต้องบันทึกที่อยู่อีเมลของลูกค้าแต่ละรายไว้ด้วย เป็นเรื่องสมเหตุสมผลที่จะสร้างแบบตัวอย่างของรายงานหรือรายการผลลัพธ์แล้ว พิจารณาวารายการใดที่ต้องการสร้างเป็นรายงาน ตัวอย่างเช่น เมื่อต้องการตรวจสอบฟอร์มจดหมาย อาจทำให้นึกอะไรได้หลายอย่าง ตัวอย่างเช่น ถ้าต้องการใส่คำทักทายที่เหมาะสมต้องสร้างรายการ คำทักทายด้วยสตริงที่เริ่มคำขึ้นต้นจดหมายว่า คุณหรือ “Mr.” “Mrs.” หรือ “Ms.” และอาจเริ่มต้นจดหมายแบบทั่วไปด้วย เรียน คุณศักดิ์สิทธิ์ แทนที่จะเป็น เรียน คุณศักดิ์สิทธิ์ วัชรารัตน์ หรือ “Dear Mr. Saksit” แทนที่จะเป็น “Dear Mr. Saksit Watchararat” ดังนี้จึงรู้ว่าควรเก็บชื่อกับนามสกุลไว้แยกกัน
ประเด็นสำคัญที่ต้องจำคือ ควรแตกข้อมูลให้เป็นส่วนเล็กที่สุดที่มีประโยชน์ในกรณี ของชื่อ เพื่อทำให้นามสกุลพร้อมใช้งานได้ ควรแบ่งชื่อออกเป็นสองส่วน คือชื่อกับนามสกุล ตัวอย่างเช่น  เมื่อต้องการเรียงลำดับตามนามสกุล การแบ่งเช่นนี้จะทำให้นามสกุลของลูกค้าถูกเก็บแยกต่างหากโดยทั่วไป ถ้าต้องการเรียงลำดับ ค้นหา คำนวณ หรือรายงานโดยยึดตามข้อมูลรายการ หนึ่งแล้ว ควรเก็บข้อมูลรายการนั้นในเขตข้อมูลของตัวเอง
ลองนึกถึงคำถามที่ต้องการให้ฐานข้อมูลตอบ ตัวอย่างเช่น มีรายการขายของ ผลิตภัณฑ์เด่นที่ปิดรายการขายได้เมื่อเดือนที่แล้วกรายการลูกค้าดีที่สุดอาศัยอยู่ที่ไหนใครเป็นผู้จำหน่ายผลิตภัณฑ์ที่ขายดีที่สุดการคิดคำถามเหล่านี้ล่วงหน้าจะช่วยให้ไม่ต้องเพิ่มรายการในระเบียน
9.3   การแบ่งข้อมลูลงในตารางต่าง 
เมื่อต้องการแบ่งข้อมูลลงในตารางให้เลือกข้อมูลเฉพาะตัวหรือเรื่องสำคัญ ตัวอย่างเช่น หลังจากค้นหาและจัดระเบียบข้อมูลสำหรับฐานข้อมูลการขายสินค้าแล้ว รายการเบื้องต้น



 ข้อมูลเฉพาะตัวที่สำคัญซึ่งแสดงในที่นี้ได้แก่ ผลิตภัณฑ์ ผู้จำหน่าย ลูกค้าและใบสั่งซื้อ ดังนั้น จึงสมควรเริ่มต้นด้วยตาราง 4 ตาราง คือ ตารางหนึ่งสำหรับข้อเท็จจริงเกี่ยวกับผลิตภัณฑ์ ตารางหนึ่งสำหรับข้อเท็จจริงเกี่ยวกับผู้จำหน่าย ตารางหนึ่งสำหรับข้อเท็จจริงเกี่ยวกับลูกค้าและ ตารางหนึ่งสำหรับใบสั่งซื้อ ถึงแม้ว่าทั้งหมดนี้จะไม่ใช่รายการที่ครบถ้วน แตกเป็นจุดเริ่มต้นที่ดีสามารถปรับปรุงรายการนี้ต่อจนกว่าจะมีการออกแบบที่ทำงานได้ดี
เมื่อได้ตรวจทานรายการสิ่งต่างๆ ขั้นต้นเป็นครั้งแรกเราอาจอยากใส่รายการทั้งหมดลงในตารางเดียวแทนที่จะเป็นสี่ตารางดังที่แสดงภาพประกอบไว้ก่อนหน้าจะได้เรียนรู้ว่าทำไมการทำเช่นนั้นจึงไม่ใช่ความคิดที่ดี 














ไม่มีความคิดเห็น:

แสดงความคิดเห็น