วันศุกร์ที่ 23 กันยายน พ.ศ. 2554

ระบบสารสนเทศทางภูมิศาสตร์ (Graphic Information System หรือ GIS)
ระบบ ภูมิสารสนเทศ หรือ GIS คือการนำเสนอข้อมูลของสถานที่ใดๆ ในลักษณะของแผนที่เพื่อให้ง่ายต่อความเข้าใจของผู้ใช้ ซึ่งตัวข้อมูลที่นำเสนอมีลักษณะเป็นการประกอบกันของชั้นข้อมูลหลายๆ ระดับ ชั้นข้อมูลที่นำมาประกอบกันขึ้นอยู่กับจุดประสงค์ของผู้ใช้เป็นหลักเช่น การค้นหารายละเอียดของสถานที่ต่างๆ การวิเคราะห์ความเสียหายของสภาวะแวดล้อม เป็นต้น Image ใน ทางภูมิศาสตร์จะแบ่งประเภทข้อมูลเป็นข้อมูลเชิงพื้นที่ (Spatial data) คือข้อมูลที่ใช้อ้างอิงลักษณะโครงสร้างทางภูมิศาสตร์ และข้อมูลคุณลักษณะต่างๆของพื้นที่ (Non-Spatial data) เช่น ข้อมูลปริมาณสารพิษในน้ำ สภาวะแวดล้อมในปัจจุบัน เป็นต้น


ระบบสารสนเทศเพื่อการจัดการ (Management Information System หรือ MIS)

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

ระบบฐานข้อมูลเชิงพื้นที่ (Spatial Database System)
ระบบจะมุ่งเน้นข้อมูลที่เกี่ยวกับพื้นที่ ซึ่งข้อมูลเหล่านี้สามารถแบ่งลักษณะของข้อมูลเชิงพื้นที่เป็น 3 ลักษณะ ดังนี้
1) จุด (Point) เป็นลักษณะที่ใช้แสดงตำแหน่งของพื้นที่นั้นๆ เช่น ที่ตั้งจังหวัด หมู่บ้าน เป็นต้น
2) เส้น (Line) เป็นลักษณะที่ใช้แสดงลักษณะเชื่อมต่อของพื้นที่โดยทั่วไปจะแสดงเป็นกลุ่มของ เส้น (Polyline) เช่น ทางน้ำ ทางถนน เป็นต้น

3) รูปหลายเหลี่ยม (Polygon) เป็นลักษณะที่ใช้แสดงพื้นที่หรือขอบเขต เช่น พื้นที่จังหวัด พื้นที่ทะเลสาบ เป็นต้น
โครงสร้างข้อมูล (Data Model) เชิงพี้นที่ที่จัดเก็บอยู่ในฐานข้อมูลแบ่งได้เป็น 2 ประเภท
1) Raster จะมีลักษณะเป็นตารางสี่เหลี่ยมหรือที่เรียกว่า Grid Cell เรียงต่อกันเป็นแนวแกน X แกน Y ลักษณะการจัดเก็บข้อมูลเชิงพื้นที่ด้วยโครงสร้างแบบ Raster นี้ จะแทนค่าของข้อมูลจากพื้นที่จริงลงในจุดภาพเลย ซึ่งในแต่ละ Grid Cell จะเก็บค่าได้เพียง 1 ค่าเท่านั้น
2) Vector ข้อมูลแบบ Vector นี้จะแสดงเป็น จุด เส้น รูปหลายเหลี่ยมหรือพื้นที่ ข้อมูลที่ จัดเก็บจะอยู่ในรูปพิกัดตำแหน่ง (X Y) ถ้าตำแหน่งเดียวจะหมายถึงจุด (POINT), 2 ตำแหน่งหรือมากกว่านั้นหมายถึงเส้น (LINE), 3 ตำแหน่งขึ้นไปหมายถึงพื้นที่ (POLYGON)

วันอาทิตย์ที่ 4 กันยายน พ.ศ. 2554


โหมดการทำงานของ SQL
 Interactive mode
   สามารถรันคำสั่ง SQL ได้โดยตรง
   เช่นการคิวรีผ่านโปรแกรม MS Access หรือ SQL plus ของ Oracle
   จะได้ผลลัพธ์ทันที
Embedded mode
   ใช้คำสั่ง SQL ร่วมกับโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น
   คำสั่ง SQL จะทำงานเมื่อโปรแกรมทำงาน
   ข้อดีคือสามารถนำข้อมูลมาประมวลผลต่อได้
เช่น การทำรายงานที่ต้องแสดงเป็นกราฟ, การนำข้อมูลไปแสดงบนเ

ภาษา SQL (Standard Query Language)
ภาษา Standard relational database Query Language (SQL)
ภาษาที่กลายเป็นภาษามาตรฐานสำหรับระบบฐานข้อมูลคือ ภาษา Standard relational database
Query Language หรือเอสคิวแอล (SQL) หรือซีควอล (SE-QUEL) เป็นภาษาที่พัฒนาขึ้นมาโดยบริษัท
ไอบีเอ็ม ภาษา SQL (Standard Query Language) เป็นส่วนหนึ่งของระบบฐานข้อมูลแบบรีเลชั่นเนล
(Relational Database) ที่ได้รับความนิยมมากเพราะง่ายต่อความเข้าใจ และอยู่ในรูปภาษาอังกฤษ ภาษา
SQL แบ่งออกเป็น 2 ส่วน คือ
ภาษาที่ใช้สำ หรับนิยามข้อมูล (Data Definition Language-DDL)
Data Definition Language (DDL) เป็นภาษาที่ใช้นิยามโครงสร้างข้อมูล เพื่อเปลี่ยนแปลง หรือ
ยกเลิกโครงสร้างฐานข้อมูลตามที่ออกแบบไว้ โครงสร้างดังกล่าวคือ สคีมา (Schema) นั้นเอง ตัวอย่างเช่น
การกำ หนดให้ฐานข้อมูลประกอบด้วยตารางอะไรบ้าง ชื่ออะไร ประเภทใด มีอินเด็กซ์ (Index)
เอกสารประกอบการบรรยายวิชา 204204 การออกแบบและพัฒนาฐานข้อมูล 8 - 2
ภาษา DDLประกอบด้วย 3 คำ สั่งคือ
- คำ สั่งการสร้าง (Create) ได้แก่ การสร้างตารางและอินเด็กซ์
- คำ สั่งเปลี่ยนแปลงโครงสร้าง
- คำ สั่งยกเลิก (Drop) ต่างๆ
ภาษาสำ หรับการจัดการข้อมูล (Data Manipulation Language: DML)
หลังจากที่เราสร้างโครงสร้างฐานข้อมูลขึ้นแล้ว คำ สั่งต่อไปในการป้อนข้อมูลลงในฐานข้อมูล
และเปลี่ยนแปลงข้อมูล ในฐานข้อมูล โดยการใช้ภาษาสำ หรับการจัดการข้อมูล (Data Manipulation
Language-DML) ใช้จัดการข้อมูลภายในตารางภายในฐานข้อมูล และภาษาแก้ไขเปลี่ยนแปลงตาราง
แบ่งออกเป็น 4 Statement คือ
• Select Statement : การเรียกหา (Retrieve) ข้อมูลจาก ฐานข้อมูล
• Insert Statement : การเพิ่มเติมข้อมูลลงใน ตาราง (Table) จาก ฐานข้อมูล
• Delete Statement: การลบข้อมูลลงออกจาก ตาราง (Table) จาก ฐานข้อมูล
• Update Statement: การเปลี่ยนแปลงข้อมูลลงใน ตาราง (Table) จาก ฐานข้อมูล
ภาษาควบคุม (Control Language)
ใช้เป็นภาษาที่ใช้ควบคุมระบบรักษาความปลอดภัย ของฐานข้อมูล ประกอบด้วยคำ สั่ง 2 คำ สั่งคือ
คำ สั่ง GRANT เป็นคำ สั่งที่ใช้กำ หนดสิทธิให้กับผู้ใช้แต่ละคนให้มีสิทธกระทำ การใดกับข้อมูลเช่น
การเพิ่มข้อมูล การแก้ไข หรือ การลบข้อมูลในตารางใดบ้าง
คำ สั่ง REVOKE เป็นคำ สั่งให้มีการยกเลิกสิทธนั้นหลังจากที่ได้ GRANT แล้ว
               • ภาษาในการเลือกข้อมูล (Data Query Language)
รูปแบบการใช้คำ สั่ง SQL สามารถใช้ได้เป็น 2 รูปแบบ ดังนี้ คือ
              • คำ สั่ง SQL ที่ใช้เรียกดูข้อมูลได้ทันที (Interactive SQL)
เป็นการเรียกใช้คำ สั่ง SQL สั่งงานบนจอภาพ เพื่อเรียกดูข้อมูลในขณะที่ทำ งานได้ทันที เช่น
SELECT CITY
FROM SUPPLIERWHERE SNO = ‘SE’;

คำ สั่ง SQL ที่ใช้เขียนร่วมกันโปรแกรมอื่น ๆ (Embedded SQL)เป็นคำ สั่ง SQL ที่ใช้ร่วมกับคำ สั่งของโปรแกรมภาษาต่าง ๆ เช่น PL/1 PASCAL ฯลฯ หรือแม้แต่กับคำ สั่งในโปรแกรมที่ระบบจัดการฐานข้อมูลนั้นมีใช้เฉพาะ เช่น ORACLE มี PL/SQL (ProceduralLanguage /SQL) ที่สามารถเขียนโปรแกรมและนำ คำ สั่ง SQL มาเขียนร่วมด้วย เป็นต้นตัวอย่างการใช้คำ สั่ง SQL ในภาษา PL/1
EXEC SQL SELECT CITY
INTO :XCITY
FROM SUPPLIER
WHERE SNO = ‘S4’;

   SQL มีหน้าที่หลายประการดังนี้
    Data Definition-กำหนดโครงสร้างการสร้างฐานข้อมูล
    Data Manipulation/Updates-ปรับปรุงฐานข้อมูล
    Data Retrieval (Queries)-แบบสอบถาม
   And others (not covered in this chapter)


ปฏิบัติการที่ 6  SQL

h.   จากข้อ  e เมื่อแปลออกมาเป็นภาษาคำถามของมนุษย์จะได้ว่า ให้เลือกแสดงฟิลด์รหัสนิสิต ชื่อนิสิต อาจารย์ที่ปรึกษา และชั้น จากตารางนักเรียน (student) โดยมีเงือนไขคือเป็นนิสิตชั้นปีที่2" ให้ลองแปลข้อ  f  ออกมาเป็นภาษาคำถามของมนุษย์

ตอบ  F: SELECT   studentid , Name, Advisor, Class, Hobby FROM student
WHERE Hobby LIKE  'อ่าน*'
จะได้ดังภาพ

ให้เลือกให้เลือกแสดงฟิลด์รหัสนิสิต ชื่อนิสิต อาจารย์ที่ปรึกษา ชั้น และงานอดิเรก จากตารางนักเรียน(student)โดยมีเงือนไขคือ ตารางงานอดิเรกโดยมีคำว่า อ่านหนังสือ

i. ให้นิสิตสืบค้นข้อมูลด้วยภาษา SQL ตามคำถาม "ให้เลือกฟิลด์ทั้งหมดจากตารางรายวิชา (subject)"
ตอบ  SELECT subjectid,name,credit,book,teacher
   FROM subject;



j. ให้นิสิตสืบค้นข้อมูลด้วยภาษา SQL ตามคำถาม "ให้เลือกฟิลด์รหัสรายวิชา ชื่อรายวิชา และจำนวนหน่วยกิต จากตารางรายวิชา (subject)"
ตอบ        SELECT subjectid,name,credit
  FROM subject;



k. ให้นิสิตสืบค้นข้อมูลด้วยภาษาSQLตามคำถาม"ให้เลือกฟิลด์รหัสรายวิชา ชื่อรายวิชา และจำนวนหน่วยกิต จากตารางรายวิชา(subject) โดยมีเงือนไขคือเป็นรายวิชา 104111"


ตอบ    SELECT subjectid,Name,Credit
         FROM subject
         WHERE subjectid=104111;
จะได้ดังภาพ



l.  ทดลองพิมพ์ SELECT Student.Studentid , Student.Name,  Register.Score, 
Register.Grade FROM Register,student WHERE (Register.Studentid=Student.Studentid
 AND Register.Studentid=4902)แล้วเลือก Run Query
จะได้ดังภาพ

mทดลองปรับเป็น SELECT student.Studentid,student.Name,Register.Score,
Register.Grade,Subject.Name FROM Register,Student,Subject WHERE
(Register.Studentid=student.Studentid AND Register.Studentid=4902 ) AND
 (Register.Subjectid=Subject.Subjectid)
จะได้ดังภาพ


o.  จากข้อ "m" เมื่อแปลออกมาเป็นภาษาคำถามของมนุษย์จะได้ว่า "ให้เลือกแสดงฟิลด์รหัสนิสิต ชื่อนิสิต คะแนน เกรด และชื่อรายวิชา จากตารางนักเรียน(student) การลงทะเบียน(Register) และรายวิชา(Subject) โดยมีเงือนไขคือแสดงเฉพาะนิสิตรหัส 4902 เท่านั้น"ให้ลองแปล "n" ออกมาเป็นภาษาคำถามของมนุษย์
ตอบ   ให้เลือกแสดงฟิลด์รหัสนิสิต ชื่อนิสิต คะแนน เกรด และชื่อรายวิชา จากตารางนักเรียน
(student) การลงทะเบียน(Register) และรายวิชา(Subject) โดยมีเงือนไขคือแสดง
รหัสรายวิชา104111เท่านั้น

p.   ให้นิสิตสืบค้นข้อมูลด้วยภาษาSQLตามคำถาม"ให้เลือกแสดงฟิลด์รหัสนิสิต ชื่อนิสิต คะแนน เกรด และชื่อรายวิชา จากตารางนักเรียน(Student)การลงทะเบียน(Register)  และรายวิชา(Subject) โดยมีเงือนไขคือแสดงเฉพาะรายวิชารหัส 104111เท่านั้น และนิสิตอยู่ในชมรมภูมิศาสตร์เท่านั้น"
ตอบ      SELECT Student.Studentid,student.Name,Register.Score,Register.Grade,
Subject.Name ,student.Club  FROM Register,student,Subject 
WHERE Register.Studentid=student.Studentid AND 
Register.Subjectid=Subject.Subjectid AND Register.Subjectid=104111
 AND student.Club='ภูมิศาสตร์';