วันพฤหัสบดีที่ 18 ธันวาคม พ.ศ. 2557

ข้อสอบ O-net คอมพิวเตอร์

1.ลิขสิทธิ์โปรแกรมประเภทรหัสเปิด(Open Source)อนุญาต
ให้ผู้ใช้ทำอะไรได้บ้าง.
ก.  นำโปรแกรมมาใช้งานโดยไม่ต้องเสียค่าลิขสิทธิ์
ข.  ทดลองใช้โปรแกรมก่อนถ้าพอใจจึงจ่ายค่าลิขสิทธิ์
ค.  แก้ไขปรับปรุงโปรแกรมเองได้1.  ข้อ  ก กับ  ข้อ        2.  ข้อ    กับ  ข้อ 
3.  ข้อ    อย่างเดียว     4.  ข้อ    อย่างเดียว
เฉลยข้อ  4
2.ห้องสมุดแห่งหนึ่งต้องการพัมนาระบบยืมหนังสือโดยสามารถ
บันทึกข้อมูลการยืมหนังสือลงบนบัตรอิเลคโทรนิกส์โดยไม่ต้อง
เขียนด้วยมือระบบนี้ควรใช้เทคโนโลยีในข้อใด.
1.  Smart  Card          2.  Fingerprint
3.  Barcode                 4.  WiFi
เฉลยข้อ  3
3.ผู้ประกอบอาชีพเป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้
ด้านใดบ้างจากตัวเลือกต่อไปนี้.
ก.  ฮาร์แวร์คอมพิวเตอร์       ข.  ระบบปฎิบัติการ
ค.  เว็บเซิร์ฟเวอร์                   ง.  HTML
จ.  ระบบฐานข้อมูล                ฉ.  ภาษาจาวา(Java)
1.  ข้อ  ก และ ค                    2.  ข้อ    และ 
3.  ข้อ    และ                     4.  ข้อ    และ 
เฉลยข้อ  3
4.ข้อใดเป็นเทคโนโลยีการเชื่อมต่อข้อมูลไร้สายทั้งหมด.
1.  Wi-Fi  ,  IP              2.  Wi-Fi  ,Bluetooth
3.  3G  ADSL                4.  3G    Ethernet
เฉลยข้อ  2
5.ข้อใดไม่ใช่ข้อเสียของการละเมิดลิขสิทธิ์ซอฟต์แวร์.
1.  การทำผิดกฏหมายลิขสิทธิ์มีความผิดทางอาญา
2.  เป็นช่องทางหนึ่งในการระบาดของไวรัสคอมพิวเตอร์
3.  ผู้ใช้จะไม่ได้รับการบริการจากผู้พัมนาถ้าหากมีปัญหาการใช้งาน
4.  ทำให้ผู้พัมนาซอฟแวร์ไม่มีรายได้เพื่อประกอบการและพัฒนาต่อไปได้
เฉลยข้อ  2
6.ข้อใดเป็นบริการส่งจดหมายอิเล็กทรอนิคส์ผ่านสายโทรศัพท์.
1. E- mail    
2. Web  Site   
3. Search  engine
4. Face  book
เฉลยข้อ  1  เป็นการส่งจดหมายอิเลคทรอนิค
7.ข้อใดไม่ใช่ระบบปฏิบัติการที่นำมาใช้บนอุปกรณ์พกพา
ประเภท  Smartphone.
1.  Ubumtu       2.  Iphone  os
3.  Android      4.  Symbian
เฉลยข้อ  1
8.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
1.  ไฟล์เพลง  MP 3 (mp 3)
2.  ไฟล์รูปประเภท  JPEG (jpeg)
3.  ไฟล์แสดงผลหน้าเว็บ (html)
4.  ไฟล์วีดีโอประเภท  Movie (movie)
เฉลยข้อ  3
9.ระบบกระดานสนทนาหรือเว็บบอร์ดแห่งหนึ่งมีความต้องการดังนี้     
ก.  ต้องให้ผู้ใช้สามารถตั้งกระทู้โต้ตอบกันได้โดยผู้ใช้
ต้องแสดงตัวตน(ล็อกอิน)เพื่อเข้าระบบก่อน
ข.  ผู้ใช้สามารถตั้งกระทู้หรือเข้าไปตอบกระทู้ที่ตั้งไว้แล้วได้
ค.  ระบบจะบันทึกชื่อผู้ตั้งและผู้ตอบไว้ด้วย
ในการออกแบบฐานข้อมูลดังกล่าวข้อใดกล่าวได้ถูกต้อง.
1.  ต้องสร้างตารางผู้ใช้ ตารางกระทู้และตารางคำตอบ
2.  ไม่ต้องสร้างตารางผู้ใช้เนื่องจากสามารถบันทึกชื่อ
ผู้ใช้ในตารางกระทู้และตารางคำตอบได้เลย
3.  ต้องสร้างตารางผู้ใช้และตารางกระทู้ส่วนคำตอบจะอยู่
ในตารางกระทู้อยู่แล้ว
4.  ไม่ต้องสร้างตารางกระทู้เพราะสามารถบันทึกกระทู้ที่ผู้ใช้
ตั้งในตารางผู้ใช้ได้เลย
เฉลยข้อ  4
10.ข้อใดต่อไปนี้ถูกต้องที่สุด.
1.  การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
2.  หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ  Network Interce Card
3.  หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Volntile
4.  รหัส ACIIและEBCIDICเป็นการวางรหัสตัวอักษรที่ใช้ขนาด  8 บิด
เฉลยข้อ  3 


คำสั่งในฟังก์ชั่น PHP

คำสั่ง IF/THENคำสั่ง IF / Then
              เป็นคำสั่งสำหรับตรวจสอบตามเงื่อนไขที่ต้องการ
การใช้คำสั่งจะมีรูปแบบ IF(เงื่อนไข) { ทำคำสั่งในส่วนนี้ถ้าเงื่อนไขเป็นจริง} ตัวอย่างเช่น

<?php     $a = 1;
     if($a) {          echo "True!";     }?>
             จากตัวอย่าง  ให้ $a เก็บค่า จริง(true) 1 มีค่าเท่ากับจริง 0
มีค่าเท่ากับเท็จมี ชนิดตัวแปรเป็นบูลีน เพราะฉะนั้นเมื่อเก็บค่าจริงในตัวแปร $a จึงสามารถ แปรเป็นประโยคจากคำสั่งตัวอย่างได้ว่า
 “ถ้าจริงแสดงข้อความว่า True”

ตัวอย่างต่อไปนี้จะเป็นการใช้คำสั่ง If/ Then/ Else

<?php    $a = 5;
    $b = "10";     if($a > $b) {             echo "$a มีค่ามากกว่า $b";
     } else {             echo "$a ไม่มากกว่า $b";
     }?> การเพิ่มคำสั่ง else ต่อจากคำสั่ง then หมายถึง ถ้าเงื่อนไขเป็นเท็จจะให้ทำอะไร จากโปรแกรม

ตัวอย่าง เราให้ $a เก็บค่า 5 และ $b

เก็บค่า 10 เอาไว้ เมื่อตรวจสอบเงื่อนไขว่า ถ้า 5 > 10 ให้แสดงข้อความว่า “5  มีค่ามากกว่า  10”  มิฉะนั้นให้แสดงข้อความว่า “5 ไม่มากกว่า 10” ข้อสังเกตการประกาศชนิดของตัวแปร PHP
จะไม่สนใจว่า $a จะเก็บเป็นตัวเลขหรือข้อความแต่สามารถเปรียบเทียบตามเงื่อนไขได้ ในตรงนี้ PHP  จะมองเป็นตัวเลข
การใช้เครื่องหมาย {}   คร่อมระหว่างคำสั่งจะต้องมีหลังเงื่อนไขที่เป็นจริงและหลังเงื่อนไขเป็นเท็จเสมอในกรณีที่มีหลายคำสั่งให้ใช้เครื่องหมาย “;”หลังคำสั่งทุก ๆ คำสั่ง

ตัวอย่างการใช้ if/elseif/else

 <?php     if($a == $b) {
    // ถ้า $a มีค่าเท่ากับ $b จริงทำคำสั่งที่ 1
    // ทำคำสั่งที่ 2 หากเป็นจริง       } elseif ($a > $b) {            // ถ้า $a มากกว่า $b จริงให้ทำคำสั่งนี้       } elseif($a < $b) {            // ถ้า $a น้อยกว่า $b จริงให้ทำคำสั่งนี้       } else  {            // ถ้าเงื่อนทั้งหมดที่กล่าวมาไม่จริงให้ทำคำสั่งนี้       }?>

การใช้คำสั่ง Switch
          การใช้คำสั่ง if/elseif/else/ ถ้าต้องการตรวจสอบเงื่อนไขที่หลายทางทำให้การเขียน elseif และเงื่อนไขเพิ่มมากด้วย
PHP สนับสนุนการใช้คำสั่ง  Switch เช่นเดียวกับภาษาซี
ดังตัวอย่าง

            <?php  $a = "100";
  switch($a) {      case(10):           echo "ตัวแปรเก็บค่า 10 เอาไว้";
           break;       case (100):           echo "ตัวแปรเก็บค่า 100  เอาไว้<br>";
       case (1000):           echo "ตัวแปรเก็บค่า 1000  เอาไว้";
           break;      default:           echo "<p>แน่ใจว่าเป็นตัวเลขหรือไม่";
    }?>

              การใช้คำสั่ง Switch จะมี 4 ส่วนด้วยกันได้แก่
1.  switch- เป็นส่วนที่กำหนดค่าหรือนิพจน์ ที่จะเปรียบเทียบกับ case ที่ตามมา  จากตัวอย่างจะเห็นว่า switch($a) มีความหมายว่า  Switch(100)
2.  case- นิพจน์ case เป็นส่วนสำหรับเปรียบเทียบกับ
Switch ซึ่งเป็นหลายทางเลือกแต่จะมีทางเลือกที่ควรมีตรงกันเพียงหนึ่งเดียว เราสามารถใช้เงื่อนไขเหมือนกับ
if ได้เช่นเดียวกัน ถ้า case นั้นเป็นจริง คำสั่งหลังจากนั้นจะประมวลผลจนกระทั่งเจอคำสั่ง
Break การประมวลผลจะหยุดและออกจากคำสั่ง switch
ทั้งหมด
3.  Break- หรือจุดหยุดกระทำ จะควบคุมให้โปรแกรมกระโดดคำสั่ง  switch ทั้งหมด
4.  default- เป็นการใช้กับ switch กรณีพิเศษที่ต้องการ
switch จะเลือกทางนี้ ถ้าหากว่าเงื่อนไขใน case ต่าง ๆส่วนบนไม่ถูกเลือกหรือไม่จริง
คำสั่ง For Loop

คำสั่ง For Loop
                  คำสั่งลูป for เป็นคำสั่งที่ใช้ในการควบคุมให้เกิดการทำงานได้หลาย ๆ รอบ
 จำนวนรอบกำหนดได้จากตัวแปรจำนวนค่าเริ่มต้น คำสั่งเงื่อนไข และค่า
ตัวแปรที่เปลี่ยนไปในแต่ละรอบ ตัวอย่างเช่น

<?php
    for($i = 0; $i < 10 ; $i++) {
            echo $i<br>;
       }
?>

คำสั่งลูป for จำเป็นต้องมี 3 ส่วนด้วยกันคือ

•         ค่าเริ่มต้น จากตัวอย่าง $i = 0; คือการกำหนดให้ค่าเริ่มต้นเก็บในตัวแปร $i มีค่าเท่ากับ 0
•         ส่วนของการเปรียบเทียบ ก่อนการวนรอบทุกครั้งจะมีการตรวจสอบเงื่อนไขก่อนเสมอ ถ้าเงื่อนไขที่ตรวจสอบนั้นเป็นจริงจึงจะมีการทำงานตามคำสั่งในลูป แต่ถ้าผลการตรวจสอบเงื่อนไขแล้วผลเป็นเท็จโปรแกรมจะสิ้นสุดการวนรอบ
•         ส่วนของการกำหนดค่าที่จะเปลี่ยนไปในแต่ละรอบ จากตัวอย่าง  $i++ หมายถึง การเพิ่มตัวแปร $i ครั้งละ 1
        ในการเขียนทั้ง 3 ส่วนจะต้องมีเครื่องหมาย “;” คั่นเสมอ
จากตัวอย่างเป็นการแสดงเลข 0 ถึง 9
คำสั่ง Foreach Loop
คำสั่ง Foreach loop เป็นคำสั่งที่ยอมให้เราเข้าไปถึงข้อมูลที่อยู่ภายใน
อะเรย์ได้โดยตรง เช่น

<?php
    $array = array("name" => "Jet","occupation" =>"Bounty Hunter");
    foreach ($array as $val) {
            echo "<P>$val";
    }
?>

ผลการทำงานของโปรแกรม

 Jet
 Bounty Hunter
 เราสามารถเขียนเพื่อต้องการให้แสดงค่าในอะเรย์ด้วย foreach loop
ดังนี้

<?php
    $array = array("name" => "Jet","occupation" =>"BountyHunter");
    foreach ($array as $key => $val) {
            echo "<P>$key : $val";
    }
?>

ผลการทำงานของโปรแกรม
name : Jet
occupation : Bounty Hunter

คำสั่งลูป while

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

<?php
$bg = "DDDDDD";
while ($data = mysql_fetch_array($result)) {
                    if($bg == "DDDDDD"){
                             $bg="EEEEEE";
                    }else{
                             $bg="DDDDDD";
                    }
echo   ‘<tr bgcolor="$bg"> ‘,
echo $data[name];
echo ‘</tr>’;
?>

          จากตัวอย่าง เป็นการใช้คำสั่งลูป while เพื่อให้แสดงข้อมูลในตารางทั้ง
หมดและในแต่ละแถวให้มีสีต่างกันคือสีเทาอ่อนกับสีเทาสลับกัน
เราสามารถใช้คำสั่ง Continue เพื่อต้องการให้ไปทำเงื่อนไขที่กำหนด
ขึ้นมาได้ เช่น

<?php
while($row = mysql_fetch_array($result)) {
    if($row['name'] ! = "ทวีรัตน์")) {
              continue;
    } else {
          // do something with the row
    }
?>

การใช้คำสั่งลูป DoWhile

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

<?php
     $i = 0;
     do {
             print $i;
     } while ($i>0);
?>

                   โปรแกรมนี้จะแสดง 0 หนึ่งครั้งเมื่อเจอนิพจน์  While ($i >0); ซึ่งเป็นเท็จก็จะออกจากลูป
ซึ่งแตกต่างจากโปรแกรมด้านล่างที่ไม่มีการพิมพ์ข้อความใด ๆ เลยเพราะเงื่อนไขเป็นเท็จ
ตั้งแต่ตอนต้น
<?php
     $i = 0;
     while($i > 0){
         print $i;
     }
?>
อย่างไรก็ตาม การนำลูป Do While มาใช้เขียนโปรแกรมในระบบฐานข้อมูลบนเว็บไม่นิยมนำมา
ใช้เลย

 การสร้างฟังก์ชันใหม่
                     PHP เหมือนกับโปรแกรมภาษาทั่วไปที่มีฟังก์ชัน (Function) สำหรับเขียนโปรแกรมเช่น
ฟังก์ชัน print() ฟังก์ชัน include() เป็นต้น แต่ฟังก์ชันดังกล่าวข้างต้นเป็นฟังก์ชันมาตรฐาน
ทั่วไปที่มีมากับโปรแกรมแล้ว ในเนื้อหานี้จะเป็นการสร้างฟังก์ชันโดยการเขียนขึ้นมาเอง โดยตัว
ของเราเองเพื่อการเรียกใช้ในครั้งต่อไป

 ตัวอย่างฟังก์ชันสำหรับคำนวณวันเดือนปีการ
เกษียณอายุราชการ
 <?php
 function RetireDate($DateOfBirth){
         $date = substr($DateOfBirth,0,2);
         $month = substr($DateOfBirth,3,2);
         $year = substr($DateOfBirth,6,4);
         if(($date>= '2' && $month =='10') ||  ($month =='11' || $month =='12')){
                 $retire =$year+61.'-09-30';
         }else {
                 $retire =$year+60.'-09-30';
         }
         return $retire;
 }
 ?>

การเรียกใช้ฟังก์ชันที่เขียนขึ้นใหม่ ใช้คำสั่งดังนี้

<?php
     $DateOfBirth =’21-10-2005’;
     echo retiredate($DateOfBirth);
?>

การใช้โปรแกรมเชิงวัตถุด้วย PHP

                  PHP สนับสนุนการใช้โปรแกรมเชิงวัตถุ ในรูปแบบการใช้คลาส เหมือนกับภาษา Java
ซึ่งเหมือนกับหลักการเขียนโปรแกรม OOP ทั่ว ๆไป ดังตัวอย่างการเขียนโปรแกรมเพื่อสร้าง
Class เก็บชื่อ นามสกุล และหมายเลขโทรศัพท์ ดังนี้

<?php
class address_book_entry {
    var $first;
    var $last;
    var $number;
    function set_name($first, $last) {
      $this->first = $first;
      $this->last = $last;
    }
    function set_number($number) {
      $this->number = $number;
    }
    function display_entry() {
      echo "<p>Name: " . $this->first . " " . $this->last;
      echo "<br>Number: " . $this->number;
    }
}
?>

การเรียกใช้คลาส

<?php
    $entry = &new address_book_entry;
    $entry->set_name("Bin","Tossapon");
    $entry->set_number("5-5555-5555");
    $entry->display_entry();
?>

ผลการทำงาน
Name: Bin Tossapon
Number: 5-5555-5555


                นอกจากนี้ เราสามารถเขียนโปรแกรมเพิ่มเติมจากคลาสที่มีอยู่แล้ว เป็นคลาสใหม่ที่ทำหน้า
ที่เหมือนกับคลาสเดิม ดังนี้

<?php
class address_book_entry2 extends address_book_entry {
var $email;
function set_email($email) {
       $this->email = $email;
    }
    function display_entry2() {
      echo "<p>Name: " . $this->first . " " . $this->last;
      echo "<br>Number: " . $this->number;
      echo "<br>Email: " . $this->email;
    }
}
?>

การเรียกใช้

<?php
    $entry = &new address_book_entry2;
    $entry->set_name("Bin","Tossapon");
    $entry->set_number("5-5555-5555");
    $entry->set_email("mynameistossapon@hotmail.com");
    $entry->display_entry();
?>
ผลการทำงาน
Name: Bin Tossapon
Number: 5-5555-5555

วันพฤหัสบดีที่ 6 พฤศจิกายน พ.ศ. 2557

ชนิดของฟิลด์

ชนิดของฟิลด์ 

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

       
        ข้อมูล หมายถึง กลุ่มของสารสนเทศที่สัมพันธ์กัน ความสัมพันธ์ของกลุ่มสารสนเทศหรือข้อมูลนั้นถูกกำหนดโดยผู้ใช้แฟ้มข้อมูล ข้อมูลเป็นส่วนประกอบสำคัญในการทำงานของคอมพิวเตอร์ เพราะข้อมูลเป็นวัตถุดิบในการประมวลผลข้อมูลทั้งหมดที่จัดการโดยคอมพิวเตอร์ประกอบด้วยบิต (bit) ซึ่งเป็นโครงสร้างที่เล็กที่สุดในแต่ละบิตจะเป็นตัวเลขในระบบเลขฐานสอง ประกอบด้วย 0 และ 1 ซึ่งนำมาใช้แทน ระหว่างสองสถานะ เช่น จริง-เท็จ เปิด-ปิด เป็นต้น เพื่อให้สามารถแสดงสารสนเทศได้มากขึ้น บิตจึงถูกรวมต่อกันเข้าเป็นสายเพื่อแสดงสารสนเทศ โดยนำบิตเหล่านั้นมาทำให้เป็นหน่วยที่ใหญ่ขึ้นเรียกว่าไบต์ (byte)

       ไบต์ ประกอบขึ้นมาจากบิตหลาย ๆ บิตมาเรียงต่อกัน แต่เนื่องจากคอมพิวเตอร์เข้าใจเพียงเลข 0 และเลข 1 เท่านั้นถ้าต้องการให้คอมพิวเตอร์รูปจักอักขระตัวอักษร A,B….,Z จะต้องมีการเอาเลข 0 และเลข 1 มาเรียงต่อกันเป็นรหัสแทนอักขระ โดยปกติ 1 ตัวอักขระจะมีความยาว 8 บิต ซึ่งเท่ากับ 1 ไบต์ จำนวนบิตที่นำมาเรียงต่อกันเป็นไบต์นี้แตกต่างกันไปตามรหัสแทนข้อมูล รหัสแทนข้อมูลที่ใช้กันแพร่หลายมี 2 ระบบคือ รหัสเอบซีดิก (EBCDIC) และรหัสแอสกี (ASCII) ใช้ 8 บิต รวมกันเป็น 1 ไบต์ โดย 1 ไบต์ จะใช้แทนอักขระ 1 ตัว


       เมื่อเรานำอักขระหลายๆตัวรวมกันโดยมีความหมายอย่างใดอย่างหนึ่งเราจะเรียกว่า เขตข้อมูลหรือฟิลด์ (filed) เช่น การรวมของตัวอักษรและตัวเลขเพื่อใช้แทนรหัสลูกค้า เช่น ‘C0100001’ เป็นต้น ฟิลด์คือกลุ่มของอักขระที่สัมพันธ์กันตั้งแต่ 1 ตัวขึ้นไปที่นำมารวมกันแล้วแสดงลักษณะหรือความหมายอย่างใดอย่างหนึ่ง


       ฟิลด์ คือ กลุ่มของอักขระทีสัมพันธ์กัน ตั้งแต่ 1 ตัวขึ้นไปที่นำมารวมกันแล้วแสดงลักษณะหรือความหมายอย่างใดอย่างหนึ่ง ฟิลด์แต่ละฟิลด์ยังแยกออกเป็นประเภทข้อมูล ซึ่งจะบ่งบอกว่าในเขตฟิลด์นั้นบรรจุข้อมูลประเภทใดไว้ สามารถแยกประเภทของฟิลด์ได้เป็น 3 ประเภทคือ


          - ฟิลด์ตัวเลข (numeric field) ประกอบด้วย อักขระที่เป็นตัวเลข ซึ่งอาจเป็นเลขจำนวนเต็มหรือทศนิยมและอาจมีเครื่องหมายลบหรือบวก เช่น ยอดคงเหลือในบัญชีเป็นกลุ่มของตัวเลข


          - ฟิลด์ตัวอักษร (alphabetic field) ประกอบด้วย อักขระที่เป็นตัวอักษรหรือช่องว่าง (blank) เช่น ชื่อลูกค้าเป็นกลุ่มของตัวอักษร


          - ฟิลด์อักขระ (character field หรือ alphanumeric field) ประกอบด้วย อักขระซึ่งอาจจะเป็นตัวเลขหรือตัวอักษรก็ได้ เช่น ที่อยู่ของลูกค้า


       ข้อมูลที่ปรากฏอยู่ในฟิลด์ เป็นหน่วยย่อยของระเบียนที่บรรจุอยู่ในแฟ้มข้อมูล เช่น ฟิลด์เลขรหัสประจำตัวบุคลากร ฟิลด์เงินเดือนของลูกจ้าง หรือฟิลด์เลขหมายโทรศัพท์ของพนักงาน ตัวอย่าง เช็คของธนาคารแห่งหนึ่งประกอบด้วย ชื่อที่อยู่ธนาคาร เช็คเลขที่ จ่ายจำนวนเงินเป็นตัวเลข จำนวนเงินเป็นตัวอักษร สาขาเลขที่ เลขที่บัญชี และลายเซ็น


       ฟิลด์บางฟิลด์อาจจะประกอบด้วยข้อมูลหลาย ๆ ประเภทรวมกันในฟิลด์ เช่น ฟิลด์วันที่ประกอบด้วย 3 ฟิลด์ย่อย ๆ คือ วันที่ เดือน และปี หรือในฟิลด์ชื่อธนาคาร ยังประกอบด้วยหลายฟิลด์ย่อย ๆ คือ ชื่อธนาคาร ที่อยู่ เมือง ประเทศ และรหัสไปรษณีย์

ฟิลด์ต่างๆ 


VARCHAR

       สำหรับเก็บข้อมูลประเภทตัวอักษร ทุกครั้งที่เลือกชนิดของฟิลด์เป็นประเภทนี้ จะต้องมี การกำหนดความยาวของข้อมูลลงไปด้วย ซึ่งสามารถกำหนดค่าได้ตั้งแต่ 1 - 255 ฟิลด์ชนิดนี้ เหมาะสำหรับการเก็บข้อมูลสั้นๆ เช่น ชื่อ นามสกุล หรือหัวข้อต่างๆ เป็นต้น... ในส่วนฟิลด์ประเภทนี้ จะ สามารถเลือก "แอตทริบิวต์" เป็น BINARY ได้ โดยปกติแล้วการจัดเรียงข้อมูลเวลาสืบค้น (query) สำหรับ VARCHAR จะเป็นแบบ case-sensitive (ตัวอักษรใหญ่ และเล็กมีความหมายแตกต่างกัน) แต่ หากระบุ "แอตทริบิวต์" เป็น BINARY ปุ๊บ การสืบค้นจะไม่คำนึงตัวอักษรว่าจะเป็นตัวใหญ่ หรือตัวเล็ก


CHAR

       สำหรับเก็บข้อมูลประเภทตัวอักษร แบบที่ถูกจำกัดความกว้างเอาไว้คือ 255 ตัวอักษร ไม่ สามารถปรับเปลี่ยนได้เหมือนกับ VARCHAR หากทำการสืบค้นโดยเรียงตามลำดับ ก็จะเรียงข้อมูลแบบ case-sensitive เว้นแต่จะกำหนดแอตทริบิวต์เป็น BINARY ที่จะทำให้การเรียงข้อมูลเป็นแบบ non case-sensitive เช่นเดียวกับ VARCHAR



TINYTEXT 


      ในกรณีที่ข้อความยาวๆ หรือต้องการที่จะค้นหาข้อความ โดยอาศัยฟีเจอร์ FULL TEXT SEARCH ของ MySQL เราอาจจะเลือกที่จะไม่เก็บข้อมูลลงในฟิลด์ประเภท VARCHAR ที่มีข้อจำกัดแค่ 256 ตัวอักษร แต่เราจะเก็บลงฟิลด์ประเภท TEXT แทน โดย TINYTEXT นี้ จะสามารถเก็บข้อมูล ได้ 256 ตัวอักษร ซึ่งมองเผินๆ ก็ไม่ต่างกับเก็บลงฟิลด์ประเภท CHAR หรือ VARCHAR(255) เลย แต่
จริงๆ มันต่างกันตรงที่ มันทำFULL TEXT SEARCH ได้


TEXT

     สำหรับเก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่สามารถเก็บได้มากขึ้น โดย สูงสุดคือ 65,535 ตัวอักษร หรือ 64KB เหมาะสำหรับเก็บข้อมูลพวกเนื้อหาต่างๆ ที่ยาวๆ



MEDIUMTEXT

     เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 16,777,215 ตัวอักษร


LONGTEXT

      เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 4,294,967,295 ตัวอักษร



TINYINT 

       สำหรับเก็บข้อมูลชนิดตัวเลขที่มีขนาด 8 บิต ข้อมูลประเภทนี้เราสามารถกำหนดเพิ่มเติม ในส่วนของ "แอตทริบิวต์" ได้ว่าจะเลือกเป็น UNSIGNED หรือ UNSIGNED ZEROFILL โดยจะมี ความแตกต่างดังนี้


         - UNSIGNED : จะหมายถึงเก็บค่าตัวเลขแบบไม่มีเครื่องหมาย แบบนี้จะทำใหสามารถเก็บค่าได้ ตั้งแต่ 0 - 255


         - UNSIGNED ZEROFILL : เหมือนข้างต้น แต่ว่าหากข้อมูลที่กรอกเข้ามาไม่ครบตามจำนวน หลักที่เรากำหนด ตัว MySQL จะทำการเติม 0 ให้ครบหลักเอง เช่น ถ้ากำหนดให้ใส่ได้ 3 หลัก แล้วทำการเก็บข้อมูล 25 เข้าไป เวลาที่สืบค้นดู เราจะได้ค่าออกมาเป็น 025 หากไม่เลือก "แอ ตทริบิวต์" สิ่งที่เราจะได้ก็คือ SIGNED นั่นก็คือต้องเสียบิตนึงไปเก็บเครื่องหมาย บวก/ลบ ทำ ให้สามารถเก็บข้อมูลได้อยู่ในช่วง -128 ถึง 127 เท่านั้น


SMALLINT

         สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 16 บิต จึงสามารถเก็บค่าได้ตั้งแต่ -32768 ถึง 32767 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 65535 (ในกรณี UNSIGNED หรือไม่คิดเครื่องหมาย)ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT


MEDIUMINT

       สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 24 บิต นั่นก็หมายความว่าสามารถเก็บ ข้อมูลตัวเลขได้ตั้งแต่ -8388608 ไปจนถึง 8388607 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 16777215(ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT


INT

      สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 32 บิต หรือสามารถเก็บข้อมูลได้ตั้งแต่ -2147483648 ไปจนถึง 2147483647 ครับ (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 4294967295 (ในกรณีที่เป็น
UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT


BIGINT

        สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 64 บิต สามารถเก็บข้อมูลได้ตั้งแต่ - 9223372036854775808 ไปจนถึง 9223372036854775807 เลยทีเดียว (แบบคิดเครื่องหมาย) หรือ 0 ถึง 18446744073709551615 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT


FLOAT[(M,D)]

         ที่กล่าวถึงไปทั้งหมด ในตระกูล INT นั้นจะเป็นเลขจำนวนเต็ม หากเราบันทึกข้อมูล ที่มีเศษทศนิยม มันจะถูกปัดทันที ดังนั้นหากต้องการจะเก็บค่าที่เป็นเลขทศนิยม ต้องเลือกชนิดขอฟิลด์ เป็น FLOAT โดยจะเก็บข้อมูลแบบ 32 บิต คือมีค่าตั้งแต่ -3.402823466E+38 ไปจนถึง -1.175494351E- 38, 0 และ 1.175494351E-38 ถึง 3.402823466E+38


DOUBLE[(M,D)]

       สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่มีขนาดเป็น 64 บิต สามารถเก็บได้ตั้งแต่ -1.7976931348623157E+308 ถึง -2.2250738585072014E-308, 0 และ2.2250738585072014E-308 ถึง 1.7976931348623157E+308


DECIMAL[(M,D)]


         สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่ใช้กับข้อมูลที่ ต้องการความละเอียดและถูกต้องของข้อมูลสูง ข้อสังเกต เกี่ยวกับข้อมูลประเภท FLOAT, DOUBLE และ DECIMAL ก็คือ เวลากำหนดความ ยาวของข้อมูลในฟิลด์ จะถูกกำหนดอยู่ในรูปแบบ (M,D) ซึ่งหมายความว่า ต้องมีการระบุว่า จะให้มี ตัวเลขส่วนที่เป็นจำนวนเต็มกี่หลัก และมีเลขทศนิยมกี่หลัก เช่น ถ้าเรากำหนดว่า FLOAT(5,2) จะ หมายความว่า เราจะเก็บข้อมูลเป็นตัวเลขจำนวนเต็ม 5 หลัก และทศนิยม 2 หลัก ดังนั้นหากทำการใส่ ข้อมูล 12345.6789 เข้าไป สิ่งที่จะเข้าไปอยู่ในข้อมูลจริงๆ ก็คือ 12345.68 (ปัดเศษให้มีจำนวนหลัก ตามที่กำหนดไว้)


DATE

       สำหรับเก็บข้อมูลประเภทวันที่ โดยเก็บได้จาก 1 มกราคม ค.ศ. 1000 ถึง 31 ธันวาคม ค.ศ. 9999 โดยจะแสดงผลในรูปแบบ YYYY-MM-DD


DATETIME 


      สำหรับเก็บข้อมูลประเภทวันที่ และเวลา โดยจะเก็บได้ตั้งแต่ 1 มกราคม ค.ศ. 1000 เวลา 00:00:00 ไปจนถึง 31 ธันวาคม ค.ศ. 9999 เวลา 23:59:59 โดยรูปแบบการแสดงผล เวลาที่ทำการสืบค้น(query) ออกมา จะเป็น YYYY-MM-DD HH:MM:SS


TIMESTAMP[(M)] 


      สำหรับเก็บข้อมูลประเภทวันที่ และเวลาเช่นกัน แต่จะเก็บในรูปแบบของ YYYYMMDDHHMMSS หรือ YMMDDHHMMSS หรือ YYYYMMDD หรือ YYMMDD แล้วแต่ ว่าจะระบุค่า M เป็น 14, 12, 8 หรือ 6 ตามลำดับ สามารถเก็บได้ตั้งแต่วันที่ 1 มกราคม ค.ศ. 1000 ไป จนถึงประมาณปี ค.ศ. 2037


TIME

          สำหรับเก็บข้อมูลประเภทเวลา มีค่าได้ตั้งแต่ -838:59:59 ไปจนถึง 838:59:59 โดยจะแสดงผล ออกมาในรูปแบบ HH:MM:SS YEAR[(2/4)] : สำหรับเก็บข้อมูลประเภทปี ในรูปแบบ YYYY หรือ YY แล้วแต่ว่าจะเลือก 2 หรือ 4 (หากไม่ระบุ จะถือว่าเป็น 4 หลัก) โดยหากเลือกเป็น 4 หลัก จะเก็บค่าได้ตั้งแต่ ค.ศ. 1901 ถึง 2155 แต่ หากเป็น 2 หลัก จะเก็บตั้งแต่ ค.ศ. 1970 ถึง 2069 ข้อสังเกต ค่าที่เก็บในข้อมูลประเภท TIMESTAMP และ YEAR นั้นจะมีความสามารถพอๆ กับ การเก็บข้อมูลวันเดือนปี และเวลา ด้วยฟิลด์ชนิด VARCHAR แต่ต่างกันตรงที่ จะใช้เนื้อที่เก็บข้อมูล น้อยกว่า... ทว่า ฟิลด์ประเภท TIMESTAMP นั้นจะมีข้อจำกัดในเรื่องของเวลาที่สามารถเก็บได้ คือ จะต้องอยู่ในระหว่าง 1 มกราคม ค.ศ. 1000 ไปจนถึงแถวๆ ค.ศ. 2037 อย่างที่บอก แต่หากเก็บเป็น VARCHAR นั้นจะไม่ติดข้อจำกัดนี้ 

          ฟิลด์ชนิด YEAR ก็เช่นกันครับ... ใช้เนื้อที่แค่ 1 ไบต์เท่านั้นในการ เก็บข้อมูล แต่ข้อจำกัดจะอยู่ที่ ปี ค.ศ. 1901 ถึง 2155 เท่านั้น (หรือ ค.ศ. 1970 ถึง 2069 ในกรณี 2 หลัก) แต่หากเก็บเป็น VARCHAR จะได้ตั้งแต่ 0000 ถึง 9999 เลย อันนี้เลยอยู่ที่ความจำเป็นมากกว่าครับ (แต่ ด้วยความที่ว่า ปัจจุบันฮาร์ดดิสก์ราคาถูกมากๆ ผมเลยไม่ติดใจอะไรที่จะใช้ VARCHAR แทน เพื่อ ความสบายใจ อิอิ เพราะสมมติว่ากินเนื้อที่ต่างกัน 3 ไบต์ ต่อ 1 ระเบียน มีข้อมูล 4 ล้านระเบียน ก็เพิ่ง ต่างกัน 12 ล้านไบต์ หรือ 12 เมกะไบต์เท่านั้นเอง ซึ่งหากเทียบกับปริมาณข้อมูลทั้งหมดของข้อมูล 4 ล้านระเบียน ผมว่ามันต้องมีอย่างน้อยเป็นกิกะไบต์ ดังนั้นความแตกต่างที่ไม่กี่เมกะไบต์จึงไม่มากมาย)


TINYBLOB 


ิ      สำหรับเก็บข้อมูลประเภทไบนารี ได้แก่ ไฟล์ข้อมูลต่างๆ, ไฟล์รูปภาพ, ไฟล์มัลติมีเดีย เป็นต้น คือไฟล์อะไรก็ตามที่อัพโหลดผ่านฟอร์มอัพโหลดไฟล์ในภาษา HTML โดย TINYBLOB นั้นจะมีเนื้อที่ให้เก็บข้อมูลได้ 256 ไบต์


BLOB
         

       สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่สามารถเก็บข้อมูลได้ 64KB


MEDIUMBLOB

       สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่เก็บข้อมูลได้ 16MB


LONGBLOB
     

      สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่เก็บข้อมูลได้ 4GB ข้อสังเกต ข้อมูลประเภท BLOB นั้น แม้จะมีประโยชน์ในเรื่องของการเก็บข้อมูลประเภท BINARY ให้อยู่กับตัวฐานข้อมูล ทำให้สะดวกเวลาสืบค้นก็ตาม แต่มันก็ทำให้ฐานข้อมูลมีขนาดใหญ่ เกินความจำเป็นด้วย ทำให้เกิดความไม่สะดวกในการสำรองฐานข้อมูลในกรณีที่ มีข้อมูลอัพโหลดไป เก็บมากๆ โดยปกติแล้ว จะใช้วิธีการอัพโหลดไปเก็บไว้ในโฟลเดอร์ แล้วเก็บลิงก์ไปยังไฟล์เหล่านั้น เป็นฟิลด์ชนิด VARCHAR มากกว่า


SET
      

      สำหรับเก็บข้อมูลที่เป็นกลุ่มของข้อมูลที่ยอมให้เลือกได้ 1 ค่าหรือหลายๆ ค่า ซึ่งสามารถกำหนด ได้ถึง 64 ค่า

ฐานข้อมูล


ระบบฐานข้อมูล (DATABASE SYSTEMS)

       ระบบฐานข้อมูล (database) หมายถึง กลุ่มของข้อมูลที่มีความสัมพันธ์กันและถูกนำมาจัดเก็บในที่เดียวกัน โดยข้อมูลอาจเก็บไว้ในแฟ้มข้อมูลเดียวกันหรือแยกเก็บหลาย  แฟ้มข้อมูล แต่ต้องมีการสร้างความสัมพันธ์ระหว่างข้อมูลเพื่อประสิทธิภาพในการจัดการข้อมูลในการจัดเก็บข้อมูลในระบบฐานข้อมูลมีข้อดีกว่าการจัดเก็บข้อมูลในระบบแฟ้มข้อมูลพอสรุปประเด็นหลัก  ได้ดังนี้
· มีการใช้ข้อมูลร่วมกัน (data sharing)
· ลดความซ้ำซ้อนของข้อมูล (reduce data redundancy)
· ข้อมูลมีความถูกต้องมากขึ้น (improved data integrity)
· เพิ่มความปลอดภัยให้กับข้อมูล (increased security)
· มีความเป็นอิสระของข้อมูล (data independency)

ความรู้พื้นฐานเรื่องเขตข้อมูล ระเบียน และแฟ้มข้อมูล

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

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


4.1 ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล (Database Concepts)

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

4.1.1 การจัดเก็บข้อมูลด้วยรูปแบบแฟ้มข้อมูล

           เมื่อเปรียบเทียบกับการจัดเก็บข้อมูลในอดีตซึ่งเป็นการจัดเก็บแบบแฟ้มข้อมูลโดยที่แต่ละแฟ้มข้อมูลจะทำการเก็บหรือประมวลผลในลักษณะที่เป็นอิสระจากกัน เช่น




                รูปที่ 4.1 : แผนภาพการใช้ข้อมูลในระบบประมวลผลแบบแฟ้มข้อมูล

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




             จากภาพที่ 4.2 จะเห็นว่าเป็นการประมวลผลในลักษณะของฐานข้อมูล โดยที่แฟ้มทั้งสามจะถูกจัดเก็บเป็นฐานข้อมูลรวม (Data Integration) โดยมีซอฟท์แวร์ช่วยเหลือในการจัดการฐานข้อมูลที่เรียกกันว่า   ระบบจัดการฐานข้อมูล (Database Management Systems ; DBMS) ที่สามารถช่วยเหลือในการสร้าง (Creation) จัดเก็บ (Storage) เรียกดูข้อมูล (Retrieval) และควบคุมข้อมูล (Data control)   ในกรณีที่ต้องการให้ออกรายงานพนักงานขายที่ไปให้บริการหลังขายแก่ลูกค้ารายหนึ่ง  ซึ่งเป็นข้อมูลที่มีความสัมพันธ์กัน   สามกลุ่ม   ระบบย่อมสามารถดึงข้อมูลไปใช้ร่วมกันได้   ซึ่งแตกต่างจากการประมวลผลแบบเดิม


4.1.2 ความหมายของฐานข้อมูล (Database)

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

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

             ระบบฐานข้อมูลส่วนใหญ่เป็นระบบที่มีการนำเอาคอมพิวเตอร์เข้ามาช่วยเหลือเป็นเครื่องมือพื้นฐาน (Computer Based Information System ; CBIS) โดยมีซอฟท์แวร์หรือโปรแกรมช่วยจัดการข้อมูลเหล่านี้เพื่อให้ได้ข้อมูลตามที่ผู้ใช้ต้องการ องค์ประกอบจึงแบ่งเป็น 5 ประเภทดังนี้
        1. ฮาร์ดแวร์ (Hardware) ในระบบฐานข้อมูลที่มีประสิทธิภาพควรมีฮาร์ดแวร์ต่างๆที่พร้อมจะอำนวยความสะดวกในการบริหารฐานข้อมูลได้อย่างมีประสิทธิภาพ  เช่น หน่วยความจำหลัก  หน่วยความจำสำรอง ความเร็วของหน่วยประมวลผลกลาง  อุปกรณ์นำเข้าและออกรายงานที่มีคุณภาพดี
        2.  ซอฟท์แวร์ (Software)    บ้างก็เรียก โปรแกรม หรือ Package เป็นสิ่งที่ใช้เพื่อการประมวลผลฐานข้อมูลเหล่านั้น มักเรียกรวมกันว่าเป็น ระบบจัดการฐานข้อมูล     (Database Management System  หรือ DBMS)   ซึ่งเป็นโปรแกรมที่มีความสามารถในการจัดเก็บข้อมูลอย่างมีระบบ หมวดหมู่ สามารถเรียกใช้ข้อมูล(Retrieve data)  แก้ไขข้อมูล (Edit data) การเพิ่มเข้าไป (Append data) การแก้ไขโครงสร้างข้อมูล การออกรายงาน   และการควบคุมการเข้าใช้ข้อมูล ซึ่งเป็นโปรแกรมตัวกลางในการติดต่อสื่อสารระหว่างผู้ใช้และโปรแกรมประยุกต์ต่างๆที่มีในฐานข้อมูล (User Interface)
       3. ข้อมูล (Data) ข้อมูลคือสิ่งที่ผู้ใช้ต้องการเรียกใช้  จัดเก็บ  แก้ไข เพิ่มเติม ข้อมูลที่มีลักษณะเป็นฐานข้อมูลจะต้องถูกเรียกใช้ร่วมกันได้ (Sharing) กันระหว่างผู้ใช้ที่ต่างกัน  
      4. บุคลากร (People)   ผู้ใช้ฐานข้อมูลย่อมมีระดับที่ใช้แตกต่างกันไป  ไม่ใช่ว่าใครจะเข้าไปใช้ฐานข้อมูลก็ได้ เพราะแต่ละระดับย่อมมีขอบเขตของการเข้าใช้    ซึ่งเป็นเรื่องที่ต้องระมัดระวังมากในกรณืที่ใช้ฐานข้อมูลร่วมกันอาจต้องมีการกำหนดระดับของการเข้าใช้ และการป้องกันฐานข้อมูลที่จำเป็น ดังนั้นโดยทั่วไปแล้วฐานข้อมูลมักมีผู้ใช้ที่เกี่ยวข้องดังนี้
                - ผู้ใช้ทั่วไป (General User) เป็นผู้ที่ต้องใช้ฐานข้อมูลจากระบบงาน   เพื่อทำงานให้สำเร็จ เช่น พนักงานเก็บเงินในห้างสรรพสินค้า  ต้องใช้ฐานข้อมูลสินค้าในระบบขณะแสกนบาร์โค้ด
                - พนักงานปฏิบัติการ (Operator) เป็นพนักงานที่อยู่ส่วนหลังกิจการ ทำหน้าที่ประมวลผลข้อมูล คอยป้อนข้อมูลเข้า  แก้ไข  ปรับเปลี่ยนโครงสร้าง  เฝ้าระวัง
                - นักวิเคราะห์และออกแบบระบบ   (System Analysis ; SA)   เป็นผู้มีหน้าที่วเคราะห์ระบบงานฐานข้อมูลและออกแบบระบบงานที่จะนำมาใช้
                - ผู้เขียนโปรแกรมประยุกต์ใช้งาน (Programmer)   เป็นผู้ทำหน้าที่ในการเขียนโปรแกรมเพื่อการจัดเก็บ การเรียกใช้ข้อมูล และงานอื่นๆ ให้เป็นไปตามความต้องการของผู้ใช้
                - ผู้บริหารฐานข้อมูล  (Database Administrator :DBA)   เป็นบุคลากรที่สำคัญ คอยทำหน้าที่บริหารงานของระบบฐานข้อมูลทั้งหมด    เป็นผู้ต้องตัดสินใจว่าจะรวบรวมข้อมูลอะไรบ้างไว้ในระบบ   จะจัดเก็บโดยวิธีใด  จะใช้เทคนิคใดในการเรียกดูข้อมูล  การกำหนดระบบการรักษาความปลอดภัยข้อมูล การสร้างระบบสำรองข้อมูล การกู้คืน  การซ่อมบำรุง  การประสานงานผู้ใช้  ผู้ปฏิบัติงาน นักวิเคราะห์ระบบตลอดจนโปรแกรมเมอร์   และการกำหนดระดับการเข้าใช้ข้อมูลของบุคลากรทุกระดับ
5. ขั้นตอนการปฏิบัติงาน  (Procedure)
        ในระบบฐานข้อมูลควรจะมีการจัดทำเอกสารที่ระบุขั้นตอนทำงานของหน้าที่ต่างๆ   ทั้งในสภาวะปกติและสภาวะเกิดปัญหา ซึ่งเป็นขั้นตอนการปฏิบัติงานสำหรับบุคลากรทุกระดับในองค์กร
 4.1.4  ข้อดีและข้อจำกัดของฐานข้อมูล
        การจัดเก็บข้อมูลในรูปแบบของฐานข้อมูลมีข้อไดเปรียบกว่าการจัดเก็บในลักษณะแฟ้มข้มูลดังนี้
        - หลีกเลี่ยงความขัดแย้งของข้อมูลได้   (Inconsistency can be avoided)  ในการจัดเก็บข้อมูลแบบแฟ้มข้อมูล  จะก่อให้เกิดความขัดแย้งของข้อมูลได้ (Inconsistency)  เช่น ถ้ามีการแก้ไขข้อมูลในแฟ้มๆหนึ่ง โดยที่ไม่ได้แก้ไขข้อมูลเดียวกันนั้นในอีกแฟ้มข้อมูลหนึ่งจะทำให้ข้อมูลนั้นมีค่าที่ต่างกันทั้งๆที่จะต้องเหมือนกัน
        - สามารถใช้ข้อมูลร่วมกันได้ (Data  can be shared ) ตามที่กล่าวมาแล้วว่า ฐานข้อมูลเป็นการจัดเก็บข้อมูลไว้ร่วมกัน เมื่อผู้ใช้ต้องการข้อมูลจากฐานข้อมูลซึ่งเป็นข้อมูลที่มาจากแฟ้มที่แตกต่างกันจะทำได้ง่าย    เช่น การดึงข้อมูลสินค้ามาจากฐานข้อมูล  ฝ่ายขายก็สามารถดึงไปใช้งานการตลาดได้  ส่วนฝ่ายจัดซื้อก็ดึงไปในระบบงานสั่งซื้อได้  ดังภาพ




        - สามารถลดความซ้ำซ้อนของข้อมูล  (Redundancy can be reduced) การจัดเก็บข้อมูลไว้เป็นแฟ้มแยกกันอย่างอิสระ (Independent data)  ก่อให้เกิดความซ้ำซ้อน (Redundancy) การนำข้อมูลมารวบรวมไว้ในฐานข้อมูลเดียวกันช่วยลดปัญหาการซ้ำซ้อนของข้อมูลได้    โดยมีระบบจัดการฐานข้อมูลช่วยควบคุมความซ้ำซ้อนทั้งในด้านการจัดเก็บและการประมวลผลรวมถึงความเชื่อถือได้ของข้อมูล (Integrity)

        - การรักษาความถูกต้องเชื่อถือได้ของข้อมูล (Maintaining data integrity) ในกรณีการป้อนข้อมูลโดยคนอาจเกิดความผิดพลาดขึ้นได้จากการป้อนเข้า   (Human error )   ซึ่งจะก่อให้เกิดปัญหา GIGO (Garbage In Garbage Out) ในระบบจัดการฐานข้อมูลจะสามารถระบุกฎเกณฑ์เพื่อควบคุมความผิดพลาดในการป้อนเข้าได้   เช่น การระบุตัวเลข Digit Number  ท้ายรหัสบาร์โค้ดเพื่อตรวจสอบความถูกต้องของชุดตัวเลขที่อยู่ก่อนหน้า
        - สามารถกำหนดความเป็นมาตรฐานเดียวกันได้ (Standardization)   การเก็บรวบรวมข้อมูลเป็นฐานข้อมูลสามารถกำหนดให้อยู่ในรูปฟอร์มเดียวกันได้ (Formatting) เช่น โครงสร้างข้อมูล ประเภทของข้อมูลที่จัดเก็บเป็นต้น
        - สามารถกำหนดระบบความปลอดภัยของข้อมูลได้   (Data security)   ผู้บริหารระบบฐานข้อมูลสามารถกำหนดระดับการเรียกใช้ข้อมูลของผู้ใช้แต่ละคนให้แตกต่างกันตามหน้าที่รับผิดชอบได้ง่าย     เพื่อป้องกันการรั่วไหลของข้อมูลและมีกติกาในการเอาผิดผู้ละเมิดได้
        -  ข้อมูลและโปรแกรมเป็นอิสระต่อกัน (Independence) ถ้าหากโปรแกรมประยุกต์ต่างๆ ต้องใช้แฟ้มข้อมูลโดยตรงดังภาพที่ 4.1 แล้ว แต่ละโปรแกรมจะมีรายละเอียดของแฟ้มข้อมูลนั้นๆ ถ้าหากมีการเปลี่ยนแปลงโครงสร้างแฟ้มข้อมูล เช่น จากเดิมเคยมีข้อมูล อยู่ 10 Field ต้องขยายเป็น 15 Field ก็จะต้องแก้ไขโปรแกรมประยุกต์ที่เกี่ยวข้องด้วย  ซึ่งจะทำให้กระทบกระเทือนทุกๆโปรแกรมที่เกี่ยวข้องกับข้อมูลนั้นด้วยทันที  แต่ในกรณีการสร้างฐานข้อมูล โปรแกรมประยุกต์ต่างๆ  เป็นอิสระจากแฟ้มข้อมูล  เนื่องจากไม่ได้ผูกติดกันโดยตรง เมื่อมีการเปลี่ยนแปลงโครงสร้าง
     ข้อมูลจะไม่กระทบต่อโปรแกรมประยุกต์  เพราะโปรแกรมประยุกต์จะทำงานโดยมีระบบจัดการฐานข้อมูล (DBMS) เป็นตัวเชื่อมโยงกับฐานข้อมูลคั่นอยู่ระหว่างกลาง  เมื่อมีการเปลี่ยนโครงสร้างข้อมูล  ระบบจัดการฐานข้อมูลจะเป็นตัวจัดการให้เอง
อย่างไรก็ตามการจัดเก็บข้อมูลในรูปแบบฐานข้อมูล ก็มีข้อจำกัดเช่นกัน
        - มีต้นทุนสูง     ระบบฐานข้อมูลก่อให้เกิดต้นทุนที่สูงขึ้น    ตามองค์ประกอบ 5 ชนิดที่กล่าวมาแล้วได้แก่  Hardware/ระบบเครือข่าย , Software  , บุคลากร  ข้อมูลและขั้นตอนการปฏิบัติงาน
        - มีความซับซ้อน การเริ่มใช้ฐานข้อมูล  มีความซับซ้อน  และยากต่อความเข้าใจ   ตั้งแต่การออกแบบระบบ  การวางโครงสร้างข้อมูล   การเขียนโปรแกรม
        - เสี่ยงต่อการหยุดชะงักของระบบ     ลักษณะของการเก็บข้อมูลในลักษณะฐานข้อมูลเป็นการบริหารข้อมูลแบบรวมศูนย์ (Centralized Database system)  หากศูนย์เกิดความขัดข้อง   จะทำให้เกิดปัญหารวนไปทั้งระบบได้ เช่น ระบบงานธนาคาร ถ้าศูนย์บัญชาการข้อมูลเกิดไฟฟ้าดับ  สำนักงานสาขาย่อมเกิดปัญหาเป็นลูกโซ่ไปทั้งประเทศได้


1. Microsoft Access เป็นโปรแกรมระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational DataBase Management System : RDBMS) ที่ช่วยให้การจัดเก็บข้อมูล การสอบถาม การค้นหา การดูแลรักษา (เพิ่ม,ลบ,แก้ไขข้อมูล) การวิเคราะห์และการน าเสนอข้อมูล รวมถึงการรักษาความปลอดภัยของ
ข้อมูล ทำได้ง่ายและมีประสิทธิภาพสูง 

                                
2. มายเอสคิวแอล (MySQL) คืออะไร
MySQL คือ โปรแกรมระบบจัดการฐานข้อมูล ที่พัฒนาโดยบริษัท MySQL AB มีหน้าที่เก็บข้อมูลอย่างเป็นระบบ รองรับคำสั่ง SQL เป็นเครื่องมือสำหรับเก็บข้อมูล ที่ต้องใช้ร่วมกับเครื่องมือหรือโปรแกรมอื่นอย่างบูรณาการ เพื่อให้ได้ระบบงานที่รองรับ ความต้องการของผู้ใช้ เช่นทำงานร่วมกับเครื่องบริการเว็บ (Web Server) เพื่อให้บริการแก่ภาษาสคริปต์ที่ทำงานฝั่งเครื่องบริการ (Server-Side Script) เช่น ภาษา php ภาษา aps.net หรือภาษาเจเอสพี เป็นต้น หรือทำงานร่วมกับโปรแกรมประยุกต์ (Application Program) เช่น ภาษาวิชวลเบสิกดอทเน็ต ภาษาจาวา หรือภาษาซีชาร์ป เป็นต้น โปรแกรมถูกออกแบบให้สามารถทำงานได้บนระบบปฏิบัติการที่หลากหลาย และเป็นระบบฐานข้อมูลโอเพนทซอร์ท (Open Source)ที่ถูกนำไปใช้งานมากที่สุด
MySQL : มายเอสคิวแอล เป็นระบบจัดการฐานข้อมูลโดยใช้ภาษา SQL. แม้ว่า MySQL เป็นซอฟต์แวร์โอเพนซอร์ส แต่แตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป โดยมีการพัฒนาภายใต้บริษัท MySQL AB ในประเทศสวีเดน โดยจัดการ MySQL ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
MySQL ถือเป็นระบบจัดการฐานข้อมูล (DataBase Management System (DBMS) 
ฐานข้อมูลมีลักษณะเป็นโครงสร้างของการเก็บรวบรวมข้อมูล การที่จะเพิ่มเติม เข้าถึงหรือประมวลผลข้อมูลที่เก็บในฐานข้อมูลจำเป็นจะต้องอาศัยระบบจัดการ ฐานข้อมูล ซึ่งจะทำหน้าที่เป็นตัวกลางในการจัดการกับข้อมูลในฐานข้อมูลทั้งสำหรับการ ใช้งานเฉพาะ และรองรับการทำงานของแอพลิเคชันอื่นๆ ที่ต้องการใช้งานข้อมูลในฐานข้อมูล เพื่อให้ได้รับความสะดวกในการจัดการกับข้อมูลจำนวนมาก MySQL ทำหน้าที่เป็นทั้งตัวฐานข้อมูลและระบบจัดการฐานข้อมูล

                              
3. SQL Server  คืออะไร
            SQL Server เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (relational database management system หรือ RDBMS) จาก Microsoft ที่ได้รับการออกแบบสำหรับสภาพแวดล้อมวิสาหกิจ SQL Server เรียกใช้บน T-SQL (Transact -SQL) ชุดของส่วนขยายโปรแกรมจาก Sybase และ Microsoft ที่เพิ่มหลายส่วนการทำงานจาก SQL มาตรฐาน รวมถึงการควบคุมทรานแซคชัน, exception และการควบคุมความผิดพลาด, การประมวลผลแถว และการประกาศตัวแปร
Yukon เป็นชื่อรหัสในการพัฒนา SQL Server 2005 ได้รับการเผยแพร่ในเดือนพฤศจิกายน 2548 ผลิตภัณฑ์ 2005 ได้รับการกล่าวว่าให้ความยืดหยุ่น ความสามารถเชิงปริมาณ ความน่าเชื่อถือ และความปลอดภัยกับการประยุกต์ฐานข้อมูล และทำให้สร้างและจัดวางง่ายขึ้น ดังนั้น จึงลดความซับซ้อนและความน่าเบื่อเกี่ยวกับการจัดการฐานข้อมูล SQL Server 2005 รวมการสนับสนุนการบริหารมากขึ้นด้วย
ต้นกำเนิดคำสั่ง SQL Server ได้รับการพัฒนาโดย Sybase ในปลายทศวรรษ 1980 Microsoft, Sybase และ Ashton-Tate รวมมือในการผลิตเวอร์ชันแรกของผลิตภัณฑ์นี้เวอร์ชันแรก SQL Server 4.2 สำหรับ OS/2 นอกจากนี้ ทั้ง Sybase และ Microsoft เสนอผลิตภัณฑ์ SQL Server โดย Sybase เปลี่ยนชื่อผลิตภัณฑ์ของพวกเขาเป็น Adaptive Server Enterprise

                        

4. Oracle  คืออะไร
        Oracle คือ โปรแกรมจัดการฐานข้อมูล ผลิตโดยบริษัทออราเคิล ซึ่งเป็นโปรแกรมจัดการฐานข้อมูลเชิงสัมพันธ์ หรือ DBMS(Relational Database Management System) ตัวโปรแกรมนี้จะทำหน้าที่เป็นตัวกลางคอยติดต่อ ประสาน ระหว่างผู้ใช้และฐานข้อมูล ทำให้ผู้ใช้งานสามารถใช้งานฐานข้อมูลได้สะดวกขึ้น เช่นการค้นหาข้มูลต่างๆภายในฐานข้อมูลที่ง่ายและสะดวก โดยผู้ใช้ไม่จำเป็นต้องทราบถึงโครงสร้างภายในของฐานข้อมูลก้สามารถเข้าใช้ฐานข้อมุลนั้นได้
ข้อดีของ Oracle
1.เทคโนโลยี Rollback Segment ถูกนำมาใช้ในโปรแกรม Oracle ประโยชน์ Rollback Segment คือ สามารถจัดการกับข้อมูลในกรณีที่เกิดการล้มเหลวของระบบ หรือภาวะระบบไม่สามารถให้บริการได้ ด้วยเทคโนโลยี Rollback Segment จะจัดการ Instance Recovery ข้อมูลไม่ให้เกิดความเสียหายอันเนื่องมาจาก การล้มเหลวของระบบ ได้อย่างดีมาก  
2. Oracle ยังมีส่วนที่เรียกว่า Timestamp ทำงานเกี่ยวข้องกับ Concurrency Control เป็นส่วนที่จัดการการทำงานกับหลาย ๆ Transaction ในเวลาเดียวกัน โดยทุก ๆ Transaction จะมี Timestamp เป็นตัวกำหนดเวลาเริ่มต้นของการประมวลผล (Process) ซึ่งช่วยในการขจัดปัญหาหลักของ Concurrency Problems 
3.Oracle ใช้ได้กับฐานข้อมูลกว่า 80 แพลตฟอร์ม ซึ่งครอบคลุมเกือบทุกแพลตฟอร์มที่มีอยู่ในปัจจุบัน เริ่มตั้งแต่เครื่องคอมพิวเตอร์บนเมนเฟรม, มินิคอมพิวเตอร์, พีซี บนระบบปฏิบัติการตั้งแต่ Window 9x, NT, Window CE, UNIX, SOLARIS, LINUX  โดยที่ในทุกพอร์ตมีโครงสร้างการเหมือนกันๆหมด คำสั่งที่ใช้ก็เป็นแบบเดียวกัน สามารถทำงานร่วมกันได้ สามารถนำข้อมูลจากพอร์ตหนึ่งไปพอร์ตอื่นได้อย่างไม่มีปัญหา
ประเภทของ Oracle1. Personal Oracle
2. Oracle Server
     ทั้ง 2 แบบนี้มีลักษณะการใช้งานและคำสั่งเหมือนกัน แต่ต่างกันที่ Personal Oracle คือฐานข้อมูลที่เมื่อติดตั้งบนเครื่องคอมพิวเตอร์แล้ว ผู้ใช้จะต้องนั่งทำงานกับ Oracle นี้ที่หน้าเครื่องท่านั้น ส่วนของ Oracle Server คือ ฐานข้อมูลในลักษณะเซิร์ฟเวอร์ คือเครื่องคอมพิวเตอร์ที่ติดตั้งโปรแกรมของ Oracle Server ไว้ และยอมให้ผู้ใช้งานเรียกฐานข้อมูล หรือจัดการกับข้อมูลจากเครื่องคอมพิวเตอร์อื่น ๆ ได้(เรียกเครื่องอื่นๆ เป็นไคลเอนต์) ดังนั้นถ้าต้องการให้มีผู้เรียกใช้ข้อมูลจากฐานข้อมูลหลาย ๆ คนได้ ก็ควรต้องเลือกแบบที่เป็น Oracle Server



วันศุกร์ที่ 19 กันยายน พ.ศ. 2557

บทบาทของการสื่อสาร

บทบาทของการสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์


      การติดต่อสื่อสารข้อมูลสมัยใหม่นี้ มีรากฐานมาจากความพยายามในการเชื่อมต่อระหว่างคอมพิวเตอร์กับคอมพิวเตอร์ โดยอาศัยระบบสื่อสารที่มีอยู่แล้ว เช่น โทรศัพท์ ดังนั้นการสื่อสารข้อมูลจึงอยู่ในขอบเขตที่จำกัด ต่อมาเมื่อมีการใช้คอมพิวเตอร์มากขึ้น ความต้องการในการติดต่อระหว่างคอมพิวเตอร์หลายเครื่องในเวลาเดียวกัน ที่เรียกว่า ระบบเครื่อข่าย (Network) ได้รับการพัฒนาให้ดีขึ้นเป็นลำดับ

      ในตอนเริ่มต้นของยุคสื่อสาร เมื่อประมาณ พ.ศ. 2513-2515 ความต้องการใช้คอมพิวเตอร์ร่วมกันมีมากขึ้น แต่คอมพิวเตอร์ยังมีราคาสูงมาก เมื่อเทียบกับอุปกรณ์สื่อสารที่มีอยู่แล้วบางอย่าง การสื่อสารด้วยระบบเครือข่ายในระยะนั้นจึงเน้นการใช้คอมพิวเตอร์ที่ศูนย์คอมพิวเตอร์เป็นผู้ให้บริการแก่ผู้ใช้ปลายทางหลายคน เพื่อประหยัดค่าใช้จ่ายของระบบ
       ต่อมาเมื่อถึงยุคสมัยของไมโครคอมพิวเตอร์ พบว่าขีดความสามารถในด้านความเร็วของการทำงานของเมนเฟรม มีความเร็วมากกว่า 10 เท่า เมื่อเทียบกับไมโครคอมพิวเตอร์ตัวที่ดีที่สุด แต่ราคาของเมนเฟรมแพงกว่าไมโครคอมพิวเตอร์หลายพันเท่าการใช้ไมโครคอมพิวเตอร์จึงแพร่หลายและกระจายออกไป การสื่อสารจึงกลายเป็นระบบเครือข่ายแบบกระจาย กล่าวคือ แทนที่จะออกแบบให้เครื่องคอมพิวเตอร์ปลายทางต่อกับเมนเฟรมก็เปลี่ยนเป็นระบบเครือข่ายที่ใช้คอมพิวเตอร์ต่อกับเครื่องคอมพิวเตอร์แทน

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

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

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

1) การจัดเก็บข้อมูลได้ง่ายและสื่อสารได้รวดเร็ว
 การจัดเก็บข้อมูลซึ่งอยู่ในรูปของสัญญาณอิเล็กทรอนิกส์ สามารถจัดเก็บไว้ในแผ่นบันทึกที่มีความหนาแน่นสูงแผ่นบันทึกแผ่นหนึ่งสามารถบันทึกข้อมูลได้มากกว่า 1 ล้านตัวอักษร สำหรับการสื่อสารข้อมูลนั้น ถ้าข้อมูลผ่านสายโทรศัพท์ได้ด้วยอัตรา 120 ตัวอักษรต่อวินาทีแล้วจะส่งข้อมูล 200 หน้าได้ในเวลา 40 นาที โดยที่ไม่ต้องเสียเวลามานั่งป้อนข้อมูลเหล่านั้นซ้ำใหม่อีก

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

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

4) ต้นทุนประหยัด
 การเชื่อมต่อคอมพิวเตอร์ต่อเข้าหากันเป็นเครือข่ายเพื่อส่งหรือสำเนาข้อมูลทำให้ราคาต้นทุนของการใช้ข้อมูลไม่แพง เมื่อเทียบกับการจัดส่งแบบวิธีอื่น นักคอมพิวเตอร์บางคนสามารถส่งโปรแกรมให้กันและกันผ่านทางสายโทรศัพท์ได้

4.2 การสื่อสารข้อมูล

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

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

1. ข่าวสารหรือข้อมูล (message)
2. ผู้ส่ง (sender) 
3. ผู้รับ (receiver) 
4. สื่อกลาง (media) 
5. โพรโทคอล (protocol