วันพุธที่ 17 ธันวาคม พ.ศ. 2557

คำสั่ง SQL

คำสั่งที่ใช้ในการลบ INDEX


คำสั่ง : ALTER TABLE table_name
DROP INDEX index_name;
ตัวอย่าง : CREATE INDEX person_index
ON person ( first_name, last_name );

ALTER TABLE person
DROP INDEX person_index;



คำสั่งที่ใช้ในการสร้าง INDEX


คำสั่ง : CREATE INDEX index_name
ON table_name ( column_name_1, column_name_2, ..., column_name_n );  
ตัวอย่าง : CREATE INDEX person_index
ON person ( first_name, last_name );



คำสั่งที่ใช้ในการเปลี่ยนชื่อตาราง


คำสั่ง : RENAME table_old_name
TO table_new_name;
ตัวอย่าง : CREATE TABLE person
(
     id int(11) PRIMARY,
     first_name varchar(50),
     last_name varchar(50)
);
RENAME person TO customer;



คำสั่งที่ใช้ในการลบตาราง


คำสั่ง : DROP TABLE table_name;
ตัวอย่าง : CREATE TABLE person
(
     id int(11) PRIMARY,
     first_name varchar(50),
     last_name varchar(50)
);
DROP TABLE person;



คำสั่งที่ใช้ในการสร้างตาราง


คำสั่ง : CREATE TABLE table_name
( column_name_1 column_type,
     column_name_2 column_type,
     .....,
     column_name_n column_type);
ตัวอย่าง : CREATE TABLE person
(id int(11) PRIMARY,
     first_name varchar(50),
     last_name varchar(50)




คำสั่งที่ใช้ในการเรียกดูข้อมูลในตาราง


ใช้ในการเรียกดูข้อมูลจากตาราง ( query )

คำสั่ง : SELECT [ ALL | DISTINCT | TOP n ] column_name_1, column_name_2, ..., column_name_n
FROM table_name
[ IN database_name ]
[ WHERE condition ]
[ GROUP BY column_name_1, column_name_2, ..., column_name_n ]
[ HAVING condition ]
[ ORDER BY column_name_1 [ ASC | DESC ], ..., column_name_n [ ASC | DESC ] ]
[ LIMIT m ];
ตัวอย่าง : SELECT DISTINCT country
FROM person
ORDER BY country;

ใช้ในการเรียกดูข้อมูลในตาราง ดังนี้
ALL คือ เลือกทั้งหมดทุกแถว ( เป็นค่า default )
DISTINCT คือ แสดงข้อมูลเฉพาะที่ไม่ซ้ำกัน
TOP n [ PERCENT ] คือ เลือกมา n แถวนับจากบนสุด หรือเลือกมา ( (n * จำนวนแถวทั้งหมด ) / 100 ) แถว

LIMIT m คือ เลือกมา m แถวนับจากแถวบนสุด ( ถ้าใช้ ORDER BY RAND() LIMIT m คือเลือกมา m แถวแบบสุ่ม )

ASC ใช้เรียงค่าข้อมูล จากน้อยไปมาก
DESC ใช้เรียงค่าข้อมูล จากมากไปน้อย

IN database_name ถ้าไม่กำหนดจะใช้ฐานข้อมูลปัจจุบันที่ติดต่ออยู่




คำสั่งที่ใช้ในการลบฐานข้อมูล


คำสั่ง : DROP DATABASE database_name;
ตัวอย่าง : DROP DATABASE labcode;



คำสั่งที่ใช้ในการสร้างฐานข้อมูล



คำสั่ง : CREATE DATABASE database_name;
ตัวอย่าง : CREATE DATABASE labcode;






คำสั่ง UPDATE


คำสั่ง UPDATE ใช้ในประโยคคำสั่งสำหรับการปรับปรุงค่าในเรคคอร์ด
ไวยากรณ์
UPDATE tablename
SET fieldname = expression
WHERE [condition];
[ ] ตัวเลือก
UPDATE Authors SET [Year Born] = 1961 WHERE Author = ‘Frank Whale’;



คำสั่ง INSERT INTO


คำสั่ง INERT INTO ใช้ในประโยคคำสั่งสำหรับการเพิ่มเรคคอร์ดใหม่
ไวยากรณ์
INERT INTO tablename [(fieldname1, fieldname2,...)]
VALUES (value1, value 2,...);
[ ] ตัวเลือก

หมายเหตุจำนวน value ต้องเท่ากับ fieldname
INERT INTO Authors (Author, [Year Born] VALUES (‘Frank Whale’, 1960);


ที่มา http://code.function.in.th/sql

ฟังก์ชันใน PHP

ฟังก์ชันในโปรแกรมส่วนใหญ่ได้รับการเรียกคำสั่งเพื่อทำงานอย่างเดียว สิ่งนี้ทำให้คำสั่งอ่านได้ง่ายและยอมให้ใช้คำสั่งใหม่แต่ละครั้งเมื่อต้องการทำงานเดียวกัน


ฟังก์ชันเป็นโมดูลเก็บคำสั่งที่กำหนดการเรียกอินเตอร์เฟซ ทำงานเดียวกัน และตัวเลือกส่งออกค่าจากการเรียกฟังก์ชัน คำสั่งต่อไปเป็นการเรียกฟังก์ชันอย่างง่าย
my_function ();

คำสั่งเรียกฟังก์ชันชื่อ my_function ที่ไม่ต้องการพารามิเตอร์ และไม่สนใจค่าที่อาจจะส่งออกโดยฟังก์ชันนี้

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

phpinfo ();

การกำหนดฟังก์ชันและการเรียกฟังก์ชัน

การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด function กำหนดชื่อฟังก์ชัน พารามิเตอร์ที่ต้องการ และเก็บคำสั่งที่จะประมวลผลแต่ละครั้งเมื่อเรียกฟังก์ชันนี้


<?php

function function_name(parameter1,…) 
{

ชุดคำสั่ง …


?>

ชุดคำสั่งต้องเริ่มต้นและสิ้นสุดในวงเล็บปีกกา ({ }) ตัวอย่างฟังก์ชัน my_function

<?php 
function my_function() 
{

$mystring =<<<BODYSTRING 
my function ได้รับการเรียก

BODYSTRING; 
echo $mystring;


?>

การตั้งชื่อฟังก์ชัน

สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น pageheader () หรือ page_header ()


ข้อจำกัดในการตั้งชื่อคือ

ฟังก์ชันไม่สามารถมีชื่อเดียวกับฟังก์ชันที่มีอยู่
ชื่อฟังก์ชันสามารถมีได้เพียงตัวอักษรตัวเลข และ underscore
ชื่อฟังก์ชันไม่สามารถเริ่มต้นด้วยตัวเลข
หลายภาษายอมให้ใช้ชื่อฟังก์ชันได้อีก ส่วนการทำงานนี้เรียกว่า function overload อย่างไรก็ตาม PHP ไม่สนับสนุน function overload ดังนั้นฟังก์ชันไม่สามารถมีชื่อเดียวกันกับฟังก์ชันภายใน หรือฟังก์ชันกำหนดเองที่มีอยู่

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

ชื่อฟังก์ชันต่อไปนี้ถูกต้อง 
name ()
name2 ()
name_three ()
_namefour ()

ชื่อไม่ถูกต้อง 
5name ()
Name-six ()
fopen ()

การเรียกฟังก์ชันไม่มีผลจากชนิดตัวพิมพ์ ดังนั้นการเรียก function_name (), Function_Name() หรือ FUNCTION_NAME() สามารถทำได้และมีผลลัพธ์เหมือนกัน แต่แบบแผนการกำหนดชื่อฟังก์ชันใน PHP ให้ใช้ตัวพิมพ์เล็ก

ชื่อฟังก์ชันแตกต่างจากชื่อตัวแปร โดยชื่อตัวแปรเป็นชนิดตัวพิมพ์มีผล ดังนั้น $Name และ $name เป็น 2 ตัวแปร แต่ Name () และ name () เป็นฟังก์ชันเดียวกัน

การหยุดประมวลผลภายในฟังก์ชัน

คีย์เวิร์ด return หยุดการประมวลผลฟังก์ชัน ฟังก์ชันสิ้นสุดได้เพราะประโยคคำสั่งทั้งหมดได้รับการประมวลผล หรือ ใช้คีย์เวิร์ด return การประมวลผลกลับไปยังประโยคคำสั่งต่อจากการเรียกฟังก์ชัน


<?php

function division($x, $y) 
{

if ($y == 0 || !isset($y)) 
{

echo " ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า" ; 
return;

}

$result = $x / $y; 
echo $result;


?>

ถ้าประโยคคำสั่ง return ได้รับการประมวลผล บรรทัดคำสั่งต่อไปในฟังก์ชันจะถูกข้ามไป และกลับไปยังผู้เรียกฟังก์ชันนี้ ในฟังก์ชันนี้ ถ้า y เป็น 0 จะหยุดการประมวลผล ถ้า y ไม่เท่ากับ 0 จะคำนวณผลหาร

สมมติป้อนค่าเป็น 
x = 4, y = 0
x = 4
x = 4, y = 2

ผลลัพธ์ของคำสั่ง คือ
x = 4, y = 0 ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = 2 ผลลัพธ์ 2

การเรียกฟังก์ชัน

เมื่อฟังก์ชันได้รับการประกาศหรือสร้างขึ้นแล้ว การเรียกฟังก์ชันสามารถเรียกมาจากที่ใดๆ ภายในสคริปต์ หรือ จากไฟล์ที่มีการรวมด้วยประโยคคำสั่ง include() หรือ require()


ตัวอย่าง ฟังก์ชัน show_message() เก็บอยู่ในไฟล์ fn_ 03 _keeper.php ส่วนผู้เรียกอยู่ในสคริปต์ fn_ 03 _caller.php

<?php

include("fn_ 03 _keeper.php");
show_message();

?>

การแสดงผลของพีเอชพี

การแสดงผลของพีเอชพี จะปรากฏในลักษณะHTML ซึ่งจะไม่แสดงคำสั่งที่ผู้ใช้เขียน ซึ่งเป็นลักษณะเด่นที่พีเอชพีแตกต่างจากภาษาในลักษณะไคลเอนต์-ไซด์ สคริปต์ เช่น ภาษาจาวาสคริปต์ ที่ผู้ชมเว็บไซต์สามารถอ่าน ดูและคัดลอกคำสั่งไปใช้เองได้ นอกจากนี้พีเอชพียังเป็นภาษาที่เรียนรู้และเริ่มต้นได้ไม่ยาก โดยมีเครื่องมือช่วยเหลือและคู่มือที่สามารถหาอ่านได้ฟรีบนอินเทอร์เน็ต ความสามารถการประมวลผลหลักของพีเอชพี ได้แก่ การสร้างเนื้อหาอัตโนมัติจัดการคำสั่ง การอ่านข้อมูลจากผู้ใช้และประมวลผล การอ่านข้อมูลจากดาต้าเบส ความสามารถจัดการกับคุกกี้ ซึ่งทำงานเช่นเดียวกับโปรแกรมในลักษณะCGI คุณสมบัติอื่นเช่น การประมวลผลตามบรรทัดคำสั่ง (command line scripting) ทำให้ผู้เขียนโปรแกรมสร้างสคริปต์พีเอชพี ทำงานผ่านพีเอชพี พาร์เซอร์ (PHP parser) โดยไม่ต้องผ่านเซิร์ฟเวอร์หรือเบราว์เซอร์ ซึ่งมีลักษณะเหมือนกับ Cron (ใน ยูนิกซ์หรือลีนุกซ์) หรือ Task Scheduler (ในวินโดวส์) สคริปต์เหล่านี้สามารถนำไปใช้ในแบบ Simple text processing tasks ได้
การแสดงผลของพีเอชพี ถึงแม้ว่าจุดประสงค์หลักใช้ในการแสดงผล HTML แต่ยังสามารถสร้าง XHTML หรือ XML ได้ นอกจากนี้สามารถทำงานร่วมกับคำสั่งเสริมต่างๆ ซึ่งสามารถแสดงผลข้อมูลหลัก PDF แฟลช (โดยใช้ libswf และ Ming) พีเอชพีมีความสามารถอย่างมากในการทำงานเป็นประมวลผลข้อความ จาก POSIX Extended หรือ รูปแบบ Perl ทั่วไป เพื่อแปลงเป็นเอกสาร XML ในการแปลงและเข้าสู่เอกสาร XML เรารองรับมาตรฐาน SAX และDOM สามารถใช้รูปแบบ XSLT ของเราเพื่อแปลงเอกสาร XML
เมื่อใช้พีเอชพีในการทำอีคอมเมิร์ซ สามารถทำงานร่วมกับโปรแกรมอื่น เช่น Cybercash payment, CyberMUT, VeriSign Payflow Pro และ CCVS functions เพื่อใช้ในการสร้างโปรแกรมทำธุรกรรมทางการเงิน

การรองรับพีเอชพี

คำสั่งของพีเอชพี สามารถสร้างผ่านทางโปรแกรมแก้ไขข้อความทั่วไป เช่น โน้ตแพด หรือ vi ซึ่งทำให้การทำงานพีเอชพี สามารถทำงานได้ในระบบปฏิบัติการหลักเกือบทั้งหมด โดยเมื่อเขียนคำสั่งแล้วนำมาประมวลผล Apache, Microsoft Internet Information Services (IIS) , Personal Web Server, Netscape และ iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd, และอื่นๆ อีกมากมาย. สำหรับส่วนหลักของ PHP ยังมี Module ในการรองรับ CGI มาตรฐาน ซึ่ง PHP สามารถทำงานเป็นตัวประมวลผล CGI ด้วย และด้วย PHP, คุณมีอิสรภาพในการเลือก ระบบปฏิบัติการ และ เว็บเซิร์ฟเวอร์ นอกจากนี้คุณยังสามารถใช้สร้างโปรแกรมโครงสร้าง สร้างโปรแกรมเชิงวัตถุ (OOP) หรือสร้างโปรแกรมที่รวมทั้งสองอย่างเข้าด้วยกัน แม้ว่าความสามารถของคำสั่ง OOP มาตรฐานในเวอร์ชันนี้ยังไม่สมบูรณ์ แต่ตัวไลบรารีทั้งหลายของโปรแกรม และตัวโปรแกรมประยุกต์ (รวมถึง PEAR library) ได้ถูกเขียนขึ้นโดยใช้รูปแบบการเขียนแบบ OOP เท่านั้น
พีเอชพีสามารถทำงานร่วมกับฐานข้อมูลได้หลายชนิด ซึ่งฐานข้อมูลส่วนหนึ่งที่รองรับได้แก่ ออราเคิล dBase PostgreSQL IBM DB2 MySQLInformix ODBC โครงสร้างของฐานข้อมูลแบบ DBX ซึ่งทำให้พีเอชพีใช้กับฐานข้อมูลอะไรก็ได้ที่รองรับรูปแบบนี้ และ PHP ยังรองรับ ODBC (Open Database Connection) ซึ่งเป็นมาตรฐานการเชื่อมต่อฐานข้อมูลที่ใช้กันแพร่หลายอีกด้วย คุณสามารถเชื่อมต่อกับฐานข้อมูลต่างๆ ที่รองรับมาตรฐานโลกนี้ได้
พีเอชพียังสามารถรองรับการสื่อสารกับการบริการในโพรโทคอลต่างๆ เช่น LDAP IMAP SNMP NNTP POP3 HTTP COM (บนวินโดวส์) และอื่นๆ อีกมากมาย คุณสามารถเปิด Socket บนเครื่อข่ายโดยตรง และ ตอบโต้โดยใช้ โพรโทคอลใดๆ ก็ได้ PHP มีการรองรับสำหรับการแลกเปลี่ยนข้อมูลแบบ WDDX Complex กับ Web Programming อื่นๆ ทั่วไปได้ พูดถึงในส่วน Interconnection, พีเอชพีมีการรองรับสำหรับ Java objects ให้เปลี่ยนมันเป็น PHP Object แล้วใช้งาน คุณยังสามารถใช้รูปแบบ CORBA เพื่อเข้าสู่ Remote Object ได้เช่นกัน

ตัวอย่างการใช้พีเอชพี

ภาษาพีเอชพี จะเป็นส่วนประกอบภายในเว็บเพจ โดยคำสั่งจะปรากฏระหว่าง <?php ...  ?> เช่น
<?php
    echo "Hello, World!";
?>

<?php
    echo "Hello World."; 
?>

<script language="php">
    echo "Hello World.";
</script>
โครงสร้าง ควบคุมของ PHP จะมีความคล้ายคลึงกับ C/C++ มาก เช่น if , for , switch และมีบางส่วนที่คล้าย Perl สามารถกำหนดตัวแปรโดยไม่ต้อง กำหนดชนิดของตัวแปรว่าจะเป็น int, float, boolean เป็นต้น
<?php
    for ($i = 0; $i < 10; $i++){
       echo "Test".$i; 
    }
?>
ตัวอย่างการเขียน php แบบ oop
<?php
    class MyClass
    {
        private $var = 'Hello World!';
        public function getHello()
        {
            return $this->var;
        }
    }
    $obj = new MyClass();
    echo $obj->getHello();
?>

ฟิลด์


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

          
          - ฟิลด์ตัวเลข (numeric field) ประกอบด้วย อักขระที่เป็นตัวเลข ซึ่งอาจเป็นเลขจำนวนเต็มหรือทศนิยมและอาจมีเครื่องหมายลบหรือบวก เช่น ยอดคงเหลือในบัญชีเป็นกลุ่มของตัวเลข
          
          - ฟิลด์ตัวอักษร (alphabetic field) ประกอบด้วย อักขระที่เป็นตัวอักษรหรือช่องว่าง (blank) เช่น ชื่อลูกค้าเป็นกลุ่มของตัวอักษร
         
          - ฟิลด์อักขระ (character field หรือ alphanumeric field) ประกอบด้วย อักขระซึ่งอาจจะเป็นตัวเลขหรือตัวอักษรก็ได้ เช่น ที่อยู่ของลูกค้า
       
          ข้อมูลที่ปรากฏอยู่ในฟิลด์ เป็นหน่วยย่อยของระเบียนที่บรรจุอยู่ในแฟ้มข้อมูล เช่น ฟิลด์เลขรหัสประจำตัวบุคลากร ฟิลด์เงินเดือนของลูกจ้าง หรือฟิลด์เลขหมายโทรศัพท์ของพนักงาน ตัวอย่าง เช็คของธนาคารแห่งหนึ่งประกอบด้วย ชื่อที่อยู่ธนาคาร เช็คเลขที่ จ่ายจำนวนเงินเป็นตัวเลข จำนวนเงินเป็นตัวอักษร สาขาเลขที่ เลขที่บัญชี และลายเซ็น
       
          ฟิลด์บางฟิลด์อาจจะประกอบด้วยข้อมูลหลาย ๆ ประเภทรวมกันในฟิลด์ เช่น ฟิลด์วันที่ประกอบด้วย 3 ฟิลด์ย่อย ๆ คือ วันที่ เดือน และปี หรือในฟิลด์ชื่อธนาคาร ยังประกอบด้วยหลายฟิลด์ย่อย ๆ คือ ชื่อธนาคาร ที่อยู่ เมือง ประเทศ และรหัสไปรษณีย์




ที่มา : http://www.sirikitdam.egat.com/WEB_MIS/103_116/04.html

ฐานข้อมูล

สาระสำคัญ


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


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

ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล

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

นิยามและคำศัพท์พื้นฐานเกี่ยวกับระบบฐานข้อมูล

บิท (Bit) หมายถึง หน่วยของข้อมูลที่มีขนาดเล็กที่สุด


ไบท์ (Byte) หมายถึง หน่วยของข้อมูลที่กิดจากการนำบิทมารวมกันเป็นตัวอักขระ (Character)

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

ระเบียน (Record) หมายถึง หน่วยของข้อมูลที่เกิดจากการนเอาเขตข้อมูลหลาย ๆ เขตข้อมูลมารวมกัน เพื่อเกิดเป็นข้อมูลเรื่องใดเรื่องหนึ่ง เช่น ข้อมูลของนักศึกษา 1 ระเบียน (1 คน) จะประกอบด้วย

รหัสประจำตัวนักศึกษา 1 เขตข้อมูล

ชื่อนักศึกษา 1 เขตข้อมูล

ที่อยู่ 1 เขตข้อมูล

แฟ้มข้อมูล (File) หมายถึงหน่วยของข้อมูลที่เกิดจากการนำข้อมูลหลาย ๆ ระเบียนที่เป็นเรื่องเดียวกันมารวมกัน เช่น แฟ้มข้อมูลนักศึกษา แฟ้มข้อมูลลูกค้า แฟ้มข้อมูลพนักงาน

ส่วนในระบบฐานข้อมูล มีคำศัพท์ต่าง ๆ ที่เกี่ยวข้องดังนี้

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


- เอนทิตี้ชนิดอ่อนแอ (Weak Entity) เป็นเอนทิตี้ที่ไม่มีความหมาย หากขาดเอนทิตี้อื่นในฐานข้อมูล

แอททริบิวต์(Attribute) หมายถึง รายละเอียดข้อมูลที่แสดงลักษณะและคุณสมบัติของเอนทิตี้หนึ่ง ๆ เช่น

เอนทิตี้นักศึกษา ประกอบด้วย - แอทริบิวต์รหัสนักศึกษา

- แอททริบิวต์ชื่อนักศึกษา

- แอททริบิวต์ที่อยู่นักศึกษา

ความสัมพันธ์ (Relationships) หมายถึง ความสัมพันธ์ระหว่างเอนทิตี้ เช่น ความสัมพันธ์ระหว่างเอนทิตี้นักศึกษาและเอนทิตี้คณะวิชา เป็นลักษณะว่า นักศึกษาแต่ละคนเรียนอยู่คณะวิชาใดคณะวิชาหนึ่ง

ในการแสดงความสัมพันธ์ระหว่างเอนทิตี้ เราจะใช้หัวลูกศรเพื่อแสดงความสัมพันธ์ ดังตัวอย่างในรูปต่อไปนี้

รูปที่ 1.1 คณะวิชา<         >> นักศึกษา (คณะวิชามีความสัมพันธ์กับนักศึกษา)

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

รูปที่ 1.2 คณะวิชา >> นักศึกษา (นักศึกษาสังกัดอยู่คณะวิชา)

และหากพิจารณาความสัมพันธ์จากเอนทิตี้คณะวิชาไปยังเอนทิตี้นักศึกษา อาจกำหนดความสัมพันธ์ได้ดังนี้

รูปที่ 1.3 คณะวิชา >> นักศึกษา (คณะวิชาประกอบด้วยนักศึกษา)

จากรูปที่ 1.2 จะเห็นได้ว่า นักศึกษา 1 คนจะสามารถสังกัดอยู่ได้เพียง 1 คณะวิชา แต่จากรูปที่ 1.3 จะเห็นได้ว่า 1 คณะวิชาสามารถประกอบด้วยนักศึกษาหลาย ๆ คน

ความสัมพันธ์ระหว่างเอนทิตี้ แบ่งออกเป็น 3 ประเภท คือ

1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-one Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่งที่มีความสัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะหนึ่งต่อหนึ่ง (1 : 1)

2. ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-many Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่ง ที่มีความสัมพันธ์กับข้อมูลหลาย ๆ ข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะ (1:m) ตัวอย่างเช่น

3. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลสองเอนทิตี้ในลักษณะกลุ่มต่อกลุ่ม (m:n)



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

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

ความสำคัญของการประมวลผลแบบระบบฐานข้อมูล

จากการจัดเก็บข้อมูลรวมเป็นฐานข้อมูลจะก่อให้เกิดประโยชน์ดังนี้


1. สามารถลดความซ้ำซ้อนของข้อมูลได้

การเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่ ทำให้เกิดความซ้ำซ้อน (Redundancy) ดังนั้นการนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล จะชาวยลดปัญหาการเกิดความซ้ำซ้อนของข้อมูลได้ โดยระบบจัดการฐานข้อมูล (Database Management System : DBMS) จะช่วยควบคุมความซ้ำซ้อนได้ เนื่องจากระบบจัดการฐานข้อมูลจะทราบได้ตลอดเวลาว่ามีข้อมูลซ้ำซ้อนกันอยู่ที่ใดบ้าง

2. หลีกเลี่ยงความขัดแย้งของข้อมูลได้

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

3. สามารถใช้ข้อมูลร่วมกันได้

ฐานข้อมูลจะเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน ดังนั้นหากผู้ใช้ต้องการใช้ข้อมูลในฐานข้อมูลที่มาจากแฟ้มข้อมูลต่างๆ ก็จะทำได้โดยง่าย

4. สามารถรักษาความถูกต้องเชื่อถือได้ของข้อมูล

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

5. สามารถกำหนดความป็นมาตรฐานเดียวกันของข้อมูลได้

การเก็บข้อมูลร่วมกันไว้ในฐานข้อมูลจะทำให้สามารถกำหนดมาตรฐานของข้อมูลได้รวมทั้งมาตรฐานต่าง ๆ ในการจัดเก็บข้อมูลให้เป็นไปในลักษณะเดียวกันได้ เช่นการกำหนดรูปแบบการเขียนวันที่ ในลักษณะ วัน/เดือน/ปี หรือ ปี/เดือน/วัน ทั้งนี้จะมีผู้ที่คอยบริหารฐานข้อมูลที่เราเรียกว่า ผู้บริหารฐานข้อมูล (Database Administrator : DBA) เป็นผู้กำหนดมาตรฐานต่างๆ

6. สามารถกำหนดระบบความปลอดภัยของข้อมูลได้

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

7. เกิดความเป็นอิสระของข้อมูล

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

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

รูปแบบของระบบฐานข้อมูล มีอยู่ด้วยกัน 3 ประเภท คือ


1. ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
     เป็นการเก็บข้อมูลในรูปแบบที่เป็นตาราง (Table) หรือเรียกว่า รีเลชั่น (Relation) มีลักษณะเป็น 2 มิติ คือเป็นแถว (row) และเป็นคอลัมน์ (column) การเชื่อมโยงข้อมูลระหว่างตาราง จะเชื่อมโยงโดยใช้แอททริบิวต์ (attribute) หรือคอลัมน์ที่เหมือนกันทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล ฐานข้อมูลเชิงสัมพันธ์นี้จะเป็นรูปแบบของฐานข้อมูลที่นิยมใช้ในปัจจุบัน ดังตัวอย่าง

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

3. ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database)
     ฐานข้อมูลแบบลำดับชั้น เป็นโครงสร้างที่จัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบพ่อ-ลูก (Parent-Child Relationship Type : PCR Type) หรือเป็นโครงสร้างรูปแบบต้นไม้ (Tree) ข้อมูลที่จัดเก็บในที่นี้ คือ ระเบียน (Record) ซึ่งประกอบด้วยค่าของเขตข้อมูล (Field) ของเอนทิตี้หนึ่ง ๆ
ฐานข้อมูลแบบลำดับชั้นนี้คล้ายคลึงกับฐานข้อมูลแบบเครือข่าย แต่ต่างกันที่ฐานข้อมูลแบบลำดับชั้น มีกฎเพิ่มขึ้นมาอีกหนึ่งประการ คือ ในแต่ละกรอบจะมีลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัวลูกศร

โปรแกรมฐานข้อมูลที่นิยมใช้


ปรแกรมฐานข้อมูล เป็นโปรแกรมหรือซอฟแวร์ที่ช่วยจัดการข้อมูลหรือรายการต่าง ๆ ที่อยู่ในฐานข้อมูล ไม่ว่าจะเป็นการจัดเก็บ การเรียกใช้ การปรับปรุงข้อมูล

โปรแกรมฐานข้อมูล จะช่วยให้ผู้ใช้สามารถค้นหาข้อมูลได้อย่างรวดเร็ว ซึ่งโปรแกรมฐานข้อมมูลที่นิยมใช้มีอยู่ด้วยกันหลายตัว เช่น Access, FoxPro, Clipper, dBase, FoxBase, Oracle, SQL เป็นต้น โดยแต่ละโปรแกรมจะมีความสามารถต่างกัน บางโปรแกรมใช้ง่ายแต่จะจำกัดขอบเขตการใช้งาน บ่งโปรแกรมใช้งานยากกว่า แต่จะมีความสามารถในการทำงานมากกว่า

โปรแกรม Access 



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

โปรแกรม FoxPro 


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

โปรแกรม dBase

เป็นโปรแกรมฐานข้อมูลชนิดหนึ่ง การใช้งานจะคล้ายกับโปรแกรม FoxPro ข้อมูลรายงานที่อยู่ในไฟล์บน dBase จะสามารถส่งไปประมวลผลในโปรแกรม Word Processor ได้ และแม้แต่ Excel ก็สามารถอ่านไฟล์ .DBF ที่สร้างขึ้นโดยโปรแกรม dBase ได้ด้วย

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

วันอังคารที่ 23 กันยายน พ.ศ. 2557

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

             ระบบเครือข่าย (Network System) หมายถึง การเชื่อมต่อคอมพิวเตอร์ ตั้งแต่ 2 เครื่องขึ้นไปเข้าด้วยกัน เช่น การเชื่อมต่อเครื่องคอมพิวเตอร์ภายในห้องเรียน ภายในองค์กร ระหว่าง อาคาร ระหว่างเมืองต่าง ๆ ตลอดไปจนถึงการเชื่อมต่อคอมพิวเตอร์ทั่วทั้งโลกที่เรียกว่า "อินเทอร์เน็ต" (Internet)การติดต่อสื่อสารข้อมูลในปัจจุบันมีรากฐานมาจากความพยายามในการเชื่อมต่อระหว่างคอมพิวเตอร์กับคอมพิวเตอร์เข้าด้วยกันโดยอาศัยระบบการสื่อสาร ต่อมาเมื่อมีการใช้คอมพิวเตอร์มากขึ้นความต้องการในการติดต่อระหว่างคอมพิวเตอร์หลายเครื่องในเวลาเดียวกัน เรียกว่า ระบบเครือข่าย (Network System) 
             ระบบสำนักงานอัตโนมัติ (Office Automation System) เป็นวิธีการทางด้านการสื่อสารข้อมูล ที่กำลังได้รับการนำมาประยุกต์ใช้ในระบบสำนักงาน ซึ่งเป็นระบบที่มี บุคคลากรในการทำงานน้อยที่สุดโดยอาศัยเครื่องมือแบบอัตโนมัติและระบบสื่อสารเชื่อมโยงข่าวสาร ระหว่างเครื่องมือเข้าด้วยกัน สำนักงานที่จัดว่าเป็นสำนักงานอัตโนมัติประกอบด้วยองค์ประกอบสำคัญ คือ
  1. Networking System คือ ระบบข่ายงานที่เชื่อมโยงระบบคอมพิวเตอร์ระหว่างกันทั่วองค์กร
  2. Electronic Data Interchange คือ การสื่อสารข้อมูลข่าวสารระหว่างกัน โดยอาศัยสัญญาณข้อมูลข่าวสาร
    แบบอิเล็กทรอนิกส์ผ่านระบบข่ายงาน
  3. Internet Working คือ การรวมตัวกันของระบบข่ายงานที่กระจายอยู่ทั่วโลก จนกลายเป็นเครือข่ายขนาดใหญ่
  4. Paperless System คือ ระบบที่ไม่ใช้กระดาษบทบาทที่สำคัญอีกบทบาทหนึ่งคือการให้บริการข้อมูล

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

มาตรฐานสำหรับระบบเครือข่ายคอมพิวเตอร์
             การทำงานในสำนักงานจำเป็นต้องมีการแลกเปลี่ยนข้อมูลระหว่างกัน โต๊ะทำงานแต่ละตัวจะเป็นเสมือนจุดหนึ่งของการประมวลผล การวิเคราะห์ การแยกแยะข้อมูลและส่งให้โต๊ะอื่นๆ หรือหน่วยอื่น ๆ ต่อไป การเชื่อมโยงเครือข่ายทำให้เกิดเป็นระบบแห่งการประมวลผล หรือทำให้คอมพิวเตอร์หลาย ๆ ระบบเชื่อมเข้าด้วยกัน ระบบสำนักงานอัตโนมัติจึงเป็นเรื่องของการประมวลผลในจุดต่าง ๆ แล้วส่งข้อมูลถึงกันผ่านทางเครือข่ายคอมพิวเตอร์
             เหตุผลของการเชื่อมโยงเครือข่ายคอมพิวเตอร์เข้าหากัน เนื่องจากราคาของคอมพิวเตอร์ถูกลงและมีความต้องการเพิ่มขีดความสามารถของระบบโดยรวม เพราะอุปกรณ์คอมพิวเตอร์เพียงอย่างเดียวก็ทำงานได้ในตัวเองอย่างหนึ่ง แต่เมื่อรวมกันจะทำงานได้เพิ่มขึ้นและสามารถใช้ทรัพยากรร่วมกันและแลกเปลี่ยนข้อมูลระหว่างกันได้
             การส่งข้อมูลระหว่างคอมพิวเตอร์ในระบบเครือข่าย จำเป็นต้องมีมาตรฐานกลางที่ทำให้คอมพิวเตอร์และอุปกรณ์ต่างรุ่น ต่างยี่ห้อ ทุกเครื่องหรือทุกระบบสามารถเชื่อมโยงกันได้ ในระบบเครือข่าย จะมีการดำเนินพื้นฐานต่าง ๆ กัน เช่น การรับส่งข้อมูล การเข้าใช้งานเครือข่าย การพิมพ์งานโดยใช้อุปกรณ์ของเครือข่าย เป็นต้น
             องค์กรว่าด้วยเรื่องมาตรฐานระหว่างประเทศ จึงได้กำหนด มาตรฐานการจัดระบบการเชื่อมต่อสื่อสารเปิด (Open Systems Interconnection : OSI) ซึ่งเป็นมาตรฐานที่ใช้ในการรับส่งข้อมูลระหว่าง 2 ปลายทางใด ๆ บนเครือข่ายระบบสื่อสาร มีการแบ่งออกเป็นระดับ (Layer) ได้ 7 ระดับ โดยแต่ละระดับจะมีการกำหนดมาตรฐานในการติดต่อเป็นของตัวเอง และระดับหนึ่งจะติดต่อกับระดัที่เท่ากันของอีกปลายหนึ่ง ระดับที่สูงกว่าจะสั่งงานและรับข้อมูลที่ประมวลผลแล้วจากระดับที่ต่ำกว่า โดยไม่จำเป็นต้องทราบรายละเอียดของระดับที่ต่ำกว่า
             การสื่อสารในระดับต่าง ๆ จะอาศัยการควบคุมเพื่อให้ระบบการทำงานนั้นเป็นไปอย่างถูกต้องมีมาตรฐานโดยการสื่อสารข้อมูลแบบแพ็กเก็ต จะเกี่ยวพันกับ 3 ระดับล่าง ซึ่งได้แก่
             1. ระดับฟิสิคัล (Physical Layer) เป็นระดับที่เกี่ยวข้องกับการรับข้อมูลเป็นบิต ซึ่งเกี่ยวข้องกับระดับแรงดันไฟฟ้าช่วงความถี่ คาบเวลา
             2. ระดับดาต้าลิงค์ (Data Link Layer) เป็นระดับที่ทำการแปลงการรับส่งข้อมูล ที่มีความไม่แน่นอนให้แน่นอนขึ้น โดยการจัดรูปแบบข้อมูลเป็นบล็อก เช่น เฟรม (Frame) พร้อมทั้งมีการตรวจสอบข้อผิดพลาด
             3. ระดับเนตเวอร์ค (Network Layer) ทำการส่งข้อมูลเป็นแพ็กเก็ตเข้าไปในเนตเวอร์ค แพ็กเก็ตก็อาจเดินทางไปอย่างอิสระ โดยมีการจ่าหน้าแอดเดรสของผู้รับและผู้ส่งวิธีนี้เรียกว่าDatagrame

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

ที่มา : http://www.dol.go.th/it/index.php?option=com_content&task=view&id=105