วันพฤหัสบดีที่ 19 กุมภาพันธ์ พ.ศ. 2558

ข้อสอบ O-net

1. คำถาม : นักเรียนคิดว่าการรับส่งข้อมูลในระบบคอมพิวเตอร์จะใช้สัญญาณแบบใด
ตัวเลือกที่ 1 : แบบคงที่
ตัวเลือกที่ 2 : แบบไม่คงที่
ตัวเลือกที่ 3 : แบบดิจิทัล
ตัวเลือกที่ 4 : แบบแอนะล็อก

เฉลย ตัวเลือกที่ 3 : แบบดิจิทัล

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

2. คำถาม : โพรโทคอลที่ใช้งานบนอินเทอร์เน็ตคืออะไร
ตัวเลือกที่ 1 : IPX/IP
ตัวเลือกที่ 2 : TCP/IP
ตัวเลือกที่ 3 : IPX/SPX
ตัวเลือกที่ 4 : TCP/SPX

เฉลย ตัวเลือกที่ 2 : TCP/IP

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

3. คำถาม : การกระทำใดต่อไปนี้ไม่จำเป็นต้องใช้เครือข่ายคอมพิวเตอร์
ตัวเลือกที่ 1 : สร้างเว็บไซต์ประมูลสินค้า
ตัวเลือกที่ 2 : ติดต่อสื่อสารผ่านโปรแกรม
ตัวเลือกที่ 3 : ค้นหาข้อมูลโดยใช้โปรแกรมสืบค้น
ตัวเลือกที่ 4 : ซื้อขายสินค้าผ่านระบบพาณิชย์อิเล็กทรอนิกส์

เฉลย ตัวเลือกที่ 1 : สร้างเว็บไซต์ประมูลสินค้า

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

 4. คำถาม : สื่อกลางที่ใช้มากในการสื่อสารข้อมูลในระบบเครือข่ายแลน (LAN) คือข้อใด
ตัวเลือกที่ 1 : สายโทรศัพท์
ตัวเลือกที่ 2 : สายโคแอกซ์
ตัวเลือกที่ 3 : สายตีเกลียวคู่
ตัวเลือกที่ 4 : สายเส้นใยนำแสง

เฉลย ตัวเลือกที่ 3 : สายตีเกลียวคู่

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

5. คำถาม : สายสัญญาณประเภทใดที่ไม่ถูกรบกวนด้วยคลื่นแม่เหล็กไฟฟ้าและสามารถส่งสัญญาณได้เร็วที่สุด
ตัวเลือกที่ 1 : สายโคแอกซ์
ตัวเลือกที่ 2 : สายใยแก้วนำแสง
ตัวเลือกที่ 3 : สายตีเกลียวคู่ ชนิดมีฉนวนหุ้ม
ตัวเลือกที่ 4 : สายตีเกลียวคู่ ชนิดไม่มีฉนวนหุ้ม

เฉลย ตัวเลือกที่ 2 : สายใยแก้วนำแสง

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

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

เฉลย ตัวเลือกที่ 3 : การสื่อสารด้วยเส้นใยนำแสง

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

 7. คำถาม : การใช้งานคอมพิวเตอร์ในข้อใด อยู่ในขั้นจัดเก็บข้อมูล
ตัวเลือกที่ 1 : กุ้ง ใช้แป้นพิมพ์ไร้สายพิมพ์รายงาน
ตัวเลือกที่ 2 : สาว สั่งให้เครื่องคอมพิวเตอร์หาค่าเฉลี่ยเลขคณิต
ตัวเลือกที่ 3 : ต้อย ใช้เครื่องพิมพ์ฉีดหมึกพิมพ์ภาพสีลงในกระดาษ A4
ตัวเลือกที่ 4 : น้ำหวาน บันทึกงานวิจัยเชิงปริมาณลงในแผ่น DVD-R

เฉลย ตัวเลือกที่ 4 : น้ำหวาน บันทึกงานวิจัยเชิงปริมาณลงในแผ่น DVD-R

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

8. คำถาม : ข้อใด ไม่มี ระบบการทำงานพื้นฐานแบบคอมพิวเตอร์
ตัวเลือกที่ 1 : เครื่องคิดเลข
ตัวเลือกที่ 2 : นาฬิการะบบดิจิทัล
ตัวเลือกที่ 3 : เครื่องฝาก - ถอนเงินอัตโนมัติ
ตัวเลือกที่ 4 : เครื่องคำนวณร้านสะดวกซื้อ

เฉลย ตัวเลือกที่ 2 : นาฬิการะบบดิจิทัล

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

9. คำถาม : ในการเลือกซื้อแป้นพิมพ์เพื่อการใช้งาน ควรพิจารณาจากสิ่งใด เป็นสำคัญ
ตัวเลือกที่ 1 : ราคาถูก
ตัวเลือกที่ 2 : มีความสวยงาม
ตัวเลือกที่ 3 : มีขนาดเล็กกะทัดรัด
ตัวเลือกที่ 4 : มีคุณสมบัติเหมาะสมกับการใช้งาน

เฉลย ตัวเลือกที่ 4 : มีคุณสมบัติเหมาะสมกับการใช้งาน

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
 
10. คำถาม : ข้อใดเป็นการใช้แป้นพิมพ์ที่ไม่ถูกต้อง
ตัวเลือกที่ 1 : วางแป้นพิมพ์ในที่มีอากาศถ่ายเทสะดวก
ตัวเลือกที่ 2 : ระมัดระวังมิให้แป้นพิมพ์ได้รับการกระแทก
ตัวเลือกที่ 3 : ใช้แปรงขนอ่อนนุ่มปัดฝุ่นทำความสะอาดเสมอ
ตัวเลือกที่ 4 : เมื่อเกิดคราบบนแป้นพิมพ์ ใช้ผ้าชุบน้ำเช็ดออกทันที

เฉลย ตัวเลือกที่ 4 : เมื่อเกิดคราบบนแป้นพิมพ์ ใช้ผ้าชุบน้ำเช็ดออกทันที

คำสั่ง 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 เป็นคำสั่งที่ใช้ในการควบคุมให้เกิดการทำงานได้หลาย ๆ รอบ
 จำนวนรอบกำหนดได้จากตัวแปรจำนวนค่าเริ่มต้น คำสั่งเงื่อนไข และค่า
ตัวแปรที่เปลี่ยนไปในแต่ละรอบ ตัวอย่างเช่น

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

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

จากตัวอย่างเป็นการแสดงเลข 0 ถึง 9

คำสั่ง 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();
?>

คำสั่ง SQL

คำสั่งพื้นฐาน 
select *  from employee ;
select emp_no , emp_name , emp_lname
from employee ;

คำสั่งแบบมีเงื่อนไข (condition)
Condition  หรือ เงื่อนไข หมายถึงการระบุความต้องการ มีรูปแบบการเขียนดังนี้คือ  <field>  <operator>  < value >
Filed คือ Filed ใดๆที่อยู่ในรายชื่อ Table อยู่ในคำสั่ง From
Operator คือคำสั่งในการปฏิบัติการ เช่น = , > , < , != , is null
Value ค่าที่ใช้เป็นเงื่อนไข หากเป็นตัวเลขสามารถระบุได้เลย หากเป็นตัวอักษรต้องมีการใส่  " ก่อนและหลังค่าที่เป็นเงื่อนไข
 Select * from work
  Where proj_num = 15 ;  (เลือกข้อมูลการทำงานโครงการ 15)
Select * from work
  Where hours  > 3 ;  (เลือกข้อมูลการทำงานที่มากกว่า 3 ชั่วโมง)
Select * from employee
  where job = "Programmer"  ; (เลือกพนักงานที่เป็น Programmer)

คำสั่งแบบหลายเงื่อนไข
select * from work
where proj_num  = 15   and hours  > 3 ;

(เลือกพนักงานที่ทำงานโครงการ 15 และทำงานมากกว่า3 ชั่วโมง : ต้องอยู่โครงการ 15)
select * from work

where proj_num  = 15  or hours  > 3 ;

(เลือกพนักงานที่ทำงานโครงการ 15 หรือทำงานมากกว่า 3 ชั่วโมง : อาจทำงานอยู่โครงการอื่น)


คำสั่งที่มีการใช้งานหลายตาราง (join)
Select  employee.emp_num , emp_name , hours
From    employee , work
Where  employee.emp_num = work.emp_num  ;
( แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงาน เนื่องจาก  ชื่อพนักงาน อยู่คนละตารางกับ ข้อมูลชั่วโมงทำงาน จึงต้องมีการ join ตารางที่มีข้อมูลเข้าด้วยกัน)

คำสั่งที่มีการเรียงลำดับ
Select  employee.emp_num , emp_name , proj_num,hours
From    employee , work
Where  employee.emp_num = work.emp_num
Order by employee.emp_num ;
(แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงานเรียงลำดับข้อมูล ตามรหัสพนักงาน)

การใช้ Operator : like

 Select * from employee
where emp_name like “A%” ;
(แสดงข้อมูล พนักงานที่ชื่อขึ้นต้นด้วยอักษร A )

Select * from employee
where emp_name like “%A%” ;
(แสดงข้อมูล พนักงานที่ชื่อมีอักษร A )

การใช้ Operator : in

select *  from employee
where deptno in ( “Programmer” , “System Analyst”) ;
(แสดงข้อมูลพนักงานที่เป็นโปรแกรมเมอร์หรือ นักวิเคราะห์ระบบ)

select *  from work
where proj_num in ( 15 , 22 ) ;
(แสดงข้อมูลการทำงานโครงการ 15 หรือ โครงการ 22 )

การทำงานเชิงนิเสธ

select *   from  work
where proj_num not in ( 15 ,  22) ;
(แสดงข้อมูลการทำงาที่ไม่ใช่ โปรเจ็ค 15 และ 22)
select *   from employee
where job != “Programmer”  ;
(แสดงข้อมูลการทำงานของพนักงานที่ไม่ใช่ Programmer)

การทำงานแบบ sub query
select  *   from work
where emp_num  deptno in ( select emp_num  from employee where job = “Programmer”) ;
(แสดงข้อมูลการทำงานของผู้ที่ทำงานหน้าที่ Programmer – ที่อาจมีหลายคน)
select  *   from work
where proj_num = ( select proj_num from project where proj_name = “โรงงานแกลงการยาง” );
(แสดงข้อมูลการทำงานของผู้ที่งานในโครงการ โรงงานแกลงการยางค์ – มีโครงการเดียวแน่นอน)

การทำงานแบบรวม (Aggregate function)
select  job , count(*)
from employee  group by job ;
(นับจำนวนพนักงานจัดกลุ่มตามอาชีพ)
select  emp_num ,  sum(work_hours)
from  work   group by emp_num ;
(รวมชั่วโมงทำงาน จัดกลุ่มตามรหัสพนักงาน)
select  proj_num , min(work_hours) , max(work_hours)
from work
group by proj_num ;
(แสดงชั่วโมงทำงานน้อยที่สุด และมากที่สุด ชองแต่ละโครงการ)
select  job, count(*)   from employee
group by job having count(*) > 2 ;
(นับจำนวนพนักงาน จัดกลุ่มตามอาชีพ เฉพาะที่มีพนักงานมากกว่า 3 คน)
select  emp_num ,  sum(work_hours)  from  work
group by emp_num having sum(work_hours) > 20;
(รวมชั่วโมงทำงาน จัดกลุ่มตามรหัสพนักงาน เฉพาะที่มีชั่วโมงการทำงานรวมมากกว่า 20 ชั่วโมง)

รูปแบบคำสั่งที่มีการคำนวณ
Select  employee.emp_num , proj_num,
     chg_hours , work_hours  ,  
     chg_hours * work_hours
From employee , work
Where employee.emp_num = work.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้)

รูปแบบคำสั่งที่มีการเปลี่ยนชื่อการแสดงผล
Select  employee.emp_num , proj_num,
     chg_hours , work_hours  ,  
     chg_hours * work_hours  pay
From employee , work
Where employee.emp_num = work.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้ แสดงคอลัมน์ค่าตอบแทนคือ pay )

รูปแบบคำสั่งที่มีการเปลี่ยนชื่อตาราง
Select  e.emp_num , proj_num,
     chg_hours , work_hours  ,  
     chg_hours * work_hours
From employee e, work  w
Where e.emp_num = w.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้)

สรุปรูปแบบคำสั่ง
Select  …..
From …..
Where …..  and (or) …..
Group by ….  ( Having ….)
Order by ….

ไมโครซอฟท์แอคเซส (Microsoft Access)

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

การใช้ Access จะทำให้คุณสามารถ

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

Access ประกอบด้วย

·                     Table ทำหน้าที่ในการเก็บข้อมูล และเป็นแหล่งข้อมูล (Data source) ของอ๊อบเจคอื่น ได้แก่ คิวรี่ ฟอร์ม และรายงาน

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

·                     ฟอร์ม (Form) เป็นอ๊อบเจคที่ทำหน้าที่เป็นส่วนติดต่อ กับผู้ใช้ผ่านจอภาพ ทำหน้าที่ได้ทั้งการป้อนข้อมูล และแสดงผล โดยเฉพาะการป้อนข้อมูล จะทำหน้าที่ได้ดีกว่า Table และคิวรี่ เพราะมีเครื่องมือต่างๆ อำนวยความสะดวก ในการป้อนข้อมูล และการควบคุมความถูกต้องของค่า

·                     รายงาน (Report) เป็นการแสดงผลลัพธ์ที่ได้ทำการประมวลแล้วออกมาทางเครื่องพิมพ์

·                     มาโคร (Macro) เป็นชุดคำสั่งแบบสำเร็จรูป เพื่อจัดการและบริหารอ๊อบเจคของ Access เป็นส่วนที่ทำให้มีความสะดวกกับผู้พัฒนาโปรแกรม ในการสร้างชุดคำสั่งอย่างมาก

·                     โมดูล (Module) เป็นส่วนที่ให้ผู้พัฒนาโปรแกรม เขียนชุดคำสั่งได้เอง ด้วยภาษา Visual Basic เพื่อใช้ เป็นคำสั่งควบคุม การคำนวณ และฟังก์ชันในการคำนวณ

·                     เพจ (Access data page) เป็นอ๊อบเจคที่ทำหน้าที่เป็น ส่วนติดต่อกับผู้ใช้ในแบบ Home page เพื่อใช้งานกับเว็บ ซึ่งมีลักษณะคล้ายกับฟอร์ม
ในการพัฒนาโปรแกรมจะต้องทำเครื่องมือต่างๆ ของ Access มาใช้ตั้งแต่การรับข้อมูล จนถึงการแสดงผล จากเครื่องมือที่มีทำให้ผังการทำงานสามารถกำหนดเป็นรูปธรรมมากขึ้นเป็น




ผังข้างบนได้แสดงความสัมพันธ์ของเครื่องมือต่างๆ ใน Access ที่นำมาประกอบขึ้นเป็นโปรแกรมฐานข้อมูล คือ มีส่วนติดต่อกับผู้ใช้ เครื่องมือในการประมวล และฐานข้อมูล

Microsoft SQL Server

Microsoft SQL Server

        ไมโครซอฟท์ ซีควลเซิร์ฟเวอร์ หรือ ไมโครซอฟท์ เอสคิวแอลเซิร์ฟเวอร์ (อังกฤษ: Microsoft SQL Server)  
           คือระบบจัดการฐานข้อมูลพัฒนาโดยไมโครซอฟท์ ซึ่งใช้ภาษา T-SQL ในการดึงเรียกข้อมูล
ไมโครซอฟท์ ซีควลเซิร์ฟเวอร์ 2005 รุ่นล่าสุดได้แบ่งเป็นรุ่นดังนี้:
- เอนเทอร์ไพรส์ เอดิชัน
- ดีเวโลเปอร์ เอดิชัน
- สแตนดาร์ด เอดิชัน
- เวิร์คกรุป เอดิชัน
- เอกซ์เพรส เอดิชัน
- โมไบล์ เอดัน

ก่อนที่จะติดตั้ง SQL Server นั้นจะต้องเตรียมเครื่องคอมพิวเตอร์ทั้งส่วนที่เป็นฮาร์ดแวร์และซอฟต์แวร์ที่มีอยู่บนเครื่องให้พอกับความต้องการอย่างต่ำของ SQL Server เสียก่อน เช่น ขนาดหน่วยความจำของเครื่อง เนื้อที่ว่างในฮาร์ดดิสก์ เป็นต้น รวมทั้งชนิดของ OS หรือ เวอร์ชั่นของ Internet Explorer สำหรับแผ่นซีดีที่ใช้ติดตั้ง SQL Server นั้นสามารถนำไปติดตั้งได้ทั้งเครื่องที่จะเป็นเครื่องเซิร์ฟเวอร์ก็ให้เลือกออปชั่น Server Components ได้ (Server Components คือโปรแกรมที่ควบคุมการทำงานหลัก ๆ ของ SQL Server รายละเอียดของคอมโพเนนต์ต่าง ๆ จะได้กล่าวต่อไป)
ระบบฮาร์ดแวร์และซอฟต์แวร์สำหรับ SQL Server

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


ซีพียู                                       Intel (Pentium 166 MHz เป็นอย่างต่ำ, Pentium Pro หรือ Pentium I/III
                                                XEON)
หน่วยความจำ                      64 เมกกะไบต์ อย่างต่ำ
ฮาร์ดดิสก์                              ความจุอย่างต่ำ 1 กิ๊กกะไบต์ และมีพื้นที่ว่างหลังจากการติดตั้งโปรแกรม
                                                แล้วประมาณ 300 เมกกะไบต์เป็นอย่างต่ำ
ระบบปฏิบัติการ                  Microsoft Windows 95/98
                                                Microsoft Windows NT Workstation 4.0
                                                Microsoft 2000 Advanced Server
                                                Microsoft Windows NT Server 4.0

ระบบไฟล์                             ควรจะเป็น NTFS สำหรับ Windows NT Server
                                                FAT สำหรับ Windows 95/98
ซีดีรอมไดร์ฟ                        ความเร็วอย่างต่ำ 12 X
เน็ตเวิร์กโปรโตคอล           TCP/IP, Name Pipes

MySQL

MySQL 

           คือ โปรแกรมระบบจัดการฐานข้อมูล ที่พัฒนาโดยบริษัท MySQL AB มีหน้าที่เก็บข้อมูลอย่างเป็นระบบ รองรับคำสั่ง SQL เป็นเครื่องมือสำหรับเก็บข้อมูล ที่ต้องใช้ร่วมกับเครื่องมือหรือโปรแกรมอื่นอย่างบูรณาการ เพื่อให้ได้ระบบงานที่รองรับ ความต้องการของผู้ใช้ เช่นทำงานร่วมกับเครื่องบริการเว็บ (Web Server) เพื่อให้บริการแก่ภาษาสคริปต์ที่ทำงานฝั่งเครื่องบริการ (Server-Side Script) เช่น ภาษา php ภาษา aps.net หรือภาษาเจเอสพี เป็นต้น หรือทำงานร่วมกับโปรแกรมประยุกต์ (Application Program) เช่น ภาษาวิชวลเบสิกดอทเน็ต ภาษาจาวา หรือภาษาซีชาร์ป เป็นต้น โปรแกรมถูกออกแบบให้สามารถทำงานได้บนระบบปฏิบัติการที่หลากหลาย และเป็นระบบฐานข้อมูลโอเพนทซอร์ท (Open Source)ที่ถูกนำไปใช้งานมากที่สุด
MySQL : มายเอสคิวแอล เป็นระบบจัดการฐานข้อมูลโดยใช้ภาษา SQL. แม้ว่า MySQL เป็นซอฟต์แวร์โอเพนซอร์ส แต่แตกต่างจากซอฟต์แวร์โอเพนซอร์สทั่วไป โดยมีการพัฒนาภายใต้บริษัท MySQL AB ในประเทศสวีเดน โดยจัดการ MySQL ทั้งในแบบที่ให้ใช้ฟรี และแบบที่ใช้ในเชิงธุรกิจ
MySQL สร้างขึ้นโดยชาวสวีเดน 2 คน และชาวฟินแลนด์ ชื่อ David Axmark, Allan Larsson และ Michael "Monty" Widenius.
ปัจจุบันบริษัทซันไมโครซิสเต็มส์ (Sun Microsystems, Inc.) เข้าซื้อกิจการของ MySQL AB เรียบร้อยแล้ว ฉะนั้นผลิตภัณฑ์ภายใต้ MySQL AB ทั้งหมดจะตกเป็นของซัน
ชื่อ "MySQL" อ่านออกเสียงว่า "มายเอสคิวเอล" หรือ "มายเอสคิวแอล" (ในการอ่านอักษร L ในภาษาไทย) ซึ่งทางซอฟต์แวร์ไม่ได้อ่าน มายซีเควล หรือ มายซีควล เหมือนกับซอฟต์แวร์จัดการฐานข้อมูลตัวอื่น
     

ความสามารถและการทำงานของโปรแกรม MySQL มีดังต่อไปนี้

         MySQL ถือเป็นระบบจัดการฐานข้อมูล (DataBase Management System (DBMS)
ฐานข้อมูลมีลักษณะเป็นโครงสร้างของการเก็บรวบรวมข้อมูล การที่จะเพิ่มเติม เข้าถึงหรือประมวลผลข้อมูลที่เก็บในฐานข้อมูลจำเป็นจะต้องอาศัยระบบจัดการ ฐานข้อมูล ซึ่งจะทำหน้าที่เป็นตัวกลางในการจัดการกับข้อมูลในฐานข้อมูลทั้งสำหรับการ ใช้งานเฉพาะ และรองรับการทำงานของแอพลิเคชันอื่นๆ ที่ต้องการใช้งานข้อมูลในฐานข้อมูล เพื่อให้ได้รับความสะดวกในการจัดการกับข้อมูลจำนวนมาก MySQL ทำหน้าที่เป็นทั้งตัวฐานข้อมูลและระบบจัดการฐานข้อมูล
MySQL เป็นระบบจัดการฐานข้อมูลแบบ relational
ฐานข้อมูลแบบ relational จะทำการเก็บข้อมูลทั้งหมดในรูปแบบของตารางแทนการเก็บข้อมูลทั้งหมดลงในไฟล์ เพียงไฟล์เดียว ทำให้ทำงานได้รวดเร็วและมีความยืดหยุ่น นอกจากนั้น แต่ละตารางที่เก็บข้อมูลสามารถเชื่อมโยงเข้าหากันทำให้สามารถรวมหรือจัด กลุ่มข้อมูลได้ตามต้องการ โดยอาศัยภาษา SQL ที่เป็นส่วนหนึ่งของโปรแกรม MySQL ซึ่งเป็นภาษามาตรฐานในการเข้าถึงฐานข้อมูล
MySQL แจกจ่ายให้ใช้งานแบบ Open Source นั่นคือ ผู้ใช้งาน MySQL ทุกคนสามารถใช้งานและปรับแต่งการทำงานได้ตามต้องการ สามารถดาวน์โหลดโปรแกรม MySQL ได้จากอินเทอร์เน็ตและนำมาใช้งานโดยไม่มีค่าใช้จ่ายใดๆ

          ในระบบปฏิบัติการ Red Hat Linux นั้น มีโปรแกรมที่สามารถใช้งานเป็นฐานข้อมูลให้ผู้ดูแลระบบสามารถเลือกใช้งานได้ หลายโปรแกรม เช่น MySQL และ PostgreSQL ผู้ดูแลระบบสามารถเลือกติดตั้งได้ทั้งในขณะที่ติดตั้งระบบปฏิบัติการ Red Hat Linux หรือจะติดตั้งภายหลังจากที่ติดตั้งระบบปฏิบัติการก็ได้ อย่างไรก็ตาม สาเหตุที่ผู้ใช้งานจำนวนมากนิยมใช้งานโปรแกรม MySQL คือ MySQL สามารถทำงานได้อย่างรวดเร็ว น่าเชื่อถือและใช้งานได้ง่าย เมื่อเปรียบเทียบประสิทธิภาพในการทำงานระหว่างโปรแกรม MySQL และ PostgreSQL โดยพิจารณาจากการประมวลผลแต่ละคำสั่งได้ผลลัพธ์ดังรูปที่ 1 นอกจากนั้น MySQL ถูกออกแบบและพัฒนาขึ้นมาเพื่อทำหน้าเป็นเครื่องให้บริการรองรับการจัดการกับ ฐานข้อมูลขนาดใหญ่ ซึ่งการพัฒนายังคงดำเนินอยู่อย่างต่อเนื่อง ส่งผลให้มีฟังก์ชันการทำงานใหม่ๆ ที่อำนวยความสะดวกแก่ผู้ใช้งานเพิ่มขึ้นอยู่ตลอดเวลา รวมไปถึงการปรับปรุงด้านความต่อเนื่อง ความเร็วในการทำงาน และความปลอดภัย ทำให้ MySQL เหมาะสมต่อการนำไปใช้งานเพื่อเข้าถึงฐานข้อมูลบนเครือข่ายอินเทอร์เน็ต

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  โดยที่ในทุกพอร์ตมีโครงสร้างการเหมือนกันๆหมด คำสั่งที่ใช้ก็เป็นแบบเดียวกัน สามารถทำงานร่วมกันได้ สามารถนำข้อมูลจากพอร์ตหนึ่งไปพอร์ตอื่นได้อย่างไม่มีปัญหา

ประเภทของ Oracle

1. Personal Oracle
2. Oracle Server
     ทั้ง 2 แบบนี้มีลักษณะการใช้งานและคำสั่งเหมือนกัน แต่ต่างกันที่ Personal Oracle คือฐานข้อมูลที่เมื่อติดตั้งบนเครื่องคอมพิวเตอร์แล้ว ผู้ใช้จะต้องนั่งทำงานกับ Oracle นี้ที่หน้าเครื่องท่านั้น ส่วนของ Oracle Server คือ ฐานข้อมูลในลักษณะเซิร์ฟเวอร์ คือเครื่องคอมพิวเตอร์ที่ติดตั้งโปรแกรมของ Oracle Server ไว้ และยอมให้ผู้ใช้งานเรียกฐานข้อมูล หรือจัดการกับข้อมูลจากเครื่องคอมพิวเตอร์อื่น ๆ ได้(เรียกเครื่องอื่นๆ เป็นไคลเอนต์) ดังนั้นถ้าต้องการให้มีผู้เรียกใช้ข้อมูลจากฐานข้อมูลหลาย ๆ คนได้ ก็ควรต้องเลือกแบบที่เป็น Oracle Server