--- title: (แบ่งพิมพ์) หลักการและระบบการจัดการฐานข้อมูล subtitle: date: วันอังคารที่ 20 ธันวาคม 2565 เวลา 12.50 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์เกวลี) ล่ามได้ยินไหมคะ โอเคค่ะ อย่างนั้นเดี๋ยวเริ่มเลยนะคะ วันนี้เนื้อหาไม่เยอะนะคะ เพราะเดี่ยวท้าย ๆ ชั่วโมงจะให้ทำงานในห้ออย่างนั้นสอนเลยนะ วันนี้หัวข้อนะคะ จะมีหลัก ๆ จะมีอยู่ 3 เรื่องนะคะ ก็จะมีเกี่ยวกับวัฏจักรการพัฒนาระบบ ตัวย่อ คือ SDLC นะคะ กับ พอเราเอามาประยุกต์ใช้กับงานฐานข้อมูลนะคะ มันก็จะเป็นวัฏจักรการพัฒนาจัดการฐานข้อมูล คือ DBLC รวมถึงจากที่เราเรียนเมื่อหลาย ๆ สัปดาห์ก่อนนะคะ เราจะเอารูปที่เราวาดไว้นี่คือ ER รูป ER นะคะ แปลงกลับมาให้เป็นในรูปแบบความสัมพันธ์ แปลงในรูปแบบของตารางจะทำอย่างไรนะคะ เดี๋ยววันนี้เราจะมาเรียนกัน 3 หัวข้อ แค่นี้นะคะ วัฏจักรการพัฒนาระบบนะคะ ตัวย่อมันก็คือ SDLC ย่อมาจาก The System Development Life Cycle นั่นเอง ซึ่งมาจาก สิ่งที่เราได้มาอาจจะเป็นระบบสารสนเทศต่าง ๆ เอามารวมกัน อันนี้เป็นพื้นฐานก่อนนะคะ ว่าทำไมเราถึงจะต้องมาพัฒนาระบบจัดการฐานข้อมูลซึ่งมันจะเป็นระบบที่ปรับปรุงนะคะ มาจากวัฏจักรการพัฒนาระบบ นั่นล่ะ นะคะ โดยการพัฒนาระบบนี่เราจะมีอยู่ 5 ระยะนะคะ อันนี้คือเป็นมาตรฐาน สมมติเราเรียนไปนี่ เราเขียนโปรแกรมขึ้นมาสักงานหนึ่งนี่ หรือเราถูกจ้างเขียนโปรแกรมให้นะคะ หรือเราต้องการจะไปจ้าง หรือเราต้องการจะพัฒนาระบบเองก็ได้ ขั้นตอนการพัฒนามาตรฐานของการพัฒนาระบบจะมีอยู่ 5 ระยะนะคะ ระยะแรกเราต้องวางแผนก่อนว่า เราจะพัฒรชนาระบบอะไร นะคะ ทำไมต้องทำ มันมีความจำเป็นกับการทำงานของเราไหมนะคะ หรือมาวิเคราะห์ว่า ไอ้ที่เราวางแผนไปนี่มันครอบคลุมแล้วหรือยังนะคะ หรือผลลัพธ์ที่เราต้องการนี่ กับที่เราวางแผนไว้นี่มันครบหรือเปล่านะคะ เราก็จะมาเช็กหลังจากนั้นพอเราวิเคราะห์ความถูกต้องทุกอยู่แล้ว ครบทุกรายละเอียดที่เราต้องการ เราก็มาออกแบบรายละเอียดของระบบว่าระบบนี่มีส่วนประกอบอะไรบ้าง ใครสามารถใช้งานระบบนี้ได้บ้างนะคะ แต่ละคนใช้งาน ความ... การเข้าถึง้อมูลนี่ มากน้อยต่างกันขนนะคะ อันนี้เป็นพื้นฐานเบื้องต้น หรือในระบบของเราต้องการจะเก็บข้อมูลอะไรบ้างนะคะ ต้องมากรอกรายละเอียดหรือเขียนรายละเอียดทั้งระบบนะคะ มาดูว่า มันครบหรือยังนะคะ ส่วนนี้ก็จะต้องมีการตรวจสอบด้วยว่าสิ่งที่เราวางแผนเราวิเคราะห์และการออกแบบนี่ มันสามารถเกิดขึ้นได้จริงไหมนะคะ หลังจากนั้นเราวิเคราะห์แล้วว่ามันสามารถเกิดขึ้นได้ เราก็ไปดำเนินการพัฒนาระบบขึ้นมานะคะ ในช่วงนี้ก็จะเป็นการพัฒนานะคะ แต่บางคน ก็คือพัฒนาไปด้วย ทดสอบไปด้วยว่าระบบนี้มันใช้งานได้จริงแล้วเป็นอย่างไร แล้วมันมีข้อผิดพลาดตรงไหน ก็ดำเนินงานแก้ไขทั้งสร้างใหม่ไปเรื่อย ๆ แล้วก็ปรับปรุงสิ่งที่ทำไปแล้วให้มันสมบูรณ์ที่สุด หลังจากนั้นเราก็จะได้ระบบมา พอได้มาแล้ว มันก็ยังต้องมีในส่วนของเรื่องการบำรุงรักษานะคะ ว่ามันยังทำงานได้ดีไหมมีข้อผิดพลาดในการทำงานหรือเปล่า อาจจะใส่ข้อมูลราคาสินค้าไปแต่ภาษีผิด ภาษีประเทศไทย คือ 7 เปอร์เซอร์ แต่ว่า เราพิมพ์ผิด ไปพิมพืเป็นเลข 4 อันนี้ผลการคำนวณมันเลยผิด อันนี้ต้องไปแก้ไขนะคะ เป็นส่วนของการบำรุงรักษา หรือว่ามีข้อมูลที่เราต้องการจะเพิ่ม อย่างเช่นปกติเราเก็บแต่เบอร์โทรศัพท์มือถือนะคะ เราอาจได้เบอร์โทรศัพท์บ้านด้วยก็อยู่ในส่วนของการบำรุงรักษาค่ะ เพราะว่าจะเป็นการแก้ไขในตัวระบบปรับปรุงระบบนั่นเองนะคะ ว่าให้เพิ่มเบอร์โทรศัพท์บ้านไปด้วยอย่างนี้นะคะ ซึ่งจากวัฏจักรการพัฒนาระบบนี่ เราเลยเอามาเป็นตัวตั้งต้นสำหรับการพัฒนาระบบจัดการฐานข้อมูล แต่มันจะมีบางส่วนที่เพิ่มเติมขึ้นมานะคะ ในส่วนของการทดสอบและประมวลผล เมื่อกี้การพัฒนาระบบนี่เราจะมีอยู่ 5 ขั้นตอน หรือเป็นการพัฒนาระบบจัดการฐานข้อมูลหรือพัฒนาฐานข้อมูลนี่เราจะมีอยู่ 6 ขั้นตอนนะคะ ซึ่งมันจะใกล้เคียงกันนั้นล่ ะ โดยเริ่มต้นของการสร้างฐานข้อมูลขึ้นมานี่เราต้องมีการศึกษาเบื้องต้นก่อนว่าข้อมูลที่เราต้องการจะเก็บ เก็บอะไร เก็บไปทำไม เก็บมาจากไหนนะคะ นะคะ แล้วจะเรียกดูข้อมูลทำอย่างไรนะคะ อันนี้เป็นการศึกษาเบื้องต้นก่อนว่า เอ๊ะ ที่เราจะทำนี่มันทำได้ไหม ทำได้จริงหรือเปล่า ข้อมูลคืออะไรนะคะ หลังจากนั้น เราก็เอาสิ่งที่เราศึกษาเบื้องต้นมาออกแบบฐานข้อมูลเหมือนที่เราวาดไปนั่นล่ะค่ะ ที่เราวาดรูป ER ไป ก็คือเริ่มออกแบบแล้ว ว่า เอ๊ะ เหมือนตัวอย่างที่อาจารย์ยกให้คือร้านหนังสือ 1 ร้านจะเก็บข้อมูลอะไรบ้างนะคะ อันนี้ คือเริ่มออกแบบแล้วนะคะ พอออกแบบได้ปุ๊บ ตรวจสอบข้อมูลครบทุกอย่างนะคะ เราก็จะมาดำเนินงานสร้างฐานข้อมูลเพื่อไปติดตั้งในระบบที่มีไว้อยู่แล้วนะคะ หรือหรือถ้ายังไม่มี ก็สร้างขึ้มานะคะ มาใช้กับฐานข้อมูลที่เรากำลังจัดทำเช่นเดียวกันนะคะ พอสร้างฐานข้อมูลเสร็จเอาไปติดตั้งในระบบแล้วเราก็ต้องมีการทดสอบและประเมินผลว่า ฐานข้อมูลที่เราสร้างมา มันใช้งานได้ดีกับระบบที่มีอยู่หรือไม่นะคะ ถ้ามันไม่ดี มันไม่ดีตรงไหนมีตรงไหนต้องแก้ไขหรือเปล่านะคะ หรือใส่ฐานข้อมูลแล้ว แต่เรียกข้อมูลขึ้นมาไม่ได้ เราก็ต้องแก้ปัญหานะคะ ว่าทำไมมันไม่ได้ เหมือนถ้าใครเคยใช้ Excel เบอร์โทรศัพท์นำหน้าเราจะเป็นเลข 0 ใช่ไหมคะ แต่เหมือน Excel จะไม่เปลี่ยนชนิดของข้อมูล เลข 0 จะหายไปนะคะ ทำไม อันนี้ก็เป็นข้อหนึ่งที่เราจะต้องกำหนดรูปแบบของข้อมูลในฐานข้อมูลของเราด้วย ให้ คอลัมน์นี้ เป็นเบอร์โทรศัพท์นะ ไม่ใช่จำนวนเลขจำนวนจริงใด ๆ นะคะ หลังจากนั้นเราทดสอบประมวลผลเป็นที่พอใจแล้วเราก็เอาระบบที่ได้ที่ได้มีการผสานกับฐานข้อมูลนี่เอาไปใช้งานจริงนะคะ พอใช้งานจริง ทุกระบบที่เกี่ยวกับคอมพิวเตอร์จะต้องมีการบำรุงรักษาหรือปรับปรุงเปลี่ยนแปลงข้อมูลใด ๆ ก็ตามก็ต้องมีเหมือนกันนะคะ อันนี้ก็จะคล้าย ๆ กับการพัฒนาระบบ ในการพัฒนาฐานข้อมูล แต่เดี๋ยวจะอธิบายโดยละเอรียดในการศึกษาเบื้องต้นนี่มันก็อย่างที่อาจารย์บอกตอนแรกก็ต้องดูว่าผู้ใช้งานต้องการอะไร ฐานข้อมูลเขาอยากได้เพื่อไปทำอะไร หรือมีปัญหาอะไรเกิดขึ้น เขาจึงระบบฐานข้อมูลนะคะ หรืออาจจะเกี่ยวกับการเก็บข้อมูลให้เป็นระเบียบนะคะ ซึ่งการศึกษาเบื้องต้นนี่ มันจะเป็นแนวทางในการออกแบบต่อไป อย่างน้อยที่เราต้องววิเคราะห์ คือ ในองค์กรเราต้องการเก็บข้อมูลขนาดไหนนะคะ ปัญหาที่เกิดขึ้นในปัจจุบันหรือข้อจำกัด ก็คือ ตอนนี้ก็คือข้อมูลนี่เขียนในสมุดตลอดเลย หรือเก็บไว้ในคอมพิวเตอร์เครื่องเดียวนะคะ มันไม่สามารถทำงานร่วมกันได้หลาย ๆ คน จุดมุ่งหมาย คือ ถ้าเรามีระบบฐานข้อมูลที่ดี คนทำงานช่วยกันเพิ่มขึ้นหรืออาจจะเป็นการเรียกดูข้อมูลได้สะดวกสบายขึ้นนะคะ ขอบเขตของงานคือคนที่สามารถเข้ามาดูข้อมูลได้มีใครบ้าง เป็นต้น อันนี้เป็นการศึกษาเบื้องต้นก่อน แล้วก็มาเช็กดูนะคะ ว่าข้อที่เราวิเคราะห์ไว้นี่มันครบหรือยัง ถ้าครบแล้วนะคะ ก็มาออกแบบนะคะ ซึ่งรายละเอียดก็จะเอามาจากขั้นตอนของการศึกษาข้อมูลเบื้องต้นนั่นล่ะ 3 ระดับ นะคะ ระดับแนวคิด ระดับภายใน แล้วก้ระดับภายนอก ระดับตรรกะ ที่เคยเรียนไปแลนะคะ โดยการออกแบบเชิงแนวคิดนี่จะเป็นการพัฒนาแบบจำลองข้อมูลให้ถูกต้อง ต้องมีความละเอียด เข้าใจข้อมูลองค์กรเป็นอย่างดีอย่างดี สมมติว่า ถ้าคุณเป็นโปรแกรมเมอร์ คุณก็ต้องรู้ว่าองค์กรของคุณทำอะไรนะคะ ข้อมูลมีอะไรบ้างนะคะ อาจจะเป็นไปฝึกงานแล้วเขาให้ลองออกแบบงาน แล้วเขาให้ลองออกเป็นฐานข้อมูลเกี่ยวกับฐานข้อมูลพนักงานเราาก็ต้องรู้ว่าข้อมูลพนักงาน 1 คนมีอะไรบ้างนะคะ แน่นอนเหมือนที่อาจารย์เคยสอน มีรหัสพนักงาน รหัสบัตรประชาชน มีชื่อ มีนามสกุล มีเบอร์โทรศัพท์ ที่อยู่ตามทะเบียนบ้าน เรียนจบอะไรมา ตอนนี้ตำแหน่งอะไร เงินเดือนเท่าไร อันนี้คือข้อมูลเบื้องต้น แต่ถ้าเป็นบริษัทใหญ่ ๆ เขาก็ถามข้อมูลละเอียดมากว่า ที่บ้านทำงานอยู่ไหน อยู่ไหน มีลูกหรือยัง เพราะว่าบางองค์กรมีสวัสดิการให้คนในครอบครัวด้วย อันนี้พวกคุณก็ต้องศึกษาด้วยนะ ถ้าคุณไปทำงานที่ไหน ว่าแต่ละที่เขาอาจจะไม่ได้เก็บข้อมูลเหมือนกันอาจจะมีเก็บข้อมูลไม่เยอะ หรือเก็บข้อมูลนิดเดียว ในฐานข้อมูลอาจจะเก็บรูปภาพพนักงาน รูปภาพต้องเป็นรูปภาพแบบไหน อันนี้คือสิ่งที่เราต้องออกแบบนะคะ ไม่ใช่ว่าอยากทำอะไรก็ทำไม่ได้นะคะ ต้องดูความต้องการขององค์กรที่เราไปทำงานให้เขาด้วยนะคะ ตั้งแต่การออกแบบนี่ เราต้องกำหนดชนิดของข้อมูลที่จะเอาเข้ามา ก็คือชนิดของคอลัมน์ที่เราต้องใส่นะคะ มีความสัมพันธ์เป็นอย่างไรบ้าง ตารางพนักงานจะต้องไปเชื่อมโยงกับตารางเงินเดือนไหม ต้องเขียนให้ถูกเพราะตำแหน่งแต่ละตำแหน่ง คนแต่ละคน เงินเดือนไม่เท่ากันนะคะ ในแต่ละตารางจะเก็บข้อมูลอะไรบ้างนะคะ ขอบเขตของข้อมูลในตารางนั้น ๆ ต้องกำหนดอย่างไร เหมือนที่อาจารย์ชอบยกตัวอย่างอยู่บ่อย ๆ เช่น รหัสบัตรประชาชนต้องเป็นเลข 13 หลักเท่านั้น อย่างนี้นะคะ หรือรหัสไปรษณีย์มันก็ควรมีแค่ 5 หลักเท่านั้นไม่ควรเกินใช่ไหม อะไรที่เรารู้อยู่แล้วว่าขอบเขตมันเป็นอย่างไร เราก็สามารถกำหนดได้นะคะ เผื่อป้องกะันความผิดพลาความผิดพลาดด้วย บางคนพิมพ์รหัสไปรษณีย์ผิด ใส่ 0 เกินไปอย่างนี้ มันก็ผิด ข้อมูลที่ได้มามันก็จะผิดพลาด ในตารางอะไรเป็นคีย์หลักคีย์หลัก ก็คือค่าที่ห้ามซ้ำกันคืออะไร นะคะ มีการกำหนดความเป็นเอกลักษณ์ของตารางเป็นตารางทั่วไปหรือตารางเฉพาะ อันนี้ถ้าจำเป็นต้องกำหนดนะคะ มีการเขียน ER Diagram นะคะ วาดรูป ER หลังจากนั้นต้องมานั่งประชุมกันค่ะ ว่าสิ่งที่เราออกแบบกับสิ่งที่ผู้ใช้งานต้องการ ตรงกันหรือเปล่า มีตรงไหนที่เข้าใจไม่ตงกันไหม หรือมีอะไรที่เราออกแบบขาดไปหรือเปล่า หรือมันเกินความจำเป็น ตัดออกได้ไหมนะคะ อันนี้คือสิ่งที่ต้องมาคุยกันทั้งหมด ไม่ใช่คิดว่า คิดเองทั้งหมด เราทำเลย สรุป ไม่ตรงกันกกับที่ผู้ใช้งานต้องการอันนี้ก็ไม่ได้แล้ว เสียเวลาเปล่านะคะ เพราะฉะนั้น ควรจะมานั่งคุยกันตั้งแต่เริ่มต้นนะคะ อันนี้ไม่มีอะไร หลังจากนั้นจากนั้น พอออกแบบไปนี่ การเลือกโปรแกรมที่จะใช้ในการจัดการข้อมูลนี่คนออกแบบก็ต้องดูด้วยว่าแต่ละโปรแกรมมันมีข้อจำกัดนะคะ ไม่ใช่ว่า ฉันรู้สึกว่าฉันจำชื่อโปรแกรมนี้ได้ เลือกเลย เลือกเพราะแค่จำชื่อได้มันไม่พอ มันจะต้องดูด้วยว่าไอ้ที่เราเลือกไปนี่มันสามารถใช้งานได้ดีกับระบบที่เราต้องการจะใช้หรือเปล่านะคะ เพราะว่าถ้าเราเลือกผิด แล้วเราเอามาใช้งานจริง ๆ นี่ มันรไม่เวิร์ก หรือใช้งานไมไ่ด้นี่ งานเราถือว่าล้มเหลวเลยนะคะ เพราะว่าเริ่มทำงานแล้วข้อมูลเริ่มเก็บแล้ว แล้วจะให้เริ่มใหม่นี่ เสียเวลามาก ๆ นะคะ เพราะฉะนั้นรัดกุมตั้งแต่ออกแบบเลยดีที่สุด ทั้งการออกแบบทางตรรกะก็จะเกี่ยวข้องกับการตัดสินใจในากรเลือกฐานข้อมูลนะคะ ก็ข้อมูลของเรานี่จะเก็บข้อมูลอย่างไร มีการเชื่อมโยงอะไรบ้าง ทำไมต้องเก็บข้อมูลแบบนี้นะคะ แล้วก็ถ้าจำเป็นจริง ๆ กระบวนการในการเลือกที่เก็บข้อมูลก็สำคัญ คุณจะเก็บข้อมูลอย่างไร เก็บในเครื่อง server เครื่องเดียว หรือจะมีการสำรองไปไว้ที่อื่น หรือมีการกระจายข้อมูลกันเก็บ แต่ถ้าจำเป็นสามารถเรียกใช้งานจากที่ไหนก็ได้นะคะ แล้วใครสามารถเรียกใช้งานได้บ้างนะคะ ผู้ใช้งานทั่วไปอาจจะได้แค่ดู แต่ถ้าเป็นผู้ดูแลระบบ หรือฃหัวหน้างานสามารถแก้ไขข้อมูลได้ด้วย อย่างนี้เป็นต้น อย่างเช่น อาจารย์นี่ก็สามารถดูเกรดของนักศึกษาได้ทุกคนเลยนะคะ แต่อาจารย์เข้าไปแก้ไขเกรดให้พวกคุณไม่ได้นะ อาจารย์ดูได้อย่างเดียวนะคะ อันนี้ก็คือสิ่งที่เราออกแบบได้ คนที่แก้ไขได้คืออะไร ก็คือเจ้าหน้าที่สำนักทะเบียน สมมติว่ามันมีข้อผิดพลาด ก็สามารถท้วงติงได้ แล้วเจ้าหน้าที่เท่านั้นนะคะ ที่สามารถเข้าไปปรับปรุงข้อมูลได้ อาจารย์ทำให้ไม่ได้นะคะอันนี้ก็เป็นตัวอย่างนะคะ หลังตจากนั้นพอเราวิเคราะห์ทุกอย่างเรียบร้อยรัดกุมดีแล้ว เราก็ลงมือสร้างฐานข้อมูลนะคะ เอาโครงร่างที่ได้จากการออกแบบของเรานี่ สร้างฐานข้อมูลขึ้นมาเพื่อเก็บข้อมูลจริงนะคะ หรืออาจจะมีการแปลงเข้ามูลในระบบเดิมให้เข้ากับระบบใหม่ที่เราพัฒนามาก็ได้ ในข้อมูลเดิมนี่ อาจจะไม่ได้เก็บในฐานข้อมูลอะไรหรอกเก็บไว้ใน Excel นะคะ แต่ถามว่าระบบจัดการฐานข้อมูลปัจจุบันนี้ มันสามารถนำเข้าข้อมูลที่เป็น Excel เข้าสู่ระบบจัดการฐานข้อมูลได้แล้วนะคะ อันนี้ก็เป็นความสามารถของระบบที่เราเลือกตั้งแต่แรกว่า ไอ้โปรแกรมที่เราใช้งานนี่ มันมีฟังก์ชันนี้ไหม ถามว่าเพื่ออะไร มันเป็นระบบที่ สมมติข้อมูลเดิมเราอยู่ที่ Excel ทั้งหมดเลย เป็นหมื่นเป็นแสนข้อมูล แต่ว่าระบบที่เราเลือกใช้นี่มันเอานำเข้าข้อมูลจาก Excel ไม่ได้นี่ แล้วมันจะดีกว่าระบบเดิมอย่างไรนะคะ ในเมื่อมันไม่ได้ทำให้เราทำงานง่ายขึ้นนะคะ หลังจากนั้นนี่พอมีกาารพัฒนาฐานข้อมูล หรือปรับปรุงฐานข้อมูลขึ้นมาแล้วนะคะ มันก็จะเป็นขั้นตอนของการติดตั้งระบบนะคะ มันก็ขึ้นอยู่กับว่าเราใช้ระบบจัดการฐานข้อมูลอะไรนะคะ มีใครเป็นผู้จัดการฐานข้อมูลหรือว่าเป็นแอดมินนั่นล่ะ จำนวนพื้นที่ในการเก็บข้อมูลที่ต้องการใช้ มีขนาดมากน้อยขนาดไหน ตารางต่าง ๆ ที่อยู่ในระบบมีกี่ตาราง มีตารางอะไรบ้างนะคะ อันนี้คือการติดตั้งใช้จริง เดี๋ยวพอ เราสอบ mid-term เสร็จ มิดเทอมเสร็จ ช่วงหลังปีใหม่ อาจารย์จะเริ่มพาทำภาษาที่ใช้ในการจัดการฐานข้อมูลง่าย ๆ พาทำ พิมพ์เองลองดิสิว่า วิธีการเรียกใช้ฐานข้อมูลอย่างง่าย มันเแ็นอย่างไรนะคะ พอเราติดตั้งเสร็จปุ๊บก็ต้องมีการหาข้อผิดพลาดนะคะ ทั้งหาข้อผิดพลาด ทั้งประเมินความสามารถของระบบ ที่เราเอามาใช้นะคะ เพื่อดูสิว่ามันรองรับความต้องการของเราจริงหรือเปล่า ถูกต้องไหม ครบถ้วนหรือเปล่านะคะ ถ้ามันไม่ครบเราจะทำอย่างไร หรือบางอย่างมันไม่จำเป็นนี่เราอาจจะไม่จำเป็นให้ User ใช้งานก็ได้ อาจจะเป็นเฉพาะผู้ดูแลระบบใช้งานฟังก์ชันนั้นคนเดียวก็พอ อะไรอย่างนี้นะคะ ก็การทำงานเหล่านี้ จะต้องเตรียมข้อมูล เตรียมข้อมูลทดสอบไว้ล่วงหน้าด้วยนะคะ เหมือนเวลาถ้าสมมติว่าเราจบไปนี่ เราพัฒนาโปรแกรมใด ๆ ขึ้นมาก็ตามเราจะต้องทำคู่มือการใช้งานด้วยนะคะ ไม่อย่างนั้นคนมาใช้งานระบบเรา ไม่เข้าใจ งง ว่าทำไมคุณตั้งชื่อตารางแบบนี้ล่ะ ทำไมตั้งชื่อ คอลัมน์แบบนี้ ตัวนี้แปลว่าอะไร แล้วจะกดตัวไหน เพื่อบันทึกข้อมูลนะคะ หรือถ้าต้องการแก้ไขข้อมูลต้องกดตรงไหนนะคะ เราต้องเตรียมข้อมูลไว้ให้เขาด้วย เพื่อใช้ในการทดสอบนะคะ หรืออาจจะเป็นตัวอย่างข้อมูลเพื่อ ลองพิมะในระบบดูสิว่ามันสามารถบันทึกได้ไหมนะคะ ถูกต้องหรือเปล่ากับสิ่งที่เราต้งอการให้มันเป็นนะคะ ไม่ใช่ว่าอาจารย์พิมพ์ข้อมูลเข้าไปเยอะมาก สรุปเรียกดูข้อมูลไม่ได้ มันก็ไม่มีประโยชน์นะคะ มันต้องมีการทดสอบก่อน พอทดสอบแล้วเป็นที่น่าพอใจเราก็เอาไปติดตั้งใช้งานจริง แต่พอติดตั้งแล้วต้องมีการประมวลผลเหมือนกันนะคะ ว่าพอเราติดตั้งไปใช้จริงแล้ว มันให้การทำงานดีเหมือนตอนที่ทดสอบหรือเปล่า หรือพอตอนทดสอบใช้งานได้ แต่พอใช้งานจริง ข้อมูลเข้ามาทีละหมื่นและแสนข้อมระบบรับไม่ได้ ไม่ทันนะคะ ถอดความก็เจ้ง โอเค รอล่ามแป๊บหนึ่ง โอเค ต่อค่ะ หลังจากนั้นนะคะ ถ้าเราทำงานไปแล้วนี่ก็อย่างที่บอกนะคะก็ต้องมีการบำรุงรักษาการปรับปรุง พอทำงานไปแล้วนี่ แอดมินนะคะ หรือว่าผู้จจัดการฐานข้อมูลนี่เขาจะต้องมีการบำรุงรักษาฐานข้อมูล ไม่ใช่ใช้ ๆ ไปก็ไม่กลับมาดูเลย ต้องป้องกันระบบด้วยว่าถ้าสมมติว่ามีปัญหาเกิดขึ้น เรามีการสำรองข้อมูลไว้หรือเปล่า แล้วในการสำรองข้อมูลนี่ จัดทำไว้บ่อยขนาดไหน แล้วแต่ระบบนะคะ บางคนถ้าเป็นระบบที่สำคัญมาก ๆ เขาจะต้องสำรองข้อมูลทุกวันนะคะ หรือถ้าระบบมีปัญหานะคะ ข้อมูลที่สำรองไว้ สามารถกู้คืนได่ กู้คืนได้ภายในระยะเวลาเท่าไรนะคะ เหมือนว่าสมมติวันนี้อาจจะมีภัยธรรมชาตินะคะ เป็นธนาคารแห่งหนึ่งสำนักงานใญ่ ถ้าสมมติว่าข้อมูลเขาหาย มันเป็นไปไม่ได้เลยนะคะ เงินลูกค้าไม่รู้จะกี่บาท จะบอกว่า โอ้ไม่รู้ค่ะ ตอนนี้คุณมีเงินเท่าไร เพราะเมื่อคืนมีภัยธรรมชาติ ข้อมูลหาย คำตอบนี้จะต้องไม่เกิดขึ้นนะคะ ข้อมูลทุกอย่างจะต้องถูกเรียกนำมาใช้ เร็วที่สุดเท่าที่จะเป็นไปได้นะคะ อันนี้อย่างเช่นเป็นองค์กรใหญ่ ๆ เขาจะมีการซ้อมเลยนะคะว่า ซ้อมสำรองข้อมูล แล้วคุณสามารถกู้คืนข้อมูลกลับมาได้เร็วที่สุดเท่าไร บางคนซ้อมทุก ๆ 1 เดือนเลยด้วยซ้ำเพราะว่าข้อมูลบางอย่างมันสำคัญมาก ๆ นะคะ รวมถึงว่า ถ้าระบบเราใช้ไปนี่ มันมีการใช้ตารางไหม หรืออาจจะมีคอลัมน์ที่เพิ่มขึ้นมา สามารถทำได้หรือเปล่านะคะ สิ่งเหล่านี้ก็ถือว่าเป็นการบำรุงรักษาฐานข้อมูลเช่นเดียวกันนะคะ โดยที่โดยที่หัวข้อที่ 2 แบบที่อาจารย์บอก หัวข้อที่ 3 สิ่เป็นการแปลงแผนภาพ ER นะคะ รูปภาพที่เราเคยวาดนี่ ให้มาเป็น Relation หรือว่าตารางนี่มันเป็นอะไรที่ง่ายมาก เพราะมันจะเริ่มจากชื่อตารางก่อน ก็คือชื่อ Entity โดยตารางใด ๆ นะคะ หรือรูปภาพใด ๆ นี่มันสามารถเอามาแปลงเป็นตารางได้ 1ตารางทันทีตารางคืออะไร หัวข้อตารางคืออะไรหัวข้อตารางคือจะเป็นสี่เหลี่ยมผืนผ้าแบบนี้นะแล้วก็ ER จำได้นะ มันเป็นรูปอย่างนี้นะ แล้วก็มีวงรี วงรีวงรีแบบนี้ เราเคววาดไปแล้วนะคะ วาดไปแล้วนะคะวาดไปแล้วนะคะ วาดไปแล้ว เอ๊ะ ER คืออะไร ทำไมอาจารย?พูดถึงนะคะ โดยนะคะ การการแปลงนะคะ จากตาราง Entity ปกตินะคะ ชื่อตารางกับชื่อ Entity อันเดียวกัน ชื่อคอลัมน์ก็คือชื่อ Attribute นั่นเองนะคะ โดยอันนี้คือ 1 ตาราง มองเป็น 1 ตาราง เช่น ตัวอย่าง อันนี้ส่วนบนตรงนี้เราเคยวาดแล้วใช่ไหมคะ อะไรคือชื่อตาราง ชื่อตารางคือมาจากชื่อในกรอบสีเหลี่ยมผืนผ้าตัวนี้ แค่นั้นเอง คุณก็เอาชื่อตรงงนี้มาบอกชื่อตารางอันนี้คือชื่อตาราง Student นะ ชื่อตารางนักเรียนนะคะ แล้วในตารางนักเรียนเก็บข้อมูลอะไรบ้าง เราก็เอาข้อมูลที่อยู่ในวงรีตัวนี้ค่ะ มาใส่เป็นคอลัมนืตารางแค่นั้นเอง ออกข้อสอบ คือ ง่ายมากถ้าจำได้ แต่ในตารางอย่าลืมนะคะ ในรูปมีขีดเส้นใต้ ตารางก็ต้องขีดเส้นใต้ พอเอาตารางมาเขียนเป็นความสัมพันธ์เราก็จะเอากรอบออกนะคะ เอากรอบออก โดยชื่อตารางจะอยู๋หน้าสุด นะคะ หลังจากนั้นคอลัมน์ในตารางทั้งหมดจะอยู่ในวงเล็บนะคะ อันไหนที่เป็นคีย์หลักที่เป็นขีดเส้นใต้อย่าลืมขีดด้วยนะคะ อย่าลืมขีดด้วยนะ แค่นี้เองในการแปลงรูปภาพให้มาเป็นความสัมพันธ์ถ้าใครยังไม่แม่น คุณทำเป็ฯตารางก่อนก็ได้ เป็นตารางก่อนก็ได้ แต่ดูจากรูปแล้วเราก็เอามาเขียนแบบนี้ได้เลย ง่ายมาก ซึ่งในหนังสือบางเล่ม ไอ้ตัวงานออกแบบนี่ เขาอาจจะเป็นรูปภาพาความสัมพันธ์แค่บรรทัดเดียวแบบนี้ ความหมายเดียวกันนะคะ อยู่ที่ว่า เขาจะอยากอยู่ในรูปแบบอะไร เป็นตัวหนังสืออย่างเดียวหรือวาดออกมาเป็นภาพง่าย ๆ แล้วแต่เลยนะคะ ตารางนี้ก็เหมือนกัน หลักการทำงานเดียวกันค่ะ อะไรที่อยู่ในกรอบตัวนี้ ก็คือชื่อตารางเอาไว้ข้างหน้า อะไรที่อยู่ใน Attrib ก็คือในวงเล็บแค่นั้นเองนะคะ แต่ส่วนมากเวลาสอบนักศึกษาจะจำไม่ได้ ทั้งที่มันง่ายมากนะคะ ซึ่งอาทิตย์หน้าสอบ อาทิตย์หน้าสอบนะคะ เดี๋ยวอาจารย์จะนัดอีกที น่าจะสอบถึงวันนี้นะคะ ข้อสอบที่จะออก ตั้งแต่วันแรกจนถึงวันนี้เลยนะคะ ซึ่งรูปนี้ออกสอบแน่ ๆ จำให้ได้นะคะ เพราะมันง่ายมาก แต่ถ้าถ้ารูปนั้น แผนภาพนั้นนี่ มันมีส่วนของตารางอ่อนแอนะคะ ก็คือ Weak Entity สัญลักษณ์ของ Weak Entity คือสี่เหลี่ยมซ้อนกัน 2 วงนะคะ หลักการคือถ้าถ้ามันมีส่วนของค่าที่มีความอ่อนแอนี่ เราจะเอาคีย์หลักของอีกตารางหนึ่งที่มันมีความสัมพันธ์ด้วยมาใส่นะคะ เช่น รูปนี้เห็นไหมคะว่ามันจะมีสี่เหลี่ยมซ้อนกัน 2 อัน ถ้าสมมติว่าเราจะมาแปลงเป็นความสัมพันธ์ อันนนี้คือคีย์หลักของตารางที่มีค่าออนแอหลักการคือให้เอาคีย์หลักของอีกตารางหนึ่งที่มันมีความสัมพันธ์ด้วย มาใส่นะคะ ผลลัพธ์ที่ได้จากตารางอ่อนแอตัวนี้ สังเกตไหมคะ ว่าจริง ๆ มันจะมีแค่ 2 Attribute นักเรียนนะคะ ข้อมูลผู้ปกครองนักเรียน ถ้าเรามาแปลงเป็นตาราง เราจะต้องเอาส่วนของรหัสนักเรียนมาด้วยนะคะ เวลาเขียนก็เพิ่มนะคะ คีย์หลักของตารางที่ผ่านมาก็คือ มีรหัสนักเรียนเข้ามาเพิ่ม แค่นั้นเอง มีตารางที่มีความอ่อนแอ คือ ต้องไปพึ่งค่าของตารางอื่นนั่นเองนะคะ อันนี้ก็ไม่ยากถ้าจำได้นะคะ ไม่ยากเลย ต่อมา การแปลงแผ่นภาพให้เป็นความสำคัญ มันจะมีอยู่ 3 รูปแบบนะคะ แบบ 1 ต่อ 1 แบบ 1 ต่อกลุ่ม กับแบบกลุ่มต่อกลุ่มอันนี้เรารู้อยู่แล้วนะคะ อันนี้เราเคยเรียนมาแล้ว โดยการแทนความสัมพันธ์แบบ 1 ต่อ 1 นี่นะคะ ก็คือชื่อของตารางนี่เรารู้อยู่แล้วใช่ไหมคะ ก็จะมาตั้ง แล้วความสัมพันธ์ก็วาดง่าย ๆ นะคะ โดยการเิ่มคีย์หลัก คีย์หลักก็คือตัวที่มันขีดเส้นใต้น่ะค่ะ ของอีกตารางหนึ่งที่มีความสัมพันธ์กัน เพื่อให้มันสามารถเชื่อมโยงกันได้ อันนี้คือง่ายมากจากรูปนะคะ คีย์หลักก็คือตัวขีดเส้นใต้ของนักเรียน ตารางนี้นะคะ ของบัณฑิตนั่นเอง ของบัณฑิตนะคะ ที่จบการศึกษา นักศึกษา เขาทำวิทยานิพนธ์เรื่องอะไรนะคะ ก้จะมีรหัสวิทยานิพนธ์นะคะ โดยตารางนี้เห็นไหมคะ ว่ามันมีความสัมพันธ์แบบ 1 ต่อ 1 มีเลข 1 กำกับ ถ้าแบบ 1 ต่อ 1 ต้องเอาคีย์หลักนะคะ เลือกตารางใดตารงหนึ่งก็พอนะคะ มาใส่ สิ่งที่จะเกิดขึ้น คือ สมมติว่าเราจะเลือกคีย์นะคะ อย่างตัวนี้สมมติว่าอาจารย์จะเอาคีย์หลักของตารางวิทยานิพนธ์มาใส่ในตารางนักเรียนก็ได้นะคะ ก็ได้ หรือเอารหัสนักศึกษามาใส่ในตารางวิทยานิพนธ์ก็ได้ อันนี้เฉพาะความสัมพันธ์แบบ 1 ต่อ 1 เท่านั้นนะคะ เลือกตัวใดตัวหนึ่งก็ได้นะคะ ที่มีสัมพันธ์กัน แต่ถ้าเป็นความสัมพันธ์แบบ 1 ต่อกลุ่ม นะคะ 1 ต่อ กลุ่มนะ เราจะเอาคีย์หลักก็คือตัวขีดเส้นใต้จากฝั่งที่มีความสัมพันธ์เป็นหนึ่งเท่านั้นไปใส่ในฝั่งที่มีความสัมพันธ์เป็นกลุ่ม อย่างเช่น รูปนี้นะคะ รูปนี้นะ ความสัมพันธ์เป็น 1 จะอยู่ฝั่งนี้ อันนี้ความสัมพันธ์เป็นกลุ่มแทนด้วยตัว M นะคะ เราจะเอาตัวขีดเส้นใต้ ก็คือคีย์หลักของตารางที่มีความสัมพันธ์เป็น 1 เท่านั้น ไปเพิ่มลงในตารางที่มีความสัมพันธ์เป็นกลุ่มนะคะ นั่นก็คือเห็นไหมคะ ฝั่งนี้ ความสัมพันธ์เป็นกลุ่มใช่ไหมคะ ตัวคีย์หลักคือตัวขีดเส้นใต้คือตัวนี้ตัวเดียว เราก็จะเอาของตารางอีกตารางหนึ่งมาเพิ่มให้ซึ่งตารางนี้มีความสัมพันธ์เป็น 1 มาเพิ่มให้ อันนี้คือความสัมพันธ์แบบ 1 ต่อ กลุ่ม นะคะ อันนี้ก็ยังไม่ยากแต่ถ้าเป็นความสัมพันธ์แบบกลุ่มต่อกลุ่มนะคะ โดย ความสัมพันธ์นี่บางทีมันอาจจะมีข้อมูลที่เกิดขึ้นของมันเองนะคะ ข้อมูลที่เกิดขึ้น ซึ่งวิธีการแก้ปัญหา ปัญหามันจะอยู่ตรงนี้ ตรงที่อาจารย์กรอบสีแดงนี่ ในความสัมพันธ์ของกลุ่มต่อกลุ่มนี้ มันอาจจะมีข้อมูลที่เพิ่มเติมขึ้นมานะคะ ในกรณีนี้นะคะ เราก็จะสร้างความสัมพันธ์ขึ้นมาใหม่เลยนะคะ โดยวิธีการคือเอาคีย์หลักของทั้ง 2 ความสัมพันธ์มาสร้างใหม่ให้กับความสัมพันธ์ตรงนี้นะคะ เอา 2 อันนี้มาใส่เพิ่ม ทั้งสองฝั่งเลยนะคะ เอาจากตารางทั้ง 2 ตารางนี่ มาเพิ่มให้กับความสัมพันธ์ใหม่เลยนะคะ ก็จะกลายเป็นแบบนี้ค่ะ อันนี้คือตารางที่เกิดขึ้นใหม่ สำหรับความสัมพันธ์แบบกลุ่มต่อกลุ่มนะคะ มันจะเอาข้อมูลรหัสนักเรียน แล้วก็รหัสตารางเรียนวิชามาเพิ่มจากทั้ง 2 ฝั่งเลย เมื่อก่อนคือเราต้องเลือกจากฝั่งใดฝั่งหนึ่งเลยใช่ไหมคะ ถ้าเป็นความสัมพันธ์แบบหนึ่งต่อกลุ่ม เราจะเอาคีย?์หลักมาจากความสัมพันธ์ที่เป็นฝั่งหนึ่งเท่านั้น แต่ถ้าเป็นกลุ่มต่อกลุ่ม เราจะเอาคีย์หลักมาจากทั้ง 2 ตารางที่มีความสัมพันธ์กันมาสร้างตารางใหม่ อันนี้คือจุดเด่นของแต่ละการแปลงตารางให้มาเป็นความสัมพันธ์นะคะ วิธีการทำเรารู้แล้ว เดี๋ยวจะให้ลองทำเองสัก 1 ข้อนะคะ ในห้องเดี่ยวอาจารย์จะเดินดูนะคะ ทำเลย ทำเองนะคะ เอาแค่ 1 รูป รูปนี้ก็พอ ในรูปนี้มีกี่ตาราง มี 1 ตาราง 2 ตาราง 3 ตาราง ซึ่งในความสัมพันธ์ของรูปนี่มีความสัมพันธ์แบบ 1 ต่อกลุ่ม กับแบบกลุ่มต่อกลุ่ม ลองดูสิว่าจะทำได้ไหมนะคะ ความสัมพันธ์ที่เกิดขึ้นจะมีอยู่ 2 ความสัมพันธ์นะ ลองดูสิว่าจากตัวอย่างที่อาจารย์ให้เข้าใจหรือเปล่า อันดับแรกเลย แปลง ER ให้เป็นตารางให้ได้ก่อน ลองดูสิว่าจำได้ไหมที่อาจารย์สอน พอคุณแปลงตารางได้ปุ๊บ คุณถึงค่อยมาเชื่อมโยงความสัมพันธ์ดูแล้วกันว่าตารางที่คุณทำออกมาได้นี่ มาเชื่อมโยงกับตารางอื่นนี่ มันเป็นอย่างไรนะคะ ขั้นตอนแรก เปลี่ยนจากรูปภาพให้เป็นตาราง พอเป็นตารางได้ค่อยมาดูความสัมพันธ์นะคะ ลองทำดู ทำเองนะคะทำเอง เดี๋ยวอาจารย์จะเดินดู กระดาษมีอยู่แล้วนะ โอเคค่ะ ทำเลย ล่ามคะ วันนี้ก็ประมาณนี้ค่ะ เดี๋ยวจะให้ทำงานในห้อง วันนี้ขอบคุณมากนะคะ ขอบคุณล่ามค่ะ [สิ้นสุดการถอดความ]