1 / 43

การออกแบบฐานข้อมูล กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์

การออกแบบฐานข้อมูล กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์. THINAPHAN NITHIYUWITH. Email : suchada@pcru.ac.th. 3. 4. Relation : ระบบผลงานครู-อาจารย์. Appserve / phpMyadmin. Contents. 1. Database is…. 2. ขั้นตอนการออกแบบฐานข้อมูล. 5. สรุป Q&A. Database is.

libby
Download Presentation

การออกแบบฐานข้อมูล กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. การออกแบบฐานข้อมูลกรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ THINAPHAN NITHIYUWITH Email : suchada@pcru.ac.th

  2. 3 4 Relation : ระบบผลงานครู-อาจารย์ Appserve / phpMyadmin Contents 1 Database is… 2 ขั้นตอนการออกแบบฐานข้อมูล 5 สรุป Q&A

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

  4. ขั้นตอนการออกแบบฐานข้อมูลขั้นตอนการออกแบบฐานข้อมูล • การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล • พิจารณาข้อมูล ขจัดข้อมูลที่มีความซ้ำซ้อน • กำหนดตารางเพื่อใช้เก็บข้อมูล Data Dictionary

  5. การออกแบบฐานข้อมูล : กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ นายเมอร์โค คาสปาล

  6. การออกแบบฐานข้อมูล : กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ นายเมอร์โค คาสปาล mirko@pcru.ac.th

  7. การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูลการรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล • การรวบรวมข้อมูล ได้จากไหน ??? • จากรายงาน และความต้องการที่อยากให้ระบบมี • ความต้องการใช้ข้อมูล ได้จากไหน ??? • จากสิ่งที่เราต้องการให้ระบบมี เช่น • ต้องการให้มีระบบ loginเพื่อให้เจ้าหน้าที่เข้าไปจัดการข้อมูลประวัติส่วนตัว ข้อมูลผลงาน ของครูทุกคน โดยให้ระบุ username และ password

  8. การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูลการรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล • เมื่อเราพิจารณาจากรายงานทั้งสอง สามารถแบ่งกลุ่มของข้อมูลได้ ดังนี้ • ข้อมูลประวัติของครู ซึ่งประกอบด้วย รหัสครู ชื่อ-สกุลครู กลุ่มสาระ อีเมล์ และรูปภาพ • ข้อมูลผลงานของครู ซึ่งประกอบด้วย รหัสผลงาน ชื่อผลงาน ปีที่ได้รับ หน่วยงานที่มอบ

  9. พิจารณาข้อมูล ขจัดข้อมูลที่มีความซ้ำซ้อน • ทำไม? เราถึงต้องแบ่งข้อมูลประวัติครู กับ ข้อมูลของครู แยกออกจากกัน • ลองพิจารณาจากตัวอย่างข้อมูลต่อไปนี้

  10. พิจารณาข้อมูล ขจัดข้อมูลที่มีความซ้ำซ้อน • จะเห็นว่ามีข้อมูลซ้ำเกิดขึ้น คือ ข้อมูลประวัติของครู เช่น รหัส 0001 นายมนัส ... จะมีข้อมูลประวัติซ้ำถึง 3 แถว โดยในแต่ละแถวข้อมูลที่ไม่ซ้ำคือ ข้อมูลผลงาน เท่านั้น

  11. พิจารณาข้อมูล ขจัดข้อมูลที่มีความซ้ำซ้อน • การที่มีการเก็บข้อมูลซ้ำทำให้เกิดปัญหา ดังนี้ • เปลืองเนื้อที่ในการจัดเก็บข้อมูล • แก้ไขข้อมูล ก็ต้องตามแก้หลายที่ หากมีการแก้ไขไม่ครบทั้งหมด ก็ทำให้เกิดปัญหาความขัดแย้งของข้อมูลตามมา • ลบข้อมูล ก็ต้องตามลบหลายที่ หากมีการลบไม่ครบทั้งหมด ก็ทำให้เกิดปัญหาความขัดแย้งของข้อมูลตามมา อีกทั้งหากมีการลบข้อมูลผลงานของครูออก เช่น จะลบข้อมูลผลงานครูของ นางอัจฉรา แย้มเหมือน ออกทั้งสองผลงาน มีผลทำให้ต้องลบข้อมูลประวัติของ นางอัจฉรา ตามไปด้วย ทำให้ไม่มีข้อมูลประวัติของนางอัจฉรา ซึ่งจะเห็นว่าไม่ถูกต้อง • การเกิดค่าว่างขึ้น เช่น ข้อมูลของ นางสุรีพร ทับทิมพา ยังไม่มีการทำผลงาน จึงไม่มีข้อมูลผลงาน หากในโรงเรียนมี ครูที่ยังไม่ข้อมูลผลงานจำนวนมาก ก็ทำให้ข้อมูลตรงนี้เป็นค่าว่างเกิดขึ้น ซึ่งทำให้เปลืองหน่วยความจำ

  12. พิจารณาข้อมูล ขจัดข้อมูลที่มีความซ้ำซ้อน • ด้วยเหตุนี้จึงต้องทำการแยกข้อมูลออกเป็น 2 กลุ่ม ดังนี้ • ข้อมูลประวัติของครู ซึ่งประกอบด้วย รหัสครู ชื่อ-สกุลครู กลุ่มสาระ อีเมล์ และรูปภาพ • ข้อมูลผลงานของครู ซึ่งประกอบด้วย รหัสผลงาน ชื่อผลงาน ปีที่ได้รับ หน่วยงานที่มอบ

  13. พิจารณาข้อมูล ขจัดข้อมูลที่มีความซ้ำซ้อน ข้อมูลประวัติของครู ข้อมูลผลงานครู

  14. พิจารณาข้อมูล ขจัดข้อมูลที่มีความซ้ำซ้อน • เมื่อเราแยกข้อมูลออกมาเป็น 2 ตาราง ก็มีปัญหาตามมา คือ ทำให้ไม่รู้ว่าผลงานนี้เป็นของครูคนไหน?แล้วจะทำยังไงให้รู้ • ก็โดยการสร้างความสัมพันธ์ของทั้งสองตาราง โดยเอารหัสครูมาใส่เพิ่มที่ตารางผลงานครู เพื่อเชื่อมความสัมพันธ์

  15. การออกแบบฐานข้อมูล : กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ ข้อมูลผลงานครู ข้อมูลประวัติของครู

  16. การออกแบบฐานข้อมูล : กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ • จะเห็นได้ว่าสามารถแก้ปัญหาที่ได้กล่าวมาข้างต้นได้ • ลดความซ้ำซ้อน • แก้ไขข้อมูลหลายที่ • ลบข้อมูลหลายที่ • ความขัดแย้งของข้อมูล • การเกิดค่าว่าง (null)

  17. การออกแบบฐานข้อมูล : กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ • ลองมาพิจารณาข้อมูลประวัติครู

  18. การออกแบบฐานข้อมูล : กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ • จะเห็นว่ามีการเกิดข้อมูลซ้ำที่กลุ่มสาระ เพราะถ้าเรามองภาพว่าในหน่วยงานของเราในแต่ละกลุ่มสาระ มีอาจารย์ได้หลายคน หากกลุ่มการงานฯ มีอาจารย์สังกัด 10 คน ก็ทำให้เกิดปัญหาตามมา เช่น ถ้ามีการเปลี่ยนชื่อกลุ่มสาระ ก็ต้องตามแก้หลายที่ • เมื่อเป็นเช่นนี้ ก็ควรแยกข้อมูลกลุ่มสาระ ออกมาเป็นอีกชุดหนึ่ง และเมื่อแยกมาแล้วจะเห็นว่ามันดูแล้วก็ยังซ้ำอยู่ดี

  19. ข้อมูลกลุ่มสาระ ข้อมูลประวัติของครู

  20. ฉะนั้น วิธีแก้ปัญหา คือควรจะสร้างข้อมูลที่เป็น รหัส ขึ้นมาเพื่อใช้อ้างอิงข้อมูล และนำรหัสนี้ไปเชื่อมกับข้อมูลในตารางประวัติครู ดังนี้ ข้อมูลกลุ่มสาระ ข้อมูลประวัติของครู

  21. การออกแบบฐานข้อมูล : กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ • สรุป เราจะได้ข้อมูลออกมา 3 กลุ่ม คือ • ข้อมูลประวัติครู ประกอบด้วย รหัสครู ชื่อ-สกุล อีเมล์ รูปถ่าย และรหัสกลุ่มสาระ • ข้อมูลกลุ่มสาระ ประกอบด้วย รหัสกลุ่มสาระ ชื่อกลุ่ม • ข้อมูลผลงานครู ประกอบด้วย รหัสผลงาน ชื่อผลงาน ปีที่ได้รับ หน่วยงานที่มอบ และรหัสครู • จากข้อมูลทั้ง 3 กลุ่ม เรามาพิจารณาหา คีย์หลัก • คีย์หลักคืออะไร

  22. การออกแบบฐานข้อมูล : กรณีศึกษา ระบบฐานข้อมูลผลงานครู-อาจารย์ • คีย์หลัก คือ อะไร???? • คีย์หลัก Primary key เป็นข้อมูลที่สามารถบ่งบอกความเป็นเอกลักษณ์ หรือหนึ่งเดียวได้ เช่น หากมีการเก็บข้อมูลประชากร ในหมู่บ้านวังโค้ง ดังนี้ ชื่อ-สกุล ที่อยู่ เพศ หมายเลขบัตรประชาชน วันเดือนปีเกิด จะเห็นว่า คีย์หลัก ควรเป็น หลายเลขบัตรประชาชน เนื่องจากไม่มีใครซ้ำกันเลย สามารถดึงข้อมูลมาได้เพียงคนเดียว แบบนี้เรียกว่า เป็นเอกลักษณ์ • ทำไมต้องกำหนดคีย์หลัก? หากเรามีความต้องการค้นหาข้อมูลประวัติส่วนตัวของครูคนใดคนหนึ่ง เราต้องหาคีย์เวิร์ด ของข้อมูลประวัติส่วนตัวครูเพื่อที่จะดึงข้อมูลเพียงคนเดียวขึ้นมา คีย์เวิร์ดในที่นี้ก็คือ คีย์หลัก นั่นเอง • ฉะนั้นลองพิจารณาข้อมูลทั้ง 3 กลุ่มของเราว่าแต่ละกลุ่ม อะไรควรเป็นคีย์หลักดี

  23. กลุ่มสาระ ประวัติของครู • ประวัติครู ควรใช้ รหัสครู เป็นคีย์หลัก • กลุ่มสาระ ควรใช้ รหัสกลุ่มสาระ เป็นคีย์หลัก

  24. ผลงานครู ควรใช้ รหัสผลงาน เป็นคีย์หลัก ข้อมูลผลงานครู

  25. กำหนดตารางเพื่อใช้เก็บข้อมูลกำหนดตารางเพื่อใช้เก็บข้อมูล • Data Dictionary คือ การกำหนดรายละเอียดของข้อมูลในตารางฐานข้อมูล ว่าเราต้องเก็บข้อมูลอะไรบ้าง เป็นชนิดอะไร มีขนาดเท่าไร เพื่อสัมพันธ์กับการสร้างฐานข้อมูล และการเขียนโปรแกรม • รูปแบบของ Data Dictionary ชื่อตาราง xxx

  26. Data Dictionary • ระบบฐานข้อมูลผลงานครู-อาจารย์ประกอบด้วยตารางดังนี้ department (กลุ่มสาระการเรียนรู้)

  27. Data Dictionary teacher (ครู)

  28. Data Dictionary work (ผลงานครู)

  29. การสร้างฐานข้อมูลบน MySQL และใช้งาน php • ทำความรู้จักกับ โปรแกรม Appserv • โปรแกรม AppServ คือโปรแกรมที่รวบรวมเอา Open Source Software หลายๆ อย่างมารวมกันโดยมี Package หลักดังนี้         - Apache- PHP         - MySQL- phpMyAdmin • รายละเอียด AppServ ทุกเวอร์ชั่นhttp://www.appservnetwork.com/modules.php?name=Content&pa=showpage&pid=2

  30. Appserv • โปรแกรม Apache Web Serverเป็นโปรแกรมที่ใช้ในการทำให้เครื่องคอมพิวเตอร์มีคุณสมบัติเป็น Web server  คือเครื่องคอมพิวเตอร์นั้นสามารถให้บริการต่างๆ ทางด้านเว็บเพจได้ • PHPเป็นภาษาจำพวก scripting languageได้รับการพัฒนาและออกแบบมา เพื่อใช้งานในการสร้างเอกสารแบบ HTML โดยสามารถสอดแทรกหรือแก้ไขเนื้อหาได้โดยอัตโนมัติช่วยพัฒนา Web site และความสามารถที่โดดเด่นอีกประการหนึ่งของ PHP นั้น คือ database-enabled web page ทำให้เอกสารของ HTML สามารถที่จะเชื่อมต่อกับระบบฐานข้อมูล (database)ได้อย่างมีประสิทธิภาพและรวดเร็ว เป็นเครื่องมือที่สำคัญชนิดหนึ่งที่ช่วยให้เราสามารถสร้างเอกสารแบบ Dynamic HTML ได้อย่างมีประสิทธิภาพและมีลูกเล่นมากขึ้น

  31. Appserv • MySQL คือ ตัวระบบจัดการฐานข้อมูล ซึ่งก็คือตัวที่ทำหน้าที่เป็นตัวกลางในระบบติดต่อระหว่าง ผู้ใช้กับฐานข้อมูลเป็นที่นิยมใช้กันมากสำหรับทำเป็นฐานข้อมูลเว็บไซต์ ยังสามารถใช้ร่วมกับภาษาโปรแกรม PHP, ASP และภาษาโปรแกรมอื่นๆ ที่สามารถใช้ได้MySQLเป็นระบบฐานข้อมูลแบบโอเพนซอร์ท (Open Source Database) สำหรับจัดการระบบดาต้าเบส (Database System) ผ่านภาษาเอสคิวแอล (SQL) • phpMyAdminเครื่องมือในการจัดการฐานข้อมูล MySQL โดยเป็นส่วนต่อประสานที่สร้างโดยภาษาพีเอชพี ซึ่งใช้จัดการฐานข้อมูล MySQL ผ่านเว็บเบราว์เซอร์ โดยสามารถที่จะทำการสร้างฐานข้อมูลใหม่ หรือทำการสร้าง TABLE ใหม่ๆ และยังมี function ที่ใช้สำหรับการทดสอบการ query

  32. ข้อแตกต่างของ AppServ ในแต่ละเวอร์ชั่น • AppServ ได้แบ่งเวอร์ชั่นออกเป็น 2 ส่วนด้วยกัน คือ • 2.5.x คือเวอร์ชั่นที่นำ Package ใหม่ๆ นำมาใช้งานโดยเฉพาะ เหมาะสำหรับนักพัฒนาที่ต้องการระบบใหม่ๆ หรือต้องการทดสอบ ทดลองใช้งานฟังก์ชั่นใหม่ ซึ่งอาจจะไม่ได้ความเสถียรของระบบได้ 100% เนื่องจากว่า Package จากนักพัฒนานั้นยังอยู่ในช่วงของขั้นทดสอบ ทดลองเพื่อหาข้อผิดพลาดอยู่ • 2.4.x คือเวอร์ชั่นที่นำ Package ที่มีความเสถียรเป็นหลัก เหมาะสำหรับผู้ที่ต้องการความมั่นคงของระบบโดยไม่ได้มุ่งเน้นที่จะใช้ฟังก์ชั่นใหม่

  33. Appserv 2.4.0 • Download ได้ที่http://sourceforge.net/projects/appserv/files/ • Appserv 2.4.0 (PHP,Apache,MySQL)ประกอบด้วย • Apache 1.3.29 • PHP 4.3.4 • MySQL 4.0.18 • phpMyAdmin 2.5.6 • Perl 5.8.0

  34. จัดการข้อมูลด้วย phpMyAdmin 2.5.6 • เปิด IE แล้วพิมพ์ตรงช่อง address : 127.0.0.1 หรือ localhost ดังหมายเลข 1 • คลิกที่หมายเลข 2 เพื่อเข้าสู่หน้าจัดการ ฐานข้อมูล mySQL

  35. จัดการข้อมูลด้วย phpMyAdmin 2.5.6 • สร้างฐานข้อมูล ชื่อ portfolio ดังหมายเลข 3 • กำหนดภาษาไทย เป็น tis-620 ดังหมายเลข 4 แล้วคลิกที่ปุ่ม สร้าง

  36. จัดการข้อมูลด้วย phpMyAdmin 2.5.6 • สร้างตารางดังหมายเลข 5 คลิกปุ่ม ลงมือ ข้อมูลที่ใช้สร้างตามสไลด์ที่ 26 จะเห็นว่าชื่อตารางคือ department ประกอบด้วยข้อมูล 2 ฟิลด์ คือ รหัส กับ ชื่อกลุ่มสาระ

  37. จัดการข้อมูลด้วย phpMyAdmin 2.5.6 • กรอกข้อมูลรายละเอียดของตาราง department ดังนี้ แล้วคลิกปุ่มบันทึก ตามหมายเลข 6

  38. จัดการข้อมูลด้วย phpMyAdmin 2.5.6 • เมื่อคลิกปุ่มบันทึก จะปรากฏข้อมูลที่สร้าง เมื่อต้องการสร้างตารางต่อไปให้ไปที่ หมายเลข 7 หลังจากนั้น ก็กลับไปทำตามสไลด์ 36-37 ให้ครบอีก 2 ตาราง 7

  39. จัดการข้อมูลด้วย phpMyAdmin 2.5.6

  40. จัดการข้อมูลด้วย phpMyAdmin 2.5.6 • ตาราง teacher

  41. จัดการข้อมูลด้วย phpMyAdmin 2.5.6 • ตาราง work

  42. จัดการข้อมูลด้วย phpMyAdmin 2.5.6 • ฐานข้อมูล portfolio ประกอบด้วยตาราง 3 ตาราง คือ department , teacher , work

  43. Q&A

More Related