2.1 2.1164).pdf2.1.2 ทฤษฎ เก ยวก บโปรแกรม 2.1.2.1 Microsoft Visual...
Transcript of 2.1 2.1164).pdf2.1.2 ทฤษฎ เก ยวก บโปรแกรม 2.1.2.1 Microsoft Visual...
บทท 2
ทฤษฎและวรรณกรรมทเกยวของ
2.1 ทฤษฏทเกยวของ
2.1.1 นยามค าศพท
2.1.1.1 การขาย หมายถง เอาของแลกเงนตรา, โอนกรรมสทธแหงทรพยสน
ใหแกกนโดยตกลงกนวาผรบโอนจะใชราคาแหงทรพยสนนน มหลายลกษณะ คอ ชาระเงนใน
ขณะทซอขายกน เรยกวา ขายเงนสด, ขายโดยยอมเกบเงนอนเปนราคาของในวนหลง
2.1.1.2 การสงซอ หมายถง เปนงบประมาณททางคณะกรรมการหมบานไดออกใบสง
ซอสนคา หรอ วตถ ทตองการทจะเอามาขายในรานคาชมชนของหมบานแวง เปนเพยงการออก
ใบสงซอเพอทคณะกรรมการจะไดไปซอสนคาตามทใบสงซอมานนเอง
2.1.1.3 การรบสนคา หมายถง การรบสนคาจากการไปซอสนคามาไวเพอขาย หรอ
การรบสนคาเขามาไวในบญชเพอเปนหลกฐานในการจายงบประมาณในการซอสนคานนเอง
2.1.1.4 การปนผล หมายถง การจายเงนปนผล ใหกบสมาชกหมบานทไดสมครเปน
สมาชกแลว และเมอสนปทางคณะกรรมการจะทาการคดเงนปนผลใหกบลกคา โดยคดจากการ
ซอของ ของลกคาแตละครง
2.1.1.5 การสมครสมาชก หมายถง การสมครเปนสมาชกหมบานเพอทจะไดมสทธใน
เรองของเงนปนผลของแตละสนป การเปนสมาชกจะเปนไดเฉพาะ ชาวบานในหมบานแวง
เทานน
2.1.2 ทฤษฎเกยวกบโปรแกรม
2.1.2.1 Microsoft Visual Studio.NET 2005
Microsoft Visual Studio.Net version 2005 เปนเครองมอทใชพฒนาโปรแกรมผาน
ระบบปฏบตการ Windows ทไดรบความนยมแพรหลาย เนองจากสามาร ถทจะใชในการพฒนา
โปรแกรมและระบบตงแตระบบพนฐานจนกระทงระบบทมความซบซอนในการใชงาน
Microsoft -Visual Studio.Net version 2005 หรอ VB.NET เปนเครองมอทใชในการพฒนา
โปรแกรมแบบ Visual Programming ซงไดรบการพฒนามาจากภาษา BASIC ( Beginners All
Purpose Symbolic Instruction Code) ซงภาษา BASIC นนจะเปนภาษาทสามารถเขาใจงาย
นอกจากนVB.NET ยงปรบเปลยนการพฒนาโปรแกรมเปนลกษณะ OOP
(Object-Oriented Programming) ดงเชนภาษาในการพฒนาโปรแกรมสมยใหมเชนเดยวกบ C++
, C# , Delphi และ Java นอกจากน Microsoft- Visual Studio.Net version 2005 ยงบรรจ
คณลกษณะอน ๆ ของไมโครซอฟต เชน Microsoft Access , Excess , Word เปนตน
สถาปตยกรรม .NET Framework
สงทเปนหวใจสาคญของ .NET กคอ .NET Framework ซงมสวนประกอบตาง ๆ
ดงแสดงในรปภาพท 2-1
ภาพท 2-1 สถาปตยกรรม .NET Framework
.NETไมไดเปนเพยงแคภาษาโปรแกรมเทานนแตยงถอเปนรากฐานในการพฒนา
แอพพลเคชนยคใหม ความสามารถทโดนเดนของ .NET กคอการทเราสามารถพฒนาโปรแกรม
ดวยภาษาใด ๆ กไดทสนบสนน Common Language Specifications (CLS) ของ .NET ซงชวยให
นกพฒนาสามารถเลอกใชภาษาโปรแกรมใดๆกได (Language neutral) โดย .NET Framework
จะมเครองมอทเรยกวา Visual Studio .NET ซงถอเปน Integrated Development Environment
(IDE)สาหรบการพฒนาโปรแกรมhttp://www.zoneaid.com/knowledge.php?knowledgeStatus=1
2.1.2.2 ทฤษฎ Microsoft SQL Server 2005
Microsoft SQL Server 2000 เปนโปรแกรมจดการฐานขอมลระดบ Server ทมขด
ความสามารถในการรองรบขอมลขนาดใหญทชวยใหการบรหารจดการฐานขอมลมระสทธภาพ
รวดเรว สนองตอบตอความตองการขององคกรขนาดใหญ Microsoft SQL Server 2000 เปน
ระบบฐานขอมลและโซลชนการวเคราะหทสมบรณแบบ ซงนาเสนอความนาเชอถอและ
ประสทธภาพ ดานการขยายระบบทเวบไซตและองคกรธรกจตองการ ดวยการรองรบ XML
และ HTTP ทาใหการเขาถงและการแลกเปลยนขอมลนนทาไดงายขน ในขณะทความสามารถ
ในการวเคราะหอนทรงพลงยงชวยเพมคณคาของขอมล และดวยความพรอมของระบบทดขน
ทาใหความสามารถในการทางานอยางตอเนองของระบบนนสงขนจดการกบงานในแตละวน
โดยอตโนมตไดดขน รวมทงปรบปรงเครองมอดานการเขยนโปรแกรม และการพฒนาความเรว
ดานการบรการไดดขนเชนกน
หลกการของการใชภาษา SQL Server คอ ภาษาทไมเปนกระบวน การ (Nonprocedural
Language) ผใชโปรแกรมจะใชคาสงเพอถามวาจะทาอะไร และไมจาเปนทจะตองอธบายวาทา
อยางไรนอกจากนนผใชระบบและโปรแกรมเมอรไมตองทราบถงกระบวนการจดเกบและ
รปแบบของขอมลทเกบกสามารถเขยน Query ไดตามหลกการแลวภาษาทใชเพอกา รจดการกบ
ฐานขอมลจะตองใหความสามารถในการสรางฐานขอมล และจดการกบโครงสรางของ
ตารางขอมล (Table) ไดและจะตองมความสามารถในกาจดการบรหารขอมล เชน การเพม ลบ
และแกไข ขอมล ( Add, Delete and Modify ) และจะตองในความสามารถในการสราง Query ท
ซบซอนในการแปลงขอมล เปนสารสนเทศทมความหมายในการดาเนนงานอกจากนนภาษา
จะตองม ฟงชนกของระบบทสามารถดาเนนการไดเองโดยงายและโครงสรางของภาษานาทจะ
งายในการเรยนอกดวย SQL Server จงเปนภาษาทสามารถตอบสนองความตองการดงกลาวนได
ทงหมด และยงมคาส งตาง ๆ ทใชสาหรบจดการฐานขอมล (หลกการวเคราะหและออกแบบ
ระบบฐานขอมล ผศ.ดร.สมจตร งามนจ อาจอนทร,2549)
ตารางท 2-1 คาสงตาง ๆ ทใชสาหรบจดการฐานขอมล
ค าสง ความหมาย SELECT เรยกคนขอมลในตาราง INSERT เพมแถวขอมลลงไปในตาราง UPDATE ปรบปรงแถวขอมลในตาราง DELETE ลบแถวขอมลในตาราง
รปแบบคาสง SELECT
SELECT <ชอคอลมนทตองการดขอมล> FROM <ชอตาราง> WHERE <เงอนไขตามทระบ>
รปแบบคาสง INSERT
INSERT INTO <ชอตารางทจะเพมขอมล> VALUES (<คาขอมลของแตละคอลมน>)
รปแบบคาสง UPDATE
UPDATE<ชอตารางทตองการปรบปรง> SET<ชอคอลมน > = <คาขอมล> WHERE<เงอนไขตามทระบ>
รปแบบคาสง DELETE
DELETE<ชอตารางทจะลบ> WHERE<เงอนไขตามทระบ>
2.1.2.3 โปรแกรม Crystal Reports 9.0
โปรแกรม Crystal Reports เปนโปรแกรมสาหรบการนาเสนอรายงานตาง ๆ ทเกดจาก
ฐานขอมลหรอจะเปนหนารายงานธรรมดา เชนเดยวกบโปรแกรม Word เพอแสดงในหนาจอ
หรอแสดงในหนากระดาษ จากเครองพมพ เดมทโปรแกรม Crystal Reports เปนเครองมอ
หนงทอยในโปรแกรมพฒนา Visual Basic ตงแตรนท 3 ซงตอมา เมอมาถง Visual- Basic 5
บรษท Seagate Software ทเปนบรษทสราง Hard disk ทเรารจกกนดไดเปนผพฒนา และถก
นามารวมกบ VB ในเวอรชนกอน ๆ จนถงเวอรชนปจจบนคอ VB .NET ซงจะตดตงมาพรอม
กบ Visual Studio. Net รปแบบการทางานของ Crystal Reports 9.0 จะเรมจากโปรแกรม Crystal
Reports Designer ทเปนโปรแกรมหลกสาหรบสรางรายงาน โดยจะมเครองตาง ๆ หรอโปรแกรม
ทออกแบบเอง เมอเราสรางรายงานไดแลวเรา จะแสดงบนหนาจอคอมพวเตอรของเรากไดห รอ
พมพเปนรายงานออกท างเครองพมพกได หากเราตองการบนทกกสามารถบนทกลงในไฟลทม
นามสกล .rpt หากเราตองการพมพรายงานอก กสามารถนาไฟลนขนมาใชงานได
2.1.3 ทฤษฎการวเคราะหและออกแบบระบบ
2.1.3.1 ความหมายของการวเคราะหและออกแบบระบบ
การวเคราะหและออกแบบระบบ(System Analysis and Design) หมายถงการสรางระบบ
สารสนเทศขนมาใหมในธรกจใดธรกจหนงหรอระบบยอยของธรกจนน
2.1.3.2 วงจรการพฒนาระบบ (SDLC)
นอกจากการสรางระบบสารสนเทศขนมาใหมแลวการวเคราะหและออกแบบระบบจะ
ชวยใหเกดขนตอนในการพฒนาระบบทดขน โดยแบงการทางานเปนระยะตาง ๆ โดยการพฒนา
ระบบ ตามปกตแลวจะประกอบไปดวยกลมกจกรรม 3 สวนหลก ๆ คอการวเคราะห การ
ออกแบบ และการนาไปใชซงสามกจกรรมนจะสามรถใชไดกบระบบขนาดเลก หากเปนระบบท
มความซบซอนจะใชการพฒนาโปรแกรมตามหลกของ SDLC (System Development Life
Cycle) ซงจะประกอบดวยระยะตาง ๆ ดงน
ขนตอนในวงจรพฒนาระบบ ชวยใหนกวเคราะหระบบสามารถดาเนนการ ไดอยางม
แนวทางและเปนขนตอนทาใหสามารถควบคมระยะเวลาและงบประมาณในการปฏบตงานของ
โครงการพฒนาระบบไดขนตอนตางๆ นนมลกษณะคลายกบการตดสนใจแกปญหาตามแนวทาง
วทยาศาสตร ( scientific Management )ไดแก การคนหาปญหา การคนหาแนวทางแกไขปญหา
การประเมนผลแนวทางแกไขปญหาทคนพบ เลอกแนวทางทดทสด และพฒนาทางเลอกนนให
ใชงานได สาหรบวงจรการพ ฒนาระบบ ( System Development Life Cycle : SDLC )
ประกอบดวย 7 ขนตอน ดงน
ภาพท 2-2 แสดงวงจรการพฒนาระบบ (SDLC) ทง 7 ขนตอน
1. การก าหนดปญหา จดมงหมายและเปาหมาย (Identifying Problems
Opportunities and Objective)
ระบบสารสนเทศจะเกดขนไดกตอเมอผบรหารหรอผใชตระหนกถงความตองการใช
ระบบสารสนเทศหรอระบบจดการเดม ไดแก ระบบจดเกบเอกสารในตเอกสารซงเปนเอกสารท
มความสาคญ ไมมประสทธภาพเพยงพอทจะตอบสนองความตองการในปจจบน ดงนนควร
ตองมการปรบปรงแกไข ซงเปนหนาทของนกวเคราะหระบบ ททาการแกไขปรบปรง
1. IdentifiyingProblems, Opportunities,and Objectives
2. Determining Information Requirement
3. Analyzing System Needs
4. Designing The Recommended System
5. Developing Documenting Software
7. Implementing And Evaluating The System
6. Testing And Maintaining The System
SDLC
2. การก าหนดความตองการสารสนเทศของผใช (Determining Information
Requirement)
เปนการเกบรวบรวมขอมลทเปนความตองการสารสนเทศของผใชระบบโดย
นกวเคราะหระบบจะตองใชเทคนคในการเกบขอมล (Fact Gathering Techniques) ไดแก การ
สมตวอยาง ศกษาเอกสารทมอย ตรวจสอบวธการทางานในปจจบน สมภาษณผใช และผทมสวนเกยวของกบระบบการศกษาเอกสารทมอย ไดแก คมอการทางาน แผนผงสายงานขององคกร รายงานตาง ๆ ทหมนเวยนอยในระบบการศกษาวธการทางานในปจจบนจะทาใหนกวเคราะหระบบทราบวาระบบงานจรง ๆ
3. การวเคราะหระบบ (Analyzing System Needs)
เปนการนาขอมลทรวบรวมไดจากการกาหนดความตองการสารสนเทศของผใช มาเขยนเปนไดอะแกรมการไหลของขอมล (Data Flow Diagram) พจนานกรมขอมล (Data Dictionary) และโครงสรางการตดสนใจ (structure Decision) มาชวยในการวเคราะหระบบ
4. การออกแบบระบบ (Designing the Recommended System)
นกวเคราะหระบบ จะนาแผนภาพทเขยนขนในขนตอนการวเคราะหมาแปลงเปน
แผนภาพลาดบชน (แบบตนไม ) เพอใหเห นภาพลกษณทแนนอนของโปรแกรมวาม
ความสมพนธกนอยางไร และโปรแกรมอะไรบางทจะตองเขยนใน และทาการตดสนใจวา
“จะตองทาอะไร (What)” แตในขนตอนการออกแบบจะตองรวา “จะตองทาอยางไร (How)”
5. การพฒนาซอฟตแวรและการจดท าเอกสาร (Developing Documenting
Software)
เปนขนตอนการทางานรวมกนระหวางโปรแกรมเมอรและนกวเคราะหระบบ เพอพฒนา
ซอฟตแวรและตองเตร ยมคมอการใชงานควบคไปดวย โดยโปรแกรมเมอรจะเขยนโปรแกรม
ตามขอมลทไดจากเอกสารขอมลเฉพาะทไดจากการออกแบบระบบ หากมการแกไขเปลยนแปล ง
ในระหวางการเขยนโปรแกรมจะตองปรกษากบนกวเคราะหระบบดวย
6. การทดสอบและการบ ารงรกษาระบบ (Testing and Maintaining the System)
กอนทจะนาระบบทสรางขน ไปใชจะตองมการทดสอบระบ บทงนผทดสอบอาจเปน
โปรแกรมเมอรเองหรออาจใหผใชระบบและนกวเคราะหระบบเปนผทดสอบ การทดสอบระบบ
ควรใชขอมลจรงมาใชในการทดสอบ หากเมอมขอผดพลาดจะไดทาการแกไขปรบปรง ซงกคอ
การบารงรกษาระบบ
7. การด าเนนงานและประมวลผล (Implementing and Evaluating the System)
เปนขนตอนสดทายในการดาเนนงานของระบบ จะตองมการจดอบรมผใชระบบกอน
การใชงานจรง และมการประเมนผล เพอใหทราบถงความพอใจของผใชระบบหรอส งทตอง
แกไข เมอมการพฒนาระบบตอไป
2.1.3.3 เครองมอทใชในการวเคราะหและออกแบบระบบ
ผงงาน (Flow chart)
ผงงาน คอ แผนภาพทมการใชสญลกษณรปภาพและลกศรทแสดงถงขนตอนการทางานของโปรแกรมหรอระบบทละขนตอน รวมไปถงทศทางการไหลของขอมลตงแตแรกจนไดผลลพธตามทตองการ การเขยนผงโปรแกรมจะประกอบไปดวยการใชสญลกษณมาตรฐานตาง ๆ ทเรยกวา สญลกษณ ANSI (American National Standards Institute) ในการสรางผงงาน ดงตวอยางทแสดงในตารางตอไปน (http://www.geocities.com/S_Analysis/FlowChart3_new.html)
ตารางท 2-2 แสดง สญลกษณในการเขยนผงงานโปรแกรม
สญลกษณ ชอสญลกษณและค าอธบาย
จดเรมตน / สนสดของโปรแกรม
ลกศรแสดงทศทางการทางานของโปรแกรมและการไหลของขอมล
ใชแสดงค าสงในการประมวลผล หรอการก าหนดคาขอมลใหกบตวแปร
แสดงการอานขอมลจากหนวยเกบขอมลสารองเขาสหนวยความจาหลกภายในเครองหรอการแสดงผลลพธจากการประมวลผลออกมา
การตรวจสอบเงอนไขเพอตดสนใจ โดยจะมเสนออกจารรปเพอแสดงทศทางการทางานตอไป เงอนไขเปนจรงหรอเปนเทจ
สญลกษณ ชอสญลกษณและค าอธบาย
แสดงจดเชอมตอของผงงานภายใน หรอเปนทบรรจบของเสนหลายเสนทมาจากหลายทศทางเพอจะไปสการทางานอยางใดอยางหนงทเหมอนกน
การขนหนาใหม ในกรณทผงงานมความยาวเกนกวาทจะแสดงพอในหนงหนา
การทางานดวยแรงงานคน
แสดงผลลพธออกทางจอภาพ
แผนภาพกระแสการไหลของขอมล (Data Flow Diagram : DFD)
Data Flow Diagram เปนเครองมอของนกวเคราะหระบบทชวยใหสามารถเขาใจ
กระบวนการทางานของแตละหนวยงาน ซงทราบถงการรบ / สงขอมล การประสานงานระหวาง
กจกรรมตาง ๆ ในการดาเนนงาน ซงเปนแบบจาลองของระบบ แสดงถงการไหลของขอมลทง
INPUT และ OUTPUT ระหวางระบบกบแหลงกาเนดรวมทงปลายทางของการสงขอมล ซงอาจ
เปนแผนก บคคล หรอระบบอน โดยขนอยกบระบบงานและการทางานประสานงานภายใน
ระบบนน นอกจากนยงชวยใหรถงความตองการขอมลและขอบกพรอง (ปญหา) ในระบบงาน
เดม เพอใชในการออกแบบการปฏบตงานในระบบใหม ทมประสทธภาพจะประกอบไปดวย
สญลกษณการไหลของขอมลทนยมใชมากทสด คอ แกนแอนดซารสน และ ยวรดอนดงน
ตารางท 2-3 สญลกษณสรางแผนภาพกระแสการไหลของขอมล
Gane and Sarson Symbol Name
Process
Data Flow
D1
Data Store
External Entity
สามารถแสดงรายละเอยดของ Symbol Name ไดดงน
1. สญลกษณกระบวนการหรอโพรเซส (Process) จะแทนดวยภาพสเหลยมกรอบ
มนหรอ ภาพวงกลม จะสามารถแบงออกเปน 2 สวน
1.1 ถาเปน Process สเหลยมกรอบมม ใหระบหมายเลขโพรเซสไวทสวนบน
ถาเปนสญลกษณโพรเซสรปวงกลม ใหระบหมายเลขโพรเซสไวดานบนของชอโพรเซส
1.2 ชอของโพรเซสเขยนไวดานลางของโพรเซส ตองอยในรปของคากรยาตาม
ดวยคานามเอกพจน ซงจะแสดงถงวธการรบขอมลและทาใหเกดผลลพธ เชน ขายสนคา จาย
ชาระเงน สมครสมาชก เปนตน
2. สญลกษณเสนทางการไหลของขอมลหรอ ดาตาโฟร (Data Flow)
แทนสญลกษณดวยเสนทมลกศรทศทางเดยว หรอสองทศทาง ระบชอของขอมลดวยคานาม
เอกพจนและคาคณศพทอยดานบน ดานลาง หรอทงสองดานของเสน แสดงถงทศทางการสงผาน
ขอมล ระหว างโพรเซสกบเอนตตภายนอก และโพรเซสกบดาตาสโตรเทานน เชน ขอมลการ
ขายสนคา ขอมลลกคา ใบเสรจรบเงน เปนตน
3. สญลกษณหนวยเกบขอมลหรอดาตาสโตร (Data Store)
แทนดวยรปสเหลยมผนผาปลายปดทงสองดานหรอปดทดานขวา แบงออกเปน
2 สวนคอ สวนท 1 ดานซายสดของดาตาสโตร ใชระบหมายเลขลาดบหรอรหสของดาตาสโตร
ซงจะตองไมซากน สวนใหญมกจะมการตงชอวา D1,D2…..Dn (n คอจานวนดาตาสโตร)
สวนท 2 ใชระบชอแฟมขอมลซงตองอยในรปคานามพหพจน เพอแสดงถงแหลงทเกบขอมล
หรอแฟมขอมลเชน ขอมลสนคา ขอมลลกคา เปนตน
ดงนนสามารถดจากตวอยางขนตอนการเขยน Data Flow Diagram จาก Data
Flow Diagram Level 0,Level 1, Level 2 ดงตวอยาง ของระบบจดจาหนายสนคาดงน
แผนภาพกระแสการไหลของขอมล(Context Diagram หรอ Data Flow Diagram
Level 0) หมายถง แผนภาพบรบทหรอคอนเทคไดอะแกรม เปนแผนภาพกระแสการไหลของ
ขอมลระดบแรกสดทแสดงถงภาพรวมการทางานทงหมดของระบบ รวมทงจะชใหเหนถง
ลกษณะงานและขอบเขตของระบบงานนน ๆ ทงหมดในภาพรวมดงตวอยางในภาพท 2-3
0
ภาพท 2-3 ตวอยางแผนภาพกระแสการไหลของขอมลระดบท 0 (Data Flow Diagram Level 0)
แผนภาพกระแสการไหลของขอมล (Context Diagram หรอ Data Flow Diagram
Level 1) หมายถง ในคอนแทคไดอแกรมจะแสดงถงภาพรวมของระบบสารสนเทศ
ทประกอบดวยเพยงหนงกระบวนการ ซงจะเสมอนกลองดา ทจะตองอธบายรายละเอยดในกลอง
ดานนใหเขาใจ โดยใชแผนภาพกระแสการไหลของขอมลระดบท 1 เพอขยายรายละเอยดของ
กระบวนการทางานหลก ของคอนเทคไดอะแกรม โดยยงคงมขอมลของเอนทตภายนอกและ
ดาตาโพรอยคงเดมดงภาพท 2-4
ภาพท 2-4 ตวอยางแผนภาพกระแสการไหลของขอมลระดบท 1 (Data Flow Diagram Level 1)
1
D1
,
2
D2
แผนภาพกระแสการไหลของขอมล (Context Diagram หรอ Data Flow Diagram
Level 2) หมายถง การแตกโพรเซส ในแผนภาพกระแสการไหลของขอมลระดบท 1 ออกเปนโพ
รเซสยอยตงแตสองโพรเซสขนไปในการตงชอหวเชน process 1.1 , 1.2 ไปเรอย ๆ ดงภาพท 2-5
ภาพท 2-5 ตวอยางแผนภาพกระแสการไหลของขอมลระดบท 2 (Data Flow Diagram Level 2)
แบบจ าลองความสมพนธเอนทต หรอ อ-อาร โมเดล (Entity-relationship model:
ERM) หรอ อ-อารไดอะแกรม (E-R Diagram)
1.1
D1
D1 1.2
1.3
D1
,
1
E-R Diagram หรอ Entity Relationship Diagram คอแผนผงแสดงความสมพนธระวาง
Entity หรอกลมขอมล ซงจะแสดงชนดของความสาพนธวาเปนชนด หนงตอหนง (One to One),
หนงตอหลายสง(One to Many), หรอ หลายสงตอหลายสง(Many to Many)ดงตวอยางทจะแสดง
ในตารางตอไปน
ตารางท 2-4 สญลกษณสรางความสมพนธระหวางเอนตต
รปแบบ ความหมาย
เอนทต หรอเราจะเรยกอกอยางหนง
วาตาราง จะแสดงดวยรปสเหลยมผนผา
เปนการเชอมความสมพนธ ระหวาง
เอนทต 2 เอนตตเขาดวยกน
ภาพท 2-6 แสดงความสมพนธระหวางเอนตตพนกงาน และขอมลการขายเปน
ความสมพนธแบบ 1:M หรอ One Two Many Relationship
พจนานกรมขอมล (Data Dictionary)
คอหนวยเกบรวบรวมขอมลในระบบ ซงพจนานกรมขอมลเปนองคกรประกอบ
ทางซอฟตแวร ททาหนาทเกบรายละเอยดเกยวกบขอมลภายในฐานขอมล เชน โครงสรางของแต
ละตาราง ใครเปนผสราง สรางเมอใด และแตละตารางประกอบดวยเขตขอมลใดบางมเขตขอมล
ใดเปนคยบาง เปนตน นกวเคราะหระบบ จะใชพจนานกรมขอมลในการเกบรวบรวมเปน
หลกฐานเอกสาร เพอจดการฐานขอมลในระบบ รวมทงบรรจขอมลของดาตาโฟร ดาตาสโตร
เอนทตภายนอกและโพรเซสทงหมด โดยในพจนานกรมประกอบดวย ขอมลหนวยหรอดาตา
เอลลเมนทของระบบ เชนรหสการขาย วนทขาย รหสลกคา เปนตน
M1
ตวอยาง พจนานกรมขอมลในแผนภาพกระแสการไหลของขอมลระดบท 1 จาก
ตารางท 2-4 ขางตนโดยมรปแบบพจนานกรมดงน
- Attribute Name = ชอแอททรบวทในดาตาสโตร หรอ ตาราง
- Description = คาอธบายแอททรบวท
- Data Type = ประเภทของขอมล เชน Text, Char, Varchar,Integer, Boolean
- Data Size = ขนาดของขอมล วาขอมลประเภทนจะใหมขนาดการเกบไดเทาไร
- Key Type = ประเภทของคย มสองประเภทคอ คยหลก PK และคยรอง FK
- Reference = ชอดาตาสโตร หรอชอตารางทถกเชองโยงโดยคยรอง
ตารางท 2-5 ชอตาราง : ขอมลสนคา
Attribute Name Description Data Type Data Size Key Type Reference
ProductID รหสสนคา Text 10 PK
ProductName ชอสนคา Text 50
Brand ยหอสนคา Text 20
Size ขนาด Text 10
Price ราคาขาย Double 10
2.1.4 ทฤษฎการจดการฐานขอมล
2.1.4.1 ความหมายของขอมล
ขอมล คอ ขอเทจจรง เกยวกบเหตการณ หรอขอมลดบทยงไมผานการประมวลผล
ยงไมมความหมายในการ นาไปใชงาน ขอมลอาจเปนตวเลข ตวอกษร สญลกษณ รปภาพ เสยง
หรอภาพเคลอนไหว (ทพวรรณ หลอสวรรณรตน 2545: 9)
2.1.4.2 ความหมายของฐานขอมล
ฐานขอมล หมายถง การรวบรวมขอมลทมความสมพนธกนมารวมไวดวยกนและ
ถกจดไวเปนระบบเพองายตอการจดการและประมวลผล จากการใชระบบการจดการฐานขอมล
(Database Management System) การเขาถงขอมลในฐานข อมลจงจาเปนตองมระบบการจดการ
ฐานขอมลมาชวยเรยกวา database management system (DBMS) เชน Microsoft Access,
Microsoft SQL Server 2000, Oracle ซงจะชวยใหผใชสามารถจดการกบขอมลตามความตองการ
ได ในหนวยงานใหญ ๆอาจมฐานขอมลมากกวา 1 ฐานขอมลเชน ฐานขอมลบคลากร ฐานขอมล
ลกคา ฐานขอมลสนคา เปนตน
2.1.4.3 ความหมายของการจดการฐานขอมล
การจดการฐานขอมล(Database Management) คอ การบรหารแหลงขอมลทถกเกบรวบรวมไวทศนยกลาง เพอตอบสนองตอการใชงานอยางมประสทธภาพและลดการซาซอนของขอมล รวมทงลดความขดแยงของขอมลทเกดขนภายในองคกรดวย เนองจากขอมลทงหมดถกเกบไวในตาราง แตระบบฐานขอมลนนไมอนญาตใหมการตดตอกบขอมลทอยภายในไดโดยตรง ตองกระทาผานระบบจดการฐานขอมล (Database Management System) หรอ DBMS จงจะใชงานขอมลได หนาทหลกของ DBMS คอ ทาใหการเรยกใชขอมลจากฐานขอมลเปนอสระจากสวนฮารดแวร (Data Independence) โดยทาหนาทจดการและควบคมความถกตอง ความซาซอน และความสมพนธระหวางขอมลภายในฐานขอมลแทนโปรแกรมเมอร สงผลใหผใชสามารถเรยกใชขอมลจากฐานขอมลไดโดยไมตองทราบถงโครงสรางทางกายภาพของขอมลในระดบลกแบบเดยวกบโปรแกรมเมอร ทาใหการใชงานฐานขอมลกระจายไปยงกลมผใชทวไปไมจากดอยเฉพาะในกลมโปรแกรมเมอรเหมอน ในอดตอกตอไป
2.1.4.4 ความหมายของการท า Normalzation
Normalization เปนวธการลดความซาซอนของขอมลทอาจเกดขนได มกใชในการ
ออกแบบฐานขอมลทเปน แบบ Relational Database ซงการทา Normalization นจะชวยใหความ
ซาซอนของขอมลลดลง และลดโอกาสทจะทาใหเกดความผดพลาดจากการประมวลผลขอมลใน
ตารางตางๆ ซงหลกการทา Normalization น จะทาการแบงตารางทมความซาซอนของขอมล
ออกมาเปนตารางยอย ๆ และใช Foreign Key เปนตวเชอมความสมพนธระหวางตาราง
หลกการท างานของ Normalzation
หลกการทา Normalization สงสาคญคอ"การลดความซาซอนและโอ กาสทจะเกดความ
ผดพลาดกบขอมลได " ซง การทจะทาใหบรรลจดประสงคดงกลาวจะตองมเกณฑและ ขนตอน
ในการวเคราะหขอมล โดยทวไปเราตองรกอนวาแตละตารางม field ใดบางสามารถบงชหรอ
คนหาขอมลได เชน เมอทราบรหสลกคา จ ะทาใหสามารถคนหา ชอ ,นามสกล ,ทอย ไดสาหรบ
เกณฑเหลานเราจะเรยกวา "Functionl Depen-dency" (FD) ใชสญลกษณ แทนการ
กาหนดคาระหวาง field คณสมบตทสาคญอกประการของการทา Normalization คอ เมอตาราง
ใดจดอยใน Normal Form ใด แลวจะตองมคณสมบตของ Normal Form ทตากวาเสมอ เชน ถา
ตาราง ใดเปน 3N จะตองมคณสมบตของ 1N และ 2N อยดวย
1. 1NF(First Normal Form)
ตารางใดจะถอวาอยใน 1 NF หรอไมจะพจารณาทก Fields ในตารางวาจะตอง"ไมม
Fields ใด Fields หนงท ลกษณะเปน Multivalued (Field เดยวแตเกบหลายๆ คาไวดวยกนเชน
ตารางท2-6 1NF
Car Table CID Brand Model Color
1ข-2776 Benz E220 ขาว,เหลอง
9ค-8412 Misubishi Lacer แดง,ขาว,
2ถ-5266 Toyota Corolla เหลอง,เทา
จากตวอยางดงกลาวจะเหนไดวา Field "Color"จะเปนลกษณะของ Multivalued ซงให
แกไขโดยแบง Field ดงกลาวออกเปนอกตาราง และดงเอา Primary Key ของตารางนนมาดวย
ดงตารางท 2-7
ตารางท 2-7 ตารางทถกใชอางอง
Car Table
CID Brand Model
1ข-2776 Benz E220
9ค-8412 Misubishi Lacer
2ถ-5266 Toyota Corolla
Color Table CID Color
1ข-2776 ขาว 1ข-2776 เหลอง 9ค-8412 แดง 2ถ-5266 เทา
2. 2NF(First Normal Form)
การทา 2 NF เนนการวเคราะหฟลดทเปน Primary Key โดยปรกตแลว Primary Key
ของตารางหนงๆ อาจประกอบดวย Field เพยง Field เดยวหรอหลาย Fieldsรวมอยดวยกนกได
โดยมหลกวา "หากมตารางใดทประกอบดวย Field เพยง Field เดยวจะถอวาตารางนนอย ใน
2NF" สวนตารางใดทมหลาย Fields รวมกนเปน Primary Key ใหแยกเอา Fields นนไปสราง
ตารางใหม ดงตวอยาง
ตารางท 2-8 ตวอยางการ Normalization ในระดบ 2NF
ตารางรายการขาย (InvoiceDetail Table) InvNo InvDt Pid Pname Brand Model Qu Cid Title Fname Lname Tel
101 10/7/00 M011 หมอหงขาว
Hitachi CX98 20 C01 นาย สรสทธ รกลน 522-1622
101 10/7/00 F002 ตเยน Whirlpool AB77 5 C01 นาย สรสทธ รกลน 522-1622
101 10/7/00 F003 ตเยน National CC87 10 C01 นาย สรสทธ รกลน 522-1622
102 11/7/00 F002 ตเยน Whirlpool AB77 15 C03 นาย สมศกด มกรวย
121-1111
102 11/7/00 F005 ตเยน Whirlpool CC87 30 C03 นาย สมศกด มกรวย
121-1111
InvNo InvDt Pid Pname Brand Model Qu Cid Title Fname Lname Tel
103 11/7/00 M011 หมอหงขาว
Hitachi CX98 2 C01 นาย สรสทธ ทองมาก
252-1111
104 12/7/00 F002 ตเยน Whirlpool AB77 5 C02 นส. การณ ทองสข
254-1545
จากตวอยางจะเหนไดวา Pid (รหสสนคา) ซงเปนสวนหนงของ Primary Key ในตาราง
InvoiceDetail (รายการขาย) สามารถไปกาหนดฟลด Pname(ชอสนคา),Brand (ยหอ),Model
(รน),ได ดงนนเราจงแยกเอาฟลด Pname,Brand,Model Pid ไปสราใหมอกตาราง และตงชอวา
Product(สนคา)ดงตารางดานลาง
นอกจากฟลด Pid แลวยงมฟลด InvNo (หมายเลขใบกากบสนคา) ทเปนสวนหนงของ
Primary Key และสามารถไปบงชฟลดอนๆ ไดคอ ฟลด InvDt (วนทใบกากบสนคา), และCid
(รหสลกคา) ดงนนเราจงแยกฟลด InvDt,Cid และ InvNo ไวในตาราง Invoice (ใบกากบสนคา)
ดงแสดงในตาราง
ตารางท 2-9 ตวอยางการ Normalization ในระดบ 2NF ตารางสนคา
ตารางท 2-10 ตวอยางการ Normalization ในระดบ 2NF ตารางใบกากบสนคา
InvNo InvDt Cid 101 10/7/00 C01 102 11/7/00 C03 103 11/7/00 C01 104 12/7/00 C02
Pid Pname Brand Model Price M011 หมอหง
ขาว Hitachi CX98 2500
F002 ตเยน Whirlpool AB77 8000 F003 ตเยน National CC87 6800
ตารางท 2-11 ตวอยางการ Normalization ในระดบ 2NF
ตารางรายการขาย (Invoice Detail Table) InvNo Pid Qu Cid Title Fname Lname Tel
101 M011 20 C01 นาย สรสทธ รกลน 522-1622 101 F002 5 C01 นาย สรสทธ รกลน 522-1622 101 F003 10 C01 นาย สรสทธ รกลน 522-1622 102 F002 15 C03 นาย สมศกด มกรวย 435-7207
จากตวอยางเปนการทาใหอยในระดบ 2NF เทานนจงสงเกตไดวาฟลด Cid ในตาราง
รายการการขายนนสามารถบงช ฟลด Title,Fname,Lname,Tel ได แตไมมการแยกออกไปเปนอก
ตาราง เนองจากฟลด Cid ไมเปนสวนหนงของ Primary Key และสงเกตไดวายงมขอมลท
ซาซอนอกจานวนมาก เชน ลกคาชอ "สรสทธ" จะตองเกบถง 3 record ดงนนจะตองทา
Normalization ในระดบตอไป
3. 3NF(First Normal Form)
หลกการทา 3NF คอ การทจะตองไมมฟลดใดในตาราง นอกจาก Primary Key ทามารถ
ไปกาหนดฟลดอน ดงตวอยางในขนตอน 2NF จะเหนไดวารหสลกคา (Cid) ไมไดเปน Primary
Key ของตารางแตสามารถไปกาหนด ชอ ,นามสกล ,คานาหนา และเบอรโทรศพท ดง นนตาราง
รายการการขาย (Invoice Datail Table) จงไมอยในรป 3NF
วธแกไข คอ แยกเอาฟลดตางๆ ทถกกาหนดโดยฟลดทไมใช Primary Key นนออกมาอก
ตารางหนงและดงเอาฟลดเปน ตวกาหนดนนมาเปนสวนรวมในตารางใหมนดวย ดงนนฟลด
Title,Fname,Lname,Tel,Cid จงถกแยกออกมาเปนตารางลกคา (Customer Table)
ตารางท 2-12 ตวอยางการ Normalization ในระดบ 3NF ตารางรายการขาย
Pid Pname Brand Model Price M011 หมอหงขาว Hitachi CX98 2500 F002 ตเยน Whirlpool AB77 8000 F003 ตเยน National CC87 6800
ตารางท 2-13 ตวอยางการ Normalization ในระดบ 3NF ตารางใบกากบสนคา
InvNo InvDt Cid 101 10/7/00 C01 102 11/7/00 C03 103 11/7/00 C01
ตารางท 2-14 ตวอยางการ Normalization ในระดบ 3NF ตารางการขายสนคา
InvNo Pid Qu 101 M011 20 101 F002 5 101 F003 10 102 F002 15 102 F005 30
ตารางท 2-15 ตวอยางการ Normalization ในระดบ 3NF ตารางการขายสนคา
Cid Title Fname Lname Tel C01 นาย สรสทธ รกลน 522-1622 C03 นาย สมศกด มกรวย 435-7207 C01 นาย สรสทธ ทองมาก 252-1111
หลงจากการทา 3NF แลวจะเหนไดวาขอมลในแตละตารางลดความซาซอนไดเปนอยาง
มาก ขอมลจะถกจดใหเปนระเบยบมากขน แตจะมตารางตางๆ มากมาย ซงความเรวในการเขาถง
ขอมลจะชาลง เนองจาก DBMS เพราะจะตองทาการอานขอมลจากหลายตาราง ตองคนหาขอมล
ทมความสมพนธกนจากหลายๆ ตาราง ผออกแบบระบบจงตองเปรยบเทยบขอด ขอเสย
แลวปรบใชใหเหมาะสมกบฐานขอมล การทา Normalization โดยทวไปจะทาอยในระดบ 3
(3NF)ซงงานขอมลของ เราจะมความซาซอนนอยมาก และการเขาถงขอมลกทาไดเรวเชนกน
http://cptd.chandra.ac.th/selfstud/Database/normalization.htm
2.2 วรรณกรรมทเกยวของ
2.2.1 ระบบการจดจ าหนายสนคารานหนองคายคอมแวร
พสณ มณกรรณ วตถประสงคของการศกษาเฉพาะกรณนคอการศกษาการใชงานของโปรแกรม Visual Basic.Net ในการจดทาโปรแกรม ดานการจดการฐานขอมลรานหนองคายแวร เพอนาผลการศกษาทไดไปใชประโยชนในการดาเนนงานซงขอบเขตในการทางานชองโปรแกรมคอสามารถทจะ เพม ลบ แกไข คนหา ขอมลสนคาทงหมดภายในรานทาการจดพมพรายงานตางๆ ออกมได เชน รายงานสนคาทงหมดรายงานตวแทนจาหนาย รายงานสรปรายไดประจาป
2.2.2 ระบบซอ-ขายน าอดลมรานค าชะอน าทพย
วระเดช กลวงศ วตถประสงคของการศกษาเฉพาะกรณน เปนการศกษาการใชงานของโปรแกรม Visual Basic.Net ในการจดทาโปรแกรมซอขายสนคา ของรานคาเพอนาผลการศกษาทไดไปใชประโยชนในการดาเนนงานซงขอบเขตในการทางานของโปรแกรมใหตรงตามความตองการผใชระบบงานซอขายใหมากทสด คอสามารถจดการกบสนคาตางๆ ไดคอ เพม ลบ แกไข และคนหา ขอมลการซอสนคาตดสตอกสน คา การตรวจสอบยอดคงเหลอสนคาและจดพมพเอกสารรายงานตางๆ เชน รายงานสนคา รายงานการเปลยนแปลงสนคา และยอดขายได นอกจากนยงนา Microsoft SQL Server 2005 เขามาใชในการตดตอกบฐานขอมลชวยใหฐานขอมล มความปลอดภยและสะดวกมากขน ประโยชนทไดจากกา รพฒนาระบบซอขาย และการนาระบบฐานขอมล ทมประสทธภาพกจะชวยในการรกษาความปลอดภย กบเอกสารการซอขายตางๆ ไดเปนอยางดนอกจากนยงประหยดเวลาในการจดการสนคาภายในรานอกดวย