วันพุธที่ 26 พฤศจิกายน พ.ศ. 2557

ฟังก์ชันใน PHP

การเขียน Function ใน PHP
ในการเขียนโปรแกรม การทำงานซ้ำ ๆ หลาย ๆ ครั้ง ถือเป็นเรื่องปกติในการเขียน ซึ่งการจะใช้โค้ดเดียวกันซ้ำ ๆ กันนั้น ส่วนมากเค้าไม่เขียนซ้ำ ๆ กันบ่อย ๆ แต่จะเขียนฟังก์ชันการทำงานขึ้นมา แล้วเวลาต้องการใช้ซ้ำ ๆ กัน ก็เพียงแค่เรียกชื่อฟังก์ชันขึ้นมาก็ถือว่าเป็นอันสิ้นสุด ดังนั้น ในบทความนี้ เรามาดูฟังก์ชันในภาษา PHP กัน
ฟังก์ชันใน PHP มีอยู่ 2 แบบ นั่นคือ ฟังก์ชันมาตรฐาน (Built-In Function) ซึ่งเป็นฟังก์ชันที่ภาษา PHP มีให้อยู่แล้วสามารถเรียกใช้ได้เลย เช่น ฟังก์ชัน Date, sort เป็นต้น และฟังก์ชันอีกแบบคือ ฟังก์ชันแบบที่เราสร้างขึ้นเอง (User-Defined Function: UDF) 

การกำหนดฟังก์ชันและการเรียกฟังก์ชัน
การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด function กำหนดชื่อฟังก์ชัน พารามิเตอร์ที่ต้องการ และเก็บคำสั่งที่จะประมวลผลแต่ละครั้งเมื่อเรียกฟังก์ชันนี้
<?php
function function_name(parameter1,…) 
{
ชุดคำสั่ง …
?>
ชุดคำสั่งต้องเริ่มต้นและสิ้นสุดในวงเล็บปีกกา ({ }) ตัวอย่างฟังก์ชัน my_function
<?php 
function my_function() 
{
$mystring =<<<BODYSTRING 
my function ได้รับการเรียก
BODYSTRING; 
echo $mystring;
?>
การประกาศฟังก์ชันนี้ เริ่มต้นด้วย function ดังนั้นผู้อ่านและตัวกระจาย PHP ทราบว่าต่อไปเป็นฟังก์ชันกำหนดเอง ชื่อฟังก์ชันคือ my_function การเรียกฟังก์ชันนี้ใช้ประโยคคำสั่งนี้ 
my_function ();
การเรียกฟังก์ชันนี้จะให้ผลลัพธ์เป็นข้อความ "my function ได้รับการเรียก " บน browser

การตั้งชื่อฟังก์ชัน
สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น 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();
?>

วันเสาร์ที่ 15 พฤศจิกายน พ.ศ. 2557

มารู้จักฟิลด์กันเถอะ

หน้าที่ Fields แต่ละชนิด

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 ค่า

ระบบจัดการฐานข้อมูล

ระบบจัดการฐานข้อมูล





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

                หน้าที่ของระบบจัดการฐานข้อมูล มีดังนี้
1.       กำหนดมาตรฐานข้อมูล
2.       ควบคุมการเข้าถึงข้อมูลแบบต่าง ๆ
3.       ดูแล-จัดเก็บข้อมูลให้มีความถูกต้องแม่นยำ
4.       จัดเรื่องการสำรอง และฟื้นสภาพแฟ้มข้อมูล
5.       จัดระเบียบแฟ้มทางกายภาพ (Physical Organization)
6.       รักษาความปลอดภัยของข้อมูลภายในฐานข้อมูล และป้องกันไม่ใช้ข้อมูลสูญหาย
7.       บำรุงรักษาฐานข้อมูลให้เป็นอิสระจากโปรแกรมแอพพลิเคชันอื่น ๆ
8.       เชื่อมโยงข้อมูลที่มีความสัมพันธ์เข้าด้วยกัน เพื่อรองรับความต้องการใช้ข้อมูลในระดับ
ต่าง ๆ

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

รหัสที่ใช้ส่งสัญญาณข้อมูล (Transmission Code)

รหัสที่ใช้ส่งสัญญาณข้อมูล  (Transmission Code)
การส่งสัญญาณการสื่อสารถูกแบ่งออกเป็น ระบบ คือ แบบดิจิตอลและแบบอนาลอก ซึ่งการส่งสัญญาณแบบอนาลอกส่วนใหญ่จะเป็นการติดต่อสื่อสารกันระหว่างมนุษย์ ได้แก่ การได้ยิน การมองเห็น อุปกรณ์ที่ใช้ เช่น โทรศัพท์ วิทยุ โทรทัศน์ สำหรับการส่งสัญญาณแบบดิจิตอลนั้น  ส่วนใหญ่จะสื่อสารกันโดยใช้เครื่องจักรหรืออุปกรณ์ในการถ่ายทอดข้อมูลซึ่ง กันและกัน
ข้อมูลหรือข่าวสารโดยทั่วไปแล้วในเบื้องต้นส่วน ใหญ่จะอยู่ในรูปแบบที่มนุษย์เข้าใจได้ในทันที เช่น ตัวอักษร ตัวเลข เสียง และภาพต่าง ๆ ซึ่งข่าวสารเหล่านี้จะอยู่ในรูปแบบอนาลอก แต่เมื่อต้องการนำข้อมูลหรือข่าวสารเหล่านี้มาใช้กับคอมพิวเตอร์ จะต้องเปลี่ยนข้อมูล หรือข่าวสารเหล่านี้ให้อยู่ในรูปแบบที่คอมพิวเตอร์เข้าใจได้เสียก่อน ซึ่งคอมพิวเตอร์จะรับรู้ข่าวสารที่เป็นแบบดิจิตอลเท่านั้น นั่นคือการเข้าสู่กระบวนการเปลี่ยนข่าวสารแบบอนาลอกให้เป็นข่าวสารแบบ ดิจิตอลนั่นเอง
จากข้อความหรือข่าวสารต่าง ๆ ที่เรามองเห็นและเข้าใจได้ เมื่อเราป้อนเข้าสู่คอมพิวเตอร์โดยพิมพ์เข้าทางแป้นพิมพ์ ตัวอักษรที่พิมพ์เข้าไปจะต้องมีการเข้ารหัสโดยผ่านตัวเข้ารหัส (Encoder) ให้อยู่ในรูปของสัญญาณที่สามารถส่งสัญญาณต่อไปได้เมื่อสัญญาณถูกส่งไปยัง เครื่องรับ จากนั้นเครื่องรับก็จะตีความสัญญาณที่ส่งมาและผ่านตัวถอดรหัส (Decodes) ให้กลับมาอยู่ในรูปแบบที่เราเข้าใจได้หรืออยู่ในรูปแบบที่ใช้สำหรับเก็บใน คอมพิวเตอร์ก็ได้อีกครั้งหนึ่ง
รูปแบบของรหัส
รหัสที่ใช้ในการสื่อสารข้อมูลโดยทั่วไปจะอยู่ในรูปของไบนารี (Binary)  หรือเลขฐานสอง ซึ่งประกอบด้วยเลข กับเลข โดยใช้รหัสที่เป็นเลข แทนการไม่มีสัญญาณไฟและเลข แทนการมีสัญญาณไฟ ซึ่งเป็นไปตามหลักการของไฟฟ้าที่มีลักษณะมีไฟและไม่มีไฟอยู่ตลอดเวลา เรียกรหัสที่ประกอบด้วย กับ ว่าบิต (Binary Digit) แต่เนื่องจากข้อมูลหรือข่าวสารทั่วไปประกอบด้วยตัวอักษร ตัวเลขและสัญลักษณ์มากมาย ถ้าจะใช้ กับ เป็นรหัสแทนแล้วก็คงจะได้เพียง ตัวเท่านั้น เช่น แทนตัว และ แทนด้วย B
ดังนั้นการกำหนดรหัสจึงได้นำกลุ่มบิทมาใช้ เช่น บิท, 7 บิท หรือ บิทแทนตัวอักษร ตัว ซึ่งจะสามารถสร้างรหัสที่แตกต่างกันได้ทั้งหมด รหัสมาตรฐานโดยทั่วไปจะใช้กับอักขระภาษาอังกฤษซึ่งมีหลายมาตรฐาน เช่น รหัสโบดอต (Baudot code), รหัสเอบซีดิก (EBCDIC) และรหัสแอสกี (ASCll Code)
รหัสแอสกี (ASCll CODE)
รหัสแอสกี (ASCll CODE) มาจากคำเต็มว่า American Standard Code for Information Interchange ซึ่งเป็นรหัสมาตรฐานของอเมริกาที่ใช้สำหรับส่งข่าวสารมีขนาด บิท โดยใช้ บิทแรกเข้ารหัสแทนตัวอักษร ส่วนบิทที่ จะเป็นบิทตรวจสอบ (Parity Bit Check) รหัสแอสกีได้รับมาตรฐานของ CCITT หมายเลข เป็นรหัสที่ได้รับความนิยมในการสื่อสารข้อมูลอย่างกว้างขวาง เนื่องจากรหัสแอสกีใช้ บิทแรกแทนตัวอักขระ แต่ละบิทจะประกอบด้วยตัวเลข หรือเลข ดังนั้นรหัสแอสกีจะมีรหัสที่แตกต่างกันได้เท่ากับ 27 หรือเท่ากับ 128 ตัวอักขระนั่นเองในจำนวนนี้จะแบ่งเป็นตัวอักษรที่พิมพ์ได้ 96 อักขระ และเป็นตัวควบคุม (Control Characters) อีก 32 อักขระ ซึ่งใช้สำหรับควบคุมอุปกรณ์และการ ทำงานต่าง ๆ
รหัสโบคอต (Baudot Code)
รหัสโบคอตเป็นรหัสที่ใช้กับระบบโทรเลข และเทเล็กซ์ ซึ่งอยู่ภายใต้มาตรฐานของ CCITT หมายเลข เป็นรหัสขนาด บิท สามารถมีรหัสที่แตกต่างกันได้เท่ากับ 25 หรือเท่ากับ 32 รูปแบบ ซึ่งไม่เพียงพอกับจำนวนอักขระทั้งหมด จึงมีการเพิ่มอักขระพิเศษขึ้นอีก ตัว คือ 11111 หรือ LS (Letter Shift Character) เพื่อเปลี่ยนกลุ่มตัวอักษรเป็นตัวพิมพ์เล็ก (Lower case) และ 11011 หรือ FS(Figured Shift Character) สำหรับเปลี่ยนกลุ่มตัวอักษรเป็นตัวพิมพ์ใหญ่ทำให้มีรหัสเพิ่มขึ้นอีก 32 ตัว แต่มีอักขระซ้ำกับอักขระเดิม ตัว จึงสามารถใช้รหัสได้จริง 58 ตัว อีก 32 ตัว แต่มีอักขระซ้ำกับอักขระเดิม เดิม จึงสามารถใช้รหัสได้จริง 58 ตัว เนื่องจากรหัสโบคอตมีขนาด บิท ซึ่งไม่มีบิทตรวจสอบจึงไม่นิยมนำมาใช้กับคอมพิวเตอร์
รหัสเอบซีดิก (EBCDIC)
รหัส EBVFIC มาจากคำเต็มว่า Extended Binary Coded Deximal Interchange Code พัฒนาขึ้นโดยบริษัท IBM มีขนาด บิตต่อหนึ่งอักขระ โดยใช้บิตที่ เป็น บิทตรวจสอบ ดังนั้นจึงสามารถมีรหัสที่แตกต่างสำหรับใช้แทนตัวอักษรได้ 28 หรือ 256 ตัวอักษร ปัจจุบันรหัสเอบซีดิกเป็นมาตรฐานในการเข้าตัวอักขระบนเครื่องคอมพิวเตอร์
รหัสแบบของการเชื่อมต่อเพื่อการสื่อสารข้อมูล
การเชื่อมต่ออุปกรณ์สื่อสารเพื่อสื่อสารข้อมูลจากจุดหนึ่งไปยังอักจุด หนึ่งนั้น สามารถทำได้หลายรูปแบบขึ้นอยู่กับความเหมาะสม สำหรับรูปแบบของการเชื่อมต่อแบ่งออกเป็นหลายรูปแบบดังต่อไปนี้
1. การเชื่อมต่อแบบจุดต่อจุด  (Point to Point Line)
เป็นการเชื่อมต่อแบบพื้นฐาน โดยต่อจากอุปกรณ์รับหรือส่ง ชุด ใช้สายสื่อสารเพียงสายเดียวมีความยาวของสายไม่จำกัด เชื่อมต่อสายสื่อสารไว้ตลอดเวลา (Lease Line) ซึ่งสายส่งอาจจะเป็นชนิดสายส่งทางเดียว (Simplex) สายส่งกึ่งทางคู่(Half-duplex) หรือสายส่งทางคู่แบบสมบูรณ์ (Full-duplex) ก็ได้ และสามารถส่งสัญญาณข้อมูลได้ทั้งแบบซิงโครนัสหรือแบบวิงโครนัส การเชื่อมต่อแบบจุดต่อจุดมีได้หลายลักษณะดังรูปข้างต้น
2. การเชื่อมต่อแบบหลายจุด  (Multipoint or Multidrop)
เนื่องจากค่าเช่าช่องทางในการส่งผ่านข้อมูลต้องเสียค่าใช้จ่ายสูง การเชื่อมต่อแบบจุดต่อจุดนั้นสิ้นเปลืองสายสื่อสารมากการส่งข้อมูลไม่ได้ใช้ งานตลอดเวลา จึงมีแนวความคิดที่จะใช้สายสื่อสารเพียงสายเดียวแต่เชื่อมต่อกับหลายๆ จุด ซึ่งทำให้ประหยัดค่าใช้จ่ายได้มากกว่า ลักษณะการเชื่อมต่อแบบหลายจุดแสดงให้เห็นได้
การเชื่อมต่อแบบหลายจุดแต่จุดจะมีบัพเฟอร์  (Buffer) ซึ่งเป็นที่พักเก็บข้อมูลชั่วคราวก่อนทำการส่ง โดยบัพเฟอร์จะรับข้อมูลมาเก็บเรื่อย ๆ จนเต็มบัพเฟอร์ ข้อมูลจะถูกส่งทันทีหรือเมื่อมีคำสั่งให้ส่ง เพื่อใช้สายสื่อสารให้เต็มประสิทธิภาพในการส่งแต่ละครั้ง และช่วงใดที่ว่างก็สามารถให้ผู้อื่นส่งได้ การเชื่อมต่อแบบนี้จะเหมาะกับการสื่อสารที่มีขนาดไม่ใหญ่มากนัก และเป็นข้อมูลที่ไม่ต่อเนื่อง แต่อย่างไรก็ตาม ถึงแม้ว่าการสื่อสารข้อมูลโดยวิธีการเชื่อมต่อแบบหลายจุดจะประหยัดค่าใช้ จ่าย และใช้ระบบสื่อสารได้ค่อนข้างเต็มประสิทธิภาพ แต่ก็มีข้อจำกัดหลายประการดังต่อไปนี้
1. ประสิทธิภาพของเครื่องและซอฟต์แวร์ที่ใช้สื่อสารข้อมูล
2. ปริมาณการส่งผ่านข้อมูลที่เกิดขึ้นจากสถานีส่งและรับข้อมูล
3. ความเร็วของช่องทางการส่งผ่านข้อมูลที่ใช้
4. ข้อจำกัดที่ออกโดยองค์การที่ควบคุมการสื่อสารของแต่ละประเทศ
3. การเชื่อมต่อเครือข่ายแบบสลับช่องทางการสื่อสาร  (Switched Network)
จากรูปแบบการเชื่อมต่อที่เป็นแบบจุดซึ่งต้องต่อสายสื่อสารไว้ตลอดเวลา แต่ในทางปฏิบัติจริงแล้วการสื่อสารข้อมูลไม่ได้ผ่านตลอดเวลา ดังนั้นจึงมีแนวความคิด ในการเชื่อมต่อเครือข่ายแบบสลับช่องทางการสื่อสารหรือเครือข่ายสวิตซ์ซิ่ง เพื่อเพิ่มประสิทธิภาพของการเชื่อมต่อเครือข่ายแบบจุดต่อจุดให้สามารถใช้ สื่อสารได้มากที่สุด ลักษณะเครือข่ายแบบสลับช่องทางการสื่อสารสามารถแสดงได้ดังรูป
เครือข่ายแบบสลับช่องทางการสื่อสารที่เห็นโดยทั่วไปมี รูปแบบดังนี้
1. เครือข่ายสื่อสารโทรศัพท์ (The Telephone NetworK)
2. เครือข่ายสื่อสารเทลเล็กช์ (The Telex/TWX Network)
3. เครือข่ายสื่อสารแพคเกตสวิตซ์ซิ่ง (package Switching Network)
4. เครือข่ายสื่อสารสเปเซียลไลซ์ ดิจิตอล (Specialized Digital Network)
หลักการทำงานของเครือข่ายแบบสลับช่องทางการสื่อสารดังนี้
1. การเชื่อมต่อด้องเป็นแบบจุดต่อจุด
2. ต้องมีการเชื่อมต่อการสื่อสารกันทั้งฝ่ายรับและส่งก่อนจะเริ่มรับหรือส่งข้อมูล เช่น หมุนเบอร์โทรศัพท์ เป็นต้น
3. หลังจากสื่อสารกันเสร็จเรียบร้อยจะต้องตัดการเชื่อมต่อ เพื่อให้ผู้อื่นใช้สายสื่อสารได้ต่อไป




อุปกรณ์ที่ใช้ในการสื่อสารข้อมูลคอมพิวเตอร์

โมเด็ม (MODEM)
MODEM มาจากคำเต็มว่า Modulator – DEModulator ทำหน้าที่แปลงสัญญาณข้อมูลดิจิตอล ที่ได้รับจากเครื่องส่งหรือคอมพิวเตอร์ เป็นสัญญาณแบบอนาลอกก่อนทำการส่งไปยังปลายทางต่อไป โดยผ่านเครือข่ายโทรศัพท์ และเมื่อส่งถึงปลายทางก็จะมีโมเด็มทำหน้าที่แปลงสัญญาณจากอนาลอกให้เป็น ดิจิตอล เพื่อใช้กับคอมพิวเตอร์ปลายทาง
 มัลติเพล็กซ์เซอร์ (Multiplexer)
วิธีการเชื่อมต่อการสื่อสารระหว่างผู้รับและผู้ส่งปลายทางที่ง่ายที่สุด คือ การเชื่อมต่อแบบจุดต่อจุด (Point to Point) แต่ต้องเสียค่าใช้จ่ายสูงและใช้งานไม่เต็มที่ จึงมีวิธีการเชื่อมต่อที่ยุ่งยากขึ้น คือการเชื่อมต่อแบบหลายจุดซึ่งใช้สายสื่อสารเพียงเส้น 802.3
คอนเซนเตรเตอร์ (Concentrator)
คอนเซนเตรเตอร์เป็นมัลติเพล็กซ์เซอร์ที่มีประสิทธิภาพสูง สามารถเพิ่มสายหรือช่องทางการส่งข้อมูลได้มากขึ้น การส่งข้อมูลจะเป็นแบบอซิงโครนัส
คอนโทรลเลอร์(Controller)
คอนโทรลเลอร์เป็นมัลติเพล็กซ์เซอร์ที่ส่งข้อมูลแบบอซิงโครนัส ที่สามารถส่งข้อมูลด้วยความเร็วสูงได้ดี การทำงานจะต้องมีโปรโตคอลพิเศษสำหรับกำหนด วิธีการรับส่งข้อมูล มีบอร์ดวงจรไฟฟ้าและซอฟต์แวร์สำหรับคอมพิวเตอร์
ฮับ (HUB)
ฮับเป็นอุปกรณ์อิเล็กทรอนิกส์ทำหน้าที่เช่นเดียวกับมัลติเพล็กซ์เซอร์ ซึ่งนิยมใช้กับระบบเครือข่ายท้องถิ่น (LAN) มีราคาต่ำ ติดต่อสื่อสารข้อมูลตามมาตรฐาน IEEE 802.3
ฟรอนต์ – เอ็นโปรเซสเซอร์  FEP (Front-End Processor)
FEP เป็นคอมพิวเตอร์ที่ใช้เชื่อมต่อระหว่างโฮสต์คอมพิวเตอร์ หรือมินิคอมพิวเตอร์กับอุปกรณ์เครือข่ายสำหรับสื่อสารข้อมูล เช่น โมเด็ม มัลติเล็กซ์เซอร์ เป็นต้น FEP เป็นอุปกรณ์ทีมีหน่วยความจำ (RAM) และซอฟต์แวร์สำหรับควบคุมการทำงานเป็นของตัวเองโดยมีหน้าที่หลักคือ ทำหน้าที่แก้ไขข่าวสาร เก็บข่าวสาร เปลี่ยนรหัสรวบรวมหรือกระจายอักขระ ควบคุมอัตราความเร็วในการรับส่งข้อมูล จัดคิวเข้าออกของข้อมูล ตรวจสอบข้อผิดพลาดในการส่งข้อมูล
 อิมูเลเตอร์ (Emulator)
อิมูเลเตอร์เป็นอุปกรณ์ที่ทำหน้าที่เปลี่ยนกลุ่มข่าวสารจาก โปรโตคอลแบบหนึ่งไปเป็นกลุ่มข่าวสาร ซึ่งใช้โปรโตคอลอีกแบบหนึ่ง แต่จะเป็นอุปกรณ์ฮาร์ดแวร์หรือเป็นโปรแกรมซอฟต์แวร์ก็ได้ บางครั้งอาจจะเป็นทั้ง อย่าง โดยทำให้คอมพิวเตอร์ที่ต่อเข้ามานั้นดูเหมือนเป็นเครื่องเทอร์มินัลหนึ่ง เครื่อง โฮสต์หรือมินิคอมพิวเตอร์ในปัจจุบันนิยมนำเครื่อง PC มาใช้เป็นเทอร์มินัลของเครื่องเมนเฟรมคอมพิวเตอร์ ทั้งนี้เพราะประหยัดกว่าและเมื่อไรที่ไม่ใช้ติดต่อกับมินิ หรือเมนแฟรมก็สามารถใช้เป็น PC ทั่วไปได้
เกตเวย์ (Gateway)
เกตเวย์เป็นอุปกรณ์อิเล็กทรอนิกส์ที่มีหน้าที่หลักคือ ทำให้เครือข่ายคอมพิวเตอร์ 2  เครือข่ายหรือมากกว่าซึ่งมีลักษณะแตกต่างกัน สามารถสื่อสารกันได้เสมือนกับเป็นเครือข่ายเดียวกัน โดยทั่วไปแล้วระบบเครือข่ายแต่ละเครือข่ายอาจจะแตกต่างกันในหลายกรณี เช่น ลักษณะการเชื่อมต่อ (Connectivity) ที่ไม่เหมือนกัน โปรโตคอลที่ใช้สำหรับรับส่งข้อมูลต่างกัน เป็นต้น
บริดจ์ (Bridge)
เป็นอุปกรณ์ IWU (Inter Working Unit)  ที่ใช้สำหรับเชื่อมเครือข่ายท้องถิ่น (Local Area Network หรือ LAN) 2 เครือข่ายเข้าด้วยกัน ซึ่งอาจจะใช้โปรโตคอลที่เหมือนกันหรือต่างกันก็ได้
เราเตอร์ (Router)
เป็นอุปกรณ์ที่ใช้เชื่อมต่อเครือข่ายเข้าด้วยกัน ซึ่งอาจจะเป็นเครือข่ายเดียวกันหรือข้ามเครือข่ายกัน โดยการเชื่อมกันระหว่างหลายเครือข่ายแบบนี้เรียกว่า เครือข่ายอินเตอร์เน็ต (Internet) โดยเครือข่ายแต่ละเครือข่ายจะเรียกว่า เครือข่ายย่อย (Subnetwork) ส่วนอุปกรณ์ที่ใช้เชื่ออมต่อระหว่างเครือข่าย เรียกว่า IWU (Inter Working Unit) ได้แก่ เราเตอร์และบริดจ์
รีพีตเตอร์ (Repeater)
เป็นอุปกรณ์ที่ใช้สำหรับส่งสัญญาณซ้ำ เพื่อส่งสัญญาณต่อไปนี้ในระยะไกลป้องกันการขาดหายของสัญญาณ ซึ่งรูปแบบของเครือข่ายแต่ละแบบรวมทั้งสายสัญญาณที่ใช้เป็นตัวกลางหรือสื่อ กลาง แต่ละชนิดจะมีข้อจำกัดของระยะทางในการส่ง ดังนั้นเมื่อต้องการส่งสัญญาณให้ไกลกว่าปกติต้องเชื่อมต่อกับรีพีตเตอร์ดัง กล่าว เพื่อทำให้สามารถส่งสัญญาณ ได้ไกลยิ่งขึ้น
เครือข่าย (Networks)
เครือข่าย หมายถึง กลุ่มของคอมพิวเตอร์ และอุปกรณ์คอมพิวเตอร์ที่ถูกนำมาเชื่อมต่อกันดังนั้นเครือข่ายคอมพิวเตอร์ จึงประกอบด้วยสื่อการติดต่อสื่อสาร อุปกรณ์ และซอฟต์แวร์ที่จำเป็นในการเชื่อมโยงคอมพิวเตอร์ตั้งแต่ ระบบเข้าด้วยกัน รวมทั้งอุปกรณ์อื่น ๆ
ความจำเป็นในการใช้เครือข่ายคอมพิวเตอร์ เครือข่ายคอมพิวเตอร์มีความจำเป็นในการทำงานในยุคปัจจุบัน ด้วยเหตุผลดังนี้
1) เครือข่ายคอมพิวเตอร์ทำให้การทำงานมีความคล่องตัว ยืดหยุ่น และปรับตัวให้เข้ากับเงื่อนไขต่างๆ ที่เปลี่ยนแปลงไปอย่างรวดเร็ว
2) เครือข่ายช่วยให้หน่วยงานประหยัดงบประมาณโดยช่วยสนับสนุนการใช้ทรัพยากรคอมพิวเตอร์ร่วมกัน เช่น ฮาร์ดแวร์ ซอฟต์แวร์ และฐานข้อมูล
3) เครือข่ายทำให้พนักงานหรือทีมงานของหน่วยงานที่อยู่ห่างไกลกันสามารถใช้ เอกสารร่วมกัน และแลกเปลี่ยนแนวคิด ความเห็น ตลอดจนเสริมให้การทำงานเป็นทีมมีประสิทธิภาพดีขึ้น และกระตุ้นให้เกิดความคิดใหม่ ๆ
4) เครือข่ายช่วยสร้างให้การติดต่อสื่อสารระหว่างหน่วยงานกับลูกค้าหรือองค์การภายนอกมีความใกล้ชิดกันมากยิ่งขึ้น

สื่อกลางที่ใช้ในการสื่อสารข้อมูล

สื่อกลางที่ใช้ในการสื่อสารข้อมูล
องค์ประกอบที่สำคัญที่ใช้ในการสื่อสารข้อมูลอันหนึ่งที่ขาดไม่ได้ คือสายสื่อกลาง ซึ่งแบ่งเป็น ประเภทใหญ่ คือ สื่อกลางที่กำหนดเส้นทางได้ เช่น สายโคแอกเซียล (Coaxial) สายเกลียวคู่ (Twisted-pair) สายไฟเบอร์ออฟติก (Fiber Optic) และสื่อกลางที่กำหนดเส้นทางไม่ได้ เช่น คลื่นวิทยุ คลื่นดาวเทียม คลื่นไมโครเวฟ เป็นต้น
การเลือกสื่อกลางที่จะนำมาใช้ในการเชื่อมต่อระบบสื่อสารข้อมูลนั้น จำเป็นต้องพิจารณากันหลายประการ เช่น ความเร็วในการส่งข้อมูล ราคาของอุปกรณ์ที่ใช้ สถานที่ใช้ การบริการ การควบคุม ตลอดจนเทคโนโลยีที่จะนำมาใช้ ซึ่งลื่อกลางแต่ละชนิดจะมีคุณสมบัติแตกต่างกันไป
 สายโคแอกเซียล (Coaxial Cable)
สายโคแอกเซียลเป็นสายที่นิยมใช้กันค่อนข้างมากในระบบการสื่อสารความถี่ สูง เช่น สายอากาศของทีวี สายชนิดนี้ถูกออกแบบมาให้มีค่าความต้านทาน 75 โอห์มและ 50 โอห์ม โดยสาย 75 โอห์ม ส่วนใหญ่ใช้กับสายอากาศทีวีและสาย 50 โอห์ม จะนำมาใช้กับการสื่อสารที่เป็นระบบดิจิตอล
คุณสมบัติของสายโคแอกเซียลประกอบด้วยตัวนำสองสาย โดยมีสายหนึ่งเป็นแกนอยู่ตรงกลางและอีกเส้นเป็นตัวนำล้อมรอบอยู่อีกชั้น มีขนาดของสาย 0.4 ถึง นิ้ว
สายโคแอกเซียลมี แบบ คือ แบบหนา (Thick) และแบบบาง (Thin) แบบหนาจะแข็ง การเดินสายทำได้ค่อนข้างยาก แต่สามารถส่งสัญญาณได้ไกลกว่าแบบบางสามารถ เปรียบเทียบข้อดีข้อเสียของสายสื่อสารกลางแบบโคแอกเชียลได้ดังต่อไปนี้
สายคู่บิดเกลียว (Twisted-Pair)
สายคู่เกลียวเป็นสายมาตรฐานสองเส้นหุ้มด้วยฉนวนแล้วบิดเป็นเกลียว สามารถรับส่งข้อมูลได้ทั้งแบบ อนาลอกและแบบดิจิตอล สายชนิดนี้จะมีขนาด 0.015-0.056 นิ้ว ส่งข้อมูลได้ด้วยความเร็ว 10 เมกะบิทต่อวินาที ถ้าใช้ส่งสัญญาณแบบอนาลอกจะต้องใช้วงจรขยายหรือแอมพลิฟายเออร์ ทุก ๆ ระยะ 5-6 กม. แต่ถ้าต้องการส่งสัญญาณแบบดิจิตอลจะต้องใช้อุปกรณ์ทำซ้ำสัญญาณ (Repeater) ทุก ๆ ระยะ 2-3 กม. โดยทั่วไปแล้วสำหรับการส่งข้อมูลแบบดิจิตอล สัญญาณที่ส่งเป็นลักษณะคลื่นสี่เหลี่ยม สายคู่บิดเกลียวสามารถใช้ส่งข้อมูลได้หลายเมกะบิตต่อวินาทีในระยะทางได้ไกล หลายกิโลเมตร เนื่องจากสายคู่เกลียว มีราคาไม่แพงมาก ใช้ส่งข้อมูลได้ดี และมีน้ำหนักเบา นอกจากนั้นยังง่ายต่อการติดตั้ง จึงถูกใช้งานอย่างกว้างขวางตัวอย่างของสายคู่บิดเกลียว คือ สายโทรศัพท์ สำหรับสายคู่บิดเกลียวนั้นจะมีอยู่ ชนิดคือ
1. สายคู่บิดเกลียวชนิดหุ้มฉนวน (Shielded Twisted Pair : STP) เป็นสายคู่บิดเกลียวที่หุ้มด้วยฉนวนชั้นนอกที่หนาอีกชั้นหนึ่ง เพื่อป้องกันการรบกวนของคลื่นแม่เหล็กไฟฟ้า
2. สายคู่บิดเกลียวชนิดไม่หุ้มฉนวน  (Unshielded Twisted Pair : UTP) เป็นสายคู่บิดเกลียวที่หุ้มด้วยฉนวนชั้นนอกที่บางทำให้สะดวกในการโค้งงอ แต่จะป้องกันการรบกวนของคลื่นแม่เหล็กไฟฟ้าได้น้อยกว่าชนิดแรก
สายส่งข้อมูลแบบไฟเบอร์ออฟติกจะประกอบด้วยเส้นใยทำจากแก้ว ชนิด ชนิดหนึ่งอยู่ตรงแกนกลาง อีกชนิดหนึ่งอยู่ด้านนอก โดยที่ใยแก้วทั้ง นี้จะมีดัชนีในการสะท้อนแสงต่างกัน ทำให้แสงที่ส่งจากปลายด้านหนึ่งผ่านไปยังอีกด้านหนึ่งได้
สายส่งแบบไฟเบอร์ออฟติก  (Fiber Optic)
เป็นการส่งสัญญาณด้วยใยแก้ว และส่งสัญญาณด้วยแสงมีความเร็วในการส่งข้อมูลสูงสามารถส่งข้อมูล ได้ด้วยเร็วเท่ากับแสง ไม่มีสัญญาณรบกวนจากภายนอก
สายส่งข้อมูลแบบไฟเบอร์ออฟติกจะประกอบด้วยเส้นใยแก้ว ชนิด ชนิดหนึ่งอยู่ตรงแกนกลาง อีกชนิดหนึ่งอยู่ด้านนอก โดยที่ใยแก้วทั้ง นี้จะมีดัชนีในการสะท้อนแสงต่างกัน ทำให้แสงที่ส่งจากปลายด้านหนึ่งผ่านไปยังอีกด้านหนึ่งได้

Network Topology

Network Topology
คือการออกแบบและการติดต่อเชื่อมโยงกันของเครือข่ายทางกายภาพ โดยทั่วไปโทโปโลจีพื้นฐานมีอยู่ ประเภท ดังนี้
1) แบบดาว (Star Network)
เป็นเครือข่ายที่คอมพิวเตอร์ทุกตัวและอุปกรณ์อื่นเชื่อมกับโฮสต์ คอมพิวเตอร์ที่อยู่ และการสื่อสารทั้งหมดระหว่างอุปกรณ์ต่างๆ ภายในเครือข่ายต้องผ่านโฮสต์คอมพิวเตอร์ เนื่องจากโฮสต์คอมพิวเตอร์เป็นตัวควบคุมอุปกรณ์อื่นทั้งหมดในเครือข่าย เครือข่ายแบบดาวเหมาะสำหรับการประมวลผลที่มีลักษณะรวมศูนย์ อย่างไรก็ตามข้อจำกัดของแบบนี้ คือ หากใช้โฮสต์คอมพิวเตอร์ก็จะทำให้ระบบทั้งหมดทำงานไม่ได้
2) แบบบัส (Bus Network)
เป็นการเชื่อมโยงคอมพิวเตอร์โดยใช้สายวงจรเดียว ซึ่งอาจจะเป็นสายเกลียวคู่สายโคแอกเชียล หรือ สายใยแก้วก็ได้ สัญญาณสามารถสื่อสารได้ ทางในเครือข่ายโดยมีซอฟต์แวร์คอยช่วยแยกว่าอุปกรณ์ใดจะเป็นตัวรับข้อมูล หากมีคอมพิวเตอร์ตัวใดในระบบล้มเหลวจะไม่มีผล ต่อคอมพิวเตอร์อื่น อย่างไรก็ตามช่องทางในระบบเครือข่ายแบบนี้สามารถจัดการรับข้อมูลได้ครั้งละ ชุดเท่านั้น ดังนั้นจึงเกิดปัญหาการจราจรของข้อมูลได้ในกรณีที่มีผู้ต้องการใช้งานพร้อม กัน โทโปโลจีแบบนี้นิยมใช้ในวงแลน
3) แบบวงแหวน (Ring Network)
คอมพิวเตอร์ทุกตัวเชื่อมโยงเป็นวงจรปิด ทำให้การส่งข้อมูลจากคอมพิวเตอร์ตัวหนึ่งไปยังอีก ตัวหนึ่งโดยเดินทางไปในทิศทางเดียว คอมพิวเตอร์แต่ละตัวทำงานโดยอิสระ หากมีตัวใด ตัวหนึ่งเสียระบบการสื่อสารในเครือข่ายได้รับการกระทบกระเทือน ยกเว้นจะมีวงแหวนคู่ในการรับส่ง ข้อมูลในทิศทางต่างๆ กัน เพื่อเป็นเส้นทางสำรองในการป้องกันไม่ให้เครือข่ายหยุดทำงานโดยสิ้นเชิง
นอกจากโทโปโลจีทั้ง แบบที่กล่าวข้างต้น อาจจะพบโทโปโลจีแบบอื่นๆ เช่น แบบโครงสร้างลำดับชั้น (Hierarchical Network) ซึ่งมีลักษณะโครงสร้างคล้ายต้นไม้ (Tree) หรือมีแบบผสม (Hybrid) อย่างไรก็ตามโทโปโลจีแต่ละประเภทจะมีข้อดีและ ข้อจำกัดแตกต่างกันผู้พัฒนาระบบจะต้องพิจารณาถึงความเร็ว ความเชื่อถือได้ และความสามารถของเครือข่ายในการทำงาน หรือการแก้ไขข้อบกพร่องในกรณีที่อุปกรณ์ใดอุปกรณ์หนึ่ง ในระบบมีปัญหาตลอดจนลักษณะทางกายภาพ เช่น ระยะห่างของ node และต้นทุนของทั้งระบบ
รูปแบบการประมวลผลแบบกระจายเครือข่าย (Organizational Distributed Processing)
วิธีการประมวลผลของเครือข่ายคอมพิวเตอร์มี รูปแบบ คือ
1.Terminal-to-Host Processing
2. File Server Processing
3. Client/Server