--- title: ฝึก Revoice + PE ห้องเรียนสกลฯ หลักการและระบบการจัดการฐานข้อมูล อ.เกวลี วันที่ 17 ม.ค. 2566 แมน subtitle: date: วันศุกร์ที่ 20 มกราคม 2566 เวลา 13.06 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (ล่าม) ได้ยินค่ะ (อาจารย์เกวลี) โอเคค่ะ อาทิตย์นี้จะเป็นการแนะนำตัวโปรแกรมที่เราจะใช้เขียนระบบจัดการฐานข้อมูล ก็โปรแกรม แต่มันก็จะใช้ภาษาภาษา SQL ซึ่งโปรแกรมในเครื่องเราถ้าไม่ได้ติดตั้งเพิ่มเติมก็จะมีอยู่แล้วนะคะ ก็คือโปรแกรม Microsoft Access มันก็จะมีความสามารถที่จะพิมพ์คำสั่งภาษา SQL ลงไปได้ด้วย แล้วก็ในส่วนของตัวโปรแกรมนี้นี่หน้าตาการทำงาน มันจะคล้าย ๆ กับโปรแกรม Excel ที่เราเคยใช้งานกันอยู่แล้วนะคะ เก็บข้อมูลในรูปแบบของตารางเหมือนกัน เราก็กะได้ทำความเข้าใจกับมันง่ายขึ้นนะคะ โดยตัว Microsoft Access นี่นะคะ ในรูปตัวโปรแกรมจะเป็นตัวสีส้ม ๆ นะคะ มันจะเป็นตัวจัดการฐานข้อมูลเชิงสัมพันธ์ อย่างที่เราเคยได้วาดรูปกันไปแล้วว่าแต่ละตารางมันจะสัมพันธ์กันอย่างไรนะคะ โดยที่โปรแกรมนี้นี่มันก็จะมีความสามารถทั้งการจัดการฐานข้อมูล แล้วก็สร้างโปรแกรมในตัวเดียวกัน ก็คือโปรแกรมที่ค่อนข้างครบสำหรับการทำงานในการฐานข้อมูลเบื้องต้นนะคะ มันเลยเหมาะกับที่จะให้นักศึกษานี่เรียนรู้แล้วก็พัฒนาโปรแกรมไว้ใช้งานนะคะ รวมถึงคนที่อาจจะไม่มีความรู้ในการเขียนโปรแกรมมากนักนี่ เขาก็สามารถใช้โปรแกรมนี้ได้เช่นเดียวกันนะคะ เพราะวิธีใช้การก็ค่อนข้างสะดวก แล้วก็ตัวโปรแกรมก็สามารถใช้งานได้ง่าย ๆ คำสั่งไม่เยอะซับซ้อนวุ่นวายมากนะคะ หน้าตาตอนสร้างฐานข้อมูลก็จะเริ่มประมาณนี้นะคะ แต่เดี๋ยวดูในตัวโปรแกรมกัน มันจะมีส่วนของการโปรแกรมทำงานหลัก ๆ ด้านบน จะเรียกว่าเป็น "Ribbon" ด้านบนนะคะ ในรูปนี่เกี่ยวกับการกำหนดโครงสร้างของตารางนะคะ แล้วก็การกำหนดหน้าจอสำหรับบันทึกข้อมูลหรือแสดงข้อมูลก็สามารถทำได้ การสร้างรายงานนะคะ เช่น สมมติมีรายชื่ออยู่ 10,000 รายชื่อ เราจะให้รายชื่อรายงานเป็นรายชื่อเฉพาะผู้หญิง เราก็สามารถรายงานไม่เหมือนกัน รวมถึงการสืบค้นไขเราสามารถทำได้ในส่วนของสืบค้นดูข้อมูล เราจะใช้คำสั่ง SQL เราจะพิมพ์ด้วยตัวเองนะคะ เราจะไม่ใช้โปรแกรมสำเร็จรูปทุกอย่าง เราจะได้รู้ด้วยว่าเวลาที่เราใช้ภาษา SQLใช้งานอย่างไรนะคะ โดยตารางที่อยู่ในโปรแกรม Access นะคะ รูปแบบของตารางนี่ ซึ่งมันเป็นมาตรฐานของการจัดเก็บข้อมูลในรูปแบบฐานข้อมูลอยู่แล้วนะคะ ถ้าเราต้องการจะบันทึกหรือเก็บข้อมูลนี่ เราก็จะต้องสร้างตารางขึ้นมาก่อนถึงจะใช้งานได้ เหมือนอาทิตย์ก่อนที่อาจารย์ให้นักศึกษาลองเปิดโปรแกรมดูนี่ บางคนจะยังพิมพ์โปรแกรมลงไปไม่ได้เลย เพราะว่าเราไม่มีตารางนะคะ มันจะดูเหมือนกดอะไรไม่ได้ เพราะเราไม่ยังเริ่มสร้างตารางเลยนะคะ การสร้างตารางในที่นี่นี้ มันคือการตั้งชื่อ แล้วก็กำหนดตารางด้วย กำหนดโครงสร้างของตารางด้วยนั่น ก็คือเราก็จะมีค่าใน Excel ก็จะเป็นคอลัมน์ Column ใช่ไหมคะ ใน Access ก็เหมือนกันเราจะกำหนดว่าหัวข้อแต่ละคอลัมน์นี่ ก็คือฟิวส์นี่แหละ มันจะมีชื่อว่าอะไรบ้าง แล้วก็คุณสมบัติของข้อมูลที่ต้องบรรจุลงไปในนั้นนี่มีอะไรนะคะ เช่น เป็นตัวหนังสือเท่านั้น หรือเป็นตัวเลขผสมกับตัวหนังสือ หรือรับเฉพาะค่าตัวเลขค่าตัวเลขจะต้องไม่เกิน 10 ตัว อะไรก็ว่าไป รวมถึงต้องกำหนดคีย์หลักนะคะ การกำหนดคีย์หลักในโปรแกรม Access ง่าย มันกดปุ่มเดียวมันก็จะเสร็จเลยนะคะ กำหนดความสำคัญสำหรับตาราง 2 ตาขึ้นไปว่ามันจะเชื่อมต่อกันอย่างไรนะคะ ตัวอย่างโครงสร้างของฐานข้อมูลทบทวนการอีกรอบนะคะ ที่โชว์อยู่ในตอนนี้ ก็คือตารางนะ มีแถวมี คอลัมน์นะคะ แนวตั้งเราจะเรียกว่า "คอลัมน" ถ้า์ในระบบในจัดการฐานข้อมูลจะเรียกว่า "Field" อย่างในตารางนี้จะมี 4 นิ้ว ก็คือ 4 คอลัมน์นะคะ มี 3 Record ก็คือ 3 แถวของข้อมูลนะคะ อันนี้เป็นตัวอย่างข้อมูลผู้ป่วยนะคะ ไอ้ตัว HN นี่ย่อมาจากรหัสรหัสผู้ป่วย Hospital Number มีชื่อมีนามสกุลมีที่อยู่ตัวอย่างการเก็บข้อมูลอย่างง่ายนะคะ ตัวอย่างอย่างง่าย ส่วนไอ้ตัวโปรแกรมเราจะสร้างตารางนะคะ โดยที่การเราจะมากำหนดคุณสมบัติของคอลัมน์แบบเมื่อทีนี้เราจะมากำหนดในส่วนของการดีไซน์ ก็คือการออกแบบ มันก็จะถามว่าในส่วนตรงนี้ อันนี้มันเป็นเมนูภาษาอังกฤษนะคะ ชื่อคอลัมน์อะไรนะคะ เก็บข้อมูลชนิดอะไร บางทีตัว ID นี่ถ้าเราไม่ได้กำหนดค่ามันจะเป็นออโต้ มันจะเพิ่มไปเรื่อย ๆ ตามจำนวนที่เราเพิ่มเข้ามา แต่เราสามารถระบุเองก็ได้ บางทีเราไม่อยากได้ตัวเลข 1 2 3 4 5 ไปเรื่อย ๆ นี่ บางทีก็มันอาจจะเป็นอย่างนั้นไม่ได้ทุกระบบนะคะ มันอาจจะต้องมีตัวหนังสือที่มันมาผสมกับตัวเลข นักศึกษาเรานี่มาใหม่นี่เราจะรัน 1 2 3 4 5 ไปเลยไม่ได้นะคะ มันจะต้องกำหนดเฉพาะ เช่น ขึ้นต้นด้วยปีการศึกษา ตามด้วยรหัสคณะ ตามมาด้วยรหัสหลักสูตร แล้วค่อยเป็นเลขที่ของเราว่าเลขที่อะไรนะคะ ตัวอย่าง ถ้าเป็นการทำงานในการจัดการตารางจริง ๆ นี่ มันจะไม่ได้มีข้อมูลแค่นิดเดียว อย่างที่เราเคยเห็นอย่างด้านซ้ายนะคะ จะเป็นตัวอย่างของตารางทั้งหมดที่มันเอามาเชื่อมโยงกัน มีไม่ต่ำกว่า 20 ตารางนะคะ ถ้ามันเป็นระบบงานใหญ่ ๆ รวมถึงการกำหนดด้วยว่าข้อมูลแต่ละชนิดที่เข้ามานี่ อย่างเช่น ID เขากำหนดเป็นตัวเลขให้มันเพิ่มเข้าไปเรื่อย ๆ อัตโนมัติ ส่วนเลขตรวจเลขประจำตัวผู้ป่วยเขาจะให้กรอกนะคะ แล้วก็จะมีคำอธิบายด้วยว่าไอ้คำย่อหรือหัวตารางนี่ ถ้าเป็นภาษาไทยคืออะไรนะคะ อย่าง OHN ก็คือเลขบัตรเดิม ต้องพิมพ์อย่างไร หรือไม่จำเป็นต้องพิมพ์ไหม ชื่อเลขจำเป็นต้องพิมพ์นามสกุล เราจะกำหนดด้วยในคำอธิบายนะคะ ถ้าในส่วนของฐานข้อมูล เราจะเรียกว่าเป็น "พจนานุกรมข้อมูล" หรือ "Data Dictionary" ก็คือสิ่งที่เราต้องบอก อย่างเช่น คุณอาจจะเป็นโปรแกรมเมอร์คนใหม่มาทำงาน เห็นคำย่อ "PT Marry" คืออะไร สมมติเรามาทำงานต่อจากเขาแล้วเขาไม่เขียนอธิบายว่าไอ้คำศัพท์คำนี้มันคือข้อมูลอะไรที่ต้องกรอกนะคะ นั่นคือสถานภาพสมรส สมมติเขาไม่ได้บอกเราไว้เราก็ต้องมา... เราก็ต้องความเข้าใจได้ว่าสรุปข้อมูลนี้เขาต้องการข้อมูลอะไรกันแน่ เพราะฉะนั้น การเขียนคำอธิบายก็ค่อนข้างจะเป็นเหมือนกันสำหรับการจัดการฐานข้อมูลนะคะ ส่วนด้านล่างจะเป็นการบอกขนาดของข้อมูลนะคะ เช่น จำนวนเงินเดือน เงินเดือนน่าจะไม่มีแค่ 2 หลัก บางคนเงินเดือนเยอะ บางคนเงินเดือนน้อย เราก็สามารถกำหนดได้ว่าตัวเลขที่สามารถกรอกไปได้นี่มากขนาดไหน เงินเดือนอาจจะยังไม่เห็นภาพ ถ้าสมมติว่าเป็นคอลัมน์ที่เกี่ยวกับงบประมาณประเทศที่ต้องกรอกตัวเลขเยอะ ๆ นะคะ เลข 6-7 หลักมันไม่พอแน่นอนนะคะ เราก็ต้องมากำหนดตรงนี้ด้วยว่าข้อมูลที่ใส่ได้ควรจะเป็นข้อมูลขนาดไหน หรือบัตรประชาชนเรามากำหนดเลยว่าให้กรอกได้แค่ 13 หลัก เราก็จะมาตรง Property ข้างล่างตรงนี้นะคะ การสร้างตารางโดยใช้มุมมองการออกแบบนะคะ ก็จะมีกำหนดบอกว่าชื่อของฟิวส์ ชื่อแต่ละคอลัมน์ ควรตั้งชื่ออะไร ควรจะตั้งให้มีความหมายแล้วก็ไม่ยาวจนเกินไป แล้วก็ห้ามใช้สัญลักษณ์พิเศษ พวกเครื่องหมายคำถาม เครื่องหมายอะไรพวกนี้ หรือ... _ขีดเส้นใต้เราจะไม่ใส่ รวมถึงประเภทของข้อมูลนะคะ ก็คือชนิดของข้อมูลที่จัดเก็บในคอลัมน์หรือฟิวส์นั้น ๆ เช็กรหัสสินค้าเป็นได้ทั้งตัวเลขตัวอักษรผสมกัน ส่วนราคาควรจะเป็นตัวเลขอย่างเดียว เราไม่พิมพ์... เราจะไม่พิมพ์ 500 แล้วก็ใส่ ก ไก่ อีก 2 ตัวแทน มันไม่ใช่ เพราะฉะนั้น 500 คือตัวเลขอย่างเดียวกับถ้าสมมุติข้อมูลนั้น ๆ มันจะต้องไปคำนวณนะคะ ควรจะเป็นข้อมูลชนิดอะไรเช่นอายุนะคะ คือ เอา วัน เดือน ปี เกิด ไปคำนวณมาจะต้องเป็นตัวเลขหรือวันที่หรืออย่างไรราคาเราก็ต้องมาพิจารณาข้อมูลพวกนั้นด้วยนะคะ อย่างเช่น วันเข้าทำงานวันแรกจนถึงปัจจุบันเขาทำงานมาแล้วกี่ปี ก็จะใช้วันที่ในการคำนวณนะคะ เราก็ต้องพิจารณาตรงนี้ด้วย ถ้าสมมติคุณได้ไปทำฐานข้อมูลด้วยตัวเอง ข้อมูลที่เป็นข้อความหรือว่า Text นะคะ มันเป็นข้อมูลที่เป็นตัวอักษรตัวเลขตัวเลขทำไมถึงบอกว่าเป็น Text ถ้าเป็นตัวเลขที่ไม่ได้ใช้การคำนวณ เช่น รหัสนักศึกษาพวกคุณเราจะไม่เอามาบวกกัน มันไม่มีผลในการคำนวณนะคะ มันเป็นตัวเลขในการบอกรหัสเฉย ๆ สัญลักษณ์เครื่องหมาย บางคนก็จำเป็นต้องใส่สัญลักษณ์ อย่างคำนำหน้าชื่อ บางคนก็ได้พิมพ์นางสาว บางคนพิมพ์ น.ส. มีสัญลักษณ์มีเครื่องหมายมีอักขระนะคะ ที่ผสมกัน รวมถึงตัวเลข ตัวเลขนี่ก็จะมีหลายประเภทเหมือนกัน เป็นจำนวนเงิน การเก็บเงินก็มีให้เลือกหลากหลายรูปแบบนะคะ ถ้าเราเลือกข้อมูลเป็น Byte ข้อมูลที่เราเก็บได้จะมี 0-255 เท่านั้น แล้วก็เป็นจำนวนเต็มใส่เป็นทศนิยมไม่ได้นะคะ ข้อมูลที่เป็น Integer ก็จะเป็นค่าตัวเลขระหว่าง -30,000 กว่าจน 32,000 เป็นจำนวนเต็มบวกนะคะ เป็นเต็มบวกกับเต็มลบไม่มีจุดทศนิยมถ้าเป็น integer เมื่อกี้จากหลักหมื่นมันจะกลายเป็น 2 พันล้าน อันนี้เหมาะกับการใส่งบประมาณที่เยอะมาก ๆ หรือข้อมูลเงินใด ๆ ก็ตามที่เป็นตัวเลขที่มากกว่าค่า Integer ธรรมดาขึ้นไปนะคะ Single จะเป็นตัวเลขที่มีจุดทศนิยมนะคะ อาจจะมีค่าเป็นจำนวนติดลบนะคะ เป็นทั้งเป็นทั้งทศนิยมที่เป็นเต็มลบแล้วก็เต็มบวกนะคะ ต่อมา Double จะใช้กับตัวเลขที่เป็นจุดทศนิยมเอาไปซื้อของเราจะเห็นว่าเป็นให้เราด้วย การเขียนโปรแกรมในการเก็บข้อมูลของเขาเขาแสดงผลจนถึงทศนิยม 1 ตำแหน่ง 2 ตำแหน่ง 3 ตำแหน่งก็ว่ากันไป แต่ส่วนมากถ้าเป็นค่าเงินเราจะใช้แค่ 2 ตำแหน่งนะคะ ต่อมาวันที่เวลา ก็จะเป็นการระบุข้อมูลที่มีรูปแบบของวันที่เป็น พ.ศ. หรือ ค.ศ. ก็เราจะระบุก็ได้นะคะ โดยที่เต็มที่วันที่แล้วก็เวลาแต่ส่วนมากเราจะใช้แบบวันเดือนปีแค่นั้นนะคะ กับ Yes/No Questions ใช่หรือไม่ มันจะเป็นคำตอบสำหรับข้อมูลที่เป็นตรรกะที่มีอยู่ 2 ค่า ก็คือจริงหรือเท็จ เช่น ตอนนี้คุณเป็นนักศึกษา เขาก็จะถามว่าจริงหรือเท็จ ถ้าเป็นนักศึกษาอยู่ก็ตอบ Yes ถ้าเรียนจบแล้วก็จะบอกว่า No นะคะ กับ...ก็จะเป็นข้อมูลที่เอาไว้แบบรูปภาพฐานข้อมูลบางอย่างให้เราแนบรูปบ้าน บางทีเราบางทีสมาชิกหรือสมัครเรียนหนังสือ หรือสมัครสอบ เขาจะให้เราแนบรูปภาพ แนบใบเสร็จ ถ้าเป็นระบบขายของใบเสร็จโอนเงินก็เป็นแนบรูปภาพมาด้วยนะคะ วันที่ 3 ก็จะเป็นส่วนของการกำหนดค่าที่อาจารย์เอาให้ดูเมื่อกี้นี้ในภาพนะคะ ก็จะเป็นบอกขนาดของข้อมูลที่จะเก็บเรากำหนดได้เลยนะคะ แล้วก็รูปแบบของการแสดงผลข้อมูลจะเป็นอย่างไร การป้อนข้อมูลจะเป็นลักษณะไหน เราสามารถกำหนดได้นะคะ กำหนดคำอธิบายข้อมูล เช่น ก่อนที่เราจะกรอกข้อมูลไปนี่ ในระบบบางอันถ้าเราเอาเมาส์ไปชี้ เขาก็จะมีคำอธิบายว่าในช่องนี้ให้กรอกข้อมูลแบบไหน ถ้าเราบอกว่าบัตรประชาชน พอเอาเมาส์ไปชี้ปุ๊บเขาบอกว่าให้กรอกเลขจำนวน 13 หลัก เป็นต้นนะคะ กับอาจจะมีการกำหนดค่าเริ่มต้น เช่น เขาถามวันเกิดส่วนมากวันเกิดค่าเริ่มต้นของเขาก็จะเป็น 1 มกราคม ปี 2000 อะไรก็ว่าไป เป็นค่าเริ่มต้นไม่ได้เกิดตามนั้นหรืออาจจะเป็นเงินบริจาคนะคะ ค่าเริ่มต้นจะเป็น 10 บาท คุณอาจจะไปเปลี่ยนค่าก็ได้นะคะ กับการกำหนดเงื่อนไขของค่านะคะ เช่น เงินเดือนจะต้องเป็นบวกเสมอ จะบอกว่าเขาถามเงินเดือนเท่าไร คุณจะบอกว่าติดลบ 5,000 บาท คือ สรุปทำงานแล้วเป็นหนี้ไปเรื่อย ๆ มันก็ไม่ใช่นะคะ ก็ค่าบางค่าจะต้องเป็นบวกเสมอ เช่น อายุ ต้องเป็นจำนวนเต็มบวกเต็มลบไม่ได้นะคะ กับการกำหนดข้อความที่แสดงหากใส่ข้อมูลไม่ตรงตามเงื่อนไข เช่น ใส่อายุเป็น -20 มันก็จะมีคำสั่งแจ้งเตือนขึ้นมาว่าให้ใส่ข้อมูลที่เป็นค่าบวกเท่านั้นนะคะ ก็จะเป็นแบบนี้ เราสามารถกำหนดได้ รวมถึงข้อมูลมันต้องกรอก จะเว้นว่างไม่ได้ เช่น เลขบัตรประชาชน คุณจะบอกว่าคุณไม่มีเลขบัตรประชาชนเป็นไปไม่ได้นะคะ เพราะฉะนั้น ต้องกรอกทุกครั้ง หรืออาจจะเป็นแบบฟอร์มสมัครใด ๆ ก็ตาม เลขบัตรประชาชนเลขบัตรประชาชนจำเป็นต้องกรอกเสมอ จะปล่อยวางไม่ได้ การกำหนดค่าคีย์หลักนะคะ รอทำได้ง่ายมาก ถ้าในโปรแกรม ก็คือคุณจะเลือกค่าไหนที่เป็นคีย์หลัก คลิกที่คอลัมน์นั้น ๆ หรือฟิวส์นั้น ๆ แล้วก็กดไอ้ตัวลูกกุญแจ พวงกุญแจ ก็จะหมายถึงคีย์หลักหรือ Primary Key นี่ล่ะค่ะ แค่เรื่องก็กดมันก็จะการแจ้งในระบบเลยว่าให้ข้านี้คือค่าคีย์หลักของตารางนี้นะคะ กับความสัมพันธ์น่าจะเป็นความสัมพันธ์ที่ดีระหว่าง 2 ตารางขึ้นไป โดยที่เราจะมีการพิจารณาภายนอกของแต่ละตารางที่มันจะอ้างถึงคีย์หลักของอีกตารางหนึ่งนะคะ ก็อันนี้ก็เดี๋ยวเราจะลองทำในตัวโปรแกรม เพราะมันจะอ้างอิงกันอย่างไรนะคะ ในตัวโปรแกรมนี่มันก็จะง่ายมากค่ะ มันก็จะมีตัวให้เรากดได้เลยตามลูกศรสีแดงชี้นะคะ เป็นโปรแกรมที่ค่อนข้างสำเร็จรูปเลยนะคะ ว่าเราจะสร้างคีย์หลักอย่างไร อันไหนจะเป็นความสัมพันธ์นะคะ ก่อนที่เราจะทำสิ่งเหล่านี้ได้ เราต้องรู้แล้วว่าตารางที่เราสร้างนี่มันสัมพันธ์กันอย่างไร เพราะว่าเราเคยว่า ER-Diagram มาแล้ว เหมือนตัวอย่างที่อาจารย์ให้ทำร้านหนังสือว่าผู้แต่งร้านหนังสือกับหนังสือเขาควรจะมีความสัมพันธ์กันอย่างไรนะคะ อย่างเช่นตัวอย่าง ถ้าเราสร้างความสัมพันธ์ได้แล้วมันจะเป็นแบบนี้ล่ะค่ะ มันจะมีการโยงเส้นของ 2 ตาราง ให้ดูเลยว่าตารางนี้กับตารางนี้ เขามีความสัมพันธ์กัน อย่างตารางนี้ค่ะ 2 ตารางนี้มีความสัมพันธ์แบบหนึ่งกับมากกว่า 1 กลับมากกว่าหนึ่งอย่างที่อาจารย์เคยบอกว่าในแต่ละโปรแกรมหรือในแต่ละหนังสือสัญลักษณ์เครื่องหมาย เขาอาจจะไม่ได้ใช้ตัว N อย่างที่อาจารย์สอน แต่มันเป็นความหมายเดียวกัน คือ ONE TO MANY นี่คือหนึ่งมีความสัมพันธ์มากกว่า 1 กับอะไร เพราะฉะนั้น เราอ่านหนังสือบางเล่มน่าจะเขียนแบบนี้นะคะ ให้เราเข้าใจว่ามีความหมายเดียวกันต่างกันเฉย ๆ ถ้าเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่ง หนึ่งต่อหนึ่ง บางรูปแบบมันจะไม่เขียนกำหนดไว้เลยให้รู้ด้วยตัวเองว่าเป็นความสัมพันธ์แบบไหนนะคะ ONE TO ONE one to many ก็พิจารณาในการสร้างฐานข้อมูลเราต้องรู้ว่าคนเราจะสร้างฐานข้อมูลเพื่อมาทำงานเกี่ยวกับระบบอะไรนะคะ เหมือนในตัวอย่าง ก็คือร้านเช่าหนังสือ ร้านขายหนังสือ ร้านขายหนังสือต้องมีอะไรบ้าง มันอาจจะไม่ได้มีแค่ 3 ตัวอย่างมันมากกว่านั้น คุณจะเช่า คุณจะขาย คุณจะมีระบบสมาชิกไหมนะคะ รวมถึงรายละเอียดในตารางข้อมูลจะต้องเก็บอะไรบ้าง เครื่องไหน ไฟตกหรือ ต่อไปก็ต้องดูว่าในตารางอะไรคือคีย์หลัก ก็คือค่าที่ห้ามซ้ำกันนั่นเอง อันนี้เราจำได้นะ ความสัมพันธ์ของตารางข้อมูลมีความสัมพันธ์แบบไหนนะคะ มีค่าที่ต้องมาประมวลผล มีการคำนวณไหมนะคะ เช่น อายุสมาชิก หรือวันเข้าทำงาน ทำงานมาแล้วกี่ปีเพื่อพิจารณาเงินเดือน อะไรก็ว่าไปนะคะ การจัดการแสดงผลผ่านทางหน้าจอเป็นอย่างไร สามารถพรินต์ออกมาเป็นรายงานได้ไหม นะคะ ข้อมูลเบื้องต้นใส่ใส่แล้วเป็นอย่างไรเอาไปใช้กับระบบงานอะไรเอาไปผนวกแล้วมันมีปัญหาไหมนะคะ อันนี้คือข้อพิจารณาในการสร้างฐานข้อมูลขึ้นมาซักระบบหน่ง ก็พิจารณาตามนี้เช่นเดียวกันกลับก่อนที่เราจะเรียนในตัวโปรแกรม เราต้องมารู้จักคำสั่งที่เราจะสั่งให้ฐานข้อมูลทำงานก่อนนะคะ ภาษาที่ใช้ในการจัดการฐานข้อมูลอย่างที่บอกค่ะ เป็นภาษา SQL Structured Query Language ตัวนี้นะคะ การเรียนภาษา SQL นะคะ มันก็จะไปเรียนรู้คำสั่งพื้นฐานสำหรับสร้างฐานข้อมูล คำสั่งในการเรียกดูข้อมูล คำสั่งสำหรับฐานข้อมูล เพิ่ม ลบ แก้ไข อันนี้เราต้องทราบนะคะ ซึ่งภาษา SQL นี่เป็นภาษาทางด้านฐานข้อมูลที่ได้รับความนิยมมากที่สุดนะคะ เป็นชุดคำสั่งที่ใช้ในการจัดการฐานข้อมูลนะคะ กลุ่มคำสั่งของภาษา SQL จะมี 3 กลุ่มคำสั่ง คำสั่งแรก ก็คือสำหรับการสร้างฐานข้อมูล กำหนดโครงสร้างฐานข้อมูลด้วยนะคะ กำหนดโครงสร้างของตาราง กลุ่มที่ 2 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับเพิ่ม ลบ เปลี่ยนแปลง ก็คือเป็นการปรับปรุงข้อมูลนั่นเองนะคะ ส่วนกลุ่มที่ 3 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับสร้าง แล้วก็กำหนดโครงสร้างให้กับตารางนะคะ อันนี้ก็จะเป็นภาษาที่ไม่ใช่แค่เป็นภาษาที่แบบนิยามข้อมูล เป็นการสร้างด้วยนะคะ อย่างในสไลด์อาจารย์วันนี้นี่ ถ้าเราเห็นทรงกระบอกแบบนี้นี่ ถ้าในหนังสือ หรือว่าในทางเชิงสากลนี่ เขาก็จะรับรู้ได้เลยว่าถ้าใส่รูปทรงกระบอกแบบนี้ ในสัญลักษณ์ใด ๆ ที่เป็นโครงสร้างทางคอมพิวเตอร์นี่เขาจะรู้เลยว่าอันนี้คือฐานข้อมูลนะคะ ส่วนข้อมูลผลลัพธ์ ถ้าเป็นรูปภาพแบบนี้ก็แสดงว่าเป็นแสดงผลรายงานนะคะ อันนี้ก็เวลาคุณไปอ่านหนังสือ เจอหนังสือเล่มอื่น แล้วเขาเขียนแบบนี้นี่ก็ให้เข้าใจว่าก่อนที่จะออกจากฐานข้อมูล ใช้คำสั่งเพื่อเรียกดูรายการออกมารายงานเป็นอย่างไรนะคะ อันนี้เป็นโครงสร้างคำสั่งภาษา SQL สำหรับการสืบค้นนะคะ คำสั่งที่ใช้ในการสืบค้น คำสั่งที่ใช้บ่อยที่สุดก็คือ SELECT ตัวนี้ s e l e c t นะคะ นักศึกษาบางคนพิมพ์บางคนไม่ได้ผลลัพธ์เหมือนเพื่อน บางทีพิมพ์ผิดนะคะ บางครั้งก็จะตกใจ ไม่ต้องตกใจ ถ้าถ้าผลลัพธ์ไม่ออกมาเรามาไล่ดูกันว่าเราไม่ได้พิมพ์อะไรผิดไปหรือเปล่า ลืมสัญลักษณ์อะไรไหม ตกคำอะไรหรือเปล่านะคะ ก็เช็กด้วย ส่วนมากคำสั่งพื้นฐานจากขึ้นด้วย SELECT ตามด้วย from SELECT ก็คือเราจะแสดงผลข้อมูลอะไรอย่างที่บอกนะคะ ต้องพยายามภาษาอังกฤษนิดหนึ่งเพราะว่ามันจำเป็นนะคะ FROM ก็คือเราจะเรียกข้อมูลจากตารางไหนนะคะ WHERE หมายถึงมีเงื่อนไขในการค้นหาว่าอย่างไรบ้าง Group by ข้อมูลจะถูกรวมข้อมูลเดียวกันหรือไม่นะคะ มีเงื่อนไขอะไรอีกไหม รวมถึงการจัดเรียงอย่างไรนะคะ เดี๋ยวจะมีตัวอย่างคำสั่งให้ดู อาทิตย์นี้ดูตัวอย่างคำสั่งไปก่อนนะคะ อันนี้เป็นตัวอย่างคำของข้อมูลนะคะ สไลด์หลังจากนี้ไปเราจะดูคล้าย แบบนี้เหมือนกัน มีอยู่ 2 ตารางนะคะ ตารางแรกเป็นตารางหนังสือ ตารางที่ 2 เป็นตารางสำนักพิมพ์นะคะ ตารางแรกก็จะมีรหัสหนังสือ ชื่อหนังสือ รหัสสำนักพิมพ์ ราคา นะคะ ตารางที่ 2 จะเป็นตารางสำนักพิมพ์ มีรหัสสำนักพิมพ์ แล้วก็ชื่อสำนักพิมพ์นะคะ คำสั่งจะแสดงผลมุมบนขวาตรงนี้นะคะ ส่วนผลลัพธ์ที่ได้จากภาษา SQL จะอยู่ด้านล่างนะคะ ตัวอย่าง คำสั่งในการสืบค้นข้อมูล 1 ตาราง คำสั่งที่ง่ายที่สุด ก็คือ SELECT FROM นะคะ เวลาอ่านคำสั่งเราจะดูตรงนี้นะคะ ขึ้นต้นคำสั่งว่าอะไรดูตรงนี้นะคะ ตัวอย่างตัวอย่างการสืบค้นจาก 1 ตารางนะคะ ดอกจัน หมายถึงเอาข้อมูลทุก ๆ คอลัมน์ หรือเราจะสามารถระบุได้ว่าเราจะเอาข้อมูลเฉพาะคอลัมน์ไหน จากตารางอะไรนะคะ ตัวอย่างเช่นตัวนี้นะคะ ให้แสดงผลข้อมูลทุกแถวและทุกคอลัมน์ คำสั่งก็คือ SELECT ไอ้เครื่องหมายดอกจัน จะเป็น * นะคะ Select from book เอาข้อมูลทุกแถวทุกคอลัมน์จากตาราง book ผลลัพธ์ที่ได้ก็แสดงผลข้อมูลทั้งหมดที่อยู่ในตาราง ฺBook นั่นเองนะคะ ถามว่าคำสั่งนี้ไปสั่ง บางครั้งที่ดูแลฐานข้อมูลหรือผู้ใช้งานต้องการเรียกดูข้อมูลในลักษณะนี้ คำสั่งที่เกิดขึ้นใน Select from อันนี้คือ select ก็คือเอาทุกแนวทุกคอลัมน์ ถ้าเราไม่เอาทุกแบบทุกคอลัมน์โหลดได้ไหม เรากำหนดได้ค่ะ คำสั่งต่อมาก็คือตัวเลือกชื่อกับราคาจากตาราง Book ผลลัพธ์ที่ได้จากคำสั่งนี้ก็จะแสดงชื่อกับราคาของหนังสือเท่านั้น เพราะว่าอย่างที่อาจารย์เคยบอก มุมมองของผู้ใช้งานแต่ละคนไม่เหมือนกัน บางคนอยากดูข้อมูลทั้งหมด บางคนอยากดูข้อมูลแค่ 2 อย่า งสามารถทำได้ไหม ทำได้ค่ะ ดูข้อมูลอย่างเดียวก็ทำได้ แค่เราต้องบอกให้ถูกว่าคุณอยากดูข้อมูลจากตารางไหน คอลัมน์อะไร ระบุไป ระบบจัดการฐานข้อมูลมันก็จะดึงข้อมูลมาให้เราดูนะคะ ต่อมาถ้าเป็นการสืบค้นแบบมีเงื่อนไขล่ะ แค่เอาคอลัมน์มันไม่พอแล้ว เราอยากเพิ่มเงื่อนไข คำสั่งที่ใช้ในการเพิ่มเงื่อนไขก็คือคำสั่ง WHERE นะคะ บางทีก็จะเป็น select from Where ไล่ลำดับลงมานะคะ โดยอาจจะมีเงื่อนไข อาจจะเป็นเงื่อนไขในการเปรียบเทียบ เวลาเปรียบเทียบนะคะ ดูสัญลักษณ์ตรงนี้ มันจะเป็นมากกว่านะคะ มากกว่าเท่ากับ น้อยกว่านะคะ พวกนี้ น้อยกว่าเท่ากับ น้อยกว่าเท่ากับ อันนี้ไม่เท่ากับ อันนี้เป็นเท่ากับ มากกว่าน้อยกว่า อะไรอย่างนี้นะคะ เดี๋ยวจะทำตัวคั่นให้ทีหลัง หรือการรวบรวมเป็นและเป็นหรือวิชาคณิตศาสตร์ที่เราเคยเรียนไปแล้ว เป็นการปฏิเสธ เช่น ไม่เอาข้อมูลนักศึกษาชายอะไรอย่างนี้ตรวจสอบค่าของข้อมูลว่าง ให้มันตรวจดูสิิว่าข้อมูลตรงไหนมีช่องว่าง ข้อมูลตรงไหนหายไป ตรวจสอบเป็นช่วง เช่น ช่วงอายุระหว่าง 15-18 ปี หรือในชื่อใครมีชื่อมี จ จาน หรือในชื่อใครมีสระเอ ตรวจสอบข้อความนะคะ เช่น ในข้อความนั้นมีคำว่า "นาย" ก็เอาคนขึ้นต้นด้วย นาย ทั้งหมดอะไร ก็ว่าไปมันจะมีการเปรียบเทียบเงื่อนไขด้วยนะคะ อันนี้อาจารย์อธิบายไปแล้วนะคะ เท่ากับมากกว่า น้อยกว่า มากกว่าเท่ากับ ไม่เท่ากับนะคะ