--- title: (มาริก-NORMAL) หลักการและระบบการจัดการฐานข้อมูล อ เกวลี วันที่ 17 มค 2566 subtitle: date: วันพุธที่ 10 พฤษภาคม 2566 เวลา 08.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) ระบบจัดการฐานข้อมูลนะคะ ก็จะเป็นโปรแกรม แต่มันก็จะใช้ภาษาเดียวกันคือภาษา SQL โปรแกรมในเครื่องเราถ้าไม่ได้ติดตั้งเพิ่มเติมก็จะมีอยู่แล้วนะคะ ก็คือ Microsoft Access มันก็จะมีความสามารถ ที่จะพิมพ์คำสั่งภาษา SQL ลงไปได้ด้วย แล้วก็ ในส่วนของตัวโปรแกรมนี้นี่หน้าตาการทำงานมันจะคล้ายๆกับโปรแกรม Excel ที่เราเคยใช้งานกันอยู่แล้วนะคะ เก็บข้อมูลในรูปแบบที่เป็นตารางเหมือนกัน เราก็จะได้ทำความเข้าใจกับมันง่ายขึ้นนะคะ เปิดตัว Microsoft Access นี่ รูปตัวโปรแกรม เป็นสีส้มๆนะมันจะเป็นโปรแกรมจัดการฐานข้อมูลเชิงสัมพันธ์อย่างที่เราเคยได้วาดรูปไปแล้ว ว่าแต่ละตารางควรจะสัมพันธ์กันอย่างไรนะคะ อยู่ที่โปรแกรมนี้นี่มันก็จะมีความสามารถ ทางการจัดการฐานข้อมูล แล้วก็สร้างโปรแกรมได้ในตัวเดียวกันก็คือเป็นโปรแกรมที่ค่อนข้างครบสำหรับการทำงานในฐานข้อมูลเบื้องต้นนะคะ มาเลยเหมาะกับการที่จะให้นักศึกษาได้เรียนรู้ แล้วก็พัฒนาโปรแกรมไว้ใช้งานนะคะ รวมถึง คนที่อาจจะไม่มีความรู้ในการเขียนโปรแกรมมากนักนี่ เราก็สามารถใช้โปรแกรมนี้ได้เช่นเดียวกันนะคะ เพราะ วิธีการแก้ค่อนข้างสะดวก แล้วก็ตัวโปรแกรมใช้งานง่าย คำสั่งไม่เยอะไม่ซับซ้อนวุ่นวายมาก หน้าตาตอนสร้างฐานข้อมูลก็จะเริ่มต้นประมาณนี้ เดี๋ยวเราค่อยไปดูในตัวโปรแกรมกัน จะมีส่วนการทำงานหลักๆอยู่ด้านบนนะคะ อาจจะเรียกว่าเป็นริบบอนข้างบน ในรูปนี้จะเป็นเกี่ยวกับ การกำหนดโครงสร้างของตาราง นะคะ แล้วก็การกำหนดหน้าจอสำหรับบันทึกข้อมูลหรือแสดงข้อมูลเราก็สามารถทำได้ การสร้างรายงานนะคะ เช่น สมมุติมีรายชื่ออยู่ 10 รายชื่อ เราอยากให้ออกเป็นรายงานเฉพาะชื่อที่เป็นผู้หญิง เราก็สามารถสร้างรายงานออกมาได้เหมือนกัน รวมถึง การสืบค้นการเรียกดูข้อมูลอื่นๆตามเงื่อนไขแล้วก็สามารถทำได้ การเรียกดูข้อมูลนี้เราจะใช้คำสั่ง SQL เราจะพิมพ์ด้วยตัวเอง เราจะไม่ใช้โปรแกรมสำเร็จรูปทุกอย่างเราจะได้รู้ว่าเวลาเราใช้ภาษา SQL นี่ ทำงานอย่างไรนะคะ โดยตารางที่อยู่ใน โปรแกรม access นะคะ รูปแบบของตารางนี่ เธอไม่เป็น มาตรฐานของการจัดเก็บข้อมูลในรูปแบบข้อมูลอยู่แล้ว ถ้าเราต้องการจดบันทึก และเก็บข้อมูลหนี้ เราก็จะต้องสร้างตารางขึ้นมาก่อน ถึงจะใช้งานได้ วันอาทิตย์ก่อนๆที่อาจารย์ให้นักศึกษาลองเปิดโปรแกรมดูนี่บางคนจะยังพิมพ์อะไรลงไปไม่ได้เลย เพราะเรายังไม่มีตาราง นะคะ มันจะดูเหมือนกดอะไรไม่ได้เพราะเรายังไม่ได้เริ่มสร้างตารางเลยนะคะ การสร้างตารางในที่นี้ ก็คือการตั้งชื่อ แล้วก็กำหนดโครงสร้างของตารางด้วย นั่นก็คือเราก็จะมี ถ้าใน Excel ก็จะเป็นคอลัมน์ Column ใช่ไหมคะใน access ก็เหมือนกัน เราก็จะดูว่า หัวคอลัมน์แต่ละคอลัมน์ก็คือฟิวนี่แหละนะคะ มันจะมีชื่อว่าอะไรบ้าง แล้วก็คุณสมบัติของข้อมูลที่บรรจุลงไปในนั้นนี่ มีอะไร ราคา เช่นเป็นตัวหนังสือเท่านั้นหรือเป็นตัวเลขผสมกับตัวหนังสือ ได้รับเฉพาะตัวเลข ค่าตัวเลขจะต้องไม่เกิน 10 ตัว อะไรก็ว่าไปรวมถึงต้องกำหนดคีย์หลัก ธนาคาร การกำหนดคีย์หลักในโปรแกรม access นี้ก็ง่าย กดปุ่มเดียวก็เสร็จเลยนะคะแล้วก็กำหนดความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป ว่า มันเชื่อมต่อกันอย่างไรนะคะ ตัวอย่างโครงสร้างของฐานข้อมูลนี้ ทบทวนกันอีกรอบนะคะ ที่โชว์อยู่ในหน้าจอตอนนี้ก็คือเราเรียกว่าตารางนะ นะคะ มีแถวมีคอลัมน์ นะคะ แนวตั้งหรือจะเรียกว่าคอลัมน์ ข้อสอบในระบบจัดการฐานข้อมูลก็คือฟิว อย่างตารางนี้มี 4 ฟิวส์ก็คือ 4 คอลัมน์ อีสานเรคคอร์ด ก็คือ 3 แถวข้อมูลนะคะ อันนี้เป็นตัวอย่าง ข้อมูลผู้ป่วย นะคะ ไอ้ตัว H n e มันย่อมาจากรหัสผู้ป่วยนะคะ Hospital Number มีชื่อนามสกุลมีที่อยู่อันนี้เป็นตัวอย่างการเก็บข้อมูลอย่างง่ายนะคะ ตัวอย่างอย่างง่าย ส่วนในตัวโปรแกรม เราจะสร้างตารางนะคะ ตัวที่เราจะมากำหนดคุณสมบัติ ของคอลัมน์แบบเมื่อกี้นี้ ราคา เราจะมากำหนด ตรงส่วนการดีไซน์ก็คือการออกแบบ มันก็จะถามว่าอย่างในส่วนตรงนี้ อันนี้มันเป็นเมนูภาษาอังกฤษอ่ะค่ะ ชื่อคอลัมน์อะไรนะคะ เก็บข้อมูลชนิดอะไร บางทีตัวใหญ่ดีนี่ ถ้าเราไม่ได้กำหนดค่ามันจะเป็นออโต้ มันจะเพิ่มไปเรื่อยๆ ตามจำนวนที่เราเพิ่มเข้ามา แต่เราสามารถระบุเองก็ได้ค่ะ บางทีเราไม่อยากได้ตัวเลข 1 2 3 4 5 ไปเรื่อยๆ บางทีก็เป็นอย่างนั้นไม่ได้ทุกระบบ มันอาจจะต้องมีตัวหนังสือ ที่มันมาผสมกับตัวเลขอย่างรหัสหนังสือแล้วนี่ เข้ามาใหม่เราจะรัน 1 2 3 4 5 ไปเลยไม่ได้ มันจะต้องกำหนดเฉพาะ เช่นขึ้นต้นด้วยปีการศึกษาตามด้วยรหัสคณะ เอามาด้วยรหัสหลักสูตร แล้วค่อยไปถึงเลขที่ของเราว่าเลขเราเลขที่อะไร ราคา ตัวอย่าง ถ้าเป็นการทำงานในการจัดการตารางจริงๆนี่ มันจะไม่ได้มีข้อมูล แค่นิดเดียวอย่างที่เราเคยเห็นอย่างด้านซ้าย น่าจะเป็นตัวอย่าง ของตารางทั้งหมดที่มันเอามาเชื่อมโยงกัน มีไม่ต่ำกว่า 20 ตารางนะคะถ้ามันเป็นระบบงานใหญ่ๆ รวมไปถึง การกำหนดด้วยว่า ข้อมูลแต่ละชนิดที่เข้ามาในอย่างเช่น ID เขากำหนดให้เป็นตัวเลข ให้มันเพิ่มขึ้นไปเรื่อยๆอัตโนมัติ ส่วนเลขประจำตัวผู้ป่วย เขาจะให้กรอบ ราคา แล้วให้มีคำอธิบายด้วยว่าไอ้คำย่อหรือหัวตารางนี่ ถ้าเป็นภาษาไทยน่ะคืออะไร นะคะ ยัง osn ก็คือเลขบัตรเดิมต้องพิมพ์อย่างไร หรือไม่ต้องเป็นต้องพิมพ์ใหม่ชื่อแรก ไม่ต้องพิมพ์ นามสกุลเราจะกำหนดตรงนี้ด้วยคำอธิบายนะคะ บ้านในสวน ของฐานข้อมูล จะเรียกว่าเป็นพจนานุกรมข้อมูล Data Dictionary คือสิ่งที่เราต้องบอก สมมุติคุณเป็นโปรแกรมเมอร์ใหม่ที่มาทำงานเห็นคำย่อ TT Mary คืออะไร สมมุติเรามาทำงานต่อจากเขาแล้วเขาไม่เขียนอธิบายไว้ว่าให้คำศัพท์คำนี้ มันคือข้อมูลอะไรที่ต้องตอบ นะคะ สถานภาพสมรสเขาไม่ได้บอกเราไว้ เราก็จะต้องมา กว่าจะทำความเข้าใจว่า สรุปข้อมูลนี้ เขาต้องการข้อมูลอะไรกันแน่เพราะฉะนั้นการเขียนคำอธิบายก็ค่อนข้างจำเป็นสำหรับการจัดการฐานข้อมูลนะคะ ส่วนด้านล่าง จะเป็นการบอกขนาดของข้อมูล นะคะ เช่น จำนวนเงินเดือน เงินเดือนน่าจะไม่มีแค่ 2 หลัก บางคนเงินเดือนเงินเดือนเยอะบางคนเงินเดือนน้อยก็เราก็สามารถกำหนดว่า เลขที่สามารถเจาะเข้าไปนี่มากขนาดไหนเงินเดือนอาจจะยังไม่เห็นภาพ ถ้าสมมุติมาเป็นคอลัมน์ ที่เกี่ยวกับงบประมาณประเทศ ที่ต้องกรอกตัวเลขเยอะๆ เลข 67 หลักมันไม่พอแน่นอน นะคะ เราต้องมากำหนดตรงนี้ด้วยว่าข้อมูลที่ใส่ได้ ควรจะเป็นข้อมูลขนาดไหน หรือบัตรประชาชนเรามากำหนดเลยว่าให้กอดได้แค่ 13 หลัก เราก็จะมากำหนดตรง Property ข้างล่างตรงนี้ การสร้างตาราง โดยใช้มุมมองการออกแบบ นะคะ มันจะมีการกำหนดว่าชื่อของฟิวส์ก็คือชื่อแต่ละคอลัมน์ ควรตั้งชื่ออะไร ควรจะต้องให้มีความหมาย แล้วก็ไม่ยาวจนเกินไป แล้วก็ ห้ามใช้สัญลักษณ์พิเศษ พวกเครื่องหมายคำถาม เครื่องหมายแฮชแท็ก อะไรพวกนี้ จุดจุดจุด อันเดอร์สกอร์ ขีดเส้นใต้เราจะไม่ใส่ รวมถึง ประเภทของข้อมูล ก็คือชนิดของข้อมูลที่จัดเก็บในคอลัมน์หรือฟิวส์นั้นๆ เช่นรหัสสินค้า มันควรจะเป็นได้ทั้งตัวเลขและตัวอักษรผสมกัน ส่วนราคา ราคา ควรจะเป็นตัวเลขอย่างเดียว เราจะไม่พิมพ์ 500 แล้วใส่กอไก่อีก 2 ตัวแทนเลข 0 ไม่ใช่นะคะ เพราะฉะนั้น 500 เป็นตัวเลขอย่างเดียว สมมุติถ้าข้อมูลอันนั้น จะต้องนำไปคำนวณ นะคะ ควรจะเป็นข้อมูลชนิดอะไร เช่นอายุ เป็นตัวเลขหรือวันที่ เราก็ต้องมาพิจารณาข้อมูลตรงนั้นด้วยนะคะอย่างเช่นวันเข้าทำงาน วันแรกปัจจุบันเขาทำงานมาแล้วกี่ปีก็จะใช้วันที่ในการคำนวณนะคะ เราก็ต้องพิจารณาตรงนี้ด้วยถ้าสมมุติคนไปทำฐานข้อมูลด้วยตนเอง ข้อมูลที่เป็นข้อความหรือเป็นเท็จนะคะ ไม่ได้เป็นข้อมูลตัวอักษรตัวอักษร เลขทำไมบอกเป็น Text ตัวเลขที่ไม่ได้ใช้ในการคำนวณเช็ครหัสนักศึกษา คนเราจะไม่เอามาบวกกัน มันไม่มีผล เอามาคำนวณนะครับเป็นตัวเลขบอกรหัสเฉยๆ สัญลักษณ์ เครื่องหมาย บางคนจำเป็น ต้องใส่สัญลักษณ์ คำนำหน้าชื่อบางคนก็จะพิมพ์นางสาว บางคนพิมพ์นอน มันก็จะพิมพ์สัญลักษณ์ เครื่องหมายที่ผสมกัน รวมถึงตัวเลข ก็ตัวเล็กนี่ก็จะมีหลายประเภทเหมือนกัน ก็จะเป็นข้อมูลที่เป็นตัวเลขอาจจะเป็นจำนวนเงิน การเก็บเงิน ก็มีให้เลือกหลายรูปแบบนะคะ ถ้าเราเลือกข้อมูลเป็น B ข้อมูลที่เราเก็บได้จะมีค่า 0-255 เท่านั้น แล้วจะเป็นข้อมูล เต็ม ใส่ทศนิยมไม่ได้ ข้อมูลที่เป็น integer จะเป็นค่าตัวเลขระหว่าง - 3 หมื่นกว่า ไปจนถึง 30,000 บาทจำนวนเต็มบวกนะคะเป็นเต็มบวกกับเต็มลบไม่มีทศนิยม ถ้าเป็น long integer เมื่อกี้จากหลักหมื่น มันจะกลายเป็นประมาณ 2000 ล้าน วันนี้ เหมาะกับการใส่ประมาณที่เยอะมากๆ หรือข้อมูลเงินใดๆก็ตามที่เป็นตัวเลข ที่มากกว่าค่าอินเวอร์เตอร์ธรรมดาขึ้นไปนะคะ Single จะเป็นตัวเลขที่มีจุดทศนิยมนะคะ อาจจะมีค่าจนถึงติดลบ เป็นทั้งทศนิยมที่เป็นเต็มลบและเต็มบวกนะคะ ต่อมา Double ใช้กับตัวเลขที่เป็นจุดทศนิยมเช่น สมมุติเราไปซื้อของ เราจะเห็นว่าเขาคำนวณเป็นจุดทศนิยมให้เราด้วยสมมติว่าการเขียนโปรแกรมในการเก็บข้อมูลของเขา ขอแสดงผลจนถึงทศนิยม 1 ตำแหน่ง 2 ตำแหน่ง 3 ตำแหน่งก็ว่ากันไปแต่ส่วนมากถ้าเป็นค่าเงินเราจะใช้แค่ 2 ตำแหน่งนะคะ ต่อมาวันที่เวลา ระบุข้อมูลที่เป็นรูปแบบวันที่เป็นคศหรือผช ก็แล้วแต่เราจะระบุก็ได้ โดยที่ มันอาจจะเป็นระบบเต็ม มีทั้งวันที่และเวลา แต่ส่วนมาก เราจะใช้แบบวันเดือนปีแค่นั้น กลับ Yes No questions ใช่หรือไม่ มันจะเป็นคำตอบ สำหรับข้อมูลที่เป็นตรรกะที่มีอยู่ 2 ค่า ก็คือจริงกับเท็จ เช่นตอนนี้คุณเป็นนักศึกษา เขาจะถามว่า จริงหรือเท็จ คุณเป็นนักศึกษาอยู่ก็ตอบว่า Yes แปลว่าใช่ จบแล้วอาจจะบอกว่า No นะคะ กลับ oss นะคะ มันจะเป็นข้อมูลที่ใช้ในการแนบรูปภาพนะคะฐานข้อมูลบางอย่างเขาให้เราแนบรูปภาพด้วย เช่น ที่เราสมัครอาจจะเป็นสมาชิกหรือสมัครเรียนหนังสือ หรือสมัครสอบ ก็จะให้เราแนบรูปภาพแนบใบเสร็จ ระบบขายของแบบ ใบเสร็จโอนเงิน แนบเป็นรูปภาพมาด้วยนะคะ ส่วนที่ 3 จะเป็นส่วนของการกำหนดค่าอย่างที่อาจารย์ให้ดูเมื่อกี้ในภาพนะคะ ก็จะเป็นการบอกขนาด ข้อมูลที่จะเก็บเรากำหนดได้เลย แล้วก็รูปแบบของการแสดงผลข้อมูลจะเป็นอย่างไร การป้อนข้อมูลจะเป็นลักษณะไหน เราสามารถกำหนดได้นะคะ กำหนดคำอธิบายข้อมูลเช่น ก่อนที่เราจะกรอกข้อมูลลงไปนี่ในระบบบางอัน เอาเมาส์ไปชี้ เขาก็จะมีคำอธิบายว่า ในช่องนี้ ให้กรอกข้อมูลแบบไหน ถ้าเราบอกว่าให้กรอกรหัสบัตรประชาชนเพราะเอาเมาส์ไปชี้ปุ๊บ จะบอกว่าให้กรอกเลข 13 หลัก เป็นต้น นะคะ กับอาจจะมีการกำหนดค่าเริ่มต้น เช่น ขอถามวันเกิดส่วนมากวันเกิดค่าเริ่มต้นของเขาจะเป็นวันที่ 1 มกราคม ปี 2000 อะไรก็ว่าไป ก็จะเป็นค่าเริ่มต้นถ้าคนไม่ได้เกิดวันนั้นคุณก็เปลี่ยนค่าอื่น หรืออาจจะเป็นเงินบริจาค นะคะ คันเริ่มต้นอาจจะเป็น 10 บาท คุณอาจจะเป็น เปลี่ยนค่าก็ได้ กับการกำหนดเงื่อนไขของข้า ราคา เช่นเงินเดือน ต้องเป็นบวกเสมอ จะบอกว่า ก็ทำเงินได้เท่าไหร่คุณบอกว่าติดลบ 5,000 บาทเคยยังไม่ได้ทำงาน เป็นหนี้ไปเรื่อยๆก็ไม่ใช่ ถ้าบังข้าจะต้องเป็นห่วงเสมอ เช่นอายุ ต้องเป็นจำนวนเต็มบวกเต็มลบไม่ได้ นะคะ กับการคำนวณข้อความที่แสดงถ้าใส่ข้อมูล ส่งเงื่อนไข เช่นใส่อายุเป็น -20 มันก็จะมีคำสั่งแจ้งเตือนขึ้นมาว่า ให้ใส่ข้อมูลที่เป็นค่าบวกเท่านั้นนะคะ ก็จะเป็นแบบนี้ สามารถกำหนดได้รวมถึง ข้อมูลที่จำเป็นต้องกรอกจะเว้นว่างไม่ได้ เช่น เลขบัตรประชาชน จะบอกว่าคนไม่มีเลขบัตรประชาชนเป็นไปไม่ได้ เพราะฉะนั้นต้องกดทุกครั้งหรือ อาจจะเป็นแบบฟอร์มค่าสมัครใดๆก็ตาม หมายเลขบัตรประชาชนเป็นข้อมูลจำเป็นที่ต้องออกเสมอนะคะ จะปล่อยวางไม่ได้ การกำหนดค่าคีย์หลัก นะคะ ก็ทำได้ง่ายมากถ้าในโปรแกรม ก็คือ คุณจะเลือกค่าไหน ที่เป็นที่รัก เช็คที่คอลัมน์นานๆแล้วกดไอ้ตัวลูกกุญแจ กุญแจจะหมายถึงคีย์หลัก หรือว่า Primary Key นั่นแหละ นะคะ แค่เลือก แล้วกด มันจะเป็นการแจ้งในระบบเลยว่า ให้ข้านี้ คือค่าคีย์หลักของตารางนี้นะคะ กับความสัมพันธ์ จะเป็นการสร้างความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป โดยที่เราจะมีการพิจารณาเรื่องคีย์นอก ที่มันจะอ้างถึง ที่รักของอีกตารางหนึ่งนะคะ ก็อันนี้ก็เราจะลองทำในตัวโปรแกรมว่ามันจะอ้างอิงกันอย่างไรนะคะในตัวโปรแกรมนี่มันก็จะง่ายมากค่ะ มันจะมีตัวให้เรากดได้เลย ตามลูกศรสีแดงชี้นะคะ โปรแกรมห้องข้างสำเร็จรูปเลยนะคะ ว่าเราจะใช้คีย์หลักอย่างไรอันไหนเป็นความสัมพันธ์นะคะ ก่อนที่เราจะทำสิ่งเหล่านี้ได้เราต้องรู้แล้วว่า ตารางเที่ยวสร้างหนี้ ความสัมพันธ์กันอย่างไร เพราะเราเคยวาด VR diagram มาแล้ว เหมือนตัวอย่างที่อาจารย์ให้ทำร้านหนังสือ ผู้แต่งหนังสือ กลับหนังสือ เขาควรจะมีความสัมพันธ์กันอย่างไรนะคะ อย่างเช่นตัวอย่าง ถ้าเราสร้างความสัมพันธ์ได้แล้วมันจะเป็นแบบนี้ค่ะ มันจะมีการโยงเส้นของ 2 ตาราง ให้ดูเลยว่า ตารางนี้กับตารางนี้ เขามีความสัมพันธ์กัน จากตารางนี้ค่ะ ส่งตารางนี้ มีความสัมพันธ์ แบบหนึ่งกับมากกว่าหนึ่ง อย่างที่อาจารย์เคยบอกว่า ในแต่ละโปรแกรม ในแต่ละหนังสือ สัญลักษณ์เครื่องหมาย อาจจะไม่ได้ใช้ตัวเองอย่างที่อาจารย์สอน แต่มันเป็นความหมายเดียวกัน ซื้อวัน True Money ก็คือ 1 มีความสัมพันธ์มากกว่า 1 คืออะไร เพราะฉะนั้นแล้วอ่านหนังสือบางเล่มเขาจะเขียนแบบนี้ ให้เราเข้าใจว่ามันมีความหมายเดียวกันแต่แค่มันต่างกันที่สัญลักษณ์เฉยๆ ถ้าเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่งนะคะ หนึ่งต่อหนึ่ง บางรูปแบบ มันจะไม่เขียนกำหนดไว้เลยเขาให้รู้ด้วยตัวเองว่า มันเป็นความสัมพันธ์แบบไหน วัดทุกวัน นะคะ ข้อพิจารณาในการสร้างฐานข้อมูล เราต้องรู้ว่า เราจะสร้างฐานข้อมูล เพิ่งมาทำงานเกี่ยวกับระบบอะไร เหมือนในตัวอย่างก็คือร้านเช่าหนังสือร้านขายหนังสือ ร้านขายหนังสือต้องมีตารางอะไรบ้าง ราคามันอาจจะไม่มีแค่ 3 ตัวอย่าง ที่อาจารย์ยกตัวอย่างมันมากกว่านั้น ควรจะเช่าหรือควรจะขายควรจะมีระบบสมาชิกใหม่นะคะ รวมถึงรายละเอียดในตาราง ข้อมูลจะต้องเก็บอะไรบ้าง ไฟตกหรือ ต่อไปก็ต้องดูว่า ตาราง อะไรคือคีย์หลัก ก็คือค่าที่ห้ามซ้ำกันนั่นเองอันนี้เราจำได้นะ ความสัมพันธ์ของตารางข้อมูลความสัมพันธ์แบบไหนนะคะ เมก้าที่ต้องมาประมวลผลมีการคำนวณไหม นะคะ เช่น อายุสมาชิก หรือวันเข้าทำงาน ทำงานมาแล้วกี่ปีเพื่อพิจารณาเงินเดือนก็ว่าไปนะคะ การจัดการแสดงผลออกทางหน้าจอเป็นอย่างไรสามารถปริ้นออกมาเป็นรายงานได้ไหม ข้อมูลเบื้องต้น ที่จะใส่ใส่แล้วเป็นอย่างไร เอาไปใช้กับระบบงานอะไรเอาไปผนวกแล้ว มันมีปัญหาไหมนะคะ อันนี้คือข้อพิจารณาในการสร้างข้อมูลขึ้นมาจากระบบหนึ่งระบบเล็กๆก็ต้องพิจารณาตามนี้เช่นเดียวกัน นะคะ ก่อนที่เรา จะเรียนในตัวโปรแกรมเราต้องมารู้จักคำสั่ง ที่เราจะสั่งให้ฐานข้อมูลมาทำงานก่อนนะคะ ภาษาที่ใช้ในการจัดการฐานข้อมูลอย่างที่บอกค่ะ ภาษา SQL structured Query language ตัวนี้ นะคะ การเรียนภาษา SQL ก็จะเรียนรู้คำสั่งพื้นฐาน สำหรับ การสร้างโครงสร้างฐานข้อมูลคำสั่งในการเรียกดูข้อมูล คำสั่งสำหรับการปรับปรุงข้อมูล เพิ่มลบแก้ไข อันนี้เราต้องทราบนะคะ ซึ่งภาษา SQL นี่เป็นภาษาทางด้านฐานข้อมูล ที่ได้รับความนิยมมากที่สุดนะคะ เป็นชุดคำสั่งที่ใช้ในการจัดการฐานข้อมูลและข้อมูลในฐานข้อมูลนะคะ ปุ่มคำสั่งของภาษา SQL จะมีอยู่ 3 กลุ่มคำสั่ง คำสั่งแรกก็จะเป็นคำสั่งที่ใช้สำหรับการสร้างฐานข้อมูลกำหนดโครงสร้างฐานข้อมูลด้วยนะคะ กำหนดโครงสร้างของตารางกลุ่มที่ 2 จะเป็นกลุ่มคำสั่ง ใช้สำหรับเพิ่มลบเปลี่ยนแปลง ก็คือการปรับปรุงข้อมูลนั่นเองนะคะส่วนกลุ่มที่ 3 จะเป็นกลุ่มคำสั่ง ที่ใช้สำหรับสร้าง แล้วก็กำหนดโครงสร้างให้กับตารางนะคะ อันนี้จะเป็นภาษา ที่ไม่ได้แค่ สำหรับนิยามข้อมูล เป็นการสร้างด้วยนะคะ อยากได้ไซส์อาจารย์วันนี้นี่ ถ้าเราเห็น ทรงกระบอกแบบนี้นี่ ถ้าในหนังสือ แนวทางเชิงสากลนี่ ถ้าเราใส่รูปทรงกระบอกแบบนี้ในสัญลักษณ์ใดๆที่เป็นโครงสร้างทางคอมพิวเตอร์นี่ เขารู้เลยว่า อันนี้คือฐานข้อมูลนะคะ ส่วน ข้อมูลผลลัพธ์ ถ้าเป็นรูปภาพแบบนี้แสดงว่าเป็นการแสดงผลรายงานนะคะ ตอนนี้ก็เวลาคน อ่านหนังสือเจอหนังสือเล่มอื่น ขอให้เข้าใจว่า ก่อนที่จะออกฐานข้อมูล ใช้คำสั่งเพื่อเรียกดูรายงานออกมา ผลลัพธ์ของรายงานเป็นอย่างไรนะคะ อันนี้เป็นโครงสร้างคำสั่ง ภาษา SQL สำหรับการสืบค้นนะคะ คำสั่งที่ใช้ในการสืบค้นคำสั่ง ที่ใช้บ่อยที่สุด ก็คือคำสั่ง select ตัวนี้ select2 นักศึกษาบางคน พิมพ์ ทำไมคนเราไม่ได้เหมือนเพื่อนบางทีพิมพ์ผิดนะคะ บางครั้ง ก็จะตกใจไม่ต้องตกใจ ผลลัพธ์ วิ่งออกมา ลองมาไล่ดูว่าเราพิมพ์อะไรผิดไปหรือเปล่า ลืมสัญลักษณ์อะไรใหม่ ทำอะไรหรือเปล่า นะคะ ก็เช็คด้วย หน้ากากนักร้อง ตามด้วย นะคะ Siri ก็คือเราจะเลือกว่าเราจะแสดงผลข้อมูลอะไร อย่างที่บอกนะคะ ต้องพยายามภาษาอังกฤษนิดนึง มันจำเป็น นะคะ from ก็คือเราจะเลือกข้อมูลจากตารางไหนนะคะ where หมายถึงว่ามีเงื่อนไขในการค้นหาว่าอย่างไรบ้าง บ่าย ข้อมูลจะถูกรวมเป็นข้อมูลเดียวกันหรือไม่นะคะ มีเงื่อนไขอะไรไหม รวมถึงการจัดเรียงอย่างไร เดี๋ยวจะมีตัวอย่างคำสั่งมาให้ดู อาทิตย์นี้ดูตัวอย่างคำสั่งไปก่อนนะคะ อันนี้เป็นตัวอย่างของข้อมูลนะคะ สไลด์หลังจากนี้ไปเราจะดูคล้ายๆแบบนี้เหมือนกัน มีตารางอยู่ 2 ตารางนะคะ ต่างแรกเป็นตารางหนังสือ ตารางที่ 2 จะเป็นตารางสำนักพิมพ์ นะคะ หลังแรกก็จะมีรหัสหนังสือชื่อหนังสือ รหัสสำนักพิมพ์ ราคา นะคะ ตารางที่ 2 ก็จะเป็นตารางสำนักพิมพ์ มีรหัสสำนักพิมพ์ แล้วก็ชื่อสำนักพิมพ์นะคะ คำสั่งจะแสดงผลมุมบนขวาตรงนี้น่ะค่ะ ผลลัพธ์ที่ได้จาก ภาษา SQL จะอยู่ด้านล่างนะคะ ตัวอย่าง คำสั่งในการสืบค้นข้อมูล 1 ตารางคำสั่งที่ง่ายที่สุด คือ select from ราคาเวลาอ่านคำสั่ง เราจะดูตรงนี้นะคะตรงนี้ ขึ้นต้นคำสั่งว่าอะไรดูตรงนี้นะคะ ตัวอย่าง การสืบค้นแบบ 1 ตารางนะคะดอกจัน หมายถึงว่าเอาข้อมูลทุกๆคอลัมน์ หรือเราจะสามารถระบุได้ว่าเราจะเอาข้อมูลเฉพาะคอลัมน์ไหน จากตารางอะไร นะคะ ตัวอย่างเช่นตัวนี้ นะคะ ให้แสดงผลข้อมูลทุกแถวและทุกคอลัมน์ คำสั่งก็คือซีเล็ค ไปเข้าหมายดอกจันจะเป็นสตาร์นะคะ select Start From book ก็คือเอาข้อมูลทุกแถวทุกคอลัมน์จากตาราง book ผลลัพธ์ที่ได้ก็แสดงผลข้อมูลทั้งหมดที่อยู่ในตารางบุ๊คนั่นเอง ถามว่าคำสั่งนี้ ใครสั่ง บางครั้งอาจจะเป็นคนที่ดูแลฐานข้อมูล หรือผู้ใช้งาน ต้องการจะเรียกดูข้อมูลในลักษณะนี้ คำสั่งที่เกิดขึ้นที่สั่งให้คอมพิวเตอร์ทำงานก็คือ select from ราคา อันนี้คือ select Star ก็คือเอาทุกแถวทุกคอลัมน์ แต่ถ้าเราไม่เอาทุกแถวทุกคอลัมน์ล่ะเรากำหนดได้ไหมกำหนดได้ค่ะ คำสั่งต่อมา เบนซินเล็ก ก็คือเลือก ชื่อกับราคา จากตาราง book ผลลัพธ์ที่ได้จากคำสั่งนี้ เราจะแสดงผลเฉพาะชื่อ ราคาของหนังสือเท่านั้น เพราะว่าอย่างที่อาจารย์เคยบอกมุมมองของผู้ใช้งานไม่เหมือนกัน บางคนอยากดูข้อมูลทั้งหมด บางปูอยากดูข้อมูลแค่ 2 อย่าง สามารถทำได้ไหม ดูข้อมูลอย่างเดียวก็ทำได้ แค่เราต้อง บอกให้ถูกว่าคุณอยากดูข้อมูลจากตารางไหนคอลัมน์อะไรระบุไป ระบบจัดการฐานข้อมูลจะดึงข้อมูลขึ้นมาให้เราดูนะคะ ต่อมา ถ้าเป็นการสืบค้นแบบมีเงื่อนไขล่ะ แค่เอาคอลัมน์มันไม่พอเราอยากเพิ่มเงื่อนไขคำสั่งใช้ในการเพิ่มเงื่อนไขคือคำสั่งเวร นะคะ มันก็จะเป็นเส้นเล็กเฟิร์มแวร์ไล่ลำดับลงมานะคะ โดยอาจจะมีเงื่อนไข อาจจะเป็นเงื่อนไขในการเปรียบเทียบ เวลาเปรียบเทียบราคาดูสัญลักษณ์ตรงนี้ มันจะเป็นมากกว่า นะคะ มากกว่าเท่ากับ น้อยกว่า นะคะ พวกนี้ น้อยกว่าเท่ากับ มากกว่าเท่ากับ เท่ากับ อันนี้เป็นเท่ากับมากกว่าน้อยกว่าอะไรอย่างนี้นะคะ เดี๋ยวจะทำตัวขั้นให้ OK หรือการรวบรวม เป็นและเป็นหรือคล้ายๆกับวิชาคณิตศาสตร์ที่เราเรียนไปแล้ว เป็นการปฏิเสธ เช่น ไม่เอานักศึกษาชายอย่างนี้นะคะ ตรวจสอบค่า ของข้อมูลว่าง ให้มันตรวจดูสิว่าข้อมูลตรงไหนมีช่องว่างข้อมูลตรงไหนหายไป ตรวจสอบเป็นช่วง เช่น ช่วงอายุระหว่าง 15 ถึง 18 ปี หรือ รายชื่อใครมีชื่อมีจอจาน ชื่อใครมีสระเอ ตรวจสอบข้อความนะคะ ซึ่ง ข้อความนั้นมีคำว่านาย เอาข้อความที่ขึ้นต้นว่านายทั้งหมดก็ว่าไปนะคะ จะมีการเปรียบเทียบเงื่อนไขด้วยนะคะอันนี้อาจารย์อธิบายไปแล้วนะคะ กว่าเท่ากับน้อยกว่า ไม่เท่ากับ นะคะ