วันอาทิตย์ที่ 11 พฤศจิกายน พ.ศ. 2561

งานสถาปัตยกรรมฐานข้อมูล

ระดับภายนอก (external level หรือ individual user views)
        ระดับภายนอก เป็นระดับอยู่สูงสุด โดยผู้ใช้สามารถมองเห็นข้อมูลในฐานข้อมูล ตามความต้องการใช้ข้อมูลของผู้ใช้แต่ละคน เช่น
จากตัวอย่างการออกแบบฐานข้อมูลพนักงาน ในรูปที่ 2.2 กาหนดการมองเห็นข้อมูลให้กับ   ผู้ใช้แต่ละคนดังนี้
ผู้ใช้คนที่ 1 (ฝ่ายขายต้องการใช้ข้อมูล รหัสพนักงาน , ชื่อพนักงาน และยอดขาย
2 (ฝ่ายบัญชีต้องการใช้ข้อมูล รหัสพนักงานชื่อพนักงาน และ เงินเดือน
ผู้ใช้คนที่ 3 (ฝ่ายฝึกอบรมต้องการใช้ข้อมูล ชื่อพนักงานแผนก,วุฒิการศึกษา และความสามารถพิเศษผู้ใช้แต่ละคนจะทราบโครงสร้างฐานข้อมูลเฉพาะรายการที่ต้องการใช้เท่านั้น เสมือนว่าไม่ทราบว่ามีข้อมูลอย่างอื่นเก็บอยู่ในฐานข้อมูล เช่น ผู้ใช้คนที่ 1 จะไม่ทราบว่ามีการเก็บข้อมูลเงินเดือน แผนก วุฒิการศึกษา หรืออื่น ๆ ในฐานข้อมูล
ระดับแนวคิด (conceptual level view)
  ระดับแนวคิด เป็นระดับที่อยู่ถัดลงมาจากระดับภายนอก ประกอบด้วย เค้าร่าง (schema) ที่อธิบายเกี่ยวกับการออกแบบฐานข้อมูล เช่น ฐานข้อมูลประกอบไปด้วยตารางอะไรบ้าง แต่ละตารางประกอบไปด้วยรายการอะไรบ้าง แต่ละรายการมีค่าเป็นอะไรได้บ้าง รายการใดเป็นคีย์หลัก รายการใดเป็นคีย์นอก และอ้างอิงถึงตารางอะไร เป็นต้น นอกจากนี้ยังรวมถึงกฎเกณฑ์ต่าง  เกี่ยวกับข้อมูลและสิทธิในการใช้ข้อมูลของผู้ใช้
ระดับภายใน (internal level view)
  ระดับภายใน หรือเรียกอีกอย่างหนึ่งว่า ระดับกายภาค (physical view) เป็นระดับที่อยู่ล่างสุด ประกอบด้วยเค้าร่างทเกี่ยวกับการจัดเก็บข้อมูลจริงในอุปกรณ์เก็บข้อมูล (storage) ได้แก่
1. รูปแบบการจัดเก็บ การจัดเก็บข้อมูลมี 3 รูปแบบ คือ
จัดเก็บแบบลาดับ (sequential)
จัดเก็บแบบโดยตรง (direct)
จัดเก็บแบบดัชนี (index sequential)
 2. วิธีการเข้าถึงข้อมูล (access) การเลือกวิธีการเข้าถึงข้อมูล จะต้อง
สอดคล้อง กับรูปแบบการจัดเก็บ ซึ่งวิธีเข้าถึงข้อมูล มี 2 วิธี คือ
แบบเรียงตามลาดับ ใช้สาหรับการจัดเก็บข้อมูลแบบลาดับ
แบบสุ่ม ใช้สาหรับการจัดเก็บข้อมูลแบบโดยตรง และ แบบดัชนี
3. ขนาดของข้อมูลที่เก็บในแต่ละบล็อกมีขนาดเท่าใด
4. กาหนดดิสก์ในการเก็บข้อมูล จะเป็นการกาหนดว่าแต่ละตารางหรือแต่ละ
ฐานข้อมูลเก็บไว้ในดิสก์ใด ( กรณีที่มีหลายดิสก์)
ประโยชน์ของการแบ่งระดับของระบบฐานข้อมูล เพื่อให้การใช้งานข้อมูลแต่ละระดับเป็นอิสระจากกัน นั่นคือไม่ต้องแก้ไขโปรแกรมทุกครั้งที่เกิดเกิดการเปลี่ยนแปลงแก้ไขข้อมูลในฐานข้อมูล

วันอาทิตย์ที่ 4 พฤศจิกายน พ.ศ. 2561

ศึกษาระบบฐานข้อมูลเบื้องต้น

1.ระบบฐานข้อมูล(Database System) 
 หมายถึง  ระบบที่รวบรวมข้อมูลต่าง ๆ ที่เกี่ยวข้องกันเข้าไว้ด้วยกันอย่างมีระบบมีความสัมพันธ์ระหว่างข้อมูลต่าง ๆ ที่ชัดเจน ในระบบฐานข้อมูลจะประกอบด้วยแฟ้มข้อมูลหลายแฟ้มที่มีข้อมูล เกี่ยวข้องสัมพันธ์กันเข้าไว้ด้วยกันอย่างเป็นระบบและเปิดโอกาสให้ผู้ใช้สามารถใช้งานและดูแลรักษาป้องกันข้อมูลเหล่านี้ ได้อย่างมีประสิทธิภาพ โดยมีซอฟต์แวร์ที่เปรียบเสมือนสื่อกลางระหว่าง
2.ข้อดีและข้อเสียของระบบฐานข้อมูล
ตอบ ข้อดีของฐานข้อมูล
การจัดเก็บข้อมูลเป็นฐานข้อมูลได้เปรียบกว่าการจัดเก็บข้อมูลแบบแฟ้มข้อมูล ดังนี้
1. หลีกเลี่ยงความขัดแย้งของข้อมูลการจัดเก็บข้อมูลแบบแฟ้มข้อมูล โดยข้อมูลเรื่องเดียวกันอาจมีอยู่หลายแฟ้มข้อมูลซึ่งก่อให้เกิดความขัดแย้งของข้อมูลได้ (Inconsistency) 
2. สามารถใช้ข้อมูลร่วมกันได้ ฐานข้อมูลเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน เมื่อผู้ใช้ต้องการข้อมูลจากฐานข้อมูล ซึ่งเป็นข้อมูลที่มาจากแฟ้มข้อมูลที่แตกต่างกันจะทำได้ง่าย
3. สามารถลดความซ้ำซ้อนของข้อมูล การจัดเก็บข้อมูลในลักษณะแฟ้มข้อมูล อาจทำให้ข้อมูลประเภทเดียวกันถูกเก็บไว้หลาย ๆ แห่ง ทำให้เกิดความซ้ำซ้อน (Reclundancy ) การนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล จะช่วยลดปัญหาความซ้ำซ้อนได้
4. รักษาความถูกต้อง ฐานข้อมูลบางครั้งอาจมีข้อผิดพลาดขึ้น เช่น การป้อนข้อมูลผิด ซึ่งระบบการจัดการฐานข้อมูลสามารถระบุกฎเกณฑ์เพื่อควบคุมความผิดพลาดที่อาจเกิดขึ้นได้
5. สามารถกำหนดความเป็นมาตรฐานเดียวกันได้ เพราะในระบบฐานข้อมูลจะมีกลุ่มบุคคลที่คอยบริหารฐานข้อมูล กำหนดมาตรฐานต่าง ๆ ในการจัดเก็บข้อมูลในลักษณะเดียวกัน
6. สามารถกำหนดระบบความปลอดภัยของข้อมูลได้ ผู้บริหารระบบฐานข้อมูลสามารถกำหนดการเรียกใช้ข้อมูลของผู้ใช้แต่ละคนให้แตกต่างกันตามหน้าที่ ความรับผิดชอบได้ง่าย
7. ความเป็นอิสระของข้อมูลและโปรแกรม โปรแกรมที่ใช้ในแต่ละแฟ้มข้อมูลจะมีความสัมพันธ์กับแฟ้มข้อมูลโดยตรง ถ้าหากมีการแก้ไขเปลี่ยนแปลงโครงสร้างข้อมูลก็ทำการแก้ไขโปรแกรมนั้น ๆ
8 ลดความจำเจของงานดูแลเอกสาร ซึ่งเป็นงานประจำที่ทำให้ผู้ดูแลรู้สึกเบื่อหน่าย และขาดแรงจูงใจ แต่เราสามารถใช้คอมพิวเตอร์ในการปฏิบัติงานนี้แทนมนุษย์ได้ โดยผ่านโปรแกรมสำหรับการจัดการฐานข้อมูล
9 ข้อมูลที่จัดเก็บมีความทันสมัย เมื่อข้อมูลในระบบฐานข้อมูลได้รับการดูแลปรับปรุงอย่างต่อเนื่อง ทำให้ข้อมูลที่จัดเก็บเป็นข้อมูลที่มีความทันสมัย ตรงกับเหตุการณ์ในปัจจุบัน และตรงกับความต้องการอยู่เสมอ
10 ลดความซ้ำซ้อนในการจัดเก็บข้อมูล เนื่องจากการจัดทำฐานข้อมูลจะมีการรวบรวมข้อมูลประเภทต่างๆ เข้ามาจัดเก็บไว้ในระบบและเก็บข้อมูลเพียงชุดเดียว ซึ่งทุกฝ่ายที่เกี่ยวข้องจะสามารถเรียกใช้ข้อมูลที่ต้องการได้ เป็นการประหยัดเนื้อที่ในการจัดเก็บ และทำให้เกิดความรวดเร็วในการค้นหาและจัดเก็บข้อมูลด้วย
11 หลีกเลี่ยงความขัดแย้งของข้อมูลได้ เมื่อข้อมูลถูกจัดเก็บในระบบฐานข้อมูล จะทำให้ข้อมูลลดความซ้ำซ้อนลง คือ มีข้อมูลแต่ละประเภทเพียงหนึ่งชุดในระบบ ทำให้ข้อมูลที่เก็บได้ไม่ขัดแย้งกันเอง ในกรณีที่จำเป็นต้องเก็บข้อมูลที่ซ้ำซ้อนกัน เพื่อสาเหตุบางประการ เช่น เพื่อความรวดเร็วในการประมวลผลข้อมูล ระบบจัดการฐานข้อมูลจะเป็นผู้ดูแลข้อมูลที่ซ้ำกันให้มีความถูกต้องตรงกัน
12 ใช้ข้อมูลร่วมกันได้ เนื่องจากระบบการจัดการฐานข้อมูลสามารถจัดให้ผู้ใช้แต่ละคนเข้าใช้ข้อมูลในแฟ้มที่มีข้อมูลเดียวกันได้ในเวลาเดียวกัน เช่น ฝ่ายบุคคลและฝ่ายการเงิน สามารถที่จะใช้ข้อมูลจากแฟ้มประวัติพนักงานในระบบฐานข้อมูลได้พร้อมกัน
13 ควบคุมมาตรฐานของข้อมูลได้ เมื่อข้อมูลต่างๆ ในหน่วยงานถูกรวบรวมเข้ามา ผู้บริหารระบบฐานข้อมูลสามารถที่จะวางมาตรฐานในการรับข้อมูล แสดงผลข้อมูล ตลอดจนการจัดเก็บข้อมูลได้ เช่น การกำหนดรูปแบบของตัวเลขให้มีทศนิยม 2 ตำแหน่งสำหรับค่าที่เป็นตัวเงิน การกำหนดรูปแบบของการรับ และแสดงผลสำหรับข้อมูลที่เป็นวันที่ นอกจากนี้การที่ข้อมูลมีมาตรฐานเดียวกัน ทำให้สามารถแลกเปลี่ยนข้อมูลระหว่างระบบได้อย่างสะดวก
14 จัดทำระบบการรักษาความปลอดภัยของข้อมูลได้ ผู้บริหารระบบฐานข้อมูลสามารถกำหนดรหัสผ่านเข้าใช้งานข้อมูลของผู้ใช้แต่ละราย โดยระบบการจัดการฐานข้อมูลจะทำการตรวจสอบสิทธิ์ในการทำงานกับข้อมูลทุกครั้ง เช่น การตรวจสอบสิทธิ์ในการเรียกดูข้อมูล การลบข้อมูล การปรับปรุงข้อมูล และการเพิ่มข้อมูลในแต่ละแฟ้มข้อมูล
15 ควบคุมความถูกต้องของข้อมูลได้ ปัญหาเรื่องความขัดแย้งกันของข้อมูลที่มีความซับซ้อน เป็นปัญหาหนึ่งในเรื่องความถูกต้องของข้อมูล ซึ่งเมื่อได้มีการกำจัดความซับซ้อนของข้อมูลออก ปัญหาเรื่องความถูกต้องของข้อมูลที่อาจเกิดขึ้นได้ เช่น อายุโดยปกติของคนงาน ควรอยู่ระหว่าง 18 – 60 ปี ถ้าหากในระบบฐานข้อมูล ปรากฏมีพนักงานที่มีอายุ 150 ปีซึ่งเป็นไปไม่ได้ในทางปฏิบัติที่หน่วยงานจะมีการว่าจ้างคนงานที่มีอายุเกิน 60 ปี และอายุของคนในปัจจุบันไม่ควรเกิน 100 ปี ผู้บริหารระบบฐานข้อมูลสามารถกำหนดกฎเกณฑ์ในการนำเข้าข้อมูล และระบบจัดการฐานข้อมูลจะคอยควบคุมให้มีการนำเข้าข้อมูล เป็นไปตามกฎเกณฑ์ให้มีความถูกต้อง
ฐานข้อมูลมีข้อเสีย ดังนี้คือ
1.มีต้นทุนสูง ระบบฐานข้อมูลก่อให้เกิดต้นทุนสูง เช่น ซอฟท์แวร์ที่ใช้ในการจัดการระบบฐานข้อมูล บุคลากร ต้นทุน
ในการปฏิบัติงาน และ ฮาร์ดแวร์ เป็นต้น
2.มีความซับซ้อน การเริ่มใช้ระบบฐานข้อมูล อาจก่อให้เกิดความซับซ้อนได้ เช่น การจัดเก็บข้อมูล การออกแบบฐาน
ข้อมูล การเขียนโปรแกรม เป็นต้น
3.การเสี่ยงต่อการหยุดชะงักของระบบ เนื่องจากข้อมูลถูกจัดเก็บไว้ในลักษณะเป็นศูนย์รวม (Centralized Database System ) ความล้มเหลวของการทำงานบางส่วนในระบบอาจทำให้ระบบฐานข้อมูลทั้งระบบหยุดชะงักได้
4 เสียค่าใช้จ่ายสูง เนื่องจากราคาของโปรแกรมที่ใช้ในระบบการจัดการฐานข้อมูลจะมีราคาค่อนข้างแพง รวมทั้งเครื่องคอมพิวเตอร์ที่มีประสิทธิภาพสูง คือ ต้องมีความเร็วสูง มี ขนาดหน่วยความจำและหน่วยเก็บข้อมูลสำรองที่มีความจุมาก ทำให้ต้องเสียค่าใช้จ่ายสูงในการจัดทำระบบการจัดการฐานข้อมูล
5 เกิดการสูญเสียข้อมูลได้ เนื่องจากข้อมูลต่างๆ ภายในฐานข้อมูลจะถูกจัดเก็บอยู่ในที่เดียวกัน ดังนั้นถ้าที่เก็บข้อมูลเกิดมีปัญหา อาจทำให้ต้องสูญเสียข้อมูลทั้งหมดในฐานข้อมูลได้ ดังนั้นการจัดทำฐานข้อมูลที่ดีจึงต้องมีการสำรองข้อมูลไว้เสมอ
3.ระบบแฟ้มข้อมูล(File System)
หมายถึง สิ่งที่ผู้ใช้เกี่ยวข้องโดยตรง แต่มักไม่รู้ตัวเนื่องจากเป็นการอำนวยความสะดวกโดยระบบปฏิบัติการอย่างอัตโนมัติ ระบบแฟ้มเป็นฐานที่ทำให้เกิดการจัดการโปรแกรม และข้อมูลในทุกการดำเนินงานของระบบซอฟท์แวร์ที่เข้าควบคุมสื่อเก็บข้อมูลสิ่งที่ผู้ใช้เกี่ยวข้องโดยตรง แต่มักไม่รู้ตัวเนื่องจากเป็นการอำนวยความสะดวกโดยระบบปฏิบัติการอย่างอัตโนมัติ ระบบแฟ้มเป็นฐานที่ทำให้เกิดการจัดการโปรแกรม และข้อมูลในทุกการดำเนินงานของระบบซอฟท์แวร์ที่เข้าควบคุมสื่อเก็บข้อมูล
4.ข้อดีและข้อเสียระบบแฟ้มข้อมู
ตอบ ข้อดี
1. หลีกเลี่ยงความขัดแย้งของข้อมูล การจัดเก็บข้อมูลแบบแฟ้มข้อมูล โดยข้อมูลเรื่องเดียวกันอาจมีอยู่หลายแฟ้มข้อมูล ซึ่งก่อให้เกิดความขัดแย้งของข้อมูลได้ ( Inconsistency ) 
2. สามารถใช้ข้อมูลร่วมกันได้ ฐานข้อมูลเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน เมื่อผู้ใช้ต้องการข้อมูลจากฐานข้อมูล ซึ่งเป็นข้อมูลที่มาจากแฟ้มข้อมูลที่แตกต่างกันจะทำได้ง่าย
3. สามารถลดความซ้ำซ้อนของข้อมูล การจัดเก็บข้อมูลในลักษณะแฟ้มข้อมูล อาจทำให้ข้อมูลประเภทเดียวกันถูกเก็บไว้หลาย ๆ แห่ง ทำให้เกิดความซ้ำซ้อน (Reclundancy ) การนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล จะช่วยลดปัญหาความซ้ำซ้อนได้
4. รักษาความถูกต้อง ฐานข้อมูลบางครั้งอาจมีข้อผิดพลาดขึ้น เช่น การป้อนข้อมูลผิด ซึ่งระบบการจัดการฐานข้อมูลสามารถระบุกฎเกณฑ์เพื่อควบคุมความผิดพลาดที่อาจเกิดขึ้นได้
ข้อเสีย
1.มีต้นทุนสูง ระบบฐานข้อมูลก่อให้เกิดต้นทุนสูง เช่น ซอฟท์แวร์ที่ใช้ในการจัดการระบบฐานข้อมูล บุคลากร ต้นทุน
ในการปฏิบัติงาน และ ฮาร์ดแวร์ เป็นต้น
2.มีความซับซ้อน การเริ่มใช้ระบบฐานข้อมูล อาจก่อให้เกิดความซับซ้อนได้ เช่น การจัดเก็บข้อมูล การออกแบบฐาน
ข้อมูล การเขียนโปรแกรม เป็นต้น
5.โครงสร้างข้อมูลของระบบแฟ้มข้อมูล และ ฐานข้อมูล
ตอบ 1.บิต (Bit) เป็นหน่วยข้อมูลที่มีขนาดเล็กที่สุด ซึ่งเป็นข้อมูลที่เครื่องคอมพิวเตอร์สามารถเข้าใจและนำไปใช้งานได้ ได้แก่ เลข และ เลข 1
2.ไบต์ (Byte) หรือ อักขระ (Character) ได้แก่ ตัวเลข หรือ ตัวอักษร หรือ สัญลักษณ์พิเศษ 1 ตัว เช่น 0,1…9,A, B,…Z   ซึ่ง ไบต์ จะเท่ากับ บิต หรือ ตัวอักขระ ตัว
3.ฟิลด์ (Flied) คือ อักขระ ตั้งแต่ 1 ตัวขึ้นไป รวมกันเป็น ฟิลด์ เช่น เลขประจำตัว ชื่อสกุล เป็นต้น
4.เรคคอร์ด (Record) คือ การนำเอาฟิลด์หลายฟิลด์และมีความสัมพันธ์มารวมกลุ่มกัน เช่น นักเรียนแต่ละคนจะมีข้อมูลที่เกี่ยวกับ ชื่อ สกุล อายุ เพศ เกรดเฉลี่ยฯลฯ โดยข้อมูลในลักษณะนี้คือ 1 เรคคอร์ดนั่นเอง
5.แฟ้มข้อมูล หรือ ไฟล์ ( Flies) คือ เรคคอร์ดหลายๆ เรคคอร์ดรวมกัน และเป็นเรื่องเดียวกันเช่น แฟ้มข้อมูลนักเรียนห้อง ม.1/1 จำนวน 50 คน ทุกคนจะมีข้อมูลเกี่ยวกับ ชื่อ สกุล เพศ อายุ เกรดเฉลี่ย ฯลฯ ซึ่งข้อมูลทั้งหมดนี้ของนักเรียนจำนวน 50 คนนี้ เรียกว่า แฟ้มข้อมูล 
6.ฐานข้อมูล (Database)
คือ การเก็บรวบรวมไฟล์หรือแฟ้มข้อมูลหลายๆ ไฟล์ที่เกี่ยวข้องมารวมกัน
6.ระบบฐานข้อมูลมีองค์ประกอบหลัก 4 องค์ประกอบ ได้แก่
ตอบ     -ข้อมูล (Data)
             -ฮาร์ดแวร์ (Hardware)
             -ซอฟต์แวร์ (Software)
             -ผู้ใช้ (Users)
1. ข้อมูล
ข้อมูลจะต้องเป็นข้อมูลรวมและแบ่งปันกันได้ (Both Integrated and Shared) ข้อมูลรวม (Integrated) ในฐานข้อมูล หมายถึง อาจมีข้อมูลซ้ำซ้อนกันระหว่างแฟ้มต่าง ๆ น้อยที่สุ หรือเท่าที่จำเป็น เช่น แฟ้มข้อมูลชื่อ EMPLOYEE กับ ENROLLMENT
2. ฮาร์ดแวร์
ฮาร์ดแวร์ของระบบฐานข้อมูลประกอบไปด้วย 2 ส่วน คือ ที่เก็บข้อมูลสำรอง(Secondary Storage Volumes) เพื่อเก็บข้อมูลด้วยอุปกรณ์นำเข้า/ส่งออกข้อมูล(ดิสก์ไดร์ฟ), ตัวควบคุมอุปกรณ์, ช่องนำเข้า/ส่งออกข้อมูลตัวประมวลผลฮาร์ดแวร์หน่วยความจำหลัก ที่สนับสนุนการทำงานของระบบฐานข้อมูล
3. ซอฟต์แวร์
ซอฟต์แวร์ เป็นส่วนเชื่อมระหว่างผู้ใช้กับฮาร์ดแวร์
ซอฟต์แวร์ในที่นี้คือ ระบบจัดการฐานข้อมูล หรือระบบบริหารฐานข้อมูล (Database Management System : DBMS) ซึ่งมีหน้าที่ช่วยซ่อนกับผู้ใช้ฐานข้อมูลจากรายละเอียดระดับฮาร์ดแวร์ ระบบจัดการฐานข้อมูลจะทำให้ผู้ใช้รู้จักฐานข้อมูลในระดับที่อยู่เหนือระดับฮาร์ดแวร์และช่วยสนับสนุนการปฏิบัติงานของผู้ใช้
4. ผู้ใช้
ผู้ใช้ (Users) มี 3 กลุ่ม ได้แก่
-โปรแกรมเมอร์ เขียนโปรแกรมประยุกต์ใช้ฐานข้อมูลด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง
-ผู้บริหารฐานข้อมูล (Database Administrator : DBA)