วันจันทร์ที่ 5 กันยายน พ.ศ. 2554


ปฏิบัติการที่ 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;   จะได้ตามภาพ





:  ให้นิสิตสืบค้นข้อมูลด้วยภาษา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='ภูมิศาสตร์';

วันพุธที่ 6 กรกฎาคม พ.ศ. 2554

TOPOLOGY AND Data Structure


TOPOLOGY AND Data Structure


โทโปโลยีระบบเครือข่าย 

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


โดยส่วนใหญ่คอมพิวเตอร์ภายในองค์กรใหญ่จะติดต่อสื่อสารผ่านระบบ LAN (Local Area Network) โดยมี backbone เป็นส่วนประกอบหลัก เป็นจุดที่จะทำการสื่อสารภายในองค์กรผ่าน backbone เทคโนโลยี LAN มีหลายประเภท เช่น Ethernet, Token Ring, FDDI และ Wireless LAN เป็นต้น แต่นิยมกันมากที่สุดในปัจจุบันคือ อีเธอร์เน็ต (Ethernet) ซึ่งอีเธอร์เน็ตเองยังจำแนกออกได้หลายประเภทย่อย ขึ้นอยู่กับความเร็ว

โทโปโลยี (Topology) และสายสัญญาณที่ใช้ เทคโนโลยี LAN แต่ละประเภทมีทั้งหัวข้อดีข้อเสียที่แตกต่างกัน การเลือกใช้เทคโนโลยีเหล่านี้ควรให้เหมาะสมกับลักษณะการใช้งานเครือข่ายขององค์กร โทโปโลยีของเครือข่ายอาจจะมีผลต่อสมรรถนะของเครือข่ายได้ 

การเลือกโทโปโลยีอาจมีผลต่อประเภทของอุปกรณ์ที่ใช้ในเครือข่าย ดังนี้ 
- สมรรถนะของอุปกรณ์เหล่านั้น - ความสามารถในการขยายของเครือข่าย - วิธีการดูแลและจัดการเครือข่าย การรู้จักและเข้าใจโทโปโลยีประเภทต่าง ๆ


1. โครงสร้างข้อมูล
โครงสร้างข้อมูล (Data Structure) 
แบ่งออกเป็น 2 ลักษณะ คือ
1. โครงสร้างเชิงกายภาพ (Physical Data Structure) 
อธิบายวิธีการจัดเก็บข้อมูลในสื่อต่าง ๆ เช่น เทปแม่เหล็ก จานแม่เหล็กและดิสก์


2. โครงสร้างเชิงตรรกะ (Logic Data Structure) 
อธิบายการจัดเก็บข้อมูลและความสัมพันธ์ต่าง ๆ ของข้อมูลในระบบฐานข้อมูล แสดงให้เห็นถึงการจัดระเบียบการทำงานและการมีปฎิสัมพันธ์ภายในระบบฐานข้อมูลโดยมีลำดับขั้นจากหน่วยข้อมูลที่เล็กที่สุดไปยังฐานข้อมูล

โครงสร้างข้อมูล.(Data Structure) 

ในการนำข้อมูลไปใช้นั้น เรามีระดับโครงสร้างของข้อมูลดังนี้ 

- บิต (Bit) คือ ข้อมูลที่มีขนาดเล็กที่สุด เป็นข้อมูลที่เครื่องคอมพิวเตอร์สามารถเข้าใจและนำไปใช้ งานได้ ซึ่งได้แก่ เลข 0 หรือ เลข 1 เท่านั้น 

- ไบต์ (Byte) หรือ อักขระ (Character) ได้แก่ ตัวเลข หรือ ตัวอักษร หรือ สัญลักษณ์พิเศษ 1 ตัว เช่น 0, 1, …, 9, A, B, …, Z และเครื่องหมายต่างๆ ซึ่ง 1 ไบต์จะเท่ากับ 8 บิต หรือ ตัวอักขระ 1 ตัว เป็นต้น 

- ฟิลด์ (Field) ได้แก่ ไบต์ หรือ อักขระตั้งแต่ 1 ตัวขึ้นไปรวมกันเป็นฟิลด์ เช่น เลขประจำตัว(ID) ชื่อพนักงาน(name) เป็นต้น 

- เรคคอร์ด (Record) ได้แก่ ฟิลด์ตั้งแต่ 1 ฟิลด์ ขึ้นไป ที่มีความสัมพันธ์เกี่ยวข้องรวมกันเป็นเรคคอร์ด เช่น ชื่อ นามสกุล เลขประจำตัว ยอดขาย ข้อมูลของพนักงาน 1 คน เป็น 1 เรคคอร์ด 

- ไฟล์ (Files) หรือ แฟ้มข้อมูล ได้แก่ เรคคอร์ดหลายๆ เรคคอร์ดรวมกัน ซึ่งเป็นเรื่องเดียวกัน เช่น ข้อมูลของประวัติพนักงานแต่ละคนรวมกันทั้งหมด เป็นไฟล์หรือแฟ้มข้อมูลเกี่ยวกับประวัติพนักงานของบริษัท เป็นต้น 

- ฐานข้อมูล (Database) คือ การเก็บรวบรวมไฟล์ข้อมูลหลายๆ ไฟล์ที่เกี่ยวข้องกันมารวมเข้าด้วยกัน เช่น ไฟล์ข้อมูลของแผนกต่างๆ มารวมกัน เป็นฐานข้อมูลของบริษัท เป็นต้น



หน่วยในการวัดขนาดของข้อมูล

8 Bit = 1 Byte
1,024 Byte = 1 KB (กิโลไบต์)
1,024 KB = 1 MB (เมกกะไบต์)
1,024 MB = 1 GB (กิกะไบต์)
1,024 GB = 1TB (เทระไบต์) 
2. การจัดการกับข้อมูล
1. การเก็บข้อมูล (Data Acquisition)
2. การบันทึกข้อมูล (Data Entry) 3. การตรวจสอบความถูกต้องของข้อมูล (Data Edit) 4. การจัดแฟ้มข้อมูล (Filing) 5. การประมวลผล (Data Processing)การประมวลผลข้อมูลในระบบคอมพิวเตอร์แบ่งเป็น 3 วิธีใหญ่ ๆ ดังนี้

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


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



5.3. ระบบประมวลผลแบบออนไลน์ (Online Processing) คือ การประมวลผลร่วมกันระหว่างคอมพิวเตอร์ที่ต่อพ่วงกับระบบสื่อสาร (Communication) โดยอาศัยอุปกรณ์ต่อพ่วง เช่น โมเด็ม (Modem) ซึ่งลักษณะการทำงานอาจจะมีเครื่องคอมพิวเตอร์หลายเครื่องต่อพ่วงกันในระบบเครือข่าย (Network)

6. การสอบถามและค้นคืนข้อมูล(Data Query and Data Retrieval)7. การปรับข้อมูลให้เป็นปัจจุบัน (Update)8. การจัดทำรายงาน (Reporting)9. การทำสำเนา (Duplication)10. การสำรองข้อมูล (Backup)11. การกู้ข้อมูล (Data Recovery)12. การสื่อสารข้อมูล (Data Communication)13. การทำลายข้อมูล (Data Scraping)14. การจัดการไฟล์
วิธีการจัดการไฟล์ของข้อมูลในสื่อบันทึกข้อมูล มี 3 วิธีใหญ่ ๆ คือ 
14.1. การจัดแฟ้มข้อมูลแบบเรียงลำดับ (Sequential File) 14.2. การจัดแฟ้มข้อมูลแบบสุ่มหรือแบบโดยตรง(Random/direct File)
14.3. การจัดแฟ้มข้อมูลแบบลำดับเชิงดัชนี(Indexed Sequential File)


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

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

จากประโยชน์ของระบบฐานข้อมูลด้วยคอมพิวเตอร์ข้างต้น อาจกล่าวได้ระบบฐานข้อมูลมีข้อดีมากกว่าการเก็บข้อมูลในระบบแฟ้มข้อมูล ดังนี้


1. หลีกเลี่ยงความขัดแย้งของข้อมูลได้
2. สามารถใช้ข้อมูลร่วมกัน
3. สามารถลดความซ้ำซ้อนของข้อมูล
4. การรักษาความถูกต้องเชื่อถือได้ของข้อมูล
5. สามารถกำหนดความเป็นมาตรฐานเดียวกันไ
ด้6. สามารถกำหนดระบบรักษาความปลอดภัยให้กับข้อมูลได้
7. ความเป็นอิสระของข้อมูล





วันพุธที่ 15 มิถุนายน พ.ศ. 2554

 DBMS
โดยปกติในการจัดการฐานข้อมูลด้วยคอมพิวเตอร์นั้นจะมีโปรแกรมที่เรียกว่า ระบบการจัดการฐานข้อมูลหรือ DBMS (Database Management Systems) ซึ่งเปรียบเสมือนเป็นผู้จัดการฐานข้อมูลนั่นเอง โปรแกรมประเภทนี้มีการผลิตออกมาหลายระบบด้วยกัน แต่ที่ได้รับความนิยมและเป็นที่รู้จักกันดีคือ ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์หรือ RDBMS (Relational Database Management System) เช่น Oracle, Sybase, Microsoft SQL Server, Microsoft Access, MySQL เป็นต้น

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

ภาษาคิวรี่ (Query language) 
     เป็นภาษาที่ใช้สำหรับสอบถามหรือจัดการฐานข้อมูลใน DBMS โดยภาษาประเภทนี้ที่ได้รับความนิยมสูงสุดคือ ภาษา SQL (Structure Query language ) คิดค้นโดยนักวิทยาศาสตร์ของไอบีเอ็มในทศวรรษที่ 1970 มีรูปแบบคำสั่งที่คล้ายกับประโยคในภาษาอังกฤษมาก ซึ่งปัจจุบันองค์กร ANSI (American National Standard Institute) ได้ประกาศให้ SQL เป็นภาษามาตรฐานสำหรับสำหรับระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System หรือ RDBMS) ซึ่งเป็นระบบ DBMS แบบที่ใช้กันแพร่หลายที่สุดในปัจจุบัน
     ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ ทุกระบบจะใช้คำสั่งพื้นฐานของภาษา SQL ได้เหมือนกันแต่อาจมีคำสั่งพิเศษที่แตกต่างกันบ้าง เนื่องจากบริษัทผู้ผลิตแต่ละรายก็พยายามทีจะพัฒนา RDBMS ของตนเองให้มีลักษณะที่เด่นกว่าระบบอื่นโดยเพิ่มคุณสมบัติที่เกินข้อจำกัดของ ANSI ซึ่งคิดว่าเป็นประโยชน์ต่อผู้ใช้เข้าไป ตัวอย่างของคำสั่ง SQL มีดังนี้ 


คำสั่ง
ผลลัพธ์
DELETEใช้สำหรับลบข้อมูลหรือลบเรคคอร์ดใดๆในฐานข้อมูล
INSERTใช้สำหรับเพิ่มข้อมูลหรือเพิ่มเรคคอร์ดใดๆในฐานข้อมูล
SELECTใช้สำหรับเลือกข้อมูลหรือเลือกเรคคอร์ดใดๆที่ต้องการจากฐานข้อมูล
UPDATEใช้สำหรับแก้ไขข้อมูลหรือแก้ไขเรคคอร์ดใดๆในฐานข้อมูล




อ้างอิง