วันจันทร์ที่ 12 พฤศจิกายน พ.ศ. 2561

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

หัวข้อในการศึกษา
1.สถาปัตยกรรมฐานข้อมูลระดับภายนอก
สถาปัตยกรรมในระดับภายนอก  External เป็นมุมมองของผู้ใช้ที่มีต่อฐานข้อมูล หรือที่เรียกว่า วิว (View) เกี่ยวข้องกับผู้ใช้งานมากที่สุด เป็นระดับการมองข้อมูลภายในฐานข้อมูลสำหรับผู้ใช้งานแต่ละคน เป็นระดับที่มีการนำข้อมูลจากฐานข้อมูลไปใช้งาน โดยผู้ใช้แต่ละคนสามารถเลือกอ่านข้อมูลเฉพาะที่ตนสนใจหรือต้องการใช้เท่านั้น 
2.สถาปัตยกรรมฐานข้อมูลระดับความคิด
สถาปัตยกรรมในระดับแนวคิด Conceptual เป็นมุมมองโครงร่างของฐานข้อมูลในแนวความคิด ซึ่งไม่ใช่โครงร่างจริงที่ถูกสร้างในอุปกรณ์เก็บข้อมูลผ่านการวิเคราะห์จาก นักออกแบบระบบ และ ผู้บริหารฐานข้อมูล (DBA) ระดับแนวคิดจึงเป็นระดับของการออกแบบฐานข้อมูลว่าจะเก็บข้อมูลอะไร (what) และมุ่งเน้นความสัมพันธ์ (relationship) ระหว่างข้อมูล ผลลัพธ์ที่ได้จะทำให้เกิดสิ่งที่เรียกว่า มุมมองระบบ (Schema)
3.สถาปัตยกรรมฐานข้อมูลระดับภายใน
สถาปัตยกรรมในระดับภายใน  Internal เป็นระดับของการจัดเก็บฐานข้อมูลในหน่วยเก็บข้อมูลสำรองจริง ซึ่งหมายถึงเป็นมุมมองทางกายภาพของการจัดเก็บในอุปกรณ์เก็บข้อมูล สถาปัตยกรรมในระดับภายในมีระบบการจัดการฐานข้อมูลเป็นตัวช่วยในการกำหนดวิธีการเข้าถึงข้อมูล การค้นหา การปรับปรุง การเชื่อมโยงระหว่างตาราง รวมทั้งการบำรุงรักษาฐานข้อมูล ผู้ที่เกี่ยวข้องส่วนใหญ่ คือ ผู้เขียนโปรแกรมประยุกต์ และผู้บริหารฐานข้อมูล (DBA) 

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

ความรู้ทั่วไปเกี่ยวกับฐานข้อมูล

หัวข้อในการศึกษา
1.ความรู้พิ้นฐานของฐานข้อมูล
        ระบบฐานข้อมูล (Database System) หมายถึงโครงสร้างสารสนเทศ ที่ประกอบด้วยรายละเอียดของข้อมูลที่มี ความสัมพันธ์และเกี่ยวข้องกัน ที่จะนำมาใช้ในระบบงานต่าง ๆ ร่วมกัน ระบบฐานข้อมูล จึงนับเป็นการจัดเก็บข้อมูลอย่างเป็นระบบ โดยผู้ใช้สามารถจัดการกับข้อมูลได้ในลักษณะต่าง ๆ ทั้งการเพิ่มข้อมูล การแก้ไข การลบ การค้นหา ตลอดจนการเรียกดูข้อมูลในรูปแบบต่าง ๆ ซึ่งส่วนจะเป็นการประยุกต์นำเอาระบบคอมพิวเตอร์เข้ามาช่วยในการจัดการฐานข้อมูล และนำฐานข้อมูลผ่านกระบวนการประมวลผลและแสดงผลลัพธ์ในรูปแบบต่าง ๆ ที่ต้องการ
2.คำศัพท์ที่ใช้ในระบบฐานข้อมูล
  2.1  Bit (บิต) 
           หมายถึง หน่วยของข้อมูลที่มีขนาดเล็กที่สุด เป็นข้อมูลที่มีการจัดเก็บในลักษณะของเลขฐานสอง คือ 0 กับ 1
  2.2 ไบต์ (ไบต์)
           หมายถึง หน่วยของข้อมูลที่เกิดจากการนำบิตมารวมกันเป็นตัวอักขระหรือตัวอักษร 
  2.3 ฟิลต์ ( Field)
          หมายถึง เขตข้อมูลหรือหน่วยของข้อมูลที่ประกอบขึ้นจากไบต์หรือตัวอักขระตั้งแต่หนึ่งตัว ขึ้นไปมารวมกันแล้วได้ความหมายเป็นคำเป็นข้อความหรือของสิ่งใดสิ่งหนึ่ง เช่น ชื่อบุคคล ตำแหน่ง อายุ เป็นต้น 
  2.4 เรคคอร์ด (Record)
         หมายถึง ระเบียน หรือหน่วยของข้อมูลที่เกิดจาการนำเอาฟิลด์หรือเขตข้อมูลหลายๆ เขตข้อมูลที่เกี่ยวข้องมารวมกัน เพื่อเกิดเป็นรายการข้อมูลเรื่องใดเรื่องหนึ่ง เช่น ข้อมูลของพนักงาน 1 ระเบียน (1 คน) จะประกอบด้วยฟิลด์ รหัสพนักงาน ชื่อ-สกุล ที่อยู่ ตำแหน่ง เงินเดือน เป็นต้น 
  2.5 ไฟล์ (File)
         หมายถึง แฟ้มข้อมูลหรือหน่วยของข้อมูลที่เกิดจาการนำข้อมูลหลายๆระเบียนที่เป็นเรื่องเดียวกัน เช่น แฟ้มข้อมูลพนักงานแฟ้มข้อมูลลูกค้าแฟ้มข้อมูลสินค้าฯลฯ ส่วนในระบบฐานข้อมูลก็จะมีคำศัพท์ต่างๆที่เกี่ยวข้องที่ควรรู้จักซึ่งจะกล่าวถึงในลำดับต่อไป 
  2.6 เอนทิตี้ (Entity)
         หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง เปรียบเสมือนคำนาม อาจได้แก่ คน สถานที่ สิ่งของ การกระทำ ซึ่งต้องการจัดเก็บข้อมูลไว้ เช่น เอนทิตี้พนักงาน เอนทิตี้นักเรียน เป็นต้น 
  2.7 แอททริบิวต์ (Attribute)
         หมายถึง รายละเอียดข้อมูลที่แสดงลักษณะและคุณสมบัติของแอททริบิวต์หนึ่งๆ เช่น เอนทิตี้สินค้าประกอบด้วยแอททริบิวต์ รหัสสินค้า ประเภทสินค้า ชื่อสินค้า ราคาต่อหน่วย เป็นต้น บางเอนทิตี้ก็ยังอาจประกอบด้วยข้อมูลหลายส่วน หลายแอททริบิวต์ย่อยมารวมกัน เช่น แอททริบิวต์ที่อยู่พนักงาน ประกอบด้วย บ้านเลขที่ ถนน ตำบล อำเภอ จังหวัด เช่นนี้แล้ว แอททริบิวต์ที่อยู่พนักงานจึงเรียกว่าเป็น แอททริบิวต์ผสม (Composite Attribute)   
3.การนอมัลไลเซชั่น (Normalization)
  3.1 การลดความซ้ำซ้อน
        Normalization (นอร์มัลไลเซชัน) คือ วิธีการหนึ่งที่ช่วยลดความซ้ำซ้อนของข้อมูลจาก Database ซึ่งเป็นวิธีของการกำหนดแอตทริบิวให้กับแต่ละเอนทิตี้ เพื่อให้ได้โครงร้างของตารางที่ดี สามารถควบคุมความซ้ำซ้อนของข้อมูลและหลีกเลี่ยงความผิดปกติของข้อมูล ซึ่งการทำนอร์มัลไลเซชันจะทำให้จำนวนข้อมูลนั้นลดน้อยลง แต่จำนวนตารางนั้นจะเพิ่มมากขึ้
  3.2 ทำให้การเปลี่ยนแปลง
         การสร้างรูปแบบต่างๆที่ทำให้เกิดความหลากหลายในการออกแบบฐานข้อมูลซึ่งมีหลาฟอร์ม
  3.3 ลดปัญหาความไม่ถูกต้องของข้อมูล
        ลดความซำ้ซ้อนของการใช้ข้อมูลหรือการเก็บข้อมูล แก้ปัญหาการสร้างระบบที่ไม่ถูกต้อง

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

ระบบฐานข้อมูล

1.ระบบฐานข้อมูล (Database System)
หมายถึง ระบบที่รวบรวมข้อมูลต่าง ๆ ที่เกี่ยวข้องกันเข้าไว้ด้วยกันอย่างมีระบบมีความสัมพันธ์ระหว่างข้อมูลต่าง ๆ ที่ชัดเจน ในระบบฐานข้อมูลจะประกอบด้วยแฟ้มข้อมูลหลายแฟ้มที่มีข้อมูล เกี่ยวข้องสัมพันธ์กันเข้าไว้ด้วยกันอย่างเป็นระบบและเปิดโอกาสให้ผู้ใช้สามารถใช้งานและดูแลรักษาป้องกันข้อมูลเหล่านี้ ได้อย่างมีประสิทธิภาพ โดยมีซอฟต์แวร์ที่เปรียบเสมือนสื่อกลางระหว่าง
ผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล เรียกว่า ระบบจัดการฐานข้อมูล หรือ DBMS (data base management system)มีหน้าที่ช่วยให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายสะดวกและมีประสิทธิภาพ การเข้าถึงข้อมูลของผู้ใช้อาจเป็นการสร้างฐานข้อมูล การแก้ไขฐานข้อมูล หรือการตั้งคำถามเพื่อให้ได้ข้อมูลมา โดยผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างของฐานข้อมูล

2.ข้อดีและข้อเสียของระบบฐานข้อมูล
      ข้อดีของการใช้ฐานข้อมูล
1 ลดความจำเจของงานดูแลเอกสาร
2 ข้อมูลที่จัดเก็บมีความทันสมัย
3 ลดความซ้ำซ้อนในการจัดเก็บข้อมูล
4 หลีกเลี่ยงความขัดแย้งของข้อมูลได้
5 ใช้ข้อมูลร่วมกันได้
6 ควบคุมมาตรฐานของข้อมูลได้
7 จัดทำระบบการรักษาความปลอดภัยของข้อมูลได้
8 ควบคุมความถูกต้องของข้อมูลได้
 ข้อเสียของการใช้ฐานข้อมูล
1 เสียค่าใช้จ่ายสูง
2 เกิดการสูญเสียข้อมูลได้

3.ระบบแฟ้มข้อมูล(File System)
หมายถึง สิ่งที่ผู้ใช้เกี่ยวข้องโดยตรง แต่มักไม่รู้ตัวเนื่องจากเป็นการอำนวยความสะดวกโดยระบบปฏิบัติการอย่างอัตโนมัติ ระบบแฟ้มเป็นฐานที่ทำให้เกิดการจัดการโปรแกรม และข้อมูล                                   ในทุกการดำเนินงานของระบบซอฟท์แวร์ที่เข้าควบคุมสื่อเก็บข้อมูล

4.ข้อดีและข้อเสียระบบแฟ้มข้อมูล
ข้อดีของฐานข้อมูล
1.หลีกเลี่ยงความขัดแย้งของข้อมูล
2.สามารถใช้ข้อมูลร่วมกันได้
3.สามารถลดความซ้ำซ้อนของข้อมูล
4.รักษาความถูกต้อง ฐานข้อมูลบางครั้งอาจมีข้อผิดพลาดขึ้น
5.สามารถกำหนดความเป็นมาตรฐานเดียวกันได้
6.สามารถกำหนดระบบความปลอดภัยของข้อมูลได้
7.ความเป็นอิสระของข้อมูลและโปรแกรม
8.ลดความจำเจของงานดูแลเอกสาร
9.ข้อมูลที่จัดเก็บมีความทันสมัย
10. ลดความซ้ำซ้อนในการจัดเก็บข้อมูล
11.หลีกเลี่ยงความขัดแย้งของข้อมูลได้
12.ใช้ข้อมูลร่วมกันได้
13.ควบคุมมาตรฐานของข้อมูลได้
14.จัดทำระบบการรักษาความปลอดภัยของข้อมูลได้
15.ควบคุมความถูกต้องของข้อมูลได้
ข้อเสียของฐานข้อมูล
1.มีต้นทุนสูง ระบบฐานข้อมูลก่อให้เกิดต้นทุนสูง
2.มีความซับซ้อน การเริ่มใช้ระบบฐานข้อมูล อาจก่อให้เกิดความซับซ้อนได้
3.การเสี่ยงต่อการหยุดชะงักของระบบ
4 เสียค่าใช้จ่ายสูง
5 เกิดการสูญเสียข้อมูลได้

5.โครงสร้างข้อมูลของระบบแฟ้มข้อมูล และฐานข้อมูล
1.รูปแบบของการจัดระเบียบข้อมูล
                รูปแบบของการจัดระเบียบของข้อมูล ซึ่งมีอยู่หลายรูปแบบ  ประกอบด้วยโครงสร้างพื้นฐานที่ลำดับจากหน่วยที่เล็กที่สุดไปยังหน่วยที่ใหญ่ขึ้นตามลำดับต่อไปนี้
1.1 บิท (Bit : Binary Digit) คือหน่วยของข้อมูลที่เล็กที่สุดที่เก็บอยู่ในหน่วยความจำภายในคอมพิวเตอร์ ซึ่ง Bit จะแทนด้วยตัวเลขหนึ่งตัว คือ หรือ อย่างใดอย่างหนึ่ง เรียกตัวเลข หรือ ว่าเป็น บิทบิท
1.2 ไบท์ (Byte) คือหน่วยของข้อมูลที่นำบิทหลายๆบิทมารวมกัน แทนตัวอักษรแต่ละตัว เช่น A, B, …, Z, 0, 1, 2, … ,9 และสัญลักษณ์พิเศษอื่นๆ เช่น $, &, +, -, *, / ฯลฯโดยตัวอักษร ตัวจะแทนด้วยบิทบิท หรือ บิทซึ่งตัวอักษรแต่ละตัวจะเรียกว่า ไบท์ เช่น ตัว เมื่อเก็บอยู่ในคอมพิวเตอร์จะเก็บเป็น 1000001 ส่วนตัว จะเก็บเป็น 1000010 เป็นต้น
1.3 เขตข้อมูล (Field) คือ หน่วยของข้อมูลที่เกิดจากการนำตัวอักขระหลายๆตัวมารวมกัน เป็นคำที่มีความหมาย
1.4 ระเบียน (Record) คือ หน่วยของข้อมูลที่มีการนำเขตข้อมูลหลายๆ เขตข้อมูล ที่มีความสัมพันธ์กันมารวมกัน หรือค่าของข้อมูลในแต่ละเขตข้อมูล
1.5 แฟ้มข้อมูล (File) คือ หน่วยของข้อมูลที่มีการนำระเบียนหลายๆ ระเบียนที่มีความสัมพันธ์กันมารวมกัน
1.6 ฐานข้อมูล (Database) คือ หน่วยของข้อมูลที่มีการนำแฟ้มข้อมูลหลายๆ แฟ้มข้อมูล ที่มีความสัมพันธ์กันมารวมกัน

 2.โครงสร้างแฟ้มข้อมูล
โดยปกติแฟ้มข้อมูลจะถูกเก็บไว้ในหน่วยความจำสำรอง (secondary storage) เช่น ฮาร์ดดิสก์เนื่องจากมีความจุข้อมูลสูงและสามารถเก็บได้ถาวรแม้จะปิดเครื่องไปซึ่งการจัดเก็บนี้จะต้องมีวิธีกำหนดโครงสร้างโดยมีวัตถุประสงค์เพื่อให้การจัดเก็บและเข้าถึงข้อมูลมีความรวดเร็ว ถูกต้องและเหมาะสมกับความต้องการการเข้าถึงและค้นคืนข้อมูลจะอาศัยคีย์ฟิลด์ในการเรียกค้นด้วยเสมอการจัดโครงสร้างของแฟ้มข้อมูลอาจจะแบ่งได้เป็นลักษณะดังนี้
การจัดการโครงสร้างแฟ้มข้อมูลมีปัจจัยที่ต้องพิจารณาในการเลือกโครงสร้าง ได้แก่
-                    ปริมาณข้อมูล ความถี่ในการดึงข้อมูล ความถี่ในการปรับปรุงข้อมูล จำนวนครั้งที่อ่านข้อมูลจากหน่วยความจำสำกรองต่อการดึงข้อมูล
การจัดโครงสร้างข้อมูลแบบต่างๆ
-                    แฟ้มลำดับ (sequential file)
-                    แฟ้มสุ่ม ( direct file หรือ hash file)
-                    แฟ้มดรรชนี (indexed file)
-                    แฟ้มลำดับดรรชนี (indexed sequential file)
2.1โครงสร้างของแฟ้มข้อมูลแบบเรียงลำดับ (Sequential File Structure)
            เป็นโครงสร้างของแฟ้มข้อมูลชนิดพื้นฐานที่สามารถใช้งานได้ง่ายที่สุดเนื่องจากมีลักษณะการจัดเก็บข้อมูลแบบเรียงลำดับเรคคอร์ดต่อเนื่องกันไปเรื่อยๆการอ่านหรือค้นคืนข้อมูลจะข้ามลำดับไปอ่านตรงตำแหน่งใดๆที่ต้องการโดยตรงไม่ได้เมื่อต้องการอ่านข้อมูลที่เรคคอร์ดใดๆโปรแกรมจะเริ่มอ่านตั้งแต่เรคคอร์ดแรกไปเรื่อยๆจนกว่าจะพบเรคคอร์ดที่ต้องการ ก็จะเรียกค้นคืนเรคคอร์ดนั้นขึ้นมา
            การใช้ข้อมูลเรียงลำดับนี้จึงเหมาะสมกับงานประมวลผลที่มีการอ่านข้อมูลต่อเนื่องกันไปเรื่อยๆตามลำดับและปริมาณครั้งละมากๆ
            แฟ้มข้อมูลแบบนี้ถ้าเป็นเครื่องคอมพิวเตอร์ระดับเมนเฟรมขนาดใหญ่ก็จะจัดเก็บอยู่ในอุปกรณ์ประเภทเทปแม่เหล็ก (magnetic tape) ซึ่งมีการเข้าถึงแบบลำดับ (Sequential access) เวลาอ่านข้อมูลก็ต้องเป็นไปตามลำดับด้วยคล้ายกับการเก็บข้อมูลเพลงลงบนเทปคาสเซ็ต
2.2โครงสร้างของแฟ้มข้อมูลแบบสุ่ม (Direct/Random File Structure)
             เป็นลักษณะของโครงสร้างแฟ้มข้อมูลที่เข้าถึงได้โดยตรงเมื่อต้องการอ่านค่าเรคคอร์ดใดๆสามารถทำการเลือกหรืออ่านค่านั้นได้ทำให้การเข้าถึงข้อมูลได้รวดเร็วกว่าปกติแล้วจะมีการจัดเก็บในสื่อที่มีลักษณะการเข้าถึงได้โดยตรงประเภทจานแม่เหล็ก เช่น ดิสเก็ต,ฮาร์ดดิสก์หรือ CD-ROM เป็นต้น
2.3โครงสร้างของแฟ้มข้อมูลแบบลำดับเชิงดรรชนี (Index Sequential File Structure)
            เป็นลักษณะของโครงสร้างแฟ้มข้อมูลที่อาศัยกระบวนการที่เรียกว่า ISAM (Index Sequential Access Method ) ซึ่งรวมเอาความสามารถในการเข้าถึงข้อมูลแบบสุ่มและแบบเรียงตามลำดับเข้าไว้ด้วยกัน การจัดโครงสร้างแฟ้มข้อมูลวิธีนี้ข้อมูลจะถูกจัดเก็บเรียงกันตามลำดับไว้บนสื่อแบบสุ่ม เช่น ฮาร์ดดิสก์และการเข้าถึงข้อมูลจะทำผ่านแฟ้มข้อมูลลำดับเชิงดรรชนี (Index Sequential File) ซึ่งทำหน้าที่ช่วยชี้และค้นหาข้อมูลที่ต้องการได้สามารถทำงานได้ยืดหยุ่นกว่าวิธีอื่นๆโดยเฉพาะกับกรณีที่ข้อมูลในการประมวลผลมีจำนวนมากๆ โครงสร้างแฟ้มข้อมูลแบบนี้จะมีหลักการทำงานคล้ายกับรูปแบบดรรชนีท้ายเล่ม ซึ่งทำให้ง่ายและสะดวกมากยิ่งขึ้น
 3.ข้อดีของการจัดการข้อมูลด้วยแฟ้มข้อมูล
3.1 การประมวลผลข้อมูลได้รวดเร็ว เนื่องจากมีการแยกข้อมูลไว้เป็นแฟ้มต่างๆ
3.2 ลงทุนต่ำในเบื้องต้น อาจไม่จำเป็นต้องใช้คอมพิวเตอร์ที่มีความสามารถมาก ก็สามารถทำการประมวลผลข้อมูลได้
3.3 สามารถออกแบบแฟ้มข้อมูลและทำการพัฒนาได้ง่าย เนื่องจากมีขั้นตอนไม่สลับซับซ้อนมากนัก

6.องค์ประกอบของระบบฐานข้อมูล

ระบบฐานข้อมูลมีองค์ประกอบหลัก 4 องค์ประกอบ ได้แก่
-ข้อมูล (Data)
-ฮาร์ดแวร์ (Hardware)
-ซอฟต์แวร์ (Software)
-ผู้ใช้ (Users)