วันจันทร์ที่ 30 พฤศจิกายน พ.ศ. 2558

SQL


SQL 


       SQL ย่อมาจาก structured query language คือภาษาที่ใช้ในการเขียนโปรแกรม เพื่อจัดการกับฐานข้อมูลโดยเฉพาะ เป็นภาษามาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (open system) หมายถึงเราสามารถใช้คำสั่ง sql กับฐานข้อมูลชนิดใดก็ได้ และ คำสั่งงานเดียวกันเมื่อสั่งงานผ่าน  ระบบฐานข้อมูลที่แตกต่างกันจะได้ ผลลัพธ์เหมือนกัน ทำให้เราสามารถเลือกใช้ฐานข้อมูล ชนิดใดก็ได้โดยไม่ติดยึดกับฐานข้อมูลใดฐานข้อมูลหนึ่ง นอกจากนี้แล้ว SQL ยังเป็นชื่อโปรแกรมฐานข้อมูล ซึ่งโปรแกรม SQL เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน มีประสิทธิภาพการทำงานสูง สามารถทำงานที่ซับซ้อนได้โดยใช้คำสั่งเพียงไม่กี่คำสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาหนึ่ง ซึ่งแบ่งการทำงานได้เป็น 4 ประเภท ดังนี้
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
2. Update query ใช้สำหรับแก้ไขข้อมูล
3. Insert query ใช้สำหรับการเพิ่มข้อมูล
4. Delete query ใช้สำหรับลบข้อมูลออกไป
     ปัจจุบันมีซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS ) ที่สนับสนุนการใช้คำสั่ง SQL เช่น  Oracle , DB2, MS-SQL, MS-Access 
นอกจากนี้ภาษา SQL ถูกนำมาใช้เขียนร่วมกับโปรแกรมภาษาต่างๆ เช่น ภาษา c/C++ , VisualBasic และ Java 

ประโยชน์ของภาษา SQL
1. สร้างฐานข้อมูลและ ตาราง    
2. สนับสนุนการจัดการฐานข้อมูล ซึ่งประกอบด้วย การเพิ่ม การปรับปรุง และการลบข้อมูล
3. สนับสนุนการเรียกใช้หรือ ค้นหาข้อมูล    
    
ประเภทของคำสั่งภาษา SQL
1. ภาษานิยามข้อมูล(Data Definition Language : DDL) เป็นคำสั่งที่ใช้ในการสร้างฐานข้อมูล กำหนดโครงสร้างข้อมูลว่ามี  Attribute ใด
 ชนิดของข้อมูล รวมทั้งการเปลี่ยนแปลงตาราง และการสร้างดัชนี คำสั่ง : CREATE,DROP,ALTER
2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML) เป็นคำสั่งที่ใช้ในการเรียกใช้ เพิ่ม ลบ และเปลี่ยนแปลงข้อมูลในตาราง    คำสั่ง : SELECT,INSERT,UPDATE,DELETE
3. ภาษาควบคุมข้อมูล (Data Control Language : DCL) เป็นคำสั่งที่ใช้ในการกำหนดสิทธิการอนุญาติ หรือ ยกเลิก การเข้าถึงฐานข้อมูล เพื่อป้องกันความปลอดภัยของฐานข้อมูล คำสั่ง : GRANT,REVOKE


ชนิดข้อมูลใน MySQL (Datatype)



โครงสร้างฐานข้อมูล My Sql

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


ข้อมูลอ้างอิง
www.satit.su.ac.th
www.chandra.ac.th
www.softwaresiam.com
www.webUB.com

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

หลักการและวิธีการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ



หลักการและวิธีการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ



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

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


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

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


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


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


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


2.การเขียนโปรแกรมเพื่อแก้ปัญหา  เป็นการใช้ความรู้ความสามารถด้านภาษาคอมพิวเตอร์และประสบการณ์การใช้งานคอมพิวเตอร์และซอฟต์แวร์ในด้านต่างๆมาประยุกต์ใช้ในการแก้ปัญหา  ดังตัวอย่าง

ภาษาคอมพิวเตอร์
การใช้งาน
ภาษาฟอร์แทน(Fortran)
ใช้แก้ปัญหาด้านการคำนวณทางวิทยาศาสตร์  วิศวกรรมศาสตร์  และงานวิจัยต่าง ๆ
ภาษาโคบอล(COBOL)
ใช้แก้ปัญหาด้านงานธุรกิจ
ภาษาเบสิก(BASIC)
ใช้แก้ปัญหาต่าง ๆ ได้ทุกสาขาวิชา  เหมาะสำหรับผู้ที่ไม่ใช่นักเขียนโปรแกรมอาชีพ  และผู้ฝึกเขียนโปรแกรมใหม่ ๆ
ภาษาปาสคาล(Pascal)
ใช้ในการเรียนเขียนโปรแกรมคอมพิวเตอร์
ภาษาซีและซีพลัสพลัส(และ C++)
ใช้ในการเขียนโปรแกรมควบคุมการทำงานของอุปกรณ์คอมพิวเตอร์  และเขียนโปรแกรมเชิงวัตถุ
ภาษาวิชวลเบสิก(Visual Basic)
ใช้สร้างโปรแกรมประยุกต์ที่ใช้งานได้หลากหลายบนระบบปฎิบัติการวินโดวส์  และใช้เป็นโปรแกรมแบบรูปภาพ  เช่น  ปุ่มคำสั่งต่าง ๆ
ภาษาจาวา(Java)
ใช้เขียนโปรแกรมประยุกต์สำหรับเชื่อมต่อเข้าสู่อินเทอร์เน็ต  และซอฟต์แวร์ที่ใช้ในอินเทอร์เน็ต
ภาษาเดลไฟ(Delphi)
ใช้ในการเขียนโปรแกรมเชิงจินตภาพเพื่อสร้างส่วนติดต่อผู้ใช้ที่เป็นแบบรูปภาพ  เช่น  ปุ่มคำสั่งต่าง ๆ



สรุป




IP address คืออะไร?

    
IP addres


        ip address คือ เลขรหัสประจำคอมพิวเตอร์ที่ต่ออยู่บนเครือข่าย ซึ่งประกอบด้วยตัวเลข 4 ชุดและมีเครื่องหมายจุดขั้นระหว่างชุด ยกตัวอย่างเช่น 192.168.1.1 เป็นต้นหรือนิยมเรียกสั้นๆว่า IP ซึ่งตัวเลข IP แต่ละเครื่องจะไม่ซ้ำกัน ดังนั้น จึงได้มีการก่อตั้งองค์กรเพื่อ แจกจ่าย IP Address โดยเฉพาะ ชื่อองค์กรว่า InterNIC (International Network Information Center) อยู่ที่ประเทศสหรัฐอเมริกา การแจกจ่ายนั้นทาง InterNIC จะแจกจ่ายเฉพาะ Network Address ให้แต่ละเครือข่าย ส่วนลูกข่ายของเครือง ทางเครือข่ายนั้นก็จะเป็น ผู้แจกจ่ายอีกทอดหนึ่ง ดังนั้นพอสรุปได้ว่า IP Address จะประกอบด้วยตัวเลข 2 ส่วน คือ
  1. Network Address
  2. Computer Address    

    หน่วยงานนี้คือ องค์การกำหนดหมายเลขอินเทอร์เน็ต (IANA) เป็นผู้ดำเนินการจัดสรร IP Address ทั่วโลก และให้หน่วยงานทะเบียนอินเทอร์เน็ตประจำภูมิภาค (RIR) ทำหน้าที่จัดสรรกลุ่มเลขที่อยู่ IP Address สำหรับ ผู้ให้บริการอินเทอร์เน็ตและหน่วยงานอื่น ๆที่เกี่ยวข้องอีกทีหนึ่ง
โดยที่เลข IP Address ในปัจจุบันนี้มีอยู่ 2 แบบด้วยกันคือ IPv4 และ IPv6 ซึ่ง IP Address IPv4 นี้ถือกำเนิดมาก่อนเป็นแบบ ตัวเลข 32 บิต ซึ่งในปัจจุบันก็ยังมีใช้งานอยู่แต่เนื่องจากการใช้งานอินเตอร์เน็ตในปัจจุบันในเติบโตอย่างรวดเร็วทำให้ต้องมีการคิดค้นเลข IP Address ขึ้นมารองรับ นั้นก็คือ IPv6 ใช้ตัวเลข 128 บิต พัฒนาขึ้นใน ค.ศ. 1995 และได้ทำให้เป็นมาตรฐานใน อาร์เอฟซี 2460 เมื่อ ค.ศ. 1998
      ประโยชน์ของ IP Address ในระบบ Network
IP Address มีประโยชน์ในระบบ Network อย่างมาก ก็อย่างที่เกริ่นไปแล้วในตอนแรกแล้วว่า IP Address มีความสำคัญมากสำคัญระบบเครือข่าย เพราะว่าเลข IP Address เป็นเลขเฉพาะอุปกรณ์อิเล็กทรอนิกส์ ซึ่งแต่ละเครื่องจะมีเลข IP Address ที่ไม่เหมือนกัน เพื่อไม่ให้เกิดความความสับสนในการติดต่อสื่อสารภายในเครือข่าย และยังช่วยให้ผู้ดูแลระบบเครือข่ายสามารถออกแบบสร้างและควบคุมการทำงานของเครือข่ายได้อย่างง่ายได้และไม่สับสน
IP Address เป็นสิ่งที่ทุกคนควรที่จะรู้จักและทำความเข้าใจเกี่ยวกับ IP Address ให้มากยิ่งขึ้นหลักใหญ่ใจความในการตั้งเลข IP Address และเป็นหลักที่สำคัญไม่ว่าระบบ Network นั้นจะเล็กหรือใหญ่ก็ตาม ก็คือต้องไม่ตั้งเลข IP Address ให้ซ้ำกันอย่างเด็ดขา