วันอังคารที่ 17 มิถุนายน พ.ศ. 2557

ฐานข้อมูล (Database)

1.ขั้นตอนการประมวลผลข้อมูลด้วยเครื่องอิเล็กทรอนิคส์ แบ่งได้กี่วิธี อะไรบ้าง
ขั้นตอนการประมวลผลข้อมูลด้วยเครื่องอิเล็กทรอนิคส์  แบ่งได้ 3วิธี ดังนี้
 1. ขั้นเตรียมข้อมูล
     เป็นการเตรียมข้อมูลเพื่อให้สะดวกต่อการประมวลผล ซึ่งมี 4 วิธี
  1.1 การลงรหัส
  1.2 การตรวจสอบ
  1.3 การจำแนก
  1.4 การบันทึกข้อมูลลงสื่อ 
 2.  ขั้นตอนการประมวลผล
  คือ เป็นการนำเอาโปรแกรมที่เขียนขึ้น  มาใช้เพื่อประมวลผลข้อมูลที่ได้เตรียมไว้และข้อมูลยังคงเก็บอยู่ในคอมพิวเตอร์ ซึ่งเป็นวิธีการผลิตสารสนเทศต่างๆ เช่น
  2.1 การคำนวณ
  2.2 การเรียงลำดับข้อมูล
  2.3 การสรุป
  2.4 การเปรียบเทียบ
3. ขั้นตอนการแสดงผลลัพธ์
เป็นขั้นตอนการเผยแพร่สารสนเทศให้กับผู้ใช้ในรูปแบบต่างๆ  อาจอยู่ในรูปแบบเอกสาร รายงาน การนำเสนอบนจอภาพ โดยการใช้คอมพิวเตอร์ เป็นต้น       

 2.จงเรียงลำดับโครงสร้างข้อมูลจากขนาดเล็กไปใหญ่ พร้อมอธิบายความหมายของโครงสร้างข้อมูลแต่ละแบบ
ในการนำข้อมูลไปใช้นั้น เรามีระดับโครงสร้างของข้อมูลดังนี้ 
หน่วยในการวัดขนาดของข้อมูล
8 Bit = 1 Byte
1,024 Byte = 1 KB (กิโลไบต์)
1,024 KB = 1 MB (เมกกะไบต์)
1,024 MB = 1GB (กิกะไบต์)
1,024 GB = 1TB (เทอราไบต์) 
1,024TB=1PB(พีดาไบต์)
 บิต (Bit) คือ ข้อมูลที่มีขนาดเล็กที่สุด เป็นข้อมูลที่เครื่องคอมพิวเตอร์สามารถเข้าใจและนำไปใช้ งานได้ ซึ่งได้แก่ เลข 0 หรือ เลข 1 เท่านั้น 

 ไบต์ (Byte) หรือ อักขระ (Character) ได้แก่ ตัวเลข หรือ ตัวอักษร หรือ สัญลักษณ์พิเศษ 1 ตัว เช่น 0, 1, …, 9, A, B, …, Z และเครื่องหมายต่างๆ ซึ่ง 1 ไบต์จะเท่ากับ 8 บิต หรือ ตัวอักขระ 1 ตัว เป็นต้น 

 ฟิลด์ (Field) ได้แก่ ไบต์ หรือ อักขระตั้งแต่ 1 ตัวขึ้นไปรวมกันเป็นฟิลด์ เช่น เลขประจำตัว(ID) ชื่อพนักงาน(name) เป็นต้น 

 เรคคอร์ด (Record) ได้แก่ ฟิลด์ตั้งแต่ 1 ฟิลด์ ขึ้นไป ที่มีความสัมพันธ์เกี่ยวข้องรวมกันเป็นเรคคอร์ด เช่น ชื่อ นามสกุล เลขประจำตัว ยอดขาย ข้อมูลของพนักงาน 1 คน เป็น 1 เรคคอร์ด 

 ไฟล์ (Files) หรือ แฟ้มข้อมูล ได้แก่ เรคคอร์ดหลายๆ เรคคอร์ดรวมกัน ซึ่งเป็นเรื่องเดียวกัน เช่น ข้อมูลของประวัติพนักงานแต่ละคนรวมกันทั้งหมด เป็นไฟล์หรือแฟ้มข้อมูลเกี่ยวกับประวัติพนักงานของบริษัท เป็นต้น 

 ฐานข้อมูล (Database) คือ การเก็บรวบรวมไฟล์ข้อมูลหลายๆ ไฟล์ที่เกี่ยวข้องกันมารวมเข้าด้วยกัน เช่น ไฟล์ข้อมูลของแผนกต่างๆ มารวมกัน เป็นฐานข้อมูลของบริษัท เป็นต้น                                                                                                                                                                                                                                                                                                                        

3.หากนำเอาระบบฐานข้อมูลมาใช้ในหน่วยงานที่นักศึกษาทำงานอยู่ สามารถมีระบบใดบ้าง และระบบฐานข้อมูลนั้นมีประโยชน์ต่อองค์กรอย่างไร
 1.ลดความซ้ำซ้อนของข้อมูล

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



2.รักษาความถูกต้องของข้อมูล
เนื่องจากระบบจัดการฐานข้อมูลสามารถตรวจสอบกฎบังคับความถูกต้องของข้อมูลให้ได้ โดยนำกฎเหล่านั้นมาไว้ที่ฐานข้อมูล ซึ่งถือเป็นหน้าที่ของระบบจัดการฐานข้อมูลที่จะจัดการเรื่องความถูกต้องของข้อมูลให้แทน แต่ถ้าเป็นระบบแฟ้มข้อมูลผู้พัฒนาโปรแกรมต้องเขียนโปรแกรมเพื่อควบคุมกฎระเบียบต่างๆ(data integrity) เองทั้งหมด ถ้าเขียนโปรแกรมครอบคลุมกฎระเบียบใดไม่ครบหรือขาดหายไปบางกฎอาจทำให้ข้อมูลผิดพลาดได้ และยังช่วยลดค่าใช้จ่ายในการบำรุงรักษาและพัฒนาโปรแกรมด้วย เนื่องจากระบบจัดการฐานข้อมูลจัดการให้นั่นเอง เนื่องจากระบบจัดการฐานข้อมูลสามารถรองรับการใช้งานของผู้ใช้หลายคนพร้อมกันได้ ดังนั้นความคงสภาพและความถูกต้องของข้อมูลจึงมีความสำคัญมากและต้องควบคุมให้ดีเนื่องจากผู้ใช้อาจเปลี่ยนแปลงแก้ไขข้อมูลได้ ซึ่งจะทำให้เกิดความผิดพลาดกระทบต่อการใช้ข้อมูลของผู้ใช้อื่นทั้งหมดได้ ดังนั้นประโยชน์ของระบบฐานข้อมูลในเรื่องนี้จึงมีความสำคัญมาก
3. มีความเป็นอิสระของข้อมูล
เนื่องจากมีแนวคิดที่ว่าทำอย่างไรให้โปรแกรมเป็นอิสระจากการเปลี่ยนแปลงโครงสร้างข้อมูล ในปัจจุบันนี้ถ้าไม่ใช้ระบบฐานข้อมูลการแก้ไขโครงสร้างข้อมูลจะกระทบถึงโปรแกรมด้วย เนื่องจากในการเรียกใช้ข้อมูลที่เก็บอยู่ในระบบแฟ้มข้อมูลนั้น ต้องใช้โปรแกรมที่เขียนขึ้นเพื่อเรียกใช้ข้อมูลในแฟ้มข้อมูลนั้นโดยเฉพาะ เช่น เมื่อต้องการรายชื่อพนักงานที่มีเงินเดือนมากกว่า 100,000 บาทต่อเดือน โปรแกรมเมอร์ต้องเขียนโปรแกรมเพื่ออ่านข้อมูลจากแฟ้มข้อมูลพนักงานและพิมพ์รายงานที่แสดงเฉพาะข้อมูลที่ตรงตามเงื่อนไขที่กำหนด กรณีที่มีการเปลี่ยนแปลงโครงสร้างของแฟ้มข้อมูลข้อมูลเช่น ให้มีดัชนี (index) ตามชื่อพนักงานแทนรหัสพนักงาน ส่งผลให้รายงานที่แสดงรายชื่อพนักงานที่มีเงินเดือนมากกว่า 100,000 บาทต่อเดือนซึ่งแต่เดิมกำหนดให้เรียงตามรหัสพนักงานนั้นไม่สามารถพิมพ์ได้ ทำให้ต้องมีการแก้ไขโปรแกรมตามโครงสร้างดัชนี (index) ที่เปลี่ยนแปลงไป ลักษณะแบบนี้เรียกว่าข้อมูลและโปรแกรมไม่เป็นอิสระต่อกัน
สำหรับระบบฐานข้อมูลนั้นข้อมูลภายในฐานข้อมูลจะเป็นอิสระจากโปรแกรมที่เรียกใช้(data independence) สามารถแก้ไขโครงสร้างทางกายภาพของข้อมูลได้ โดยไม่กระทบต่อโปรแกรมที่เรียกใช้ข้อมูลจากฐานข้อมูล เนื่องจากระบบฐานข้อมูลมีระบบจัดการฐานข้อมูลทำหน้าที่แปลงรูป (mapping) ให้เป็นไปตามรูปแบบที่ผู้ใช้ต้องการ เนื่องจากในระบบแฟ้มข้อมูลนั้นไม่มีความเป็นอิสระของข้อมูล ดังนั้นระบบฐานข้อมูลได้ถูกพัฒนาขึ้นมาเพื่อแก้ปัญหาด้านความเป็นอิสระของข้อมูล นั่นคือระบบฐานข้อมูลมีการทำงานไม่ขึ้นกับรูปแบบของฮาร์ดแวร์ที่นำมาใช้กับระบบฐานข้อมูลและไม่ขึ้นกับโครงสร้างทางกายภาพของข้อมูล และมีการใช้ภาษาสอบถามในการติดต่อกับข้อมูลภายในฐานข้อมูลแทนคำสั่งของภาษาคอมพิวเตอร์ในยุคที่ 3 ทำให้ผู้ใช้เรียกใช้ข้อมูลจากฐานข้อมูลโดยไม่จำเป็นต้องทราบรูปแบบการจัดเก็บข้อมูล ประเภทหรือขนาดของข้อมูลนั้นๆ
4. มีความปลอดภัยของข้อมูลสูง
ถ้าหากทุกคนสามารถเรียกดูและเปลี่ยนแปลงข้อมูลในฐานข้อมูลทั้งหมดได้ อาจก่อให้เกิดความเสียหายต่อข้อมูลได้ และข้อมูลบางส่วนอาจเป็นข้อมูลที่ไม่อาจเปิดเผยได้หรือเป็นข้อมูลเฉพาะของผู้บริหาร หากไม่มีการจัดการด้านความปลอดภัยของข้อมูล ฐานข้อมูลก็จะไม่สามารถใช้เก็บข้อมูลบางส่วนได้
ระบบฐานข้อมูลส่วนใหญ่จะมีการรักษาความปลอดภัยของข้อมูล ดังนี้
· มีรหัสผู้ใช้ (user) และรหัสผ่าน (password) ในการเข้าใช้งานฐานข้อมูลสำหรับผู้ใช้แต่ละคนระบบฐานข้อมูลมีระบบการสอบถามชื่อพร้อมรหัสผ่านของผู้เข้ามาใช้ระบบงานเพื่อให้ทำงานในส่วนที่เกี่ยวข้องเท่านั้น โดยป้องกันไม่ให้ผู้ที่ไม่ได้รับอนุญาตเข้ามาเห็นหรือแก้ไขข้อมูลในส่วนที่ต้องการปกป้องไว้
· ในระบบฐานข้อมูลสามารถสร้างและจัดการตารางข้อมูลทั้งหมดในฐานข้อมูล ทั้งการเพิ่มผู้ใช้ ระงับการใช้งานของผู้ใช้ อนุญาตให้ผู้ใช้สามารถเรียกดู เพิ่มเติม ลบและแก้ไขข้อมูล หรือบางส่วนของข้อมูลได้ในตารางที่ได้รับอนุญาต) ระบบฐานข้อมูลสามารถกำหนดสิทธิการมองเห็นและการใช้งานของผู้ใช้ต่างๆ ตามระดับสิทธิและอำนาจการใช้งานข้อมูลนั้นๆ
· ในระบบฐานข้อมูล (DBA) สามารถใช้วิว (view) เพื่อประโยชน์ในการรักษาความปลอดภัยของข้อมูลได้เป็นอย่างดี โดยการสร้างวิวที่เสมือนเป็นตารางของผู้ใช้จริงๆ และข้อมูลที่ปรากฏในวิวจะเป็นข้อมูลที่เกี่ยวข้องกับงานของผู้ใช้เท่านั้น ซึ่งจะไม่กระทบกับข้อมูลจริงในฐานข้อมูล
· ระบบฐานข้อมูลจะไม่ยอมให้โปรแกรมใดๆ เข้าถึงข้อมูลในระดับกายภาพ (physical) โดยไม่ผ่าน ระบบการจัดการฐานข้อมูล และถ้าระบบเกิดความเสียหายขึ้นระบบจัดการฐานข้อมูลรับรองได้ว่าข้อมูลที่ยืนยันการทำงานสำเร็จ (commit) แล้วจะไม่สูญหาย และถ้ากลุ่มงานที่ยังไม่สำเร็จ (rollback) นั้นระบบจัดการฐานข้อมูลรับรองได้ว่าข้อมูลเดิมก่อนการทำงานของกลุ่มงานยังไม่สูญหาย
· มีการเข้ารหัสและถอดรหัส (encryption/decryption) เพื่อปกปิดข้อมูลแก่ผู้ที่ไม่เกี่ยวข้อง เช่น มีการเข้ารหัสข้อมูลรหัสผ่าน
5. ใช้ข้อมูลร่วมกันโดยมีการควบคุมจากศูนย์กลาง
มีการควบคุมการใช้ข้อมูลในฐานข้อมูลจากศูนย์กลาง ระบบฐานข้อมูลสามารถรองรับการทำงานของผู้ใช้หลายคนได้ กล่าวคือระบบฐานข้อมูลจะต้องควบคุมลำดับการทำงานให้เป็นไปอย่างถูกต้อง เช่นขณะที่ผู้ใช้คนหนึ่งกำลังแก้ไขข้อมูลส่วนหนึ่งยังไม่เสร็จ ก็จะไม่อนุญาตให้ผู้ใช้คนอื่นเข้ามาเปลี่ยนแปลงแก้ไขข้อมูลนั้นได้ เนื่องจากข้อมูลที่เข้ามายังระบบฐานข้อมูลจะถูกนำเข้าโดยระบบงานระดับปฏิบัติการตามหน่วยงานย่อยขององค์กร ซึ่งในแต่ละหน่วยงานจะมีสิทธิในการจัดการข้อมูลไม่เท่ากัน ระบบฐานข้อมูลจะทำการจัดการว่าหน่วยงานใดใช้ระบบจัดการฐานข้อมูลในระดับใดบ้าง ใครเป็นผู้นำข้อมูลเข้า ใครมีสิทธิแก้ไขข้อมูล และใครมีสิทธิเพียงเรียกใช้ข้อมูล เพื่อที่จะให้สิทธิที่ถูกต้องบนตารางที่สมควรให้ใช้
ระบบฐานข้อมูลจะบอกรายละเอียดว่าข้อมูลใดถูกจัดเก็บไว้ในตารางชื่ออะไร เมื่อมีคำถามจากผู้บริหารจะสามารถหาข้อมูลเพื่อตอบคำถามได้ทันทีโดยใช้ภาษาฐานข้อมูลที่มีประสิทธิภาพมาก คือ SQL ซึ่งสามารถตอบคำถามที่เกิดขึ้นในขณะใดขณะหนึ่งที่เกี่ยวข้องกับฐานข้อมูลได้ทันที โดยไม่จำเป็นต้องเขียนภาษาโปรแกรมอย่างเช่น โคบอล ซี หรือ ปาสคาล ซึ่งเสียเวลานานมากจนอาจไม่ทันต่อความต้องการใช้ข้อมูลเพื่อการตัดสินใจของผู้บริหาร
เนื่องจากระบบจัดการฐานข้อมูลนั้นสามารถจัดการให้ผู้ใช้ทำงานพร้อมๆ กันได้หลายคน ดังนั้นโปรแกรมที่พัฒนาภายใต้การดูแลของระบบจัดการฐานข้อมูลจะสามารถใช้ข้อมูลร่วมกันในฐานข้อมูลเดียวกันระบบฐานข้อมูลจะแบ่งเบาภาระในการพัฒนาระบบงานถ้าการพัฒนาระบบงานไม่ใช้ระบบฐานข้อมูล (ใช้ระบบแฟ้มข้อมูล) ผู้พัฒนาโปรแกรมจะต้องจัดการสิ่งเหล่านี้เองทั้งหมด นั่นคือระบบฐานข้อมูลทำให้การใช้ข้อมูลเกิดความเป็นอิสระระหว่างการจัดเก็บข้อมูลและการประยุกต์ใช้ เพราะส่วนของการจัดเก็บข้อมูลจริงถูกซ่อนจากการใช้งานจริงนั่นเอง
4.จงอธิบายความแตกต่างระหว่างการประมวลผลข้อมูลแบบแบชและแบบเรียลไทม์
การประมวลผลแบบกลุ่ม (Batch Processing) 
คือการประมวลผลโดยการรวบรวมข้อมูลไว้ช่วงเวลาหนึ่ง ก่อนที่จะนำข้อมูลเข้าเครื่อง เพื่อประมวลผลในคราวเดี่ยวกัน เช่น การทำบัญชีจ่ายเงินเดือนพนักงานทุกสิ้นเดือน ระบบการคิดดอกเบี้ยธนาคาร ซึ่งต้องใช้ระยะเวลารวมสะสม 3 เดือน 6 เดือน หรือ 1 ปี หรือระบบการเรียนการสอน การบันทึกเกรดของนักศึกษาในแต่ละเทอมจนเทอมสุดท้ายจึงพิมพ์ใบรับรองเกรด ฉะนั้นการประมวลผลข้อมูลโดยใช้ระยะเวลาในการสะสมข้อมูลอยู่ระยะหนึ่งก่อน แล้วจึงนำมาประมวลผลพร้อมกันและในการทำงานจะไม่มีการโต้ตอบระหว่างผู้ใช้กับเครื่องคอมพิวเตอร์ ระบบเครื่องคอมพิวเตอร์ที่ใช้ในการประมวลผลแบบนี้เรียกว่า ระบบออฟไลน์ (Off-Line System)  

       
ระบบเรียลไทม์ (Real-Time System)
ระบบเรียลไทม์ (Realtime) คือระบบที่สามารถให้การตอบสนองจากระบบอย่าง ทันทีทันใดเมื่อได้รับอินพุตเข้าไป ในทางอุดมคติระบบเรียลไทม์นี้จะเป็นระบบที่ไม่เสียเวลาในการประมวลผลหรืออาจจะกล่าวได้ว่าเวลาในการประมวลเป็นศูนย์ แต่ในทางปฏิบัติเครื่องคอมพิวเตอร์ที่ทำงานแบบเรียลไทม์นี้ไม่สามารถผลิตขึ้นมาได้ เราทำได้เพียงการลดเวลาการประมวลผลให้น้อยที่สุด จนไม่สามารถเห็นความแตกต่างของช่วงเวลาที่ป้อนอินพุตเข้าไปและได้รับเอาต์พุตออกมา เวลาของความแตกต่างนี้เรียกว่า “เวลาตอบสนอง” (response time) ซึ่งผู้ใช้งานทั่วไปต้องการเวลาตอบสนองให้น้อยที่สุดเพื่อประสิทธิภาพของระบบ ระบบเรียลไทม์นิยมนำไปใช้ในการควบคุมกระบวนการในทางอุตสาหกรรม ซึ่งปัจจุบันสามารถควบคุมด้วยระบบคอมพิวเตอร์ที่ทันสมัยให้ค่าเวลาตอบสนองที่ยอมรับได้ สำหรับในวงการคอมพิวเตอร์ระบบเรียลไทม์เข้าใกล้อุดมคติมากขึ้นเนื่องจากความเร็วในการประมวลผลของซีพียู

ความแตกต่างระหว่าง Batch processing กับ Real-Time System
Batch processing 
1. ช่วยลดค่าใช้จ่ายและประหยัดการ    ใช้ทรัพยากรในระบบคอมพิวเตอร์
2. ต้องจัดเรียงกลุ่มข้อมูลในขั้นต้นก่อนการประมวลผล
3. เหมาะกับงานพื้นฐานขององค์กร ห้างร้านต่างๆ    ที่มีข้อมูลเข้าปริมาณมาก
Real-Time System
1. ค่าใช้จ่ายสูง และใช้ฮาร์ดแวร์และซอฟต์แวร์ที่มีลักษณะเฉพาะ
2. ต้องมีระบบการจัดการ กับโปรแกรมควบคุมการปฏิบัติงาน Operating System
3. ต้องมีระบบรักษาความปลอดภัยที่รัดกุมในการเก็บรักษาข้อมูล
4. เหมาะกับหน่วยงานที่มีหน่วยงานย่อยหลายสาขาและอยู่ห่างไกลกัน
5. มีการประมวลทันที ไม่จำเป็นต้องจัดเรียงกลุ่มข้อมูลก่อน

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

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