--- title: (ฝึก PE v.2 1 คน กับ Bot ASR) ห้องเรียนสกลฯ หลักการและระบบการจัดการฐานข้อมูล อ.เกวลี วันที่ 17 ม.ค. 2566 พี่เรย์ subtitle: date: วันพฤหัสบดีที่ 23 มีนาคม 2566 เวลา 11.10 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) การได้ยินไหมคะ ได้ค่ะ โอเคค่ะ อาทิตย์นี้นะคะ จะเป็นการแนะนำตัวโปรแกรมที่เราจะใช้เขียน ระบบจัดการฐานข้อมูลนะคะ ก็จะเป็นโปรแกรมเอาอย่างง่ายก่อนละกันนะคะ เพราะว่าไอ้ตัวภาษา SQL เนี่ย มันก็จะมีโปรแกรมที่ใช้งานร่วมกันได้หลายโปรแกรมมากนะคะ น่าจะเป็น mysql หรือเป็น oracleแต่มันก็จะใช้ภาษาเดียวกันคือภาษา html ซึ่งโปรแกรมในเครื่องเราถ้าไม่ได้ติดตั้งเพิ่มเติมเขาจะมีอยู่แล้วนะคะ ก็คือโปรแกรม Microsoft Access นะคะ มันก็มีความสามารถที่จะพิมพ์คำสั่งภาษา SQL ลงไปได้ด้วยแล้วก็ในส่วนของตัวโปรแกรมนี้เนี่ยหน้าตาการทำงานมันจะคล้าย ๆ กับโปรแกรม Excel ที่เราเคยใช้งานกันอยู่แล้วเก็บข้อมูลในรูปแบบที่เป็นตารางเหมือนกัน เราก็จะได้ทำความเข้าใจกับมันง่ายขึ้นนะคะ โดยตัว Microsoft Access เนี่ยนะคะ ในรูปตัวโปรแกรมมันจะเป็นสีส้ม ๆ เนาะ มันจะเป็นโปรแกรมจัดการฐานข้อมูลเชิงสัมพันธ์นะคะอย่างที่เราเคยได้วาดรูปไปแล้ว ว่าแต่ละตารางมันควรจะสัมพันธ์กันยังไงโปรแกรมนี้เนี่ยมันก็จะมีความสามารถทั้งการจัดการฐานข้อมูลแล้วก็สร้างโปรแกรมได้ในตัวเดียวกัน ก็คือเป็นโปรแกรมที่ค่อนข้างครบสำหรับการทำงานฐานข้อมูลเบื้องต้นนะคะจ มันเลยเหมาะกับที่จะให้นักศึกษาเรียนรู้แล้วก็พัฒนาโปรแกรมไว้ใช้งานนะคะ คนที่อาจจะไม่มีความรู้ในการเขียนโปรแกรมมากนักเนี่ยเขาก็สามารถใช้โปรแกรมนี้ได้เช่นเดียวกันนะคะ เพราะว่ามันก็วิธีการใช้งานก็ค่อนข้างสะดวกแล้วก็โปรแกรมก็ใช้ง่ายคำสั่งในซอยวุ่นวายมากนะคะ หน้าตาตอนสร้างฐานข้อมูลก็จะเริ่มต้นประมาณนี้นะคะ แต่เดี๋ยวเราค่อยไปดูในตัวโปรแกรมกัน มันจะมีส่วนของการทำงานหลัก ๆ อยู่ด้านบนนะคะ แล้วจะเรียกเป็นริบบอนข้างบนนะคะ ในรูปเนี่ยมึงจะเป็น 10 เกี่ยวกับกันกำหนดโครงสร้างของตารางนะคะ แล้วก็การกำหนดหน้าจอสำหรับบันทึกข้อมูลหรือแสดงข้อมูลแล้วก็สามารถทำได้การสร้างรายงาน เช่น สมมุติมีรายชื่ออยู่ 1 รายชื่อเราอยากให้มันออกเป็นรายงานเฉพาะชื่อที่เป็นผู้หญิงเราก็สามารถสร้างรายงานออกมาได้เหมือนกันรวมถึงการสืบค้นการเรียกดูข้อมูลอื่นตามเงื่อนไขแล้วก็สามารถทำได้ส่วนของการสืบค้นเรียกดูข้อมูลเนี่ยเราจะใช้คำสั่ง SQL เราจะพิมพ์ด้วยตัวเองเราจะไม่ใช้โปรแกรมสำเร็จรูปทุกอย่างเราจะได้รู้เลยว่าเวลาที่เราใช้ภาษา html มันทำงานยังไงนะคะ โดยตารางที่อยู่ในโปรแกรม access นะคะ รูปแบบของตารางนี่ ซึ่งมันเป็นมาตรฐานของการจัดเก็บข้อมูลในรูปแบบฐานข้อมูลอยู่แล้ว นะคะ ถ้าเราต้องการจะบันทึกหรือเก็บข้อมูลนี่เราก็จะต้องสร้างตารางขึ้นมาก่อนถึงจะใช้งานได้ เหมือนอาทิตย์ก่อน ๆ ที่อาจารย์ให้ศึกษาลองเปิดโปรแกรมดูนี่ บางคนจะยังพิมพ์อะไรลงไปไม่ได้เลย เพราะว่าเรายังไม่มีตารางนะคะ มันจะดูเหมือนกดอะไรไม่ได้ เพราะเรายังไม่ได้เริ่มสร้างตารางเลยนะคะ การสร้างตารางในที่นี้นี่ มันก็คือการตั้งชื่อแล้วก็กำหนดโครงสร้างของตารางด้วย นั่นก็คือเราก็จะมีค่าใน Excel มันจะเป็นคอลัมน์ Column ใช่ไหมคะ ใน access ก็เหมือนกันเราก็ต้องโหลดว่าหัว Column แต่ละคอลัมน์ก็คือฟิวนี่แหละนะคะ มันจะมีชื่อว่าอะไรบ้าง แล้วก็คุณสมบัติของข้อมูลที่ต้องบรรจุลงไปในนั้นนี่ มีอะไรนะคะ เช่นเป็นตัวหนังสือเท่านั้นหรือเป็นตัวเลขผสมกับตัวหนังสือหรือรับเฉพาะค่าตัวเลข ค่าตัวเลขต้องไม่เกิน 10 ตัวอะไรก็ว่าไป รวมถึงต้องกำหนดคีย์หลักนะคะ การกำหนดคีย์หลักในโปรแกรม access มันก็ง่าย กดปุ่มเดียวก็เสร็จเลยนะคะ แล้วก็ต้องกำหนดความสัมพันธ์ระหว่าง 2 ตารางขึ้นไป ว่ามันจะเชื่อมต่อกันยังไงนะคะ ตัวอย่างโครงสร้างของฐานข้อมูลนี้ เราทบทวนอีกรอบนะคะ ที่โชว์อยู่ในหน้าจอตอนนี้ก็คือเราเรียกว่าตารางเนาะ มีแถวมีคอลัมน์นะคะ แนวตั้งเรียกว่าคอลัมน์ ถ้าศัพท์ในระบบจัดการฐานข้อมูล fill อย่างในตารางนี้จะมีอยู่ 4 Field คือสีคอลัมน์มี 3 ได้กอดก็คือ 3 แถวข้อมูลอันนี้เป็นตัวอย่างข้อมูลผู้ป่วยนะคะ ไอ้ตัว H M เนี่ยมันย่อมาจากรหัสป่วยนะคะ Hospital NumberNumber แล้วก็จะมีชื่อมีนามสกุลจริงที่อยู่อันนี้เป็นตัวอย่างการเก็บข้อมูลอย่างง่ายตัวอย่างง่ายส่วนในโปรแกรมเราจะสร้างตารางนะคะ โดยที่กันเราจะมากำหนดคุณสมบัติของคอลัมน์แบบเมื่อกี้นี้เราจะมากดกดตรงที่ส่วนของการดีไซน์การออกแบบมันก็ถามว่ายังอยู่ตรงนี้ อันนี้มันเป็นเมนูภาษาอังกฤษอ่ะนะคะ ว่าชื่อคอลัมน์อะไรนะคะ เก็บข้อมูลชนิดอะไร บางทีตัว ID เนี่ย ถ้าเราไม่ได้กำหนดค่ามันจะเป็นออโต้มันจะเพิ่มไปเรื่อย ๆ ตามจำนวนที่เราเพิ่มเข้ามา แต่เราสามารถระบุเองก็ได้ค่ะ บางทีเราไม่อยากได้ตัวเลข 1 2 3 4 5 ไปเรื่อย ๆ บางทีก็มันอาจจะเป็นอย่างนั้นไม่ได้ทุกระบบนะคะ มันจะต้องมีตัวหนังสือที่มันมีมาผสมกับตัวเลขรหัสนักศึกษาเราเนี่ย เข้ามาใหม่แล้วรัน 1 2 3 4 5 ไปเลยไม่ได้มันจะต้องกำหนดเฉพาะ เช่นขึ้นต้นด้วยปีการศึกษาตามมาด้วยรหัสคณะ ตามมาด้วยรหัสหลักสูตรแล้วค่อยเป็นถึงเลขที่ของเรา ว่าเราเลขที่อะไร ตัวอย่างถ้าเป็นการทำงานในการจัดการตารางจริง ๆ เนี่ย มันจะไม่มีข้อมูลแค่นิดเดียวอย่างที่เราเคยเห็น อย่างนั้นซ้ายนะคะ ก็จะเป็นตัวอย่างของตารางทั้งหมดที่มันเอามา เชื่อมโยงกันมีไม่ต่ำกว่า 20 ตาราง นะคะ ถ้ามันเป็นระบบงานใหญ่ ๆ รวมถึงการกำหนดด้วยว่าข้อมูลแต่ละชนิดที่เข้ามาเนี่ย อย่างเช่น ID เขากำหนดให้เป็นตัวเลขให้มันเพิ่มขึ้นไปเรื่อย ๆ อัตโนมัติ ส่วนเลขประจำตัวผู้ป่วยเขาจะให้กรอกนะคะ แล้วก็จะมีคำอธิบายด้วยว่า ไอ้คำคำย่อหรือหัวตารางเนี่ยถ้าเป็นภาษาไทยคืออะไรนะคะ Old HN คือเลขบัตรเดิมต้องพิมพ์ยังไง ไม่จำเป็นต้องพิมพ์ไหม ชื่อแรกจำเป็นต้องพิมพ์ นามสกุล เราจะกำหนดตรงนี้ด้วยคำอธิบายถ้าในส่วนของฐานข้อมูล เราจะเรียกว่าเป็นพจนานุกรมข้อมูล Data Dictionary ก็คือสิ่งที่เราต้องบอกอย่างสมมุติว่าจะเป็นโปรแกรมเมอร์คนใหม่มาทำงานนะคะ เห็นคำย่อ ptMarry คืออะไร มาทำงานต่อจากเขาแล้วเขาไม่เขียนอธิบายว่าคำศัพท์คำเนี่ยมันคือข้อมูลอะไรที่ต้องตอบนั่นคือสถานภาพสมรส สมมุติเขาไม่ได้บอกเราไว้เราก็ต้องมากว่าจะทำความเข้าใจได้ว่าสรุปข้อมูลนี้เขาต้องการข้อมูลอะไรกันแน่ เพราะฉะนั้นการเขียนคำอธิบายก็ค่อนข้างจำเป็นเหมือนกันสำหรับการจัดการฐานข้อมูลนะคะ ส่วนด้านล่าง จะเป็นการบอกขนาดของข้อมูลนะคะ เช่น จำนวนเงินเดือนเงินเดือนน่าจะไม่มีแค่ 2 หลัก บางคนเงินเดือนเยอะ บางคนเงินเดือนน้อย เราก็สามารถกำหนดได้ว่า ตัวเลขที่สามารถกรอกเข้าไปได้เนี่ยมากขนาดไหน เงินเดือนอาจจะยังไม่เห็นภาพ ถ้าสมมุติว่ามันเป็นคอลัมน์ที่เกี่ยวกับงบประมาณประเทศที่ต้องกรอกตัวเลขเยอะ ๆ นะคะ เลข 6 7 หลักมันไม่พอแน่นอน เราก็ต้องมากำหนดต้องดูด้วยว่าข้อมูลที่ใส่ได้ควรจะเป็นข้อมูลขนาดไหน หรือบัตรประชาชนเรามากำหนดเลยว่าให้กรอกได้แค่ 13 หลัก เราก็จะมากำหนดตรง Property ข้างล่างตรงนี้นะคะ การสร้างตารางโดยใช้มุมมองการออกแบบ นะคะ มันก็จะมีการกำหนดว่าชื่อของ Field คือชื่อแต่ละคอลัมน์ควรตั้งชื่ออะไรควรจะตั้งให้มีความหมายแล้วก็ไม่ยาวจนเกินไป แล้วก็ห้ามใช้สัญลักษณ์พิเศษพวกเครื่องหมายคำถาม เครื่องหมายแฮชแท็กนะคะ หรือจุด ๆ ๆ ๆ … _ ขีดเส้นใต้เราจะไม่ใส่รวมถึงประเทศของข้อมูลนะคะ ก็คือชนิดของข้อมูลที่จัดเก็บในคอลัมน์อยู่ฟิวแน่น ๆ เช่น รหัสสินค้ามันควรจะเป็นได้ทั้งตัวเลขและตัวอักษรผสมกัน ส่วนราคานะคะ ควรจะเป็นตัวเลขอย่างเดียว เราไม่พิมพ์ เราจะไม่พิมพ์ 500 แล้วก็ใส่กไก่อีก 2 ตัวแทนเลข 0 มันไม่ใช่เพื่อน 500 ก็คือเป็นตัวเลขอย่างเดียว ถ้าสมมุติข้อมูลนั้น ๆ จะต้องนำไปคำนวณควรจะเป็นข้อมูลชนิดอะไร เช่น อายุ คือเอาวันเดือนปีเกิดไปคำนวณมันจะต้องเป็นตัวเลขหรือวันที่หรือยังไงนะคะ เราก็ต้องมาพิจารณาข้อมูลพวกนั้นด้วย อย่างเช่น วันเข้าทำงานวันแรกจนถึงปัจจุบัน เขาทำงานมาแล้วกี่ปี ว่าจะใช้วันที่ในการคำนวณนะคะ เราก็ต้องพิจารณาตัวนี้ด้วยถ้าสมมุติว่าได้ไปทำฐานข้อมูลด้วยตัวเองข้อมูลที่เป็นข้อความหรือว่า Text นะคะ ก็จะเป็นข้อมูลที่เป็นตัวอักษรตัวเลขตัวเลขทำไมถึงบอกว่าเป็น Text ถ้าตัวเลขที่ไม่ได้ใช้ในการคำนวณเช่นรหัสนักศึกษาพวกคุณ เราจะไม่เอามาบวกกัน มันไม่มีผลในการคำนวณนะคะ มันเป็นตัวเลขบอกรหัสเฉย ๆ สัญลักษณ์เครื่องหมายก็บางคนอาจจะจำเป็นที่ต้องใส่สัญลักษณ์ อย่างคำนำหน้าชื่อ บางคนก็ทีมนางสาว บางคนพิมพ์ มันก็จะมีสัญลักษณ์มีเครื่องหมายมีตัวอักขระนะคะ ที่ผสมกัน รวมถึงตัวเลข ก็ตัวเลขเนี่ยก็จะมีหลายประเภทเหมือนกันเป็นข้อมูลที่เป็นตัวเลขจะเป็นจำนวนเงิน การเก็บเงิน ก็มีให้เลือกหลายรูปแบบนะคะ ถ้าเราเลือกข้อมูลเป็น btye ข้อมูลที่เราเก็บได้จะมีแค่ 0-255 เท่านั้นแล้วก็เป็นจำนวนเต็มใส่เป็นทศนิยมไม่ได้นะคะ ข้อมูลที่เป็น integer เป็นค่าตัวเลขระหว่าง -30,000 กว่าก็จะถึง 30,000 บาทจำนวนเต็มบวกเป็นเต็มบวกเต็มลบไม่มีจุดทศนิยมถ้าเป็น Long Integer เมื่อกี้จากหลักหมื่นมันจะกลายเป็นประมาณ 2000 ล้านเหมาะกับการใส่งบประมาณที่เยอะมาก ๆ หรือข้อมูลเงินใดๆก็ตามที่เป็นตัวเลขที่มากกว่าฟิวเจอร์ธรรมดาขึ้นไปนะคะSingleจะเป็นตัวเลขที่มีจุดทศนิยม