ระบบฐานข้อมูล (Database Management System) GSPM 912706 เทคโนโลยีสารสนเทศชุมชน (Community Information Technology) กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
โครงสร้างข้อมูลที่ถูกจัดเก็บอยู่ในคอมพิวเตอร์ Bit Character Fields Records Files Database โครงสร้างการจัดเก็บข้อมูลในคอมพิวเตอร์ การจัดเก็บข้อมูลในคอมพิวเตอร์นั้นแบ่งออกได้เป็นหลายระดับ หากเรียงจากระดับที่มีสาระของข้อมูลน้อยไปมากจะเรียงได้ดังนี้ Bit: บิตข้อมูล Character: อักขระ 1 ตัว Fields: ชุดของตัวอักษรหลายๆตัวที่มีความหมาย Records: ข้อมูลที่รวบรวมหลายๆฟิลด์ที่มีความสัมพันธ์กัน Files: การเก็บข้อมูลหลายๆเรคคอร์ดที่สัมพันธ์เข้าด้วยกัน Database: ฐานข้อมูลขนาดใหญ่ที่รวมรวมข้อมูลหลายๆเรคคอร์ด หลายๆไฟล์ที่มีความสัมพันธ์กันเข้าด้วยกัน Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database Management Systems Bit & Character Bit Binary Digit (0,1) Character เช่น A,B,C,1,2,ก,ข,ค,*,/ เป็นต้น เกิดจากการรวมตัวกันของ bit 7 bits หรือ 8 bits ขึ้นกับมาตรฐานที่ใช้ว่าเป็นชนิดใด มีตารางกำหนดรหัส เช่น A = 100 0001 ข้อมูลระดับบิต และอักขระ (Bit and Character) Bit: เป็นหน่วยข้อมูลที่ย่อยที่สุดในระบบคอมพิวเตอร์ จะมีค่าคือ 0 หรือ 1 Character: คืออักขระหรือตัวอักษรหนึ่งตัวที่สามารถอ่านออก เช่น พยัญชนะต่างๆทั้งในภาษาไทย ภาษาอังกฤษ สัญลักษณ์ หรือไม่สามารถอ่านได้เช่น ช่องว่าง แท็ป อักขระต่างๆเหล่านี้เกิดจากการรวมตัวกันของข้อมูลระดับบิตจำนวน 7 บิต หรือ 8 บิต แล้วแต่มาตรฐาน การที่เราจะทราบได้ว่าชุดข้อมูล 7-8 บิตนี้เป็นอักขระตัวใดนั้น ต้องไปดูในตารางที่ถูกำหนดไว้ตั้งแต่ต้นก่อน Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database Management Systems Field & Record Field (ฟิลด์หรือเขตข้อมูล) คือการรวมตัวของข้อมูลระดับ character เพื่อให้สามารถสื่อความหมายตามที่ผู้ใช้ต้องการ Record (ระเบียน) คือกลุ่มของฟิลด์ที่สามารถอธิบายลักษณะของสิ่งที่เราต้องการจัดเก็บในคอมพิวเตอร์ได้ ข้อมูลระดับฟิลด์และเรคคอร์ด (Field and Record) ตัวอย่างของ Field รหัสนักศึกษา: ประกอบด้วย character 7 ตัว เช่น 3806999 ชื่อนักศึกษา: ประกอบด้วย character หลายตัว เช่น “ธัญลักษณ์” ตัวอย่างของ Record ระเบียนของนักศึกษา: ประกอบด้วยฟิลด์ รหัสนักศึกษา , ชื่อนักศึกษา , ที่อยู่ของนักศึกษา Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
File System (ระบบแฟ้มข้อมูล) กลุ่มของระเบียนที่เกี่ยวข้องกัน File System การรวบรวมและการใช้งานไฟล์ต่างๆ ที่เกี่ยวข้องกัน มีการควบคุมโครงสร้างของไฟล์เพื่อให้ใช้งานร่วมกันได้อย่างมีประสิทธิภาพ ระบบแฟ้มข้อมูล (File System) ตัวอย่างของ File เช่น แฟ้มข้อมูลของนักศึกษา 500 คน ประกอบด้วยระเบียนของนักศึกษา จำนวน 500 ระเบียน ตัวอย่างของ File System ไฟล์ข้อมูลนักศึกษา , ไฟล์ข้อมูลกระบวนวิชา , ไฟล์ข้อมูลอาจารย์ เป็นต้น Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
File System - ข้อดีของการประมวลผล การประมวลผลข้อมูลทำได้อย่างรวดเร็ว โปรแกรมประยุกต์แต่ละโปรแกรมสามารถควบคุมการใช้ข้อมูลในไฟล์ของตนเองได้ ไฟล์ต่างๆ มีความปลอดภัยและความคล่องตัวในการประมวลผลสูงหากมีผู้ใช้งานเพียงแค่คนเดียว ข้อดีของการใช้ระบบแฟ้มข้อมูล การประมวลทำได้อย่างรวดเร็วเนื่องจาก ข้อมูลที่จัดเก็บไม่ได้มีความสัมพันธ์ที่ซับซ้อน ดังนั้นการจัดเก็บข้อมูลจะทำได้อย่างรวดเร็ว โปรแกรมประยุกต์แต่ละโปรแกรมจะทำงานเกี่ยวข้องเฉพาะแต่ไฟล์ที่ตนเองต้องใช้ ไม่สามารถไปยุ่งเกี่ยวกับข้อมูลอื่นนอกเหนือจากนี้ได้ หากมีผู้ใช้งานคนเดียวจะทำงานได้อย่างรวดเร็ว เนื่องจากระบบแฟ้มข้อมูลไม่รองรับการใช้งานของผู้ใช้ที่ละหลายๆคน ดังนั้นในการประมวลผลจึงทำงานเสมือนว่ามีผู้ใช้เพียงคนเดียวตลอดเวลา การเปลี่ยนแปลงแก้ไขต่างๆจึงทำได้ทันที แต่ถ้าหากต้องรองรับจำนวนผู้ใช้พร้อมๆกันหลายๆคน จะต้องมีระบบป้องกันการแก้ไขข้อมูลที่อาจเกิดพร้อมๆกัน ซึ่งต้องเขียนโปรแกรมในส่วนนี้เพิ่มเติมขึ้นมาเอง Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
File System - ข้อเสียของการประมวลผล มีความซ้ำซ้อนของข้อมูล ความยากในการประมวลผลข้อมูลในไฟล์หลายไฟล์ ไม่มีผู้ควบคุมหรือรับผิดชอบระบบทั้งหมด ความขึ้นต่อกันระหว่างโปรแกรมประยุกต์และโครงสร้างไฟล์ ข้อเสียของการประมวลผล ความซ้ำซ้อนของข้อมูล ชุดข้อมูลเดียวกันอาจถูกจัดเก็บอยู่ในไฟล์มากกว่า 1 ไฟล์ เสียเนื้อที่การใช้งานในหน่วยเก็บข้อมูลที่อาจจะเกิดการซ้ำกัน ซึ่งสามารถเกิดขึ้นได้ และเกิดได้เป็นจำนวนมาก เพราะในการจัดเก็บแทบจะไม่มีการตรวจสอบข้อมูลแต่อย่างใด ถ้ามีการเปลี่ยนแปลงข้อมูลในไฟล์ใดไฟล์หนึ่ง จะต้องแก้ไขข้อมูลในไฟล์อื่นทุกไฟล์ที่มีข้อมูลนั้นอยู่ด้วยเพื่อให้ข้อมูลในทุกๆตำแหน่งที่จัดเก็บอยู่ในสถานะที่ถูกต้องตลอดเวลา หากไม่ทำการปรับปรุงข้อมูลในทุกๆตำแหน่งให้ถูกต้องและเหมือนกัน อาจเกิดความขัดแย้งกันของข้อมูล เนื่องจากข้อมูลในแต่ละไฟล์ไม่ตรงกัน หากต้องเขียนโปรแกรมเพื่อให้ทำงานกับไฟล์ข้อมูลทีละหลายๆไฟล์ย่อมจะเป็นเรื่องยุ่งยากมาก และยังอาจต้องรับมือกับเรื่องการกำหนดสิทธิการเข้าถึงแต่ละไฟล์ด้วยยิ่งยุ่งยากมากขึ้น เนื่องจากไม่มีผู้รับผิดชอบการทำงานระบบทั้งหมด ดังนั้นผู้พัฒนาโปรแกรมต้องคำนึงถึงเรื่องสำคัญทุกเรื่อง ที่มีการพัฒนาโปรแกรมถึงแม้จะเป็นเรื่องเดิมๆที่ได้เคยพัฒนามาแล้วในโปรแกรมก่อนหน้านี้ ในการแก้ไข หรือปรับปรุงข้อมูลใดๆในระบบแฟ้มข้อมูล เนื่องจากแต่ละไฟล์มีความเกี่ยวข้องกัน จะพบว่าหลายๆกรณีที่หากไม่คำนึงถึงความสัมพันธ์ของข้อมูล จะทำให้ข้อมูลไม่อยู่ในสถานะที่ถูกต้อง Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database Management Systems ราคาแพง การทำงานค่อนข้างช้า ระบบฐานข้อมูล (Database) เป็นลักษณะการจัดเก็บข้อมูลโดยคำนึงถึงความสัมพันธ์ ซึ่งจากความสัมพันธ์ต่างเหล่านี้เองจะส่งผลให้ข้อมูลลดการซ้ำซ้อนกัน และมีประสิทธิภาพในการค้นหาข้อมูลที่ต้องการ ลักษณะของฐานข้อมูล คือจะเป็นโปรแกรมขนาดใหญ่ตัวหนึ่งทำหน้าที่คล้ายผู้จัดการ ที่อนุญาติให้ผู้ใช้แต่ละคนสามารถสร้างฐานข้อมูลของตัวเองขึ้น ภายใต้การดูแลและเงื่อนไขต่างๆซึ่งโปรแกรมผู้จัดการนี้เป็นคนกำหนด โปรแกรมฐานข้อมูล หรือโปรแกรมที่เป็นผู้จัดการนี้ จะคอยดูและการเข้าถึงข้อมูลของฐานข้อมูลแต่ละตัวที่ตัวเองรับผิดชอบดูแล ดูแลความซ้ำซ้อน ดูแลรายการผู้มีสิทธิใช้งานฐานข้อมูลต่างๆ ข้อเสียของฐานข้อมูล ราคาสูงเมื่อเทียบกับระบบแฟ้มข้อมูล เพราะต้องซื้อโปรแกรมฐานข้อมูลซึ่งทำหน้าที่เหมือนเป็นผู้จัดการด้วย ต้องเสียค่าใช้จ่ายในการซื้อเครื่องคอมพิวเตอร์ที่มีประสิทธิภาพค่อนข้างสูงเพื่อเอาไว้ให้โปรแกรมฐานข้อมูลทำงาน เนื่องจากสำหรับโปรแกรมฐานข้อมูลนั้น หากต้องการจัดเก็บข้อมูล หรือเรียกค้นข้อมูล จำเป็นต้องคำนึงถือความสัมพันธ์ต่างๆมากมาย ทำให้ค่อนข้างช้า ดังนั้นถ้าหากไม่ใช้คอมพิวเตอร์ที่มีประสิทธิภาพอาจทำให้การทำงานทั้งหมดล่าช้าก็เป็นได้ Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database Management Systems ลดความซ้ำซ้อนของข้อมูล การควบคุมความถูกต้องของข้อมูลทำได้อย่างมีประสิทธิภาพ ความเป็นอิสระระหว่างโปรแกรมประยุกต์และฐานข้อมูล ทำให้โปรแกรมประยุกต์ต่างๆสามารถใช้งานข้อมูลร่วมกันได้ มีผู้ควบคุมระบบ เป็นผู้บริหารและจัดการข้อมูลในฐานข้อมูล ข้อดีของระบบฐานข้อมูล ลดความซ้ำซ้อนของข้อมูลที่อาจจะเกิดขึ้นระหว่างการจัดเก็บ ควบคุมความถูกต้องของข้อมูลได้ดีกว่าระบบแฟ้มข้อมูล เนื่องจากอาศัยความสัมพันธ์ของข้อมูล และระบบความคุมการเข้าถึงข้อมูลของผู้ใช้ ไม่ให้ผู้ใช้หลายๆคนสามารถเข้ามาเปลี่ยนแปลงข้อมูลชุดเดียวกันพร้อมๆกันได้ จุดสำคัญที่โดดเด่นเหนือระบบแฟ้มข้อมูลคือ ความเป็นอิสระต่อกันระหว่างข้อมูลที่ถูกจัดเก็บในระบบฐานข้อมูล กับตัวโปรแกรมประยุกต์ จึงทำให้เราสามารถพัฒนาโปรแกรมประยุกต์ต่างๆเพื่อมาเรียกใช้ข้อมูลชุดเดียวกันได้ ซึ่งต่างจากระบบแฟ้มข้อมูล มีผู้รับผิดชอบตรวจสอบ ดูแลความผิดพลาดต่างๆที่อาจจะเกิดขึ้น Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database System - องค์ประกอบ Hardware Software - DBMS องค์ประกอบของระบบฐานข้อมูล Data: ตัวข้อมูลที่ต้องการจัดเก็บ และประมวลผล Hardware: เครื่องคอมพิวเตอร์ที่จะติดตั้งระบบฐานข้อมูล Software: โปรแกรมฐานข้อมูลที่ทำหน้าที่เหมือนเป็นผู้จัดการที่เรียกว่า DBMS และโปรแกรมประยุกต์ที่ใช้ในการเข้าถึง แสดง และประมวลผลข้อมูล Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database System - องค์ประกอบ จากคำนิยามของฐานข้อมูล ข้อมูลในฐานข้อมูลประกอบด้วย การนำแฟ้มข้อมูลที่สัมพันธ์กันมารวมกัน มีการเก็บคำอธิบายเกี่ยวกับโครงสร้างของฐานข้อมูลที่เรียกว่า “Data Dictionary” (หรือ Meta-Data) ข้อมูล (Data) ข้อมูลที่อยู่ในฐานข้อมูลควรมีลักษณะ ดังนี้ มีความถูกต้อง ทันสมัย มีความซ้ำซ้อนของข้อมูลน้อยที่สุด สามารถใช้งานร่วมกันได้จากหลายๆโปรแกรม Data Dictionary คือ คำอธิบายโครงสร้างของฐานข้อมูลแต่ละตัวว่าประกอบไปด้วย ตารางกี่ตาราง แต่ละตารางมีข้อมูลกี่ฟิลด์ เป็นต้น Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database System - องค์ประกอบ Hardware หน่วยความจำสำรอง (Secondary Storage) เนื่องจากเป็นอุปกรณ์ทางคอมพิวเตอร์ที่ใช้จัดเก็บข้อมูลของฐานข้อมูล หน่วยประมวลผล และหน่วยความจำหลัก เนื่องจากเป็นอุปกรณ์ที่จะต้องทำงานร่วมกัน เพื่อนำข้อมูลจากฐานข้อมูลขึ้นมาประมวลผลตามคำสั่งที่กำหนด ระบบคอมพิวเตอร์ที่ใช้รองรับการทำงานของระบบฐานข้อมูล (Hardware) สิ่งที่ต้องคำนึงถึง หน่วยความจำสำรอง ได้แก่ ความจุของหน่วยความจำสำรองที่นำมาใช้จัดเก็บข้อมูลนั้น เช่น ความจุของ Harddisk หน่วยประมวลผล ได้แก่ ความเร็วของหน่วยประมวลผล และขนาดของหน่วยความจำหลักของเครื่องคอมพิวเตอร์ที่นำมาใช้ประมวลผลร่วมกับฐานข้อมูล เช่น ความเร็วการทำงานของ CPU ความจุและชนิดของ RAM ที่ใช้กับเครื่องคอมพิวเตอร์ที่จะใช้รองรับการทำงานของระบบฐานข้อมูล Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database System - องค์ประกอบ Software - DBMS ในการติดต่อกับข้อมูลภายในฐานข้อมูลของผู้ใช้ จะต้องกระทำผ่านโปรแกรมที่มีชื่อว่าโปรแกรม Database Management System (DBMS) โปรแกรมประยุกต์ซึ่งจะเข้าถึงและประมวลผลข้อมูลที่ DBMS ดูแลอยู่ ตามที่ผู้ใช้ต้องการ ซึ่งต้องมีการพัฒนาขึ้นมาต่างหากนอกเหนือจาก DBMS โปรแกรมคอมพิวเตอร์ (Software) DBMS ถูกสร้างขึ้นมาเพื่อ จัดการและควบคุมความถูกต้อง ความซ้ำซ้อนและความสัมพันธ์ระหว่างข้อมูลต่างๆ ภายในฐานข้อมูลแทนโปรแกรมเมอร์ ทำให้ผู้ใช้สามารถที่จะเรียกใช้ข้อมูลจากฐานข้อมูลได้โดยไม่จำเป็นที่จะต้องทราบถึงโครงสร้างทางกายภาพของข้อมูลในระดับที่ลึกเช่นเดียวกับโปรแกรมเมอร์ โปรแกรมประยุกต์ (Application) พัฒนาขึ้นมาแยกต่างหากจาก DBMS สามารถเข้าถึงข้อมูลที่ DBMS ดูแลอยู่ และประมวลผลข้อมูลได้อย่างที่ผู้ต้องการ Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database Management Systems Database System - DBMS DBMS Database ลักษณะการทำงานของระบบฐานข้อมูล DBMS ทำหน้าที่เหมือนตัวกลางระหว่างผู้ใช้กับฐานข้อมูล โดยโปรแกรมประยุกต์ที่พัฒนาขึ้นซึ่งทำงานอยู่ทีเครื่องคอมพิวเตอร์เครื่องต่างๆที่ต้องการจัดการกับข้อมูลในฐานข้อมูลจะต้องเขียนคำสั่งผ่าน DBMS ก่อน แล้ว DBMS จะจัดการกับฐานข้อมูลแล้วส่งข้อมูลที่ต้องการให้โปรแกรมอีกทีหนึ่ง ผู้เขียนโปรแกรมไม่จำเป็นต้องสนใจว่าข้อมูลจะถูกเก็บอย่างไรใน Harddisk เพียงแค่ใช้คำสั่งที่เป็นคำสั่งมาตรฐานผ่าน DBMS เท่านั้น Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database System - องค์ประกอบ Software - หน้าที่หลักของ DBMS แปลงคำสั่ง นำคำสั่งต่างๆ ซึ่งได้รับการแปลแล้ว ไปสั่งให้ฐานข้อมูลทำงาน ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ เก็บรายละเอียดต่างๆ ที่เกี่ยวข้องกับข้อมูล ภายในฐานข้อมูลไว้ใน Data Dictionary ซึ่งรายละเอียดเหล่านี้มักจะถูกเรียกว่า “ข้อมูลทางข้อมูล” (Metadata) หน้าที่หลักของ DBMS แปลงคำสั่งที่ใช้จัดการกับข้อมูลภายในฐานข้อมูล ให้อยู่ในรูปแบบที่ฐานข้อมูลเข้าใจ นำคำสั่งต่างๆ ซึ่งได้รับการแปลแล้ว ไปสั่งให้ฐานข้อมูลทำงาน เช่น การเรียกใช้ข้อมูล (Retrieve) การจัดเก็บข้อมูล (Update) การลบข้อมูล (Delete) การเพิ่มข้อมูล (Add) เป็นต้น ป้องกันความเสียหายที่จะเกิดขึ้นกับข้อมูลภายในฐานข้อมูล โดยจะคอยตรวจสอบว่าคำสั่งใด ที่สามารถทำงานได้ และคำสั่งใดที่ไม่สามารถทำงานได้ รักษาความสัมพันธ์ของข้อมูลภายในฐานข้อมูลให้มีความถูกต้องอยู่เสมอ เก็บรายละเอียดต่างๆ ที่เกี่ยวข้องกับข้อมูล ภายในฐานข้อมูลไว้ใน Data Dictionary ซึ่งรายละเอียดเหล่านี้มักจะถูกเรียกว่า “ข้อมูลทางข้อมูล” (Metadata) Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่
Database System - องค์ประกอบ Software - องค์ประกอบหลักของ DBMS Query Language แบบ SQL (Structured Query Language) ใช้สร้างคำสั่งเพื่อจัดการโครงสร้างข้อมูลและข้อมูลในฐานข้อมูล มีรูปแบบเป็นภาษาอังกฤษ ที่ง่ายต่อการเรียนรู้และสามารถนำไปใช้ร่วมกับภาษา คอมพิวเตอร์อื่นๆ เพื่อพัฒนาเป็นโปรแกรมที่ใช้สำหรับใช้ข้อมูลจากฐานข้อมูลมาประมวลผล Data Dictionary องค์ประกอบหลักของ DBMS Query Language ประกอบด้วย Data Definition Language (DDL): ใช้นิยามโครงสร้างของฐานข้อมูล Data Manipulation Language (DML): ใช้จัดการข้อมูลในฐานข้อมูล Control Language (CU): ใช้ควบคุมระบบรักษาความปลอดภัยของฐานข้อมูล Data Dictionary เก็บรายละเอียดเกี่ยวกับข้อมูลในฐานข้อมูล เช่น โครงสร้างของแต่ละตาราง ,ใครเป็นผู้สร้าง ,สร้างเมื่อใด , แต่ละตารางประกอบด้วยข้อมูลอะไรบ้าง , คุณลักษณะของเขต ข้อมูลเป็นอย่างไร เป็นต้น Database Management Systems กระบวนวิชา บวจป 912706 (เทคโนโลยีสารสนเทศชุมชน) บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่