บทที่ 2 การทบทวนวรรณกรรมที่...
TRANSCRIPT
บทท 2
การทบทวนวรรณกรรมทเกยวของ
ในปจจบนไดมการน าเทคโนโลยสารสนเทศ เขามามสวนรวมในการด าเนนงานภายในองคกรเพอเพมประสทธภาพในการท างานใหมากยงขน โดยการน าเทคโนโลยใหมๆ เขามาชวยในการท างานภายในองคกร เพอชวยในการแกปญหาตางๆ ตามแตละแผนกนนๆ ทฤษฎและหลกการตางๆ ทน ามาใชประกอบดวย
2.1 หลกเกณฑในการแจงปญหาทางดานเทคโนโลยสารสนเทศของโรงพยาบาลวชยเวช อนเตอรเนชนแนล หนองแขม
แบงประเภทของปญหาออกเปน 3 ประเภทดงน
2.1.1 ปญหาคอมพวเตอรทางดานซอฟตแวร
โปรแกรมหรอซอฟตแวรทไมสามารถเปดใชงานได, ปญหาเครองคอมพวเตอรท างานชา, ตดไวรสและมลแวร และปญหาตางๆทเกยวของกบซอฟแวรของคอมพวเตอร
2.1.2 ปญหาคอมพวเตอรทางดานฮารดแวร
สวนประกอบตางๆ ของเครองคอมพวเตอร, จอคอมพวเตอร, สายไฟ, RAM, Hard Disk, Printer และ Router
2.1.3 ปญหาอนๆ
แกไขปญหาตางๆ เกยวกบอนเตอรเนตใชงานไมได, สายLAN, ตรวจสอบระบบสาย LAN แกไขปญหาตางๆ เกยวกบสาย LAN และตรวจสอบ WiFi
2.2 เวบแอพพลเคชน (Web Application)
คอโปรแกรมประยกตทเขาถงดวยโปรแกรมคนดเวบผานเครอขายคอมพวเตอรอยางอนเทอรเนตหรออนทราเนต เวบแอปพลเคชนไดรบความนยมเนองจากความสามารถในการอปเดต และดแลโดยไมตองแจกจาย และตดตงซอฟตแวรบนเครองผใช ตวอยางเวบแอปพลเคชน ไดแก เวบเมล การพาณชยอเลกทรอนกส การประมลออนไลน กระดานสนทนา บลอก วก เปนตน
การท างานของ Web Application นน โปรแกรมสวนหนงจะวางตวอยบน Rendering Engine ซงตว Rendering Engine จะท าหนาทหลกๆ คอน าเอาชดค าสงหรอรปแบบโครงสรางขอมล
8
ทใชในการแสดงผล น ามาแสดงผลบนพนทสวนหนงในจอภาพ โปรแกรมสวนทวางตวอยบน Rendering Engine จะท าหนาทหลกๆ คอการเปลยนแปลงแกไขสงทแสดงผล จดการตรวจสอบขอมลทรบเขามาเบองตนและการประมวลบางสวน แตสวนการท างานหลกๆ จะวางตวอยบนเซอรเวอร
ในลกษณะ Web Application แบบเบองตน ฝงเซอรเวอรจะประกอบไปดวยเวบเซอรเวอร ซงท าหนาทเชอมตอกบไคลเอนตตามโปรโตคอล HTTP/HTTPS โดยนอกจากเวบเซอรเวอรจะท าหนาทสงไฟลทเกยวเนองกบการแสดงผลตามมาตรฐาน HTTP ตามปกตทวไปแลว เวบเซอรเวอรจะมสวนประมวลผลซงอาจจะเปนตวแปลภาษา เชน Script Engine ของภาษา PHP หรออาจจะมการตดตง .NET Framework ซงมสวนแปลภาษา CLR (Common Language Runtime) ทใชแปลภาษา intermediate จากโคดทเขยนดวย VB.NET หรอ C#.NET หรออาจจะเปน J2EE ทมสวนแปลไบตโคดของคลาสทไดจากโปรแกรมภาษาจาวา เปนตน
ขอดของการออกแบบ Web Application ทเหนไดชดกคอ โคดโปรแกรมทงหมดอยทฝงเซอรเวอรและมโคดโปรแกรมบางสวนจะถกโหลดขนบนไคลเอนตเมอตองการจะท างาน สวนโคดทเหลอจะยงคงคางอยทฝงเซอรเวอร ท าใหการพฒนาซอฟตแวรทตองมการปรบปรงแกไขบอยๆ สามารถกระท าไดโดยงายโดยไมตองท าระบบโหลด patch หรออปเดตเวอรชนใหมๆ ใหกบไคลเอนตจ านวนมากบอยๆ และโปรแกรมบางประเภททตองใชขอมลสวนกลางเปนจ านวนมากแตจะไมไดใชทงหมดในคราวเดยว ผพฒนาโปรแกรมสามารถทจะสงขอมลเบองตนบางสวนใหกบไคลเอนตไปกอนและเมอผใชตองการขอมลสวนอนๆ เพมเตมจงคอยสงขอมลทเหลอให การท าเชนนจะท าใหไมตองสงขอมลทงหมดไปยงผใชในคราวเดยวโดยเฉพาะในกรณทผใชงานอาจจะไมตองการขอมลทงหมดนน การเลอกสงเทาทรองขอจะชวยลดปรมาณขอมลทตองสงผานระบบเครอขายลงได
ส าหรบขอเสยของ Web Application ทเหนไดชด เชน ไมเหมาะสมส าหรบโปรแกรมทออกแบบมาเพอใชงานกบขอมลสวนบคคลทไมจ าเปนตองแบงปนใหกบผอน รวมถงขอมลทอาจจะมความลบสง เพราะถาตองสงผานอนเทอรเนตทแมจะเขารหสไวแลว แตอาจจะถกเจาะและถอดรหสน าขอมลออกมาไปใชได เปนตน
ภาษาทสามารถน ามาสราง web application ไดแก
- HTML (Hypertext Markup Language), XHTML (Extended HTML)
- XML (Extendsible Markup Language)
9
- JavaScript/Jscript
- ASP.NET
- PHP
ภาษาทเหมาะจะน ามาสราง web application มากทสด คอ Html, PHP, JAVA เพราะภาษาเหลานสามารถเรยนรไดงาย สามารถหาแหลงขอมลของการใชงานไดงาย และในปจจบนภาษาเหลานยงเปนทนยมในการน ามา สราง web application อกดวย
(แหลงทมา: http://errerbot-webapplication1.blogspot.com/2011/12/web-application-1.html)
2.3 ระบบฐานขอมลเชงสมพนธ (Relational Database System)
2.3.1 ความหมายของฐานขอมลเชงสมพนธ
ระบบฐานขอมลเชงสมพนธ (Relational Database) เปนฐานขอมลทใชโมเดลเชงสมพนธ (Relational Database Model) ซงผคดคนโมเดลเชงสมพนธนคอ Dr. E.F. Codd โดยใชหลกพนฐานทางคณตศาสตร เนองดวยแนวคดของแบบจ าลองแบบนมลกษณะทคนใชกนทวกลาวคอมการเกบเปนตาราง ท าใหงายตอการเขาใจและการประยกตใชงาน ดวยเหตน ระบบฐานขอมลแบบนจงทไดรบความนยมมากทสด ในแงของ entity แบบจ าลองแบบนคอ แฟมขอมลในรปตาราง และ attribute กเปรยบเหมอนเขตขอมล สวนความสมพนธคอความสมพนธระหวาง entity
ฐานขอมลเชงสมพนธ คอ การเกบขอมลในรปของตาราง (Table) หลายๆ ตารางทมความสมพนธกน ในแตละตารางแบงออกเปนแถวๆ และในแตละแถวจะแบงเปนคอลมน (Column) ในทางทฤษฎจะมค าศพทเฉพาะแตกตางออกไป เนองจากแบบจ าลองแบบนเกดจากทฤษฎทางคณตศาสตรเรองเซท (Set) ดงนน เราจะมค าศพทเฉพาะดงตารางท 2.1 น
10
ตารางท 2.1 ค าศพทเฉพาะทใชในระบบฐานขอมลเชงสมพนธ
ศพทเฉพาะ ศพททวไป
รเลชน (Relation) ตาราง (Table)
ทเปล (Tuple) แถว (Row) หรอ เรคคอรด (Record) หรอ ระเบยน
แอททรบวท (Attribute) คอลมน (Column) หรอฟลด (Field)
คารดนลลต (Cardinality) จ านวนแถว (Number of rows)
ดกร (Degree) จ านวนแอททรบวท (Number of attribute)
คยหลก (Primary key) คาเอกลกษณ (Unique identifier)
โดเมน (Domain) ขอบขายของคาของขอมล (Pool of legal values)
รปท 2.1 แสดงรายละเอยดของสวนประกอบตางๆ ของโมเดลแบบความสมพนธ
อาจจะเขยนในรปสมการดงตอไปน R (รหสประจ าตวประชาชน, ชอ, นามสกล, วนเกด) เนองจากแตละตารางสามารถมความสมพนธกนไดดงทวาไวในขางตน ท าใหการ เกบขอมลในรปแบบนมความคลองตวสงเพราะเราสามารถแยกเกบขอมลในหลายตาราง โดยอาศยความสมพนธดงกลาว และสามารถสบคนไดจากรหสพ เศษทเ รยกวา กญแจ (key) ดงรปท 2.2
11
รปท 2.2 แสดงตวอยางการสบคนขอมลโดยอาศยความสมพนธ
Dr.E.F.Codd ไดก าหนดสวนประกอบของโมเดลเชงสมพนธน แบงเปน 3 สวนไดแก
1. สวนทเกยวของกบโครงสรางของขอมล 2. สวนทเกยวกบการควบคมความถกตองใหกบขอมล 3. สวนในการจดการกบขอมล
2.3.2 โครงสรางของขอมล (Data Structure)
2.3.2.1 Relation โครงสรางของฐานขอมลเชงสมพนธ จะอยในลกษณะของตาราง 2 มต
ประกอบดวยทางดานแถว และคอลมน ซงจะเรยกวา รเลชน (Relation) โดยทวๆ ไป Relation หนงๆ จะมคณสมบตตางๆ ดงน
1. ไมม Tuples คใดๆ เลยทซ ากน (No duplicate tuples) 2. ล าดบทของ Tuples ไมมความส าคญ 3. ล าดบทของ Attributes ไมมความส าคญ 4. คาของ Attribute จะเปนคาเดยวๆ (Atomic) นนคอ คา
ของขอมลทปรากฏอยในตารางจะเปนคาๆ เดยว เปนลสตของคาหลายๆ คาไมได ซง Relation ทมคณสมบตขอนจะถกเรยกวาเปน Relation ทอยในรปแบบ Normal form
12
5. คาของขอมลในแตละ Attribute จะบรรจคาของขอมลประเภทเดยวกน
ในระบบจดการฐานขอมลทวๆ ไป Relation อาจจ าแนกออกไดเปน 2 ประเภท ดงนคอ
1. Relation หลก (Base Relation) เปน Relation ทถกก าหนดขนเพอเกบขอมลและเพอน าขอมลไปใชเมอมการสราง Relation โดยใช Data Definition Language เชน ใน SQL ค าสง CREATE TABLE เปนการสราง Relation หลก หลงจากนนกจะท าการเกบขอมลเพอการเรยกใชขอมลในภายหลง Relation หลกจะเปนตารางทจดเกบขอมลจรงไว
2. วว (View) หรออาจเรยกอกอยางหนงวา Relation สมมต (Virtual Relation) เปน Relation ทถกสรางขนตามความตองการ ใชขอมลของผใชแตละคน เนองจาก ผใชแตละคนอาจตองการใชขอมลในลกษณะทแตกตางกน จงท าการก าหนดววของตวเองขนมาจาก Relation หลก เพอความสะดวกในการใชขอมล และชวยใหการรกษาความปลอดภยของฐานขอมลท าไดงายขน Relation ทถกสมมตขนมานจะไมมการเกบขอมลจรงๆ ในระบบฐานขอมล
ลกษณะของรเลชนแสดงดงรปท 2.3
รปท 2.3 โครงสรางของฐานขอมลเชงสมพนธ
13
จากรปท 2.3 ตารางขอมลทงหมด จะเรยกวา Relation แตโดยสวนใหญนยมเรยกวา Table หรอ ตาราง เนองจากโครงสรางการจดเกบเปนแบบตาราง สวนขอมลในแตละแถว จะเรยกวา ทเพล (Tuple) สวนขอมลในแตละคอลมน จะเรยกวา แอตทรบวส (Attribute) ดงตวอยางม 4 แอตทรบวส คอ SID, Sname, GPA, Major เขยนเปนสมการไดดงน Student (SID, Sname, GPA, Major)
2.3.2.2 Domain
โดเมน (Domain) คอการก าหนดขอบเขตและชนดของขอมลเพอปองกนไมใหขอมลทผใชจดเกบ มความผดพลาดไปจากความเปนจรงทควรจะเปน ตวอยางดงรปท 2.4
รปท 2.4 โดเมนของขอมล
จากรปท 2.4 เปนการก าหนดโดเมนใหกบแอตทรบวสขอมล GPA ซงเปนคาเกรดเฉลย ของนกศกษา ซงคาเกรดเฉลยจะตองมคาอยระหวาง 0 - 4 ดงนนจงตองก าหนดโดเมนใหกบแอตทรบวส GPA เพอไมใหขอมลผดพลาดไปจากน
2.3.2.3 คย (Key)
คย คอ แอตทรบวส หรอ กลมของแอตทรบวสทสามารถแยกความแตกตางของขอมล ในแตละทเพลได หรอแอตทรบวสทขอมลในแอตทรบวสนนตองมขอมลทไมซ ากน ซงคยมอยหลายชนดดวยกน ไดแก
1. คยอยางงาย (Simple key) หมายถง key ทประกอบดวย attribute เดยว
14
2. คยประกอบ (Combine key หรอ Composite key) หมายถง key ท ประกอบดวย attribute มากกวา 1 attribute
3. คยคแขง (Candidate Key) คอคยทเลกทสด ทแยกความแตกตางของขอมล แตละทเพลได ยกตวอยางเชน ในรเลชน Student มขอมลทสามารถเปนคยคแขง คอแอตทรบวส รหสนกศกษา และการใชแอตทรบวส ชอรวมกบนามสกล ซงทงสองแบบสามารถระบความแตกตางของขอมล แตละทเพลได
4. คยหลก (Primary Key) คอคยคแขงซงไดเลอกมาเพอใชก าหนดใหเปนคาคย หลกของ รเลชน ซงขอมลทเปนคยหลกนน จะตองมขอมลทไมซ ากน และมกจะเลอกคยคแขง ทมขนาดเลกมาเปนคยหลก ตวอยางเชน การเลอกแอตทรบวสรหสนกศกษา มาเปนคาคยหลก เนองจากมขนาดเลกกวาแอตทรบวสชอรวมกบนามสกล ซงจะท าใหการท างานเรวกวา เนองจากมขนาดเลกกวา
5. คยรอง (Alternate Key หรอ Secondary key) คอคยคแขงอนๆ ทไมได ถกเลอกมาใชงาน ยกตวอยางเชน แอตทรบวสชอรวมกบนามสกล ซงไมไดถกเลอกใหเปนคยหลกของรเลชน กจะกลายเปน Alternate Key
6. คยนอก (Foreign Key) เปนคยทใชเชอมความสมพนธของรเล ชน ตวอยางแสดงดงรปท 2.5
รปท 2.5 คยหลกและคยนอก
15
จากรปท 2.5 รเลชน Student มคาคยหลกคอ SID ซงเปนรหสนกศกษา โดยขอมลของรหสนกศกษาจะตองมขอมลทไมซ ากนและมคยนอกของตารางคอ แอตทรบวส Major ซงเชอมโยงความสมพนธไปยงแอตทรบวส Major ของรเลชน Major ซงขอมลทกตวของแอตทรบวส Major ในรเลชน Student จะตองมอยในแอ ตทรบวส Major ของรเลชน Major สวนตาราง Major มคยหลกคอแอตทรบวส Major
7. ซปเปอรคย (Super key) หมายถง attribute หรอ เซทของ attribute ทสามารถบงบอกวาแตละแถว (Tuple) แตกตางกนในทกๆ ความสมพนธจะตองมอยางนอยหนง super key ในเซทของ attributes
2.3.3 กฎทเกยวของกบการรกษาความถกตอง
กฎทใชส าหรบรกษาความถกตองของขอมล แบงออกเปน 2 กฎ คอ
1. กฎทเกยวของกบเอนทต 2. กฎทเกยวของกบการเชอมโยงความสมพนธของเอนทต
2.3.3.1 กฎความบรณภาพของเอนทต (Entity Integrity Rule)
กฎความบรณภาพของเอนทต เปนกฎทใชก าหนดเพอใหขอมลของเอนทต มความถกตอง ซงกลาวไววา "แอตทรบวสทท าหนาทเปนคยหลกของรเลชน ไมสามารถมคาเปนคาวางได (Null Value)" และจะตองมคณสมบตทเปนเอกลกษณ (Identity) คอสามารถระบขอมลแอตทรบวสอนๆ ทอยในทเพลเดยวกนได
2.3.3.2 กฎความบรณภาพของการอางอง (Referential Integrity Rule)
กฎความบรณภาพของการอางอง คอกฎทใชรกษาความถกตองของขอมลทมความสมพนธกนของเอนทต ซงไดกลาวไววา "คาของคยนอกในรเลชน จะตองมขอมลอยในอก ร เลชนหนง ท คยนอกของรเลชนน นอางองถง" ในบางกรณคยนอกอาจเปนคาวางได ถานโยบายขององคกร อนญาตใหคาคยนอกเปน คาวางได กรณหากมการลบ หรอแกไขขอมล ในรเลชนทถกอางองถง ซงจะ
16
ท าใหสญเสยความบรณภาพของขอมล ดงตวอยางรปท 2.6 หากมการแกไขหรอลบขอมลของรเลชน Major ในแอตทรบวส Major ซงมความสมพนธอยกบรเลชน Student จะท าใหความสมพนธของขอมลเสยหาย ดงนนจงตองเลอกการกระท าเพอไมใหความสมพนธของขอมลสญเสยไปดงน
กรณการแกไขขอมล มดงน
1. หามท าการแกไขขอมลในรเลชนท ถกอางถงน น เนองจากจะท าใหขอมลในรเลชนทอางองมา ไมสามารถอางองขอมลได
2. อนญาตใหท าการแกไขขอมลในรเลชนทถกอางองถงได แตจะตองตามไปแกไขขอมล ในรเลชนทอางองมาใหตรงกบขอมลทแกไขใหมทงหมด
3. อนญาตใหท าการแกไขขอมลในรเลชนทถกอางองถงได โดยการแกไขขอมลในรเลชน ทอางองมาใหมคาเปนคาวาง
รปท 2.6 รเลชนทมความสมพนธกน
กรณการลบขอมล มดงน
1. หามท าการลบขอมลในรเลชนทถกอางถงนน เนองจากจะท าใหขอมลใน รเลชนทอางองมา ไมสามารถอางองขอมลได
17
2. อนญาตใหท าการลบขอมลในรเลชนทถกอางองถงได แตจะตอง ตามไปลบขอมลในรเลชน ทอางองมาทงหมด
3. อนญาตใหท าการลบขอมลในรเลชนทถกอางองถงได โดยการแกไขขอมลในรเลชน ทอางองมาใหมคาเปน คาวาง (Null value)
คาวาง (Null Values) คอ
คาของ Attribute อาจจะเปนคาวาง (Null) คอ ไมมคาหรอยงไมทราบคาได ตวอยางเชน จ านวนไขของนกกระจอกเทศ จะสามารถบอกไดเมอนกกระจอกเทศออกไขแลว แตยงไมทราบคา ในขณะทจ านวนไขของชางนนไมมคา เปนตน
2.3.4 การจดการกบขอมล (Data Manipulation)
Dr. E.F. Codd ไดน าทฤษฎของเซท ซงเปนทฤษฎทางคณตศาสตรมาใชในการจดการกบ ขอมลของฐานเชงสมพนธ ซงมอยหลายการกระท าดวยกน ในบทนจะกลาวโดยยอๆ เทานน เนองจากเปนเนอหาทางทฤษฎ ซงการน าไปใชงานจรงนน จะพดถงในบททเกยวกบค าสงทใช จดการฐานขอมล ซงเนอหาจะมความใกลเคยงกน การกระท าเหลานไดแก
2.3.4.1 Restrict
ค าวา Restrict เปนโอเปอเรเตอรทางคณตศาสตรทใชในการเลอกขอมลจากรเลชนหนงๆ ทมเงอนไขตรงตามทระบไว กลาวอกนยหนงคอ ใชในการแสดงขอมลของทเพลทเปนไปตามเงอนไขทระบไว
รปแบบ
ชอรเลชน WHERE <COMPARISION>
COMPARISION ในทน หมายถงเงอนไขของขอมลทตองการเรยกด ซงจะระบชอแอททรบวต และคาเฉพาะทตองการดขอมล โดยมเครองหมายทประกอบการระบเงอนไข เชน = (เทากบ) < (นอยกวา) > (มากกวา) <> (ไมเทากบ)
18
เปนตน ในกรณทมเงอนไขมากกวาหนงเงอนไขอาจใชค าวา OR (หรอ) AND (และ) ประกอบกนเปนเงอนไขทตองการได
ตารางท 2.2 ตวอยางแสดงรายละเอยดของนกศกษาทอยนครราชสมา
นกศกษา
รหส ชอ จงหวด
B001 แดง นครราชสมา
B002 ด า กรงเทพฯ
B003 เขยว สระบร
B004 ขาว นครราชสมา
นกศกษา WHERE จงหวด = 'นครราชสมา'
ผลทได ดงน นกศกษา
รหส ชอ จงหวด
B001 แดง นครราชสมา
B004 ขาว นครราชสมา
19
2.3.4.2 Project
ค าวา Project เปนโอเปอเรเตอรทางคณตศาสตรทใชในการแสดงขอมลเพยงบางแอททรบวตจากรเลชนหนงๆ ซงการแสดงขอมลอาจจะเปนแบบมเงอนไขหรอไมมกได
รปแบบ
ชอรเลชน [ชอแอตทรบวต 1, ชอแอตทรบวต 2, ...]
หรอ
ชอรเลชน WHERE <COMPARISION> [ชอแอตทรบวต 1, ...]
ตารางท 2.3 ตวอยางนกศกษาทผานมา ใหแสดงชอจงหวดทนกศกษาอย
นกศกษา [จงหวด] ผลทได ดงน
จงหวด
นครราชสมา
กรงเทพฯ
สระบร
นครราชสมา
ตารางท 2.4 ตวอยางนกศกษาทผานมา ใหแสดงชอนกศกษาและชอจงหวดเฉพาะนครราชสมา
นกศกษา WHERE จงหวด = 'นครราชสมา' [ชอ,จงหวด] ผลทได ดงน
ชอ จงหวด
แดง นครราชสมา
ขาว นครราชสมา
20
2.3.4.3 Product
Product หรอ Cartesian Products เปนการกระท าเพอแสดงขอมลทเปนไปไดทกกรณของการ จบคกนระหวาง 2 รเลชน ดงตวอยางรปท 2.7
รปแบบ
ชอรเลชนแรก TIMES ชอรเลชนสอง]
จากตารางตอไปน
นกศกษา TIMES วชา ผลทไดคอ
หรอแสดงสมการตามรปท 2.7
21
รปท 2.7 การท า Product
2.3.4.4 Union Union คอ การแสดงขอมลตามลกษณะทฤษฎการ Union ของเซต คอสวน
ของขอมลทเพลทตางกน ของรเลชน จะน ามาท งหมด สวนขอมลทเพลทเหมอนกนของรเลชนจะน ามาจากรเลชนเดยว โดยรเลชนทจะมา Union กน ตองเปนรเลชนทไปกนได (Compatible Relation) นนคอ จะตองมจ านวนและชอแอททรบวตทเหมอนกนและจดเรยงแอททรบวตในตารางทเหมอนกน (จากซายไปขวา) ดงตวอยางรปท 2.8 ขอมลสวนทแรเงาคอขอมลผลลพธของการท า Union
รปท 2.8 การท า Union
22
รปแบบ
ชอรเลชนแรก UNION ชอรเลชนสอง
ตารางท 2.5 ตวอยาง A UNION B
เปนดงน คอ
A
รหส ชอ จงหวด
B001 แดง นครราชสมา
B002 ด า กรงเทพฯ
B003 เขยว สระบร
B004 ขาว นครราชสมา
B
รหส ชอ จงหวด
B001 แดง นครราชสมา
B005 ฝน กรงเทพฯ
A UNION B ผลทไดคอ
รหส ชอ จงหวด<>/th>
B001 แดง นครราชสมา
B002 ด า กรงเทพฯ
B003 เขยว สระบร
B004 ขาว นครราชสมา
B005 ฝน กรงเทพ
23
2.3.4.5 Intersection ค าวา Intersection เปนโอเปอเรเตอรทางคณตศาสตรทใชในการแสดง
ขอมลทมอยในทงสองรเลชน หรอมากกวา โดยรเลชนทจะมา Intersection กนจะเปนรเลชนทไปกนได (Compatible Relation) ดงตวอยางรปท 2.9 ขอมลสวนทแรเงาคอขอมลผลลพธของการท า Intersection
รปท 2.9 การท า Intersection
รปแบบ
ชอรเลชนแรก INTERSECT ชอรเลชนสอง
ตารางท 2.6 ตวอยาง A INTERSECT B
A INTERSECT B ผลทไดคอ
รหส ชอ จงหวด<>/th>
B001 แดง นครราชสมา
24
2.3.4.6 Difference
Difference คอการแสดงขอมลทเพลของรเลชน ซงไมมอยในอกรเลชนหนง ตามทฤษฎการ Difference ของเซต เชน ถาน าขอมล รเลชน A - รเลชน B ขอมลทไดคอขอมลของรเลชน A ทไมมในรเลชน B ซงจะใหผลลพธทแตกตางกนกบ รเลชน B - รเลชน A โดยทรเลชนทงสองเปนรเลชนทไปกนได (Compatible Relation) ดงตวอยางรปท 2.10 ซงผลลพธของการท า Difference คอสวนทแรเงา
รปท 2.10 การท า Difference
รปแบบ
ชอรเลชนแรก MINUS ชอรเลชนสอง
ตารางท 2.7 ตวอยาง A MINUS B
A MINUS B
ผลทไดคอ
รหส ชอ จงหวด<>/th>
B002 ด า กรงเทพฯ
B003 เขยว สระบร
B004 ขาว นครราชสมา
25
2.3.4.7 Join
เปนการกระท าเพอแสดงขอมลทเปนไปไดทงหมดทเกดจากการเชอมโยงขอมลของ 2 รเลชน ทมคาของขอมลใน Attribute ทก าหนดเหมอนกนโดย Attribute นอาจเปนเพยง Attribute เดยวหรอมากกวากได แตทส าคญ Attribute น จะตองมชอทเหมอนกน และม Domain ของขอมลเดยวกน
รปแบบ
ชอรเลชน JOIN ชอรเลชน
ตารางท 2.8 ตวอยางจากตาราง X และ Y
X JOIN Y ผลทไดคอ
เมอท าค าสง X JOIN Y เนองจากมคาของแอททรบวต "City" ทเหมอนกน จงใช Attribute น เชอมโยงขอมล เชนถาพจารณาเฉพาะทเพลของ "B001" ของรเลชน X ซงมคาแอททรบวต "City" เทากบ "Korat" มา Join กบทเพลตางๆ ในรเลชน Y ผลทได ไดแก ทกๆ ทเพลในรเลชน Y ทมคาแอททรบวต "City" เทากบ "Korat"
26
ในการ Join ระหวางรเลชนใดๆ นน ล าดบในการ Join จะไมมผลตอผลลพธทเกดจากการ Join นน ดงนนไมวาจะใชค าสง X JOIN Y หรอ Y JOIN X ยอมใหผลลพธเชนเดยวกน
2.3.4.8 Division
เปนการแสดงขอมลจากสองรเลชน โดยทรเลชนทงสองมแอททรบวตอยางนอยหนงแอททรบวตทเหมอนกน ผลลพธทได จะเปนคาของแอททรบวตจากรเลชนทมจ านวนแอททรบวตมากกวา ซงเปนคาของแอททรบวตหนงทมคาหนงทจบคตรงกบทกคาของแอททรบวตทเหมอนกนนในอกรเลชนทมแอททรบวตนอยกวา
รปแบบ
ชอรเลชน DIVIDEBY ชอรเลชน
ตารางท 2.9 ตวอยางจากตาราง O และ P
27
ตวอยาง ถารเลชน P คอ
ตวอยาง ถารเลชน P คอ
(แหลงทมา: http://203.172.182.81/wbidatabase/unit3/unit3.php)
28
2.4 ระบบอนทราเนต (Intranet System)
อนทราเนต (Intranet) คอเครอขายคอมพวเตอรทเชอมโยงการสอสารดวยระบบโปรโตคอลทซพ/ไอพ (TCP/IP) ซงเปนระบบโปรโตคอลในการสอสารของเครอขายอนเทอรเนต (Internet) ดงนนโปรแกรมเพอการสอสารบนเครอขายอนทราเนตจงเปนซอฟตแวรชนดเดยวกนกบทใชในการสอสารบนเครอขายอนเทอรเนต สวนความแตกตางทชดเจนระหวางเครอขายอนทราเนตกบเครอขายอนเทอรเนต คอ อนเทอรเนตเปนเครอขายคอมพวเตอรทครอบคลมทงโลก อนเทอรเนตไมมใครเปนเจาของอยางแทจรง และไมมใครสามารถควบคมเครอขายอนเทอรเนตได แตส าหรบเครอขายอนทราเนตมเจาของแนนอน และถกควบคมโดยองคกรหรอบคคลผเปนเจาของ
อนทราเนตเกดจากความคดของระบบอนเทอรเนตในการเชอมโยงคอมพวเตอรหลากหลายชนดจากทกมมโลกเขาดวยกนได รวมทงการทผใชสามารถเขาถงขอมลจากทตางๆ การมบรการทเปนประโยชนและความสามารถในการแสดงผลไดตามตองการแบบ 4 ท. ไดเก ทเดยว, ทวโลก, ทนท และทกเวลา นเอง ท าใหเกดแนวคดในการน าเทคโนโลยของระบบดงกลาวมาใชงานในหนวยงานหรอองคกรซงเมอยอระบบอนเตอรเนตลงมาในองคกรกเปนระบบอนทราเนตนนเอง ดงนนอนทราเนตตองมทงฮารดแวรและซอฟตแวร
การประยกตใชอนทราเนตถอเปนการปฎรประบบงานในองคกรใหมและกอใหเกดผลกระทบตอกระบวนการและขนตอนการท างานในปจจบนและอนาคต ในปจจบนไดมผใหค าจ ากดความของอนทราเนตไวตางๆ ดงน
1. อนทราเนตเปนระบบเครอขายภายในทเชอมโยงเครอขายยอยตางๆ เขาดวยกน และใหทกคนในองคกรใชรวมกน
2. อนทราเนตเปนรปแบบของระบบเครอขายอนเทอรเนตทใชในองคกร 3. อนทราเนตเปนค าทสอความหมายถงการน าเทคโนโลยของระบบอนเทอรเนต
มาใช เพอตอบสนองระบบงานภายในองคกรโดยเฉพาะ 4. อนทราเนตเปนระบบอนเทอรเนตทใชงานเฉพาะในองคกร 5. อนทราเนตเปนการน าเทคโนโลยของระบบอนเทอรเนตมาประยกตใช ใน
องคกรหรอหนวยงาน 6. อนทราเนตเปนการรวมสารสนเทศทมอย โดยวธการปรบปรงใหเขาถงและ
กระจายขอมลผานไอพ เครอขายโดยมวตถประสงคเพออ านวยความสะดวก ปรบปรงวธการเขาถงสารสนเทศ การกระจายใชสารสนเทศ และการบรหารสารสนเทศ
29
7. อนทราเนตเปนการน าเทคโนโลยของระบบอนเทอรเนต ทไดรบการยอมรบและเปนมาตรฐานในการเชอมโยงระบบคอมพวเตอรตางๆ ทวโลกเขาดวยกน มาประยกตใชในองคกร หรอหนวยงาน
จากนานาทศนะดงกลาวขางตน สามารถจ ากดความไดวาอนทราเนตเปนระบบเครอขายภายในทน าเทคโนโลยของระบบอนเทอรเนตมาประยกตใชงานภายในองคกร โดยการเชอมโยง คอมพวเตอรหรอเครอขายยอยตางๆ เขาดวยกนและน ามาใชเพอตอบสนองระบบงานภายในองคกรโดยเฉพาะ และใหทกคนในองคกรใชรวมกน อนทราเนตจงถอวาเปน Corporate Portal หรอเวบองคกรเปนทๆ ทกคนตองมาใชเพอท างานตามหนาท
ประโยชนและเปาหมายของระบบเวบองคกรทงตอภายในองคกร และนอกองคกรมมากมายสามารถแยกเปนหวขอไดดงน
1. เพอสรางลกคา เพอสรางโอกาสทางธรกจท าการตลาดอยางรวดเรว เพอชวยใหลกคาท างานไดงายขน และสดทายเกดก าไรกบบรษทฯโดยใชตนทนต า
2. กระจายสารสนเทศจากทหนงไปยงอกทหนงในพนททกวางมากเทาทตองการ เชน บรษทฯ อซซ มส านกงานใหญอยทประเทศญปน และมสาขามากมายในประเทศตางๆ สามารถท าใหมสารสนเทศเดยวกน ใชรวมกน และยงสามารถตด ข นตอนงาน ทซ าซ อนลงได ท า ใหก ารท า ง าน มประสทธภาพมากขน
3. การเชอมตอระบบกบธรกจอน และสามารถสรางรายไดในชองทางใหม อกทงยงชวยผลกดนและเปนหนทางใหบรษทเตบโตหรอขยายธรกจไดอยางรวดเรว
4. ชวยใหการประสานงานดขน การจดท า Web จ านวนมากนอกจากชวยการประสานงานภายในแลว หนสวนอนๆ กไดรบประโยชนดวย ชวยใหมการกระจายขาวสารถงกนไดอยางรวดเรวขน
5. ชวยในเรองการจดองคความร เรมตงแตหนวยงานยอยๆ รวมกนเปนรปบรษทฯ บรษทในเครอหนสวนสารสนเทศกระจายถงกน สงผลใหเกดเปนการเรยนรในสงใหมๆ ท าใหเกดเปนสงคมขอมลขาวสารทกวางสรางสรรคความรใหมๆ ใหเกดขน
6. เปนชองทางหาธรกจใหม
30
อปสรรคของการท าอนทราเนตและเวบบรษทฯ หรอเวบองคกรหลายๆ องคกร ทน าอนทราเนตมาใช บางบรษทกประสบความส าเรจ บางบรษทกประสบกบความลมเหลว ซงมสาเหตตางๆ พอสรปไดดงน
1. ผบรหารไมไดใหความสนใจอยางจรงจงผบรหารไมปรบตว ท าใหพนกงานไมกระตอรอรนในการใชระบบ
2. ขอมลทอยบนระบบไมทนสมย ท าใหเกดความไมนาเชอถอ 3. ปญหาเครองท างานชา ผใชเสยเวลารอขอมลนาน 4. ขอมลไมนาสนใจ ใชยาก ไมมเครองชวยใหเขาหา Information
ดงนนการทจะใหระบบอนทราเนตทพฒนาขนประสบผลส าเรจได ผบรหารจะตองใหความส าคญดวย โดยถอเปนนโยบายหลก โดยใหทกฝายมสวนรวมในการเสนอความคดเหน จดท า ซงจะท าใหเกดความรวมมอกนดวยความเตมใจ สะทอนใหเกดความรวมมอกนดวยความเตมใจ สะทอนใหเกดประโยชนกบบรษทฯ ในภาพรวม โดยไดรบการสนบสนนอยางจรงจงจากผบรหาร
(แหลงทมา: http://tuinuii.wordpress.com/2009/11/06/ อนทราเนต-intranetคออะไร)
2.5 Software Solution Appserv
AppServ คอโปรแกรมทรวบรวมเอา Open Source Software หลายๆ อยางมารวมกน
โดยม Package หลกดงน
- apache คอโปรแกรมทท าหนาทเปน Web Server - MySQL คอโปรแกรมทท าหนาทเปน Database Server - PHP คอ ภาษา PHP ทเอาไวเขยนโปรแกรมเกยวกบเวบ - phpMyAdmin คอ ตวควบคม MySQL Database ผานเวบไซต
โปรแกรมตางๆ ทน ามารวบรวมไวทงหมดน ไดท าการดาวนโหลดจาก Official Release ทงสน โดยตว AppServ จงใหความส าคญวาทกสงทกอยางจะตองใหเหมอนกบตนฉบบ เราจงไมไดตดทอนหรอเพมเตมอะไรทแปลกไปกวา Official Release แตอยางได เพยงแตมบางสวนเทานนทเราไดเพมประสทธภาพการตดตงใหสอดคลองกบการท างานแตละคน โดยทการเพมประสทธภาพนไมไดไปยง ในสวนของ Original Package เลยแมแตนอยเพยงแตเปนการก าหนดคา Config เทานน เชน Apache กจะเปนในสวนของ httpd.conf, PHP กจะเปนในสวนของ php.ini, MySQL กจะเปนในสวนของ my.ini ดงนนเราจงรบประกนไดวาโปรแกรม AppServ สามารถท างานและความเสถยรของระบบ ไดเหมอนกบ Official Release ทงหมด
31
จดประสงคหลกของการรวมรวบ Open Source Software เหลานเพอท าใหการตดตงโปรแกรมตางๆ ทไดกลาวมาใหงายขน เพอลดขนตอนการตดตงทแสนจะยงยากและใชเวลานาน โดยผใชงานเพยงดบเบลคลก setup ภายในเวลา 1 นาท ทกอยางกตดตงเสรจสมบรณระบบตางๆ กพรอมทจะท างานไดทนททง Web Server, Database Server เหตผลนจงเปนเหตผลหลกทหลายๆ คนทวโลก ไดเลอกใชโปรแกรม AppServ แทนการทจะตองมาตดตงโปรแกรมตางๆ ทละสวน
2.5.1 apache
เปนโปรแกรมทใชในการท าใหเครองคอมพวเตอรมคณสมบตเปน web server คอเครองคอมพวเตอรสามารถใหบรการตางๆ ทางดานเวบเพจไดเปนซอฟตแวรส าหรบเปดใหบรการเซ รฟเวอรบนโพรโทคอล HTTP โดยสามารถท างานไดบนหลายระบบปฏบตการ Apache พฒนามาจาก HTTPD Web Server ทมกลมผพฒนาอยกอนแลวโดยมกลมผพฒนาทไดเรยกตวเองวา กลมอาปาเช (Apache Group) และไดปลอยซอฟตแวร HTTPD เวบเซรฟเวอรทพฒนาโดยการน าเอาแพชหลายๆ ตวทผใช ไดพฒนาขนเพอปรบปรงการท างานของซอฟตแวรตวเดมใหมประสทธภาพมากยงขน
การทอาปาเชเปนซอฟตแวรทอยในลกษณะของโอเพนซอรสทเปดใหบคคลทวไปสามารถเขามารวมพฒนาสวนตางๆ ของอาปาเชได ซงท าใหเกดเปนโมดลทเกดประโยชนมากมาย เชน mod_perl, mod_python หรอ mod_php ซงเปนโมดลทท าใหอาปาเชสามารถใชประโยชนและท างานรวมกบภาษาอนได แทนทจะเปนเพยงเซรฟเวอรทใหบรการเพยงแคเอชทเอมแอลอยางเดยว นอกจากนอาปาเชเองยงมความสามารถอนๆ ดวย เชน การยนยนตวบคคล (mod_auth, mod_access, mod_digest) หรอเพมความปลอดภยในการสอสารผานโพรโทคอล https (mod_ssl) นอกจากนกยงมโมดลอนๆ ทไดรบความนยมใช เชน mod_vhost ท าใหสามารถสรางโฮสทเสมอน www.sample.com, wiki.sample.com, mail.sample.com หรอ www.ilovewiki.org ภายในเครองเดยวกนไดหรอ mod_rewrite เป นเครองมอทจะชวยให url ของเวบนนอานงายขน
2.5.2 MySQL
MySQL ถกพฒนามาจากโปรแกรม mSQL ซงมจะจดดอยและขอจ ากดอยมากโดยทางผพฒนาโปรแกรม MySQL ไดท าการแกไขขอบกพรองขอจ ากดตางๆ ทมอยมากมายนใหมประสทธภาพในการท างานมากยงขนจนกลายมาเปนตวโปรแกรม MySQL และสรางใหตวโปรแกรมสนบสนนการท างานระบบปฎบตการทงระบบปฏบตการ window หรอlinux และทเดนไปกวานน ตวโปรแกรม MySQL ยงเปนของแจกฟรเพราะเปนโปรแกรม
32
ประเภท Open Source ซงมลขสทธในแบบ GPL MySQL เปนทนยมใชกนมากส าหรบฐานขอมลส าหรบเวบไซตและนยมใชงานรวมกบภาษาโปรแกรม PHP ซงมกจะไดชอวาเป นค จะเหนไดจากคมอคอมพวเตอรตางๆ ทจะสอนการใชงาน MySQL และPHP ควบคกนไป นอกจากนหลายภาษาโปรแกรมทสามารถท างานรวมกบฐานขอมล MySQL ซงรวมถงภาษาซพลสพลส ปาสคาล ซชารป ภาษาจาวา ภาษาเพรล พเอชพไพทอน รบและภาษาอน ใชงานผาน API ส าหรบโปรแกรมทตดตอผาน ODBC หรอสวนเชอมตอกบภาษาอน (database connector) เชน เอเอสพสามารถเรยกใช MySQL ผานทาง MyODBC, ADO, ADO.NET เปนตน
โปรแกรมชวยในการจดการฐานขอมลและท างานกบฐานขอมลในการจดการฐานขอมล MySQL เราสามารถใชโปรแกรมแบบ command-line เพอจดการฐานขอมล(โดยใชค าสง: mysql และ mysqladmin ) หรอจะดาวนโหลดโปรแกรมจดการฐานขอมลแบบ GUIจากเวบไซตของ MySQL ซงคอ โปรแกรม: MySQL Administrator และ MySQL Query Browser. เปนตน หรอจะเปนโปรแกรม database.net กไดซงเปนโปรแกรมจดการฐานขอมลอกแบบนง สวนเชอมตอกบภาษาการพฒนาอน (database connector) มสวนตดตอ (interface) เพอเชอมตอกบภาษาในการพฒนาอนๆ เพอใหเขาถงฟงกชนการท างานกบฐานขอมลMySQL ไดเชน ODBC (Open Database Connector) อนเปนมาตรฐานกลางทก าหนดมาเพอใหใชเปนสะพานในการเชอมตอกบโปรแกรมหรอระบบอนๆ ส าหรบการเชอมตอกบภาษา PHP ยงมโปรแกรมอกตวเปนโปรแกรมบรหารพฒนาโดยผ อน ซงใชกนอยางแพรหลายและนยมกนเขยนในภาษาพเอชพเปนโปรแกรมเวบแอปพลเคชนชอ phpMyAdmin
2.5.3 ภาษาพเอชพ (PHP)
คอ ภาษาคอมพวเตอรในลกษณะเซรฟเวอร -ไซดสครปตโดยลขสทธอยในลกษณะโอเพนซอรส ภาษาพเอชพใชส าหรบจดท าเวบไซตและแสดงผลออกมาในรปแบบ HTML โดยมรากฐานโครงสรางค าสงมาจากภาษา ภาษาซภาษาจาวาและภาษาเพรล ซง ภาษาพเอชพนนงายตอการเรยนรซงเปาหมายหลกของภาษานคอใหนกพฒนาเวบไซตสามารถเขยนเวบเพจ ทมความตอบโตไดอยางรวดเรวการแสดงผลของพเอชพจะปรากฏในลกษณะ HTML ซงจะไมแสดงค าสงทผใชเขยน ซงเปนลกษณะเดนทพเอชพแตกตางจากภาษาในลกษณะไคลเอนต-ไซดสครปต เชน ภาษาจาวาสครปตทผชมเวบไซตสามารถอาน ดและคดลอกค าสงไปใชเองไดนอกจากนพเอชพยงเปนภาษาทเรยนรและเรมตนไดไมยาก โดยมเครองมอชวยเหลอและคมอทสามารถหาอานไดฟรบนอนเทอรเนต
33
ความสามารถการประมวลผลหลกของพเอชพ ไดแก การสรางเนอหาอตโนมต จดการค าสง การอานขอมลจากผใช และประมวลผลการอานขอมลจากดาตาเบส เปนตน
ความสามารถจดการกบคกกซงท างานเชนเดยวกบโปรแกรมในลกษณะ CGI ค าสงของพเอชพสามารถสรางผานทางโปรแกรมแกไขขอความทวไป เชน Note Pad ซงท าใหการท างานพเอชพสามารถท างานไดในระบบปฏบตการหลกเกอบทงหมดโดยเมอเขยนค าสงแลวน ามาประมวลผล Apache, Microsoft Internet Information Services (IIS) , Personal Web Server, Netscape และ iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd และอนๆ อกมากมาย พเอชพยงสามารถรองรบการสอสารกบการบรการในโพรโทคอลตางๆ เชน LDAPIMAPSNMP NNTPPOP3 HTTP COM (บนวนโดวส) และอนๆ อกมากมายคณสามารถเปด Socket บนเครอขายโดยตรงและตอบโตโดยใชโพรโทคอลใดๆ กได PHP มการรองรบส าหรบการแลกเปลยนขอมลแบบ WDDX Complex กบWeb Programming อนๆ ทวไปไดพดถงในสวน Interconnection พเอชพมการรองรบส าหรบ Java objects ใหเปลยนมนเปน PHP Object แลวใชงาน คณยงสามารถใชรปแบบCORBA เพอเขาส Remote Object ไดเชนกน
2.5.4 PHP MyAdmin
phpMyAdmin เปนโปรแกรมประเภท MySQL Client ตวหนงทใชในการจดการขอมลMySQL ผาน Web Browser ไดโดยตรงโดยสามารถทจะท าการสรางฐานขอมลใหมหรอท าการสราง TABLE ใหมๆ และยงม function ทใชส าหรบการทดสอบการ query ขอมลดวยภาษา SQL พรอมกนนน ยงสามารถท าการinsert delete update หรอแมกระทงใชค าสงตางๆ เหมอนกบกนการใชภาษา SQL ในการสรางตารางขอมลในสวนของการแสดงผลหนาแรกเมอเขาสหนาแสดงผลพเอชพมายแอดมน จะแสดงรนของพเอชพมายแอดมนทใชงานอยพรอมทงสามารถทจะจดการกบรหสอกขระทใชในการเกบขอมลฝงเมนดานซายจะแสดงขอมลของฐานขอมลปจจบน (DATABASE NAME) และเมอท าการเลอกแลวจะแสดงโครงสรางของตารางขอมล
phpMyAdmin ตวนจะท างานบน Web Server เปน PHP Application ทใชควบคมจดการ MySQL Server ความสามารถของ phpMyAdmin คอ
1. สรางและลบ Database
34
2. สรางและจดการตาราง (Table) เชน แทรก record, ลบ record, แกไข record หรอ Table, เพมหรอแกไข field ในตาราง
3. โหลดเทกซไฟลเขาไปเกบเปนขอมลในตารางได 4. หาผลสรป (Query) ดวยค าสง SQL และอกหลายๆ
ความสามารถท phpMyAdmin ท าได
(แหลงทมา:
http://www.appservnetwork.com/modules.php?name=Content&pa=showpage&pid=3)