ได้ยินไหมคะ ได้ยินค่ะ โอเคค่ะ อาทิตย์นี้นะคะ จะเป็นการแนะนำตัวโปรแกรมที่เราจะใช้เขียนระบบจัดการฐานข้อมูลนะคะ ก็จะเป็นโปรแกรมเอาอย่างงายก่อนละกันนะคะ เพราะว่าไอ้ตัวภาษา SQL นี่ มันก็จะมีโปรแกรมที่ใช้งานร่วมกันได้หลายโปรแกรมมาก น่าจะเป็น mysql หรือเป็น oracle แต่มันก็จะใช้ภาษาเดียวกัน คือภาษา html ซึ่งโปรแกรมในเครื่องเราถ้าไม่ได้ติดตั้งเพิ่มเติมเขาจะมีอยู่แล้วนะคะ ก็คือโปรแกรม Microsoft Access นะคะ บันทึกมีความสามารถที่จะพิมพ์คำสั่งภาษา SQL ลงไปได้ด้วย แล้วก็ในส่วนของตัวโปรแกรมนี้เนหน้าตาการทำงานมันจะคล้าย ๆ กับโปรแกรมExcel ที่เราเคยใช้งานกันอยู่แล้ว เก็บข้อมูลในรูปแบบที่เป็นตารางเหมือนกัน เราก็จะได้ทำความเข้าใจกับมันง่ายขึ้นนะคะ โดยตัว Microsoft Access นี่นะคะ ในรูปตัวโปรแกรมมันจะเป็นสีส้ม ๆ นะ มันจะเป็นโปรแกรมจัดการฐานข้อมูลเชิงสัมพันธ์ อย่างที่เราเคยได้วาดรูปไปแล้วว่าแต่ละตารางมันควรจะสัมพันธ์กันยังไงโปรแกรมนี้เนี่ยมันก็จะมีความสามารถทั้งการจัดการฐานข้อมูล แล้วก็สร้างโปรแกรมได้ในตัวเดียวกัน ก็คือเป็นโปรแกรมที่ค่อนข้างครบสำหรับการทำงานฐานข้อมูลเบื้องต้นนะคะ มันเลยเหมาะกับที่จะให้นักศึกษาเรียนรู้ แล้วก็พัฒนาโปรแกรมไว้ใช้งานนะคะ รวมถึงคนที่อาจจะไม่มีความรู้ในการเขียนโปรแกรมมากนักนี่ เขาก็สามารถใช้โปรแกรมนี้ได้เช่นเดียวกันนะคะ เพราะว่ามันก็วิธีการใช้งานก็ค่อนข้างสะดวกแล้วก็โปรแกรมก็ใช้ง่าย คำสั่งไม่ซับซวุ่นวายมากนะคะ หน้าตาตอนสร้างฐานข้อมูลก็จะเริ่มต้นประมาณนี้นะคะ แต่เดี๋ยวเราค่อยไปดูในตัวโปรแกรมกัน มันจะมีส่วนของการทำงานหลัก ๆ อยู่ด้านบนนะคะ แล้วจะเรียกเป็นริบบอนข้างบนนะคะ ในรูปเนี่จะเป็น 10 เกี่ยวกับกันกำหนดโครงสร้างของตารางราคา แล้วก็การกำหนดหน้าจอสำหรับบันทึกข้อมูลหรือแสดงข้อมูลแล้วก็สามารถทำได้การสร้างรายงานอาหารเช่นสมมุติมีรายชื่ออยู่ 1 รายชื่อ เราอยากให้มันออกเป็นรายงานเฉพาะชื่อที่เป็นผู้หญิงเราก็สามารถช่างรายงานออกมาได้เหมือนกัน รวมถึงการสืบค้นการเรียกดูข้อมูลอื่นตามเงื่อนไข แล้วก็สามารถทำได้ส่วนของการสืบค้นเรียกดูข้อมูลนี่ เราจะใช้คำสั่ง SQL คีหลักด้วยตัวเองเราจะไม่ใช้โปรแกรมสำเร็จรูปทุกอย่างเราจะได้รู้เลยว่าเวลาที่เราใช้ภาษา html มันทำงานยังไง โดยตารางที่อยู่ในโปรแกรม access นะคะ รูปแบบของตารางนี่ ซึ่งมันเป็นมาตรฐานของการจัดเก็บข้อมูลในรูปแบบฐานข้อมูลอยู่แล้ว ถ้าเราต้องการจะบันทึก หรือเก็บข้อมูลนี่ เราก็จะต้องสร้างตารางขึ้นมาก่อนถึงจะใช้งานได้เหมือนอาทิตย์ก่อน ๆ ที่อาจารย์ให้ศึกษาลองเปิดโปรแกรมดูนี่ บางคนจะยังพิมพ์อะไรลงไปไม่ได้เลย เพราะว่าเรายังไม่มีตารางนะคะ มันจะดูเหมือนกดอะไรไม่ได้ เพราะเรายังไม่ได้เริ่มสร้างตารางเลย การสร้างตารางในที่นี้นี่ มันก็คือการตั้งชื่อแล้วก็กำหนดโครงสร้างของตารางด้วย ก็คือเราก็จะมีค่าใน Excel มันจะเป็นคอลัมน์ Column ใช่ไหมคะ access ก็เหมือนกันเราก็ต้องโหลดว่า หัว Column แต่ละคอลัมน์ ก็คือฟิลด์นี่แหละนะคะ มันจะมีชื่อว่าอะไรบ้าง แล้วก็คุณสมบัติของข้อมูลที่ต้องบรรจุลงไปในนั้นนี่ มีอะไรนะคะ เช่น เป็นตัวหนังสือเท่านั้น หรือเป็นตัวเลขผสมกับตัวหนังสือ หรือรับเฉพาะค่าตัวเลข ตัวเลขต้องไม่เกิน 10 ตัวอะไรก็ว่าไป รวมถึงต้องกำหนดคีย์หลัก การกำหนดคีย์หลักในโปรแกรม access มันก็ง่าย ๆ กดปุ่มเดียวก็เสร็จเลย แล้วก็ต้องกำหนดความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป ว่ามันจะเชื่อมต่อกันอย่างไรนะคะ ตัวอย่างโครงสร้างของฐานข้อมูลนี้ เราทบทวนอีกรอบนะคะ ที่โชว์อยู่ในหน้าจอตอนนี้ก็คือเราเรียกว่าตารางเนาะมีแถวมีคอลัมน์นะคะ แนวตั้งเรียกว่าคอลัมน์ ถ้าศัพท์ในระบบจัดการฐานข้อมูล ฟิลด์อย่างในตารางนี้จะมีอยู่ 4 Silver คือสีคอลัมน์มี 3 ได้กอดก็คือ 3 แถวข้อมูล อันนี้เป็นตัวอย่างข้อมูลผู้ป่วยนะคะ ไอ้ตัว H M นี่ มันย่อมาจากรหัสป่วยนะคะ Cotton Number แล้วก็จะมีชื่อมีนามสกุลจริงที่อยู่ อันนี้เป็นตัวอย่างการเก็บข้อมูลอย่างง่าย ตัวอย่างง่ายส่วนในโปรแกรมเราจะสร้างตารางนะคะ โดยที่กันเราจะมากำหนดคุณสมบัติ ของคอลัมน์แบบเมื่อกี้นี้ เราจะมากด กดตรงที่ส่วนของการดีไซน์ ก็คือการออกแบบ มันก็ถามว่ายังอยู่ตรงนี้ อันนี้มันเป็นภาษาอังกฤษนะคะ ว่าชื่อคอลัมน์อะไรนะคะ เก็บข้อมูลชนิดอะไร บางทีตัว ID นี่ ถ้าเราไม่ได้กำหนดค่ามันจะเป็นออโต้มันจะเพิ่มไปเรื่อย ๆ ตามจำนวนที่เราเพิ่มเข้ามาแต่เราสามารถระบุเองก็ได้ค่ะ บางทีเราไม่อยากได้ตัวเลข 1 2 3 4 5 ไปเรื่อย ๆ บางทีก็มันอาจจะเป็นอย่างนั้นไม่ได้ทุกระบบนะคะ จะต้องมีตัวหนังสือที่มันมีมาผสมกับตัวเลขรหัสนักศึกษาเรานี่ เข้ามาใหม่แล้ว 1 2 3 4 5 ไปเลยไม่ได้ มันจะต้องกำหนดเฉพาะเล่นขึ้นต้นด้วยปีการศึกษาตามมาด้วยรหัสคณะ ตามมาด้วยรหัสหลักสูตร แล้วค่อยเป็นถึงเลขที่ของเราว่าเลขที่อะไร ตัวอย่างถ้าเป็นการทำงานในการจัดการตารางจริง ๆ นี่ มันจะไม่มีข้อมูลแค่นิดเดียวอย่างที่เราเคยเห็น อย่างนั้นซ้ายนะคะ ก็จะเป็นตัวอย่าง ของตารางทั้งหมดที่มันเอามาเชื่อมโยงกัน มีไม่ต่ำกว่า 20 ตาราง ถ้ามันเป็นระบบงานใหญ่ ๆ งรวมถึงการกำหนดด้วยว่าข้อมูลแต่ละชนิดที่เข้ามานี่ อย่างเช่น ID เขากำหนดให้เป็นตัวเลขให้มันเพิ่มขึ้นไปเรื่อย ๆ อัตโนมัติส่วนเลขประจำตัวผู้ป่วย เขาจะให้กรอกนะคะ แล้วก็จะมีคำอธิบายว่าไอ้คำ คำย่อหรือหัวตารางนี่ ถ้าเป็นภาษาไทยคืออะไร นะคะ ovation คือเลขบัตรเดิมต้องพิมพ์ยหนูไม่จำเป็นต้องพิมพ์ไหมชื่อแรกจำเป็นต้องพิมพ์นามสกุลเราจะกำหนดตรงนี้ด้วยคำอธิบาย ถ้าในส่วนของฐานข้อมูลจะเรียกว่าเป็นพจนานุกรมข้อมูล Data Dictionary ก็คือสิ่งที่เราต้องบอก อย่างสมมุติว่าจะเป็นโปรแกรมเมอร์คนใหม่มาทำงานนะคะ เห็นคำย่อ PT แมรี่คืออะไร มาทำงานต่อจากเขาแล้วเขาไม่เขียนอธิบายว่าคำศัพท์คำนี้ มันคือข้อมูลอะไร ที่ต้องตอบนั่นคือสถานภาพสมรส สมมุติเขาไม่ได้บอกเราไว้เราก็ต้องมากว่าจะทำความเข้าใจได้ว่าสรุปข้อมูลนี้ เขาต้องการข้อมูลอะไรกันแน่เพราะฉะนั้น การเขียนคำอธิบายก็ค่อนข้างจำเป็นเหมือนกันสำหรับการจัดการฐานข้อมูลนะคะ ส่วนด้านล่างเป็นการบอกขนาดของข้อมูลนะคะ เช่นจำนวนเงินเดือน เงินเดือนน่าจะไม่มีแค่ 2 หลัก บางคนเงินเดือนเยอะบางคนเงินเดือนน้อยเราก็สามารถกำหนดได้ว่าเลขที่สามารถกรอกเข้าไปได้นี่ มากขนาดไหน เงินเดือนอาจจะยังไม่เห็นภาพ ถ้าสมมุติว่ามันเป็นคอลัมน์ที่เกี่ยวกับงบประมาณประเทศ ที่ต้องกรอกตัวเลขเยอะ ๆ นะคะ เลข 6-7 หลักมันไม่พอแน่นอน เราก็ต้องมากำหนดต้องดูด้วยว่าข้อมูลที่ใส่ได้ควรจะเป็นข้อมูลขนาดไหน หรือบัตรประชาชนเรามากำหนดเลยว่าให้กรอกได้แค่ 13 หลัก เราก็จะมากำหนดตรง Property ข้างล่างตรงนี้นะคะ การสร้างตาราง โดยใช้มุมมองการออกแบบ มันก็จะมีการกำหนดว่าชื่อของฟิลด์ คือชื่อแต่ละคอลัมน์ควรตั้งชื่ออะไร ควรจะตั้งให้มีความหมาย แล้วก็ไม่ยาวจนเกินไป แล้วก็ห้ามใช้สัญลักษณ์พิเศษ พวกเครื่องหมายคำถาม เครื่องหมายแฮชแท็ก อะไรพวกนี้นะคะ หรือจุด _ ขีดเส้นใต้เราจะไม่ใส่รวมถึงประเทศของข้อมูลนะคะ ก็คือชนิดของข้อมูลที่จัดเก็บในคอลัมน์อยู่ฟิลแน่น ๆ รหัสสินค้ามันควรจะเป็นได้ทั้งตัวเลข และตัวอักษรผสมกัน ส่วนราคานะคะ ควรจะเป็นตัวเลขอย่างเดียวฃ เราไม่พิมพ์เราจะไม่พิมพ์ 500 แล้วก็ใส่ ก ไก่ อีก 2 ตัวแทนได้ 0 มันไม่ใช่ เพื่อน 500 ก็คือเป็นตัวเลขอย่างเดียว ถ้าสมมุติข้อมูลนั้น ๆ จะต้องนำไปคำนวณ ควรจะเป็นข้อมูลชนิดอะไร เช่น อายุ คือเอาวันเดือนปีเกิดไปคำนวณ มันจะต้องเป็นตัวเลขหรือวันที่หรือยอย่างไรนะคะ เราก็ต้องมาพิจารณาข้อมูลพวกนั้นด้วยเช็กวันเข้าทำงานวันแรกจนถึงปัจจุบันเขาทำงานมาแล้วกี่ปี ว่าจะใช้วันที่ในการคำนวณนะคะ เราก็ต้องพิจารณาตัวนี้ด้วย ถ้าสมมุติว่าได้ไปทำฐานข้อมูลด้วยตัวเอง ข้อมูลที่เป็นข้อความหรือว่า Text นะคะ ก็จะเป็นข้อมูลที่เป็นตัวอักษรตัวเลขตัวเลขทำไมถึงบอกว่าเป็น Text ถ้าตัวเลขที่ไม่ได้ใช้ในการคำนวณ เช่น รหัสนักศึกษาพวกคุณเราจะไม่เอามาบวกกันง มันมีผลในการคำนวณนะคะ มันเป็นตัวเลขบอกรหัสเฉย ๆ สัญลักษณ์เครื่องหมาย ก็บางคนอาจจะจำเป็นที่ต้องใส่สัญลักษณ์ คำนำหน้าชื่อบางคนก็ทีมนางสาวบางคนพิมพ์ มันก็จะมีสัญลักษณ์มีเครื่องหมายมีตัวอักขระนะคะ ที่ผสมกันลบตัวเลขก็ตัวเลขนี่ ก็จะมีหลายประเภทเหมือนกันเป็นข้อมูลที่เป็นตัวเลขจะเป็นจำนวนเงินการเก็บเงินก็มีให้เลือกหลายรูปแบบนะคะ ถ้าเราเลือกข้อมูลเป็น Byte ข้อมูลที่เราเก็บได้จะมีแค่ 0-255 เท่านั้น แล้วก็เป็นจำนวนเต็มใส่เป็นทศนิยมไม่ได้นะคะ ข้อมูลที่เป็น integer เป็นค่าตัวเลขระหว่าง - 3 หมื่นกว่า ก็จะถึง 30,000 จำนวนเต็มบวก เป็นเต็มบวกเต็มลบไม่มีจุดทศนิยม ถ้าเป็นรอง inegerเมื่อกี้จากหลักหมื่นมันจะกลายเป็นประมาณ 2000 ล้านเหมาะกับการใส่งบประมาณที่เยอะมาก ๆ หรือข้อมูลเงินใด ๆ ก็ตาม ที่เป็นตัวเลขที่มากกว่า Siธรรมดาขึ้นไปนะคะ Single จะเป็นตัวเลขที่มีจุดทศนิยมนะคะ จะมีค่าไปจนถึงติดลบ เป็นทั้งเพื่อนเป็นทั้ง ๆ ที่เป็นเต็มลบกับเต็มบวก Double ใช้กับตัวเลขที่เป็นจุดทศนิยม อย่างเช่น บางทีเราไปซื้อของเราจะถึงข้างบนเป็นจุดทศนิยมให้เราด้วยแสดงว่าการเขียนโปรแกรม ในการเก็บข้อมูลของเขาเขาแสดงผลจนถึงทศนิยมตำแหน่ง 2 ตำแหน่ง 3 ตำแหน่งก็ว่ากันไป ส่วนมากถ้าเป็นค่าเงินเราจะใช้แค่ 2 ตำแหน่งนะคะ ต่อมา วันที่เวลาว่าจะเป็นการระบุข้อมูลที่มีรูปแบบที่เป็นวันที่ ค.ศ. ลบพ.ศก็แล้วแต่เราจะระบุก็ได้โดยที่มันจะอาจจะเป็นระบบเต็มก็คือจะมีทั้งวันที่แล้วก็เวลา แต่ส่วนมากเราจะใช้แบบวันเดือนปีแค่นั้นนะคะ กับ Yes No questions นะคะ ใช่หรือไม่มันจะเป็นคำถามคำตอบสำหรับข้อมูลที่เป็นตรรกะ ที่มีอยู่ 2 ข้าง ก็คือจริงกับเท็จตอนนี้คุณเป็นนักศึกษา จะถามว่าจริงหรือเท็จ ถ้าเป็นยังเป็นนักศึกษาอยู่ก็ตอบว่า Yes ถ้าเรียนจบแล้วก็จะบอกว่า No นะคะ กลับ OLX นะคะ เพื่อเป็นข้อมูลที่เอาไว้ในการแนบรูปภาพนะคะ ฐานข้อมูลบางอย่างเขาให้เอาแนบรูปภาพด้วย เช่น บางทีเราสมัครจะเป็นสมาชิกสมัครเรียนหนังสือสมัครสอบให้มันแนบรูปภาพแนบใบเสร็จ ถ้าเป็นระบบขายของได้แบบเบ็ดเสร็จโอนเงินเป็นรูปภาพมาด้วยนะคะ ส่วนที่ 3 จะเป็นส่วนของการกำหนดค่า เหมือนที่อาจารย์ให้ดูเมื่อกี้นี้ในภาพนะคะ ก็จะเป็นการบอกขนาดของข้อมูลที่จะเก็บ เรากำหนดได้เลยนะคะ แล้วก็รูปแบบของการแสดงผลข้อมูลจะเป็นอย่างไร การป้อนข้อมูลจะเป็นลักษณะไหน เราสามารถกำหนดได้นะคะ กำหนดคำอธิบายข้อมูล เช่นก่อนที่เราจะกรอกข้อมูลไปนี่ ในระบบบางอันถ้าเราเอาเม้าส์ไปชี้เขาก็จะมีคำอธิบายว่าในช่องนี้ให้กรอกข้อมูลแบบไหน ถ้าเราบอกว่าให้กรอกรหัสบัตรประชาชน พอเอาเม้าส์ไปชี้ ปุ๊บ เขาบอกว่าให้กรอกเลขจำนวน 13 หลักเป็นต้นนะคะ กลับมาจะมีการกำหนดค่าเริ่มต้น เช่น เขาถามวันเกิดส่วนมาก วันเกิดค่าเริ่มต้นของเขาคือจะเป็นวันที่ 1 มกราคมปี 2000 อะไรก็ว่าไปนะคะ ก็จะเป็นค่าเริ่มต้นถ้าคุณไม่ได้เกิดวันนั้น คุณก็เปลี่ยนค่าอื่น เลือกจะเป็นเงินบริจาคถ้าเริ่มต้นจากเป็น 10 บาท ก็จะไปเปลี่ยนค่าก็ได้นะคะ กับการกำหนดเงื่อนไขของข้านะคะ เช่นเงินเดือนจะต้องเป็นบวกเสมอบอกว่าเขาถามเงินเดือนเท่าไหร่คุณจะบอกว่าติดลบ 5,000 ครูยังไม่ได้ทำศุกร์ทำงานแล้วเป็นหนี้ไปเรื่อย ๆ มันก็ไม่ใช่นะคะ ก็ต้องค่าบางค่าบังคับจะต้องเป็นบวกเสมอเช่นอายุต้องเป็นจำนวนเต็มบวกเต็มลบไม่ได้นะคะ กลับตั้งตรวจข้อความที่แสดงหากใส่ข้อมูลไม่ตรงตามเงื่อนไข เช่น อายุเป็น -20 คำสั่งแจ้งเตือนขึ้นมาว่าให้ใส่ข้อมูลที่เป็นค่าบวกเท่านั้นนะคะ ก็จะเป็นแบบนี้เราสามารถกำหนดได้รวมถึงข้อมูลที่จำเป็นต้องตอบจะเว้นว่างไม่ได้ เช่น เลขบัตรประชาชนคุณจะบอกว่าคุณไม่มีเลขบัตรประชาชนเป็นไปไม่ได้ เพราะฉะนั้น ต้องกรอกทุกครั้ง หรืออาจจะเป็นแบบฟอร์มให้สมัครใด ๆ ก็ตามไอ้เลขบัตรประชาชนนี่ จะเป็นข้อมูลที่จำเป็นจะต้องออกเสมอปล่อยวางไม่ได้ การกำหนดค่าคีย์หลักก็ทำได้ง่ายมากถ้าในโปรแกรมก็คือคุณจะเลือกค่าไหน ให้เป็นคีย์หลัก คอลัมน์นาน ๆ หรือฟิลนานแล้วก็กดลูกกุญแจกุญแจจะหมายถึงที่ Primary Key นี่แหละนะคะ เลือกแล้วก็กดมันก็จะเป็นการแจ้งในระบบเลยว่า ไอ้ค่านี้คือค่าคีย์หลักของตารางนี้ กับความสัมพันธ์มันจะเป็นการสร้างความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป โดยที่เราจะมีการพิจารณาเรื่องคีย์นอก ของแต่ละตารางที่มันจะอ้างถึงคีย์หลักของอีกตารางหนึ่งนะคะ อันนี้ก็เดี๋ยวเราจะลองทำในโปรแกรม ว่ามันจะอ้างอิงกันอย่างไร ในตัวโปรแกรมนี่ มันก็จะง่ายมากค่ะ มันก็จะมีตัวให้เรากดได้เลย โปรแกรมค่อนข้างสำเร็จรูปเลยนะคะ เราจะตั้งคีย์หลักอย่างไร อันไหนจะเป็นความสัมพันธ์นะคะ ก่อนที่เราจะทำสิ่งเหล่านี้ได้ เราต้องดูแลว่าตารางที่เราสร้างมันสำคัญเป็นอย่างไร เพราะว่าเราเคยว่า tianma แล้วก็คือเหมือนตัวอย่างที่ใช้ทำร้านหนังสือ ว่าผู้แต่งหนังสือกับหนังสือ เขาควรจะมีความสัมพันธ์เป็นอย่างไร อย่างเช่นตัวอย่างถ้าเราสั่งของสำคัญได้แล้วมันจะเป็นแบบนี้ค่ะ มันจะมีการโยงเส้นของ 2 ตารางให้ดูเลย ว่าตารางนี้กับตารางนี้ เขามีความสัมพันธ์กันอย่างไร ค่ะ 2 ตารางนี้มีความสำคัญแบบ1กลับบ้านกว่า 1อย่างที่ฉันเคยบอกว่าในแต่ละโปรแกรม หรือในแต่ละหนังสือสัญลักษณ์เครื่องหมาค่าจะไม่ใช้ตัวเองเหมือนที่อาจารย์สอนมันเป็นความหมายเดียวกัน คือ 1to many มีความสำคัญมากกว่าหนึ่งกับอะไรนะคะ เพราะฉะนั้น เราหนังสือบางเล่มก็จะเขียนแบบนี้นะคะ ให้เราเข้าใจว่ามันมีความหมายเดียวกันแต่แค่มันต่างกันที่สัญลักษณ์เฉย ๆ ถ้าเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่ง 1 ต่อ 1 บางรูปแบบมันจะไม่เขียนกำหนดไว้เลยเพราะให้รู้ด้วยตัวเองว่ามันเป็นความสัมพันธ์แบบไหนนะคะ 1 to 1 ข้อพิจารณาในการสร้างฐานข้อมูลเราต้องรู้ว่าเราจะสร้างฐานข้อมูลเพื่อมาทำงานเกี่ยวกับระบบอะไรนะคะ เหมือนในตัวอย่าง คือ ร้านเช่าหนังสือร้านขายหนังสือ ในร้านขายหนังสือต้องมีตารางอะไรบ้าง แม่จะไม่มีแค่ 3 ตัวอย่าง 3 ตาราง เทียบตัวอย่างมันมากกว่านั้น คุณจะเช่าหรือคุณจะขายหรือคุณจะมีระบบสมาชิกไหมนะคะ รวมถึงรายละเอียดในตารางข้อมูลจะต้องเก็บอะไรบ้าง เครื่องไหนจะพัง ไฟตกหรืแ ต่อไป ก็ต้องดูว่าในตารางอะไรคือคีย์หลัก ค่าที่ห้ามซ้ำกันในสิ่งที่เราทำได้เนาะ ความสัมพันธ์ของตารางข้อมูลความสัมพันธ์แบบไหนนะคะ มีค่าที่ต้องมาประมวลผลมีการคำนวณไหม เช่น อายุสมาชิกหรือวันเข้าทำงาน ทำงานมากี่ปีเพื่อพิจารณาเงินเดือนและก็ว่าไป การจัดการแสดงผลออกทางหน้าจอเป็นอย่างไร สามารถพรินต์ออกมาเป็นรายงานได้ไหม ข้อมูลเบื้องต้นที่จะใส่ใส่แล้วเป็นอย่างไร เอาไปใช้กับระบบงานอะไร เอาไปผนวกกับแล้วมีปัญหาไหมนะคะ นี่คือข้อพิจารณาในการสร้างฐานข้อมูลขึ้นมาซักระบบหนึ่งค่ะ ระบบเล็ก ๆ ต้องพิจารณาตามนี้ เช่นเดียวกันนะคะ กับก่อนที่เราจะเรียนในโปรแกรม เราต้องมารู้จักคำสั่งที่เราจะสั่งให้ฐานข้อมูลมาทำงานก่อนภาษาที่ใช้ในการจัดการฐานข้อมูลอย่างที่บอกค่ะ aตัวนี้เรียนภาษาอังกฤษ ul นะคะ นก็เป็นเรียนรู้คำสั่งพื้นฐานสำหรับสร้างโครงสร้างของฐานข้อมูลคำสั่งในการเรียกดูข้อมูลคำสั่งสำหรับการปรับปรุงข้อมูล เพิ่ม ลบแก้ไข ช่อง 9นะคะ ซึ่งภาษา SQL เนีเป็นภาษาทางด้านฐานข้อมูลที่ได้รับความนิยมมากที่สุดเ ป็นชุดคำสั่งที่ใช้ในการจัดการฐานข้อมูลแล้วก็ข้อมูลในฐานข้อมูล กลุ่มคำสั่งของภาษา html จะมี 3 กลุ่มคำสั่ง คำสั่งแรกก็เขียนคำสั่งที่ใช้สำหรับการสร้างฐานข้อมูล โครงสร้างฐานข้อมูลด้วย นะคะ กำหนดโครงสร้างของตาราง กลุ่มที่ 2 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับเพิ่ม ลบ เปลี่ยนแปลงข้อมูลขึ้นเป็นการปรับปรุงข้อมูลนั่นเอง ส่วนกลุ่มที่ 3 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับสร้างแล้วก็กำหนดโครงสร้างจากตารา งอันนี้ก็จะเป็นภาษาที่ไม่ได้แค่สำหรับนิยามข้อมูล เป็นการสร้างด้วยนะคะ อย่างในสไลด์อาจารย์วันนี้นี่ ถ้าเราเห็นทรงกระบอกแบบนี้นี่ ถ้าในหนังสือหรือว่าในทางถึงสกลนี่ เขาจะรับรู้ได้เลยว่าถ้าเราใส่รูปทรงกระบอกแบบนี้ สัญลักษณ์ใดที่เป็นโครงสร้างทางคอมพิวเตอร์ เขาจะรู้เลยว่านี่ คือฐานข้อมูลนะคะ ส่วนผลลัพธ์ถ้าเป็นรูปภาพแบบนี้ ก็แสดงว่าเป็นการแสดงผลรายงานนะคะ อันนี้ก็เวลาคุณไปอ่านหนังสือ ดูหนังสือเล่มอื่นเขาเขียนแบบนี้นี่ ไม่เข้าใจว่าก่อนที่จะออกจากฐานข้อมูลใช้คำสั่ง เรียกดูรายงานออกมาคนละคนรายงานเป็นอย่างไรนะคะ อันนี้เป็นโครงสร้างคำสั่งภาษา SQL สำหรับการสืบค้นนะคะ คำสั่งที่ใช้ในการสืบค้น คำสั่งที่ใช้บ่อยที่สุดก็คือคำสั่ง SElect s-e-l-e-ct นักศึกษามงคลเวลาพิมพ์ทำไมคนรับไม่ได้ เหมือนเพื่อนมันพิมพ์ผิด บางครั้งก็ตกใจ ไม่ต้องตกใจผลลัพธ์ไม่ออกมา เรามานั่งไล่ดูก่อนว่าเราพิมพ์อะไรผิดไปหรือเปล่า ลืมสัญลักษณ์อะไรไหม ตกทำอะไรหรือเปล่านะคะ มาเช็กด้วยคำสั่งพื้นฐานจะขึ้นต้นด้วย Select ตามมาดูฟอร์ม SEก็คือเราจะเลือกว่าเราจะแสดงผลข้อมูลอะไรอย่างที่บอกนะคะ ต้องพยายามภาษาอังกฤษนิดหนึง เขาว่ามันจำเป็นนะคะ ก็คือเราจะเลือกข้อมูลจากตารางไหนนะคะ หมายถึงว่ามีเงื่อนไขในการค้นหาว่าอย่างไรบ้าง ข้อมูลจะถูกรวมเป็นข้อมูลเดียวกันหรือไม่ มีเงื่อนไขอะไรอีกไหมรวมถึงการจัดเรียงอย่างไรนะคะ เดี๋ยวจะมีตัวอย่างคำสั่งให้ดู ที่นี่ดูตัวอย่างคำสั่งไปก่อนอันนี้เป็นตัวอย่างคำของข้อมูลนะคะ สไลด์หลังจากนี้ไปเราจะดูคล้าย ๆ แบบนี้ เหมือนกันมีตารางอยู่ 2 ตารางนะคะ ตารางแรกเป็นตารางหนังสือ ตารางที่สจะเป็นตารางสำนักพิมพ์นะคะ ตารางแรกก็จะมีรหัสหนังสือชื่อหนังสือรหัสสำนักพิมพ์ ราคานะคะ ตารางที่ 2 จะเป็นตารางสำนักพิมพ์ มีรหัสสำนักพิมพ์แล้วก็ชื่อสำนักพิมพ์นะคะ คำสั่งจะแสดงผลมุมบนขวาตรงนี้ ส่วนผลลัพธ์ที่ได้จากคำสั่งภาษา html จะอยู่ในด้านล่างนะคะ ตัวอย่างคำสั่งในการสืบค้นข้อมูล 1 ตาราง คำสั่งที่ง่ายที่สุดคือ SELECT*FROM นะคะ เวลาอ่านคำสั่งเราจะดูพรุ่งนี้นะคะ พรุ่งนี้ขึ้นต้นคำสั่งว่าอะไรอยู่ตรงนี้ ตัวอย่างการสืบค้นจาก 1 ตารางนะคะ * หมายถึงว่าเอาข้อมูลทุก ๆ คอลัมน์ หรือเราจะสามารถระบุได้ว่าเราจะเอาข้อมูลเฉพาะคอลัมน์ไหน จากตารางอะไรนะคะ ตัวอย่างเช่นตัวนี้นะคะ ให้แสดงผลข้อมูลทุกแถวและทุกคอลัมน์ คำสั่งก็คือ SELECTครื่องหมายดอกจันจะเป็น Star นะคะ select * from Book ก็คือเอาข้อมูลทุกแถวทุกคอลัมน์ตาราง book ผลลัพธ์ที่ได้ก็แสดงผลข้อมูลทั้งหมดที่อยู่ในตาราง Book นั่นเอง ถามว่าคำสั่งนี้ใครสั่ง บางครั้งอาจจะเป็นคนที่ดูแลฐานข้อมูลหรือผู้ใช้งาน ต้องการจะเรียกดูข้อมูลในลักษณะนี้ คำสั่งที่เกิดขึ้นที่สั่งให้คอมพิวเตอร์ทำงานก็คือ select*from อันนี้คือ select* คือเอาทุกแถวทุกคอลัมน์ แล้วถ้าเราไม่เอาทุกแถวทุกคอลัมน์ล่ะเรากำหนดได้ไหม กำหนดได้ค่ะ คำสั่งต่อมา fences ก็คือเรื่องชื่อ กลับราคาจากตาราง book ผลลัพธ์ที่ได้จากคำสั่งนี้ ว่าจะแสดงผลเฉพาะชื่อราคา ของหนังสือเท่านั้นเพราะ ว่าอย่างที่เคยบอกมุมมองของผู้ใช้งานแต่ละคนไม่เหมือนกันบางคนอยากดูข้อมูลทั้งหมดบางคนอยากดูข้อมูลแค่ 2 อย่างสามารถทำได้ไหม ทำได้ค่ะ ดูข้อมูลอย่างเดียวก็ทำได้ แค่เราต้องบอกให้ถูกว่าคุณอยากดูข้อมูลจากตารางไหน ขอรับเมื่อไหร่ระบุไป ระบบจัดการฐานข้อมูลมันก็จะดึงข้อมูลที่มาให้เราดูนะคะ ถ้าเป็นการสืบค้นแบบมีเงื่อนไขล่ะ แค่เอาคอลัมน์ล่ะมันไม่พอล่ะ เราอยากเพิ่มเงื่อนไขคำสั่งที่ในการใช้ในการเพิ่มเงื่อนไขคือคำสั่ง where นะคะ เป็น select from Where ไล่ระดับลงมา โดยมีเงื่อนไขเงื่อนไขในการเปรียบเทียบเวลาเปรียบเทียบนะคะ ดูสัญลักษณ์ตรงนี้ มันจะเป็นมากกว่านะคะ มากกว่าเท่ากับน้อยกว่านะคะ น้อยกว่าเท่ากับ มากกว่าเท่ากับ อันนี้ไม่เท่ากับนะคะ อันนี้เป็นเท่ากับมากกว่า น้อยกว่านี้ค่ะ ทำตัวคั่นให้ หรือการรวบรวมเป็นและเป็นหรือคล้าย ๆ กับวิชาคณิตศาสตร์ ที่เราเคยเรียนไปแล้วเป็นการปฏิเสธ เช่น ไม่เอาข้อมูลนักศึกษาชายอะไรอย่างนี้ ตรวจสอบค่าของข้อมูลว่างให้มันตรวจดูสิว่าข้อมูลตรงไหน มีช่องว่างข้อมูลตัวไหนหายไป ตรวจสอบเป็นช่วง เช่น ช่วงอายุระหว่าง 15 ถึง 18 ปี หรือในชื่อใครมีชื่อมี จ จาน มีรายชื่อใครมีสระเอ ตรวจสอบข้อความ เช่นในข้อความนั้น มีคำว่านายก็คนที่มีคำขึ้นต้นว่านายทั้งหมดอะไรก็ว่าไปนะคะ มันจะมีการเปรียบเทียบเงื่อนไขด้วยนะคะ อาจารย์ไปแล้วนะคะ เท่ากับมากกว่า น้อยกว่า มากกว่าเท่ากับ น้อยกว่าเท่ากับ ไม่เท่ากับนะคะ อย่างตัวอย่าง การค้นหาแบบมีเงื่อนไข แต่แรกคือให้เอามาแสดงผล เฉพาะชื่อ ราคาจากตาราง book โดยที่มีเงื่อนไขคือราคาน้อยกว่า 1000 เงื่อนไขแรกคือแสดงผลเฉพาะชื่อกับราคานะคะ แล้วเงื่อนไขต่อมาคือราคาน้อยกว่า 1,000 บาท มาดูที่ราคาค่ะ มีน้อยกว่า 1,000 มีน้อยกว่า 100 น้อยกว่า 1 1000 แสดงผลไหมคะ ไม่แสดงผล 1950 แสดงผลไหม ไม่แสดงผล เพราะฉะนั้น ส่วนที่มันจะแสดงผล มีอยู่ 5 แถว แต่มันจะเลือกแสดงผล แค่ชื่อกับราคาเท่านั้นอันนี้คือคำสั่ง ผลลัพธ์ที่ได้ก็จะเป็นตัวนี้นะคะ วันนี้เดี๋ยวเราจะลองทำสัปดาห์หน้า อันนี้ทำให้ดูภาพก่อน คราวนี้ก็ขายเหมือนเดิมค่ะ แต่ต่างกันตรงที่ว่า คำสั่งเปรียบเทียบเป็นน้อยกว่าเท่ากับ 1000 แสดงว่าเล่มที่มีราคา 1,000 มันก็จะมาแสดงผลด้วย เพราะฉะนั้น ต้องดูคำสั่งเปรียบเทียบดี ๆ ว่า เขาเอาน้อยกว่า หรือน้อยกว่าเท่ากับ นะคะ เหมือนที่เวลาเราค้นหาสินค้าในเว็บไซต์ขายของออนไลน์ เอาให้มันจัดเรียงตามราคา ก็ใช้คำสั่งนี้ล่ะค่ะ ในการจัดเรียงว่าเราอยากได้สินค้าราคาที่น้อยที่สุด ไปหามากที่สุดไม่เกิน 2,000 บาท เขาก็จะเตรียมมาให้ ใช้คำสั่งนี้ล่ะค่ะ ที่มันดึงข้อมูลจากฐานข้อมูลมาแสดงผลให้เรา เมื่อก่อนเราเป็นแค่ผู้ใช้งานเราไม่รู้ว่าข้างในมันน่ะ เขียนอย่างไร วันนี้เรารู้แล้ว ว่าคำสั่งคอมพิวเตอร์มันว่าอย่างไร ต่อมา เป็นคำสั่งเดิมแต่เปลี่ยนเงื่อนไข ก็คือให้ราคาไม่เท่ากับ 1,000 ก็เท่านั้น ก็จะแสดงผลหนังสือทุกเล่ม ยกเว้น เล่มที่มันมีราคา 1000 ไม่แสดงผล ดูดี ๆ นะคะ เงื่อนไขตรงนี้เอง ต่างกันแค่นี้เองนิดเดียว ถ้าสมมุติว่าในข้อสอบถามว่าผลลัพธ์ที่ได้จากคำสั่งนี้แสดงผลอย่างไร นักศึกษาก็ต้องเขียนออกมาให้อาจารย์ดูได้ว่าจากคำสั่งนี้ผลลัพธ์ที่ได้ควรจะเป็นอย่างไร อันนี้มันมีแค่เงื่อนไขเดียว แต่ถ้ามันมีหลายเงื่อนไขล่ะ นะคะ มันสามารถทำได้หลายเงื่อนไขไหมได้ ก็จะมีเงื่อนไขที่เพิ่มขึ้นคือ and หรือ or ก็คือต้องเป็นไปตามเงื่อนไขทั้งหมด OR ก็คือเป็นไปตามเงื่อนไขอย่างใดอย่างหนึ่งนะคะ อย่างตัวนี้คำสั่งแล้วดูก่อนเลยอย่างแรกเป็น OR ให้เลือกแสดงผลข้อมูลเฉพาะชื่อกับราคาจากตาราง book โดยมีเงื่อนไขคือราคามากกว่า 500 หรือรหัสสำนักพิมพ์น้อยกว่า 12 มาดูนะคะ เงื่อนไขแรกราคามากกว่า 500 มีอยู่ 2 เล่มนะคะ แล้วก็รหัสหรือรหัสสำนักพิมพ์น้อยกว่า 12 อันนี้ อันนี้ เพราะฉะนั้น จะแสดงผล 5 เล่มนะคะ ถามว่าทำไมอันนี้ มันราคาไม่เกิน 500 นี่ ทำไมมันแสดงผล ก็บอกว่ารหัสสำนักพิมพ์มันน้อยกว่า 12 มันก็เลยแสดงผลด้วยนะคะ เป็น 5 เล่ม ซึ่งแตกต่างจากตัวอย่างต่อมา AND ก็คือถ้ามันมีเงื่อนไข 2 ข้อมันจะต้องดู ทั้งเงื่อนไขทั้ง 2 ข้อ อันนี้คือมันมีเงื่อนไข 2 ข้อก็จริง แต่ว่ามันสามารถเป็นได้ทั้ง 2 ข้อ โดยที่มันสามารถเลือกได้ แต่จะต้องเข้าตามเงื่อนไขทั้ง 2 ข้อ เป๊ะ ๆ เท่านั้นเงื่อนไขก็คือให้ราคามากกว่าเท่ากับ 500 และราคาน้อยกว่าเท่ากับ 1000 ก็คือเป็นช่วงนั่นเอง ว่าจะมีเล่มนี้ 500 เล่มนี้ 1,000 ถามว่าเล่มนี้ได้ไหม ไม่ได้ เพราะมันเกิน 1,000 เล่มนี้ได้ไหม ไม่ได้ เพราะมันน้อยกว่า 500 เพราะฉะนั้น ผลลัพธ์ที่ได้ก็มีแค่ 2 เล่ม เพราะมันตรงเงื่อนไขนะคะ และมีเงื่อนไขมากกว่านี้ไหม มีได้ค่ะ เป็นได้ทั้ AND และ ฯฑ นะคะ ถ้าอันไหนเป็นอันนี้คือจะต้องตามเงื่อนไขนั้นอย่างเดียวเท่านั้นเช่นราคามากกว่าเท่ากับ 500 มีเล่มไหนบ้าง มีเล่มนี้ มีเล่มนี้ หรือ pID ก็คือรหัสสำนักพิมพ์เท่ากับ 4 เท่ากับ 4 มีเล่มไหนบ้าง มีเล่มนี้หากมีเล่มนี้มีเล่มมีทำไมถึงเอาเพราะมันเป็นคำสั่ง OR ก็คือสามารถยอมรับได้นะคะ ลักษณะขนมา 5 เล่ม อันนี้เป็นเงื่อนไข แต่ว่ามันก็จะมีวิธีการเขียนให้มันสั้นกว่านี้อยู่ เดี๋ยวดูไปมีอีกหลายตัวอย่างนะคะ จับตัวมาเป็นเงื่อนไขในการปฏิเสธ ก็คือไม่เอา นะคะ คือคำสั่ง not เช่น คำสั่งนี้เงื่อนไขคือ ไม่เอารหัสสำนักพิมพ์ที่มีค่าเท่ากับ 4 อันนี้ตัดไป ตัดไป ตัดไป เพราะฉะนั้น แสดงผลที่เหลือได้ ๆ อย่างเช่น เราหาซื้อของออนไลน์ไม่อยากได้สีแดง เราก็เลยว่าไม่เอาสีแดง มันก็แสดงผลสินค้าที่เหลือมาให้นะคะ หรืองานหาถ้าว่าง หรือการไม่มีค่าในข้อมูลนั้น ๆ เช่นลองดูสิว่าในราคานี่ ในส่วนของราคามีอะไรเป็นค่าว่างบ้าง NULL ตัวนี้แปลว่าค่าว่างนะคะ ถ้าว่างตัวนี้ มีอยู่เล่มเดียวที่ไม่มีข้อมูลสำนักพิมพ์ไม่มีข้อมูลราคามีเล่มเดียว อันนี้เอาไว้เช็กว่าข้อมูลเรามีข้อมูลอะไรหายบ้างหรือเปล่า ก็สามารถให้คอมพิวเตอร์มันเช็กให้เราได้นะคะ ในทางกลับกันให้มันเช็กว่ามีข้อมูลอะไรบ้าง ที่ไม่ใช่ค่าว่าง ก็ใช้คำสั่งที่ใกล้เคียงกันแค่นั้นเอง เพราะฉะนั้น ภาษาอังกฤษคนข้าง ๆ ค่ะ เป็นคำง่าย ๆ พยายามลองแปลดูคำศัพท์ ก็ไม่ใช่คำศัพท์ที่ซับซ้อนอะไรมากนะคะ ที่ใช้ในการจัดการฐานข้อมูล เมื่อกี้เราใช้ and ใช้ OR นะคะ มันพิมพ์ค่อนข้างยาว เราจะเปลี่ยนใหม่เป็นคำสั่ง Between นะคะ ก็คือระหว่างเท่าไร ถึงเท่าไรนะคะ เทียบกันดูนะคะ ถ้าเราใช้คำสั่งนี้นะคะ ให้แสดงผลคอลัมน์นะคะ ที่มีค่าระหว่าง 10 ถึง 20 เราพิมพ์แค่นี้เอง แต่ถ้าเราไม่ใช้เราจำคำสั่ง BETWEEnแต่ไม่ได้พิมพ์ยาวมากแบบนี้นะคะ คำสั่งตัวนี้ มันเลยทำให้เราทำงานได้เร็วขึ้น พิมพ์น้อยลงอย่างเช่นตัวนี้ เงื่อนไขคือให้เลือกสืบราคามาโดยที่มีเงื่อนไข คือราคาอยู่ในระหว่าง 500-1000 มีกี่เล่มค่ะ มี 2 เล่ม 500 กับ 1000 พิมพ์สั้นลงเยอะเลยนะคะ พิมพ์สั้นลงเยอะเลย เงื่อนไขคือราคาไม่อยู่ในช่วงระหว่าง 500 ถึง 1000 มีอะไร 500 ตัดออก 1000 ตัดออก เพราะฉะนั้นผลลัพธ์ที่ได้ก็จะมีอยู่ ทุกเล่มเลย ยกเว้นเรื่องที่ราคา 500 กับ 1,000 นะคะ หรือน่าจะค้นหาข้อมูลตามค่าที่เราต้องการนะคะ เราจะใช้คำสั่งเงื่อนไขเพิ่มเติมข้างล่างคือ in I-N ตัวนี้นะคะ เช่นข้อมูลที่เราต้องการ ก็คืออาจจะมีตัวเลขให้หาตัวเลขคี่ระหว่าง 1-10 นะคะ ผลลัพธ์ที่ได้จะเป็น 1 3 5 7 9 นี้เราทราบอยู่แล้วเลขจำนวนคี่ระหว่าง 1-10 นะคะ ชื่อคนที่ขึ้นต้นด้วย ส เสือ ม ม้า มีอะไรบ้าง สมชาย สมพงษ์ สมศักดิ์ อะไรก็ว่าไป สมมติฐานข้อมูลนะคะ ทุกอย่างก็คือเงื่อนไขให้แสดงชื่อหนังสือกับราคาที่ราคาหนังสือ IN มีค่า 250หนังสือเล่มละ 500 150 ผ่านเล่นไหนบ้างมี 250 มีไหมมี 1 เล่ม500 มีไหม 500 มี 1 เล่ม 750 มีไหม ไม่มี 1000 มีไหมเพราะฉะนั้น แสดงผล 3 เล่ม ถามว่าเราค้นหาไม่เจอ แล้วมันเกิดอะไรขึ้นไหม ไม่เจอก็คือไม่เจอนะคะ ก็แสดงว่าในฐานข้อมูลเราไม่มีหนังสือเล่มละ 750 แค่นั้นเองนะคะ หรือการค้นหาหนังสือที่ราคาไม่อยู่ในราคาที่ 250 250 ออกไปไม่เอา 500 เอาไหม ไม่เอา750 ไม่มี มี ตัดออก เพราะฉะนั้น แสดงผลหนังสือเล่มที่เหลือ เพราะเขาบอกเขาว่าไม่เอาหนังสือราคา 250 ไม่เอา 500 ไม่เอา 750 ไม่เอา 1,000 อย่างนั้นก็แสดงผลค่าที่เหลือ แค่นั้นเองคือการตัดออกนะคะ คราวนี้เป็นการระบุราคาไปแล้ว เราจะระบุเป็นข้อความนะคะ เป็นตัวอักษรก็ได้ จากเมื่อกี้เป็นคำสั่ง in คราวนี้จะเป็นคำสั่ง like Like เหมือนกดไลก์นี่แหละนะคะ ก็จะเป็นคนการค้นหาส่วนของข้อความ บางครั้งเราจะไม่ได้พิมพ์ชื่อเต็ม ๆ ของเขา อาจจะเป็นส่วนของชื่อก็ได้ เช่น จำชื่อเขาไม่ได้เขาน่าจะชื่อสม ๆ พงษ์ ๆ อะไรประมาณนี้ ซึ่งมันเป็นส่วนของคำของชื่อของคนที่ชื่อว่าสมพงษ์อาจจะจำคำชื่อขึ้นต้นเขาไม่ได้ จำได้บางส่วนสามารถค้นหาได้เหมือนกันบางคนอาจจะพิมพ์คำว่าไมโครซอฟท์ จำไม่ได้ก็สามารถค้นหาได้เหมือนกันเป็นบางส่วนของข้อความ การค้นหาส่วนของข้อความใด ๆ โดยที่ไม่จำกัดตัวอักษรเราจะใช้เป็นตัวเปอร์เซ็นต์หรือตัว Star เป็นดอกจันตัวนี้ก็ได้ เราจะใช้เป็นอันเดอร์สกอร์หรือเครื่องหมายคำถาม ถ้าในส่วนของโปรแกรม Microsoft Access เราจะใช้เป็นเครื่องหมายคำถาม หรือเป็นวงเล็บวงเล็บเป็นสี่เหลี่ยมแบบนี้นะคะ ก็คือให้ตัวอักษรใดที่ปรากฏในช่องต้องเป็นตัวอักษรนั้นเท่านั้น แต่ถ้ามีเครื่องหมายตกใจ มันจะเป็นการบอกว่าไม่เอาตัวอักษรนั้นนะคะ หรืออาจจะเป็นช่วงตัวอักษรก็ได้ เดี๋ยวดูตัวอย่างเลยแล้วกันมันจะได้เห็นภาพนะคะ อย่างเช่นเงื่อนไขคือให้ค้นหาชื่อหนังสือราคาจากตลาดหนังสือโดยที่ชื่อหนังสือนะคะ ขึ้นต้นด้วย N ตามด้วยอะไรก็ได้ ถ้าเป็นเครื่องหมายดอกจันตัวนี้คือขึ้นต้นด้วยตัวหนังสือ นั้น ๆ ตามด้วยอะไรก็ได้ ในตารางเราต้องดูสิคะ ต้นด้วยตัว N ชื่อมี 2 ชื่อเพราะฉะนั้น แสดงผล 2 อันขึ้นต้นด้วยตัว N อันอื่นไม่ได้ขึ้น N แล้วหายตัวมาหาชื่อหนังสือที่ขึ้นต้นด้วยอะไรก็ได้ลงท้ายด้วยอะไรก็ได้แต่ในชื่อนั้นมีตัว Cเมื่อไหร่ก็ได้ค่ะ ขึ้นต้นด้วยอะไรก็ได้ค่ะ ลงท้ายอะไรก็ได้ แต่ในคำนั้นน่ะต้องมีตัว C อันแรกชื่อแรกมีไหมคะ ไม่มี ชื่อที่ 2 มีตัว C ตรงตามเงื่อนไขไหม เมื่อไหร่ก็ได้ลงท้ายด้วยอะไรก็ได้ แต่มีตัว C หนังสือมามีไหมมีตัว C อันนี้ก็มีนะคะ ตัวนี้ถามว่าได้อย่าไร ก็มันขึ้นต้นด้วยอะไรก็ได้อาจจะขึ้นตัวสีก็ได้ขอให้มีตัว C เป็นประกอบ เพราะฉะนั้น ก็จะมีหนังสืออยู่ 4 เล่ม4 เล่มนี่ คือผลลัพธ์ เพราะฉะนั้น บางทีนี่ อาจารย์ยักษ์ค้นหาชื่อนักศึกษานะคะ ชื่อจริงเขาไม่ได้จำได้เข้ามีคำว่า พร ในสักอย่างอะไรเงนะคะ ฐานข้อมูลก็สามารถค้นหาข้อมูลให้เราได้เช่นเดียวกันนะคะ รู้อย่างนี้จะเริ่มสังเกตแล้ว ว่าทำไมมันมีเครื่องหมายคำถามแล้วก็ดอกจัน ถ้ามีเครื่องหมายคำถามตัวนี้ หมายความว่าข้างหน้าตัว E 1 ตัวอักษรเท่านั้น 1 ตัวตามหลังตัว E เป็นกี่ตัวก็ได้มาดูเงื่อนไขกันเลยนะคะ ถามว่าในหนังสือเล่มนี้ ได้ไหม ไม่ได้เพราะตรงก่อนหน้าตัว E มีตัวหนังสือก่อนหน้า 5 ตัว ซึ่งผิดเงื่อนไขถ้าเป็นเครื่องหมายคำถาม ตัวหนังสือที่นำหน้าตัวเองจะต้องมีแค่ 1 ตัวเท่านั้นนะคะ เล่มนี้ล่ะ มี แต่ก่อนหน้าตัวเองมีหนังสือ ตัวหนังสือเยอะเลยก็ไม่ได้นะคะ เล่มนี้ได้ไหม ขึ้นต้นด้วย 1 ตัวอักษร ตามหลังด้วย ได้ คืนนี้ไม่มีนะคะ เล่มนี้ก็ไม่ได้ เล่มนี้ได้ ขึ้นต้นด้วย 1 ตัวก่อนว่าตัวเองแค่นั้น เพราะฉะนั้น มีแค่ 2 เล่มนี้ก็ไม่ได้เพราะก่อนหน้าตัว E มีดวงซื้อมากกว่า 1 ตัวนะคะ ผิดเงื่อนไข เงื่อไขต่อมานะคะ เงื่อนไขว่าให้ชื่อหนังสือขึ้นต้นด้วยตัว N หรือตัว O ตามหลังด้วยอะไรก็ได้นะคะ จะมีกี่เล่มเล่มนี้ ขึ้นต้นด้วยตัว N ได้ไหม ได้มีตัว O ไหมวีดีโอ 1 เล่มก็แสดงผลหนังสือ 3 เล่มนะคะ อันนี้เป็นการดูเงื่อนไขเลยเดี๋ยวอาทิตย์หน้าพวกคจะต้องไปทำเองอาจารย์อาจจะให้คุณสร้างแล้ว ก็อาจจะกำหนดว่าให้คุณลองพิมพ์เงื่อนไขตามนี้ดูและให้แสดงผลตามที่อาจารย์กำหนดคุณก็ต้องพิมพ์คำสั่งให้ถูก เช่นข้อมูลสัปดาห์หน้าอาจารย์อาจจะบอกว่าให้แสดงผลคนที่ขึ้นต้นชื่อด้วย ส เสือ กับตัว อ.อ่าง อาทิตย์หน้านักศึกษาก็ต้องทำได้นะคะ เพราะว่าอาทิตย์นี้มีตัวอย่างแล้วนะ เงื่อนไขต่อมาชื่อหนังสือที่ไม่ขึ้นต้นด้วยตัว n ตามหลังด้วยอะไรก็ได้ ก็หลายเล่มเลยนะคะ เล่มนี้ เล่มนี้ เล่มนี้ แล้วนิ แค่นี้เอง ต่อมา จะเริ่มเป็นการปรับปรุงฐานข้อมูล จะเป็นการกำจัดข้อมูล ที่อาจจะมีการซ้ำกันเกิดขึ้นก็คือรายการซ้ำนะคะ มี 2 คำสั่ง ว่าจะมีการใช้คำสั่งที่อาจจะกำจัดรายการข้อมูลซ้ำให้เหลือรายการเดียว โดยใช้การกำหนดค่าต่าง ๆ เป็นเกณฑ์ คำสั่งค่าต้องมาเป็นดิสทิ้งตัวนี้ก็ลบทิ้งทั้งแถวขอดูตัวอย่างการนะคะ โดยคำสั่งก็คือให้เลือกกำจัดชื่อซ้ำ ชื่อที่ซ้ำนะคะ จากตาราง Student ดูในตาราง student ในช่องชื่อ ชื่อนะคะ อันไหนชื่อซ้ำ มีซ้ำ 1 คน ชื่อแดง เพราะฉะนั้น การแสดงผลว่าจะเป็นแค่ 3 ชื่อ ที่เหลือเพราะว่าแดงมีซ้ำ 3 คน เราจะตัดให้เหลือแค่หนึ่งแดงเท่านั้น ข้อมูลอย่างอื่นเราไม่สนใจมันแค่อยากรู้ว่าคนที่ชื่อซ้ำกันนี่ ตัดชื่อซ้ำออกนะคะ อันนี้คือคำสั่ง กับให้ตัดข้อมูลทิ้งทั้งแถวนะคะ อย่างตอนนี้ ถ้ามันซ้ำกันจริง ๆ ถ้านักศึกษาสังเกตดี ๆ คนชื่อแดงซ้ำกันก็จริงนะคะ แต่นามสกุลนี่ ไม่ซ้ำกัน แต่จะมีอันนี้ ที่ซ้ำทั้งชื่อทั้งนามสกุล ถ้าใช้คำสั่งนี้นะคะ มันจะตัดข้อมูลที่ซ้ํากันทั้งแถวออก อันนี้ก็คือเดี๋ยวเราไปดูในโปรแกรมจริง ๆ ดีกว่านะคะ ตัวอย่าง มันอาจจะยังดูเห็นภาพไม่ชัด มันจะดูน้อยไป เดี๋ยวอาทิตย์หน้าเราได้ทำของจริงนี่ เราจะได้ทำเยอะกว่านี้นะคะ ต่อมาจะเป็นการเรียงลําดับข้อมูลนะคะ ก็จะใช้คำสั่ง Order by นะคะ ก็คือการเรียงลำดับนะคะ ก็คือให้แสดงผลข้อมูลทั้งหมดจากตาราง book โดยให้เรียงลำดับตามราคาถ้าเราไม่สั่งเพิ่มเติม มันจะเป็นการเรียงจากน้อยไปหามากนะคะ คำสั่งนี้คือ Order by Price คือให้เรียงลำดับจากราคาน้อยไปหามาก ศัพท์ใหม่จะเปลี่ยนตามลำดับที่เราสั่งแต่ถ้าเรา อยากแย่งจากมากไปหาน้อยเราจะต้องระบุเพิ่มได้ว่า besc ตรงนี้นะคะ มันจะหมายถึงว่าให้เราเรียงลำดับตามราคาก็จริงให้หน่อยจากราคามากไปหาราคาน้อยนะคะ ต้องบอกด้วยเว็บในการซื้อของออนไลน์ค่ะ เหมือนกันไส้ในของโปรแกรมมัน คือคำสั่งที่เราเรียนวันนี้นะคะ นักศึกษาจะได้เข้าใจ เพราะต่อไปเราจะไม่เป็นแค่ผู้ใช้งานแล้ว อาจจะได้เป็นผู้ดูแลระบบด้วยนะ มาแล้วจะมีฟังก์ชันการคำนวณทางคณิตศาสตร์ที่เกิดขึ้นในการจัดการฐานข้อมูลด้วยอาจจะเป็นฟังก์ชันสำหรับการบวกการนับการหาค่าเฉลี่ยนะคะ ไอ้ avg ตัวนี้มันย่อมาจาก average คือการหาค่าเฉลี่ยนะคะ หาค่าน้อยที่สุด ค่ามากที่สุด อันนี้เป็นคณิตศาสตร์ ก็ต้องมาใช้ด้วยนะคะ อย่างเช่นให้รวมราคาทั้งหมด แล้วให้ตั้งชื่อคอลัมน์ใหม่ชื่อว่า sumprice กว่านี้ให้รวมราคาทั้งหมดใส่ในคอลัมน์ใหม่ฟิลด์ใหม่จากตาราง Book เพราะฉะนั้น ผลลัพธ์จากคำสั่งนี้ก็คือการเอายอดรวมราคาหนังสือทั้งหมด มาบวกกันถ้าได้ผลลัพธ์ตัวนี้นะคะ ก็ไม่ยาก ถ้าเราจำคำสั่งได้ทั้งหมดเล ยมีบวกแล้วก็ต้องมีนับให้นับจำนวน จากรหัสหนังสือทั้งหมดจากตาราง book โดยให้ชื่อคอลัมน์ใหม่ชื่อว่า count book ก็คือให้นับจำนวน Book ID คือหนังสือทั้งหมดนะคะ มีกี่เล่มมันก็รับมาได้ 7 เล่ม อันนี้คือมันง่าย มันมองมันเรามองดูด้วยสายตาแล้วก็รู้ หาข้อมูลมันเยอะกว่านี้ล่ะ แล้วคุณจะรู้ได้ไง ว่าตอนนี้มันยังมีหนังสือกี่เล่มสมุดว่าให้คุณดูแลระบบ จัดการห้องสมุดทั้งหมดของมหาลัย มันไม่สามารถยืนดูที่หน้าประตูแล้วบอกได้ ว่าเรามีหนังสือกี่เล่มใช่ไหมคะ มันก็ต้องบวกจากฐานข้อมูลถ้าสมมุติว่าเราไปฝึกงาน แล้วที่ถามว่าให้เด็กฝึกงานไปดูสิ ว่ามีหนังสือกี่เล่ม คุณจะไปเดินนับ ไม่ใช่ เราสามารถสั่งได้จากฐานข้อมูลเลย ว่าวันนี้ในห้องสมุดมีหนังสือกี่เล่ม อยู่ในอนาคตคุณต้องไปฝึกงานแน่นอน เขาจะบอกว่าเด็กฝึกงานไปของในโกดังมีกี่ชิ้น คุณจะไปนั่งนับหรอมันก็สามารถมีวิธีการสั่งจากฐานข้อมูลนี่ล่ะนับดูซิว่าสรุปสินค้าและมีกี่อย่างกูจะไปนั่งนับมันไม่ได้หรอกค่ะ ในชีวิตจริงนะคะ คำสั่งนี้ก็ค่อนข้างจำเป็นนะคะ สำหรับใช้ในการฝึกงานหรือทำงานในอนาคตนะ หรือการหาค่าเฉลี่ยนะคะ ก็จะเป็นการหาค่าเฉลี่ยของราคาของสินค้าทั้งหมด โดยให้ตั้งชื่อคอลัมน์ใหม่ชื่อว่า avg Price ค่าเฉลี่ยแสดงว่าหนังสือ 7 เล่มนี้นะคะ มีค่าเฉลี่ยเล่นประมาณ 640 2.14 ตัวนี้ถ้าสมมุติว่ามีใครต้องการข้อมูลจากเราเราก็สามารถให้เขาดูได้ ต่อมา เขาถามว่าค่าหนังสือที่ถูกที่สุดในร้าน เท่าไร คุณจะไปเดินหาก็ไม่ใช่ เราแค่สั่งให้ฐานข้อมูลมาแสดงผลสิว่าราคาสินค้าที่ถูกที่สุดนะคะ โดยที่ให้กำหนดใส่ในคอลัมน์ใหม่ราคาที่ถูกที่สุดตอนนี้ คือถ้าเรามองด้วยสายตาเราก็ทราบแหละว่า 150 อย่างที่อาจารย์บอก ถ้าเกิดสินค้ามีเป็นหมื่นเป็นแสนชิ้น จะมานั่งไล่ดู เสียเวลาค่ะ ฐานข้อมูลสแกนได้ ให้มันค้นหาให้คุณเลยไม่เกิน 1 นาที รู้แน่นอนนะคะ หาราคาน้อยที่สุดแล้ว ก็อันนี้เป็น Max Price นะคะ ก็ดูราคามากที่สุดได้เช่นเดียวกันต่อมาเป็นการรวมกลุ่มข้อมูลนะคะ เป็นการรวมตามเงื่อนไข ในเงื่อนไขทุกอย่างก็คือใช้คำสั่ง Good Bye นะคะ เป็นการรวมตามเงื่อนไข เช่น ให้ดูช่องนี้นะคะ รหัสสำนักพิมพ์ รวมราคาออกมา รวมราคาออกมา โดยที่ให้รวมเป็นตามเลขสำนักพิมพ์ คำสั่งคือสำนักพิมพ์นี้ อธิบายเป็นง่าย ๆ นะคะ สำนักพิมพ์นี้ มีหนังสือกี่เล่ม รวมแล้วมูลค่าเท่าไร อย่างเช่นสำนักพิมพ์หมายเลข 4 มีหนังสืออยู่ 3 เล่ม มันก็จะรวมให้ว่ามูลค่าหนังสือของสำนักพิมพ์นี้ เป็นราคาเท่านี้ สำนักพิมพ์ที่ 5 มีหนังสือกี่เล่ม ก็รวมอาจจะมีเล่มเดียวได้เท่านี้สำนักพิมพ์ที่ 12 มี 3 เล่มรวมราคามาทั้งหมดได้เท่านี้ อันนี้คือคำสั่ง Group by คือจัดกลุ่มมานั่นเองนะคะ การจัดกลุ่มข้อมูล เช่น นักศึกษาปี 3 ชาย รวมแล้วมีกี่คนจะรวมโดยทั้งคณะหรือทั้งมหาวิทยาลัย แล้วแต่เรากำหนดเงื่อนไขนะคะ ถ้ามีเงื่อนไขนอกเหนือจากที่เรากำหนดไปแล้ว เมื่อกี้คือเราให้จัดกลุ่มเป็นรหัสสำนักพิมพ์ แต่ถ้ามีซ้อนเงื่อนไขเข้ามาอีกเราจะเพิ่มเป็นคำสั่ง Having ตัวนี้ ถ้าเงื่อนไขเดียวมันไม่พอ จากเมื่อกี้นี้ เราเพิ่มเข้าไปอีกว่าให้เป็นรหัสสำนักพิมพ์ ที่มีค่ามากกว่าเท่ากับ 5 มันก็จะตัดสำนักพิมพ์ที่ 4 ออกไป เหลือแค่ 2 สำนักพิมพ์ แล้วแต่ว่าเราจะเพิ่มเงื่อนไขอะไรอีก ราคาก็ว่าอย่างที่บอกมุมมองการดูข้อมูลของผู้ใช้งานแต่ละคนไม่เหมือนกัน แล้วแต่ว่าเขาจะอยากดูข้อมูลแบบไหน อยากได้รายงานแบบไหนนะคะ ระบบจัดการฐานข้อมูลก็สามารถจัดการได้ทั้งหมดนะคะ ต่อมาจะเป็นส่งของคำสั่ง ในการปรับปรุงฐานข้อมูลก็คือเป็นการเพิ่มแก้ไขการลบข้อมูลนะคะ การเพิ่มข้อมูลเราจะใช้คำสั่ง insert into แล้วก็ใส่ VALUES รูปแบบคำสั่งจะเป็นแบบนี้นะคะ เช่น ตัวอย่างข้อมูลเดิมจะอยู่ด้านข้อมูลด้านซ้ายนะคะ คำสั่งที่เพิ่มเติม ก็คืออันนี้คือเงื่อนไขคือยังไม่ระบุคอลัมน์นะคะ ว่าให้ใส่คอลัมไหน แต่ถ้าเราพิมพ์แบบนี้ แสดงว่าเรารู้แล้วว่าข้อมูลที่เราจะใส่แล้วมันก็จะเรียงลำดับตามนี้นะคะ ถ้าคุณสลับตำแหน่งมันก็จะไม่สนใจว่าคุณใส่คอลัมน์ผิด คอลัมน์ถูกไม่รู้ คำสั่งก็คือ insert into ตัวนี้ ให้ใส่ข้อมูลลงไปในตาราง book ซึ่งมีค่าดังนี้ 1009 sql 5 520 ผลลัพธ์ที่ได้จะมาอยู่ล่างสุด ทำไมมันใส่คอลัมน์ถูกต้อง เพราะคำสั่งให้ใส่ข้อมูลนี่ มันเรียงมาถูกต้องอยู่แล้ว แต่ถ้าคุณสลับตำแหน่งผิด ใส่ 520 มาอยู่ตรงนี้แทนนี่ มันก็จะกลายเป็น Book ID 520 นะคะ แต่นี้ที่มันใส่ถูกเพราะว่าเรียงลำดับตามคอลัมน์ต้องแค่นั้นเอง ต่อมาเพื่อความชัวร์ เราอาจจะระบุชื่อคอลัมน์ไปด้วยก็ได้ เขาว่าข้อมูล 10 10 นี่ ให้อยู่ในบุ๊ค ID นะ ชื่อหนังสือ vb รหัสสำนักพิมพ์ คือ 5 ราคาคือ 250 ข้อมูลจะมาต่อท้ายด้านล่างแบบนี้ อันนี้ก็เพื่อป้องกันว่าเราจะใส่ข้อมูลผิดคอลัมน์หรือเปล่านะคะ มันคือการเพิ่มข้อมูลนะคะ ง่ายมากคำสั่ง มีแค่นี้เอง insert into สำหรับการเพิ่มข้อมูล ต่อมา เป็นคำสั่งในการกลุ่มข้อมูลหรือแก้ไขข้อมูลนะคะ จะใช้คำสั่งอัปเดต Set ถ้ามีเงื่อนไขก็สามารถใส่เงื่อนไขเพิ่มได้นะคะ รูปแบบคำสั่ง Update คือปรับปรุงข้อมูลในตาราง Book โดยมีค่าคือให้ราคาทั้งหมด บวกเพิ่มเข้าไปอีก 50 บาท พอพิมพ์ตัวนี้ปุ๊บราคาหนังสือจะเพิ่มขึ้นจากเดิม เพิ่ม 50 บาททุกเล่ม จากเดิมตัวนี้ไม่มีราคาหนังสือ ก็จะมีละ 50 บาท อันนี้คือง่ายมากถ้าสมมุติว่าข้อมูล เรามีแค่นี้แหละ เรานั่งพิมพ์ที่ร้านก็ได้ค่ะ ถ้าสมมุติว่าวันนี้เราเป็นร้านขายของที่มีของประมาณ 1 ชิ้น น้องบอกว่าเศรษฐกิจไม่ดีขอขึ้นราคา คุณจะมานั่งพิมพ์ใหม่ทุกวันทุกวันทุกวันเมื่อไหร่จะเสร็จเพิ่มขึ้นทีละ 10 บาท มีของอยู่แสนชิ้น นั่งพิมพ์เป็นแสนครั้ง แต่ถ้าเรารู้จักคำสั่งในระบบจัดการฐานข้อมูลและพิมพ์แค่ 2 บรรทัดทุกอย่างเสร็จหมดเลยนะคะ คือการปรับปรุงฐานข้อมูล อันนี้คือก็คือประโยชน์หนึ่งของฐานข้อมูลนะคะ เพราะว่าถ้าเราไม่มีคำสั่งเรานี้นี่ บางทีไม่ต้องมานั่งพิมพ์ใหม่เนี่ยเหนื่อยมาก ๆ นะคะ นี่คือประโยชน์ถ้าเรารู้คำสั่งนะคะ ถ้ามีเงื่อนไขเพิ่มเติม เงื่อนไขเพิ่มเติมนะคะ ให้ปรับปรุงตาราง Book โดยที่เงื่อนไขคือตอนนี้ เศรษฐกิจไม่ดีแล้ว ของมันถูกให้ลดราคาสินค้าลง 50 บาท เฉพาะรหัสสำนักพิมพ์ 12 เท่านั้น เฉพาะบางบริษัทก็ว่าไปอย่าง เช่น วันนี้สินค้าราคาลงเฉพาะบริษัทนี้ เราก็สามารถเปลี่ยนแปลงราคาลงได้ เพิ่มอีกบรรทัดหนึ่งนะคะ ถามว่าแล้วสินค้าในบริษัทฯ อื่น จะเปลี่ยนไหม ไม่เปลี่ยนนะคะ เพราะเรากำหนดเงื่อนไขว่าเฉพาะสำนักพิมพ์ 12 เท่านั้น ที่ลดราคาลง 50 บาท คำสั่งลบก็ง่าย ๆ ค่ะ delete from ก็ตามนี้เลยนะคะ ให้ลบข้อมูลจากตาราง Book โดยมีเงื่อนไขคือให้ลบเฉพาะ Book ID ที่มีค่า 10 10 จากเดิมจะมีตัวนี้ แล้วก็ลบออกผลลัพธ์ที่ได้จะเป็นแบบนี้ อันนี้คือคำสั่งอย่างง่ายที่เราจะเรียนในสัปดาห์หน้านะคะ เดี๋ยวอาทิตย์หน้าอาจารย์จะเตรียมข้อมูลมา ให้นักศึกษาเพิ่มฐานข้อมูลเอง พิมพ์เองนะคะ ตั้งค่าคีย์หลักเอง กรอกข้อมูลเองทั้งหมดลองเพิ่ม ลบข้อมูล ลองดึงข้อมูลเป็นรายงานออกมาด้วยตัวเอง สัปดาห์นี้จะให้ลองกลับไปทบทวน ว่าคำสั่งที่จะใช้ select from List from update set insert into อะไรก็ว่าไป มันจะเป็นอย่างไรบ้างนะคะ หน้าวอร์มนิ้วมือมาให้พร้อมเพราะเราต้องพิมพ์เองเครื่องใคร เครื่องมัน เครื่องใคร เครื่องมัน พิมพ์ภาษาอังกฤษไม่ค่อยคล่องก็จะได้คล่องนี่แหล ะอาทิตย์หน้านะคะ พิมพ์บ่อย ๆ เพราะว่าการพิมพ์คำสั่ง SQL ง่ายที่สุดแล้ว ในการเขียนโปรแกรม อาทิตย์นี้ก็จะประมาณนี้นะคะ เดี๋ยวเราอาทิตย์หน้า ก็มาให้เร็วหน่อยเพราะว่าเราจะไปปฏิบัตินะคะ ก็ขอบคุณล่ามขอบคุณถอดความนะคะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณมากนะคะ