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

การตั้งชื่อฟังก์ชัน(Name Functions)

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

การกำหนดฟังก์ชันและการเรียกฟังก์ชัน(Functions Specification and Call Functions)

          การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด 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

ฟังก์ชันใน PHP(Functions PHP)

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

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

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

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

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

ระบบฐานข้อมูล (Database System)

สถาปัตยกรรม

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

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

ระบบจัดการฐานข้อมูล
        ระบบจัดการฐานข้อมูล (DBMS) ประกอบด้วยซอฟต์แวร์ที่ใช้ในการจัดการฐานข้อมูล, จัดเตรียมพื้นที่ในการเก็บ, การเข้าถึง, ระบบรักษาความปลอดภัย, สำรองข้อมูล และสิ่งอำนวยความสะดวกอื่นๆ ระบบจัดการฐานข้อมูลสามารถแบ่งหมวดหมู่ได้ตามแบบจำลองฐานข้อมูลที่สนับสนุน อาทิเช่น เชิงสัมพันธ์ หรือ XML เป็นต้น แบ่งตามประเภทของคอมพิวเตอร์ที่สนับสนุน อาทิเช่น server cluster หรือ โทรศัพท์พกพา เป็นต้น แบ่งตามประภทของภาษาสอบถามที่ใช้ในการเข้าถึงฐานข้อมูล อาทิเช่น ภาษาสอบถามเชิงโครงสร้าง หรือ XQuery แบ่งตามประสิทธิภาพในการ trade-offs อาทิเช่น ขนาดที่ใหญ่ที่สุด หรือ ความเร็วสูงสุด หรือ อื่นๆ เป็นต้น ในบาง DBMS จะครอบคลุมมากกว่าหนึ่งหมวดหมู่ เช่น สนับสนุนภาษาสอบถามได้หลายๆ ภาษา ยกตัวอย่างเช่น ใน DBMS ที่นิยมใช้การอย่างแพร่หลาย MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker,Oracle,Sybase, dBASE, Clipper,FoxPro อื่นๆ ในทุกๆ ซอฟต์แวร์ฐานข้อมูลจะมี Open Database Connectivity (ODBC) driver มาให้ด้วย เพื่ออนุญาตให้ฐานข้อมูลสามารถทำงานร่วมกับฐานข้อมูลแบบอื่นๆ ได้
ฐานข้อมูล ประกอบด้วยกลุ่มการจัดการข้อมูลสำหรับผู้ใช้หนึ่งคนหรือหลายๆ คน โดยทั่วไปมักอยู่ในรูปแบบดิจิทัล วิธีการแบ่งชนิดของฐานข้อมูลได้รูปแบบหนึ่งคือแบ่งตามชนิดของเนื้อหา เช่น บรรณานุกรม, เอกสารตัวอักษร, สถิติ โดยฐานข้อมูลดิจิทัลจะถูกจัดการโดยใช้ระบบจัดการฐานข้อมูลซึ่งเก็บเนื้อหาฐานข้อมูล โดยอนุญาตให้สร้าง, ดูแลรักษา, ค้นหา และการเข้าถึงในรูปแบบอื่นๆ

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

       ในขณะที่แบบจำลองเชิงสัมพันธ์ มีพื้นฐานมาจากทฤษฎีเซต ได้มีการเสนอแบบจำลองดัดแปลงซึ่งใช้ทฤษฎีเซตคลุมเครือ (ซึ่งมีพื้นฐานมาจากตรรกะคลุมเครือ) ขึ้นเป็นอีกทางเลือกหนึ่ง

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

การออกแบบฐานข้อมูล (Designing Databases)

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

       1. รูปแบบข้อมูลแบบลำดับขั้น หรือโครงสร้างแบบลำดับขั้น (Hierarchical data model) วิธีการสร้างฐาน ข้อมูลแบบลำดับขั้นถูกพัฒนาโดยบริษัท ไอบีเอ็ม จำกัด ในปี 1980 ได้รับความนิยมมาก ในการพัฒนาฐานข้อมูลบนเครื่องคอมพิวเตอร์ขนาดใหญ่และขนาดกลาง โดยที่โครงสร้างข้อมูลจะสร้างรูปแบบเหมือนต้นไม้ โดยความสัมพันธ์เป็นแบบหนึ่งต่อหลาย (One- to -Many)

       2. รูปแบบข้อมูลแบบเครือข่าย (Network data Model) ฐานข้อมูลแบบเครือข่ายมีความคล้ายคลึงกับฐาน ข้อมูลแบบลำดับชั้น ต่างกันที่โครงสร้างแบบเครือข่าย อาจจะมีการติดต่อหลายต่อหนึ่ง (Many-to-one) หรือ หลายต่อหลาย (Many-to-many) กล่าวคือลูก (Child) อาจมีพ่อแม่ (Parent) มากกว่าหนึ่ง สำหรับตัวอย่างฐานข้อมูลแบบเครือข่ายให้ลองพิจารณาการจัดการข้อมูลของห้องสมุด ซึ่งรายการจะประกอบด้วย ชื่อเรื่อง ผู้แต่ง สำนักพิมพ์ ที่อยู่ ประเภท

       3. รูปแบบความสัมพันธ์ข้อมูล (Relation data model) เป็นลักษณะการออกแบบฐานข้อมูลโดยจัดข้อมูลให้อยู่ในรูปของตารางที่มีระบบคล้ายแฟ้ม โดยที่ข้อมูลแต่ละแถว (Row) ของตารางจะแทนเรคอร์ด (Record) ส่วน ข้อมูลนแนวดิ่งจะแทนคอลัมน์ (Column) ซึ่งเป็นขอบเขตของข้อมูล (Field) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้ เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ


การออกแบบฐานข้อมูลเชิงสัมพันธ์

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

        1.การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล

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

        3.การออกแบบฐานข้อมูลในระดับแนวคิด

        4.การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล

        5.การออกแบบฐานข้อมูลในระดับกายภาพ

        6.การนำฐานข้อมูลไปใช้และการประเมินผล


การออกแบบฐานข้อมูลในระดับตรรกะ

       การออกแบบฐานข้อมูลในระดับตรรกะ หรือในระดับแนวความคิด เป็นขั้นตอนการออกแบบความสัมพันธ์ระหว่างข้อมูลในระบบโดยใช้แบบจำลองข้อมูลเชิงสัมพันธ์ ซึ่งอธิบายโดยใช้แผนภาพแสดงความสัมพันธ์ระหว่างข้อมูล (E-R Diagram) จากแผนภาพ E-R Diagram นำมาสร้างเป็นตารางข้อมูล (Mapping E-R Diagram to Relation) และใช้ทฤษฏีการ Normalization เพื่อเป็นการรับประกันว่าข้อมูลมีความซ้ำซ้อนกันน้อยที่สุด ซึ่งการออกแบบเชิงตรรกะนี้จะบอกถึงรายละเอียดของ Relation , Attribute และ Entity

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

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

-ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ระบบฐานข้อมูล (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) หรือคอลัมน์ที่เหมือนกันทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล ฐานข้อมูลเชิงสัมพันธ์นี้จะเป็นรูปแบบของฐานข้อมูลที่นิยมใช้ในปัจจุบัน ดังตัวอย่าง
พนักงาน

รหัสพนักงาน

ชื่อพนักงาน

ที่อยู่

เงินเดือน

รหัสแผนก

12501535
12534568
12503452
12356892

15689730

นายสมพงศ์
นายมนตรี
นายเอก
นายบรรทัด

นายราชัน

กรุงเทพ
นครปฐม
กรุงเทพ
นนทบุรี

สมุทรปราการ

12000
12500
13500
11500

12000

VO
VN
VO
VD

VA


รูปแสดงตารางพนักงาน

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 ที่ต่างจากมาตรฐานไปบ้างเพื่อให้เป็นจุดเด่นของแต่ละโปรแกรมไป

วันจันทร์ที่ 25 สิงหาคม พ.ศ. 2557

เครือข่ายคอมพิวเตอร์( Computer Networking )


เครือข่ายคอมพิวเตอร์ ( Computer Networking )

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

   คอมพิวเตอร์แม่ข่าย (File Server) 

   คอมพิวเตอร์ที่ทำหน้าที่เป็นผู้ให้บริการทรัพยากร  (Resources) ต่าง ๆ ซึ่งได้แก่ หน่วยประมวลผลหน่วยความจำ  หน่วยความจำสำรอง ฐานข้อมูล และ โปรแกรมต่าง ๆ เป็นต้น ใน  ระบบเครือข่ายท้องถิ่น (LAN) มักเรียกว่าคอมพิวเตอร์แม่ข่าย ใระบบเครือข่ายระยะไกล ที่ใช้เมนเฟรมคอมพิวเตอร์ หรือ มินิคอมพิวเตอร์เป็นศูนย์กลางของเครือข่าย เรานิยมเรียกว่า Host Computer และเรียกเครื่องที่รอรับบริการว่าลูกข่ายหรือสถานีงาน

ช่องทางการสื่อสาร (Communication Chanel) 

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


สถานีงาน (Workstation or Terminal)
   อุปกรณ์หรือเครื่องไมโครคอมพิวเตอร์ ที่เชื่อมต่อ กับเครือข่ายคอมพิวเตอร์ ทำหน้าที่เป็นสถานีปลายทางหรือสถานีงาน ที่ได้รับการบริการจากเครื่อง คอมพิวเตอร์แม่ข่าย เรียกว่าเป็นคอมพิวเตอร์ลูกข่าย (Workstation) ในระบบเครือข่ายระยะใกล้ มักมีหน่วยประมวลผล หรือซีพียูของตนเอง ในระบบที่ใช้เครื่องคอมพิวเตอร์เมนเฟรม เป็นศูนย์กลาง เรียกสถานีปลายทางว่าเทอร์มินอล (Terminal) ประกอบด้วยจอภาพและแป้นพิมพ์เท่านั้น ไม่มีหน่วยประมวลกลางของตัวเอง ต้องใช้หน่วยประมวลผลของคอมพิวเตอร์ศูนย์กลางหรือ Host

 อุปกรณ์ในเครือข่าย (Network Operation System)

1. การ์ดแลน (LAN card) : การ์ดแลนเป็นอุปกรณ์ที่ใช้สำหรับรับส่งข้อมูลจากเครื่องคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง หรือไปยังอุปกรณ์อื่นๆ ในระบบเครือข่าย ดังนั้นคอมพิวเตอร์ทุกเครื่องก็จะต้องมีการ์ดแลนเป็นส่วนประกอบสำคัญอีกอย่างหนึ่ง และโดยเฉพาะการเชื่อมต่ออินเตอร์เน็ต ADSL ตามบ้าน มักจะใช้การ์ดแลนเป็นตัวเชื่อมต่ออีกด้วย การใช้การ์ดแลน จะใช้ควบคู่กับสายแลนประเภท UTP หรือสายที่หลายๆ คนอาจเคยได้ยินคือสาย CAT5, CAT5e, CAT6เป็นต้น



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



 3.  ฮับ (Hub)  เป็นอุปกรณ์ที่ใช้สำหรับเชื่อมโยงสัญญาณของอุปกรณ์เครือข่ายเข้าด้วยกัน การจะทำให้คอมพิวเตอร์แต่ละเครื่องคอมพิวเตอร์รู้จักกัน หรือส่งข้อมูลถึงกันได้จะต้องผ่านอุปกรณ์ตัวนี้ ปัจจุบันฮับถูกเปรียบเทียบกับ Switch ซึ่งมีความสามารถสูงกว่า และถือได้ว่าเป็นอุปกรณ์มาตราฐานที่ใช้สำหรับเชื่อมโยงสัญญาณในระบบเครือข่าย 
        โดยทั่วไปจะมีลักษณเหมือนกล่องสีเหลี่ยมแต่แบน มีความสูงประมาณ 1-3 นิ้ว แล้วแต่รุ่น มีช่องเล็กๆ เอาไว้เสียบสายแลนแต่ละเส้นที่ลากโยงมาจากคอมพิวเตอร์ มีหลายรุ่น เช่น Hub 4 Ports, 8 Ports, 16 Ports, 24 Ports หรือ 48 Ports เป็นต้น 

4. สวิตซ์ (Switch)  เป็นอุปกรณ์ที่พัฒนาการต่อจากฮับอีกทีหนึ่งมีความสามารถมากกว่า Hub โดยการทำงานของสวิตซ์จะส่งข้อมูลออกไปเฉพาะพอร์ตที่ใช้ในการติดต่อกับเครื่องคอมพิวเตอร์พีซีปลายทางเท่านั้น ไม่ส่งกระจายข้อมูลไปยังทุกพอร์ตเหมือนอย่างฮับ ทำให้ในสวิตซ์ไม่มีปัญหาการชนของข้อมูล สวิตซ์จะทำงานอยู่ในชั้น Data Link Layer คือจะรับผิดชอบในการเชื่อมโยงของข้อมูล ตรวจสอบความถูกต้องของการติดต่อจากโหนดหนึ่งไปอีกโหนดหนึ่งและความสมบูรณ์ของการรับส่งข้อมูล สำหรับในชั้นเชื่อมโยงข้อมูลนั่นจะทำการแบ่งข้อมูลระดับบิตที่ได้รับจากชั้น Physical Layer เป็นข้อมูลชนิดที่เรียกว่า เฟรม ก่อนจะส่งไปยังชั้นถัดไป ก็คือ Network Layer
              HUB กับ SWITCH นั้นจะทำหน้าที่คล้าย กันเพียงแต่ HUB นั้นเวลาส่งข้อมูลนั้นจะเป็นแบบ broadcast กระจายไปทุกเครื่องแต่ถ้าเป็น switch นั้น จะดูว่าข้อมูลนี่เป็น ของเครื่องไหนแล้วค่อยส่งไปยังเครื่องนั้น ดังนั้นHUB จึงสามารถ LAN ได้มากกว่านอกจากนี้ความเร็วในการส่งข้อมูลก็ต่างกันคือ speed HUB คือspeed / N เครื่องเช่น LAN 100 Mbps 10 เครื่อง ทุกเครื่องได้แค่ 10 Mpbsส่วน speed switch นั้น Lan 100 mpbs ทุกเครื่องได้ 100 mbps



       ซอฟต์แวร์ระบบปฏิบัติการเครือข่าย




   ซอฟต์แวร์ที่ทำหน้าที่ จัดการระบบเครือข่ายของคอมพิวเตอร์ เพื่อให้คอมพิวเตอร์ ที่เชื่อมต่ออยู่กับเครือข่าย สามารถติดต่อสื่อสาร แลกเปลี่ยนข้อมูลกันได้อย่างถูกต้อง และมีประสิทธิภาพ ทำหน้าที่จัดการด้านการรักษาความปลอดภัย ของระบบเครือข่าย และยังมีหน้าที่ควบคุม การนำโปรแกรมประยุกต์ ด้านการติดต่อสื่อสาร มาทำงานในระบบเครือข่ายอีกด้วย นับว่าซอฟต์แวร์ระบบปฏิบัติการเครือข่าย มีความสำคัญต่อเครือข่ายคอมพิวเตอร์อย่างยิ่ง ตัวอย่าง ซอฟต์แวร์ประเภทนี้ได้แก่ ระบบปฏิบัติการ Windows NT , Linux , Novell Netware , Windows XP ,Windows 2000 , Solaris , Unix เป็นต้น

โครงสร้างเครือข่ายคอมพิวเตอร์ (TOPOLOGY)














1. โครงสร้างเครือข่ายคอมพิวเตอร์แบบบัส (bus topology)

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


2. โครงสร้างเครือข่ายคอมพิวเตอร์แบบวงแหวน (ring topology)


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

 3. โครงสร้างเครือข่ายคอมพิวเตอร์แบบดาว (star topology)


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

ที่มา : www.school.net.th