--- title: ห้องทดสอบ disconnect subtitle: date: วันอังคารที่ 7 มีนาคม 2566 เวลา 11.26 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) การได้ยินไหมคะ กินค่ะ โอเคค่ะ อาทิตย์นี้นะคะ จะเป็นการแนะนำตัวโปรแกรมที่เราจะใช้เขียนระบบจัดการฐานข้อมูลนะคะ ก็จะเป็นโปรแกรมเอาอย่างง่ายกว่าละกันนะคะ เพราะว่าไอ้ตัวภาษา SQL เนี่ยมันก็จะมีโปรแกรมที่ใช้งานร่วมกันได้หลายโปรแกรมมากน่าจะเป็น mysql หรือเป็น oracleแต่มันก็จะใช้ภาษาเดียวกันคือภาษา html ซึ่งนะคะ มันจะดูเหมือนกดอะไรไม่ได้เพราะเรายังไม่ได้เริ่มสร้างตารางเลยการสร้างตารางในที่นี้เนี่ยมันก็คือการตั้งชื่อแล้วก็กำหนดโครงสร้างของตารางด้วยก็คือเราก็จะมีค่าใน Excel มันจะเป็นคอลัมน์ Column ใช่ไหมคะ access ก็เหมือนกันเราก็ต้องโหลดว่าหัว Column แต่ละคอลัมน์ก็คือฟิวนี่แหละนะคะ มันจะมีชื่อว่าอะไรบ้าง แล้วก็คุณสมบัติของข้อมูลที่ต้องบรรจุลงไปในนะเนี่ยมีอะไรนะคะ เช่นเป็นตัวหนังสือเท่านั้นหรือเป็นตัวเลขผสมกับตัวหนังสือหรือรับเฉพาะค่าตัวเลขตัวเลขต้องไม่เกิน 10 ตัวอะไรก็ว่าไปรวมถึงต้องกำหนดคีย์หลักการกำหนดคีย์หลักในโปรแกรม access มันก็ง่าย ๆ กดปุ่มเดียวก็เสร็จเลยแล้วก็ต้องกำหนดความสัมพันธ์ระหว่าง 2 ตารางขึ้นไปว่ามันจะเชื่อมต่อกันยังไงนะคะ ตัวอย่างโครงสร้างของฐานข้อมูลนี้เราทบทวนอีกรอบนะคะ ที่โทรอยู่ในหน้าจอตอนนี้ก็คือเราเรียกว่าตารางเนาะมีแถวมีคอลัมน์นะคะ แนวตั้งเรียกว่าคอลัมน์ถ้าศัพท์ในระบบจัดการฐานข้อมูล Sealอย่างในตารางนี้จะมีอยู่ 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 หลักบางคนเงินเดือนเยอะบางคนเงินเดือนน้อยเราก็สามารถกำหนดได้ว่าเลขที่สามารถกรอกเข้าไปได้เนี่ยมากขนาดไหนอาจจะยังไม่เห็นภาพถ้าสมมุติว่ามันเป็นคอลัมน์ที่เกี่ยวกับงบประมาณประเทศไม่ต้องกรอกตัวเลขเยอะ ๆ นะคะ เลข 67 หลักมันไม่พอแน่นอนเราก็ต้องมากำหนดต้องดูด้วยว่าข้อมูลที่ใส่ได้ควรจะเป็นข้อมูลขนาดไหนหรือบัตรประชาชนเรามากำหนดเลยว่าให้กรอกได้แค่ 13 หลักเราก็จะมากำหนดตรง Property ข้างล่างตรงนี้นะคะ การสร้างตารางโดยใช้มุมมองการออกแบบมันก็จะมีการกำหนดว่าชื่อของฟิลด์คือชื่อแต่ละคอลัมน์ควรตั้งชื่ออะไรควรจะตั้งให้มีความหมายแล้วก็ไม่ยาวจนเกินไปแล้วก็ห้ามใช้สัญลักษณ์พิเศษพวกเครื่องหมายคำถามเครื่องหมายแฮชแท็กนะคะ หรือจุดscore ขีดเส้นใต้เราจะไม่ใส่รวมถึงประเทศของข้อมูลนะคะ ก็คือชนิดของข้อมูลที่จัดเก็บในคอลัมน์อยู่ฟิวแน่น ๆ รหัสสินค้ามันควรจะเป็นได้ทั้งตัวเลขและตัวอักษรผสมกันส่วนราคานะคะ กลัวจะเป็นตัวเลขอย่างเดียวเราไม่พิมพ์เราจะไม่พิมพ์ 500 แล้วก็ใส่กไก่อีก 2 ตัวแทนได้ 0 มันไม่ใช่เพื่อน 500 ก็คือเป็นตัวเลขอย่างเดียวถ้าสมมุติข้อมูลนั้น ๆ จะต้องนำไปคำนวณควรจะเป็นข้อมูลชนิดอะไรเช่นอายุคือเอาวันเดือนปีเกิดไปคำนวณมันจะต้องเป็นตัวเลขหรือวันที่หรือยังไงนะคะ เราก็ต้องมาพิจารณาข้อมูลพวกนั้นด้วยเช็ควันเข้าทำงานวันแรกจนถึงปัจจุบันเขาทำงานมาแล้วกี่ปีว่าจะใช้วันที่ในการคำนวณนะคะ เราก็ต้องพิจารณาตัวนี้ด้วยถ้าสมมุติว่ากูได้ไปทำฐานข้อมูลด้วยตัวเองข้อมูลที่เป็นข้อความหรือว่า Techนะคะ ก็จะเป็นข้อมูลที่เป็นตัวอักษรตัวเลขตัวเลขทำไมถึงบอกว่าเป็น Textถ้าตัวเลขที่ไม่ได้ใช้ในการคำนวณเช่นรหัสนักศึกษาพวกคุณเราจะไม่เอามาบวกกันมันมีผลในการคำนวณนะคะ มันเป็นตัวเลขบอกรหัสเฉย ๆ สัญลักษณ์เครื่องหมายก็บางคนอาจจะจำเป็นที่ต้องใส่สัญลักษณ์คำนำหน้าชื่อบางคนก็ทีมนางสาวบางคนพิมพ์นอนมันก็จะมีสัญลักษณ์มีเครื่องหมายมีตัวอักขระนะคะ ที่ผสมกันลบตัวเลขก็ตัวเลขเนี่ยก็จะมีหลายประเภทเหมือนกันเป็นข้อมูลที่เป็นตัวเลขจะเป็นจำนวนเงินการเก็บเงินก็มีให้เลือกหลายรูปแบบนะคะ ถ้าเราเลือกข้อมูลเป็น Bข้อมูลที่เราเก็บได้จะมีแค่ 0-255 เท่านั้นแล้วก็เป็นจำนวนเต็มใส่เป็นทศนิยมไม่ได้นะคะ ข้อมูลที่เป็น integerเป็นค่าตัวเลขระหว่าง - 3 หมื่นกว่าก็จะถึง30,000 บาทจำนวนเต็มบวกเป็นเต็มบวกเต็มลบไม่มีจุดทศนิยมถ้าเป็นรองอินเตอร์เมื่อกี้จากหลักหมื่นมันจะกลายเป็นประมาณ 2000 ล้านเหมาะกับการใส่งบประมาณที่เยอะมาก ๆ หรือข้อมูลเงินใด ๆ ก็ตามที่เป็นตัวเลขที่มากกว่าฟิวเจอร์ธรรมดาขึ้นไปนะคะ 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อย่างที่ฉันเคยบอกว่าในแต่ละโปรแกรมหรือในแต่ละหนังสือสัญลักษณ์เครื่องหมายข้าจะไม่ใช้ตัวเองเหมือนที่อาจารย์สอนมันเป็นความหมายเดียวกันคือวัน True Money1มีความสำคัญมากกว่าหนึ่งกับอะไรนะคะ เพราะฉะนั้นเราหนังสือบางเล่มก็จะเขียนแบบนี้นะคะ ให้เราเข้าใจว่ามันมีความหมายเดียวกันแต่แค่มันต่างกันที่สัญลักษณ์เฉย ๆ ถ้าเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่ง1 สลึงบางรูปแบบมันจะไม่เขียนกำหนดไว้เลยเพราะให้รู้ด้วยตัวเองว่ามันเป็นความสัมพันธ์แบบไหนนะคะ one2oneข้อพิจารณาในการสร้างฐานข้อมูลเราต้องรู้ว่าเราจะสร้างฐานข้อมูลเพื่อมาทำงานเกี่ยวกับระบบอะไรนะคะ เหมือนในตัวอย่างคือร้านเช่าหนังสือร้านขายหนังสือในร้านขายหนังสือต้องมีตารางอะไรบ้าง แม่จะไม่มีแค่ 3 ตัวอย่าง 3 ตารางเทียบตัวอย่างมันมากกว่านั้นคุณจะเช่าหรือคุณจะขายหรือคุณจะมีระบบสมาชิกไหมนะคะ รวมถึงรายละเอียดในตารางข้อมูลจะต้องเก็บอะไรบ้าง ไปตกหรอต่อไปก็ต้องดูว่าในตารางอะไรคือคีย์หลักผ้าที่ห้ามซ้ำกันในสิ่งที่เราทำได้เนาะความสัมพันธ์ของตารางข้อมูลความสัมพันธ์แบบไหนนะคะ มีค่าที่ต้องมาประมวลผลมีการคำนวณไหมเช่นอายุสมาชิกหรือวันเข้าทำงานทำงานมากี่ปีเพื่อพิจารณาเงินเดือนและก็ว่าไปการจัดการแสดงผลออกทางหน้าจอเป็นยังไงสามารถปริ้นออกมาเป็นรายงานได้ไหม ข้อมูลเบื้องต้นที่จะใส่ใส่แล้วเป็นยังไงเอาไปใช้กับระบบงานอะไรเอาไปผนวกกับแล้วมีปัญหาไหมนะคะ นี่คือข้อพิจารณาในการสร้างฐานข้อมูลขึ้นมาซักระบบหนึ่งค่ะ ระบบเล็ก ๆ ต้องพิจารณาตามนี้เช่นเดียวกันนะคะ กลับก่อนที่เราจะเรียนในโปรแกรมเราต้องมารู้จักคำสั่งที่เราจะสั่งให้ฐานข้อมูลมาทำงานก่อนภาษาที่ใช้ในการจัดการฐานข้อมูลอย่างที่บอกค่ะเป็นภาษา SQL