Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore วิชา การบริหารจัดการระบบฐานข้อมูลเพื่องานธุรกิจ

วิชา การบริหารจัดการระบบฐานข้อมูลเพื่องานธุรกิจ

Published by lavanh9979, 2021-08-23 05:03:09

Description: วิชา การบริหารจัดการระบบฐานข้อมูลเพื่องานธุรกิจ

Search

Read the Text Version

บทท่ี 9 ความปลอดภัยของฐานขอ้ มูล | 175 ขนั้ ตอนท่ี 3. เม่ือตอ้ งการยกเลกิ การเชอื่ มต่อให้พมิ พค์ าว่า exit เพอ่ื ออกจากการเช่อื มต่อ mysql> exit Bye 9.4 การสร้างบญั ชผี ูใ้ ชฐ้ านขอ้ มูล MySQL ในการสร้างบัญชีผู้ใช้ฐานข้อมูล MySQL หรือ user ใช้คาสั่ง CREATE USER ซ่ึงมีรูปแบบ ของคาสัง่ ดังน้ี รปู แบบของคาสั่ง CREATE USER 'userName'@'localhost' IDENTIFIED BY 'password' [PASSWORD EXPIRE INTERVAL day DAY]; userName หมายถงึ ช่อื ของผูใ้ ชง้ านฐานข้อมูล password หมายถึง รหสั ผ่านของ userName นัน้ ๆ PASSWORD EXPIRE INTERVAL day DAY สาหรับกาหนดวนั หมดอายขุ องรหัสผา่ น day วนั ตวั อยา่ ง 9.1 การสร้างบัญชีผ้ใู ช้ CREATE USER 'nirun'@'localhost' IDENTIFIED BY '12345'; ภาพที่ 9.7 การสร้าง user ใหมช่ ่อื nirun ทม่ี า : ผเู้ ขียน การบรหิ ารจัดการระบบฐานขอ้ มูลเพื่องานธุรกิจ

176 | บทท่ี 9 ความปลอดภยั ของฐานข้อมูล เป็นการสร้างบัญชีผู้ใช้ใหม่ช่ือ nirun และกาหนดรหัสผ่านคือ '12345' ในการสร้างบัญชีผู้ใช้ สามารถสร้างไดพ้ รอ้ มกนั หลาย ๆ บญั ชผี ู้ใช้ด้วยคาสั่งเพียงคาสงั่ เดยี วดังตวั อย่างด้านล่าง ตัวอยา่ ง 9.2 การสร้างบัญชีผใู้ ช้พร้อมกันหลายๆ user CREATE USER 'user1'@'localhost' IDENTIFIED BY 'passwordUser1', 'user2'@'localhost' IDENTIFIED BY 'passwordUser2', 'user3'@'localhost' IDENTIFIED BY 'passwordUser3'; 9.5 การลบบัญชผี ้ใู ช้ MySQL ในฐานขอ้ มลู MySQL สามารถลบบัญชีผู้ใช้โดยใช้คาสั่ง DROP USER รูปแบบ DROP USER userName; userName บัญชีผู้ใชท้ ีต่ ้องการลบ ตวั อยา่ ง 9.3 การลบบัญชีผูใ้ ช้ MySQL DROP USER 'nirun'@'localhost'; เป็นการลบบัญชีผใู้ ช้ชือ่ nirun ออกจากฐานข้อมูล ภาพท่ี 9.8 ลบบญั ชีผใู้ ช้ nirun ออกจากฐานข้อมลู ที่มา : ผู้เขยี น การบรหิ ารจัดการระบบฐานขอ้ มูลเพอ่ื งานธุรกิจ

บทที่ 9 ความปลอดภยั ของฐานขอ้ มูล | 177 การลบบัญชผี ู้ใช้สามารถลบไดม้ ากกว่า 1 บัญชผี ู้ใช้ด้วยคาสัง่ เพียงคาสั่งเดยี วดังตวั อย่าง ด้านล่าง ตวั อย่าง 9.4 การลบบญั ชีผู้ใช้มากกว่า 1 บญั ชีผู้ใช้ DROP USER 'user1'@'localhost', 'user2'@'localhost'; จากตัวอย่างเป็นการลบบญั ชีผใู้ ช้ user1 และ user2 พรอ้ มกัน 9.6 การกาหนดสิทธิใหแ้ ก่บญั ชีผูใ้ ช้ ฐานข้อมลู MySQL สามารถกาหนดสทิ ธใิ นการเข้าถงึ ข้อมลู ในฐานขอ้ มลู ทาให้ข้อมูลมีความ ปลอดภัย (security) และเป็นการป้องกนั ผใู้ ช้ท่ีไม่มีสทิ ธิในการเรียกใช้ข้อมูลนาขอ้ มูลจากฐานข้อมูล มาใช้ อนั อาจจะเกิดผลเสยี กับระบบฐานข้อมูลได้ การกาหนดสิทธิในการเขา้ ถงึ ข้อมูลเปน็ หนา้ ที่ของ ผูด้ ูแลระบบฐานข้อมูล (Database Administrator) ในการกาหนดให้สิทธิ หรือบัญชีผู้ใช้ที่ได้รบั มอบ สทิ ธิ (Authorization) คาสงั่ ทีเ่ กี่ยวกบั สิทธใิ นการใชข้ ้อมลู มี 2 คาส่ังหลัก ๆ ได้แก่ 1. คาสั่ง GRANT กาหนดสิทธผิ ใู้ ชง้ านระบบฐานข้อมูล 2. คาสง่ั REVOKE ยกเลกิ สทิ ธผิ ใู้ ช้ฐานข้อมูล โดยผใู้ ช้งานสามารถแสดงข้อมูลสทิ ธิผู้ใชฐ้ านข้อมูลดว้ ยคาส่ัง SHOW GRANTS การกาหนด สิทธิ สามารถกาหนดให้กบั ระดบั ต่าง ๆ ไดด้ ังต่อไปนี้ 1. Global Privileges เป็นสิทธทิ ่ีผใู้ ชฐ้ านขอ้ มูลสามารถใช้ไดก้ ับทกุ ๆ ฐานขอ้ มลู 2. Database Privileges เป็นสทิ ธทิ ่ีผใู้ ชฐ้ านข้อมลู สามารถใชไ้ ด้กบั ฐานข้อมูลท่รี ะบเุ ท่านนั้ 3. Table Privileges เป็นสทิ ธทิ ่ีผใู้ ช้ฐานขอ้ มูลสามารถใชไ้ ด้กับตารางทรี่ ะบุเทา่ นนั้ 4. Column Privileges เปน็ สทิ ธิท่ีผู้ใชฐ้ านขอ้ มลู สามารถใชไ้ ด้กบั คอลมั นท์ ่รี ะบเุ ทา่ นนั้ 5. PROCEDURE และ FUNCTION เป็นสิทธิท่ีผู้ใช้ฐานข้อมูลสามารถใช้ได้กับฟังก์ช่ันหรือ โพชเิ ยอร์ ยกตัวอย่างการกาหนดสิทธิให้กับตาราง โดยมีสิทธิต่างๆ ดังต่อไปน้ี SELECT, INSERT, UPDATE, DELETE, INDEX, CREATE, ALTER, DROP, GRANT OPTION หรือ ALL โดยสิทธิเหล่าน้ี สามารถกาหนดรวมกนั ได้ การบรหิ ารจัดการระบบฐานขอ้ มูลเพื่องานธุรกิจ

178 | บทที่ 9 ความปลอดภัยของฐานข้อมูล รูปแบบ   GRANT privileges ON object TO user;  privileges หมายถงึ สทิ ธิตา่ ง ๆ ที่ผู้ดแู ลระบบกาหนดใหก้ บั user  object หมายถงึ ส่งิ ทต่ี อ้ งการกาหนดสิทธิให้ เช่น ฐานขอ้ มลู , ตาราง  user หมายถึง บัญชีผู้ใช้งาน ตาราง 9.1 สทิ ธทิ ี่ผูใ้ ชฐ้ านข้อมูล (Privileges) สทิ ธิ ความหมาย SELECT สามารถการดาเนินการคาสัง่ SELECT ได้ INSERT สามารถการดาเนินการเพ่มิ ข้อมลู ได้ UPDATE สามารถการดาเนินการปรับปรงุ ได้ DELETE สามารถการดาเนินการคาสงั่ ลบขอ้ มลู ได้ INDEX สามารถสรา้ งดชั นี (INDEX) บนตารางทมี่ ีอยู่ได้ CREATE สามารถสรา้ งตารางได้ ALTER สามารถปรับปรงุ โครงสร้างของตารางได้ DROP สามารถลบตารางได้ GRANT OPTION สามารถกาหนดสิทธทิ ตี่ นเองมอี ยใู่ ห้กบั ผูอ้ ื่นได้ ALL ใหด้ าเนินการสทิ ธิ์ท้งั หมดยกเวน้ GRANT OPTION ได้ ตวั อย่าง 9.5 การกาหนดสิทธิให้กบั ผู้ใช้ การกาหนดสิทธิให้กบั ผู้ใช้ nirun ใหส้ ามารถ SELECT, INSERT, UPDATE และ DELETE ตาราง product ด้วยคาสัง่ GRANT ดงั น้ี   GRANT SELECT, INSERT, UPDATE, DELETE ON otop.product TO 'nirun'@'localhost'; หมายเหตุ : otop.product หมายถงึ ตาราง product ในฐานข้อมูล otop การบรหิ ารจัดการระบบฐานขอ้ มูลเพ่อื งานธุรกจิ

บทท่ี 9 ความปลอดภัยของฐานขอ้ มูล | 179 ตัวอย่าง 9.6 การกาหนดสทิ ธใิ หก้ ับผใู้ ช้ใหก้ บั ทุกๆตาราง การกาหนดสิทธิให้กบั ผใู้ ช้ nirun ให้สามารถ SELECT, INSERT, UPDATE และ DELETE ทุกๆตาราง ในฐานข้อมูล otop ดว้ ยคาส่งั GRANT ดังนี้ GRANT SELECT, INSERT, UPDATE, DELETE ON otop.* TO 'nirun'@'localhost'; หมายเหตุ : otop.* หมายถงึ ทกุ ๆ ตารางในฐานขอ้ มูล otop ตวั อย่าง 9.7 การกาหนดสิทธิทกุ สิทธิ ใหก้ ับผู้ใชบ้ นตาราง product การกาหนดสิทธิ ALL ให้กบั ผู้ใช้ nirun บนตาราง product ในฐานข้อมลู otop GRANT ALL ON otop.product TO 'nirun'@'localhost'; ตัวอยา่ ง 9.8 การกาหนดสทิ ธิ SELECT บนตาราง product ใหก้ ับผใู้ ช้ทุกคน GRANT SELECT ON otop.product TO '*'@'localhost'; 9.7 การยกเลกิ สิทธิในตาราง การยกเลิกสิทธิด้วยคาสั่ง REVOKE สิทธิต่าง ๆ มีดังต่อไปน้ี SELECT, INSERT, UPDATE, DELETE, INDEX, CREATE, ALTER, DROP, GRANT OPTION ห รือ ALL สิทธิเห ล่าน้ี สามารถ กาหนดรวมกนั ได้   รูปแบบ REVOKE privileges ON object FROM user;  privileges หมายถึง สทิ ธิต่าง ๆ  object หมายถึง ส่งิ ทเี่ ราต้องการยกเลกิ สทิ ธิ เชน่ ตาราง  user หมายถึง บญั ชีผูใ้ ช้งาน การบรหิ ารจัดการระบบฐานข้อมูลเพอ่ื งานธุรกจิ

180 | บทที่ 9 ความปลอดภัยของฐานข้อมูล ตวั อยา่ ง 9.9 การยกเลกิ สทิ ธิ UPDATE และ DELETE ตาราง product ของผู้ใช้ nirun ดว้ ยคาสัง่ REVOKE REVOKE UPDATE, DELETE ON otop.product FROM 'nirun'@'localhost'; ตวั อยา่ ง 9.10 การยกเลิกสิทธิ ALL ตาราง product ของผูใ้ ช้ nirun REVOK ALL ON otop.product FROM 'nirun'@'localhost'; ตวั อย่าง 9.11 การยกเลิกสทิ ธิ DELETE ตาราง product ใหก้ ับผใู้ ชท้ ุกคน REVOK DELETE ON otop.product FROM '*'@'localhost'; 9.8 การควบคุมความปลอดภยั ด้วยววิ การควบคุมความปลอดภัยด้วยการสร้างวิว เป็นการสร้างโครงสร้างข้อมูลใหม่โดยโครงสรา้ งวิว จะเป็นโครงสร้างท่ีไม่ได้จัดเก็บข้อมูลจริง เป็นการนาข้อมูลในตารางมาแสดง เป็นเพียงตารางเสมือน เป็นการป้องกันผู้ใช้งานฐานข้อมูลไม่ให้เห็นโครงสร้างข้อมูลท้ังหมดของฐานข้อมูล โดยสามารถ กาหนดให้แสดงข้อมูลเพียงบางส่วน หรือแสดงข้อมูลหลายๆตารางในวิวเดียวทาให้ผู้ใช้งานเข้าใจ ข้อมลู ได้งา่ ยขน้ึ อกี ทง้ั ยังสามารถกาหนดสทิ ธใิ ห้ผู้ใชง้ านบางท่านสามารถ โอภาส เอ่ียมสิริวงศ์. (2551:284) กล่าวว่า การสร้างวิวเป็นการสร้างตารางสมมุติข้ึนมาเพื่อ นาไปให้กับผู้ใช้บางกลุ่ม โดยให้ผู้ใช้เรานั้นสามารถเรียกดูข้อมูลที่ต้องการจากอยู่ท่ีเรากาหนดให้ เทา่ นัน้ ภาพท่ี 9.9 View2 ทส่ี ร้างมาจากตาราง T1 และ T2 ทมี่ า : ผ้เู ขยี น การบริหารจัดการระบบฐานข้อมูลเพือ่ งานธุรกจิ

บทท่ี 9 ความปลอดภยั ของฐานข้อมูล | 181 ตาราง Supplier SupplierName SupplierAddress SupplierProvince SupplierID SupplierMobile 99 หมู่ 9 ต.เฝ้าไร่ อ.เฝา้ ไร่ หนองคาย 0883126789 1 กลมุ่ เกษตรกรเลยี้ งผึง้ บ้านเฝ้าไร่ 12 หมู่ 11 ต.น้ากอ้ อ.หล่มสกั เพชรบุรณ์ 0989106957 89 หมู่ 10 ต.นาดี อ.หนองแสง อดุ รธานี 0891234576 2 กลมุ่ แปรรปู มะขามหวานน้ากอ้ 23 หมู่ 45 ต.กมุ ภวาปี อ.กมุ อดุ รธานี 0859108754 51 หมู่ 2 ต.ปทุมวาปี อ.สอ่ ง สกลนคร 0896781670 3 ชุมชนแปรรูปอาหารบา้ นไผ่สที อง 2 หมู่ 2 ต.กกแดง อ.นิคมคา มกุ ดาหาร 0876428201 4 กล่มุ ผา้ ซน่ิ ตีนจกรัตนา 5 กล่มุ หตั ถกรรมทอผ้าพ้นื เมอื งสอ่ งดาว 6 ชุมชนไขเ่ คม็ เสริมไอโอดนี บ้านหนองสระพัง ตาราง Category CategoryID CateName 1 อาหาร 2 เคร่อื งดม่ื 3 ผ้า เครอ่ื งแตง่ กาย 4 ของใช้ ประดับ ตกแตง่ 5 สมนุ ไพรท่ไี ม่ใชอ่ าหาร ตาราง Product ProductID SupplierID CategoryID ProductName Price Unit 12 5 ครีมมะขาม 50.00 ตลบั 33 43 1 ปลาส้มบ้านไผ่สที อง 150.00 หอ่ 52 65 1 นา้ พริกปลากรอบทรงเครื่องไผส่ ที อง 50.00 กระปกุ 74 85 1 มะขามแปรรูปสามรส 45.00 กระปกุ 96 10 5 3 ผ้าซน่ิ ย้อมครามสวยๆงาม 200.00 โต 11 5 12 6 3 ผ้าไหมซน่ิ ตนี จกลายโบราณ 2500.00 ผืน 13 2 14 1 3 ผ้าฝา้ ยลายพญานาค 1200.00 ผืน 15 1 22 5 1 ไข่เคม็ ไอโอดนี สมนุ ไพรใบเตย 50.00 กลอ่ ง 4 หมอนแปรรูปผ้าพืน้ เมือง 120.00 ใบ 3 เสอื ้ ผ้าพืน้ เมือง 300.00 ตวั 1 ไขเ่ คม็ ดนิ สอพอง 50.00 กลอ่ ง 1 มะขามกวนนา้ ก้อ 50.00 หอ่ 1 นา้ ผงึ ้ เดือน 5 250.00 ขวด 1 นา้ ผงึ ้ เฝา้ ไร่พอเพียง 200.00 ขวด 3 ผ้าซนิ่ ย้อมคราม 750.00 ผืน ภาพท่ี 9.10 โครงสรา้ งฐานข้อมลู สนิ ค้า หมวดหมสู่ นิ ค้าและผูผ้ ลิตสนิ ค้า ทม่ี า : ผเู้ ขียน จากภาพที่ 9.10 โครงสร้างฐานข้อมูลสินค้าเราสามารถสร้างวิวเพ่ือนาเสนอข้อมูลในรูปแบบที่ เราสนใจ ตัวอยา่ งการสร้างวิว View1 แสดงข้อมลู เพียงบางฟิลด์ View1 แสดงข้อมลู เพียงบางฟลิ ด์ การบรหิ ารจัดการระบบฐานขอ้ มูลเพื่องานธุรกิจ

182 | บทท่ี 9 ความปลอดภัยของฐานขอ้ มูล ProductID ProductName Price SupplierName CateName 1 3 ครีมมะขาม 50 กลุ่มหัตถกรรมทอผา้ พนื้ เมืองสอ่ งดาว สมุนไพรที่ไมใ่ ช่อาหาร 4 ปลาสม้ บา้ นไผส่ ีทอง 5 น้าพรกิ ปลากรอบทรงเครื่องไผส่ ที อง 150 กลุ่มเกษตรกรเลย้ี งผง้ึ บ้านเฝา้ ไร่ อาหาร 6 มะขามแปรรปู สามรส 7 ผ้าซิ่นยอ้ มครามสวยๆงาม 50 กลุ่มเกษตรกรเลย้ี งผ้งึ บ้านเฝ้าไร่ อาหาร 8 ผา้ ไหมซิ่นตีนจกลายโบราณ 9 ผ้าฝา้ ยลายพญานาค 45 กลุ่มเกษตรกรเลย้ี งผง้ึ บา้ นเฝ้าไร่ อาหาร 10 ไข่เคม็ ไอโอดนี สมนุ ไพรใบเตย 11 หมอนแปรรูปผ้าพนื้ เมอื ง 200 ชมุ ชนแปรรปู อาหารบ้านไผ่สที อง ผา้ เครอ่ื งแต่งกาย 12 เสื้อผ้าพนื้ เมอื ง 13 ไข่เค็มดนิ สอพอง 2500 ชุมชนแปรรูปอาหารบา้ นไผส่ ที อง ผา้ เครอื่ งแตง่ กาย 14 มะขามกวนนา้ กอ้ 15 น้าผ้ึงเดอื น 5 1200 ชมุ ชนแปรรูปอาหารบ้านไผส่ ที อง ผา้ เครอื่ งแต่งกาย 22 น้าผึ้งเฝา้ ไรพ่ อเพียง ผ้าซน่ิ ยอ้ มคราม 50 กลุ่มเกษตรกรเลี้ยงผ้งึ บ้านเฝ้าไร่ อาหาร 120 กลุ่มผา้ ซิ่นตีนจกรัตนา ของใช้ ประดบั ตกแต่ง 300 ชมุ ชนแปรรปู อาหารบ้านไผ่สที อง ผา้ เครอื่ งแตง่ กาย 50 กล่มุ เกษตรกรเล้ียงผง้ึ บา้ นเฝา้ ไร่ อาหาร 50 กลมุ่ เกษตรกรเล้ยี งผึ้งบา้ นเฝา้ ไร่ อาหาร 250 กล่มุ เกษตรกรเลย้ี งผง้ึ บา้ นเฝ้าไร่ อาหาร 200 กลุ่มเกษตรกรเลี้ยงผง้ึ บา้ นเฝา้ ไร่ อาหาร 750 ชุมชนแปรรปู อาหารบ้านไผส่ ที อง ผ้า เครอื่ งแตง่ กาย View2 แสดงขอ้ มลู ราคาที่รวม VAT 7% ของสนิ คา้ ประเภทอาหาร CREATE VIEW View2 AS ProductID ProductName Price IncludeVat CateName SELECT 3 product.ProductID, 4 ปลาสม้ บา้ นไผส่ ที อง 150 160.5 อาหาร product.ProductName, 5 นา้ พรกิ ปลากรอบทรงเครือ่ งไผ่สที อง 50 53.5 product.Price, 9 มะขามแปรรปู สามรส 45 48.15 อาหาร 12 ไข่เคม็ ไอโอดนี สมนุ ไพรใบเตย 50 53.5 อาหาร (product.Price*0.07)+product.Price AS includeVat, 13 ไข่เคม็ ดนิ สอพอง 50 53.5 อาหาร 14 มะขามกวนน้ากอ้ อาหาร category.CateName 15 นา้ ผึง้ เดอื น 5 นา้ ผง้ึ เฝ้าไรพ่ อเพียง 50 53.5 อาหาร FROM product INNER JOIN category 250 267.5 อาหาร ON product.CategoryID = category.CategoryID 200 214 อาหาร WHERE category.CategoryID = 1 9.9 การสรา้ งววิ โดยมรี ูปแบบคาสัง่ เอสคิวแอลในการสรา้ งววิ ดังนี้ (Oracle Corporation, 2017:1920) การบริหารจัดการระบบฐานข้อมูลเพื่องานธุ รกิจ

บทท่ี 9 ความปลอดภยั ของฐานข้อมูล | 183 รปู แบบ คาส่ังในการสร้างววิ CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }] VIEW view_name [(column_list)] AS คาสงั่ SELECT เพอ่ื เลือกข้อมูลจากตารางต่างๆ [WITH [CASCADED | LOCAL] CHECK OPTION] ตวั อย่าง 9.12 การสรา้ งววิ newview สาหรับแสดงรายการสนิ คา้ ท่ีมรี าคา (Price) มากกวา่ 500 บาท CREATE VIEW newview AS SELECT product.Price, product.unit, product.ProductName , product.SupplierMobile FROM product WHERE (product.Price > 500) ; ผลการสร้างวิว newview ววิ newview ProductName Price unit ผา้ ไหมซน่ิ ตีนจกลายโบราณ 2500 ผนื ผา้ ฝ้ายลายพญานาค 1200 ผนื ผา้ ซิน่ ย้อมคราม 750 ผืน ตัวอยา่ ง 9.13 การสร้างวิว udon แสดงข้อมูลสินค้าของ Supplier ทช่ี ือ่ จังหวัด มีคา 'ธานี' การบริหารจัดการระบบฐานขอ้ มูลเพ่อื งานธุรกิจ

184 | บทที่ 9 ความปลอดภัยของฐานข้อมูล CREATE VIEW udon AS SELECT product.ProductID, product.ProductName, product.Price, supplier.SupplierName, supplier.SupplierMobile FROM (product LEFT JOIN supplier ON (product.SupplierID = supplier.SupplierID)) WHERE (supplier.SupplierProvince like '%ธานี%') ววิ udon ProductID ProductName Price SupplierName SupplierMobile 0891234576 3 ปลาสม้ บา้ นไผส่ ีทอง 150 ชุมชนแปรรปู อาหารบ้านไผส่ ที อง 0891234576 4 นา้ พรกิ ปลากรอบทรงเครือ่ งไผ่สที อง 50 ชุมชนแปรรูปอาหารบา้ นไผส่ ที อง 0859108754 7 ผา้ ไหมซน่ิ ตีนจกลายโบราณ 2500 กลมุ่ ผา้ ซิ่นตีนจกรตั นา 9.10 การปรับปรงุ วิว เมื่อถึงช่วงเวลาหนึ่งผู้ใช้งานฐานข้อมูลอาจต้องการปรับปรุงโครงสร้างข้อมูลภายในวิว เช่น เปล่ียนจากการคานวณภาษีมูลค่าเพ่ิมของสินค้า จาก 7% เป็น 10% สามารถสร้างได้ดัง รปู แบบดังน้ี (Oracle Corporation, 2017:1920) รูปแบบ การปรับปรงุ ววิ CREATE OR REPLACE VIEW view_name [(column_list)] AS คาส่งั SELECT เพือ่ เลือกข้อมลู จากตารางต่าง ๆ [WITH [CASCADED | LOCAL] CHECK OPTION] ตัวอย่าง 9.14 การปรงั ปรงุ โครงสรา้ งฐานข้อมลู ของววิ newview สาหรบั แสดงรายการ สนิ คา้ ท่ีมรี าคา (Price) น้อยกวา่ 500 บาท CREATE OR REPLACE VIEW newview AS SELECT การบริหารจัดการระบบฐานขอ้ มูลเพื่องานธุรกจิ

บทที่ 9 ความปลอดภยั ของฐานขอ้ มูล | 185 product.productID, product.Price, product.unit, product.ProductName, FROM product WHERE (product.Price < 500) ; ผลการปรงั ปรุงโครงสรา้ งฐานข้อมลู ของววิ newview วิว newview ทป่ี รับปรงุ โครงสรา้ งข้อมูลแล้ว productID Price unit ProductName 1 50 ตลับ ครมี มะขาม 3 150 ห่อ ปลาสม้ บ้านไผ่สีทอง 4 50 กระปกุ น้าพรกิ ปลากรอบทรงเครื่องไผ่สที อง 5 45 กระปกุ มะขามแปรรูปสามรส 6 200 โต ผา้ ซ่ินย้อมครามสวยๆงาม 9 50 กลอ่ ง ไขเ่ ค็มไอโอดนี สมนุ ไพรใบเตย 10 120 ใบ หมอนแปรรปู ผา้ พนื้ เมอื ง 11 300 ตัว เสือ้ ผา้ พนื้ เมอื ง 12 50 กล่อง ไข่เคม็ ดนิ สอพอง 13 50 หอ่ มะขามกวนนา้ กอ้ 14 250 ขวด นา้ ผึง้ เดอื น 5 15 200 ขวด นา้ ผง้ึ เฝ้าไรพ่ อเพยี ง 9.11 การลบววิ การยกเลิกหรือลบวิวเมื่อไม่มีความจาเป็นต้องใช้งานสามารถทาได้โดยใช้คาสั่ง DROP VIEW โดยมรี ูปแบบการลบววิ ดังน้ี (Paul Wilton and John W. Colby, 2005:298) รูปแบบ DROP VIEW view_name; ตัวอย่าง 9.15 การลบววิ newview DROP VIEW newview; ผลการลบววิ การบริหารจัดการระบบฐานขอ้ มูลเพอ่ื งานธุรกิจ

186 | บทที่ 9 ความปลอดภัยของฐานขอ้ มูล mysql> DROP VIEW newview; Query OK, 0 rows affected mysql> 9.12 ฝกึ ปฏบิ ตั กิ ารสร้างวิวข้อมลู การส่งั ซื้อสินค้า จากโครงสร้างตารางสินคา้ ให้นักศึกษาแบง่ กลุ่ม 1.สร้างบญั ชผี ู้ใช้งาน 2.กาหนดสทิ ธใิ หก้ ับบัญชีผใู้ ชง้ านให้สามารถทางานบางสิทธิกับตาราง เช่น สามารถคน้ หา ข้อมลู ในตารางได้เทา่ นั้น, สามารถเพ่ิมและลบขอ้ มูลในตารางไดเ้ ท่าน้ัน เป็นต้น 3.วเิ คราะห์การสรา้ งววิ แบบตา่ ง ๆ ตามท่ไี ด้กลุ่มได้ระดมความคิดเหน็ ภายในกลุ่ม จานวน 5 ววิ ตอ่ กลุม่ พรอ้ มนาเสนอหน้าห้องเรียนกลุ่มละ 15 นาที ภาพท่ี 9.11 แบบจาลองอีอารร์ ะบบจาหนา่ ยสนิ ค้าโอทอป ท่ีมา : ผู้เขียน การบริหารจัดการระบบฐานขอ้ มูลเพื่องานธุรกจิ

บทท่ี 9 ความปลอดภยั ของฐานขอ้ มูล | 187 ภาพท่ี 9.12 ข้อมลู สมมตุ ิฐานข้อมูลจาหน่ายสนิ คา้ โอทอป ที่มา : ผู้เขยี น โดยมีรายละเอยี ดของตารางดังตอ่ ไปนี้ Category ข้อมลู หมวดหม่สู นิ คา้ Customer ขอ้ มูลลูกคา้ Orders ขอ้ มูลการส่งั ซือ้ OrderDetails ข้อมลู รายละเอียดการสงั่ ซ้ือ (ใบสัง่ ซอื้ แต่ละใบมรี ายการสั่งซื้อหลาย รายการ) Products ข้อมลู สนิ ค้าโอทอป Suppliers ข้อมูลผู้ผลิตสินค้าโอทอป การบรหิ ารจัดการระบบฐานขอ้ มูลเพ่ืองานธุรกจิ

188 | บทท่ี 9 ความปลอดภยั ของฐานขอ้ มูล 9.13 บทสรปุ การรักษาความปลอดภัยให้กับข้อมูลภายในฐานข้อมูลเป็นหน้าท่ีของโปรแกรมระบบ การจัดการฐานข้อมูลโดยผู้ที่ทาหน้าท่ีกาหนดสิทธ์ิให้กับผู้ใช้งานคนอ่ืน ๆ คือผู้บริหารฐานข้อมูล โดยสามารถกาหนดสทิ ธ์ิหรอื ยกเลกิ ต่าง ๆ ใหก้ บั ผใู้ ชง้ านแต่ละคนซึง่ มสี ทิ ธิแตกต่างกนั ออกไป 1. คาส่ัง GRANT กาหนดสทิ ธิผูใ้ ชง้ านระบบฐานข้อมูล 2. คาสง่ั REVOKE ยกเลิกสทิ ธผิ ู้ใชฐ้ านขอ้ มูล นอกจากกรรมการกาหนดสิทธ์ิให้กับผู้ใช้งาน การรักษาความปลอดภัยอีกอย่าง คือ การเข้ารหัสข้อมูล (Encryption) ซ่ึงข้อมูลเข้ารหัสจะไม่สามารถนามาใช้งานได้ หากต้องการนามาใช้ งานจะตอ้ งทาการถอดรหัส (Decryption) กอ่ น การสร้างวิวเป็นการสร้างตารางสมมุติขึ้นมาเพื่อนาไปให้กับผู้ใช้บางกลุ่ม โดยให้ผู้ใช้เรานั้น สามารถเรยี กดขู อ้ มูลทตี่ อ้ งการจากอยู่ท่ีเรากาหนดให้เทา่ นน้ั การรักษาความปลอดภัยของข้อมูลหาข้อมูลไม่ใช่การป้องกันเฉพาะข้อมูล เท่าน้ันแต่รวมถึง การดูแลองค์ประกอบท้ังหมดของฐานข้อมูลด้วย เช่น การบารุงรักษาฮาร์ดแวร์ ซอฟต์แวร์ บุคลากร และขอ้ มลู ซ่ึงเป็นการดแู ลหรือควบคุมองค์ประกอบทั้งหมดของระบบฐานข้อมลู ใหม้ ีความเหมาะสม การบรหิ ารจัดการระบบฐานข้อมูลเพ่อื งานธุรกิจ

บทที่ 9 ความปลอดภยั ของฐานขอ้ มูล | 189 คาถามท้ายบท 1. จงใช้คาสั่ง SQL ในการสร้างบัญชีผู้ใช้ abcd รหัสผ่าน 123456 และบัญชีผู้ใช้ mnop รหัสผา่ น 987654 2. จงใชค้ าสงั่ SQL ในการลบบัญชีผ้ใู ช้ mnop ที่สรา้ งในข้อ 1. 3. การกาหนดสิทธิให้แกบ่ ัญชผี ใู้ ช้มีก่รี ะดับ อะไรบ้าง 4. จงใช้คาสั่ง SQL ในการกาหนดสิทธิให้กับบัญชีผู้ใช้ที่สร้างในข้อ 1. โดยให้สามารถ SELECT, INSERT, UPDATE, DELETE กบั ทกุ ๆ ตารางในฐานข้อมลู shopping 5. จงใช้คาสัง่ SQL ในการยกเลกิ สิทธิ UPDATE, DELETE ใหก้ ับบัญชผี ู้ใชท้ ่ีสรา้ งในข้อ 1. 6. จงใชค้ าส่งั SQL ในการสรา้ งวิว productView โดยแสดงข้อมูล ProductID, ProductName, Price(เดิม), Price(ทเ่ี พิม่ ราคา 10บาท), unit รายการสินคา้ ที่เป็นอาหาร โดยเพิม่ ราคา (Price) สนิ คา้ ทุกรายการเขา้ ไป 10 บาท 7. จากภาพเป็นการสรา้ งวิว View1 จากตาราง T1 จงใช้คาสงั่ SQL ในการสร้างวิว View1 โดย นา C2, C4 มาแสดง และใหแ้ สดงรายการ C4*0.07 ซึง่ เกิดจากการคานวณดว้ ย การบริหารจัดการระบบฐานข้อมูลเพื่องานธุ รกจิ

190 | บทท่ี 9 ความปลอดภัยของฐานข้อมูล เอกสารอ้างอิง กิตติ ภักดีวฒั นะกุล. (2521). ระบบฐานข้อมูล (Database Systems). กรุงเทพฯ : เคทพี ีคอม แอนด์คอนซลั ท์. มณีโชติ สมานไทย. (2546). คู่มือการออกแบบฐานขอ้ มลู และภาษา SQL. กรุงเทพฯ : อนิ โพเฟรสดิ วลี อ็ ปเปอร์บคู๊ . วรรณวิภา ติตถะสิริ. (2545). คู่มอื เรยี น SQL ด้วยตนเอง. กรงุ เทพฯ : พมิ พ์ดี. โอภาส เอ่ียมสิริวงศ.์ (2551). ระบบฐานข้อมูล (Database Systems). กรุงเทพฯ : ซีเอด็ ยูเคชนั่ . Oracle Corporation. (2017). MySQL™ Reference Manual. Retrieved December 10, 2017. Web site: https://downloads.mysql.com/docs/refman-5.7-en.a4.pdf. Peter Rob and Carlos Coronel. (2009). Database Systems: Design, Implementation, and Management. Massachusetts: Course Technology. Paul Wilton and John W. Colby. (2005). Beginning SQL. Indianapolis: Wiley Publishing, Inc. การบรหิ ารจัดการระบบฐานข้อมูลเพื่องานธุรกจิ

บทท่ี 10 การประยุกต์ใช้งานฐานขอ้ มูลจาหนา่ ยสินคา้ | 191 แผนบริหารการสอนประจาบทท่ี 10 การประยกุ ตใ์ ชง้ านฐานขอ้ มลู จาหนา่ ยสนิ ค้า หวั ข้อเนอ้ื หา 10.1 รจู้ กั โปรแกรม Visual Studio 10.2 ADO.NET 10.3 รูจ้ กั MySQL Connector/Net 10.4 เชือ่ มต่อไปยังฐานข้อมลู Mysql ด้วย C# 10.5 แสดงระเบยี นฐานข้อมูล Mysql บนวนิ โดวฟ์ อรม์ 10.6 การคน้ หาข้อมลู สนิ ค้า 10.7 การเพิ่มข้อมูลสินค้า 10.8 การลบข้อมูลสนิ ค้า 10.9 การปรับปรงุ ข้อมูลสนิ คา้ บทสรปุ คาถามทบทวน เอกสารอา้ งอิง วัตถุประสงคเ์ ชงิ พฤติกรรม 1. อธิบายโปรแกรม Visual Studio ได้ 2. อธบิ ายขนั้ ตอนการทางานของ ADO.NET ได้ 3. อธิบายขั้นตอนการเช่ือมต่อฐานขอ้ มลู Mysql ด้วย C# ได้ 4. สามารถแสดงระเบียนฐานข้อมลู Mysql บนวนิ โดวฟ์ อร์มได้ 5. สามารถการคน้ หาข้อมลู สินค้าได้ 6. สามารถการเพิ่มข้อมลู สินคา้ ได้ 7. สามารถการลบข้อมลู สินค้าได้ 8. สามารถการปรับปรุงข้อมูลสินค้าได้ วธิ ีสอนและกิจกรรมการเรยี นการสอน 1. วิธสี อน 1.1 นาเขา้ ส่บู ทเรียนโดยวดี ิทศั น์ 1.2 ใชว้ ธิ ีสอนบรรยายพร้อมปฏบิ ัติ 2 กจิ กรรมการเรียนการสอน 2.1 ใช้วธิ สี อนบรรยายแบบมีส่วนร่วม การบรหิ ารจัดการระบบฐานข้อมลู เพื่องานธุรกิจ

192 | บทท่ี 10 การประยุกต์ใช้งานฐานข้อมูลจาหน่ายสนิ คา้ 2.2 ฝึกปฏิบัติเชื่อมต่อฐานข้อมูล Mysql ดว้ ย C# 2.3 ฝึกปฏิบัติแสดงระเบียนฐานข้อมูล Mysql บนวินโดว์ฟอร์ม 2.4 ฝึกปฏบิ ตั ิคน้ หาข้อมูลสนิ คา้ 2.5 ฝกึ ปฏบิ ตั ิเพิ่มข้อมูลสนิ คา้ 2.6 ฝกึ ปฏิบตั ิลบข้อมูลสินค้า 2.7 ฝึกปฏบิ ัติปรับปรุงข้อมลู สินค้า ส่อื การเรียนการสอน 1. เอกสารประกอบการสอนรายวิชา การบริหารจัดการระบบฐานข้อมูลเพ่อื งานธรุ กิจ บทที่ 10. การประยกุ ต์ใช้งานฐานข้อมูลจาหน่ายสนิ ค้า 2. โปรแกรม PowerPoint 3. โปรแกรม Visual Studio 4. โปรแกรม MySQL Connector/Net 5. โปรแกรม Xampp การวดั และประเมนิ ผล 1. สงั เกตพฤติกรรมของนกั ศึกษาการมีสว่ นร่วมในกจิ กรรมที่กาหนดข้นึ 2. ตรวจผลการฝึกปฏบิ ตั ิเชือ่ มต่อฐานข้อมูล Mysql ดว้ ย C# 3. ตรวจผลการฝกึ ปฏิบตั ิแสดงระเบียนฐานข้อมลู Mysql บนวินโดวฟ์ อรม์ 4. ตรวจผลการฝกึ ปฏิบัติคน้ หาข้อมูลสินคา้ 5. ตรวจผลการฝึกปฏบิ ตั ิเพ่มิ ข้อมลู สินค้า 6. ตรวจผลการฝึกปฏบิ ัติลบขอ้ มูลสนิ คา้ 7. ตรวจผลการฝกึ ปฏิบัติปรบั ปรงุ ข้อมลู สนิ ค้า 8. ตรวจการตอบคาถามทา้ ยบท การบรหิ ารจดั การระบบฐานขอ้ มูลเพ่ืองานธุรกจิ

บทท่ี 10 การประยุกต์ใชง้ านฐานข้อมลู จาหน่ายสนิ ค้า ในบทท่ี 10 เป็นการนาความรู้ที่ได้เรียนรู้ในบทแรก ๆ นามาประยุกต์พัฒนาระบบงานใชง้ าน ฐานข้อมูลจาหน่ายสินค้า ซึ่งเป็นการเรียนด้วยการปฏิบัติการสร้างโปรแกรมด้วยภาษา C# เชื่อมต่อ กับฐานข้อมูลมายเอสคิวแอล โดยเร่ิมตั้งแต่การติดต้ังเช่ือมต่อระหว่างภาษา C# และฐานข้อมูลมาย เอสคิวแอล การแสดงค้นหารายการสินค้า การเพิ่มรายการสินค้าใหม่ การปรับปรุงข้อมูลสินค้า/ การลบรายการสินค้า การดกั จับข้อผิดพลาด ดงั รายละเอียดแต่ละหัวข้อ 10.1 แบบจาลองออี ารฐ์ านขอ้ มลู จาหนา่ ยสนิ คา้ จากแบบจาลองอีอารแ์ สดงโครงสร้างฐานขอ้ มลู การจาหนา่ ยสนิ คา้ อธิบายคณุ สมบตั ิของ โครงสร้างตารางท่ีอยู่ในฐานข้อมูลดงั ภาพที่ 10.1 ภาพท่ี 10.1 แผนภาพอีอาร์ นิรนั ดร ผานิจ ทมี่ า : ผู้เขยี น การบรหิ ารจัดการระบบฐานข้อมูลเพ่อื งานธุรกจิ

194 | บทท่ี 10 การประยุกตใ์ ช้งานฐานขอ้ มูลจาหน่ายสนิ คา้ 10.2 ขอ้ มลู ตวั อย่าง ในส่วนของข้อมูลตวั อยา่ งประกอบด้วยตารางดงั ต่อไปน้ี ตาราง Catagory เกบ็ หมวดหมสู่ ินค้า ตารา Supplirer เก็บข้อมูลผู้ผลติ สนิ คา้ ตาราง Product เก็บข้อมลู สินคา้ ตาราง OrderDetail เก็บรายละเอยี ดการสง่ั ซื้อ ตาราง Order เก็บข้อมลู การส่งั ซือ้ ตาราง Customer เก็บข้อมูลลูกคา้ ภาพที่ 10.2 ข้อมูลสมมุตขิ ้อมูลจาหนา่ ยสนิ ค้าโอทอ็ ป ที่มา : ผู้เขียน การบริหารจัดการระบบฐานขอ้ มูลเพือ่ งานธุรกจิ

บทที่ 10 การประยุกต์ใช้งานฐานข้อมูลจาหนา่ ยสินคา้ | 195 10.3 การติดต้งั Connector/Net เอกสารประกอบการสอนรายวชิ าการบรหิ ารจัดการระบบฐานขอ้ มลู เพ่ืองานธรุ กจิ ใช้ภาษา C# ซ่ึงเป็นภาษาหน่ึงในเทคโนโลยี .net ของบริษัทไมโครซอฟต์ เพื่อให้สามารถเชื่อมต่อฐานข้อมูลมาย เอสคิวแอล จาเปน็ ตอ้ งดาวน์โหลด MySQL Connector/Net และตดิ ต้ังไลบราร่ีดงั กลา่ วในโปรเจค ไลบราร่ี Connector/Net สามารถดาวน์โหลดได้ท่ีเว็บไซต์ https://dev.mysql.com/ downloads/connector/net/ ซึ่งเป็นไลบราร่ีที่ Mysql เปิดให้ดาวน์โหลดมาใช้โดยไม่มีค่าใช้จ่าย เมื่อดาวน์โหลดมาแลว้ ใหท้ าการแตกไฟล์ zip แล้วทาการก๊อปปีไ้ ฟล์ MySql.Data.dll มาเกบ็ ไวใ้ นโปร เจคพร้อมทง้ั ทาการเรยี กใช้ไลบราร่ีดว้ ยคาสงั่ use ภาพท่ี 10.3 เวบ็ ไซต์ https://dev.mysql.com/downloads/ connector/net/ ทม่ี า : ผู้เขียน ภาพท่ี 10.4 ไลบราร่ี MySql.Data.dll สาหรบั เช่ือมตอ่ ฐานขอ้ มลู MySql ท่มี า : ผู้เขยี น การบรหิ ารจัดการระบบฐานข้อมูลเพือ่ งานธุรกจิ

196 | บทที่ 10 การประยุกต์ใช้งานฐานขอ้ มูลจาหน่ายสินคา้   ภาพที่ 10.5 ตดิ ตง้ั ไลบรารี่ MySql.Data.dll ในโปรเจค ท่ีมา : ผู้เขียน จากภาพท่ี 10.5 การติดต้ังไลบราร่ี MySql  คลิกขวาท่ี Refernces เลือก  Add Refernces แล้วทาการเลือกไฟล์ MySql.Data.dll แล้วระบบจะทาการเพิ่มไลบราร่ี MySql เข้าไปในโปรเจคซ่ึงจะเห็นในภาพที่ 10.6 มี  Refernces ชื่อ Mysql.Data เพ่ิม ขึ้นมาในโปรเจค  ภาพที่ 10.6 การตดิ ตัง้ ไลบรารี่ MySql.Data.dll เสรจ็ สมบรุ ณ์ ทม่ี า : ผูเ้ ขียน การบริหารจัดการระบบฐานขอ้ มูลเพื่องานธุรกจิ

บทท่ี 10 การประยุกต์ใช้งานฐานขอ้ มูลจาหน่ายสนิ คา้ | 197 10.4 การเชือ่ มตอ่ ฐานข้อมลู ในการเชอ่ื มต่อฐานข้อมูล Mysql มีข้ันตอนดังนี้ ไฟล์ ConnectDbForm.cs using System; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace DEMO { public partial class ConnectDbForm : Form { public ConnectDbForm(){ InitializeComponent(); } private void button1_Click(object sender, EventArgs e){  //------------------------- string connectionString = \"Server=localhost;Database=otopdb;Uid=root;Pwd=;SslMode=none;\";  MySqlConnection cnn = new MySqlConnection(connectionString); try{  cnn.Open(); MessageBox.Show(\"การเชอื่ มตอ่ ฐานขอ้ มลู เชอ่ื มตอ่ สาเร็จคะ่ ! \"); }catch (Exception ex){ MessageBox.Show(\"ไมส่ ามารถเชอื่ ตอ่ ฐานขอ้ มลู ได ้ ! \\n\" + ex.Message); }finally{ cnn.Close(); } //------------------------- } } } หมายเลข  using MySql.Data.MySqlClient; เรยี กใช้ไลบราร่ี MySql หมายเลข  string connString = \"Server=localhost;Database=otopdb;Uid=root;Pwd=12; \"; กาหนดคา่ เชื่อมต่อไปยงั ฐานข้อมลู Server=localhost; หมายถงึ เครอ่ื งฐานข้อมูลท่ีต้องการเชื่อมตอ่ Database=otopdb; หมายถงึ ชอื่ ฐานข้อมูลทต่ี ้องการเช่อื มต่อ Uid=root; หมายถงึ ยเู ซอรเ์ นมของบญั ชีผู้ใช้งานฐานขอ้ มูล Pwd=12; หมายถึง รหัสผา่ นของบัญชีผู้ใชง้ านฐานขอ้ มูล charset=utf8; หมายถึง รหสั ภาษาตวั อักษร หมายเลข  MySqlConnection cnn = new MySqlConnection(connectionString); การบรหิ ารจัดการระบบฐานข้อมูลเพอ่ื งานธุรกจิ

198 | บทท่ี 10 การประยุกต์ใช้งานฐานขอ้ มูลจาหน่ายสินคา้ สรา้ งอ็อบเจ็ค cnn ในการจดั การเช่อื มต่อกบั ฐานข้อมูล Mysql หมายเลข  cnn.Open(); ออ็ บเจ็ค cnn ทาการเปิดการเชื่อมตอ่ ฐานขอ้ มลู หมายเลข  MessageBox.Show(\"การเชอื่ มตอ่ ฐานขอ้ มลู เชอื่ มตอ่ สาเร็จคะ่ ! \"); แสดงไดอะล็อกบอกแจง้ “การเชอื่ มตอ่ ฐานข้อมลู เชอ่ื มต่อสาเร็จคะ่ !” หมายเลข  MessageBox.Show(\"ไม่สามารถเชอ่ื ตอ่ ฐานขอ้ มลู ได ้ ! \\n\" + ex.Message); แสดงไดอะล็อกบอกแจง้ “ไม่สามารถเชอื่ ต่อฐานข้อมลู ได้ !” พร้อมทั้งปญั หา ทเี่ กดิ ข้นึ หมายเลข  cnn.Close(); อ็อบเจ็ค cnn ทาหยุดหรอื ปิดการเชอื่ มต่อฐานข้อมลู ภาพท่ี 10.7 ผลการเชือ่ มต่อฐานขอ้ มูลลม้ เหลว ท่ีมา : ผเู้ ขยี น ภาพที่ 10.8 ผลการเชื่อมตอ่ ฐานข้อมูลสาเรจ็ ทม่ี า : ผเู้ ขียน การบริหารจัดการระบบฐานข้อมูลเพ่ืองานธุ รกจิ

บทท่ี 10 การประยุกต์ใช้งานฐานข้อมูลจาหน่ายสนิ ค้า | 199 10.5 การแสดง/ค้นหารายการสินคา้ ในสว่ นของการแสดงข้อมูลสว่ นสนิ ค้าประกอบดว้ ยเคร่ืองมือทส่ี าคญั ดังต่อไปนี้ 1.TextBox1 ทาหนา้ ทร่ี อรับช่ือสนิ คา้ โดยผใู้ ช้งานกรอกชอ่ื ของสนิ ค้าทเี่ ราต้องการค้นหาแล้ว กดที่ปมุ่ คน้ หาข้อมลู 2.Botton1 เปน็ ปมุ่ ท่ีหน้าที่สั่งคาส่งั ภาษาเอสควิ แอล ไปใหก้ ับ Mysql Database Server 3.DatagridView1 ทาหน้าที่แสดงข้อมลู ทเี่ กดิ การสบื ค้นดา้ นบน TextBox1 Botton1 DatagridView1 ภาพท่ี 10.9 ฟอร์มการคน้ หารายการสนิ ค้า ทม่ี า : ผ้เู ขียน ภาพที่ 10.9 แสดงการคน้ หารายการสินค้าทั้งหมด เม่ือผใู้ ชง้ านคลกิ ท่ปี ุ่ม คน้ หาข้อมูล ไฟล์ Form1.cs using System; using System.Windows.Forms; using System.Data; using MySql.Data.MySqlClient; namespace DEMO { public partial class Form1 : Form { public Form1() { InitializeComponent(); MySqlConnection cnn=null; try { string connectionString = \"Server=localhost;Database=otopdb;Uid=a;Pwd=b;SslMode=none;charset=utf8;\"; การบริหารจัดการระบบฐานข้อมูลเพือ่ งานธุรกิจ

200 | บทท่ี 10 การประยุกตใ์ ช้งานฐานข้อมูลจาหนา่ ยสินคา้ cnn = new MySqlConnection(connectionString); MySqlCommand cmd = cnn.CreateCommand(); // Object cmd ในการทางานคาสงั่ SQL cmd.CommandText = \"SELECT ProductID, Name, Price, unit FROM product \"+ คำสั่ง SQL ในกำรค้นหำข้อมูล \" WHERE Name LIKE '%\"+ textBox1.Text +\"%' \"; MySqlDataAdapter adap = new MySqlDataAdapter(cmd); //กำหนด MySqlDataAdapter //กำหนด DataSet DataSet ds1 = new DataSet(); // แสดงขอ้ มูลใน dataGridView1 adap.Fill(ds1); dataGridView1.DataSource = ds1.Tables[0].DefaultView; dataGridView1.Columns[0].HeaderText = \"รหสั \"; กำหนดชือ่ คอลัมน์ dataGridView1.Columns[0].Width = 50; dataGridView1.Columns[1].HeaderText = \"รายการสนิ คา้ \"; dataGridView1.Columns[1].Width = 200; dataGridView1.Columns[2].HeaderText = \"ราคา\"; dataGridView1.Columns[3].HeaderText = \"หนว่ ยนับ\"; // ตรวจจบั ขอ้ ผิดพลำด }catch (Exception ex){ MessageBox.Show(\"ERROR! \\n\" + ex.Message); }finally{ // ปิดกำรเชื่อมต่อ cnn.Close(); } } // เหตกุ ำรณ์เมื่อกดท่ีปุ่มหมำยเลข  ภำพที่ 10.10 เลือกรำยกำรสินคำ้ ท่ีต้องกำร // เมอื่ มกี ำร Click ที่ Cell ใด ๆ ใน dataGridView1 // ข้ันตอนกำรส่งค่ำระหว่ำงฟอรม์ private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e){ try{ // ส่งคำ่ ทีอ่ ยุ่ในชอ่ งแรกของแถวที่คลิ้กเลือกโดยสง่ ค่ำไปเกบ็ ที่ตัวแปร idProduct string idProduct = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString(); // เปิดฟอร์ม ShowProduct(idProduct) โดยสง่ คำ่ idProduct สง่ ไปให้ยงั ShowProduct ShowProduct showproduct = new ShowProduct(idProduct); showproduct.Show(); // ตรวจจับขอ้ ผิดพลำด }catch (Exception ex) { Console.WriteLine(\"Exception.\\n {0} \", ex); } } // เหตกุ ำรณเ์ มือ่ กดท่ปี ุ่มหมำยเลข  ภำพท่ี 10.10 เปดิ ฟอรม์ insertForm private void button2_Click(object sender, EventArgs e) { InsertForm insertForm = new InsertForm(); insertForm.Show(); } การบริหารจัดการระบบฐานขอ้ มูลเพ่อื งานธุรกจิ

บทท่ี 10 การประยุกตใ์ ช้งานฐานข้อมูลจาหน่ายสนิ คา้ | 201 }  }   ภาพที่ 10.10 การคน้ หารายการสินคา้ ทีช่ อ่ื มคี าว่า น้า ท่ีมา : ผเู้ ขยี น ภาพท่ี 10.10 เป็นการค้นหารายการสินค้าเฉพาะชื่อสินค้าที่มีคาว่า “น้า” เป็นส่วนหนึ่งของ ช่ือสินค้าโดยผู้ใช้งานทาการกรอกข้อมูลที่ต้องการค้นหาเช่น “น้า” หลังจากนั้นคลิกท่ีปุ่มค้นหาข้อมูล ระบบจะทาการค้นหาข้อมูลรายการสินค้าท่ีมีส่วนหนึ่งของชื่อสินค้ามีคาว่า “น้า”แสดงออกทาง จอภาพ 10.6 การเพ่มิ รายการสินค้าใหม่ ในการเพิ่มข้อมูลรายการสินค้าใหม่จะต่างจากการลบรายการสินค้าและการปรับปรุงข้อมูล รายการสินค้า เนื่องจากการเพ่ิมข้อมูลใหม่สามารถเพ่ิมข้อมูลสินค้าน้ันๆเข้าไปได้เลย ในตัวอย่างจึง เป็นการสร้างฟอร์ม InsertForm ทาหน้าท่ีในการรับข้อมูลสินค้าใหม่โดยผู้ใช้งานสามารถกรอก รายละเอียดของสินคา้ ใหม่แลว้ ก็คลกิ ท่ีปุ่มเพิ่มรายการสินคา้ กจ็ ะเป็นการเพมิ่ ขอ้ มูลเขา้ ไปในระบบ ภาพที่ 10.11 การเพิ่มขอ้ มูลรายการสินค้าใหม่ ทมี่ า : ผ้เู ขียน การบรหิ ารจัดการระบบฐานข้อมูลเพอ่ื งานธุรกิจ

202 | บทท่ี 10 การประยุกตใ์ ช้งานฐานขอ้ มูลจาหน่ายสินคา้ ไฟล์ InsertForm.cs using System; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace DEMO { public partial class InsertForm : Form { public InsertForm() { InitializeComponent(); } // เหตกุ ำรณ์เมอ่ื กดที่ปุม่ button1 ให้ทำกำรเพ่ิมขอ้ มูลท่กี รอกในฟอรม์ เพ่ิมในฐำนข้อมลู private void button1_Click(object sender, EventArgs e) { //---------------------------------------- MySqlConnection conn = null; try { string connectionString = \"Server=localhost;Database=otopdb;Uid=root;Pwd=; charset=utf8;\"; // สร้ำงออ็ บเจค็ conn ในกำรเชอ่ื มตอ่ ฐำนข้อมลู conn = new MySqlConnection(connectionString); // สรำ้ งอ็อบเจ็ค cmd MySqlCommand cmd = conn.CreateCommand(); // คำสง่ั SQL ในกำรเพ่ิมขอ้ มลู ในตำรำง Product string sql = \"INSERT INTO Product \"+ \"(SupplierID, CategoryID, Name, Details, Price, total, Weight, Size, unit, star ) \" + \" VALUES (\" + textBox2.Text + \" , \" + textBox3.Text + \" , '\" + textBox4.Text + \"' , '\" + textBox5.Text + \"' , \" + textBox6.Text + \" , \" + textBox7.Text + \" , '\" + textBox8.Text + \"' , '\" + textBox9.Text + \"' , '\" + textBox10.Text + \"' , \" + textBox11.Text + \" )\"; cmd.CommandText = sql; // เปดิ กำรเชื่อมตอ่ ฐำนขอ้ มูล conn.Open(); // ประมวลผลคำสงั่ SQL โดยคืนค่ำเป็นตัวเลขจำนวนแถวที่ไดร้ ับกระทบจำกคำสงั่ INSERT int total = cmd.ExecuteNonQuery(); if (total > 0) { MessageBox.Show(\"เพมิ่ ขอ้ มลู เสร็จสมบรู ณ์\"); } }catch (Exception ex){ MessageBox.Show(\"ERROR! \\n\" + ex.Message); }finally{ conn.Close(); } การบรหิ ารจัดการระบบฐานข้อมูลเพือ่ งานธุรกจิ

บทที่ 10 การประยุกต์ใช้งานฐานขอ้ มูลจาหนา่ ยสนิ ค้า | 203 } } } การเพ่ิมข้อมูลรายการสินค้าใหม่ ผู้ใช้งานคลิกที่ปุ่ม “เพิ่มรายการ” จะเป็นการเปิดฟอร์ม ใหม่ซ่ึงฟอร์มดังกล่าวจะบรรจุหน้าจอให้ผู้ใช้งานกรอกรายละเอียดของสินค้าใหม่ ได้แก่ หมวดหมู่ สนิ ค้า, ผู้ผลิต, ช่อื สินค้า, รายละเอียดสินค้า, ราคาต่อหนว่ ย, จานวน, นา้ หนัก, ขนาด, หนว่ ยนับ และ จานวนดาวของสินคา้ เมื่อผู้ใช้งานทาการกรอกข้อมูลเป็นท่ีเรียบร้อยให้ทาการคลิกท่ีปุ่ม “เพ่ิมข้อมูลสินค้า” โปรแกรมจะทาการตรวจสอบการเพิ่มข้อมูลสินค้า ถ้าหากว่ามีการเพิ่มข้อมูลถูกต้อง ระบบจะทาการ สง่ ข้อความแจ้งผู้ใชง้ านว่าบนั ทกึ ขอ้ มูลเป็นท่ีเรียบร้อย 10.7 การปรับปรงุ ข้อมลู สินค้า/การลบรายการสินค้า ในการลบข้อมูลถ้าหากว่าเราไม่ระบุเงื่อนไขให้กับคาสั่ง SQL จะเป็นการลบข้อมูลท้ังหมดที่อยู่ ในตารางทาให้มีความเสยี่ งหรือความเสียหายท่ีจะเกิดขึ้นกับข้อมูลได้ ในตัวอย่างของระบบงานจะเป็น การลบรายการสินคา้ ตามรหสั สินคา้ ซ่ึงรหสั สินค้าดังกลา่ วจะถกู สง่ มาจากฟอร์ม Form1 ฟอร์ม Form1 ฟอร์ม ShowProduct ProductID ภาพท่ี 10.12 ส่งค่า ProductID จากฟอร์ม Form1 ไปให้ฟอร์ม ShowProduct ที่มา : ผูเ้ ขยี น การบริหารจัดการระบบฐานขอ้ มูลเพอื่ งานธุรกิจ

204 | บทท่ี 10 การประยุกตใ์ ช้งานฐานข้อมูลจาหนา่ ยสนิ ค้า ภาพท่ี 10.12 ฟอร์ม Form1 ผู้ใช้งานทาการคลิกเลือกรายการสินค้า โปรแกรมจะทาการดึง รหัสสินค้า (ProductID) ของแถวท่ีผู้ใช้งานทาการคลิกเลือก เช่นจากภาพที่ 10.12 คลิกเลือกรหัส 4 แล้วทาการส่งรหัสสินค้าไปให้ฟอร์ม ShowProduct ซ่ึง ShowProduct จะทาการค้นหาข้อมูล รายการสินค้าที่มี ProductID = 4 จากฐานข้อมูล แล้วนาผลการค้นหาข้อมูลดังกล่าวนามาแสดงบน ฟอร์ม ShowProduct ดังภาพที่ 10.12 ไฟล์ ShowProduct.cs using System; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace DEMO { public partial class ShowProduct : Form { // กำหนดข้อมูลเพอ่ื นำข้อมูลที่ส่งมำนำมำใชใ้ นฟอร์ม private string idProduct; public ShowProduct(string idProduct){ this.idProduct = idProduct; InitializeComponent(); } public ShowProduct(){ InitializeComponent(); } //  เหตุกำรณ์เม่ือ ShowProduct ถกู เปิดข้ึนมำ private void ShowProduct_Load(object sender, EventArgs e) { // เปิดกำรเชือ่ มต่อฐำนข้อมูล MySqlConnection conn = null; try{ string connectionString = \"Server=localhost;Database=otopdb;Uid=root;Pwd=;SslMode=none;\"; conn = new MySqlConnection(connectionString); MySqlCommand cmd = conn.CreateCommand(); // ระบุคำสงั่ SQL ท่ีต้องกำรประมวลผล cmd.CommandText = \"SELECT * FROM product WHERE ProductID =\" + this.idProduct; // เปิดกำรเช่ือมต่อฐำนข้อมูล conn.Open(); // สรำ้ งออบเจก๊ reader ใชใ้ นกำรอ่ำนขอ้ มูลทีเ่ ป็นผลลัพธจ์ ำกคำส่งั SELECT การบรหิ ารจัดการระบบฐานขอ้ มูลเพือ่ งานธุรกิจ

บทท่ี 10 การประยุกต์ใช้งานฐานขอ้ มูลจาหนา่ ยสนิ คา้ | 205 MySqlDataReader reader = cmd.ExecuteReader(); // นำข้อมลู ในออบเจก๊ reader ไปใสใ่ น TextBox if (reader.Read()) { textBox1.Text = reader[\"ProductID\"].ToString(); textBox2.Text = reader[\"SupplierID\"].ToString(); textBox3.Text = reader[\"CategoryID\"].ToString(); textBox4.Text = reader[\"Name\"].ToString(); textBox5.Text = reader[\"Details\"].ToString(); textBox6.Text = reader[\"Price\"].ToString(); textBox7.Text = reader[\"total\"].ToString(); textBox8.Text = reader[\"Weight\"].ToString(); textBox9.Text = reader[\"Size\"].ToString(); textBox10.Text = reader[\"unit\"].ToString(); textBox11.Text = reader[\"star\"].ToString(); } // ตรวจจบั ขอ้ ผิดพลำด }catch (Exception ex){ MessageBox.Show(\"ERROR! \\n\" + ex.Message); }finally{ conn.Close(); } } // เหตุกำรณ์เมอื่ button1 คลกิ private void button1_Click(object sender, EventArgs e) { MySqlConnection conn = null; try { string connectionString = \"Server=localhost;Database=otopdb;Uid=root;Pwd=; charset=utf8;\"; //เชื่อมต่อฐำนขอ้ มูล MySql conn = new MySqlConnection(connectionString); MySqlCommand cmd = conn.CreateCommand(); // กำหนดคำสงั่ Update ในกำรปรับปรุงขอ้ มูลในฐำนข้อมูล cmd.CommandText = \"UPDATE Product SET \"+ \" ProductID = \"+ textBox1.Text+\" , \"+ \" SupplierID = \" + textBox2.Text+\" , \"+ \" CategoryID = \" + textBox3.Text+\" , \"+ \" Name = '\" + textBox4.Text+\"' , \"+ \" Details = '\" + textBox5.Text+\"' , \"+ \" Price = \" + textBox6.Text+\" , \"+ \" total = \" + textBox7.Text+\" , \"+ \" Weight = '\" + textBox8.Text+\"' , \"+ \" Size = '\" + textBox9.Text+\"' , \"+ \" unit = '\" + textBox10.Text+\"' , \"+ \" star = \" + textBox11.Text+\" \"+ \" WHERE ProductID =\" + this.idProduct; conn.Open(); // ประมวลผลคำสั่ง UPDATE ตำรำง Product โดยคืนค่ำเป็นจำนวนแถวท่ีมผี ลกระทบกับคำส่ัง การบรหิ ารจัดการระบบฐานขอ้ มูลเพอ่ื งานธุรกจิ

206 | บทท่ี 10 การประยุกต์ใช้งานฐานขอ้ มูลจาหนา่ ยสนิ ค้า int total = cmd.ExecuteNonQuery(); // ตรวจสอบจำนวนแถวที่มผี ลกระทบกับคำสั่ง UPDATE (total > 0 หมำยถึงมีแถวทมี่ ีกำรปรับปรุงขอ้ มูล) if (total > 0) { MessageBox.Show(\"ปรับปรงุ ขอ้ มลู เสร็จสมบรู ณ\"์ ); } }catch (Exception ex){ MessageBox.Show(\"พบขอ้ ผดิ พลาดคอื ! \\n\" + ex.Message); }finally{ conn.Close(); } //---------------------------------------- } // เหตุกำรณเ์ ม่อื คลิกท่ีปุ่ม button2 private void button2_Click(object sender, EventArgs e) { // แสดงไดอะลอกบอก แสดงกำรยืนยันกำรลบรำยกำรสินค้ำ ถ้ำกดปุ่ม Cancel ใหย้ กเลิกกำรลบ if (MessageBox.Show(\"คณุ ตอ้ งการลบขอ้ มลู สนิ คา้ \", \"ยนื ยันการลบขอ้ มลู สนิ คา้ \", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.Cancel){ return; } //---------------------------------------- MySqlConnection conn = null; try{ // เปิดกำรเชื่อมต่อฐำนขอ้ มูล string connectionString = \"Server=localhost;Database=otopdb;Uid=root;Pwd=;charset=utf8;\"; conn = new MySqlConnection(connectionString); MySqlCommand cmd = conn.CreateCommand(); // กำหนดคำสัง่ DELETE และเง่อื นไขข้อมูลในกำรลบ cmd.CommandText = \"DELETE FROM Product \"+ \" WHERE ProductID =\" + this.idProduct; conn.Open(); // ประมวลผลคำส่ัง DELETE โดยผลกำรประมวลผลจะคนื ค่ำเป็นจำนวนแถวทม่ี ีผลกระทบกับคำส่งั int total = cmd.ExecuteNonQuery(); // ตรวจสอบผลกำรทำงำนของคำส่ัง DELETE ว่ำมจี ำนวนแถวทีถ่ กู ลบมำกกว่ำ 0 แถวหรอื ไม่ if (total > 0){ MessageBox.Show(\"ปรับปรงุ ขอ้ มลู เสร็จสมบรู ณ\"์ ); } }catch (Exception ex){ MessageBox.Show(\"ERROR! \\n\" + ex.Message); }finally{ conn.Close(); } } } การบรหิ ารจัดการระบบฐานข้อมูลเพือ่ งานธุรกิจ

บทท่ี 10 การประยุกตใ์ ช้งานฐานขอ้ มูลจาหน่ายสินคา้ | 207 } 10.8 การดกั จับข้อผิดพลาด try-catch() เป็นคาส่ังสาหรับดักจับข้อผิดพลาด (Exception) ท่ีเกดิ ขึ้นในการใช้งานโปรแกรม เพอ่ื ป้องกันหรอื หลกี เลย่ี งข้อผิดพลาดท่เี กดิ ขน้ึ รูปแบบ try{ พ้ืนท่ที างาน }catch(Exception1 ex1 ){ พน้ื ทน่ี ี้จะทางานเมื่อมีข้อผิดพลาดแบบ Exception1 }catch(Exception2 ex2 ){ พ้นื ทนี่ ้ีจะทางานเมอื่ มีข้อผดิ พลาดแบบ Exception2 }finally{ จะทางานทุกครง้ั หลังการทางานใน try } ตวั อยา่ ง การดักจบั ข้อผิดพลาดการเขียนโปรแกรมแบบ Console Application int num1, num2; float result; try{ num1= 10; num2= 0; result = num1 / num2; }catch (DivideByZeroException ex1) { Console.WriteLine (\"พบข้อผดิ พลาด ตวั หารเป็น 0 \"+ex1.Message); }catch (Exception ex){ Console.WriteLine(\"พบข้อผดิ พลาดคือ \"+ex. Message); }finally{ Console.WriteLine( \"ผลการหารคอื = \" + result.ToString() ); } การบริหารจัดการระบบฐานข้อมูลเพอื่ งานธุรกจิ

208 | บทท่ี 10 การประยุกตใ์ ช้งานฐานข้อมูลจาหน่ายสนิ คา้ 10.9 บทสรปุ บทที่ 10 เป็นการประยุกต์ใช้งานฐานข้อมูลจาหนา่ ยสินค้า เปน็ ตัวอย่างการออกแบบโปรแกรม โดยใชภ้ าษา C# และเช่ือมตอ่ กับระบบฐานขอ้ มลู มายเอสควิ แอล ซึ่งการเช่ือมต่อระหว่างภาษา C# และระบบฐานข้อมูลมายเอสคิวแอลจะต้องทาการติดตั้ง Connector/Net โดยสามารถดาวน์โหลดได้ท่ีเว็บไซต์ https://dev.mysql.com/downloads/ connector/net/ เม่ือดาวน์โหลดมาแล้วทาการแตกไฟล์แล้วนาไฟล์ แล้วทาการก๊อปป้ีไฟล์ MySql.Data.dll ม าเก็ บ ไว้ใน โป รเจค พ ร้อ ม ท้ั งท าก ารเรียก ใช้ ไล บ รารี่ด้ ว ยค าสั่ ง using MySql.Data.MySqlClient; หลักของการเชอื่ มตอ่ และใชง้ านกค็ ือ 1. กาหนดขอ้ มูลการเช่อื มตอ่ ที่ Connection String 2. สร้างออ็ บเจค็ MySqlConnection ในการเชอื่ มตอ่ กบั ฐานขอ้ มลู 3. ทาการการเชือ่ มต่อ ด้วยคาสงั่ connection.Open(); 4. ประมวลผลฐานขอ้ มูลดว้ ยคาส่ัง SQL 5. ปิดการเชอ่ื มตอ่ ดว้ ยคาสั่ง connection.Close(); การดักจับข้อผิดพลาด try-catch() เป็นคาสง่ั สาหรับดักจบั ข้อผิดพลาด (Exception) ท่ีเกดิ ข้ึน ในการใช้งานโปรแกรม เพ่ือปอ้ งกันหรอื หลกี เลยี่ งข้อผิดพลาดทีเ่ กดิ ขึ้น การบริหารจัดการระบบฐานข้อมูลเพื่องานธุ รกิจ

บทท่ี 10 การประยุกต์ใช้งานฐานขอ้ มูลจาหนา่ ยสินค้า | 209 คาถามทา้ ยบท 1. ใหน้ ักศึกษาออกแบบโปรแกรม ใหส้ ามารถค้นหารายการสินคา้ โดยสามารถสืบคน้ จาก ชื่อ สนิ ค้าและตามหมวดหมสู่ ินค้าได้ 2. จากตาราง OrderDetail ใหน้ กั ศึกษาทาการศึกษาโครงสรา้ งข้อมูลแลว้ ออกแบบโปรแกรม ท่สี ามารถ แสดงรายละเอียดสินค้าในใบสัง่ ซ้ือ (OrderID) แตล่ ะใบได้ ตาราง OrderDetail เก็บรายละเอยี ดการสง่ั ซ้ือสนิ ค้า การบริหารจัดการระบบฐานข้อมูลเพ่ืองานธุ รกิจ

210 | บทท่ี 10 การประยุกตใ์ ช้งานฐานข้อมูลจาหนา่ ยสินค้า 3. จากขอ้ มูลในตาราง OrderDetail, ตาราง Order, ตาราง Customer, ตาราง Product ให้นักศึกษาออกแบบโปรแกรมสรปุ ยอดขายในแต่ละใบสงั่ ซ้ือ (แสดงรายการในแต่ละ OrderID) ตาราง Order เกบ็ การสงั่ ซอื้ สนิ คา้ ตาราง Customer ลูกค้า การบรหิ ารจัดการระบบฐานขอ้ มูลเพ่ืองานธุรกจิ

บทท่ี 10 การประยุกตใ์ ช้งานฐานขอ้ มูลจาหน่ายสินคา้ | 211 เอกสารอา้ งอิง พิรพร หมุนสนทิ . (2552). Visual basic 2008 และ visual c# 2008.กรงุ เทพฯ: เคทีพี คอมพ์ แอนด์ คอนซัลท์. ไพศาล โมลิสกุลมงคล. (2545). Microsoft visual C#.net. กรงุ เทพฯ: ไทยเจรญิ การพมิ พ์. ศภุ ชัย สมพานชิ . (2559). Professional Visual C# 2015. นนทบุรี : ไอดซี .ี ศุภชยั สมพานิช. (2549). Database Programming ดว้ ย VB 2005& VC#2005 ฉบบั สมบุรณ์. นนทบุรี : ไอดซี ี. Karli Watson. (2005). Beginning visual c# 2005. Indiana: Wiley. Ted Coombs. (2003). Programming with C#.Net. New York: Delmar Learning. การบรหิ ารจัดการระบบฐานข้อมูลเพอ่ื งานธุรกิจ

บรรณานกุ รม กติ ติ ภักดวี ฒั นะกลุ . (2521). ระบบฐานข้อมลู (Database Systems). กรุงเทพฯ:เคทีพีคอม แอนด์คอนซัลท.์ ณฏั ฐพันธ์ เขจรนนั ทน์และไพบูลยเ์ กียรติโกมล. (2545). ระบบสารสนเทศเพื่อการตัดสินใจ. กรุงเทพฯ : ส.เอเชียเพรส. ทีมงานทรปู ลูกปญั ญา. (2559). ขอ้ มูลคืออะไร. สืบค้นเม่อื 27 พฤษภาคม 2561, จากเว็บไซต์: http://www.trueplookpanya.com/new/asktrueplookpanya/ questiondetail/16686 บัณฑิต จามรภูติ. (2537). คมู่ ือการใชง้ านภาษา SQL. กรุงเทพฯ.สวสั ดี ไอท.ี ประทีป เมธาคุณวฒ.ิ (2544). เทคโนโลยสารสนเทศเพอ่ื การบริหารสถาบันอดุ มศึกษา. กรุงเทพฯ: จุฬาลงกรณ์มหาวิทยาลัย. พนิดา พานชิ กุล. (2552). การออกแบบ พัฒนา และดูแลระบบฐานข้อมลู . กรุงเทพฯ:เคทพี ีคอม แอนดค์ อนซัลท์. มณีโชต สมานไทย. (2546). คู่มือการออกแบบฐานขอ้ มูลและภาษา SQL ฉบับผู้เรม่ิ ต้น. กรงุ เทพฯ: อนิ โพเฟรสดิวีล็อปเปอร์บู๊ค. วกิ ิพีเดีย สารานุกรมเสรี. ระบบจดั การฐานขอ้ มูล. สบื ค้นเมื่อ 31 พฤษภาคม 2561, จากเวบ็ ไซต์: https://th.wikipedia.org/wiki/ระบบจดั การฐานขอ้ มลู . . สารสนเทศ. สบื คน้ เมือ่ 29 พฤษภาคม 2561, จากเว็บไซต์: https://th.wikipedia.org/wiki/สารสนเทศ. วเิ ชยี ร เปี่ยมชัยสวัสด.ิ์ (2547). ระบบฐานขอ้ มลู (พิมพ์ครัง้ ท่ี 2). กรงุ เทพฯ:สานักพมิ พ์ ส.ส.ท. วรรณวิภา ติตถะสริ .ิ (2545). คมู่ อื เรยี น SQL ดว้ ยตนเอง. กรุงเทพฯ : พมิ พ์ด.ี สมจติ ร อาจอินทร์และงามนจิ อาจอินทร.์ (2540). ระบบฐานขอ้ มลู . ขอนแก่น:ศนู ย์หนังสือ มหาวทิ ยาลยั ขอนแก่น. โอภาส เอ่ยี มสิรวิ งศ์. (2551). ระบบฐานข้อมูล (Database Systems). กรุงเทพฯ:ซีเอ็ดยเู คชั่น. Dr. Edgar E Codd. (1990). The RELATIONAL MODEL for DATABASE MANAGEMENT: VERSION 2. Massachusetts: ADDISON-WESLEY PUBLISHING COMPANY. Gavin Powell. (2006). Beginning Database Design. Indiana: Wiley Publishing. Marc Delisle. ( 2006). Creating your MySQL Database: Practical Design Tips and Techniques. Birmingham: Packt Publishing. Oracle Corporation. (2017). MySQL™ Reference Manual. Retrieved December 10, 2017. Web site: https://downloads.mysql.com/docs/refman-5.7-en.a4.pdf. Paul DuBois. (2014). MySQL Cookbook (THIRD EDITION). California: O’Reilly Media. Paul Wilton and John W. Colby. (2005). Beginning SQL. Indianapolis: Wiley การบริหารจัดการระบบฐานข้อมูลเพ่อื งานธุรกจิ

Publishing, Inc. Peter Rob and Carlos Coronel. (2009). Database Systems:Design, Implementation, and Management. Massachusetts:Course Technology. THOMAS M. CONNOLLY. (2005). Database Systems (Fourth Edition). Essex:Pearson Education Limited. Wikipedia. Object database. Retrieved December 12, 2017, Form: https://en.wikipedia.org/wiki/Object_database.


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook