--- title: หลักการและระบบการจัดการฐานข้อมูล อ.เกวลี วันที่ 20 ธ.ค. 2565 ตู่ ปลา subtitle: date: วันพุธที่ 29 มีนาคม 2566 เวลา 09.10 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์เกวลี) ล่ามได้ยินไหมคะ โอเคค่ะ งั้นเดี๋ยววันนี้เริ่เลยนะคะ วันนี้เนื้อหาไม่เยอะนะคะ เพราะเดี๋ยวจะทำให้ชั่วโมงจะให้ทำงานในห้อง งั้นสอนเลยนะ วันนี้หัวข้อหลัเราต้องวางแผนก่อนว่าเราจะพัฒนาระบบอะไรนะคะ ทำไมต้องทำมันมีความจำเป็นกับการทำงานของเราไหมหรือยังไงนะคะ หลังจากนั้นมาวิเคราะห์ว่าไอ้ที่เราวางแผนไปนี่ ครอบคลุมแล้วหรือยังนะคะ กับการทำงานที่เราต้องการหรือผลลัพธ์ที่เราต้องการนี่ จากที่เราวางแผนไว้นี่ มันครบหรือเปล่า แล้วก็จะมาเช็ก หลังจากนั้น พอเราวิเคราะห์ความถูกต้องทุกอย่างแล้วมันครบรายละเอียดที่เราต้องการ เราก็มาออกแบบรายละเอียดของระบบว่า ระบบนี้มาวิเคราะห์ว่ามันจะต้องมีส่วนประกอบอะไรบ้าง ให้สามารถใช้งานระบบนี้ได้บ้าง แต่ละคนใช้งานการเข้าถึงข้อมูลนี่ มาก-น้อยต่างกันขนาดไหน อันนี้เป็นพื้นฐานเบื้องต้นหรือในระบบของเรา ต้องการจะเก็บข้อมูลใดบ้างต้องมากรอกรายละเอียด หรือเขียนรายละเอียดทั้งระบบ ต้องมาดูว่าครบหรือยังส่วนนี้ ก็ต้องมีการตรวจสอบด้วยว่าสิ่งที่เราวางแผนและวิเคราะห์และการออกแบบสามารถเกิดขึ้นได้จริงไหมนะคะ หลังจากนั้นวิเคราะห์พอแล้วว่ามันสามารถเกิดขึ้นได้ เราก็ไปดำเนินการพัฒนาระบบขึ้นมานะคะ ช่วงนี้ก็จะเป็นการพัฒนานะคะ แต่บางคน ก็คือพัฒนาไปด้วย ทดสอบไปด้วย ว่าระบบนี้มันใช้งานได้จริงแล้วเป็นอย่างไร หรือมันไมีข้อผิดพลาดตรงไหน ก็ดำเนินงานแก้ไขทั้งสร้างใหม่ไปเรื่อย ๆ แล้วก็ปรับปรุงสิ่งที่ทำไปแล้วให้มันสมบูรณ์ที่สุด หลังจากนั้น เราก็จะได้ระบบมา แต่พอได้มาแล้ว มันก็ยังต้องมีในส่วนของการบำรุงรักษานะคะ ว่ามันยังทำงานได้ดีไหม มีข้อผิดพลาดในการทำงานหรือเปล่า อาจจะใส่ข้อมูลราคาสินค้าไป แต่ภาษีผิด ภาษีประเทศไทย คือ 7 เปอร์เซ็นต์ แต่บังเอิญว่าเราพิมพ์ผิด ไปพิมพ์เป็นเลข 4 อย่างนี้ ผลการคำนวณมันเลยผิด อันนี้ก็ต้องไปแก้ไขนะคะ ก็เป็นส่วนของการบำรุงรักษา หรือว่ามีข้อมูลที่เราต้องการจะเพิ่ม อย่างเช่น ปกติแล้วเก็บกับเบอร์โทรศัพท์มือถือนะคะ เราอยากได้เบอร์โทรศัพท์บ้านด้วยก็อยู่ในส่วนของการบำรุงรักษาค่ะ เพราะว่ามันจะเป็นการที่แก้ไขในตัวระบบ ปรับปรุงระบบนั่นเองนะคะ ว่าให้เพิ่มเบอร์โทรศัพท์บ้านเข้าไปด้วยอย่างนี้นะคะ ซึ่งจากวัฏจักรการพัฒนาระบบนี่ เราเลยเอามาเป็นตัวตั้งต้น สำหรับการพัฒนาระบบจัดการฐานข้อมูล แต่มันจะมีบางส่วนที่เพิ่มเติมขึ้นมานะคะ ก็คือในส่วนของการทดสอบแล้วก็ประเมินผลนะคะ เมื่อกี้การพัฒนาระบบนี่ เราจะมีอยู่ 5 ขั้นตอนแต่ถ้าเป็นการพัฒนาระบบจัดการฐานข้อมูลหรือพัฒนาฐานข้อมูลนี่ เราจะมีอยู่ 6 ขั้นตอนนะคะ ซึ่งมันก็จะใกล้ ๆ เคียงกันแหละนะคะ โดยเริ่มต้นของการสร้างฐานข้อมูลขึ้นมานี่เราต้องมีการศึกษาเบื้องต้นก่อนว่าข้อมูลที่เราต้องการจะเก็บ เราจะเก็บอะไร เก็บไปทำไม เก็บมาจากไหนนะคะ แล้วจะเรียกดูข้อมูลทำอย่างไรนะคะ อันนี้เป็นการศึกษาเบื้องต้นก่อนว่าที่เราจะทำนี่ มันทำได้ไหม ทำได้จริงหรือเปล่า ข้อมูลคืออะไร นะคะ หลังจากนั้นเราก็เอาสิ่งที่เราศึกษาเบื้องต้นนี่ มาออกแบบฐานข้อมูลเหมือนที่เราวาดไปนะคะ วาดรูป ER ไป ก็คือเริ่มออกแบบแล้วเหมือนตัวอย่างที่อาจารย์ยกตัวอย่างไป ให้คืนร้านหนังสือ 1 ล้านจะเก็บข้อมูลอะไรบ้างนะคะ อันนี้คือเริ่มออกแบบแล้วนะคะ พอออกแบบได้ ปุ๊บ ตรวจสอบข้อมูลครบทุกอย่างนะคะ เราก็จะมาดำเนินการสร้างฐานข้อมูลเพื่อไปติดตั้งในระบบที่เรามีไว้อยู่แล้วนะคะ หรือถ้ายังไม่มีสร้างขึ้นมานะคะ เพื่อใช้กับฐานข้อมูลที่เรากำลังจัดทำเช่นเดียวกันนะคะ พอสร้างฐานข้อมูลเสร็จ เอาไปติดตั้งในระบบแล้ว เราก็ต้องมีการทดสอบและประเมินผลว่าฐานข้อมูลที่เราสร้างมามันใช้งานได้ดีกับระบบที่มีอยู่หรือไม่นะคะ ถ้ามันไม่ดี มันไม่ดีตรงไหน มีตรงไหนต้องแก้ไขหรือเปล่า หรือใส่ฐานข้อมูลแล้วแต่เรียกข้อมูลขึ้นมาไม่ได้เราก็ต้องแก้ปัญหานะคะ ว่าทำไมมันไม่ได้เหมือนถ้าใครเคยใช้ Excel เบอร์โทรศัพท์นำหน้าของเราจะเป็นเลข 0 ใช่ไหมคะ เหมือน Excel เหมือนกัน ถ้าเราไม่เปลี่ยนชนิดของข้อมูลเลข 0 เราจะหายไปนะคะ ทำไม อันนี้ก็เป็นข้อมูลหนึ่ง ที่เราจะต้องกำหนดรูปแบบของข้อมูลในฐานข้อมูลของเราด้วยนะคะ ว่าให้คอลัมน์นี้ ต้องเป็นเบอร์โทรศัพท์นะ ไม่ใช่จำนวนเลขจำนวนจริงใด ๆ หลังจากนั้น พอเราทดสอบประเมินผลเป็นที่พอใจแล้ว เราก็เอาระบบที่ได้ที่มีการผสานกับฐานข้อมูลนี่ เอาไปใช้งานจริงนะคะ พอใช้งานจริงทุกระบบที่เกี่ยวกับคอมพิวเตอร์จะต้องมีการบำรุงรักษาหรือปรับปรุงเปลี่ยนแปลงข้อมูลใด ๆ ก็ตามก็ต้องมีเหมือนกัน ก็จะคล้าย ๆ กับการพัฒนาระบบนะคะ สำหรับการพัฒนาฐานข้อมูล เดี๋ยวอธิบาย ก็คือในการศึกษาเบื้องต้นนี่ มันก็อย่างที่ฉันบอกตอนแรกก็ต้องดูว่ากูใช้งานต้องการอะไรฐานข้อมูลเขาใหญ่ได้เพื่อไปทำอะไร หรือมีปัญหาอะไรเกิดขึ้นเขาถึงต้องการระบบฐานข้อมูลนะคะ หรืออาจจะเกี่ยวกับการเก็บข้อมูลให้เป็นระเบียบนะคะ ซึ่งการศึกษาเบื้องต้นนี่ มันจะเป็นแนวทางในการออกแบบต่อไปอย่างน้อยที่เราต้องวิเคราะห์ คือ ในองค์กรเราต้องการเก็บข้อมูลขนาดไหนนะคะ ปัญหาที่เกิดขึ้นในปัจจุบัน หรือข้อจำกัด ก็คือตอนนี้ข้อมูลเขียนลงในสมุดตลอดเลย หรือเก็บไว้ในคอมพิวเตอร์เครื่องเดียวนะคะ มันไม่สามารถทำงานร่วมกันได้หลาย ๆ คน จุดมุ่งหมาย คือ ถ้าเรามีระบบฐานข้อมูลที่ดี คนทำงานช่วยกันจะได้เพิ่มขึ้น หรืออาจจะเป็นการเรียกดูข้อมูลได้สะดวกสบายขึ้นนะคะ ขอบเขตของงานคือคนที่สามารถเข้ามาดูข้อมูลได้มีใครบ้าง เป็นต้น อันนี้คือการศึกษาเบื้องต้นก่อน แล้วก็มาเช็กดูนะคะ ว่าข้อที่เราวิเคราะห์ไว้นี่ มันครบหรือยัง ถ้าครบแล้ว ออกแบบซึ่งรายละเอียด ก็จะมาจากขั้นตอนของการศึกษาข้อมูลเบื้องต้นนั่นล่ะนะคะ มาเป็นแนวทางในการออกแบบ 3 ระดับนะคะ ระดับแนวคิด ระดับภายใน และภายนอกระดับ ระดับตรรกะและพวกนี้นะคะ ที่เคยเรียนไปแล้วเมื่อต้น โดยการออกแบบเชิงแนวคิดนี่เราจะเป็นการพัฒนาแบบจำลองข้อมูลให้ถูกต้อง ต้องมีความละเอียด เข้าใจข้อมูลองค์กรเป็นอย่างดี สมมุติว่าถ้าคุณเป็นโปรแกรมเมอร์ คุณก็ต้องรู้ว่าองค์กรของคุณทำอะไรนะคะ ข้อมูลมีอะไรบ้างนะคะ อาจจะเป็นไปฝึกงานแล้วเขาให้ลองออกแบบฐานข้อมูลเกี่ยวกับการจัดการพนักงานเราก็ต้องรู้ว่าข้อมูลพนักงาน 1 คน มีอะไรบ้างนะคะ แน่นอนเหมือนที่อาจารนย์เคยสอน มีรหัสพนักงาน รหัสบัตรประชาชน ใช่ไหมคะ มีชื่อ มีนามสกุล มีเบอร์โทรศัพ ท์มีที่อยู่ปัจจุบัน ที่อยู่ตามทะเบียนบ้าน เรียนจบอะไรมา ตอนนี้ตำแหน่งอะไรเงินเดือนเท่าไร อันนี้คือข้อมูลเบื้องต้น แต่ถ้าเป็นบริษัทใหญ่เขาก็จะทำข้อมูลละเอียดมากว่าที่บ้านทำงานอะไร พ่อแม่อยู่ไหน มีลูกหรือยัง เพราะว่าบางองค์กรมีสวัสดิการให้คนในครอบครัวด้วย อันนี้พวกคุณก็ต้องศึกษาด้วยนะ ถ้าคุณไปทำงานที่ไหนว่าแต่ละที่เขาอาจจะไม่ได้เก็บข้อมูลเหมือนกันอาจจะมีเก็บข้อมูลไม่เยอะ หรืออาจจะเก็บข้อมูลนิดเดียว ในฐานข้อมูลจัดเก็บรูปภาพพนักงาน รูปภาพต้องเป็นรูปภาพแบบไหน อันนี้ก็คือสิ่งที่เราต้องออกแบบ ไม่ใช่ว่าทำอะไรก็ทำไม่ได้นะคะ ต้องดูความต้องการขององค์กรที่เราไปทำงานให้เขาด้วยนะคะ ตั้งแต่การออกแบบนี่ เราต้องกำหนดชนิดของข้อมูลที่จะเอาเข้ามา ก็คือชนิดของคอลัมน์แต่ละคอลัมน์ที่เราจะต้องใส่นะคะ มีความสัมพันธ์เป็นอย่างไรบ้าง ตารางพนักงาน จะต้องไปเชื่อมโยงกับตารางเงินเดือนไหมนะคะ ต้องเขียนให้ถูกเพราะตำแหน่งแต่ละตำแหน่ง คนแต่ละคน เงินเดือนไม่เท่ากันนะคะ ในแต่ละตารางเก็บข้อมูลอะไรบ้างนะคะ ขอบเขตของข้อมูลในตารางนั้น ๆ ต้องกำหนดอย่างไร เหมือนที่ฉันชอบยกตัวอย่างบ่อย ๆ เช่น รหัสบัตรประชาชนต้องเป็นเลข 13 หลักเท่านั้น อย่างนี้นะคะ หรือรหัสไปรษณีย์มันก็ควรจะมีแค่ 5 หลักเท่านั้น ไม่ควรเกินใช่ไหม อะไรที่เรารู้อยู่แล้วว่าขอบเขตมันเป็นอย่างไร เราก็สามารถกำหนดได้นะคะ เผื่อป้องกันความผิดพลาด ด้วยบางคนพิมพ์รหัสไปรษณีย์ผิดใส่ 0 เกินไปอย่างนี้ มันก็ผิดข้อมูลที่ได้มาก็จะผิดพลาด ในตารางอะไรเป็นคีย์หลัก ก็คือค่าที่ห้ามซ้ำกันน่ะ คืออะไร นะคะ มีการกำหนดความเป็นเอกลักษณ์ของตาราง เป็นตารางทั่วไปหรือตารางเฉพาะ อันนี้ถ้าจำเป็นต้องกำหนดนะคะ มีการเขียน ER Diagram คือการวาดรูปที่เราเคยวาดไปนะคะ วาดรูป ER หลังจากนั้น ต้องมานั่งประชุมกันค่ะ ว่าสิ่งที่เราออกแบบ กับสิ่งที่ผู้ใช้งานต้องการ ตรงกันหรือเปล่า มีตรงไหนที่เข้าใจไม่ตรงกันไหมมีอะไรที่ ลบออก แบบขาดไปหรือเปล่าหรือมันเกินความจำเป็น ตัดออกได้ไหมนะคะ อันนี้คือสิ่งที่ต้องมาคุยกัน ไม่ใช่ว่าเราคิดเองทั้งหมดแล้วเราทำเลย สรุปไม่ตรงกันกับความต้องการที่ผู้ใช้งานต้องการ ก็ไม่ได้และเสียเวลาเปล่า เพราะฉะนั้น ควรจะมานั่งคุยกันตั้งแต่เริ่มต้นนะคะ อันนี้ไม่มีอะไร หลังจากนั้น พอออกแบบได้นี่ การเลือกโปรแกรมที่จะใช้ในการจัดการข้อมูลนี่ คนออกแบบก็ต้องดูด้วยว่าแต่ละโปรแกรมมันมีข้อจำกัดนะคะ ไม่ใช่ว่าฉันรู้สึกว่าฉันจำชื่อโปรแกรมนี้ได้ เลือกเลย เลือกเพราะแค่จำชื่อได้ไหม มันไม่พอ มันจะต้องดูด้วยว่าไอ้ที่เราเลือกไปนี่ มันสามารถใช้งานได้ดีกับระบบที่เราต้องการจะใช้หรือเปล่านะคะ เพราะว่าถ้าเราเลือกผิดแล้วเรามาใช้งานจริง ๆ นี่ มันไม่เวิร์กหรือมันใช้งานไม่ได้นี่ งานเราถือว่าล้มเหลวเลยนะคะ ไม่ทันได้เริ่มทำงานแล้วข้อมูลเริ่มเก็บแล้วจะให้เริ่มใหม่เนี่ยเสียเวลามาก ๆ นะคะ เพราะฉะนั้น รัดกุมตั้งแต่ออกแบบเลยดีที่สุดนะคะ ทั้งการออกแบบทางตรรกะก็จะเกี่ยวข้องกับการตัดสินใจในการเลือกใช้ฐานข้อมูลนะคะ ก็ข้อมูลของเรานี่ จะเก็บข้อมูลอย่างไร มีการเชื่อมโยงอะไรบ้าง ทำไมต้องเก็บข้อมูลแบบนี้นะคะ แล้วก็ถ้าจำเป็นจริง ๆ กระบวนการในการเลือกที่เก็บข้อมูลก็สำคัญ คุณจะเก็บข้อมูลอย่างไร เก็บในเครื่อง Server เครื่องเดียว หรือจะมีการสำรองไปไว้ที่อื่นมีการกระจายข้อมูลกันเก็บ แต่ถ้าจำเป็น ก็คือสามารถเรียกใช้งานจากที่ไหนก็ได้ แล้วใครสามารถเรียกใช้งานได้บ้างนะคะ ผู้ใช้งานทั่วไปอาจจะได้แค่ดู แต่ถ้าเป็นผู้ดูแลระบบหรือระดับหัวหน้างานสามารถแก้ไขข้อมูลได้ด้วย อย่างนี้นะคะ เป็นต้น อย่างเช่น อาจารย์นี่ ก็สามารถดูเกรดนักศึกษาได้ทุกคนเลย แต่อาจารย์เข้าไปแก้ไขเกรดให้คุณไม่ได้นะ อาดูได้อย่างเดียวนะคะ ก็คือสิ่งที่เราออกแบบได้ คนที่แก้ไขได้คืออะไร ก็เป็นเจ้าหน้าที่สำนักทะเบียน ถ้าสมมติว่านึกว่าไม่มีข้อผิดพลาด ก็สามารถท้วงติงได้ แล้วเจ้าหน้าที่เท่านั้น ที่จะเข้าไปปรับปรุงข้อมูลได้ อาจารย์ทำให้ไม่ได้นะคะ อันนี้ก็เป็นตัวอย่างนะคะ หลังจากนั้น พอเราวิเคราะห์ทุกอย่างเรียบร้อย รัดกุมดีแล้ว เราก็ลงมือสร้างฐานข้อมูลนะคะ เอาโครงร่างที่ได้จากการออกแบบของเรานี่ สร้างข้อมูลสร้างฐานข้อมูลขึ้นมาเพื่อเก็บข้อมูลจริงนะคะ นะคะ หรืออาจจะมีการแปลงข้อมูลในระบบเดิมให้เข้ากับระบบใหม่ที่เราพัฒนาขึ้นมาก็ได้นะคะ ในข้อมูลเดิมนี่ อาจจะเก็บข้อมูลไม่ได้เก็บในระบบจัดการฐานข้อมูลในอะเก็บไว้ใน Excelนะคะ แต่ถามว่าระบบจัดการฐานข้อมูลปัจจุบันนี่ มันสามารถนำเข้าข้อมูลที่เป็น Excel เข้าสู่ระบบจัดการฐานข้อมูลได้แล้วนะคะ อันนี้ก็ความสามารถของระบบที่เราเลือกตั้งแต่แรก ว่าไอ้โปรแกรมที่เราใช้งานนี่ มันมีฟังก์ชันนี้ไหม ถามว่าเพื่ออะไร เกิดมันเป็นระบบที่ข้อมูลเดิมเราอยู่ใน Excel ทั้งหมดเลย เป็นแบบเป็นหมื่นเป็นแสนข้อมูล แต่ว่าระบบที่เราเลือกใช้นี่ มันนำเข้าข้อมูลจาก Excel เข้ามาไม่ได้นี่ แล้วมันจะดีกว่าระบบเดิมอย่างไรนะคะ ในเมื่อมันไม่ได้ทำให้เราทำงานง่ายขึ้นนะคะ หลังจากนั้นนี่ พอมีการพัฒนาฐานข้อมูล หรือปรับปรุงฐานข้อมูลขึ้นมาแล้วนะคะ มันก็จะเป็นขั้นตอนของการติดตั้งระบบนะคะ มันก็ขึ้นอยู่กับว่าเราใช้รูปจัดการฐานข้อมูลอะไรนะคะ มีใครเป็นผู้จัดการฐานข้อมูลหรือว่าเป็น Admin นั่นแหละ จำนวนพื้นที่จัดเก็บข้อมูลที่ต้องการใช้มีขนาดมากน้อยขนาดไหน ตารางต่าง ๆ ที่อยู่ในระบบมีกี่ตาราง มีตารางอะไรบ้างนะคะ อันนี้ คือ การติดตั้งใช้จริงนะคะ เดี๋ยวพอเราสอบมิดเทอมเสร็จนะคะ ช่วงหลังปีใหม่อาจารย์จะเริ่มพาทำ ภาษาที่ใช้ในการจัดการฐานข้อมูลอย่างง่าย ๆ นะคะ พาทำพิมพ์เองลองดูสิว่าวิธีการเรียกใช้ฐานข้อมูลอย่างง่ายนี่ มันเป็นอย่างไรนะคะ พอเราติดตั้งเสร็จปุ๊บ มันก็ต้องมีการทดสอบหาข้อผิดพลาดนะคะ ทั้งหาข้อผิดพลาด ทั้งประเมินความสามารถของระบบที่เราเอามาใช้นะคะ เพื่อดูสิว่า มันรองรับความต้องการของเราจริง ๆ หรือเปล่า ถูกต้องไหม ครบถ้วนดีไหมนะคะ ถ้ามันไม่ครบเราจะทำอย่างไร หรือบางอย่างมันไม่จำเป็นนี่ เราอาจจะไม่ได้ไปให้ User ใช้งานก็ได้ อาจจะเป็นเฉพาะผู้ดูแลระบบใช้งานฟังก์ชันนั้นคนเดียวก็พอ อย่างนี้นะคะ ก็การทำงานเหล่านี้จะต้องเตรียมคู่มือ เตรียมข้อมูลทดสอบไว้ล่วงหน้าด้วย เวลาถ้าสมมติว่าเราจบไปนี่ เราพัฒนาโปรแกรมใด ๆ ขึ้นมาก็ตาม เราจะต้องทำคู่มือการใช้งานด้วยนะคะ ไม่อย่างนั้น คนมาใช้งานระบบเรา ไม่เข้าใจ งง ว่าทำไมคุณตั้งชื่อตารางแบบนี้ล่ะ ทำไมตั้งชื่อคอลัมน์แบบนี้ไอ้ตัวนี้แปลว่าอะไร แล้วจะกดตัวไหนเพื่อบันทึกข้อมูลนะคะ หรือถ้าต้องการแก้ไขข้อมูลต้องกดตรงไหนนะคะ เราต้องเตรียมข้อมูลไว้ให้เขาด้วยเพื่อใช้ในการทดสอบนะคะ หรืออาจจะเป็นตัวอย่างข้อมูลเพื่อลองมาพิมพ์เข้าไปในรูปดูสิว่ามันสามารถบันทึกได้ไหม นะคะ ถูกต้องหรือเปล่ากับสิ่งที่เราต้องการให้มันเป็นนะคะ ไม่ใช่ว่าอาจารย์พิมพ์ข้อมูลเข้าไปเยอะมาก สรุปเรียกดูข้อมูลไม่ได้ มันก็ไม่มีประโยชน์ มันก็ต้องมีการทดสอบก่อน พอทดสอบแล้ว เป็นที่น่าพอใจเราก็เอาไปติดตั้งใช้งานจริงแต่พอติดตั้งแล้วมันก็ยังต้องมีการประเมินผลเหมือนกัน ว่าเราติดตั้งไปใช้จริงแล้วให้การทำงานที่ดีเหมือนตอนที่ทดสอบหรือเปล่า หรือตอนทดสอบใช้งานได้ แต่พอมาทำงานจริง ข้อมูลเข้ามาทีละหมื่นละแสนข้อมูลต่อวันส รุประบบรับข้อมูลไม่ได้ ไม่ทันนะคะ ถอดความก็เจ๊ง รอล่าม แป๊บหนึ่ง โอเค ต่อค่ะ หลังจากนั้นนะคะ ถ้าเราทำไปแล้วเนี่ยก็เหมือนที่บอกราคาก็ต้องมีการบำรุงรักษาการปรับปรุง ทำงานไปแล้วนี่ Admin นะคะ หรือว่าผู้จัดการฐานข้อมูลเขาจะต้องมีการเตรียมตัวบำรุงรักษาฐานข้อมูลไม่ใช่ว่าใช้ไปแล้วก็ไปดูเลย ทั้งต้องป้องกันระบบไม่ว่าถ้าสมมติว่ามีปัญหาเกิดขึ้นเรามีการสำรองข้อมูลไว้หรือเปล่าแล้วตารางในการสำรองข้อมูลจัดทำไว้บ่อยขนาดไหน แล้วแต่ระบบนะคะ บางคนถ้าเป็นระบบที่สำคัญมาก ๆ เขาจะต้องสำรองข้อมูลทุกวันนะคะ หรือถ้าระบบมีปัญหานะคะ ข้อมูลที่สำรองไว้สามารถกู้คืนได้ภายในระยะเวลาเท่าไรนะคะ เหมือนว่าสมมติวันนี้อาจจะมีภัยธรรมชาตินะคะ เป็นธนาคารแห่งหนึ่งสำนักงานใหญ่ ภัยธรรมชาติ ถ้าสมมติข้อมูลเขาหาย เป็นไปไม่ได้เลยนะคะ เงินลูกค้าไม่รู้จักกี่บาทจะบอกว่าไม่รู้ค่ะ ว่าตอนนี้คุณมีเงินเท่าไหร่เพราะเมื่อคืนมีภัยธรรมชาติ ข้อมูลหายคำตอบนี้จะต้องไม่เกิดขึ้นนะคะ ข้อมูลทุกอย่างจะต้องถูกเรียกนำมาใช้ เร็วที่สุดเท่าที่จะเป็นไปได้นะคะ อันนี้อย่างเช่น องค์กรใหญ่ ๆ เขาจะมีการซ้อมเลยนะคะ ว่าซ้อมสำรองข้อมูล แล้วคุณสามารถกู้คืนข้อมูลขึ้นมาได้เร็วที่สุดเท่าไร บางคนซ้อมทุก ๆ 1 เดือนเลยด้วยซ้ำ เพราะว่าข้อมูลบางอย่างมันสำคัญมาก ๆ นะคะ รวมถึงว่าถ้าระบบแล้วใช้ไปนี่ มันมีการเพิ่มตารางไหม หรืออาจจะมีคอลัมน์เพิ่มเติมที่เพิ่มเข้ามาสามารถทำได้ หรือเปล่าสิ่งเหล่านี้ก็ถือว่าเป็นการบำรุงรักษาปรับปรุงฐานข้อมูลเช่นเดียวกันโดยที่หัวข้อที่ 2 เหมือนที่อาจารย์บอก หัวข้อที่ 3 สิ เป็นการแปลงแผนภาพ ER นะคะ รูปภาพที่เราเคยวาดให้มาเป็น Relation หรือว่าให้เป็นตารางมันเป็นอะไรที่ง่ายมาก เพราะมันจะเริ่มต้นจากชื่อตารางก่อนชื่อ Entity โดยตารางใด ๆ นะคะ หรือรูปภาพใด ๆ นี่ มันสามารถเอามาแปลงเป็นตารางได้ 1 ตารางทันที ตารางคืออะไร หัวข้อตารางเหมือนที่เราเคยทำไปแล้ว หัวข้อตารางคือจะเป็นสี่เหลี่ยมผืนผ้าแบบนี้ใช่ไหมแล้วก็ ER จำได้นะ เป็นรูปอย่างนี้นะ แล้วก็มีวงรีวงรี วงรีแบบนี้ เราคิดวาดไปแล้วนะคะ ไม่ไปแล้วนะคะ ว่าไปแล้วอันนี้น่าจะจำได้ว่า hdr คืออะไร ทำไมอาจารย์พูดถึงโดยนะคะ การแปลงนะคะ จากตาราง Entity ปกตินะคะ ชื่อตารางกับชื่อ Entity คือตัวเดียวกัน ชื่อคอลัมน์ก็คือใช้ App ที่อยู่ในเอง โดยอันนี้คือ 1 ตารางนะคะ มองเป็น 1 ตาราง เช่น ตัวอย่างส่วนบนตรงนี้ เราเคยวาดแล้วใช่ไหมคะ อะไรคือชื่อตาราง ชื่อตารางมาจากชื่อในกรอบสี่เหลี่ยมผืนผ้าตัวนี้ แค่นั้นเองคุณก็ชื่อตรงนี้ มาบอกว่าอันนี้คือชื่อตาราง ชื่อ Student นะ ชื่อตารางนักเรียนนะนะคะ แล้วในตารางนักเรียนเก็บข้อมูลอะไรบ้าง เราก็เอาข้อมูลที่อยู่ในวงรีทุกอันนี้ค่ะ มาใส่เป็นคอลัมน์ตาราง ออกข้อสอบคือทำง่ายมาก ถ้าจำได้ แต่ในตารางอย่าลืมนะคะ ในรูปมีขีดเส้นใต้ ตารางก็ต้องขีดเส้นใต้พอเอาตารางมาเขียนเป็นความสัมพันธ์เราก็จะเอากรอบออกนะคะ เอากรอบออก โดยชื่อตารางจะอยู่หน้าสุดนะคะ หลังจากนั้นคอลัมน์ในตารางทั้งหมดจะอยู่ในวงเล็บนะคะ อันไหนที่เป็นคีย์หลักที่ขีดเส้นใต้ อย่าลืมขีดด้วยนะคะ อย่าลืมขีดด้วยนะ แค่นี้เองในการแปลงรูปภาพ ให้มันเป็นความสัมพันธ์ ถ้าใครยังไม่แม่น คุณทำเป็นตารางก่อนก็ได้ แต่จริง ๆ แล้วดูจากรูปนี่ เราก็มาเขียนแบบนี้ได้เลย ง่ายมากนะคะ ซึ่งในหนังสือบางเล่ม ไอ้ตัวการออกแบบนี่ เขาอาจจะเป็นรูปภาพหรือเขาอาจจะเขียนเป็นความสัมพันธ์แค่บรรทัดเดียวแบบนี้ ความหมายเดียวกันนะคะ อยู่ที่ว่าเขาจะอยากนำเสนอในรูปแบบอะไรเป็นตัวหนังสืออย่างเดียว หรือว่าออกมาเป็นภาพให้เห็นง่าย ๆ แล้วแต่เลย ตารางนี้ก็เหมือนกัน หลักการทำงานเดียวกันค่ะ อะไรที่อยู่ในกรอบตัวนี้ ก็คือชื่อตารางเอาไว้ข้างหน้าแต่สิ่งที่อยู่ในรีวิวก็คือเป็นรูปวงรีตัวนี้เอามาใส่ในวงเล็บนะคะ แต่ส่วนมากเวลาสอบนักศึกษาจะจำไม่ได้ เขาว่ามันทำอย่างไรนให้มันที่มันง่ายมากนะคะ ซึ่งอาทิตย์หน้าสอบอาทิตย์หน้าสอบนะคะ เดี๋ยวอาจารย์จะนัดอีกที ว่าสอบ น่าจะสอบถึงวันนี้นะคะ ข้อสอบที่จะออกตั้งแต่วันแรกจนถึงวันนี้เลยนะคะ ซึ่งรูปนี้ออกสอบแน่ ๆ จำไม่ได้ เพราะมันง่ายมากแต่ถ้ารูปนั้นนะคะ แผนภาพนะนี่ มันมีส่วนของตารางอ่อนแอนะคะ ก็คือ Weak Entity สัญลักษณ์ของ Weak Entity คือเป็นสี่เหลี่ยมซ้อนกัน 2 วง หลักการคือถ้ามันมีส่วนของค่าที่มีความอ่อนแอนี่ เราจะเอาคีย์หลักของอีกตารางหนึ่งที่มันมีความสำคัญด้วยมาใส่นะคะ เช่น รูปนี้ เห็นไหมคำว่ามันจะมีสี่เหลี่ยมซ้อนกัน 2 อัน ตรงข้างล่างนะคะ ถ้าสมมุติว่าเราจะมาแปลงเป็นความสัมพันธ์ อันนี้คือคีย์หลักของตารางที่มีค่าอ่อนแอ หลักการคือให้เอาคีย์หลักของอีกตารางหนึ่งที่มันมีความสัมพันธ์ด้วยมาใส่ด้วยนะคะ ผลลัพธ์ที่ได้จากตารางอ่อนแอตัวนี้ สังเกตไหมคะ ว่าจริง ๆ มันจะมีแค่ 2 Attributes ใช่ไหมคะ ข้อมูลเกี่ยวกับผู้ปกครองนักเรียนนะคะ ข้อมูลผู้ปกครองนักเรียน ถ้าเรามาแปลงเป็นความเป็นตารางเราจะต้องเอาส่วนของรหัสนักเรียนมาด้วยนะคะ เวลาเขียนก็เพิ่มนะคะ คีย์หลักของตารางที่ผ่านมา ก็คือมีรหัสนักเรียนเข้ามาเพิ่ม แค่นั้นเองอันนี้คือสำหรับตารางที่มีความอ่อนแอ ก็คือการต้องไปพึ่งค่าของตารางอื่นนั้นเองนะคะ อันนี้ก็ไม่ยากถ้าจำได้นะคะ ไม่ยากเลย ต่อมาการแปลงแผนภาพนะคะ ให้เป็นความสัมพันธ์มันจะมีอยู่ 3 รูปแบบนะคะ แบบ 1 ต่อ 1 กับแบบ 1 ต่อ กลุ่มแบบกลุ่มต่อกลุ่มอันนี้เรารู้อยู่แล้วนะคะ อันนี้เราเคยเรียนมาแล้ว โดยการแทนความสัมพันธ์แบบ 1 ต่อ 1 นี่ ก็คือชื่อของตารางเรารู้อยู่แล้วใช่ไหมคะ ก็จะมาตั้งและความสำคัญก็วาดง่าย ๆ นะคะ โดยการเพิ่มคีย์หลัก คีย์หลัก ก็คือตัวที่มันขีดเส้นใต้น่ะค่ะ ของอีกตารางหนึ่งที่เรามีความสำคัญกันเพื่อให้มันสามารถเชื่อมโยงกันได้ อันนี้คือง่ายมากจากลูนะคะ ที่หลักก็คือตัวขีดเส้นใต้ของนักเรียนตารางนี้นะคะ ของบัณฑิตนั่นเอง ของบัณฑิตนะคะ จบการศึกษา ก็จะมีรหัสนักศึกษาเขาทำวิทยานิพนธ์เรื่องอะไร ก็จะมีรหัสวิทยานิพนธ์ตารางนี้เห็นไหมคะ ว่ามันมีความสัมพันธ์แบบ 1 ต่อ 1 มีเลข 1 กำกับ ถ้าแบบ 1 ต่อ 1 จะต้องเอาคีย์หลัก เลือกตารางใดตารางหนึ่งก็พอมาใส่ สิ่งที่จะเกิดขึ้นคือสมมุติว่าเราจะเลือกนะคะ อย่างตัวนี้สมมติว่าอาจารย์จะเอาคีย์หลักของตารางวิทยานิพนธ์ไปใส่ให้กับตารางนักเรียนก็ได้นะคะ ก็ได้ หรือเอารหัสนักศึกษามาใส่ในตารางวิทยานิพนธ์ก็ได้ อันนี้เฉพาะความสัมพันธ์แบบ 1 ต่อ 1 เท่านั้น เลือกตัวใดตัวหนึ่งก็ได้ที่มีความสัมพันธ์กัน แต่ถ้าเป็นความสัมพันธ์แบบ 1 ต่อ กลุ่ม 1 ต่อ กลุ่ม นะ เราจะเอาคีย์หลักก็คือตัวขีดเส้นใต้ มาขีดที่มีความสัมพันธ์เป็นหนึ่งเท่านั้นไปใส่ในฝั่งที่มีความสัมพันธ์เป็นกลุ่ม อย่างเช่น รูปนี้นะคะ รูปนี้นะ ความสัมพันธ์เป็นหนึ่งจะอยู่ฝั่งนี้นะคะ มีความสัมพันธ์เป็นกลุ่มเห็นด้วยตัว M เราจะเอาตัวขีดเส้นใต้ ก็คือคีย์หลักของตารางที่มีความสัมพันธ์เป็นหนึ่งเท่านั้น ไปเพิ่มลงในตารางที่มีความสัมพันธ์เป็นกลุ่มนะคะ นั่นก็คือ เห็นไหมคะ ฝั่งนี้ความสัมพันธ์เป็นกลุ่มใช่ไหมคะ คือตัวคีย์หลักตัวขีดเส้นใต้เขามีตัวนี้ตัวเดียว เราก็จะเอาของตารางตารางหนึ่งมาเพิ่มให้ ซึ่งตารางนี้มีความสำคัญเป็นหนึ่งมาเพิ่มให้ อันนี้คือความสัมพันธ์แบบหนึ่งต่อกลุ่มนะคะ อันนี้ก็ยังไม่ยาก แต่ถ้าเป็นความสัมพันธ์แบบ กลุ่ม ต่อ กลุ่ม นะคะ โดยความสัมพันธ์นี่ บางทีมันอาจจะมีข้อมูลที่เกิดขึ้นของมันเองนะคะ ข้อมูลที่เกิดขึ้นซึ่งวิธีการแก้ปัญหาปัญหามันอยู่ตรงนี้ ตรงที่สร้างกรอบสีแดงนี่ ในความสัมพันธ์ของกลุ่มกับกลุ่มนี่ มันอาจจะมีข้อมูลที่เพิ่มเติมขึ้นมานะคะ ในกรณีนี้เราก็จะสร้างความสัมพันธ์ขึ้นมาใหม่เลยนะคะ โดยวิธีการ คือ เอาคีย์หลักของทั้ง 2 ความสัมพันธ์มาสร้างใหม่ให้กับความสัมพันธ์ตรงนี้นะคะ เอา 2 อันนี้มาใส่ทั้ง 2 ฝั่งเลย เอาจากตาราง 2 ตารางนี่ มาเพิ่มให้กับความสัมพันธ์ใหม่เลย ก็จะกลายเป็นแบบนี้ค่ะ อันนี้คือตารางที่เกิดขึ้นใหม่ สำหรับความสัมพันธ์แบบกลุ่มต่อกลุ่มนะคะ มันจะเอาข้อมูลรหัสนักเรียน แล้วก็รหัสตารางเรียนวิชานะคะ มาเพิ่มจากทั้งสองฝั่งเลยเมื่อก่อนคือเราต้องเลือกจากฝั่งใดฝั่งหนึ่งเท่านั้นใช่ไหมคะ ถ้าเป็นความสัมพันธ์แบบ 1 ต่อ 1 ถ้าเป็นความสัมพันธ์แบบหนึ่งต่อกลุ่มเราจะเอามาจากเราจะเอาทีหลังมาจากความสัมพันธ์ที่เป็นฝั่งหนึ่งเท่านั้นแต่ถ้าเป็นกลุ่มต่อกลุ่ม เราจะเอาคีย์หลักมาจากทั้ง 2 ตารางที่มีความสัมพันธ์กัน มาสร้างตารางใหม่ อันนี้คือจุดเด่นของแต่ละการแปลงตาราง ให้มันเป็นความสัมพันธ์นะคะ วิธีการทำเรารู้แล้วเดี๋ยวจะให้ลองทำเองสัก 1 ข้อนะคะ ในห้องเดี๋ยวอาจารย์จะเดินดูนะคะ ทำเลยทำเอง เอาแค่ 1 รูป รูปนี้ก็พอ ในรูปนี้มีกี่ตาราง มี 1 ตาราง 2 ตาราง 3 ตาราง ซึ่งในความสัมพันธ์ของรูปนี้ มีความสัมพันธ์แบบ 1ต่อกลุ่มกับแบบกลุ่มต่อกลุ่ม ลองดูสิว่าทำได้ไหมนะคะ ความสัมพันธ์ที่เกิดขึ้นจะมีอยู่ 2 ความสัมพันธ์ ลองดูสิว่าจากตัวอย่างที่อาจารย์ให้เข้าใจหรือเปล่า เอาอย่างแรกเลยแปลง ER ให้เป็นตารางให้ได้ก่อน ลองดูสิว่าจำได้ไหม ที่เคยสอนคุณแปลงตารางได้ปุ๊บคุณถึงค่อยมาเชื่อมโยงความสัมพันธ์ดูแล้วกันว่าแต่ละตารางที่คุณทำออกมาได้เนี่ยมันเชื่อมโยงกับตราอื่นเป็นอย่างไร ขั้นตอนแรกเปลี่ยนจากรูป เป็นตารางได้ ค่อยมาดูความสัมพันธ์นะคะ ลองทำดูทำเองนะคะ ทำเองเดี๋ยวจะเดินดูกระดาษมีอยู่แล้ว ทำเลย ล่ามคะ วันนี้ก็ประมาณนี้ล่ะค่ะ เนื้อหาจะมีแค่นี้ เดี๋ยวจะให้ทำงานในห้องค่ะ วันนี้ขอบคุณมากนะคะ ขอบคุณล่ามด้วยนะคะ ขอบคุณมากค่ะ