โปรแกรมที่เราจะใช้เขียนระบบจัดการฐานข้อมูลนะคะ จะเป็นโปรแกรมเอาอย่างง่ายก่อนแล้วกันนะคะ เพราะว่า coastal นี่ก็จะมีโปรแกรมที่ใช้งานร่วมกับมันได้หลายโปรแกรมมากนะคะ จะเป็น Mysql หรือว่าเป็น oracle ใช้ภาษาเดียวกันก็คือภาษา html คือโปรแกรมในเครื่องเราถ้าไม่ได้ติดตั้งเพิ่มเติมก็จะไม่อยู่แล้วนะคะ ก็คือโปรแกรม Microsoft Excel มันก็จะมีความสามารถที่จะพิมพ์คำสั่งภาษา SQL ได้ลงไปด้วยแล้วก็ในส่วนของตัวโปรแกรมนี้นี่หน้าตาก็ทำงานมันจะคล้ายๆกับตัวโปรแกรม Excelที่เราเคยใช้งานกันอยู่แล้วเราก็จะได้ทำความเข้าใจกับมันง่ายขึ้นนะคะ โดยตัว Microsoft Access ในรูปตัวโปรแกรมมันจะเป็นสีส้ม ๆ นะ มันจะเป็นโปรแกรมจัดการฐานข้อมูลเชิงสัมพันธ์นะคะ อย่างที่เราเคยวาดรูปไปแล้วว่าตารางมันควรจะสัมพันธ์กันอย่างไรนะคะ โดยที่โปรแกรมนี้นี่ มันก็จะมีความสามารถทั้งการจัดการฐานข้อมูล แล้วก็สร้างโปรแกรมได้ในตัวเดียวกันก็คือเป็นโปรแกรม ที่ค่อนข้างครบสำหรับการทำงานและนำข้อมูลเบื้องต้นนะคะ มันเลยเหมาะกับพี่จะให้รักษานี่เรียนรู้แล้วก็พัฒนาโปรแกรมมาใช้งานนะคะ รวมถึงคนที่ อาจจะไม่มีความรู้ในการเขียนโปรแกรมมากนะนี่ เขาก็สามารถใช้โปรแกรมนี้ได้เช่นเดียวกันนะคะ เพราะว่ามันก็ไปจัดการมันก็ถ้าสะดวก แล้วก็ตัวโปรแกรมก็ใช้งานง่าย คำสั่งไม่เยอะซัซบ้อนวุ่นวายมากราคาหน้าตาตอนสร้างฐานข้อมูลจะเริ่มต้นประมาณนี้นะคะ เดี๋ยวเราค่อยไปดูในตัวโปรแกรมกันมันจะมีส่วนของการทำงานหลัก ๆ อยู่ด้านบน เราจะเรียกว่าเป็น Ribbon ข้างบนในรูปนี่ มันจะเป็นเกี่ยวกับการกำหนดโครงสร้างของตาราง แล้วก็การกำหนดหน้าจอสำหรับบันทึกข้อมูล หรือแสดงข้อมูล แล้วก็สามารถทำได้การสร้างรายงาน เช่น มีรายชื่ออยู่ 1 รายชื่อ เราอยากให้มันออกมาเป็นรายงานเฉพาะชื่อที่เป็นผู้หญิง เราก็สามารถสร้างรายงานออกมาได้เหมือนกัน รวมถึงการสืบค้นการเรียกดูข้อมูลอื่น ๆ ตามเงื่อนไขแล้วก็สามารถทำได้ในส่วนของการสืบค้นเลขดูข้อมูลหนี้เราจะใช้คำสั่ง SQL เราจะพิมพ์ด้วยตัวเองนะคะ เราจะไม่ใช้โปรแกรมสำเร็จรูปทุกอย่าง จะได้รู้ด้วยว่าเวลาที่เราใช้ภาษา SQL นี่มันทำงานอย่างไรนะคะ โดยตารางที่อยู่ในโปรแกรม Access นะคะ รูปแบบของตารางนี่ ซึ่งมันเป็นมาตรฐานของการจัดเก็บข้อมูล ในรูปแบบฐานข้อมูลอยู่แล้วนะคะ ถ้าเราต้องการจะบันทึกหรือเก็บข้อมูลนี่ เราก็จะต้องสร้างตารางขึ้นมาก่อนถึงจะใช้งานได้ เหมือนอาทิตย์ก่อน ๆ ที่อาจารย์ให้นักศึกษาลองเปิดโปรแกรมดูนี่ มันบนเตียงพิมพ์ลงไปได้เลย เพราะว่าเรายังไม่มีตารางนะคะ มันจะดูเหมือนกดอะไรไม่ได้ เพราะเรายังไม่ได้เริ่มสร้างตารางเลยนะคะ การสร้างตารางในที่นี้ เมื่อคือการตั้งชื่อแล้วก็กำหนดโครงสร้างของตารางด้วย นั่นก็คือเราก็จะมีค่าเป็นจะเป็นคอลัมน์ ๆ ใช่ไหมคะ ในเฟสก็เหมือนกันเราก็จะกำหนดว่าหัวคอลัมน์แต่ละคอลัมน์นี่ก็คือฟิลด์นี่ มันจะมีชื่อว่าอะไรบ้าง แล้วคุณสมบัติของข้อมูลที่ต้องมาจบอะไรนะนี่มีอะไร เช่นเป็นตัวหนังสือเท่านั้น หรือเป็นตัวเลขผสมกับตัวหนังสือรับเฉพาะค่าตัวเลข ค่าตัวเลขจะต้องไม่เกิน 10 ตัวอะไรก็ว่าไปรวมถึงต้องกำหนดคีย์หลักนะคะ การกำหนดคีย์หลักในหลักโปรแกรม Access กรอง ๆ กดปุ่มเดียวก็เสร็จเลยนะคะ แล้วก็กำหนดความสัมพันธ์ระหว่าง 2 ตารางขึ้นไปว่ามันจะเชื่อมต่อกันอย่างไรนะคะ ตัวอย่างโครงสร้างของฐานข้อมูลอันนี้เราทุกคนอีกรอบนะคะ ที่โชว์อยู่ในหน้าจอนี้ก็คือเราจะเรียกว่าตารางนะ มีแถว มีคอลัมน์นะคะ แนวตั้งเราจะเรียกว่าคอลัมน์ ในฐานข้อมูลก็คือฟิวด์อย่างในตารางนี้จะมีอยู่ 4 ฟิลก็คือ 4 คอลัมน์มี 3 Records ก็คือ 3 แถวข้อมูลราคาอันนี้เป็นตัวอย่างข้อมูลผู้ป่วยราคาตรวจ SNSD ย่อมาจากรหัสป่วย Hotpital Number ต้องมีชื่อมีนามสกุลมีที่อยู่อันนี้เป็นตัวอย่างการเก็บข้อมูลอย่างง่าย ตัวอย่างอย่างง่ายส่วนไอ้ตัวโปรแกรมเราจะสร้างตารางนะคะ เราจะมากำหนดคุณสมบัติของคอลัมน์แบบเมื่อกี้นี้ เราจะมาดูกำหนด Design ก็คือการออกแบบ ว่าจะถามว่ายาในส่วนตรงนี้อันนี้มันเป็นเมนูภาษาอังกฤษนะคะ ว่าคอลัมน์อะไรนะคะ เก็บข้อมูลชนิดอะไร บางทีตัว ID นี่ ถ้าเราไม่ได้กำหนดค่ามันจะเป็น Auto จะเพิ่มไปเรื่อย ๆ ตามจำนวนที่เราเพิ่มขึ้นมา เราสามารถระบุเองก็ได้ค่ะ บางทีเราไม่อยากได้ตัวเลข 1 2 3 4 5 ไปเรื่อย ๆ อย่างนี้ บางทีก็น่าจะเป็นอย่างนั้นไม่ได้ทุกระบบนะคะ ต้องมีตัวหนังสือที่มันมีมาผสมกับตัวเลข อย่างรหัสนักศึกษาเรานี่ เข้ามาใหม่เราจะ Run 1 2 3 4 5 ไปเลยไม่ได้นะคะ มันจะต้องกำหนดเฉพาะเช่นขึ้นต้นด้วยปีการศึกษา รหัสคณะ รหัสหลักสูตร แล้วก็เป็นถึงเลขที่ว่าเราเลขที่อะไร ตัวอย่าง ถ้าเป็นการทำงานในการจัดการตารางจริง ๆ นี่ มันจะไม่ได้มีข้อมูลแค่ นิดเดียวที่เราเคยเห็น อย่างด้านซ้ายนะคะ เป็นตัวอย่างของตารางทั้งหมดที่มันเอามาเชื่อมโยงกัน มีไม่ต่ำกว่า 20 ตารางนะคะ ถ้ามันเป็นระบบงานใหญ่ ๆ รวมถึงการกำหนดด้วยว่าข้อมูลแต่ละชนิดที่เข้ามานี่ อย่างเช่น ID เขากำหนดให้เป็นตัวเลขให้มันเพิ่มขึ้นไปเรื่อย ๆ อัตโนมัติ ส่วนเลขจำตัวผู้ป่วย เขาจะให้กรอกแล้วก็จะมีคำอธิบายว่า ไอ้คำคำย่อหรือหัวตารางนี่ ถ้าเป็นภาษาไทยคืออะไร นะคะ อย่าง ohn คือเลขบัตรเดิมภาพพิมพ์อย่างไรไม่ต้องจำเป็นต้องพิมพ์ไหม ชื่อแรกจำเป็นต้องพิมพ์ นามสกุลเราจะหมดตอนนี้ด้วยนะคำอธิบายนะคะ ถ้าในส่วนของฐานข้อมูล เราจะเรียกว่าเป็นพจนานุกรมข้อมูล หรือ Data dic คือสิ่งที่เราต้องบอกอย่างสมมติว่าคุณเป็นโปรแกรมเมอร์คนใหม่มาทำงานนะคะ คำย่อ GT แมรีคืออะไร แล้วมาทำงานต่อจากเขาอธิบายไปว่าคำศัพท์คำนี้บันทึกข้อมูลอะไรที่ต้องกรอกนะคะ นั่นคือสถานภาพสมรส เขาไม่ได้บอกเราไว้ แต่ก็ต้องมาทำความเข้าใจได้ว่าสรุปข้อมูลเขาต้องการ ข้อมูลอะไรกันแน่เพราะฉะนั้นการเขียนคำอธิบายก็ ค่อนข้างจะเป็นเหมือนกันสำหรับการจัดการฐานข้อมูลนะคะ ส่วนด้านล่างเป็นการบอกขนาดของข้อมูลนะคะ เช่น จำนวนเงินเดือน เงินเดือนน่าจะไม่มีแค่ 2 หลัก บางคนเงินเดือนเยอะ บางคนเงินเดือนน้อยเราก็สามารถกำหนดได้ว่าคนแรกที่สามารถกรอกเข้าไปได้นี่ มากขนาดไหน เงินเดือนอาจจะยังไม่เห็นภาพถ้าสมมติว่ามันเป็นคอลัมน์ที่เกี่ยวกับประมาณประเทศ ที่ต้องกรอกตัวเลขเยอะ ๆ เลข 6-7 หลักมันไม่พอแน่นอนนะคะ เราก็ต้องมากำหนดด้วยว่า ข้อมูลที่ใส่ได้จะเป็นข้อมูลขนาดไหนหรือบัตรประชาชนแล้วมันกำหนดไว้ว่าให้กรอกได้แค่ 13 หลัก เขาก็จะกำหนด Propertiข้างล่างนี้นะคะ การสร้างตารางโดยใช้มุมมองการออกแบบนะคะ มันก็จะมีการกำหนดมาว่าชื่อของฟิลด์ คือชื่อแต่ละคอลัมน์ควรตั้งชื่ออะไร ควรจัดให้มีความหมาย แล้วก็ไม่ยาวจนเกินไป แล้วก็ห้ามใช้สัญลักษณ์พิเศษพวกเครื่องหมายคำถามเครื่องหมายอะไร พวก # นี้นะคะ หรือ ... _ ขีดเส้นใต้เราจะไม่ใส่รวมถึงประเภทของข้อมูลนะคะ ก็คือชนิดของข้อมูลที่จัดเก็บในคอลัมน์หรือฟิลด์นั้น ๆ รหัสสินค้ามันควรจะเป็นได้ทั้งตัวเลข และตัวอักษรผสมกันนะคะ อย่างเดียวเราไม่พิมพ์เราจะไม่พิมพ์ถ้ารอแล้วก็ใส่ ก ไก่ 2 ตัว ส่วนเลข 0 ไม่ใช่ 500 ก็คือเป็นตัวเลขอย่างเดียวส่วนของผมนั้นจะต้องนำไปคำนวณนะคะ ควรจะเป็นข้อมูลคืออะไร เช่น อายุ เอาวันเดือนปีเกิดไปคำนวณ จะต้องเป็นตัวเลขหรือเป็นวันที่หรืออย่างไรนะคะ เราก็ต้องมาพิจารณาข้อมูลพวกนั้นด้วย อย่างเช่น วันเข้าทำงาน วันแรกจนถึงปัจจุบัน เขาทำงานมาแล้วกี่ปี ก็จะใช้วันที่ในการคำนวณนะคะ เราก็ต้องพิจารณาตรงนี้ด้วย ถ้าคุณไม่ได้ไปทำฐานข้อมูลด้วยตัวเอง ข้อมูลที่เป็นข้อความหรือว่า Text เป็นข้อมูลที่เป็นตัวอักษร ตัวเลขดูเลขทำไมถึงบอกว่าเป็นถ้าเลขที่ไม่ได้ใช้ในการคำนวณ เช่น รหัสนักศึกษาพวกคุณ เราจะไม่เอามาบวกกันไม่มีผลในการคำนวณนะคะ มันเป็นตัวเลขรหัสเฉย ๆ สัญลักษณ์เครื่องหมายบางคนอาจจะจำเป็นที่ต้องใส่สัญลักษณ์ อย่างคำนำหน้าชื่อ บางคนก็จะพิมพ์นางสาว บางคนพิมพ์ น.ส. สัญลักษณ์มีเครื่องหมายตัวอักขระที่ผสมกันรวมถึงตัวเลขตัวเลขนี้ก็จะมีหลายประเภทเหมือนกัน ก็จะเป็นข้อมูลที่เป็นตัวเลขอาจจะเป็นจำนวนเงินการเก็บเงินมีให้เลือกหลายรูปแบบนะคะ ถ้าเราเลือกข้อมูลแบบ Byte ข้อมูลที่เราเก็บน่าจะมีสูงสุด 250 จำนวนเต็มใส่เป็นตัวเลขไม่ได้ integer ตัวเลขระหว่าง - 3 หมื่นกว่า จนถึง 32, 000 จำนวนเต็มบวกบวกเต็มลบไม่มีจุดทศนิยม ถ้าเป็น Long integer จากหลักหมื่น20000อันนี้การใส่งบประมาณเยี่ยมมาก ๆ หรือข้อมูลเงินใด ๆ ก็ตามที่เป็นตัวเลขที่มากกว่าค่า integer ธรรมดาขึ้นไปนะคะ Single เป็นตัวเลขที่เป็นจุดทศนิยมราคาอาจจะมีค่าไปจนถึงติดลบนะคะ เป็นทั้งค่าทศนิยมสุดที่เป็นเต็มลบกับเต็มบวกนะคะ ต่อมาดับเบิ้ลใช้กับเลขที่เป็นจุดทศนิยมอย่างเช่นบางทีเราไปซื้อของเห็นว่าเขาคำนวณจุดทศนิยมให้เราด้วย แสดงว่าการเขียนโปรแกรมในการเก็บข้อมูลของเขา แสดงผลจนถึงจะทศนิยม 1 ตำแหน่ง 2 ตำแหน่ง 3 ตำแหน่งว่ากันไป ส่วนมากถ้าเป็นค่าเงินนะคะ ต่อมาวันที่เวลาว่าจะเป็นการระบุข้อมูลที่เป็นรูปแบบวันที่เป็นผชหรือผญแล้วแต่เราจะระบุก็ได้นะคะ โดยที่มันอาจจะเป็นระบบเต็มก็คือเป็นวันที่และเวลา แต่ส่วนมากเราจะใช้แบบ วัน เดือน ปีแค่นั้นนะคะ กลับ Yes No questions นะคะ ใช่หรือไม่ มันจะเป็นคำตอบที่เป็นข้อมูลที่มีตรรกะที่มีอยู่ 2 ข้างก็คือจริงกับเท็จ เช่นตอนนี้คุณเป็นนักศึกษาเขาก็จะถามว่าจริงหรือเท็จนะคะ ถ้าเป็นนักศึกษาอยู่ก็ตอบว่า Yes ก็คือใช่ถ้าเรียนตอบแล้วก็ตอบว่า No นะคะ กลับ OLE object นะคะ ว่าจะเป็นข้อมูลที่ใช้ในการแนบรูปภาพนะคะ ฐานข้อมูลบางอย่างเขาให้รับแนบรูปภาพด้วยเช่นบางทีรับสมัคร อาจจะเป็นสมาชิกหรือสมัครเรียนหนังสือ หรือสมัครสอบ เขาก็จะให้เราแนบรูปภาพแนบใบเสร็จ ถ้าเป็นระบบขายของก็จะเป็นใบเสร็จโอนเงินก็จะแนบรูปภาพมาด้วยนะคะ ส่วนที่ 3 ก็จะเป็นส่วนของกำหนดค่าเมื่อกี้นี้นะคะ ที่ครูให้ดูในภาพนะคะ ก็จะเป็นการบอกขนาดของข้อมูลในภาพที่เราเก็บบอกได้เลยนะคะ รูปแบบของการแสดงผลข้อมูลจะเป็นอย่างไร การป้อนข้อมูลจะเป็นลักษณะไหนเราสามารถกำหนดได้นะคะ กำหนดการอธิบายข้อมูลเช่นก่อนที่เราจะกรอกข้อมูลลงไปนี่ ในระบบบางอันถ้าเราเม้าส์ไปชี้เขาก็จะมีคำอธิบายว่าในช่องนี้ให้กรอกข้อมูลแบบไหนถ้าเราบอกให้ต่อบัตรประชาชนถ้าเอาเม้าส์ไปชี้ เขาก็จะบอกว่าให้กรอกเลขจำนวนเป็นต้นนะคะ การจะมีกำหนดค่าเริ่มต้นเช่นเขาบอกเขาถามวันเกิด วันเกิดเขาวันที่ 1 มกราคม ปี 2000 อะไรก็ว่าไปนะคะ ก็จะเป็นค่าเริ่มต้นถ้าคุณไม่ได้เปิดวันนั้น คุณก็เปลี่ยนค่าอื่น หรืออาจจะเป็นบริจาคนะคะ ค่าเริ่มต้นอาจจะเป็น 10 บาท คุณอาจจะเปลี่ยนค่าก็ได้นะคะ การกำหนดเงื่อนไขของค่า เช่นเงินเดือนนะคะ จะต้องเป็นบวกเสมอ จะบอกว่าเขาถามเงินเดือนเท่าไหร่ บอกว่าติดลบ 5,000 บาทคือยังไม่ได้ทำงานเลยเป็นหนีไปเรื่อย ๆ มันก็ไม่ใช่ต้องคมันฆ่าก็ต้องเป็นห่วงเสมอเช่นอายุจะต้องเป็นจำนวนเต็มบวกเต็มลบไม่ได้นะคะ การกำหนดข้อมูลที่แสดงหากไม่ตรงตามเงื่อนไขเงื่อนไขอายุเป็นลบ 20 มันก็จะมีคำสั่งแจ้งเตือนขึ้นมาว่าให้ใส่ข้อมูลที่เป็นค่าบวกเท่านั้นนะคะ ก็จะเป็นแบบนี้เราสามารถกำหนดได้ รวมถึงข้อมูลที่จำเป็นต้องกร เว้นว่างไม่ได้เลขบัตรประชาชน คุณจะบอกว่าไม่มีเลขบัตรประชาชนเป็นไปไม่ได้นะคะ เพราะฉะนั้น ต้องกรอกทุกครั้ง หรืออาจจะเป็นแบบฟอร์มให้สมัครใด ๆ ก็ตาม ไอ้เลขบัตรประชาชนที่จะเป็นข้อมูลที่จำเป็นที่จะต้องกรอกเสมอนะคะ ว่างไม่ได้การกำหนดค่าคีย์หลักนะคะ ทำได้ไงบ้าง ถ้าทำในโปรแกรมก็คือคุณจะเลือกค่าไหนให้เป็นคีย์หลัก คลิกที่คอลัมน์นั้น ๆ หรือฟิ์นั้น ๆ ให้กดไอ้ตัวรูปกุญแจกุญแจจะหมายถึงที่รักหรือ Primary Key นั่นแหละนะคะ ให้เลือกแล้วก็กดมันก็จะการในระบบเลยว่าค่านี้มีค่าที่หลักของตารางนี้นะคะ กับความสัมพันธ์มันจะเป็นการสร้างความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป เราจะมีการพิจารณาเรื่องคีย์หลักของแต่ละตาราง ที่มันจะอ้างอื่นที่หลักของอีกตารางหนึ่งนะคะ อันนี้เราก็เราจะลองทำในโปรแกรมว่าจะอ้างอิงอย่างไรนะคะ ในตัวโปรแกรมนี่มันก็จะง่ายมาก ถามมันก็จะมีตัวให้เรากดได้เลย ตามลูกศรสีแดงชี้นะคะ โปรแกรมค่อนข้างสำเร็จรูปเลยนะคะ ว่าเราจะสร้างคีย์หลักอย่างไรอันไหนจะเป็นความสัมพันธ์นะคะ ที่เราจะทำสิ่งเหล่านี้ได้ เราต้องรู้แล้วว่าตารางที่เราสร้างสัมพันธ์กันอย่างไร เพราะว่าเราเคยว่าง ER-diagram มาแล้ว ก็คือเหมือนตัวอย่างที่อาจารย์ให้ทำงานหนัก ผู้แต่งหนังสือกับร้านหนังสือเขาคงมีความสัมพันธ์กันอย่างไรนะคะ อย่างเช่นตัวอย่างถ้าเราสร้างความสัมพันธ์ได้แล้วมันจะเป็นแบบนี้ค่ะ มันจะมีการเต้นของ 2 ตาราง ไม่ดูเลยว่าตารางตารางนี้ เขามีความสัมพันธ์กันอย่างไร ตารางนี้ค่ะ ของตารางนี้ มีความสัมพันธ์กันแบบ 1 กลับบ้านกว่า 1 อย่างที่อาจารย์เคยบอกว่าในแต่ละโปรแกรมหรือในแต่ละนักหรือสัญลักษณ์เครื่องหมาย เขาอาจจะไม่ได้ใช้ตัวเองเหมือนที่อาจารย์สอนแต่มันเป็นความหมายเดียวกันคือ มานี่หนึ่ง มีความสัมพันธ์มากกว่า 1 กับอะไรนะคะ เพราะฉะนั้น เราอ่านของเล่มก็เขียนแบบนี้นะคะ ให้เราเข้าใจว่ามันมีความหมายเดียวกันแต่ต่างกันที่สัญลักษณ์เฉย ๆ ถ้ามันเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่งนะคะ แบบหนึ่งต่อหนึ่ง บางรูปแบบมันจะไม่เห็นกำหนดไว้เลยบอกให้รู้ด้วยตัวเองว่ามันเป็นความสัมพันธ์แบบไหนนะคะ นี่ one to one one to many นะคะ ข้อพิจารณาในการสร้างฐานข้อมูล เราต้องรู้ว่าเราจะสร้างฐานข้อมูลมาทำงานเกี่ยวกับระบบอะไรนะคะ ตัวอย่างก็คือร้านเช่าหนังสือร้านขายหนังสือ ในร้านขายหนังสือต้องมีตารางอะไรบ้างนะคะ มันอาจจะไม่มีแค่ 3 ตัวอะไร ที่อาจารย์ยกตัวอย่างมามากกว่านั้น คุณจะเช่าหรือคุณจะขายหรือคุณจะมีระบบสมาชิกใหม่นะคะ รวมถึงรายละเอียดในตารางข้อมูลจะต้องเก็บอะไรบ้าง เครื่องไหนมันจะพัง ไฟตกหรือ ต่อไปก็ต้องดูในตารางอะไรคือคีย์หลัก ก็คือค่าที่ห้ามซ้ำกันนั่นเอง อันนี้เราจำได้นะ ความสัมพันธ์ของตารางข้อมูลความสัมพันธ์แบบไหนนะคะ มีค่าที่ต้องประมวลผลไหม มีการคำนวณไหมเช่นอายุสมาชิกหรือวันเข้าทำงาน ทำงานมาแล้วกี่ปี เพื่อพิจารณาเงินเดือนอะไรก็ว่าไปนะคะ การแสดงผลของทางหน้าจอเป็นอย่างไร สามารถปริ้นออกมาได้ไหม ข้อมูลเบื้องต้น ที่จะใส่ ใส่แล้วเป็นอย่างไรเอาไปใส่ระบบงานอะไร ไปผนวกแล้วไม่มีปัญหาใหม่นะคะ อันนี้คือข้อพิจารณาในการสร้างคอมฐานข้อมูลขึ้นมาในระบบเล็ก ๆ ต้องพิจารณาเช่นเดียวกันนะคะ กับก่อนที่เราจะเรียนในตัวโปรแกรมเราต้องรู้จักคำสั่งที่เราสั่งสั่งให้ฐานข้อมูลมาทำงานก่อนนะคะ ภาษาที่ใช้ในการจัดการฐานข้อมูลอย่างที่บอกค่ะ ฐานข้อมูล SQL เรียนภาษา SQL นะคะ มันก็จะเป็นเรียนรู้คำสั่งพื้นฐาน สำหรับการสร้างโครงสร้างของฐานข้อมูล คำสั่งในการเรียกดูข้อมูลคำสั่ง สำหรับการปรับปรุงข้อมูลเพิ่ม ลบ แก้ไข อันนี้เราต้องทราบนะคะ ซึ่งภาษา SQL เป็นภาษาทางด้านฐานข้อมูลที่ได้รับความนิยมมากที่สุดนะคะ ชุดคำสั่งที่ใช้ในการจัดการฐานข้อมูลและข้อมูลในฐานข้อมูลนะคะ กลุ่มคำสั่งของภาษา SQL จะมีอยู่ 3 กลุ่มคำสั่ง คำสั่งแรกก็คือคำสั่งที่ใช้สำหรับการสร้างข้อมูลกำหนดโครงสร้างฐานข้อมูลด้วยนะคะ โครงสร้างฐานตารางกลุ่มที่ 2 จะเป็นกลุ่มคำสั่งที่ใช้สำหรับเพิ่ม ลบเปลี่ยนแปลงข้อมูล ก็คือเป็นการเปลี่ยนลงข้อมูลนั่นเองนะคะ กลุ่มที่ 3 จะเป็นไฟล์สำหรับการสร้างแล้วก็กำหนดโครงสร้างให้กับนะคะ วันนี้เป็นภาษาที่ไม่ได้ใช้แค่นิยามสำหรับข้อมูลเป็นการสร้างด้วยนะคะ อย่างในสไลด์อาจารย์ในวันนี้ นี่ถ้าเราเห็นทรงกระบอกแบบนี้ นี่ถ้าในหนังสือในทางสากลนี่ เขาจะรับรู้ได้เลยว่าถ้าเราใส่รูปทรงกระบอกแบบนี้ ในสัญลักษณ์ใด ๆ ที่เป็นโครงสร้างทางคอมพิวเตอร์ ที่เขาจะเรียกว่าอันนี้คือฐานข้อมูลนะคะ ส่วนข้อมูลผลลัพธ์ ถ้าเป็นรูปภาพแบบนี้แสดงว่าเป็นการแสดงผลรายงานนะคะ อันนี้ก็เวลาคุณไปอ่านหนังสือเจอหนังสือเล่มอื่น แล้วเขาเขียนแบบนี้นี่ ก็ให้เข้าใจว่าก่อนที่จะออกสารข้อมูลใช้คำสั่ง เพื่อเรียกดูรายงานออกมารับผลรายงานเป็นอย่างไรนะคะ อันนี้เป็นโครงสร้างคำสั่งภาษา SQL สำหรับการสืบค้นนะคะ คำสั่งที่ใช้ในการสืบค้นคำสั่งที่ใช้บ่อยที่สุด ก็คือคำสั่ง Select ตัวนี้นะคะ s e l e c T นะคะ นักศึกษาบางคนเวลาพิมพ์ทำไมคนรับไม่ได้เหมือนเพื่อนบางทีพิมพ์ผิดนะคะ บางครั้งก็จะตกใจไม่ต้องตกใจ ภาพผลลัพธ์มันไม่ออกมาเรามานั่งได้ดูก่อนว่าเราพิมพ์อะไรผิดไปหรือเปล่านะคะ เริ่มสัญลักษณ์อะไรไหม ทำอะไรหรือเปล่านะคะ ก็เด้วยส่วนมากคำสั่งพื้นฐานจะขึ้นต้นด้วย Select แล้วจะตามไปอีกรอบนะคะ selก็คือเราจะแสดงผลข้อมูลอะไรอย่างที่บอกนะคะ ต้องพยายามภาษาอังกฤษนิดนึงนะคะ เพราะว่ามันจำเป็นนะคะ ปลอมก็คือเราจะเลือกข้อมูลจากตารางไหนนะคะ where หมายถึงว่ามีเงื่อนไขในการค้นหาว่าอย่างไรบ้าง Group by ข้อมูลจะถูกรวมเป็นข้อมูลเดียวกันหรือไม่นะคะ มีเงื่อนไขอะไรอีกไหม รวมถึงการจัดเรียงอย่างไรนะคะ เดี๋ยวจะมีตัวอย่างคำสั่งให้ดู อาทิตย์นี้ดูตัวอย่างคำสั่งไปก่อนนะคะ อันนี้เป็นตัวอย่างของข้อมูลนะคะ อะไรหลังกลับไป เราจะดูคล้าย ๆ แบบนี้เหมือนกันมีตารางอยู่ 2 ตารางนะคะ ตารางแรกเป็นตารางหนังสือ ตารางที่ 2 เป็นตารางสำนักพิมพ์นะคะ ตารางแรกก็จะมีรหัสหนังสือ ชื่อหนังสือ รหัสสำนักพิมพ์ ราคานะคะ ตารางที่ 2 จะเป็นตารางสำนักพิมพ์ มีรหัสสำนักพิมพ์ แล้วก็ชื่อสำนักพิมพ์นะคะ คำสั่งแสดงผลมุมบนขวาตรงนี้นะคะ ส่วนผลลัพธ์ที่ได้ในภาษา SQL จะอยู่ด้านล่างนะคะ ตัวอย่าง คำสั่งในการสืบค้นข้อมูล 1 ตารางคำสั่งที่ง่ายที่สุด คือ Siปลอม นะคะ เวลาอ่านคำสั่งเราก็จะดูตรงนี้นะคะ ตรงนี้ ขึ้นต้นคำสั่งว่าอะไรอยู่ตรงนี้นะคะ ตัวอย่างการสืบค้นจาก 1 ตารางนะคะ ดอกจันหมายถึงว่าเอาข้อมูลทุก ๆ คอลัมน์ หรือเราจะสามารถรู้ได้ว่า เราจะเอาข้อมูลเฉพาะคอลัมน์ไหนนะคะ ตัวอย่างเช่นตัวนี้นะคะ ให้แสดงผลข้อมูลทุกแถว และทุกคอลัมน์คำสั่งก็คือ Seleอาจจะเป็นสตาร์นะคะ select Start From book คือเอาข้อมูลทุกแถวทุกคอลัมน์จากตาราง book ผลลัพธ์ที่ได้ก็แสดงผลข้อมูลทั้งหมดที่อยู่ในตารางบ นั่นเองถามว่าคำสั่งนี้ใครสั่งบางครั้ง อาจจะเป็นคนที่ดูแลฐานข้อมูลหรือผู้ใช้งานต้องการจะเรียกดูข้อมูลในลักษณะนี้คำสั่งที่เกิดขึ้นที่สั่งให้คอมพิวเตอร์ทำงานก็คือ Select Form อันนี้คือ Sstocker คือเอาทุกแถวทุกคอลัมน์ ถ้าเราไม่เอาทุกแถวทุกคอลัมน์ล่ะเรากำหนดได้ไหม กำหนดได้ค่ะ คำสั่งต่อมา Seก็คือเลือดชื่อกับราคาจากตาราง book ผลลัพธ์ที่ได้จากคำสั่งนี้ ก็จะแสดงผลเฉพาะชื่อ ราคา ของหนังสือเท่านั้น เพราะว่าอย่างที่อาจารย์เคยบอกผู้ใช้งาน แต่ละคนไม่เหมือนกัน เพราะความอยากดูข้อมูลทั้งหมด ความอยากดูข้อมูลแค่ 2 อย่าง สามารถทำได้ไหม ทำได้ค่ะ ดูข้อมูลอย่างเดียวก็ทำได้ เราต้องบอกให้ดู อยากได้ข้อมูลจากตารางไหนคอลัมน์อะไรระบุระบบจัดการฐานข้อมูลก็จะดึงข้อมูลมาให้เราดูนะคะ ประมาณถ้าเป็นการสืบค้นแบบมีเงื่อนไขล่ะ ไม่เอาคอลัมน์มันไม่พอ เราอยากเพิ่มเงื่อนไข คำสั่งที่ใช้ในการกินไข่ก็คือคำสั่ง whereว่าจะเปลี่ยนซิมเล็กผมว่าระดับลงมานะคะ อาจจะมีเงื่อนไขอาจจะเป็นเงื่อนไขในการเปรียบเทียบ เปรียบเทียบนะครับ ดูสัญลักษณ์ทางนี้ มันจะเป็นมากกว่า ราคา มากกว่า เท่ากับ น้อยกว่า ราคา พวกนี้น้อยกว่า เท่ากับ น้อยกว่าเท่ากับอันนี้ไม่เท่ากลับนะคะ อันนี้เป็นเท่ากับ มากกว่ากว่าอย่างนี้นะคะ เดี๋ยวจะทำตัวขั้นให้ทีหลังหรือการรวบรวมและหรือคล้ายกับวิชาคณิตศาสตร์ ที่เราเรียนไปแล้ว การปฏิเสธ เช่น ไม่เอานักศึกษาชายอย่างนี้ ตรวจสอบค่าของข้อมูลว่าง ให้มันดูสิว่าข้อมูลตัวไหนมีช่องว่างข้อมูลตัวไหนหายไป ตรวจสอบเป็นช่วง เช่นช่วงอายุระหว่าง 15 ถึง 18 ปี รายชื่อใครมีชื่อจอจาน ชื่อใครมีสระเอ ตรวจสอบข้อความนะคะ ในข้อความนั้นมีคำว่า "นาย" ก็มีคนที่มีคำขึ้นต้นว่านายทั้งหมดก็ว่าไปนะคะ มันจะมีการเปรียบเทียบเงื่อนไขด้วยนะคะ อธิบายไปแล้วนะคะ กลับมากกว่าน้อยกว่ามากกว่าเท่ากับน้อยกว่าเท่ากับไม่เท่ากับนะ อย่างตัวอย่างค้นหาแบบมีเงื่อนไขนะคะ คนแรกก็คือให้เอามาแสดงผลเฉพาะชื่อกับราคา จากตารางโดยที่มีเงื่อนไขคือราคาน้อยกว่า 1,000 เงื่อนไขแรก คือ แสดงผลเฉพาะชื่อปรับราคานะคะ ขายต่อมาคือราคาน้อยกว่า 1,000 มาดูที่ราคาค่ะ อันนี้น้อยกว่า 10 อันอันนี้น้อยกว่า 1,000 น้อยกว่า 1,000 1,000 แสดงผลไหมคะ ไม่แสดงผล 1950 แสดงผลใดไม่แสดงผล เพราะฉะนั้น ก่อนที่มันจะแสดงผลมีอยู่ 5 แถวนะคะ มันจะเลือกแสดงผลแค่ชื่อกับราคาเท่านั้น อันนี้คือคำสั่ง ผลลัพธ์ที่ได้ก็จะเป็นตัวนี้นะคะ อันนี้เดี๋ยวเราจะลองทำสัปดาห์หน้า อันนี้อาจารย์ให้ดูภาพก่อนนะคะ ตอนนี้เงื่อนไขเหมือนเดิมค่ะ ต่างกันที่ว่าคำสั่งเปรียบเทียบเป็นน้อยกว่าเท่ากับ 1,000 แสดงว่าเหรียญที่มีราคา 1,000 มันก็จะเอามาแสดงผลด้วย เพราะฉะนั้น ต้องดูคำสั่งเปรียบเทียบดี ๆ ว่าเขาเอาน้อยกว่าน้อยกว่าเท่ากับราคาบางทีเราค้นหาสินค้าเว็บขายของออนไลน์เอาให้มันจัดเรียงตามราคา ก็ใช้คำสั่งนี้ล่ะค่ะ การจัดเรียงว่าเราอยากได้สินค้าหนาวที่สุดปัญหามากที่สุดไม่เกิน 2,000 เขาก็จะจัดอย่างมาให้ใช้คำสั่งนี้ล่ะค่ะ ที่มาดึงข้อมูลจากฐานข้อมูลมาแสดงผลให้เราก็เราเป็นแค่ผู้ใช้งานเราไม่รู้ว่าข้างในมันน่ะ เขาเขียนอย่างไร วันนี้เรารู้แล้วนะคะ คำสั่งคอมพิวเตอร์สั่งมันว่าอย่างไร ต่อมาเป็นคำสั่งเดิมเปลี่ยนเงื่อนไข ให้ราคาไม่เท่ากับ 1,000 บาท เพราะฉะนั้น ก็จะแสดงผลหนังสือทุกเล่ม ยกเว้นเล่มที่มีราคา 1,000 จะไม่แสดงผลดูดี ๆ นะคะ เงื่อนไขตรงนี้เองต่างกัน แค่ตรงนี้เองนิดเดียว สมมติว่าในข้อสอบอาจารย์ถามว่าผลลัพธ์ที่ได้จากคำสั่งนี้แสดงผลอย่างไร นักศึกษาก็ต้องเขียนออกมาอาจารย์ดูได้จากคำสั่งนี้นะคะ ผลลัพธ์ที่ได้ควรจะเป็นอย่างไร อันนี้ไม่มีค่าเงื่อนไขเดียวถ้ามันมีงานหลายเงื่อนไขล่ะ มันสามารถทำได้หลายเงื่อนไขไหมได้นะคะ มีการเพิ่มขึ้น and หรือ OR คือเป็นไปตามเงื่อนไขทั้งหมด พอก็คือเป็นไปตามเงื่อนไขอย่างใดอย่างหนึ่งนะคะ อย่างตัวนี้คำสั่งลัดดูก่อนเลยอย่างแรกเป็น OR ไอ้เรื่องแสดงผลข้อมูลเฉพาะชื่อกับราคา ราคามากกว่า 500 หรือรหัสสำนักพิมพ์น้อยกว่า 12 ก็มาดูนะคะ เงื่อนไขแรกราคามากกว่า 500 มีอยู่ 2 เล่มตัวนี้นะคะ แล้วก็รหัสหรือรหัสสำนักพิมพ์น้อยกว่า 12 อย่างนี้นะคะ อย่างนี้ เพราะฉะนั้น จะแสดงผล 5 เล่ม นะคะ ถามว่าทำไมอันนี้มันราคาไม่เกิน 500 นี่ ทำไมอยู่รหัสสำนักพิมพ์มันน้อยกว่า 12 มันก็เลยแสดงผลด้วยนะคะ เป็น 5 เล่ม แตกต่างจากตัวอย่างต่อมามันมีเงินจะต้องดูทั้งเงื่อนไขทั้ง 2 ข้อนะคะ อันนี้คือมันมีเงื่อนไข 2 ข้อก็จริง แต่สามารถเป็นได้ทั้ง 2 ข้อที่มันสามารถเลือกได้นะคะ อันนี้เข้าตามเงื่อนไขทั้ง 2 ข้อเป๊ะ ๆ เท่านั้นนะคะ เงื่อนไขก็คือให้ราคากว่าเท่ากับ 500 ราคากว่าเท่ากับ 1,000 นั่นเอง ก็คือเป็นช่วงจะมีเล่มนี้ 500 เล่มนี้ 1,000 มาเล่มอีกได้ไหม ไม่ได้เพราะมันเกิน 1,000 ไม่มีได้ไหม ไม่ได้มันน้อยกว่า 500 เพราะฉะนั้น ผลลัพธ์ที่ได้ก็จะมีอยู่ 2 เล่ม เท่านั้นตามเงื่อนไขรไม่มีเงื่อนไขมากกว่านี้ไหมไม่ได้ค่ะ ได้ทั้ง และคออันไหนเป็นแอนก็คือต้องทำตามเงื่อนไขนั้นอย่างเดียวเท่านั้น ราคาเท่ากับ 500 มีเล่มไหนบ้าง มีเล่มนี้นะคะ มีเล่มนี้ Serpico รหัสสำนักพิมพ์เท่ากับ 4 กับ 4 มีรุ่นไหนบ้าง มีเล่มนี้ค่ะ มีเล่มนี้มีเล่มนี้ ทำไมถึงเอา เพราะมันเป็นคำสั่ง OR OR ก็คือสามารถยอมรับได้นะคะ แสดงผลมา 5 เล่ม อันนี้เป็นเพื่อมันเขียนให้มันสั้นกว่านี้อยู่เดี๋ยวดูไปมีอีกหลายตัวอย่างนะคะ ตอบมาเป็นเงื่อนไขในการปฏิเสธ ก็คือไม่เอา ก็คือคำสั่ง NOT อย่างเช่นคำสั่งนี้ เงื่อนไขคือไม่เอารหัสสำนักพิมพ์ที่มีค่าเท่ากับ 4 อันนี้ตัดไป ตัดไป ตัดไป เพราะฉะนั้น แสดงผลที่เหลือ อันนี้คือเงื่อนไขง่าย ๆ อย่างเช่น เราหาซื้อของออนไลน์ไม่อยากได้สีแดง เราก็เลยบอกว่าไม่เอาสีแดง มันก็แสดงผลสินค้าที่เหลือมาให้นะคะ หรือการหาค่าว่าง หรือไม่มีค่าในข้อมูลนั้น ๆ จะลองดูสิว่าในราคานี้ ในส่วนของราคามีอะไรเป็นค่าว่างบ้าง ตัวนี้เป็นว่าค่าว่างนะคะ ก็จะมีอยู่แค่เล่มเดียวที่ไม่มีข้อมูลสำนักพิมพ์ไม่มีข้อมูลราคา มีอยู่เล่มเดียว อันนี้เอาไว้เช็กว่าข้อมูลเรามีข้อมูลอะไรหายไปหรือเปล่า ก็สามารถให้คอมพิวเตอร์มันเช็กให้เราได้นะคะ ในทางกลับกันให้มันเช็กว่ามีข้อมูลอะไรบ้าง ที่ไม่ใช่ค่าว่าง ก็ใช้คำสั่งที่ใกล้เคียงกันแค่นั้นเองนะคะ เพราะฉะนั้น ภาษาอังกฤษค่อนข้างง่ายค่ะ เป็นคำง่าย ๆ พยายามลองแปลดู คำศัพท์ก็ไม่ใช่คำศัพท์ที่ซับซ้อนอะไรมาก ที่ใช้ในการจัดการฐานข้อมูลที่เราใช้ AND ใช้ออยนะคะ ค่อนข้างยาวเราจะเปลี่ยนใหม่เป็นคำสั่ง Between เมื่อคืนระหว่างเท่าไร ถึงเท่าไรนะคะ เทียบกันดูนะคะ ถ้าเราใช้คำสั่งนี้นะคะ ให้แสดงผลคอลัมน์นะคะ ที่มีค่าระหว่าง 10-20 เราพิมพ์แค่นี้เองนะคะ แต่ถ้าเราจำคำสั่ง Between AND ไม่ได้ เราต้องพิมพ์ยาวมากอย่างนี้นะคะ คำสั่งตัวนี้มันเลยทำให้เราทำงานได้เร็วขึ้น พิมพ์น้อยลงนะคะ อย่างเช่นตัวนี้นะคะ เงื่อนไขคือ ให้เลือกชื่อหนังสือกับราคามาโดยมีเงื่อนไขคือราคาอยู่ในระหว่าง 500-1,000 ก็มีกี่เล่มคะ มีอยู่ 2 เล่ม 500-1,000 พิมพ์สั้นลงเยอะเลยนะคะ พิมพ์สั้นลงเยอะเลย กับเงื่อนไขต่อมา ราคาไม่อยู่ในช่วงระหว่าง 500 ถึง 1,000 มีอะไร 500 ตัดออก 1,000 ตัดออก เพราะฉะนั้น ผลลัพธ์ที่ได้ก็จะมีอยู่ทุกเล่มเลย ยกเว้นเล่มที่ราคา 500 กับ 1,000 นะคะ หรือเราอาจจะค้นหาข้อมูลตามค่าที่เราต้องการนะคะ เราจะใช้คำสั่งเงื่อนไขเพิ่มเติมเข้ามา ก็คือ in i-n ตัวนี้ i-n ตัวนี้ เช่น ข้อมูลที่เราต้องการ ก็คืออาจจะมีตัวเลข ให้หาตัวเลขที่ระหว่าง 1-10 นะคะ ผลลัพธ์ที่ได้ก็จะเป็น 1 3 5 7 9 อันนี้เรารู้อยู่แล้ว และจำนวนคี่ระหว่าง 1 ถึง 7 ชื่อคนที่ขึ้นชื่อด้วยส เสือ ม ม้า มีอะไรบ้าง สมชาย สมพงษ์ สมศักดิ์ อะไรก็ว่าไป สมมติได้ฐานข้อมูลตัวอย่าง ก็คือเงื่อนไขให้แสดงชื่อหนังสือกับราคา ที่ราคาหนังสือนะคะ มีค่าส่ง 150 บาท 1,000 เล่ม ไหนมี 250 มีไหม 1 เล่ม 500 มีไหม 500 มี 1 เล่ม 750 มีไหม ไม่มี 1,000 มีไหม เพราะฉะนั้น แสดงผล 3 เล่ม ถามว่าเราค้นหาไม่เจอแล้วมันเกิดอะไรขึ้นไหม ไม่เจอ ก็คือไม่เจอ ข้อมูลมาแล้วไม่มี 750 แค่นั้นเองนะคะ หรือการค้นหาหนังสือที่ราคาไม่อยู่ในราคาที่ 250 250 ตัดออกไป 500 เอาไหม ไม่เอา 500150 ไม่มี 1,000 ที่ตัดออกชั้นหนังสือเล่มที่มีหรือ ก็เขาบอกว่าไม่เอาซื้อ 250 ไม่เอา 500 750 ไม่เอา 1000 ค่าที่เหลือแค่นั้นเองก็คือการตัดออกนั่นแหละค่ะ อันนี้ประกันระบุราคามาแล้วเราจะระบุเป็นข้อความนะคะ ตัวอักษรก็ได้คำสั่ง in คราวนี้จะเป็นอย่างไร Like เหมือนกดไลค์นี่ล่ะ ก็จะเป็นการค้นหาส่งข้อความชื่อเต็ม ๆ ของเขา อาจจะเป็นส่วนของชื่อก็ได้ จำชื่อเขาไม่ได้ เขาชื่อสม สม พงษ์ พงษ์ อะไรแบบนี้ ส่วนของคำชื่อว่าสมพงศ์ จำคำที่ขึ้นต้นเขาไม่ได้ส่วนก็สามารถค้นหาได้เหมือนกันเป็นบางคนอาจจะพิมพ์คำว่า Microsoft ผิด หรือจำไม่ได้ ค้นหาได้เหมือนกัน เป็นบางส่วนของข้อความนะคะ โดยที่ค้นหาสูตรของข้อความใด ๆ โดยที่ไม่จำกัดตัวอักษร เราจะใช้เป็นตัว % หรือว่าตัว star เป็นดอกจันตรงนี้ก็ได้มีตัวอย่างให้ดูหรือไปส่งของข้อความใดที่มีขนาดแค่ 1 ตัวอักษรอันเดอร์สกอร์ หรือเครื่องหมายความ ถ้าในส่วนของโปรแกรม Microsoft access เราใช้เป็นเครื่องหมายคำถาม หรือวงเล็บ เป็นวงเล็บสี่เหลี่ยมแบบนี้ ก็คือให้ตัวอักษรใน ๆ ที่ปรากฏในช่องต้องเป็นตัวอักษรนั้นเท่านั้น ถ้ามีเครื่องหมายตกใจ ไม่เอาตัวอักษรนั้นนะคะ หรืออาจจะเป็นช่วงตัวอักษรก็ได้ ยกตัวอย่างแล้วกัน มันจะได้เห็นภาพนะคะ เช่น เงื่อนไขคือค้นหาชื่อหนังสือและตารางที่ชื่อหนังสือด้วย m ตามด้วยอะไรก็ได้ ไปเชียงใหม่เลยจนตอนนี้ขึ้นต้น ๆ นาฏศิลป์ ๆ กันด้วยอะไรบ้าง ในตารางเราดูสิคะขึ้นต้นด้วยตัว n มี 1 ชื่อ มี 2 ชื่อ เพราะฉะนั้น แสดงผล 2 อัน ขึ้นต้นด้วยตัว n นะคะ อันอื่นไม่ได้ขึ้นต้นด้วย N แล้ว เงื่อนไขต่อมา หาชื่อหนังสือที่ขึ้นต้นด้วยอะไรก็ได้ลงท้ายด้วยอะไรก็ได้ แต่ในชื่อนั้นมีตัว C ขึ้นต้นด้วยอะไรก็ได้ค่ะ ลงท้ายอะไรก็ได้นะคะ แต่ตรงในนั้นน่ะ ในคำนั้นน่ะต้องมีตัว C อันแรกชื่อแรกมีไหมคะ ตัว C ชื่อที่ 2 ขึ้นต้นด้วยอะไรก็ได้ลงท้ายด้วยอะไรก็ได้แต่นักสืบต่อมามีไหมมีตัว C มี ตัวนี้ก็มีนะคะ ตัวนี้ ถามว่าเสื้ออย่างไร ขึ้นต้นด้วยอะไรก็ได้ก็ได้ ขอให้มีตัว C เป็นประกอบ เพราะฉะนั้น ก็จะมีหนังสืออยู่ 4 เล่มนะคะ 4 เล่ม อันนี้คือผลลัพธ์ เพราะฉะนั้น บางที่นี่ อาจารย์อยากค้นหาชื่อนักศึกษานะคะ เขาไม่ได้จำได้แค่มีคำว่า "พร" อะไรสักอย่าง ฐานข้อมูลก็สามารถค้นหาให้เราได้เช่นเดียวกันนะคะ ตัวอย่างนี้ จะเริ่มสังเกตแล้วว่า ทำไมมีเครื่องหมายคำถามคดอกจัน ตัวนี้หมายความว่าอะไร1 ตัวอักษรเท่านั้นเป็น 1 ตัวมีตัวใกล้ดูเงื่อนไขกันเลย ถามว่าในหนังสือเล่มนี้ได้ไหม ไม่ได้ เพราะตรงก่อนนะตัว E มีตัวหนังสือก่อนหน้า 5 ตัว ชื่อผิดเงื่อนไขเครื่องหมายคำถามกำลังตัวเองจะต้องมีแค่ 1 ตัวเท่านั้นนะคะ เล่มนี้ล่ะ ตัว e แต่ก่อนหน้าตัว e มีหนังสือเยอะเลย ก็ไม่ได้ รุ่นนี้ได้ไหม สอนตามหลังได้ทุกทีได้ตอนนี้ไม่มีนะคะ เล่มนี้ก็ไม่ได้ เล่นไม่ได้ขึ้นต้นด้วยตัว E ขึ้นต้นด้วย 1 ตัว e แค่นั้น เขาจะนัดวันนี้จะซื้อแค่ 2 เล่มนี้ก็ไม่ได้กดหน้าตัวเองมีตัวหนังสือมากกว่า 1 ตัวผิดเงื่อนไข เงื่อนไขต่อมา นะคะ เงื่อนไขว่าให้ชื่อหนังสือขึ้นต้นด้วยตัว n หรือตัวo ตามหลังด้วยอะไรก็ได้นะคะ น่าจะมีอยู่ 4 เล่ม เล่มที่ขึ้นต้นด้วยตัวเองได้โอไหม ก็แสดงผลหนังสือ 3 เล่มนะคะ อันนี้เป็นการดูเงื่อนไขตามเงื่อนไเดี๋ยวอาทิตย์หน้าทุกคนจะต้องไปทำเองคนสร้างแล้วก็อาจจะกำหนดว่าให้คุณลองพิมพ์เงื่อนไขตามนี้ดูสิ ให้สดงผลตามที่จะกำหนดคุณก็ต้องพิมพ์คำสั่งที่ถูกสัปดาห์หน้าอาจารย์จะบอกว่าแสดงผลขึ้นต้นด้วยส เสือ กับตัวอ อ่าง อาทิตย์หน้านักศึกษาเขาทำได้ เพราะอาทิตย์นี้มีตัวอย่างแล้ว เงื่อนไขต่อมา ชื่อหนังสือที่ไม่ขึ้นต้นด้วยตัว m ตามหลังด้วยอะไรก็ เล่มเลย เล่มนี้เล่ม นี้เล่มนี้เล่มนี้ แค่นี้เอง ต่อมา จะเริ่มเป็นการปรับปรุงฐานข้อมูล จะเป็นการกำจัดข้อมูลที่อาจจะมีการซ้ำกันเกิดขึ้น ก็คือรายการซ้ำนะคะ มี 2 คำสั่ง ก็จะมีการใช้คำสั่งที่อาจจะกำจัดรายการข้อมูลซ้ำให้เหลือรายการเดียวนะคะ โดยใช้การกำหนดค่าต่าง ๆ เป็นเกณฑ์ กับคำสั่ง ถ้าจะมาเป็น DISTINC ทิ้งตัวนี้ ลบทิ้งแถวเดี๋ยวเรามาดูตัวอย่างกันนะคะ โดยคำสั่ง ก็คือให้เลือกกำจัดชื่อซ้ำ ชื่อที่ซ้ำนะคะ จากตาราง Student ดูในตาราง Student ในช่องชื่อนะคะ ดูเฉพาะชื่อนะ อันไหนชื่อซ้ำมีซ้ำ 1 คน ก็คือชื่อแดง เพราะฉะนั้น การแสดงผลก็จะเป็นแค่ 3 ชื่อที่เหลือ เพราะว่าแดงมีซ้ำ 3 คน เราจะตัดให้เหลือแค่ 1 แดงเท่านั้นนะคะ ข้อมูลอย่างอื่นเราไม่สนใจ เราแค่อยากรู้ว่าคนที่ชื่อซ้ำกันนี่ตัดชื่อออกนะคะ อันนี้คือคำสั่ง กับให้ตัดข้อมูลทิ้งทั้งแถวนะคะ อย่างตอนนี้ถ้ามันสำคัญจริง ๆ ถ้านักศึกษาสังเกตดี ๆ คนชื่อเดือนสำคัญก็จริงนะคะ แต่นามสกุลนี่ไม่สำคัญจะมีอันนี้ซ้ำทั้งชื่อทั้งนามสกุล ถ้าใช้คำสั่งนี้นะคะ มันจะตัดข้อมูลที่ซ้ำกันทั้งแถวออก นะคะ อันนี้ก็คือเดี๋ยวเราไปดูในโปรแกรมจริง ๆ ดีกว่านะคะ เพราะว่าอันนี้ตัวอย่างมันอาจจะดูไม่เห็นภาพไม่ชัดมันจะดูน้อยไป เดี๋ยวอาทิตย์หน้าเราได้ทำของจริงนี่ เราจะได้ทำเยอะกว่านี้นะคะ ต่อมา จะการเรียงลำดับข้อมูลนะคะ ก็จะใช้คำสั่ง Order by นะคะ ก็คือการเรียงลำดับนะคะ ก็คือเพื่อแสดงผลข้อมูลทั้งหมด จากตาราง book โดยให้เรียงลำดับตามราคา ถ้าเราไม่สั่งเพิ่มเติม มันจะเป็นการเรียงจากน้อยไปหามากนะคะ คำสั่งนี้ ก็คือ Order by Price ก็คือให้เรียงลำดับจากราคาจากน้อยไปหามาก ก็จะเรียนสับใหม่ สับเปลี่ยนลำดับที่เราสั่ง แต่ถ้าเกิดเราอยากเรียนจากมากไปหาน้อย เราจะต้องระบุเพิ่มด้วยว่าDESC ตัวนี้นะคะ มันจะมาถึงว่า เราเรียงลำดับราคาก็จริง ก็จะเรียงจากราคามากไปหาน้อย ต้องบอกด้วย หมดเวลาใช้เว็บในการซื้อของออนไลน์เหมือนกัน ไส้ในของโปรแกรมมัน ก็คือคำสั่งที่เราเรียนวันนี้นะคะ นักศึกษาจะได้เข้าใจ เพราะต่อไปเราจะไม่เป็นแค่ผู้ใช้งานแล้ว เราอาจจะได้เป็นผู้ดูแลระบบด้วยนะ กลับกันก็จะมีฟังก์ชันคำนวณคณิตศาสตร์ที่เกิดขึ้น ในการจัดการฐานข้อมูลด้วย อาจจะเป็นฟังก์ชันสำหรับการบวกการนับการหาค่าเฉลี่ยนะคะ ไอ้ AVG ตัวนี้ ก็คือมาจาก Everage คือ การหาค่าเฉลี่ยหาค่ามากที่สุดอันนี้เป็นประสาทอย่างง่ายไม่ต้องเอามาใช้ด้วยนะคะ เช่น ให้รวม ราคาทั้งหมด แล้วให้ตั้งชื่อใหม่หรือว่าsome Price ตัวนี้นะคะ ให้รวมราคาทั้งหมด ใส่ในคอลัมน์ใหม่ นะคะ ฟิลด์ใหม่จากตาราง book เพราะฉะนั้น ผลลัพธ์จากคำสั่งนี้ ก็คือเอายอดรวมราคาหนังสือทั้งหมดมาบวกกันให้เราได้ผลลัพธ์ตัวนี้นะคะ ก็ไม่ยาก ถ้าเราจำคำสั่งได้ ไม่ยากเลย มีบวกแล้ว ก็ต้องมีนับ ให้นับจำนวนจาก รหัสหนังสือทั้งหมด จากตาราง book โดยให้ชื่อคอลัมน์ใหม่ ชื่อว่า count bookก็คือให้นับจำนวน book ID ก็คือจำนวนทั้งสื่อทั้งหมดมีกี่เล่มก็นับมาได้ 7 เล่ม อันนี้คือมันง่าย มันมอง เรามองด้วยสายตาเราก็รู้ แต่ถ้าข้อมูลมันเยอะกว่านี้ล่ะ แล้วคุณจะรู้ได้อย่างไร ว่าจะมีหนังสือกี่เล่มสมมุติว่าให้คุณดูแลทั้งหมดของมหาลัย มันไม่สามารถยืนดูที่หน้าประตู แล้วบอกได้ว่าเรามีหนังสือกี่เล่มนะคะ มันก็ต้องบวกจากฐานข้อมูลแล้วสมมุติว่าเราไปฝึกงานแล้วมีที่ถามว่าไอ้เด็กฝึกงานไปดูสิว่ามีหนังสือกี่เล่มคุณจะไปเดินนับไม่ใช่เราสามารถสั่งได้จากฐานข้อมูลเลย ว่าวันนี้ในห้องสมุดมีหนังสือกี่เล่มนะคะ หรือในอนาคตคุณจะได้ฝึกงานแน่นอน เขาจะบอกว่าเด็กฝึกงานไปนับสิ ของในโกดังมีกี่ชิ้น คุณจะไปนั่งนับหรือ นะคะ มันก็สามารถมีวิธีการสั่งสารข้อมูลนี่แหละค่ะ ดูสินค้าเรามีกี่อย่างคุณจะไปนั่งนับมันไม่ได้หรอกค่ะ ในชีวิตจริงนะคะ คำสั่งนี้ก็ค่อนข้างจำเป็นนะคะ สำหรับใช้ในการฝึกงานหรือว่าทำงานในอนาคตนะหรือการหาค่าเฉลี่ยนะคะ ก็จะเป็นการหาค่าเฉลี่ยของราคา ของสินค้าทั้งหมด โดยให้ตั้งชื่อใหม่ชื่อว่า AVG(PRICE) ขายหรือว่า average Price เป็นค่าเฉลี่ยแสดงว่าเป็นเล่มนี้มีค่าเฉลี่ยต่อเล่นประมาณ140 2.14 ตรงนี้ มีใครต้องการต้องการข้อมูลจากเรา เราก็สามารถให้เขาดูได้ต่อมาเขาถามว่าหนังสือที่ถูกที่สุดในร้านเท่าไร คุณจะไปเดินหาก็ไม่ใช่ เราก็แค่สั่งให้ฐานข้อมูลแสดงผลสิว่าราคาสินค้าที่ถูกที่สุดนะคะ โดยกำหนดใส่ในใหม่ที่ถูกที่สุด ในตอนนี้มองด้วยสายตาเราก็ทราบล่ะ แต่อย่างที่อาจารย์บอกสินค้าเรามีเป็นหมื่นเป็นแสนชิ้น จะมานั่งไล่ดูเสียเวลาค่ะ ฐานข้อมูลจัดการได้ให้มันค้นหาให้คุณเลย ไม่เกิน 1 นาทีคุณรู้แน่นอนนะคะ หาราคาน้อยที่สุดแล้วก็อันนี้เป็น MAX(PRICE) นะคะ ก็ดูราคามากที่สุดได้เช่นเดียวกันออกมาเป็นการรวมกลุ่มข้อมูลนะคะ เป็นการรวมตามเงื่อนไขในเงื่อนไขตัวอย่างก็คือคำสั่ง Group by นะคะ เป็นการรวมกันของเงื่อนไขเช่นให้ดูช่องนี้นะคะ รหัสสำนักพิมพ์ รวมราคาออกมานะคะ รวมราคา ออกมาโดยที่ให้รวมเป็นตามเลขสำนักพิมพ์คำสั่ง ก็คือสำนักพิมพ์นี้เป็นง่าย ๆ นะคะ สำนักพิมพ์นี้มีหนังสือกี่เล่มรวมแล้วมูลค่าเท่าไรนะคะ อย่างเช่น สำนักพิมพ์หมายเลข 4 มีหนังสืออยู่ 3 เล่ม มันก็จะรวมให้ว่ามูลค่าหนังสือของสำนักพิมพ์นี้ราคาเท่านี้ สำนักพิมพ์ที่ 5 มีหนังสือกี่เล่ม ก็รวมมาจะมีเล่มเดียวก็รวมมา สำนักพิมพ์ที่ 12 มี 3 เล่ม รวมราคามาทั้งหมดได้เท่านี้ อันนี้คือคำสั่ง ก็คือจัดกลุ่มออกมานั่นเอง จัดกลุ่มข้อมูลเช่นนักศึกษาปี 3 ชายรวมแล้วมีกี่คน อาจารย์รวมโดยทั้งคณะหรือทั้งมหาวิทยาลัย แล้วแต่เรากำหนดเงื่อนไขนะคะ มันเงื่อนไขนอกเหนือจากที่เรากำหนดกลุ่ม เป็นรหัสสำนักพิมพ์ ถ้ามีสะท้อนเงื่อนไขเข้าไปอีก เราจะเพิ่ม Having เป็นคำสั่ง Having ตรงนี้เงื่อนไขเดียวมันไม่พอนะคะ เมื่อกี้นี้นะคะ เราเพิ่มเข้าไปอีกให้เป็นรหัสสำนักพิมพ์ที่มีค่ามากกว่าเท่ากับ 5 มันก็จะตัดสำนักพิมพ์ที่ 4 ออกไป เหลือแค่ 2 สำนักพิมพ์แล้วแต่เราจะเพิ่มเงื่อนไขอะไรเข้าไปอีกนะคะ เพราะอย่างที่บอกมุมมองการดูข้อมูลของผู้ใช้งาน แต่ละคนไม่เหมือนกันแล้วแต่ว่าเขาจะอยากดูข้อมูลแบบไหนอยากได้รายงานแบบไหนนะคะ ระบบจัดการฐานข้อมูลก็สามารถจัดการได้ทั้งหมดนะคะ เอามาจะเป็นส่วนของคำสั่งในการปรับปรุงฐานข้อมูล ก็คือเป็นการเพิ่มเพิ่มแก้ไขข้อมูล เพิ่มข้อมูลเราจะใช้คำสั่ง insert into แล้วก็ใส่ Value รูปแบบคำสั่งจะเป็นอย่างนี้นะคะ เช่นตัวอย่าง ข้อมูลเดิมจะอยู่ข้างบนด้านซ้าย คำสั่งที่เพิ่มเติม ก็คืออันนี้ก็คือยังไม่ระบุคอลัมน์นะคะ ให้ใส่คอลัมน์ไหน แต่ถ้าเราพิมพ์แบบนี้ แสดงว่าเรารู้แล้วว่าข้อมูลที่เราจะใส่มันจะเรียงลำดับตามนี้นะคะ ถ้าคุณสลับตำแหน่งมันจะไปสนใจสลับผิดสลับถูกไม่รู้นะคะ คำสั่งก็คือ insert into ตัวนี้นะคะ ให้ใส่ข้อมูลลงไปในตาราง Book ซึ่งมีค่าดังนี้ 1000 SQL 520 ผลลัพธ์ที่น่าจะอยู่ล่างสุดทำไมมันใส่คอลัมน์ถูกต้อง เพราะคำสั่งให้ใส่ข้อมูลนี่มันเลี้ยงมาถูกต้องอยู่แล้ว แต่ถ้าคุณสลับตำแหน่งผิดใส่ 520 มาอยู่ตรงนี้แทนนี่ มันก็จะกลายเป็น BookID 520 นะคะ แต่นี้ที่มันใส่ถูกเพราะว่าเราเรียงลำดับตามคอลัมน์ถูกต้องแค่นั้นเอง ต่อมาเพื่อความชัวร์เราระบุชื่อของไปด้วยก็ได้นะคะ ข้อมูล 10 10 10 ให้อยู่ในเลขใดดีนะ ชื่อหนังสือรหัสสำนักพิมพ์ คือ 5 ราคาคือ 250 ข้อมูลจะมาต่อท้ายด้านล่างตรงนี้ อันนี้ก็เพื่อป้องกันว่าเราจะใส่ข้อมูลผิดคอลัมน์หรือเปล่านะคะ อันนี้คือการเพิ่มข้อมูลนะคะ ง่ายมากคำสั่งมี iรสำหรับการเพิ่มข้อมูลต่อมาจะเป็นคำสั่งในการส่งข้อมูลหรือแก้ไขข้อมูลนะคะ จะใช้คำสั่ง UpdateSet ถ้ามีเงื่อนไขก็สามารถใส่เงื่อนไขเพิ่มได้นะคะ รูปแบบคำสั่งอัปเดต ก็คือปรับปรุงข้อมูลในตารางบุ๊กให้มีค่า คือ ให้ราคาทั้งหมดเพิ่มเข้าไปอีก 50 บาท พอพิมพ์ตัวนี้ปุ๊บราคาหนังสือจะเพิ่มขึ้นจากเดิม 50 บาททุกเล่ม เหมือนตัวนี้ค่ะ จากเดิมตัวนี้ไม่มีราคาหนังสือ ก็จะมีแล้ว 50 บาท อันนี้คือง่ายมาก ถ้าสมมติข้อมูลเรามีแค่นี้นี่ เรานั่งพิมพ์ที่ละร้านก็ได้ครับ แต่ถ้าสมมติเราเป็นมีของประมาณ 10 ชิ้น เขาบอกว่าเศรษฐกิจไม่ดีขอขึ้นราคาคุณจะมานั่งพิมพ์ใหม่ทุก อันเมื่อไหร่จะเสร็จเพิ่มขึ้นชิ้นละ 10 บาท มีของอยู่แสนชิ้นนั่งพิมพ์ไปแสนครั้ง แต่ถ้าเรารู้จักคำสั่งในระบบจัดการฐานข้อมูลพิมพ์ แค่ 2 บรรทัดมันเสร็จหมดเลยนะคะ นี่คือการปรับปรุงฐานข้อมูล อันนี้ก็คือประโยชน์หนึ่งของฐานข้อมูลนะคะ ถ้าเราไม่มีศาลมีคำสั่งต่อไปนี้เราต้องมาพิมพ์ใหม่เหนื่อยมาก ๆ นะคะ อันนี้คือประโยชน์เรารู้คำสั่งนะคะ มีเงื่อนไขเพิ่มเติม เงื่อนไขเพิ่มเติมนะคะ ให้ปรับปรุงราง Bookให้เงื่อนไขคือเศรษฐกิจมันดีแล้วของมันถูก ให้สินค้าลง 50 บาท เฉพาะรหัสสำนักพิมพ์ 12 เท่านั้น เฉพาะบางบริษัทก็ว่าไป อย่างเช่น วันนี้สินค้าราคาลงเฉพาะบริษัทนี้ เราก็สามารถเปลี่ยนแปลงราคาลงได้ พิมพ์เพิ่มอีก 1 บรรทัดนะคะ ถามว่าแล้วสินค้าในบริษัทอื่นจะเปลี่ยนไหม ไม่เปลี่ยนนะคะ เพราะเรากำหนดเงื่อนไขว่าเฉพาะสำนักพิมพ์ 12 เท่านั้นที่ลดราคาลง 50 บาท ตัวนี้นะคะ คำสั่งลบง่าย ๆ ค่ะ Delete from ก็ตามนี้เลยนะคะ ให้ลบข้อมูลจากตาราง Book โดยมีเงื่อนไขให้ลบเฉพาะ BookID ที่มีค่า 1010 จากจะมีตัวนี้เราก็ลบออกผลลัพธ์ที่ได้ก็จะเป็นแบบนี้ อันนี้คือคำสั่งอย่างง่ายที่เราจะเรียนในสัปดาห์หน้านะคะ เดี๋ยวอาทิตย์หน้า อาจารย์จะเตรียมข้อมูลมาให้นักศึกษาเพิ่มฐานข้อมูลเองพิมพ์เองนะคะ ตั้งค่าคีย์หลักเองกรอกข้อมูลเองทั้งหมด ลองลบข้อมูล ลองดึงข้อมูลเป็นรายงานออกมาด้วยตัวเองนะคะ สัปดาห์นี้จะให้ลองกลับทบทวนว่าคำสั่งที่จะใช้ select delete fromupdate set insert into อะไรก็ว่าไป มันจะเป็นอย่างไรบ้างนะคะ อาทิตย์หน้าเอานิ้วมือมาให้พร้อม เพราะเราต้องพิมพ์เองเครื่องใครเครื่องมันนะคะ เครื่องใส่เครื่องมันใครพิมพ์ภาษาอังกฤษไม่ค่อยคล่องก็จะได้คล่องนี่แหละอาทิตย์หน้านะคะ หัดพิมพ์บ่อย ๆ เพราะว่าการพิมพ์คำสั่ง SQL ที่สุดแล้วสำหรับการเขียนโปรแกรมนะคะ อาทิตย์นี้ก็จะประมาณนี้นะคะ เดี๋ยวเราอาทิตย์หน้าก็มาให้เร็วหน่อย เพราะว่าเราจะเป็นปฏิบัตินะคะ ก็ขอบคุณล่าม ขอบคุณถอดความนะคะ วันนี้ก็ประมาณนี้ค่ะ โอเคค่ะ ขอบคุณมากนะคะ