บทที่ 9 การใช้งานฐานข้อมูลด้วย Visual Basic 6.0

Download Report

Transcript บทที่ 9 การใช้งานฐานข้อมูลด้วย Visual Basic 6.0

บทที่ 9
การใช้ งานฐานข้ อมูลด้ วย Visual Basic 6.0
สื่ อชุดนี้เป็ นลิขสิ ทธิ์ของสำนักพิมพ์วงั อักษร ใช้ประโยชน์เพื่อกำรศึกษำเท่ำนั้น
แนวความคิดในการทาระบบ

1.
2.
3.
ในการพัฒนาระบบสามารถแบ่ งขั้นตอนออกเป็ น 3 ส่ วนหลัก ๆ คือ
ขั้นตอนการเก็บข้ อมูล และความต้ องการของระบบ : เป็ นการสารวจ
ความต้ องการของผู้ใช้ งาน เพือ่ นาไปเป็ นเงื่อนไขในการทาระบบ
ออกแบบฐานข้ อมูล : โดยอาศัยความต้ องการและเงื่อนไขทีไ่ ด้ จาก
ความต้ องการของผู้ใช้ ในขั้นตอนแรก
เขียน Code พัฒนาโปรแกรมและรวมถึงการทดสอบระบบ
วิธีการกาหนดความต้ องการสารสนเทศ

1.


วิธีการทีเ่ ราจะได้ สารสนเทศจากผู้ใช้ ตามแนวความคิดของ MIS
สามารถแยกออกเป็ น 2 วิธี ดังนีค้ อื
Enterprise Analysis(Business System Planning)
คือการทีเ่ ราจะต้ องสารวจความต้ องการ และเก็บสารสนเทศของผู้ใช้ แต่
ละแผนก, แต่ ละคน, แต่ ละระดับชั้นของการทางาน ทุกคนทีเ่ กีย่ วข้ องกับ
ระบบนั้น ๆ ทั้งหมด มีข้อดีคอื เราสามารถเก็บรายละเอียดได้ ครบถ้ วน
และสมบูรณ์ ส่งผลให้ เราสามารถออกแบบหน้ าจอ, ขั้นตอนการทางาน
และวิธีการใช้ งานได้ ตรงกับความต้ องการของผู้ใช้ ทุกประการ
แต่ วธิ ีนีม้ ีข้อเสี ยคือ เราจะต้ องใช้ เวลานานมากในการเก็บข้ อมูลทั้งหมดที่
มีอยู่ในระบบ โดยเฉพาะอย่ างยิง่ ถ้ าระบบทีม่ ีขนาดใหญ่ หรือประกอบไป
ด้ วยแผนกย่ อย ๆ หรือประกอบไปด้ วยเงื่อนไขต่ าง มากมาย
2.



Critical Success Factors(CSFs)
มีความแตกต่ างจากวิธีแรกคือ เราไม่ จาเป็ นต้ องสอบถามทุกคนทีอ่ ยู่ใน
ระบบนั้น ๆ เราเพียงสอบถามจากหัวหน้ าของแต่ ละแผนกว่ า ขั้นตอน
และวิธีการทางานระบบนั้น ๆ เป็ นอย่ างไร ข้ อดีของวิธีการนี้คอื เวลาที่
ใช้ ในการเก็บสารสนเทศของระบบน้ อยกว่ าวิธีการแรก
แต่ มีข้อเสี ยคือ ถ้ าสารสนเทศที่เราได้ มาไม่ ละเอียดพอ หรือไม่ ถูกต้ อง ก็
จะทาให้ เราอาจจะต้ องแก้ไขระบบในภายหลังก็ได้ ส่ งผลให้ การ
ออกแบบระบบไม่ ตางตามความต้ องการของ
ผู้ใช้ งานได้
รู ปแบบของการเปลีย่ นแปลงระบบ
การเปลีย่ นแปลงจากระบบเดิมไปสู่ ระบบใหม่ ทพี่ ฒ
ั นาขึน้ มา ซึ่งมีอยู่ 4
ลักษณะคือ
1. Parallel Methods
 หมายถึง การใช้ งานระบบเดิมและระบบใหม่ ไปพร้ อม ๆ กันหรื อควบคู่กน
ั
ไป จนกว่ าจะเชื่อมั่นแล้วว่ าระบบใหม่ สามารถรองรับและไม่ มี
ข้ อผิดพลาดใดๆ เกิดขึน้
 ข้ อดีของการใช้ วธ
ิ ีนีค้ อื มีความปลอดภัยสู ง หรือมีความเสี่ ยงต่ อการการ
ผิดพลาดน้ อยทีส่ ุ ด เพราะถึงแม้ ว่า ระบบใหม่ จะมีข้อผิดพลาด แต่ กย็ งั คง
ใช้ ระบบเดิมต่ อไปได้ เพราะว่ าข้ อมูลต่ าง ๆ ยังคงถูกบันทึกอยู่ในระบบ
เดิมนั่นเอง
 ส่ วนข้ อเสี ยก็คอ
ื จะเกิดความซ้าซ้ อนในการทางาน เพราะว่ าผู้ใช้ จะต้ อง
นาข้ อมูลเข้ าไปทั้งในระบบเดิมและระบบใหม่ ตลอดเวลา ซึ่งส่ งผลให้ เกิด
ค่ าใช้ จ่ายในการดาเนินงานทีส่ ู งขึน้

2.



Cut Off Methods
หรือ Cutover Methods หมายถึง การนาระบบใหม่ เข้ าไปทดแทน
ระบบเก่าทั้งหมดทันที ไม่ มีการใช้ งานระบบเก่าอีกต่ อไป เป็ นวิธีที่
นามาใช้ เพือ่ ทดสอบด้ วยข้ อมูลทีม่ ีปริมาณมากพอทีจ่ ะแน่ใจแล้วว่ า
สามารถใช้ งานได้ อาจเป็ นการทดสอบข้ อมูลเก่าทั้งหมดว่ า ระบบใหม่
สามารถรองรับและให้ ผลการทางานถูกต้ องแล้ว
ข้ อดีของวิธีนีค้ อื ถ้ าระบบใหม่ ทางานถูกต้ อง และถูกออกแบบมาให้
สามารถรองรับกับการขยายตัวขององค์กรในอนาคต ก็จะส่ งผลให้ การ
ทางานขององค์ กรรวดเร็วและมีประสิ ทธิภาพมากขึน้
ข้ อเสี ยของ Cut Off คือ ถ้ าระบบใหม่ เกิดข้ อผิดพลาดขึน้ หรื อไม่
สามารถทางานต่ อไปได้ ก็จะเกิดความเสี ยหายต่ อองค์ กรได้ เช่ นกัน
3.

4.

Pilot Study Methods
หมายถึง การนาระบบใหม่ เข้ ามาทีละส่ วนหรือทีละแผนก เข้ ามาทดแทนระบบเก่า
เป็ นการเปลีย่ นทีละแผนก แล้วประเมินผลการทางานของระบบใหม่ ว่า ใช้ งาน
สมบูรณ์ หรือไม่ และจะขยายไปยังแผนกต่ อๆ ไป เมือ่ ระบบใหม่ สามารถแทนระบบ
เดิมได้ อย่ างสมบูรณ์ แล้ ว เช่ น แผนกจัดซื้อ เป็ นแผนกแรกทีใ่ ช้ ระบบใหม่ ซึ่งจะ
เปลีย่ นระบบทีอ่ ยู่ในแผนกจัดซื้อทั้งหมด ให้ ไปใช้ ระบบใหม่ ส่ วนแผนกอืน่ ๆ ยังคง
ใช้ ระบบเดิม เป็ นต้ น
Phased Approach Methods
หมายถึง การนาระบบใหม่ เข้ ามาแทนระบบเก่าเป็ นระดับๆ หรือเป็ นขั้นตอน เช่ น
ระบบซื้อ-ขาย อาจจะเปลีย่ นขั้นตอนของการซื้อให้ เป็ นระบบใหม่ ก่อน แต่ ระบบ
ขายยังคงใช้ ระบบเดิม เมือ่ ระบบซื้อใช้ งานระบบใหม่ ได้ สมบูรณ์ แล้ วก็จะเปลีย่ น
ระบบขายต่ อไปจนกระทัง่ สมบูรณ์ ท้งั ระบบ เป็ นต้ น
การออกแบบฐานข้ อมูลแบบ Master-Detail



การออกแบบฐานข้ อมูลแบบ Master-Detail หรือเรียกอีกอย่างว่ า MasterTransaction ก็ได้
การออกแบบฐานข้ อมูลโดยอาศัยแนวคิดแบบ Master-Transactions จะมองตารางที่
อยู่ในฐานข้ อมูลหมดทุกตาราง แล้ วนามาแยกว่ าตารางดังกล่ าวจัดอยู่ในลักษณะใด
โดยใช้ ลกั ษณะของข้ อมูลทีตารางนั้นเก็บไว้ เป็ นตัวแบ่ งลักษณะของตาราง
ในทุก ๆ ระบบทีถ่ ูกนามาใช้ งาน สิ่ งทีไ่ ด้ มาก็คอื ข้ อมูลทีเ่ ป็ นรายละเอียดลูกค้ า,
รายละเอียดสิ นค้ า, รายละเอียดของการสั่ งซื้อสิ นค้ า, รายชื่อพนักงาน, ข้ อมูลทีเ่ กิด
จากการทางานของระบบ ฯลฯ เป็ นต้ น เป็ นข้ อมูลทีม่ กี ารแก้ ไข, เปลีย่ นแปลง
ตลอดเวลา เป็ นการเปลีย่ นแปลงทีเ่ กิดขึน้ วันต่ อวัน หรือเกิดขึน้ เสมอ เป็ นข้ อมูลทีม่ า
จากระดับการทางาน (Operation Level) ข้ อมูลเหล่ านีจ้ ะมีศัพท์ เรียกโดยรวมว่ า
Primitive Data(พริ-ทิ-ทีฟ ดาต้ า) หรือข้ อมูลขั้นต้ น




เมื่อระบบถูกใช้ งานไประยะหนึ่ง ก็จะได้ ข้อมูลทีเ่ กิดจากการทางานของ
ระบบ แล้วเราต้ องการสรุปข้ อมูลนีว้ ่ า ผลรวมเป็ นเท่ าใด ค่ าเฉลีย่ ทั้งหมด
เป็ นเท่ าใด โดยใช้ เงื่อนไขของเวลาเป็ นตัวกาหนด ข้ อมูลลักษณะนีเ้ รียกว่ า
Derived Data(ดี-ไรฟ์ ดาต้ า) หรือข้ อมูลทีถ่ ูกสรุปมาจากข้ อมูลขั้นต้ น
Derived Data เป็ นข้ อมูลทีถ่ ูกเก็บไว้ แล้วจะไม่ มีการแก้ไขอีกแล้ว เป็ น
ข้ อมูลทีถ่ ูกสรุปออกมาแล้วนาไปใช้ ในเชิงวิเคราะห์ หรือช่ วยในการ
ตัดสิ นใจ
จากลักษณะข้ อมูล 2 ประเภทคือ Primitive Data และ Derived Data เมื่อ
นามาเก็บในตารางแล้วจะทาให้ เราสามารถแบ่ งตารางออกเป็ น 5 ประเภท
ใหญ่ ๆ โดยจะขอใช้ ฐานข้ อมูลชื่อ nwind.mdb โดยปกติจะอยู่ทพี่ าธ
\Program Files\Microsoft Visual Studio\VB98\ เป็ นฐาน
ข้ อมูลทีใ่ ช้ ในระบบซื้อ-ขายสิ นค้ า มาประกอบในการอธิบาย ดังต่ อไปนี้



ประเภทที่ 1 : Master Table
ลักษณะของตารางประเภทนีค้ อื จะเก็บข้ อมูลหลักๆ ของระบบนั้นๆ
เอาไว้ ซึ่งจะประกอบไปด้ วย Primary Key และฟิ ลด์ ที่เกีย่ วข้ องกับ
ข้ อมูลหลักทั้งสิ้น ไม่ มีฟิลด์ อนื่ มาปะปน
ยกตัวอย่ างเช่ น ตารางทีใ่ ช้ เก็บข้ อมูลสิ นค้ า
การสร้ างความสั มพันธ์ ระหว่ าง Master Table
 อาจสรุ ปได้ ว่า กลุ่มตาราง Master ก็คอ
ื ตารางทีเ่ ก็บข้ อมูลหลัก ๆ ของ
ระบบไว้ นั่นเอง สาหรับส่ วนของการสร้ างความสั มพันธ์ ระหว่ างตาราง
Master สามารถแยกออกได้ 2 กรณีคือ
1. กรณีเชื่อมความสั มพันธ์ แบบ 2 ตาราง จะใช้ Primary Key ของตาราง
หนึ่งไปเก็บไว้ อกี ตารางหนึ่ง ซึ่งก็คอื กรณีฟิลด์ SupplierID กับฟิ ลด์
CategoryID ทีอ่ ยู่ในตาราง Products นั่นเอง โดยที่ฟิลด์ ท้งั 2 ทาหน้ าที่
ต่ างกัน ฟิ ลด์ SupplierID ใช้ ระบุตัวแทนจาหน่ ายสิ นค้ า ส่ วนฟิ ลด์
CategoryID ใช้ ระบุประเภทสิ นค้ า เป็ นต้ น
2. กรณีเชื่อมความสั มพันธ์ ต้งั แต่ 3 ตารางขึน้ ไป โดยการนา Primary Key
ของตาราง Master ที่ต้องการสร้ างความสั มพันธ์ กนั ตั้งแต่ 3 ตารางขึน้ ไป
เข้ ามารวมกันเป็ นตารางใหม่ ตารางนีจ้ ะเรียกว่ า Transaction จึงเป็ นทีม่ า
ของตารางประเภทที่ 2






ประเภทที่ 2 : Transaction Table
เป็ นตารางทีท่ าหน้ าที่เชื่อมความสั มพันธ์ ของตาราง Master ตั้งแต่ 3 ตารางขึน้ ไป
เพือ่ เงือ่ นไขใดเงื่อนไขหนึ่ง อาจกล่าวได้ อกี นัยหนึ่งว่ า เป็ นที่รวบรวม Primary Key
ของ Master นั่นเอง
การสร้ าง Transaction ก็จะมาจากเงื่อนไข หรือความต้ องการต่ าง ๆ (Business
Requirement) ทีเ่ ราได้ รับมาจากผู้ใช้ นั่นเอง ตาราง Transaction จะมีกตี่ าราง ก็
ขึน้ อยู่กบั เงือ่ นไขของระบบ, ความซับซ้ อนของระบบ และขนาดของระบบ
การรวบรวม Primary Key ของตาราง Master เพือ่ นามาสร้ างเป็ นตาราง
Transaction จะมีมากน้ อยเพียงใดก็จะขึน้ อยู่กบั ความต้ องการว่ า รวมมาเพือ่ รองรับ
เงือ่ นไขอะไร
ในการกาหนด Primary Key ของตารางประเภทนี้ คุณอาจจะใช้ ฟิลด์ ต้งั แต่ 2 ฟิ ลด์
ขึน้ ไป ทาหน้ าที่เป็ น Primary Key ของตารางใหม่ กไ็ ด้ หรืออาจจะสร้ างฟิ ลด์ ขนึ้ มา
ใหม่ เพือ่ ทาหน้ าที่เป็ น Primary Key โดยเฉพาะก็ได้ เช่ นกัน ตาราง Transaction
สามารถแบ่ งได้ เป็ น 2 ประเภทคือ




ตาราง Transaction-Detail เป็ นตารางที่เชื่อมความสั มพันธ์ ของตาราง
Master เพือ่ ระบุความสั มพันธ์ ข้นั ต้ นระหว่ างตาราง Master ก่อน
ตาราง Transaction-Detail เป็ นตารางที่ใช้ แสดงรายละเอียดว่ า
ความสั มพันธ์ ดังกล่าวมีรายการหรือรายละเอียดอะไรบ้ าง
ประเภทที่ 3 : System Table
เป็ นตารางที่สร้ างขึน้ มา เพือ่ ใช้ สาหรับกาหนดค่ าเริ่มต้ น เก็บค่ าเริ่มต้ น
หรือเก็บค่ าทีไ่ ด้ จากการทางานของระบบเอาไว้ เพือ่ นาไปใช้ เป็ นเงื่อนไข
ต่ อไป ถ้ าเราออกแบบฐานข้ อมูลโดยอาศัยทฤษฎี Normalization จะไม่ มี
ตารางประเภทนีป้ รากฏอยู่ในฐานข้ อมูล


ประเภทที่ 4 : Summerized Table
เป็ นตารางที่นาแนวความคิดของการทา Data-Warehouse มาใช้ ใน
ฐานข้ อมูล เป็ นตารางทีใ่ ช้ สาหรับเก็บ Derived Data หรือข้ อมูลสรุปต่ าง
ๆ แยกออกมาไว้ ต่างหกก เพือ่ ให้ สามารถดูข้อมูลได้ รวดเร็วขึน้ เช่ น สมมติ
ว่ าผู้บริหารต้ องการทราบยอดขายสรุปของสิ นค้ าแต่ ละประเภท ย้ อนหลัง
10 ปี ภายใน 1 ชั่วโมง ถ้ าในแต่ ละวันมีการซื้อ-ขายสิ นค้ าประมาณ 100
ครั้ง มีสินค้ า 20 ประเภท ใน 1 เดือน มีรายการขายมากกว่ า 60,000 เรคค
อร์ ด ใน 1 ปี จะเรคคอร์ ดมากกว่ า 720,000 เรคคอร์ ด ใน 10 ปี มากกว่ า
7,200,000 เรคคอร์ ด


ประเภทที่ 5 : Temporary Table
หรืออาจเรียกว่ า Active Table หรือ Working Table ก็ได้ เป็ นเทคนิค
อย่ างหนึ่งของโปรแกรมเมอร์ ในการแสดงข้ อมูลของตารางทีเ่ กีย่ วเนื่อง
กัน แต่ ไม่ ได้ มีความสั มพันธ์ กนั หรือบางครั้งอาจใช้ เก็บรายการไว้
ชั่วคราวก่อน แล้วค่ อยนาไปใช้ ในภายหลังก็ได้ เป็ นตารางที่ช่วยอานวย
ความสะดวกให้ การเขียนโค้ ดง่ ายขึน้ การออกแบบโดยอาศัยทฤษฎี
Normalization จะไม่ มีตารางประเภทนีป้ รากฏในฐานข้ อมูลเช่ นกัน