วันพฤหัสบดีที่ 17 ธันวาคม พ.ศ. 2558

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

  • VARCHAR : สำหรับเก็บข้อมูลประเภทตัวอักษร ทุกครั้งที่เลือกชนิดของฟิลด์เป็นประเภทนี้                  จะต้องมี การกำหนดความยาวของข้อมูลลงไปด้วย ซึ่งสามารถกำหนดค่าได้ตั้งแต่ 1 - 255 ฟิลด์ชนิดนี้ เหมาะสำหรับการเก็บข้อมูลสั้นๆ เช่น ชื่อ นามสกุล หรือหัวข้อต่างๆ เป็นต้น...              ในส่วนฟิลด์ประเภทนี้ จะ สามารถเลือก "แอตทริบิวต์" เป็น BINARY ได้ โดยปกติแล้วการจัดเรียงข้อมูลเวลาสืบค้น (query) สำหรับ VARCHAR จะเป็นแบบ case-sensitive (ตัวอักษรใหญ่ และเล็กมีความหมายแตกต่างกัน) แต่ หากระบุ "แอตทริบิวต์" เป็น BINARY ปุ๊บ การสืบค้นจะไม่คำนึงตัวอักษรว่าจะเป็นตัวใหญ่ หรือตัวเล็ก

  • CHAR : สำหรับเก็บข้อมูลประเภทตัวอักษร แบบที่ถูกจำกัดความกว้างเอาไว้คือ 255 ตัวอักษร ไม่ สามารถปรับเปลี่ยนได้เหมือนกับ VARCHAR หากทำการสืบค้นโดยเรียงตามลำดับ ก็จะเรียงข้อมูลแบบ case-sensitive เว้นแต่จะกำหนดแอตทริบิวต์เป็น BINARY ที่จะทำให้การเรียงข้อมูลเป็นแบบ non case-sensitive เช่นเดียวกับ VARCHAR
  • TINY TEXT : ในกรณีที่ข้อความยาวๆ หรือต้องการที่จะค้นหาข้อความ โดยอาศัยฟีเจอร์ FULL TEXT SEARCH ของ MySQL เราอาจจะเลือกที่จะไม่เก็บข้อมูลลงในฟิลด์ประเภท VARCHAR ที่มีข้อจำกัดแค่ 256 ตัวอักษร แต่เราจะเก็บลงฟิลด์ประเภท TEXT แทน โดย TINY TEXT นี้ จะสามารถเก็บข้อมูล ได้ 256 ตัวอักษร ซึ่งมองเผินๆ ก็ไม่ต่างกับเก็บลงฟิลด์ประเภท CHAR หรือ VARCHAR(255) เลย แต่จริงๆ มันต่างกันตรงที่ มันทำFULL TEXT SEARCH ได้
  • TEXT : สำหรับเก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINY TEXT แต่สามารถเก็บได้มากขึ้น โดย สูงสุดคือ 65,535 ตัวอักษร หรือ 64 KB เหมาะสำหรับเก็บข้อมูลพวกเนื้อหาต่างๆ ที่ยาวๆ 
  • MEDIUM TEXT : เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINY TEXT แต่เก็บข้อมูลได้ 16,777,215 ตัวอักษร
  • LONG TEXT : เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINY TEXT แต่เก็บข้อมูลได้ 4,294,967,295 ตัวอักษร
  • TINY INT : สำหรับเก็บข้อมูลชนิดตัวเลขที่มีขนาด 8 บิต ข้อมูลประเภทนี้เราสามารถกำหนดเพิ่มเติม ในส่วนของ "แอตทริบิวต์" ได้ว่าจะเลือกเป็น UNSIGNED หรือ UNSIGNED ZERO FILL โดยจะมี ความแตกต่างดังนี้ 
  • UNSIGNED : จะหมายถึงเก็บค่าตัวเลขแบบไม่มีเครื่องหมาย แบบนี้จะทำใหสามารถเก็บค่าได้ ตั้งแต่ 0 - 255
  •  UNSIGNED ZEROFILL : เหมือนข้างต้น แต่ว่าหากข้อมูลที่กรอกเข้ามาไม่ครบตามจำนวน หลักที่เรากำหนด ตัว MySQL จะทำการเติม 0 ให้ครบหลักเอง เช่น ถ้ากำหนดให้ใส่ได้ 3 หลัก แล้วทำการเก็บข้อมูล 25 เข้าไป เวลาที่สืบค้นดู เราจะได้ค่าออกมาเป็น 025 หากไม่เลือก "แอ ตทริบิวต์" สิ่งที่เราจะได้ก็คือ SIGNED นั่นก็คือต้องเสียบิตนึงไปเก็บเครื่องหมาย บวก/ลบ ทำ ให้สามารถเก็บข้อมูลได้อยู่ในช่วง -128 ถึง 127 เท่านั้น
  • SMALL INT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 16 บิต จึงสามารถเก็บค่าได้ตั้งแต่ -32768 ถึง 32767 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 65535 (ในกรณี UNSIGNED หรือไม่คิดเครื่องหมาย)ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZERO FILL ได้เช่นเดียวกับ TINY INT
  • MEDIUM INT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 24 บิต นั่นก็หมายความว่าสามารถเก็บ ข้อมูลตัวเลขได้ตั้งแต่ -8388608 ไปจนถึง 8388607 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 16777215(ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZERO FILL ได้เช่นเดียวกับ TINY INT
  • INT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 32 บิต หรือสามารถเก็บข้อมูลได้ตั้งแต่ -2147483648 ไปจนถึง 2147483647 ครับ (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 4294967295 (ในกรณีที่เป็นUNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZERO FILL ได้เช่นเดียวกับ TINY INT 
  • BITING : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 64 บิต สามารถเก็บข้อมูลได้ตั้งแต่ - 9223372036854775808 ไปจนถึง 9223372036854775807 เลยทีเดียว (แบบคิดเครื่องหมาย) หรือ 0 ถึง 18446744073709551615 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZERO FILL ได้เช่นเดียวกับ TINY INT 
  • 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
  • DATE TIME : สำหรับเก็บข้อมูลประเภทวันที่ และเวลา โดยจะเก็บได้ตั้งแต่ 1 มกราคม ค.ศ. 1000 เวลา 00:00:00 ไปจนถึง 31 ธันวาคม ค.ศ. 9999 เวลา 23:59:59 โดยรูปแบบการแสดงผล เวลาที่ทำการสืบค้น(query) ออกมา จะเป็น YYYY-MM-DD HH:MM:SS 
  • TIME STAMP[(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 ล้านระเบียน ผมว่ามันต้องมีอย่างน้อยเป็นกิกะไบต์ ดังนั้นความแตกต่างที่ไม่กี่เมกะไบต์จึงไม่มากมาย)
  • TINY BLOB : สำหรับเก็บข้อมูลประเภทไบนารี ได้แก่ ไฟล์ข้อมูลต่างๆ, ไฟล์รูปภาพ, ไฟล์มัลติมีเดีย เป็นต้น คือไฟล์อะไรก็ตามที่อัพโหลดผ่านฟอร์มอัพโหลดไฟล์ในภาษา HTML โดย TINY BLOB นั้นจะมีเนื้อที่ให้เก็บข้อมูลได้ 256 ไบต์
  • BLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINY BLOB แต่สามารถเก็บข้อมูลได้     64 KB
  • MEDIUM BLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINY BLOB แต่เก็บข้อมูลได้ 16 MB
  • LONG BLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINY BLOB แต่เก็บข้อมูลได้         4 GB ข้อสังเกต ข้อมูลประเภท BLOB นั้น แม้จะมีประโยชน์ในเรื่องของการเก็บข้อมูลประเภท BINARY ให้อยู่กับตัวฐานข้อมูล ทำให้สะดวกเวลาสืบค้นก็ตาม แต่มันก็ทำให้ฐานข้อมูลมีขนาดใหญ่ เกินความจำเป็นด้วย ทำให้เกิดความไม่สะดวกในการสำรองฐานข้อมูลในกรณีที่ มีข้อมูลอัพโหลดไป เก็บมากๆ โดยปกติแล้ว จะใช้วิธีการอัพโหลดไปเก็บไว้ในโฟลเดอร์ แล้วเก็บลิงก์ไปยังไฟล์เหล่านั้น เป็นฟิลด์ชนิด VARCHAR มากกว่า

  • SET : สำหรับเก็บข้อมูลที่เป็นกลุ่มของข้อมูลที่ยอมให้เลือกได้ 1 ค่าหรือหลายๆ ค่า ซึ่งสามารถกำหนด ได้ถึง 64 ค่า







วันพฤหัสบดีที่ 3 ธันวาคม พ.ศ. 2558

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

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

ความสำคัญของกระบวนการทางเทคโนโลยี.1. เป็นพื้นฐานปัจจัยจำเป็นในการดำเนินชีวิตของมนุษย์.2. เป็นปัจจัยหลักที่จะมีส่วนร่วมในการพัฒนา.3. เป็นเรื่องราวของมนุษย์ และธรรมชาติ. 

กระบวนการเทคโลยีสารสนเทศมี6ขั้นตอน
1.การรวบรวมข้อมูล
        วิธีการดำเนินการ เพื่อเก็บรวบรวมข้อมูล และบันทึกข้อมูลให้อยู่ในรูปแบบใดรูปแบบหนึ่งเพื่อการประมวลผผ

2.การตรวจสอบข้อมูล                                                                                                                                                           ขั้นตอนการตรวจสอบข้อมูลในลักษณะต่างๆ เช่น การตรวจสอบ เพื่อหาข้อผิดพลาด ความสมเหตุสมผล  เพื่อให้มีความมั่นใจได้ว่าข้อมูลที่ได้รับการรวบรวมและบันทึกไว้อย่างถูกต้อง

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

4.การจัดเก็บข้อมูล
          การเก็บรักษาข้อมูลเพื่อการบริหาร โดยเก็บไว้ในรูปแบบต่างๆ

 5.การประมวลผลข้อมูล
          ขั้นตอนการดำเนินการ เพื่อสรุปความสำคัญของข้อมูลสารสนเทศให้ตรงสภาพที่เป็นจริงตรงตามวัตถุประสงค์ก่อนที่จะนำข้อมูลมาใช้

 6.การนำข้อมูลไปใช้ 
           การนำข้อมูลไปใช้ในลักษณะต่างๆ

        

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

การเเก้ปัญหามี 4 ขั้นตอน
โดยปกติมนุษย์มีกระบวนในการแก้ปัญหา ซึ่งประกอบด้วย 4 ขั้นตอนคือ 
1)  การวิเคราะห์และกำหนดรายละเอียดของปัญหา  (State The Problem)
 ขั้นตอนนี้เป็นขั้นตอนแรกสุดก่อนที่จะลงมือแก้ปัญหา
แต่ผู้แก้ปัญหามักจะมองข้ามไปจุดประสงค์ของขั้นตอนนี้ คือการทำความเข้าใจกับปัญหาเพื่อแยกให้ออกว่าข้อมูลที่กำหนดมาในปัญหาหรือเงื่อนไขของปัญหาคืออะไร อีกทั้งวิธีการที่ใช้ประมวลผลกล่าวโดยสรุปมีองค์ประกอบในการวิเคราะห์ดังนี้
         การระบุข้อมูลเข้า
ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กำหนดมาในปัญหา 
         การระบุข้อมูลออก 
ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ
         การกำหนดวิธีประมวลผล
ได้แก่ การพิจารณาขั้นตอนวิธีการได้มาซึ่งคำตอบหรือข้อมูลออก  

2) การเลือกเครื่องมือและออกแบบขั้นตอนวิธี (Tools And Algorithm Development) 
                    ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน
                หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่และสิ่งที่ต้องการหาในการแก้ปัญหาอย่างละเอียดถี่ถ้วนหลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่และสิ่งที่ต้องการหาในขั้นตอนที่ 1แล้วเราสามารถคาดคะเนวิธีการที่จะใช้ในการแก้ปัญหาขั้นตอนนี้จำเป็นต้องอาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลักหากผู้แก้ปัญหาเคยพบกับปัญหาทำนองนี้มาแล้วก็สามารถดำเนินการตามแนวทางที่เคยปฏิบัติมา
                   ขั้นตอนนี้จะเริ่มจากการเลือกเครื่องมือที่ใช้ในการแก้ปัญหา
โดยพิจารณาความเหมาะสมระหว่างเครื่องมือกับเงื่อนไขต่างๆ ของปัญหาซึ่งหมายรวมถึงความสามารถของเครื่องมือในการแก้ปัญหาดังกล่าวและสิ่งที่สำคัญที่สุดคือความคุ้นเคยในการใช้งานเครื่องมือนั้นๆ ของผู้แก้ปัญหาอีกสิ่งหนึ่งที่ สำคัญในการแก้ปัญหา คือยุทธวิธีที่ใช้ในการแก้ปัญหา หรือที่เราเรียกว่า “ขั้นตอนวิธี” (Algorithm) ในการแก้ปัญหาหลังจากที่เราได้เครื่องมือช่วยแก้ปัญหาแล้ว
ผู้แก้ปัญหาต้องวางแผนว่าจะใช้เครื่องมือดังกล่าวเพื่อให้ได้ผลลัพธ์ที่ถูกต้องที่สุด การออกแบบขั้นตอนวิธีในการแก้ปัญหา
ผู้แก้ปัญหาควรใช้แผนภาพหรือเครื่องมือในการแสดงขั้นตอนการทำงานเพื่อให้ง่ายต่อความเข้าใจ เช่น ผังงาน (Flowchart) ที่จำลองวิธีขั้นตอนการแก้ปัญหาในรูปแบบสัญลักษณ์ 
               รหัสจำลอง (Pseudo Code) ซึ่งเป็นการจำลองขั้นตอนวิธีการปัญหาในรูปแบบคำบรรยายการใช้เครื่องมือช่วยออกแบบดังกล่าวนอกจากแสดงกระบวนการที่ชัดเจนแล้วยังช่วยให้ผู้แก้ปัญหาสามารถหาข้อผิดพลาด
ของวิธีการที่ใช้ได้ง่ายและแก้ไขได้อย่างรวดเร็วเช่น begin...end  if...else
3) การดำเนินการแก้ปัญหา (Implementation) หลังจากที่ออกแบบขั้นตอนวิธีเรียบร้อยแล้ว
                   ขั้นตอนนี้เป็นขั้นตอนที่ต้องลงมือแก้ปัญหาโดยใช้เครื่องมือที่เลือกไว้
                 การแก้ปัญหาดังกล่าวใช้คอมพิวเตอร์เข้ามาช่วยงาน ขั้นตอนนี้ก็เป็นการใช้โปรแกรมสำเร็จหรือใช้ภาษาคอมพิวเตอร์เขียนโปรแกรมแก้ ปัญหาขั้นตอนนี้ต้องอาศัยความรู้เกี่ยวกับเครื่องมือที่เลือกใช้ซึ่งผู้แก้ปัญหาต้องศึกษาให้เข้าใจและเชี่ยวชาญ ในขณะดำเนินการหากพบแนวทางที่ดีกว่าที่ออกแบบไว้ ก็สามารถปรับเปลี่ยนได้
4) การตรวจสอบและปรับปรุง (Refinement) 
              หลังจากที่ลงมือแก้ปัญหาแล้วต้องตรวจสอบให้แน่ใจว่า
                 วิธีการนี้ให้ผลลัพธ์ที่ถูกต้องโดยผู้แก้ปัญหาต้องตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้นสอดคล้องกับรายละเอียด
ของปัญหา ซึ่งได้แก่ ข้อมูลเข้าและข้อมูลออกเพื่อให้มั่นใจว่าสามารถรองรับข้อมูลเข้าได้ทุกกรณีอย่างถูกต้องสมบูรณ์ ในขณะเดียวกันก็ต้องปรับปรุงวิธีการเพื่อให้การแก้ปัญหานี้ได้ผลลัพธ์ที่ดีที่สุด
                          ขั้นตอนทั้ง 4 ขั้นตอนดังกล่าวข้างต้น เป็นเสมือนขั้นบันได (Stair) ที่ทำให้มนุษย์ประสบความสำเร็จในการแก้ปัญหาต่างๆ

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

             กระบวนการเทคโนโลยีสารสนเทศ

  เพื่อให้ได้มาซึ่งสารสนเทศที่ดี  มีขั้นตอน ดังนี้

1.การรวบรวมข้อมูล  เป็นการนำข้อมูลที่ต้องการจากหลาย ๆ แหล่งข้อมูลมารวมกันด้วยวิธีการต่าง ๆ เช่น  การให้กลุ่มเป้าหมายช่วยตอบแบบสอบถามที่ตนเองคิดขึ้นมา  การอ่านรหัสแท่งจากแถบรหัสสินค้า  หรืออ่านข้อมูลจากการฝนดินสอลงในกระดาษคำตอบในการทำข้อสอบ  เป็นต้น

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

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

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

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

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

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

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







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

IP Address

IP Address คืออะไร  
       IP Address ย่อมาจากคำเต็มว่า Internet Protocal Address คือหมายเลขประจำเครื่องคอมพิวเตอร์แต่ละเครื่องในระบบเครือข่ายที่ใช้โปรโตคอลแบบ TCP/IP 
ถ้าเปรียบเทียบก็คือบ้านเลขที่ของเรานั่นเอง ในระบบเครือข่าย จำเป็นจะต้องมีหมายเลข IP กำหนดไว้ให้กับคอมพิวเตอร์ และอุปกรณ์อื่นๆ ที่ต้องการ IP ทั้งนี้เวลามีการโอนย้ายข้อมูล หรือสั่งงานใดๆ จะสามารถทราบตำแหน่งของเครื่องที่เราต้องการส่งข้อมูลไป จะได้ไม่ผิดพลาดเวลาส่งข้อมูล ซึ่งประกอบด้วยตัวเลข 4 ชุด มีเครื่องหมายจุดขั้นระหว่างชุด  เช่น 192.168.100.1 หรือ 172.16.10.1  เป็นต้น  โดยหมายเลข IP Address ของเครื่องคอมพิวเตอร์แต่ละเครื่องจะมีค่าไม่ซ้ำกัน สิ่งตัวเลข 4 ชุดนี้บอก คือ Network ID กับ Host ID ซึ่งจะบอกให้รู้ว่า เครื่อง computer ของเราอยู่ใน network ไหน และเป็นเครื่องไหนใน network นั้น เราจะรู้ได้อย่างไรว่า Network ID และ Host ID มีค่าเท่าไหร่ ก็ขึ้นอยู่กับว่า IP Address นั้น อยู่ใน class อะไร 
       เหตุที่ต้องมีการแบ่ง class ก็เพื่อให้เกิดความเป็นระเบียบ เป็นการแบ่ง IP Address ออกเป็นหมวดหมู่นั้นเอง สิ่งที่จะเป็นตัวจำแนก class ของ network ก็คือ bit ทางซ้ายมือสุดของตัวเลขตัวแรกของ IP Address (ที่แปลงเป็นเลขฐาน 2 แล้ว) นั่นเอง โดยที่ถ้า bit ทางซ้ายมือสุดเป็น 0 ก็จะเป็น class A ถ้าเป็น 10 ก็จะเป็น class B ถ้าเป็น 110 ก็จะเป็น class C ดังนั้น IP Address จะอยู่ใน class A ถ้าตัวเลขตัวแรกมีค่าได้ตั้งแต่ 0 ? 127 (000000002 ? 011111112) จะอยู่ใน class B ถ้าเลขตัวแรกมีค่าตั้งแต่ 128 ? 191 (100000002 ? 101111112) และ จะอยู่ใน class C ถ้าเลขตัวแรกมีค่าตั้งแต่ 192 - 223 (110000002 ? 110111112) มีข้อยกเว้นอยู่นิดหน่อยก็คือตัวเลข 0, 127 จะใช้ในความหมายพิเศษ จะไม่ใช้เป็น address ของ network ดังนั้น network ใน class A จะมีค่าตัวเลขตัวแรก ในช่วง 1 ? 126 
       สำหรับตัวเลขตั้งแต่ 224 ขึ้นไป จะเป็น class พิเศษ  อย่างเช่น  Class D ซึ่งถูกใช้สำหรับการส่งข้อมูลแบบ Multicast ของบาง Application และ Class E ซึ่ง Class นี้เป็น Address ที่ถูกสงวนไว้ก่อน ยังไม่ถูกใช้งานจริง ๆ  โดย Class D และ Class E นี้เป็น Class พิเศษ ซึ่งไม่ได้ถูกนำมาใช้งานในภาวะปกติ

    ตัวอย่าง IP Address
    Class A ตั้งแต่ 10.xxx.xxx.xxx
    Class B ตั้งแต่ 172.16.xxx.xxx ถึง 172.31.xxx.xxx
    Class C ตั้งแต่ 192.168.0.xxx ถึง 192.168.255.xxx 

       จาก IP Address เราสามารถที่จะบอก ได้คร่าวๆ ว่า computer 2 เครื่องอยู่ใน network วงเดียวกันหรือเปล่าโดยการเปรียบเทียบ Network ID ของ IP Address ถ้ามี Network ID ตรงกันก็แสดงว่าอยู่ใน network วงเดียวกัน เช่น computer เครื่องหนึ่งมี IP Address 1.2.3.4 จะอยู่ใน network วงเดียวกับอีกเครื่องหนึ่งซึ่งมี IP Address 1.100.150.200 เนื่องจากมี Network ID ตรงกันคือ 1 (class A ใช้ Network ID 1 byte) 

    วิธีตรวจสอบ IP Address
    1.คลิกปุ่ม Start เลือก Run
    2.พิมพ์คำว่า cmd กดปุ่ม OK
    3.จะได้หน้าต่างสีดำ
    4.พิมพ์คำว่า ipconfig กด enter
    5.จะเห็นกลุ่มหมายเลข IP Address