วันอาทิตย์ที่ 14 ธันวาคม พ.ศ. 2557

คำสั่งsql

1.CREATE    INDEX   Index-name
  ON  table-name(attribute-name1,….)
  ex.  CREATE INDEX PRO_INDEX


   ON  PRODUCT(PRODUCT_NAME);
2.DROP   INDEX   Index-name

  ex.    DROP  INDEX  PRO_INDEX ;

3.ADD Attribute name
      ex.    ALTER TABLE  Employee
        ADD Tel  CHAR( 10) ;
 4.MODIFY Structure
      ex.    ALTER TABLE  Employee
       MODIFY  (  EName CHAR(35) );
5.DROP Attribute name
  ex.    ALTER TABLE  Employee
        DROP Tel  CHAR( 10) ; 
6.SELECT column_name /*  [column_name]
  FROM table_name 
  WHERE  expression  เงื่อนไขเปรียบเทียบ  expression
7.SELECT column_name /*  [ , column_name]
  FROM table_name 
  WHERE  เงื่อนไขปฏิเสธ  condition 
 8.SELECT column_name /*  [ , column_name]
  FROM table_name 
  WHERE  expression IS [ NOT ]  NULL  
9.INSERT INTO  <table_name> [( column 1 , column 2 , )]
  VALUES ( value 1 , value 2 , ) ;
10.UPDATE  <table_name>
  SET < column1> [ , column 2 , …] = <expression | sub query>
  [WHERE  < condition> ] ;

แบบทดสอบ O-NET ม.6



วันศุกร์ที่ 7 พฤศจิกายน พ.ศ. 2557

ฐานข้อมูล


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

สถาปัตยกรร

สถาปัตยกรรมฐานข้อมูล ประกอบด้วย 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 มาให้ด้วย เพื่ออนุญาตให้ฐานข้อมูลสามารถทำงานร่วมกับฐานข้อมูลแบบอื่นๆ ได้

การออกแบบฐานข้อมูล

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

ชนิดของฟิลด์


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

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

อุปกรณ์เครือข่าย

4.6 อุปกรณ์เครือข่าย


        คงมีหลายๆท่านที่คิดจะติดตั้งระบบเครือข่ายเพื่อใช้งานภายในบ้านหรือในสำนักงานของตัวเอง เพราะต้องการแชร์ ทรัพยากรที่มีอยู่เช่นเครื่องพิมพ์ ข้อมูล เครื่องสแกนและอื่นๆ ให้เครื่องคอมฯหลายๆเครื่องใช้ร่วมกัน อีกทั้งต้องการความสะดวกในการติดต่อสื่อสารภายในองค์กรทางอีเมล์ ซึ่งท่านก็ลองคิดดูว่าถ้าท่านทำงานอยู่ชั้นสี่แล้วเครื่องพิมพ์อยู่ชั้นสามถ้าไม่มีระบบเครือข่ายจะทำยังไงถ้าต้องพิมพ์งาน ก็คงต้อง Save งานใส่แผ่นแล้วก็เดินลงไปพิมพ์ที่ชั้นสาม เป็นยังงัยครับ แค่คิดก็เหนื่อยใช่มั้ยครับ แล้วถ้าอยากมีระบบเครือข่ายจะทำยังงัย ? มีสองทางเลือกครับ ทางเลือกแรก คือ จ้างเขาทำง่ายครับขอแต่มีเงินเป็นพอก็ทำได้ และอีกทางคือ ทำเองซึ่งก็ต้องลงแรง ศึกษาหาข้อมูลทำการบ้านกันเหนื่อยหน่อยละครับ แต่สิ่งที่ได้กลับมาก็คือความรู้ ได้พัฒนาความสามารถ และยังได้ความภูมิใจ แต่ก็อย่าลืมเงื่อนไขเรื่องเวลานะครับ เพราะถ้าต้องการใช้งานอย่างเร่งด่วน ก็ควรว่าจ้างผู้รับเหมาวางระบบ มาจัดการให้ดีกว่า แต่เรื่องการศึกษาหาความรู้ก็ไม่ควรทิ้ง เพราะระบบเมื่อติดตั้งเสร็จใช่ว่าจะจบเลย ยังต้องการ การดูแลรักษาเพื่อให้สามารถทำงานรับใช้ท่าน โดยไม่มีปัญหา และสมมุตินะครับสมมุติ ถ้าท่านจะทำเองแล้วจะทำยังไง? ไม่ต้องกังวลครับ ทุกปัญหามีคำตอบ เมื่อท่านคิดจะทำเอง ก็ต้องหาข้อมูลกันก่อน เรื่องแรกที่จะพูดถึงเรามาพูดถึงอุปกรณ์เครือข่ายกัน สำหรับอุปกรณ์เครือข่ายนั้นก็จะมีอยู่หลายๆ แบบไม่ว่าจะเป็น Lan Card, Hub, Switch, Firewalls & Filters, Internet Gateway Routers & LAN Modems, Network Management, Print Server หรืออุปกรณ์ Wireless การเลือกใช้อุปกรณ์ในระบบเครือข่ายพวกนี้ก็เป็นอีกปัญหาหนึ่งที่มีหลายคนบ่นกันมากว่าอยากติดตั้งระบบเครือข่ายไว้ใช้แต่ติดที่ตรงเลือกอุปกรณ์ในการใช้งานไม่ถูก ไม่ยากครับขั้นแรกท่านผู้อ่านจะต้องทราบถึงคุณสมบัติของอุปกรณ์แต่ชนิดก่อน 


การ์ดแลน

เป็นอุปกรณ์ที่ทำหน้าที่ในการรับส่งข้อมูลจากเครื่องคอมฯเครื่องหนึ่งไปสู่อีกเครื่องโดยผ่านสายแลน การ์ดแลนเป็นอุปกรณ์ที่สามารถต่อพ่วงกับพอร์ตแทบทุกชนิดของเครื่องคอมพิวเตอร์ ไม่ว่าจะเป็น ISA, PCI, USB, Parallel, PCMCIA และ Compact Flash ซึ่งที่เห็นใช้กันมากที่สุดก็จะเป็นแบบ PCI เพราะถ้าเทียบราคากับประสิทธิภาพแล้วถือว่าค่อนข้างถูก มีหลายราคา ตั้งแต่ไม่กี่ร้อยบาทจนถึงหลักพัน ส่วนแบบ USB, Parallel, PCMCIA ส่วนใหญ่จะเห็นใช้กันมากกับเครื่องโน๊ตบุ๊ค เพราะก็อย่างที่ทราบกันอยู่ว่าการติดอุปกรณ์ลงในพอร์ตภายใน ของเครื่องโน๊ตบุ๊คเป็นเรื่องยาก ดังนั้นการต่ออุปกรณ์ต่อพ่วงจึงต้องอาศัยพอร์ตภายนอกดังที่กล่าวมา

ฮับ 


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

สวิตซ์


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

โมเด็ม


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

เราเตอร์


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

สายแลน


เมื่อมีวงแลนก็ต้องมีสายแลน สายแลนมีหลายแบบไม่ว่าจะเป็นสายโคแอคเชียน ยูทีพี เอสทีพี และ ไฟเบอร์ออปติก หรือแม้กระทั่งแบบที่ไม่ใช้สาย (Wireless LAN ) และแบบที่เห็นได้บ่อยที่สุดในปัจจุบันที่นิยมใช้กัน ก็ได้แก่สายแบบ ยูทีพี ที่ใช้กับหัวต่อแบบ RJ 45 ซึ่งจะคล้ายๆกับหัวต่อของสายโทรศัพท์ ( ของโทรศัพท์เป็นแบบ RJ11 ) ซึ่งสายประเภทนี้จะไม่มีการ ชีลด์ ป้องกันสัญญาณรบกวน แต่จะใช้วิธีตีเกลียวสายเป็นคู่ๆ 4 คู่ ป้องกันสัญญาณรบกวน อีกแบบก็คือการใช้วิธีส่งสัญญาณด้วยคลื่นวิทยุย่านความถี่สูงบางแบบก็ใช้อินฟราเรด จุดเด่นที่เห็นได้ชัดคือเมื่อไม่ต้องเดินสายทำให้สามารถติดตั้งได้ง่าย ย้ายก็สะดวก แต่ข้อด้อยก็คือปัญหาจากการถูกรบกวน และสัญญาณถูกบัง แถมความเร็วในการส่งข้อมูลยังด้อยกว่าระบบแลนแบบใช้สายอยู่ ราคาก็สูงกว่า และที่กำลังมาแรงในขณะนี้คือเทคโนโลยีแบบ Ethernet over VDSL น่าสนใจกันขึ้นมาบ้างแล้วไหมครับ ถ้าสนใจเราก็ไปลุยกันต่อเลยครับ ในการเชื่อมต่อระบบเครือข่ายที่ใช้ๆกันก็มีอยู่ 2 แบบ คือ แบบระยะใกล้ และแบบระยะไกล เอาเป็นว่าเรามาเริ่มต้นการเลือกใช้อุปกรณ์ระบบเครือข่ายแบบระยะใกล้

โพรโทคอล

4.5 โพรโทคอล


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

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

    จึงได้เกิดหน่วยงานกำหนดมาตรฐานสากลขึ้นคือ International Standards Organization และทำการกำหนดโครงสร้างทั้งหมดที่จำเป็นต้องใช้ในการสื่อสารข้อมูลและเป็นระบบเปิด เพื่อให้ผู้ผลิตต่างๆ สามารถแยกผลิตในส่วนที่ตัวเองถนัด แต่สามารถนำไปใช้ร่วมกันได้ ระบบเครือข่ายคอมพิวเตอร์สมัยใหม่จะถูกออกแบบให้มีโครงสร้างทีแน่นอน และเพื่อเป็นการลดความซับซ้อน ระบบเครือข่ายส่วนมากจึงแยกการทำงานออกเป็นชั้นๆ ( layer) โดยกำหนดหน้าที่ในแต่ละชั้นไว้อย่างชัดเจน แบบจำลองสำหรับอ้างอิงแบบ OSI (Open System Interconnection Reference Model) หรือที่นิยมเรียกกันทั่วไปว่า OSI Reference Model ของ ISO เป็นแบบจำลองที่ถูกเสนอและพัฒนาโดยองค์กร International Standard Organization (ISO) โดยจะบรรยายถึงโครงสร้างของสถาปัตยกรรมเครือข่ายในอุดมคติ ซึ่งระบบเครือข่ายที่เป็นไปตามสถาปัตยกรรมนี้จะเป็นระบบเครือข่ายแบบเปิด และอุปกรณ์ทางเครือข่ายจะสามารถติดต่อกันได้โดยไม่ขึ้นกับว่าเป็นอุปกรณ์ของผู้ขายรายใด

     OSI 7-Layer Reference Model (OSI Model) โดยโครงสร้างการสื่อสารข้อมูลที่กำหนดขึ้นมีคุณสมบัติดังนี้ คือ ในแต่ละชั้นของแบบการสื่อสารข้อมูลเราจะเรียกว่า Layer หรือ "ชั้น" ของแบบการสื่อสารข้อมูล ประกอบด้วยชั้นย่อยๆ 7 ชั้น ในแต่ละชั้นหรือแต่ละ Layer จะเสมือนเชื่อมต่อเพื่อส่งข้อมูลอยู่กับชั้นเดียวกันในคอมพิวเตอร์อีกด้านหนึ่ง แต่ในการเชื่อมกันจริงๆ นั้นจะเป็นเพียงการเชื่อมในระดับ Layer1 ซึ่งเป็นชั้นล่างสุดเท่านั้น ที่มีการรับส่งข้อมูลผ่านสายส่งข้อมูลระหว่างคอมพิวเตอร์ทั้งสองโดยที่ Layer อื่นๆ ไม่ได้เชื่อมต่อกันจริงๆ เพียงแต่ทำงานเสมือนกับว่ามีการติดต่อรับส่งข้อมูลกับชั้นเดียวกันของคอมพิวเตอร์อีกด้านหนึ่ง.

เครือข่ายคอมพิวเตอร์

4.4 เครือข่ายคอมพิวเตอร์

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