(อาจารย์เกวลี) ได้ยินไหมคะ ได้ยินค่ะ โอเคค่ะ อาทิตย์นี้นะคะ จะเป็นการแนะนำตัวโปรแกรมที่เราจะใช้เขียนระบบจัดการฐานข้อมูลนะคะ ก็จะเป็นโปรแกรมเอาอย่างง่ายก่อนแล้วกันนะคะ เพราะว่าไอ้ตัวภาษา SQL นี่ มันก็จะมีโปรแกรมที่ใช้งานร่วมกันได้หลายโปรแกรมมากน่าจะเป็น mySQL หรือเป็น Oracle แต่มันก็จะใช้ภาษาเดียวกันคือภาษา html ซึ่งโปรแกรมในเครื่องเราถ้าไม่ได้ติดตั้งเพิ่มเติมเขาจะมีอยู่แล้วนะคะ ก็คือโปรแกรม Microsoft Access นะคะ มีความสามารถที่จะพิมพ์คำสั่งภาษา SQL ลงไปได้ด้วยแล้วก็ในส่วนของตัวโปรแกรมนี้นี่ หน้าตาการทำงานมันจะคล้าย ๆ กับโปรแกรม Excel ที่เราเคยใช้งานกันอยู่แล้วเก็บข้อมูลในรูปแบบที่เป็นตารางเหมือนกันเราก็จะได้ทำความเข้าใจกับมันง่ายขึ้นนะคะ โดยตัว Microsoft Access นี่นะคะ ในรูปตัวโปรแกรมมันจะเป็นสีส้ม ๆ นะ มันจะเป็นโปรแกรมจัดการฐานข้อมูลเชิงสัมพันธ์อย่างที่เราเคยได้วาดรูปไปแล้วนะคะ แต่ละตารางมันควรจะสัมพันธ์กันยังไงโปรแกรมนี้นี่ มันก็จะมีความสามารถทั้งการจัดการฐานข้อมูลแล้วก็สร้างโปรแกรมได้ในตัวเดียวกันก็คือเป็นโปรแกรมที่ค่อนข้างครบสำหรับการทำงานฐานข้อมูลเบื้องต้นนะคะ มันเลยเหมาะกับที่จะให้นักศึกษาเรียนรู้แล้วก็พัฒนาโปรแกรมไว้ใช้งานนะคะ คนที่อาจจะไม่มีความรู้ในการเขียนโปรแกรมมากนักนี่ เขาก็สามารถใช้โปรแกรมนี้ได้เช่นเดียวกันนะคะ เพราะว่ามันก็วิธีการใช้งานก็ค่อนข้างสะดวกแล้วก็โปรแกรมก็ใช้ง่ายคำสั่งไม่เยอะซับซ้อนวุ่นวายมากนะคะ หน้าตาตอนสร้างฐานข้อมูลก็จะเริ่มต้นประมาณนี้นะคะ แต่เดี๋ยวเราค่อยไปดูในตัวโปรแกรมกันมันจะมีส่วนของการทำงานหลัก ๆ อยู่ด้านบนนะคะ แล้วจะเรียกเป็น Ribbon ข้างบนนะคะ ในรูปนี่จ ะเป็น รูปเกี่ยวกับการกำหนดโครงสร้างของตารางนะคะ แล้วก็การกำหนดหน้าจอสำหรับบันทึกข้อมูลหรือแสดงข้อมูลแล้วก็สามารถทำได้การสร้างรายงานอาหาร เช่น สมมติมีรายชื่ออยู่ 1 รายชื่อเราอยากให้มันออกเป็นรายงานเฉพาะชื่อที่เป็นผู้หญิงเราก็สามารถช่วยรายงานออกมาได้เหมือนกันรวมถึงการสืบค้นการเรียกดูข้อมูลอื่นตามเงื่อนไขแล้วก็สามารถทำได้ส่วนของการสืบค้นเรียกดูข้อมูลนี่ เราจะใช้คำสั่ง SQLด้วยตัวเองเราจะได้ใช้โปรแกรมสำเร็จรูปทุกอย่างเราจะได้รู้เลยว่าเวลาที่เราใช้ภาษา html มันทำงานอย่างไรโดยตารางที่อยู่ในโปรแกรม Access นะคะ รูปแบบของตารางนี่ ซึ่งมันเป็นมาตรฐานของการจัดเก็บข้อมูลในรูปแบบฐานข้อมูลอยู่แล้วถ้าเราต้องการจะบันทึกหรือเก็บข้อมูลนี่เราก็จะต้องสร้างตารางขึ้นมาก่อนถึงจะใช้งานได้เหมือนอาทิตย์ก่อน ๆ ที่อาจารย์ให้ศึกษาลองเปิดโปรแกรมดูนี่ บางคนจะยังพิมพ์อะไรลงไปไม่ได้เลย เพราะว่าเรายังไม่มีตารางนะคะ เพราะมันจะดูเหมือนกดอะไรไม่ได้ เพราะเรายังไม่ได้เริ่มสร้างตารางเลย การสร้างตารางในที่นี้นี่ มันก็คือการตั้งชื่อแล้วก็กำหนดโครงสร้างของตารางด้วยก็คือเราก็จะมีค่าใน Excel มันจะเป็นคอลัมน์ คอลัมน์ ใช่ไหมคะ Access ก็เหมือนกันเราก็ต้องโหลดว่าหัวคอลัมน์แต่ละคอลัมน์ก็คือ นี่แหละนะคะ มันจะมีชื่อว่าอะไรบ้าง แล้วก็คุณสมบัติของข้อมูลที่ต้องบรรจุลงไปในนะเนี่ยมีอะไรนะคะ เช่น เป็นตัวหนังสือเท่านั้นหรือเป็นตัวเลขผสมกับตัวหนังสือหรือรับเฉพาะค่าตัวเลขตัวเลขต้องไม่เกิน 10 ตัวอะไรก็ว่าไป รวมถึงต้องกำหนดคีย์หลักการกำหนดคีย์หลักในโปรแกรม Access มันก็ง่าย ๆ กดปุ่มเดียวก็เสร็จเลย แล้วก็ต้องกำหนดความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป ว่ามันจะเชื่อมต่อกันอย่างไรนะคะ ตัวอย่างโครงสร้างของฐานข้อมูลนี้เราทบทวนอีกรอบนะคะ ที่โชว์อยู่ในหน้าจอตอนนี้ก็คือเราเรียกว่าตารางนะ มีแถวมีคอลัมน์นะคะ แนวตั้งเรียกว่า "คอลัมน" ์ถ้าศัพท์ในระบบจัดการฐานข้อมูล Field อย่างในตารางนี้จะมีอยู่ 4 Field คือ 4 คอลัมน์มี 3 ได้ถอดก็คือ 3 แถวข้อมูลอันนี้เป็นตัวอย่างข้อมูลผู้ป่วยนะคะ ไอ้ตัว HN นี่มันย่อมาจากรหัสป่วยนะคะ Hospital Number แล้วก็จะมีชื่อมีนามสกุลจริงที่อยู่อันนี้เป็นตัวอย่างการเก็บข้อมูลอย่างง่ายตัวอย่างง่ายส่วนในโปรแกรมเราจะสร้างตารางนะคะ โดยที่กันเราจะมากำหนดคุณสมบัติของคอลัมน์แบบเมื่อกี้นี้นะคะ เราจะมากำหนดตรงที่ส่วนของการ Design การออกแบบมันก็ถามว่ายังอยู่ตรงนี้อันนี้มันเป็นภาษาอังกฤษน่ะนะคะ ชื่อคอลัมน์อะไรนะคะ เก็บข้อมูลชนิดอะไรบางทีตัว ID นี่ ถ้าเราไม่ได้กำหนดค่ามันจะเป็นออโต้มันจะเพิ่มไปเรื่อย ๆ ตามจำนวนที่เราเพิ่มเข้ามาแต่เราสามารถระบุเองก็ได้ค่ะ บางทีเราไม่อยากได้ตัวเลข1 2 3 4 5 ไปเรื่อย ๆ แบบนี้ บางทีก็มันอาจจะเป็นอย่างนั้นไม่ได้ทุกระบบนะคะ จะต้องมีตัวหนังสือที่มันมีมาผสมกับตัวเลขรหัสนักศึกษาเรานี่ เข้ามาใหม่แล้วจะรัน 1 2 3 4 5 ไปเลยไม่ได้ มันจะต้องกำหนดเฉพาะเลขขึ้นต้นด้วยปีการศึกษาตามมาด้วยรหัสคณะตามมาด้วยรหัสหลักสูตรแล้วค่อยเป็นถึงเลขที่ของเราว่าเลขที่อะไรตัวอย่างถ้าเป็นการทำงานในการจัดการตารางจริง ๆ นี่ มันจะไม่มีข้อมูลแค่นิดเดียวอย่างที่เราเคยเห็น อย่างด้านซ้ายนะคะ ก็จะเป็นตัวอย่างของตารางทั้งหมดที่มันเอามาเชื่อมโยงกันมีไม่ต่ำกว่า 20 ตาราง ถ้ามันเป็นระบบงานใหญ่ ๆ รวมถึงการกำหนดด้วยว่าข้อมูลแต่ละชนิดที่เข้ามานี่ อย่างเช่น ID เขากำหนดให้เป็นตัวเลขให้มันเพิ่มขึ้นไปเรื่อย ๆ อัตโนมัติ ส่วนเลขประจำตัวผู้ป่วยเขาจะให้กรอกนะคะ แล้วก็จะมีคำอธิบายว่าไอ้คำคำย่อหรือหัวตารางน ี่ถ้าเป็นภาษาไทยคืออะไร นะคะ อย่าง OHM คือเลขบัตรเดิมต้องพิมพ์อย่างไร ไม่จำเป็นต้องพิมพ์ไหมชื่อแรกจำเป็นต้องพิมพ์นามสกุลเราจะกำหนดตรงนี้ด้วยคำอธิบายถ้าในส่วนของฐานข้อมูลจะเรียกว่าเป็นพจนานุกรมข้อมูล Data Dictionary ก็คือสิ่งที่เราต้องบอกอย่างสมมติว่าจะเป็นโปรแกรมเมอร์คนใหม่มาทำงานนะคะ เห็นคำย่อ ptMarry คืออะไร สมมติคุณมาทำงานต่อจากเขาแล้วเขาไม่เขียนอธิบายว่าคำศัพท์คำนี้มันคือข้อมูลอะไรที่ต้องตอบ นั่นคือสถานภาพสมรส สมมติเขาไม่ได้บอกเราไว้เราก็ต้องมากว่าจะทำความเข้าใจได้ว่าสรุปข้อมูลนี้เขาต้องการข้อมูลอะไรกันแน่ เพราะฉะนั้น การเขียนคำอธิบายก็ค่อนข้างจำเป็นเหมือนกันสำหรับการจัดการฐานข้อมูลนะคะ ส่วนด้านล่างจะเป็นการบอกขนาดของข้อมูลนะคะ เช่น จำนวนเงินเดือน เงินเดือนน่าจะไม่มีแค่ 2 หลัก บางคนเงินเดือนเยอะบางคนเงินเดือนน้อย เราก็สามารถกำหนดได้ว่าตัวเลขที่สามารถกรอกเข้าไปได้นี่ มากน้อยแค่ไหน อาจจะยังไม่เห็นภาพถ้าสมมติว่ามันเป็นคอลัมน์ที่เกี่ยวกับงบประมาณประเภทไม่ต้องกรอกตัวเลขเยอะ ๆ นะคะ เลข 6-7 หลักมันไม่พอแน่นอน เราก็ต้องมากำหนดต้องดูด้วยว่าข้อมูลที่ใส่ได้ควรจะเป็นข้อมูลขนาดไหนหรือบัตรประชาชนเรามากำหนดเลยว่าให้กรอกได้แค่ 13 หลักเราก็จะมากำหนดตรง Properties ข้างล่างตรงนี้นะคะ การสร้างตารางโดยใช้มุมมองการออกแบบมันก็จะมีการกำหนดว่าชื่อของ Field คือชื่อแต่ละคอลัมน์ควรตั้งชื่ออะไรควรจะตั้งให้มีความหมายแล้วก็ไม่ยาวจนเกินไป แล้วก็ห้ามใช้สัญลักษณ์พิเศษพวกเครื่องหมายคำถามเครื่องหมาย # นะคะ หรือจุด Score ขีดเส้นใต้เราจะไม่ใส่รวมถึงประเทศของข้อมูลนะคะ ก็คือชนิดของข้อมูลที่จัดเก็บในคอลัมน์หรือ Field นั้นน่น ๆ รหัสสินค้ามันควรจะเป็นได้ทั้งตัวเลขและตัวอักษรผสมกันส่วนราคานะคะ กลัวจะเป็นตัวเลขอย่างเดียวเราไม่พิมพ์เราจะไม่พิมพ์ 500 แล้วก็ใส่ ก ไก่ อีก 2 ตัวแทนได้ 0 มันไม่ใช่ 500 ก็คือเป็นตัวเลขอย่างเดียวถ้าสมมติข้อมูลนั้น ๆ จะต้องนำไปคำนวณควรจะเป็นข้อมูลชนิดอะไร เช่น อายุคือเอาวันเดือนปีเกิดไปคำนวณมันจะต้องเป็นตัวเลขหรือวันที่หรืออย่างไรนะคะ เราก็ต้องมาพิจารณาข้อมูลพวกนั้นด้วย เช่น วันเข้าทำงานวันแรกจนถึงปัจจุบันเขาทำงานมาแล้วกี่ปีว่าจะใช้วันที่ในการคำนวณนะคะ เราก็ต้องพิจารณาตัวนี้ด้วย ถ้าสมมติว่าครูได้ไปทำฐานข้อมูลด้วยตัวเองข้อมูลที่เป็นข้อความหรือว่า Text นะคะ ก็จะเป็นข้อมูลที่เป็นตัวอักษรตัวเลขตัวเลขทำไมถึงบอกว่าเป็น Text ถ้าตัวเลขที่ไม่ได้ใช้ในการคำนวณ เช่น รหัสนักศึกษาพวกคุณ เราจะไม่เอามาบวกกัน มันไม่มีผลในการคำนวณนะคะ มันเป็นตัวเลขบอกรหัสเฉย ๆ สัญลักษณ์เครื่องหมายก็บางคนอาจจะจำเป็นที่ต้องใส่สัญลักษณ์คำนำหน้าชื่อ บางคนก็จะพิมพ์นางสาว บางคนพิมพ์ น.ส. มันก็จะมีสัญลักษณ์มีเครื่องหมายมีตัวอักขระนะคะ ที่ผสมกัน ส่วนตัวเลขก็ตัวเลขน ี่ก็จะมีหลายประเภทเหมือนกันเป็นข้อมูลที่เป็นตัวเลขจะเป็นจำนวนเงิน การเก็บเงินก็มีให้เลือกหลายรูปแบบนะคะ ถ้าเราเลือกข้อมูลเป็น Byte ข้อมูลที่เราเก็บได้จะมีแค่ 0-255 เท่านั้น แล้วก็เป็นจำนวนเต็มใส่เป็นทศนิยมไม่ได้นะคะ ข้อมูลที่เป็น Integer ก็จะเป็นค่าตัวเลขระหว่าง 0-30,000 กว่าก็จะถึง 30,000 บาทจำนวนเต็มบวกเป็นเต็มบวกเต็มลบไม่มีจุดทศนิยมถ้าเป็น Long Integer เมื่อกี้จากหลักหมื่นมันจะกลายเป็นประมาณ 2000 ล้านเหมาะกับการใส่งบประมาณที่เยอะมาก ๆ หรือข้อมูลเงินใด ๆ ก็ตามที่เป็นตัวเลขที่มากกว่า Feature ธรรมดาขึ้นไปนะคะ Single จะเป็นตัวเลขที่มีจุดทศนิยมนะคะ จะมีค่าไปจนถึงติดลบเป็นทั้งเพื่อนเป็นทั้ง ๆ ที่เป็นเต็มลบกับเต็มบวกนะคะ ต่อมา Double จะใช้กับตัวเลขที่เป็นจุดทศนิยม อย่างเช่น บางทีเราไปซื้อของเราจะถึงบ้านข้างบนเป็นจุดทศนิยมให้เราด้วยแสดงว่าการเขียนโปรแกรมในการเก็บข้อมูลของเขาเขาแสดงผลจนถึงทศนิยม 1 ตำแหน่ง 2 ตำแหน่ง 3 ตำแหน่ง ก็ว่ากันไป ส่วนมากถ้าเป็นค่าเงินเราจะใช้แค่ 2 ตำแหน่งนะคะ ต่อมาวันที่เวลาก็จะเป็นการระบุข้อมูลที่มีรูปแบบที่เป็นวันที่ ค.ศ. พ.ศ. ก็แล้วแต่ เราจะระบุก็ได้โดยที่มันจะอาจจะเป็นระบบเต็มก็คือจะมีทั้งวันที่แล้วก็เวลาแต่ส่วนมากเราจะใช้แบบวันเดือนปีแค่นั้นนะคะ กับ Yes No Questions นะคะ ใช่หรือไม่มันจะเป็นคำถามคำตอบสำหรับข้อมูลที่เป็นตรรกะที่มีอยู่ 2 ค่า ก็คือจริงกับเท็จ ตอนนี้คุณเป็นนักศึกษาจะถามว่าจริงหรือเท็จถ้าเป็นยังเป็นนักศึกษาอยู่ก็ตอบว่า Yes ถ้าเรียนจบแล้วก็จะบอกว่า No นะคะ กับ OLE Object นะคะ เพื่อเป็นข้อมูลที่เอาไว้ในการแนบรูปภาพนะคะ ฐานข้อมูลบางอย่างเขาให้เอาแนบรูปภาพด้วย เช่น บางทีเราสมัครจะเป็นสมาชิก สมัครเรียนหนังสือ สมัครสอบ มันให้แนบรูปภาพแนบใบเสร็จ ถ้าเป็นระบบขายของได้แบบเบ็ดเสร็จโอนเงินเป็นรูปภาพมาด้วยนะคะ ส่วนที่ 3 จะเป็นส่วนของการกำหนดค่าเหมือนที่อาจารย์ให้ดูเมื่อกี้นี้ในภาพนะคะ เป็นการบอกขนาดของข้อมูลที่จะเก็บเรากำหนดได้เลยนะคะ แล้วก็รูปแบบของการแสดงผลข้อมูลจะเป็นอย่างไร การป้อนข้อมูลจะเป็นลักษณะไหน เราสามารถกำหนดได้กำหนดคำอธิบายข้อมูลเช่นก่อนที่เราจะกรอกข้อมูลไปนี่ ระบบบางอันถ้าเราเอาเมาส์ไปชี้เขาก็จะมีคำอธิบายว่าในช่องนี้ให้กรอกข้อมูลแบบไหน ถ้าเราบอกว่าให้กรอกรหัสบัตรประชาชน พอเอาเมาส์ไปชี้ปุ๊บเขาบอกว่าให้กรอกเลขจำนวน 13 หลัก เป็นต้นนะคะ กัับอาจจะมีการกำหนดค่าเริ่มต้น เช่น เขาถามวันเกิดส่วนมากวันเกิดค่าเริ่มต้นของเขาคือจะเป็นวันที่ 1 มกราคม ปี 2000 อะไรก็ว่าไปนะคะ ก็จะเป็นค่าเริ่มต้นถ้าคุณไม่ได้เกิดวันนั้นคุณก็เปลี่ยนค่าอื่น หรืออาจจะเป็นเงินบริจาค ค่าเริ่มต้นจากเป็น 10 บาท คุณจะปเปลี่ยนค่าก็ได้นะคะ กลับการกำหนดเงื่อนไขของข้านะคะ เช่นเงินเดือนจะต้องเป็นบวกเสมอบอกว่าเขาถามเงินเดือนเท่าไรคุณจะบอกว่าติดลบ 5,000 ยังไม่ได้ทำศุกร์ทำงานแล้วเป็นหนี้ไปเรื่อย ๆ มันก็ไม่ใช่นะคะ ก็ต้องบังคับจะต้องเป็นบวกเสมอเช่นอายุต้องเป็นจำนวนเต็มบวกเต็มลบไม่ได้นะคะ กลับตั้งตรวจข้อความที่แสดงหากใส่ข้อมูลไม่ตรงตามเงื่อนไข เช่น อายุเป็น -20 คำสั่งแจ้งเตือนขึ้นมาว่าให้ใส่ข้อมูลที่เป็นค่าบวกเท่านั้นนะคะ ก็จะเป็นแบบนี้เราสามารถกำหนดได้รวมถึงข้อมูลที่ไม่จำเป็นต้องตอบจะเว้นว่างไม่ได้เช็คเลขบัตรประชาชนคุณจะบอกว่าคุณไม่มีเลขบัตรประชาชนเป็นไปไม่ได้ เพราะฉะนั้น ต้องกรอกทุกครั้งหรืออาจจะเป็นแบบฟอร์มให้สมัครใด ๆ ก็ตาม ไอ้เลขบัตรประชาชนนี่ จะเป็นข้อมูลที่จำเป็นจะต้องออกเสมอ ปล่อยวางไม่ได้การกำหนดค่าคีย์หลักก็ทำได้ง่ายมากถ้าในโปรแกรม ก็คือคุณจะเลือกค่าไหนให้เป็นคีย์หลัก คลิกที่คอลัมน์นั้น ๆ หรือ นานแล้วก็กดลูกกุญแจกุญแจจะหมายถึงทีหลักPrimary Key นี่แหละนะคะ เลือกแล้วก็กดมันก็จะเป็นการแจ้งในระบบเลยว่าไอ้ค่านี้ คือค่าคีย์หลักของตารางนี้กับความสัมพันธ์มันจะเป็นการสร้างความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป โดยที่เราจะมีการพิจารณาเรื่องคีย์นอกของแต่ละตารางที่มันจะอ้างถึงคีย์หลักของอีกตารางหนึ่งนะคะ อันนี้ก็เดี๋ยวเราจะลองทำในโปรแกรมว่ามันจะอ้างอิงกันอย่างไรในตัวโปรแกรมนี่ มันก็จะง่ายมากค่ะ มันก็จะมีตัวให้เรากดได้เลยโปรแกรมค่อนข้างสำเร็จรูปเลยนะคะ เราจะตั้งคีย์หลักอย่างไร อันไหนจะเป็นความสัมพันธ์นะคะ ก่อนที่เราจะทำสิ่งเหล่านี้ได้เราต้องดูแลว่าตารางที่เราสร้างมันสำคัญเป็นอย่างไร เพราะว่าเราเคยว่า ER Diagram แล้วก็คือเหมือนตัวอย่างที่ใช้ทำร้านหนังสือว่าผู้แต่งหนังสือกับหนังสือเขาควรจะมีความสัมพันธ์เป็นอย่างไรอย่างเช่นตัวอย่างถ้าเราสั่งของสำคัญได้แล้วมันจะเป็นแบบนี้ค่ะ มันจะมีการโยงเส้นของ 2 ตารางให้ดูเลยว่าตารางนี้กับตารางนี้ เขามีความสัมพันธ์กัน อย่างตารางนี้ค่ะ 2 ตารางนี้มีความสำคัญแบบ 1 กับบ้าน อย่างที่ฉันเคยบอกว่าในแต่ละโปรแกรมหรือในแต่ละหนังสือสัญลักษณ์เครื่องหมายค่าจะไม่ใช้ตัวเองเหมือนที่อาจารย์สอนมันเป็นความหมายเดียวกันคือวัน 1 to 1 มีความสำคัญมากกว่า 1 กับอะไรนะคะ เพราะฉะนั้น เราหนังสือบางเล่มก็จะเขียนแบบนี้นะคะ ให้เราเข้าใจว่ามันมีความหมายเดียวกันแต่แค่มันต่างกันที่สัญลักษณ์เฉย ๆ ถ้าเป็นความสัมพันธ์แบบ 1 ต่อ 1 บางรูปแบบมันจะไม่เขียนกำหนดไว้เลยเพราะให้รู้ด้วยตัวเองว่ามันเป็นความสัมพันธ์แบบไหนนะคะ 1 to 1 ข้อพิจารณาในการสร้างฐานข้อมูลเราต้องรู้ว่าเราจะสร้างฐานข้อมูลเพื่อมาทำงานเกี่ยวกับระบบอะไรนะคะ เหมือนในตัวอย่าง คือ ร้านเช่าหนังสือ ร้านขายหนังสือ ในร้านขายหนังสือต้องมีตารางอะไรบ้าง มันอาจจะไม่มีแค่ 3 ตัวอย่าง 3 ตารางเทียบตัวอย่างมันมากกว่านั้น คุณจะเช่าหรือคุณจะขายหรือคุณจะมีระบบสมาชิกไหมนะคะ รวมถึงรายละเอียดในตารางข้อมูลจะต้องเก็บอะไรบ้าง เครื่องไหน ไฟตกหรือ ต่อไปก็ต้องดูว่าในตารางอะไรคือคีย์หลัก ก็คือค่าที่ห้ามซ้ำกันนั่นเองในสิ่งที่เราทำได้นะ ความสัมพันธ์ของตารางข้อมูลความสัมพันธ์แบบไหนนะคะ มีค่าที่ต้องมาประมวลผลมีการคำนวณไหม เช่น อายุสมาชิกหรือวันเข้าทำงาน ทำงานมาแล้วกี่ปีเพื่อพิจารณาเงินเดือนอะไรก็ว่าไป การจัดการแสดงผลออกทางหน้าจอเป็นอย่างไร สามารถพรินต์ออกมาเป็นรายงานได้ไหม ข้อมูลเบื้องต้นที่จะใส่ ใส่แล้วเป็นอย่างไรเอาไปใช้กับระบบงานอะไรเอาไปผนวกกับแล้วมีปัญหาไหมนะคะ นี่คือข้อพิจารณาในการสร้างฐานข้อมูลขึ้นมาซักระบบหนึ่งค่ะ ระบบเล็ก ๆ ต้องพิจารณาตามนี้เช่นเดียวกันนะคะ กับก่อนที่เราจะเรียนในโปรแกรมเราต้องมารู้จักคำสั่งที่เราจะสั่งให้ฐานข้อมูลมาทำงานก่อน ภาษาที่ใช้ในการจัดการฐานข้อมูลอย่างที่บอกค่ะ เป็นภาษา SQL Structured Query Language ตัวนี้นะคะ การเรียนภาษาอังกฤษ SQL นะคะ มันก็เป็นเรียนรู้คำสั่งพื้นฐานสำหรับสร้างโครงสร้างของฐานข้อมูล คำสั่งในการเรียกดูข้อมูล คำสั่งสำหรับการปรับปรุงข้อมูล เพิ่ม ลบแก้ไข อันนี้คือสิ่งที่เราต้องทราบนะคะ ซึ่งภาษา SQL นี่ เป็นภาษาทางด้านฐานข้อมูลที่ได้รับความนิยมมากที่สุดเป็นชุดคำสั่งที่ใช้ในการจัดการฐานข้อมูลแล้วก็ข้อมูลในฐานข้อมูลนะคะ กลุ่มคำสั่งของภาษา SQL จะมี 3 กลุ่มคำสั่ง คำสั่งแรกก็เขียนคำสั่งที่ใช้สำหรับการสร้างฐานข้อมูล กำหนดโครงสร้างฐานข้อมูลด้วยนะคะ โครงสร้างของตาราง กลุ่มที่ 2 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับเพิ่ม ลบ เปลี่ยนแปลงข้อมูล ซึ่งเป็นการปรับปรุงข้อมูลนั่นเอง ส่วนกลุ่มที่ 3 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับสร้างแล้วก็กำหนดโครงสร้างจากตาราง อันนี้ก็จะเป็นภาษาที่ไม่ได้แค่สำหรับนิยามข้อมูลเป็นการสร้างด้วยนะคะ อย่างในสไลด์อาจารย์วันนี้นี่ ถ้าเราเห็นทรงกระบอกแบบนี้นี่ ถ้าเราเห็นในหนังสือหรือว่าในทางสากลนี่ เขาจะรับรู้ได้เลยว่าถ้าเราใส่รูปทรงกระบอกแบบนี้ สัญลักษณ์ใดที่เป็นโครงสร้างทางคอมพิวเตอร์เขาโชว์ไปว่านี่คือฐานข้อมูลนะคะ ส่วนผลลัพธ์ถ้าเป็นรูปภาพแบบนี้ก็แสดงว่าเป็นการแสดงผลรายงานนะคะ อันนี้ก็เวลาคุณไปอ่านหนังสือดูหนังสือเล่มอื่นเขาเขียนแบบนี้นี่ ก็ให้เข้าใจว่าก่อนที่จะออกจากฐานข้อมูลใช้คำสั่งเรียกดูรายงานออกมาคนละคนรายงานเป็นะอย่างไรนะคะ อันนี้เป็นโครงสร้างคำสั่งภาษา SQL สำหรับการสืบค้นนะคะ คำสั่งที่ใช้ในการสืบค้นคำสั่งที่ใช้บ่อยที่สุดก็คือคำสั่ง SELECT S-E-L-E-C-T นักศึกษาบางคนเวลาพิมพ์ทำไมคนรันไม่ได้เหมือนเพื่อน มันพิมพ์ผิดบางครั้งก็ตกใจไม่ต้องตกใจผลลัพธ์ไม่ออกมา เรามานั่งไล่ดูก่อนว่าเราพิมพ์อะไรผิดไปหรือเปล่า ลืมสัญลักษณ์อะไรไหมตกทำอะไรหรือเปล่านะคะ มาเช็กด้วยคำสั่งพื้นฐานจะขึ้นต้นด้วย Select ตามมาด้วย FROM SELECT ก็คือเราจะเลือกว่าเราจะแสดงผลข้อมูลอะไรอย่างที่บอกนะคะ ต้องพยายามภาษาอังกฤษนิดหนึ่งเขาว่ามันจำเป็นนะคะ ก็คือเราจะเลือกข้อมูลจากตารางไหนนะคะ WHERE หมายถึงว่ามีเงื่อนไขในการค้นหาว่าอย่างไรบ้าง GROUP BY ข้อมูลจะถูกรวมเป็นข้อมูลเดียวกันหรือไม่มีเงื่อนไขอะไรอีกไหมรวมถึงการจัดเรียงอย่างไรนะคะ เดี๋ยวจะมีตัวอย่างคำสั่งให้ดูที่นี่ดูตัวอย่างคำสั่งไปก่อน อันนี้เป็นตัวอย่างคำของข้อมูลนะคะ สไลด์หลังจากนี้ไปเราจะดูคล้าย ๆ แบบนี้เหมือนกันมีตารางอยู่ 2 ตารางนะคะ ตารางแรกจะเป็นตารางหนังสือตารางที่ส่งจะเป็นตารางสำนักพิมพ์นะคะ ตารางแรกก็จะมีรหัสหนังสือชื่อหนังสือรหัสสำนักพิมพ์ราคานะคะ ตารางที่ 2 จะเป็นตารางสำนักพิมพ์มีรหัสสำนักพิมพ์แล้วก็ชื่อสำนักพิมพ์นะคะ คำสั่งจะแสดงผลมุมบนขวาตรงนี้ ส่วนผลลัพธ์ที่ได้จากคำสั่งภาษา SQL จะอยู่ในด้านล่างนะคะ ตัวอย่าง คำสั่งในการสืบค้นข้อมูล 1 ตาราง คำสั่งที่ง่ายที่สุด คือ SELECT FROM นะคะ เวลาอ่านคำสั่งเราจะดูตรงนี้นะคะ ตรงนี้ ขึ้นต้นคำสั่งว่าอะไรอยู่ตรงนี้ตัวอย่างการสืบค้นจาก 1 ตารางนะคะ หมายถึงว่าเอาข้อมูลทุก ๆ คอลัมน์หรือเราจะสามารถระบุได้ว่าเราจะเอาข้อมูลเฉพาะคอลัมน์ไหนจากตารางอะไรนะคะ ตัวอย่างเช่นตัวนี้ ให้แสดงผลข้อมูลทุกแถวและทุกคอลัมน์คำสั่งก็คือ SELECT ไอ้เครื่องหมายดอกจันจะเป็น Star นะคะ SELECT * FROM Books ก็คือเอาข้อมูลทุกแถวทุกคอลัมน์จากตาราง Books ผลลัพธ์ที่ได้ก็แสดงผลข้อมูลทั้งหมดที่อยู่ในตารางบุ๊คนั่นเองถามว่าคำสั่งนี้ใครสั่งบางครั้งอาจจะเป็นคนที่ดูแลฐานข้อมูลหรือผู้ใช้งานต้องการจะเรียกดูข้อมูลในลักษณะนี้ คำสั่งที่เกิดขึ้นที่สั่งให้คอมพิวเตอร์ทำงาน ก็คือ SELECT FROM อันนี้คือ SELECT * ก็คือเอาทุกแถวทุกคอลัมน์แล้วถ้าเราไม่เอาทุกแถวทุกคอลัมน์ล่ะเรากำหนดได้ไหม กำหนดได้ค่ะ คำสั่งต่อมา ก็คือเรื่องชื่อกราคาจากตาราง books ผลลัพธ์ที่ได้จากคำสั่งนี้ว่าจะแสดงผลเฉพาะชื่อราคาของหนังสือเท่านั้น เพราะว่าอย่างที่เคยบอกมุมมองของผู้ใช้งานแต่ละคนไม่เหมือนกันบางคนอยากดูข้อมูลทั้งหมดบางคนอยากดูข้อมูลแค่ 2 อย่างสามารถทำได้ไหม ทำได้ค่ะ ดูข้อมูลอย่างเดียวก็ทำได้ แค่เราต้องบอกให้ถูกว่าคุณอยากดูข้อมูลจากตารางไหน คอลัมน์เมื่อไรระบุไประบบจัดการฐานข้อมูลมันก็จะดึงข้อมูลที่มาให้เราดูนะคะ ถ้าเป็นการสืบค้นแบบมีเงื่อนไขล่ะ แค่คอลัมน์มันไม่พอแล้ว เราอยากเพิ่มเงื่อนไขคำสั่งที่ในการใช้ในการเพิ่มเงื่อนไขคือคำสั่ง where นะคะ เป็น SELECT FROM WHERE ไล่ระดับลงมาโดยมีเงื่อนไขเงื่อนไขในการเปรียบเทียบเวลาเปรียบเทียบนะคะ ดูสัญลักษณ์ตรงนี้มันจะเป็นมากกว่ามากกว่าเท่ากับน้อยกว่า อันนี้น้อยกว่าเท่ากับมากกว่าเท่ากับอันนี้ไม่เท่ากับนะคะ อันนี้เป็นเท่ากับมากกว่าน้อยกว่านี้ค่ะ เดี๋ยวจะทำตัวคันให้หรือการรวบรวมเป็นและเป็นหรือคล้าย ๆ กับวิชาคณิตศาสตร์ที่เราเคยเรียนไปแล้ว เป็นการปฏิเสธ เช่น ไม่เอาข้อมูลนักศึกษาชายอะไรอย่างนี้ตรวจสอบค่าของข้อมูลว่างให้มันตรวจดูสิว่าข้อมูลตรงไหนมีช่องว่างข้อมูลตัวไหนหายไป ตรวจสอบเป็นช่วง เช่น ช่วงอายุระหว่าง 15 ถึง 18 ปี หรือในชื่อใครมีชื่อมี จ จาน หรือรายชื่อใครมีสระเอตรวจสอบข้อความ เช่น ในข้อความนั้นมีคำว่า "นาย" ก็คนที่มีคำขึ้นต้นว่านายทั้งหมดอะไรก็ว่าไปนะคะ มันจะมีการเปรียบเทียบเงื่อนไขด้วยนะคะ อาจารย์อธิบายไปแล้วนะคะ เท่ากับมากกว่าน้อยกว่ามากกว่าเท่ากับน้อยกว่าเท่ากับไม่เท่ากับนะคะ อย่างตัวอย่างการค้นหาแบบมีเงื่อนไขแต่แรกคือให้เอามาแสดงผลเฉพาะชื่อราคาจากตาราง Books โดยที่มีเงื่อนไขคือราคาน้อยกว่า 1,000 เงื่อนไขแรกคือแสดงผลเฉพาะชื่อกับราคานะคะ แล้วเงื่อนไขต่อมาคือราคาน้อยกว่า 1,000 มาดูที่ราคาค่ะ มีน้อยกว่า 1,000 มีน้อยกว่า 1,000 น้อยกว่า 1,000 100 แสดงผลไหมคะ ไม่แสดงผล 1,950 แสดงผลไหมไม่แสดงผล เพราะฉะนั้น ส่วนที่มันจะแสดงผลมีอยู่ 5 แถวแต่มันจะเลือกแสดงผลแค่ชื่อกับราคาเท่านั้น อันนี้คือคำสั่งผลลัพธ์ที่ได้ก็จะเป็นตัวนี้นะคะ อันนี้เดี๋ยวเราจะลองทำสัปดาห์หน้า สัปดาห์นี้ทำให้ดูภาพก่อนคร่าว ๆ ทีนี้ก็ขายเหมือนเดิมค่ะ แต่ต่างกันตรงที่ว่าคำสั่งเปรียบเทียบเป็นน้อยกว่าเท่ากับ 1000 แสดงว่าเล่มที่มีราคา 1,000 บาทมันก็จะมาแสดงผลด้วย เพราะฉะนั้น ต้องดูคำสั่งเปรียบเทียบดี ๆ ว่าเขาเอาน้อยกว่าหรือน้อยกว่าเท่ากับนะคะ เหมือนที่เวลาเราค้นหาสินค้าในเว็บไซต์ขายของออนไลน์ เอาให้มันจัดเรียงตามราคาก็ใช้คำสั่งนี้ล่ะค่ะ ในการจัดเรียงว่าเราอยากได้สินค้าราคาที่น้อยที่สุดไปหามากที่สุดไม่เกิน 2,000 บาท เขาก็จะจัดเรียงมาให้ใช้คำสั่งนี้ล่ะค่ะ ที่มันดึงข้อมูลจากฐานข้อมูลมาแสดงผลให้เรา เมื่อก่อนเราเป็นแค่ผู้ใช้งานเราไม่รู้ว่าข้างในมันน่ะ เขียนอย่างไรวันนี้เรารู้แล้วว่างคำสั่งคอมพิวเตอร์มันเขียนว่าอย่างไรเป็นคำสั่งเดิมแต่เปลี่ยนเงื่อนไข ก็คือให้ราคาไม่เท่ากับ 1,000 ก็เท่านั้น ก็จะแสดงผลหนังสือทุกเล่มยกเว้นเล่มที่มันมีราคา 1,000 ไม่แสดงผลดูดี ๆ นะคะ เงื่อนไขตรงนี้เองต่างกันแค่นี้เองนิดเดียว ถ้าสมมติว่าในข้อสอบถามว่าผลลัพธ์ที่ได้จากคำสั่งนี้แสดงผลอย่างษาก็ต้องเขียนออกมาให้อาจารย์ดูได้ว่าจากคำสั่งนี้ผลลัพธ์ที่ได้ควรจะเป็นอย่างไร อันนี้มันมีแค่เงื่อนไขเดียวแต่ถ้ามันมีหลายเงื่อนไขล่ะนะคะ มันสามารถทำได้หลายเงื่อนไขไหม ได้ ก็จะมีเงื่อนไขที่เพิ่มขึ้นคือ AND OR ก็คือต้องเป็นไปตามเงื่อนไขทั้งหมด OR ก็คือเป็นไปตามเงื่อนไขอย่างใดอย่างหนึ่งนะคะ อย่างตัวนี้คำสั่งแล้วดูก่อนเลยอย่างแรกเป็น OR นะคะ ให้เลือกแสดงผลข้อมูลเฉพาะชื่อกับราคาจากตาราง Books โดยมีเงื่อนไขคือราคามากกว่า 500 หรือรหัสสำนักพิมพ์น้อยกว่า 12 ก็มาดูนะคะ เงื่อนไขแรกราคามากกว่า 500 มีอยู่ 2 เล่มนะคะ แล้วก็รหัสหรือรหัสสำนักพิมพ์น้อยกว่า 12 อันนี้ อันนี้ เพราะฉะนั้น จะแสดงผล 5 เล่มนะคะ ถามว่าทำไมอันนี้มันราคาไม่เกิน 500 นี่ ทำไมมันแสดงผลก็เพราะว่ารหัสสำนักพิมพ์มันน้อยกว่า 12 มันก็เลยแสดงผลด้วยนะคะ เป็น 5 เล่ม ซึ่งแตกต่างจากตัวอย่างต่อมา เป็น AND ก็คือถ้ามันมีเงื่อนไข 2 ข้อ มันจะต้องดูทั้งเงื่อนไขทั้ง 2 ข้อ อันนี้คือมันมีเงื่อนไข 2 ข้อก็จริงแต่ว่ามันสามารถเป็นได้ทั้ง 2 ข้อโดยที่มันสามารถเลือกได้จะต้องเข้าตามเงื่อนไขทั้ง 2 ข้อเป๊ะ ๆ เท่านั้นนะคะ เงื่อนไข ก็คือให้ราคามากกว่าเท่ากับ 500 ราคาน้อยกว่าเท่ากับ 1,000 ก็คือเป็นช่วงนั้นเองว่าจะมีเล่มนี้ 500 เล่มนี้ 1,000 ถามว่าเล่มนี้ได้ไหม ไม่ได้ เพราะมันเกิน 1,000 เล่มนี้ได้ไหม ไม่ได้ เพราะมันน้อยกว่า 500 เพราะฉะนั้น ผลลัพธ์ที่ได้ก็มีแค่ 2 เล่ม 3 เงื่อนไขนะคะ และมีเงื่อนไขมากกว่านี้ไหม มีได้ค่ะ เป็นได้ทั้ง AND และ OR นะคะ ถ้าอันไหนเป็นอันนี้คือจะต้องตามเงื่อนไขนั้นอย่างเดียวเท่านั้น เช่น ราคามากกว่าเท่ากับ 500 มีเล่มไหนบ้างมีเล่มนี้มีเล่มนี้นะคะ หรือ PID ก็คือรหัสสำนักพิมพ์เท่ากับ 4 เท่ากับ 4 มีเล่มไหนบ้าง มีเล่มนี้หากมีเล่มนี้มีเล่มมีทำไมถึงเอา เพราะมันเป็นคำสั่ง OR ก็คือสามารถยอมรับได้นะคะ ลักษณะมา 5 เล่ม อันนี้เป็นเงแต่ว่ามันก็จะมีวิธีการเขียนให้มันสั้นกว่านี้อยู่เดี๋ยวดูไปมีอีกหลายตัวอย่างนะคะ จับตัวมาเป็นเงื่อนไขในการปฏิเสธ ก็คือไม่เอานะคะ คือคำสั่ง NOT เช่น คำสั่งนี้เงื่อนไขคือไม่เอารหัสสำนักพิมพ์ที่มีค่าเท่ากับ 4 อันนี้ตัดไปตัดไปตัดไป เพราะฉะนั้น แสดงผลที่เหลือได้ ๆ อย่างเช่น เราหาซื้อของออนไลน์ไม่อยากได้สีแดงเราก็เลยว่าไม่เอาสีแดง มันก็แสดงผลสินค้าที่เหลือมาให้นะคะ หรือการหาค่าว่างหรือการไม่มีค่าในข้อมูลนั้น ๆ เช่น ลองดูสิว่าในราคาในส่วนของราคามีอะไรเป็นค่าว่างบ้าง ค่าตัวนี้แปลว่าค่าว่างนะคะ ถ้าว่างตัวนี้มีอยู่เล่มเดียวที่ไม่มีข้อมูลสำนักพิมพ์ไม่มีข้อมูลราคามีเล่มเดียวอันนี้เอาไว้เช็กว่าข้อมูลเรามีข้อมูลอะไรหายบ้างหรือเปล่า ก็สามารถให้คอมพิวเตอร์มันเช็กให้เราได้นะคะ ในทางกลับกันให้มันเช็กว่ามีข้อมูลอะไรบ้าง ที่ไม่ใช่ค่าว่าง ก็ใช้คำสั่งที่ใกล้เคียงกันแค่นั้นเอง เพราะฉะนั้น ภาษาอังกฤษค่อนข้างง่ายค่ะ เป็นคำง่าย ๆ พยายามลองแปลดูคำศัพท์ก็ไม่ใช่คำศัพท์ที่ซับซ้อนอะไรมากนะคะ ที่ใช้ในการจัดการฐานข้อมูลเมื่อกี้เราใช้ AND และใช้ OR นะคะ มันพิมพ์ค่อนข้างยาวเราจะเปลี่ยนใหม่เป็นคำสั่ง BETWEEN นะคะ ก็คือระหว่างเท่าไรถึงเท่าไรนะคะ เทียบกันดูนะคะ ถ้าเราใช้คำสั่งนี้นะคะ ให้แสดงผลคอลัมน์นะคะ ที่มีค่าระหว่าง 10 ถึง 20 มีแค่นี้เองแต่ถ้าเราไม่ใช้คำสั่งมีชีวิตแต่ไม่ได้พิมพ์ยาวมากแบบนี้นะคะ คำสั่งตัวนี้มันเลยทำให้เราทำงานได้เร็วขึ้นพิมพ์น้อยลงอย่างเช่น ตัวนี้เงื่อนไขคือให้เลือกราคามาโดยที่มีเงื่อนไขคือราคาอยู่ในระหว่าง 500-1,000 มีกี่เล่มค่ะ มี 2 เล่ม 500 กับ 1,000 สั้นลงเยอะเลยนะคะ พิมพ์สั้นลงเยอะเลย ทีนี้ต่อมาเงื่อนไขคือราคาไม่อยู่ในช่วงระหว่าง 500 ถึง 1,000 มีอะไร 500 ตัดออก 1,000 ตัดออก เพราะฉะนั้น ผลลัพธ์ที่ได้ก็จะมีอยู่ทุกเล่มเลยยกเว้นราคา 500 กับ 1,000 นะคะ หรือน่าจะค้นหาข้อมูลตามค่าที่เราต้องการ ราคาเราจะใช้คำสั่งเงื่อนไขเพิ่มเติมข้างล่าง คือ IN I-N ตัวนี้นะคะ เช่น ข้อมูลที่เราต้องการ ก็คืออาจจะมีตัวเลขให้หาตัวเลขขี้ที่ระหว่าง 1-10 นะคะ ผลลัพธ์ที่ได้จะเป็น 1, 3, 5, 7, 9 อันนี้เราทราบอยู่แล้ว เลขจำนวนคี่ระหว่าง 1-10 นะคะ ชื่อคนที่ขึ้นต้นด้วย ส เสือ ม ม้า มีอะไรบ้าง สมชาย สมพงษ์ สมศักดิ์ อะไรก็ว่าไป สมมติฐานข้อมูลนะคะ ทุกอย่าง ก็คือเงื่อนไขให้แสดงชื่อหนังสือกับราคา นี่นะคะ ราคาหนังสือจีนมีค่า 250 หนังสือเล่มละ 500 150 ผ่าน เล่มไหนบ้างมี 250 มีไหมมี 1 เล่ม 500 มีไหม 500 มี 1 เล่ม 750 มีไหม ไม่มี 1,000 มีไหม เพราะฉะนั้น แสดงผล 3 เล่ม ถามว่าเราค้นหาไม่เจอแล้วมันเกิดอะไรขึ้นไหม ไม่เจอก็คือไม่เจอนะคะ ก็แสดงว่าในฐานข้อมูลเราไม่มีหนังสือเล่มละ 750 แค่นั้นเองนะคะ หรือการค้นหาหนังสือที่ราคาไม่อยู่ในราคาที่ 250 250 ตัดออกไป ไม่เอา 500 เอาไหม ไม่เอา 750 ไม่มีมีตัดออก เพราะฉะนั้น แสดงผลหนังสือเล่มที่เหลือบอกเขาว่าไม่เอาหนังสือราคา 250 ไม่เอา 500 ไม่เอา 750 ไม่เอา 1,000 อย่างนั้นก็แสดงผลค่าที่เหลือแค่นั้นเอง คือการตัดออกนะคะ ต่อมาคราวนี้เป็นการระบุราคาไปแล้ว เราจะระบุเป็นข้อความเป็นตัวอักษรก็ได้จากเมื่อกี้เป็นคำสั่ง IN คราวนี้จะเป็นคำสั่ง lLIKE LIKE เหมือนกดไลก์นี่แหละนะคะ ก็จะเป็นคนการค้นหาส่วนของข้อความบางครั้งเราจะไม่ได้พิมพ์ชื่อเต็ม ๆ ของเขาอาจจะเป็นส่วนของชื่อก็ได้จำชื่อเขาไม่ได้เขาน่าจะชื่อสมหญิง ๆ อะไรประมาณนี้ ซึ่งมันเป็นส่วนของคำของชื่อของคนที่ชื่อว่าสมพงษ์อาจจะจำคำชื่อขึ้นต้นเขาไม่ได้จำได้บางส่วนสามารถค้นหาได้เหมือนกันบางคนอาจจะพิมพ์คำว่า microsoft จำไม่ได้ก็สามารถค้นหาได้เหมือนกันเป็นบางส่วนของข้อความ การค้นหาส่วนของข้อความใด ๆ โดยที่ไม่จำกัดตัวอักษรเราจะใช้เป็นตัวเปอร์เซ็นต์หรือตัว Star เป็นดอกจันตัวนี้ก็ได้เดี๋ยวจะมีตัวอย่างให้ดูหรือเป็นส่วนของข้อความใด ๆ ที่มีขนาดแค่ 1 ตัวอักษร เราจะใช้เป็น Underscore หรือเครื่องหมายคำถามในส่วนของโปรแกรม Microsoft Access เราจะใช้เป็นเครื่องหมายคำถามหรือเป็นวงเล็บวงเล็บเป็นสี่เหลี่ยมแบบนี้นะคะ ก็คือให้ตัวอักษรใดที่ปรากฏในช่องต้องเป็นตัวอักษรนั้นเท่านั้น แต่ถ้ามีเครื่องหมายตกใจมันจะเป็นการบอกว่าไม่เอาตัวอักษรนั้นนะคะ น่าจะเป็นช่วงตัวอักษรก็ได้ เดี๋ยวดูตัวอย่างเลยแล้วกันมันจะได้เห็นภาพนะคะ อย่างเช่น เงื่อนไข คือ ให้ค้นหาชื่อหนังสือราคาจากตลาดหนังสือโดยที่ชื่อหนังสือนะคะ ขึ้นต้นด้วย N ตามด้วยอะไรก็ได้ถ้าเป็นเครื่องหมายดอกจันตัวนี้คือขึ้นต้นด้วยตัวหนังสือนั้น ๆ ตามด้วยอะไรก็ได้ ลองดูในตารางเราลองดูสิคะ ขึ้นต้นด้วยตัว N ชื่อมี 2 ชื่อ เพราะฉะนั้น แสดงผล 2 อันขึ้นต้นด้วยตัวเองอันอื่นไม่ได้ขึ้น ล้วหายตัวมาหาชื่อหนังสือที่ขึ้นต้นด้วยอะไรก็ได้ลงท้ายด้วยอะไรก็ได้แต่ในชื่อนั้นมีตัว C ขึ้นต้นด้วยอะไรก็ได้ค่ะ ลงท้ายอะไรก็ได้ในคำนั้นน่ะต้องมีตัว C อันแรกชื่อแรกมีไหมคะ ไม่มีชื่อที่ 2 มีตัว C ตรงตามเงื่อนไขไหม ขึ้นต้นด้่รก็ได้ลงท้ายด้วยอะไรก็ได้แต่มีตัว 4หนังสือโตมามีไหมมีตัว C อันนี้ก็มีนะคะ ตัวนี้ถามว่าได้อย่างไรก็มันขึ้นต้นด้วยอะไรก็ได้อาจจะขึ้นตัว Cก็ได้ขอให้มีตัว C เป็นประกอบ เพราะฉะนั้น ก็จะมีหนังสืออยู่ 4 เล่ม 4 เล่มนี่ คือผลลัพธ์ เพราะฉะนั้น บางทีนี่ อาจารย์ยักษ์ค้นหาชื่อนักศึกษานะคะ ชื่อจริงเขาไม่ได้จำได้เข้ามีคำว่าพร ๆ อะไรสักอย่างอะไรอย่างนี้นะคะ ฐานข้อมูลก็สามารถค้นหาข้อมูลให้เราได้เช่นเดียวกันนะคะ รู้อย่างนี้จะเริ่มสังเกตแล้วว่าทำไมมันมีเครื่องหมายคำถามแล้วก็ดอกจันถ้ามีเครื่องหมายคำถามตัวนี้หมายความว่าข้างหน้าตัว E 1 ตัวอักษรเท่านั้น 1 ตัวตามหลังตัว E เป็นกี่ตัวก็ได้ มาดูเงื่อนไขกันเลยนะคะ ถามว่าในหนังสือเล่มนี้ได้ไหม ไม่ได้เพราะตรงก่อนหน้าตัว E มีตัวหนังสือก่อนหน้า 5 ตัวซึ่งผิดเงื่อนไข ถ้าเป็นเครื่องหมายคำถามตัวหนังสือที่นำหน้าตัว E จะต้องมีแค่ 1 ตัวเท่านั้น เล่มนี้น่ะมี แต่ก่อนหน้าตัว E มีหนังสือตัวหนังสือเยอะเลยก็ไม่ได้นะคะ เล่มนี้ได้ไหม ขึ้นต้นด้วย 1 ตัวอักษรตามหลังด้วยตัว E ไม่มีนะคะ เล่มนี้ก็ไม่ได้เล่มนี้ได้ขึ้นต้นด้วย 1 ตัวก่อนว่าตัว E แค่นั้น เพราะฉะนั้น มีแค่ 2 m เล่มนี้ก็ไม่ได้เพราะก่อนหน้าตัว E มีซือมากกว่า 1 ตัวนะคะ ผิดเงื่อนไขมานะคะ เงื่อนไขว่าให้ชื่อหนังสือขึ้นต้นด้วยตัว N หรือตัว O ตามหลังด้วยอะไรก็ได้นะคะ จะมีกี่เล่มเล่มนี้ขึ้นต้นด้วยตัว N ได้ ได้มีตัว O ไหม ขึ้นต้นด้วยตัว O 1 เล่มก็แสดงผลหนังสือ 3 เล่มนะคะ อันนี้เป็นการดูเงื่อนไขเลยเดี๋ยวอาทิตย์หน้าพวกคุณจะต้องไปทำเองอาจารย์อาจจะให้คุณสร้างแล้วก็อาจจะกำหนดว่าให้คุณลองพิมพ์เงื่อนไขตามนี้ดูสิและให้แสดงผลตามที่อาจารย์กำหนดคุณก็ต้องพิมพ์คำสั่งให้ถูก เช่น ข้อมูลสัปดาห์หน้าอาจารย์อาจจะบอกว่าให้แสดงผลคนที่ขึ้นต้นชื่อด้วย ส เสือ กับตัว อ อ่าง อาทิตย์หน้านักศึกษาก็ต้องทำได้นะคะ เพราะว่าอาทิตย์นี้มีตัวอย่างแล้วนะ เงื่อนไขต่อมาชื่อหนังสือที่ไม่ขึ้นต้นด้วยตัว N ตามหลังด้วยอะไรก็ได้ก็หลายเล่มเลยนะคะ มีเล่มนี้ เล่มนี้ เล่มนี้ แล้วเล่มนี้ แค่นี้เองต่อมาจะเริ่มเป็นการปรับปรุงฐานข้อมูลจะเป็นการกำจัดข้อมูลที่อาจจะมีการซ้ำกันเกิดขึ้นก็คือรายการซ้ำนะคะ มี 2 คำสั่ง ก็จะมีการใช้คำสั่งที่อาจจะกำจัดรายการข้อมูลซ้ำให้เหลือรายการเดียวโดยใช้การกำหนดค่าต่าง ๆ เป็นเกณฑ์ คำสั่งค่าต่อมาเป็น DISTINCT ตัวนี้ ก็ลบทิ้งทั้งแถวขอดูตัวอย่างการนะคะ โดยคำสั่งก็คือให้เลือกกำจัดชื่อซ้ำชื่อที่ซ้ำนะคะ จากตาราง STUDENT ดูในตาราง STUDENT ในช่องชื่อ ดูเฉพาะชื่อนะคะ อันไหนชื่อซ้ำมีซ้ำ 1 คน สีแดง เพราะฉะนั้น เป็นอะไร การแสดงผลก็จะเป็นแค่ 3 ชื่อที่เหลือ เพราะว่าแดงมีซ้ำ 3 คน เราจะตัดให้เหลือแค่ 1 แดงเท่านั้นนะคะ ข้อมูลอย่างอื่นเราไม่สนใจมันแค่อยากรู้ว่าคนที่ชื่อซ้ำกันตัดชื่อซ้ำออกนะคะ นี่คือคำสั่ง กับให้ตัดข้อมูลทิ้งทั้งแถวนะคะ อย่างตอนนี้ ถ้ามันซ้ำกันจริง ๆ ถ้านักศึกษาสังเกตดี ๆ คนชื่อแดงซ้ำกันก็จริงนะคะ แต่นามสกุลนี่ ไม่ซ้ำกัน แต่จะมีอันนี้ ซ้ำทั้งชื่อทั้งนามสกุลถ้าใช้คำสั่งนี้นะคะ มันจะตัดข้อมูลที่ซ้ำกันทั้งแถวออก อันนี้ก็คือเดี๋ยวเราไปดูในโปรแกรมจริง ๆ ดีกว่านะคะ ตัวอย่างมันอาจจะยังดูเห็นภาพไม่ชัดมันจะดูน้อยไปเดี๋ยวอาทิตย์หน้าเราจะได้ทำของจริงนี่ เราจะได้ทำเยอะกว่านี้นะคะ ต่อมาจะเป็นการเรียงลําดับข้อมูลนะคะ ก็จะใช้คำสั่ง ORDER BY นะคะ ก็คือการเรียงลำดับนะคะ ก็คือให้แสดงผลข้อมูลทั้งหมดจากตาราง Books โดยให้เรียงลำดับตามราคาถ้าเราไม่สั่งเพิ่มเติมมันจะเป็นการเรียงจากน้อยไปหามาก คำสั่งนี้คือ OREDR BY PRICE ก็คือให้เรียงลำดับจากราคาน้อยไปหามาก ศัพท์ใหม่จะเปลี่ยนตามลำดับที่เราสั่งแต่ถ้าเราอยากแย่งจากมากไปหาน้อยเราจะต้องระบุเพิ่มได้ว่า DESC ตรงนี้นะคะ มันจะหมายถึงว่าให้เราเรียงลำดับตามราคาก็จริง แต่ให้เรียงจากราคามากไปหาราคาน้อยนะคะ ต้องบอกด้วยเว็บในการซื้อของออนไลน์ค่ะ เหมือนกันไส้ในของโปรแกรมคือคำสั่งที่เราเรียนในวันนี้นะคะ นักศึกษาจะได้เข้าใจเพราะต่อไปเราจะไม่เป็นแค่ผู้ใช้งานแล้วอาจจะได้เป็นผู้ดูแลระบบด้วยนะ กลับมาแล้วจะมีฟังก์ชันการคำนวณทางคณิตศาสตร์ที่เกิดขึ้นในการจัดการฐานข้อมูลด้วยอาจจะเป็นฟังก์ชันสำหรับการบวกการนับการหาค่าเฉลี่ยนะคะ ไอ้ AVG ตัวนี้มันย่อมาจาก Average คือการหาค่าเฉลี่ยนะคะ หาค่าน้อยที่สุดค่ามากที่สุด อันนี้เป็นคณิตศาสตร์อย่างไร ตอบมาใช้ด้วยนะคะ อย่างเช่น ให้รวมราคาทั้งหมดแล้วให้ตั้งชื่อคอลัมน์ใหม่ชื่อว่า SUMPRICE นี้ให้รวมราคาทั้งหมดใส่ในคอลัมน์ใหม่ Field ใหม่จากตาราง Books เพราะฉะนั้น ผลลัพธ์จากคำสั่งนี้ก็คือการเอายอดรวมราคาหนังสือทั้งหมดมาบวกกัน ถ้าได้ผลลัพธ์ตัวนี้นะคะ ก็ไม่ยากถ้าเราจำคำสั่งได้เลย มีบวกแล้วก็ต้องมีนับให้นับจำนวนจากรหัสหนังสือทั้งหมดจากตาราง Books โดยให้ชื่อคอลัมน์ใหม่ชื่อว่า COUNTBOOK ก็คือให้นับจำนวน BookID คือหนังสือทั้งหมดนะคะ มีกี่เล่มมันก็รับมาได้ 7 เล่ม อันนี้คือมันง่ายมันมองมันเรามองดูด้วยสายตาแล้วก็รู้ หากข้อมูลมันเยอะกว่านี้ล่ะ แล้วคุณจะรู้ได้ไงว่าตอนนี้มันยังมีหนังสือกี่เล่มสมุดว่าให้คุณดูแลระบบจัดการห้องสมุดทั้งหมดของมหาวิทยาลัยมันไม่สามารถยืนดูที่หน้าประตูแล้วบอกได้ว่าเรามีหนังสือกี่เล่มใช่ไหมคะ มันก็ต้องบวกจากฐานข้อมูลถ้าสมมติว่าเราไปฝึกงานแล้ว พี่ถามว่าให้เด็กฝึกงานไปดูสิว่ามีหนังสือกี่เล่ม คุณจะไปเดินนับไม่ใช่เราสามารถสั่งได้จากฐานข้อมูลเลยว่าวันนี้ในห้องสมุดมีหนังสือกี่เล่มอยู่ในอนาคตคุณต้องไปฝึกงานแน่นอน จะบอกว่าเด็กฝึกงานไปนับของในโกดังมีกี่ชิ้นคุณจะไปนั่งนับหรอมันก็สามารถมีวิธีการสั่งจากฐานข้อมูลนี่ล่ะ นับดูซิว่าสรุปสินค้าและมีกี่อย่าง คุณจะไปนั่งนับมันไม่ได้หรอกค่ะ ในชีวิตจริงนะคะ คำสั่งนี้ก็ค่อนข้างจำเป็นนะคะ สำหรับใช้ในการฝึกงานหรือทำงานในอนาคตนะ หรือการหาค่าเฉลี่ยนะคะ ก็จะเป็นการหาค่าเฉลี่ยของราคาของสินค้าทั้งหมดโดยให้ตั้งชื่อคอลัมน์ใหม่ชื่อว่า AAVGPRICE Average Price ค่าเฉลี่ยแสดงว่าหนังสือ 7 เล่มนี้นะคะ มีค่าเฉลี่ยเล่มประมาณ 640 2.14 ตัวนี้ถ้าสมมติว่ามีใครต้องการข้อมูลจากเราเราก็สามารถให้เขาดูได้ต่อมาเขาถามว่าค่าหนังสือที่ถูกที่สุดในร้านเท่าไรคุณจะไปเดินหาก็ไม่ใช่เราแค่สั่งให้ฐานข้อมูลมาแสดงผลสิว่าราคาสินค้าที่ถูกที่สุดนะคะ โดยที่ให้กำหนดใส่ในคอลัมน์ใหม่ราคาที่ถูกที่สุดตอนนี้คือถ้าเรามองด้วยสายตาเราก็ทราบล่ะว่า 150 อย่างที่อาจารย์บอกถ้าเกิดสินค้ามีเป็นหมื่นเป็นแสนชิ้นมานั่งไล่ดูเสียเวลาค่ะ สั่งให้ฐานข้อมูลสแกนได้ให้มันค้นหาให้คุณเลยไม่เกิน 1 นาทีรู้แน่นอนนะคะ หาราคาน้อยที่สุดแล้วก็อันนี้เป็น MAXPRICE นะคะ ก็ดูราคามากที่สุดได้เช่นเดียวกัน ต่อมาเป็นการรวมกลุ่มข้อมูลนะคะ เป็นการรวมตามเงื่อนไข ในเงื่อนไขทุกอย่างก็คือใช้คำสั่ง GROUP BY นะคะ เป็นการรวมกลุ่มตามเงื่อนไขเช่น ให้ดูช่องนี้นะคะ รหัสสำนักพิมพ์รวมราคาออกมานะคะ รวมราคาออกมา โดยที่ให้รวมเป็นตามเลขสำนักพิมพ์ สำนักพิมพ์นี้ อธิบายเป็นง่าย ๆ นะคะ สำนักพิมพ์นี้มีหนังสือกี่เล่มรวมแล้วมูลค่าเท่าไร อย่างเช่น สำนักพิมพ์หมายเลข 4 มีหนังสืออยู่ 3 เล่ม มันก็จะรวมให้ว่ามูลค่าหนังสือของสำนักพิมพ์นี้ เป็นราคาเท่านี้ สำนักพิมพ์ที่ 5 มีหนังสือกี่เล่มก็รวมงานอาจจะมีเล่มเดียวได้เท่านี้ สำนักพิมพ์ที่ 12 มี 3 เล่ม รวมราคามาทั้งหมดได้เท่านี้ อันนี้คือคำสั่ง GROUP BY คือจัดกลุ่มนั่นเองนะคะ การจัดกลุ่มข้อมูล เช่น นักศึกษาปี 3 ชายรวมแล้วมีกี่คน จะรวมโดยทั้งคณะหรือทั้งมหาวิทยาลัยแล้วแต่เรากำหนดเงื่อนไขนะคะ ถ้ามีเงื่อนไขนอกเหนือจากที่เรากำหนดไปแล้วเมื่อกี้คือเราให้จัดกลุ่มเป็นรหัสสำนักพิมพ์แต่ถ้ามีเงื่อนไขเข้ามาอีกเราจะเพิ่มเป็นคำสั่ง Having ตัวนี้เงื่อนไขเดียวมันไม่พอเมื่อกี้นี้ เราเพิ่มเข้าไปอีกว่าให้เป็นรหัสสำนักพิมพ์ที่มีค่ามากกว่าเท่ากับ 5 มันก็จะตัดสำนักพิมพ์ที่ 4 ออกไป เหลือแค่ 2 สำนักพิมพ์แล้วแต่ว่าเราจะเพิ่มเงื่อนไขอะไรอีก ราคาก็ว่าอย่างที่บอกมุมมองการดูข้อมูลของผู้ใช้งานแต่ละคนไม่เหมือนกัน แล้วแต่ว่าเขาจะอยากดูข้อมูลแบบไหนอยากได้รายงานแบบไหนนะคะ ระบบจัดการฐานข้อมูลก็สามารถจัดการได้ทั้งหมดนะคะ ต่อมาจะเป็นส่วนของคำสั่งในการปรับปรุงฐานข้อมูล ก็คือเป็นการเพิ่มแก้ไขการลบข้อมูลนะคะ การเพิ่มข้อมูลเราจะใช้คำสั่ง INSERT INTO แล้วก็ใส่ VALUE รูปแบบคำสั่งจะเป็นแบบนี้นะคะ ตัวอย่างข้อมูลเดิมจะอยู่ด้านข้อมูลด้านซ้ายนะคะ คำสั่งที่เพิ่มเติม ก็คืออันนี้คือเงื่อนไขคือยังไม่ระบุคอลัมน์นะคะ ว่าให้ใส่คอลัมไหน แต่ถ้าเราพิมพ์แบบนี้แสดงว่าเรารู้แล้วว่าข้อมูลที่เราจะใส่แล้วมันก็จะเรียงลำดับตามนี้นะคะ ถ้าคุณสลับตำแหน่งมันก็จะไม่สนใจว่าคุณใส่คอลัมน์ผิดถูกไม่รู้คำสั่งก็คือ INSERT INTO ตัวนี้ให้ใส่ข้อมูลลงไปในตาราง Books ซึ่งมีค่าดังนี้ 109ql5520 ผลลัพธ์ที่ได้จะมาอยู่ล่างสุดทำไมมันใส่คอลัมน์ถูกต้องเพราะคำสั่งให้ใส่ข้อมูลนี่ มัน.lj้องอยู่แล้วแต่ถ้าคุณสลับตำแหน่งผิดใส่ 520 มาอยู่ตรงนี้แทนนี่ มันก็จะกลายเป็น BookID 520 นะคะ แต่นี้ที่มันใส่ถูกเพราะว่าเรียงลำดับตามคอลัมน์ต้องแค่นั้นเองต่อมาเพื่อความชัวร์เราอาจจะระบุชื่อคอลัมน์ไปด้วยก็ได้เขาว่าข้อมูล 10 10 ในี่ ห้อยู่ใน นะชื่อหนังสือ VB รหัสสำนักพิมพ์คือ 5 ราคาคือ 250 ข้อมูลจะมาต่อท้ายด้านล่างแบบนี้อันนี้ก็เพื่อป้องกันว่าเราจะใส่ข้อมูลผิดคอลัมน์หรือเปล่านะคะ มันคือการเพิ่มข้อมูลนะคะ ง่ายมากคำสั่งมีแค่นี้เอง INSERT INTO สำหรับการเพิ่มข้อมูลต่อมาเป็นคำสั่งในการกลุ่มข้อมูลหรือแก้ไขข้อมูลนะคะ จะใช้คำสั่ง UPDATE SET ถ้ามีเงื่อนไขก็สามารถใส่เงื่อนไขเพิ่มได้นะคะ รูปแบบคำสั่ง UPDATE ก็คือปรับปรุงข้อมูลในตารางโดยมีค่าคือให้ราคาทั้งหมดบวกเพิ่มเข้าไปอีก 50 บาท พอพิมพ์ตัวนี้ปุ๊บราคาหนังสือจะเพิ่มขึ้นจากเดิม 50 บาททุกเล่ม จากเดิมตัวนี้ไม่มีราคาหนังสือก็จะมีราคาเล่มละ 50 บาท อันนี้คือง่ายมากถ้าสมมุติว่าข้อมูลเรามีแค่นี้ล่ะ เรานั่งพิมพก์ินที่ร้านก็ได้ค่ะ ถ้าสมมติว่าวันนี้เราเป็นร้านขายของที่มีของประมาณ 1 ชิ้น น้องบอกว่าเศรษฐกิจไม่ดีขอขึ้นราคา คุณจะมานั่งพิมพ์ใหม่ทุกวันทุกวันทุกวันเมื่อไหร่จะเสร็จเพิ่มขึ้นทีละ 10 บาท มีของอยู่แสนชิ้นนั่งพิมพ์เป็นแสนครั้งแต่ถ้าเรารู้จักคำสั่งในระบบจัดการฐานข้อมูลและพิมพ์แค่ 2 บรรทัดทุกอย่างเสร็จหมดเลยนะคะ คือการปรับปรุงฐานข้อมูลอันนี้คือก็คือประโยชน์ดึงของฐานข้อมูลนะคะ เพราะว่าถ้าเราไม่มีคำสั่งนี้นี่ บางทีไม่ต้องมานั่งพิมพ์ใหม่นี่เหนื่อยมาก ๆ นะคะ นี่คือประโยชน์ถ้าเรารู้คำสั่งนะคะ ถ้ามีเงื่อนไขเพิ่มเติม เงื่อนไขเพิ่มเติมนะคะ ให้ปรับปรุงตาราง Books โดยที่เงื่อนไขคือตอนนี้เศรษฐกิจไม่ดีแล้วของมันถูก ให้ลดราคาสินค้าลง 50 บาท เฉพาะรหัสสำนักพิมพ์ 12 เท่านั้น เฉพาะบางบริษัทก็ว่าไป อย่างเช่น วันนี้สินค้าราคาลงเฉพาะบริษัทนี้เราก็สามารถเปลี่ยนแปลงราคาลงได้ พิมพ์เพิ่มอีกบรรทัดหนึ่งนะคะ ถามว่าแล้วสินค้าในบริษัทจะเปลี่ยนไหมไม่เปลี่ยนนะคะ เพราะเรากำหนดเงื่อนไขว่าเฉพาะสำนักพิมพ์ 12 เท่านั้นที่ลดราคาลง 50 บาทคำสั่งลบก็ง่าย ๆ ค่ะ DELETE FROM ก็ตามนี้เลยนะคะ ให้ลบข้อมูลจากตาราง Books โดยมีเงื่อนไขคือให้ลบเฉพาะ BookID ที่มีค่า 1010 จากเดิมจะมีตัวนี้แล้วก็ลบออกผลลัพธ์ที่ได้จะเป็นแบบนี้ คือ คำสั่งอย่างง่ายที่เราจะเรียนในสัปดาห์หน้านะคะ เดี๋ยวอาทิตย์หน้าอาจารย์จะเตรียมข้อมูลมาให้นักศึกษาเพิ่มฐานข้อมูลเองพิมพ์เองนะคะ ตั้งค่าคีย์หลักเองกรอกข้อมูลเองทั้งหมด ลองเพิ่มลบข้อมูลลองดึงข้อมูลเป็นรายงานออกมาด้วยตัวเองสัปดาห์นี้จะให้ลองกลับไปทบทวนว่าคำสั่งที่จะใช้ SELECT FROM, DELETE FROM, UPDATE, SET, INSERT INTO อะไรก็ว่าไปมันจะเป็นยังไงบ้างนะคะ หน้าวอร์มนิ้วมือมาให้พร้อม เพราะเราต้องพิมพ์เองเครื่องใครเครื่องมัน เครื่องใครเครื่องมันพิมพ์ภาษาอังกฤษไม่ค่อยคล่องก็จะได้คล่องนี่ล่ะ อาทิตย์หน้านะคะ พิมพ์บ่อย ๆ เพราะว่าการพิมพ์คำสั่ง SQL ง่ายที่สุดแล้วในการเขียนโปรแกรม อาทิตย์นี้ก็จะประมาณนี้นะคะ เดี๋ยวเราอาทิตย์หน้าก็มาให้เร็วหน่อย เพราะว่าเราจะไปปฏิบัตินะคะ ก็ขอบคุณล่ามขอบคุณถอดความนะคะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณมากนะคะ