ตารางที่ให้การบ้านไปน่ะ ทำเสร็จหรือยัง เพราะถ้ายังไม่ทำ เดี๋ยววันนี้มันจะต่อเรื่องใหม่ไม่ได้นะคะ เปิดเครื่องตัวเองนะคะ เปิดเครื่องตัวเอง ถ้าใครทำเสร็จแล้ว จะต้องมี ตารางทั้งหมด 1 2 3 4 ตารางถูกต้องนะคะ อะ เดี๋ยวจะไปเดินดูก่อนว่าทำหรือยัง อะ ระหว่างที่รอเพื่อน เปิดการบ้านให้ตรวจนะคะ ทีนี้มีเรื่องจะมาประกาศว่า วันนี้จะรับสมัครนักศึกษาไปประกวดการสร้างในสื่ออิเล็กทรอนิกส์นะคะ เพราะฉะนั้นเราต้องการทีม ก็คือทีมจะต้องประกอบด้วยอย่างน้อย 3 คนต่อ 1 ทีมนะคะ วันนี้ข้างบนรุ่นพี่ปี 4 ได้แล้ว 4 ทีมก็เลยอยากได้ปี 2 อีกสักอย่างน้อย 2 ทีมก็ยังดี อะ มีใครสนใจจะไปหรือเปล่า เป็นทำหนังสืออิเล็กทรอนิกส์นะคะ ทีมที่อยากได้จะต้องมี 1. วาดรูปได้ ต้องมี 1 คนที่วาดรูปเก่ง 1-2 คน อีกคนหนึ่งจะเป็นคนที่เกี่ยวกับทาง Coding ได้นะคะ ก็คือ ถนัดทางการเขียน Code แต่ Code ก็ไม่เขียนยากหรอก แต่รู้วิธีในการแก้ Code นั่นเองนะคะ มีใครสนใจจะไปหรือเปล่า น่าจะอบรมอยู่ที่ขอนแก่น ช่วงเดือน ไม่สิ้นเดือนกันยาฯ ก็น่าจะเป็นตุลาฯ ตุลาฯ นี่หมายถึงหลังจากรับปริญญาของเราไปแล้วนะ ถึงจะไปได้ มีใครสนใจไหมครับ ไม่ยกมือเลย สงสัยต้องใช้ไฟลต์บังคับ เลือกเอาเองนะ จะเลือกเอาเองแล้วนะ อ้าว เดี๋ยวจะเลือกจากเด็กหูก่อน เด็กหูที่วันนั้นเห็นวาดรูปได้ มียุ้ย โดน โดนแล้ว 1 ยุ้ยนะคะ เอายุ้ยทีมหนึ่งแล้ว เดี๋ยวจะส่งไปแข่ง อีกคนหนึ่งจะเอาไปด้วย ไอ้ปาย เด็กหู 2 หูดี หูดีจะเอาโสภิดาหนึ่ง ไอ้ตาลกับไอ้เตยนี่จะเอาใครไปดี เอาเตย เตยข้างหลัง เตยอยู่ข้างหน้า 2 ใช่ไหม อย่างนั้นเรียกผิดใช่ไหม เอาตาล ๆ ว่าล่ะ ชื่อมันทั้งตาลทั้งเตย แล้วมี 2 ทั้งคู่เลยนะ เอาไอ้ตาลข้างหลัง คือ ตละกูล ต นี่มี 4 คนเลย ยังไม่รวมเต่าอีกนะคะ อะ ตกลงเป็นเอาตาลนะคะ แล้วก็เพิ่งได้เท่าไร 3 คนใช่ไหม ตาลกับโส ยุ้ยกับปาย 4 เอาผู้ชายไปด้วย ๆ กิลกับอ้น จบ ครบแล้ว 2 ทีม ไม่ได้ บังคับ ไฟลต์บังคับ โดนบังคับแล้วต้องไป ไปเป็นเพื่อนกิล ไป ๆ Project อะไร เอ๊า มันไม่ได้ไปอบรมเป็นชาติ แค่ 3 วัน หา ไม่ไปใช่ไหม ไม่ไปตัดออก เอา อย่างนั้นก็ กิลก็ ถ้าไอ้อ้นไม่ไป กิลไม่ไปแน่ เดี๋ยวเอาสาว ๆ ไปอีกก็ได้ ไอ้โส ไอ้นั่นไปแล้ว ใครอีกคนหนึ่งหว่า โสกับตาลแล้ว เท่าไรแล้วนะ กี่คนแล้วนะ เดี๋ยวนะ กิล อ้นไม่ไป กิลท่าจะไม่ไป 4 3 เออ ได้ ๆ ๆ เดี๋ยวเอาไปพ่วงกับ ตอนนี้กี่คนนะปอย ตอนนี้ 4 ค่ะ 4 ใช่ไหม เออ โอ.เค. ๆ 4 คนนี้ก็ได้ เดี๋ยวจะเอาไปใส่อีกคนหนึ่ง เอาชื่อไปไว้กับอีกทีมหนึ่ง เพราะตอนมาทำ ทำด้วยกันอยู่แล้ว ปายกับยุ้ยกับโส เดี๋ยวจะเอาตาลไปใส่อีกทีมหนึ่งข้างบน โอ.เค. ครบ อย่างนั้นพอแค่นี้ล่ะ อะ โอ.เค. เดี๋ยวให้ไปลองสนามกันหน่อย อะ ทีนี้เปิดนะคะ เปิดโปรแกรมจะดูว่าตารางครบหมดหรือยัง อ้าวบัดดี้ บอกแล้วนะคะ หน้าที่บัดดี้น่ะ ต้องดูเพื่อนด้วย ไม่ได้ให้ไปทำช่วยแต่ต้องให้เพื่อนทำ เพื่อนไม่ทำก็ต้องบังคับให้ทำต้องชวนทำนะคะ หน้าที่บัดดี้น่ะ มีหน้าที่ คือ ช่วยดูแลกำกับ แต่ไม่ได้ให้ไปทำให้บอกไว้แล้ว ตอนนี้นี่ ไปเดินตรวจนี่ สัปดาห์ที่แล้วก็ไม่มีเรียนอยู่แล้วนะคะ เพราะอาจารย์ติดประชุมไม่ได้เข้าน่ะ ความจริงน่าจะมานั่งทำในชั่วโมงไหม ความจริงมันน่าจะเสร็จแล้วแค่ 4 ตาราง ไม่ได้ให้ทำเยอะ ด้วย ยังไม่ได้ให้กรอกข้อมูลเลย ให้แค่สร้างตารางเฉย ๆ นะคะ ยังไม่ได้ให้กรอกข้อมูลเลย ให้แค่สร้างตาราง เพราะว่าบอกแล้วว่า ถ้าเราไม่สร้างตารางนี่ เราจะไปเนื้อหาต่อไปในบทต่อไปไม่ได้นะคะ เพราะบทต่อไป มันจะเป็นเรื่องการสร้างความสัมพันธ์ อ้าว เดี๋ยวดูเนื้อหาก่อนนะคะ เพราะฉะนั้นเดี๋ยวท้ายชั่วโมงจะต้องทำให้เสร็จ อ้าวเพราะฉะนั้นฟังเนื้อหาในบทนี้ก่อน ชื่อการสร้างความสัมพันธ์ของตาราง หรือถ้าเป็นภาษาอังกฤษมันจะเรียกว่า “Relation” หรือความสัมพันธ์นะคะ เห็นไหมคะ จะต้องเลือกอะไรบ้าง เห็นไหม ถึงได้บอกว่า ถ้าตัวเองไม่สร้างตารางนี่ เดี๋ยวพอตอนทำเห็นไหม เขาบอกต้องเลือก Database Tools เลือก Relationships เห็นไหมคะ ต้องเลือกฐานข้อมูลขึ้นมา ต้องเลือก Relationships ขึ้นมา ถึงจะกำหนดค่าได้นะคะ อะ ให้ดูแถบเครื่องมือไว้ก่อน ๆ อย่างน้อยสร้างชื่อมันไว้ก่อนก็ได้ สร้างตารางโดยใส่แต่ชื่อน่ะ นี่ให้ได้ 4 ตารางนี้ Customer, Customer_Order, Product, แล้วก็ SpecialCustomer 4 ตาราง อ้าว ให้เพื่อนสร้างสิ บัดดี้ข้าง ๆ น่ะค่ะ เข้าไปแจมหน่อย ทำไมคู่นี้ ไม่มีบัดดี้น่ะ อ้าว ๆ สร้าง คลิก คลิกที่เมนูชื่อ สร้างนะคะ ให้เข้าที่โปรแกรมตัวเองก่อนอันดับแรกนะคะ สำหรับคนที่ยังไม่สร้างนะ แล้วคลิกไปที่คำว่า “สร้าง” เห็นหรือเปล่า ถ้าคนที่สร้างแล้วไม่ต้องทำนะคะ ให้ดูเพื่อนข้าง ๆ เพื่อนที่ยังไม่ทำน่ะให้เขาทำ เลือกตาราง พอเลือกตารางปุ๊บ มันจะมีให้เป็นอย่างนี้ขึ้นมาใช่ไหม ให้เราคลิกที่ตรงคำว่า "มุมมองออกแบบ" แทน มันจะขึ้นชื่อตารางมาให้ใส่นี่ พอขึ้นชื่อตารางแล้วให้สร้างตามตัวอย่างนี้นะคะ ชื่อตารางนี้เห็นไหม ชื่อตารางที่ 1 Customer พอทำตารางที่ 1 เสร็จ ตารางที่ 2 ก็ใช้วิธีเดียวกัน คลิกสร้าง ทำซ้ำไปจนครบ 4 ครั้ง 4 ตาราง โอ.เค. นะคะ ไปที่เมนูสร้างก่อนนะคะ เมนูสร้างก่อน เมนูที่ 3 ไปที่เมนูนี้ก่อน อ้าว ดูดี ๆ ดูช้า ๆ นี่นะคะ เห็นไหม 1 2 3 สร้างจะเป็นตัวที่ 3 เสร็จแล้ว พอคลิกคำว่าสร้างน่ะ แล้วคลิกที่รูป ตารางเห็นไหมคะ ที่มันจะมีคำว่าตารางเห็นหรือเปล่า พอคลิกตรงตารางเสร็จ ให้มาเลือกที่แถบเครื่องมือตัวแรก เปลี่ยนมุมมองเป็นมุมมองออกแบบนะคะ พอเลือกมุมมองออกแบบมันจะมีชื่อตารางขึ้นมาให้กรอกลงไป ก็กรอกชื่อตารางตามสไลด์ ตัวอย่างนี้ก็ คือ ตารางที่ 1 ชื่อ Customer พอกรอกเสร็จ ก็ทำขั้นตอนเดิม ก็คือกดสร้างตารางใหม่นะคะ แล้วก็ค่อยสร้างตารางที่ 2 ที่ 3 แล้วก็ที่ 4 โอ.เค. นะคะ อ้าว ไหน ใครครบ 4 ตารางแล้วยกมือ ดูคนที่ครบก่อนนะครับ 1 2 3 แสดงว่าอันนี้ยังไม่ครบ ทำ 4 ตารางนะคะ มาดูกัน วิธีการสร้างความสัมพันธ์ของตาราง หรือที่เรียกว่า “Relation” นะคะ อ้าวดูก่อน แถบเครื่องมือนะคะ มันจะชื่อว่า “Database Tools” นี่คือเลือกเครื่องมือที่สร้างฐานข้อมูลน่ะนะคะ เครื่องมือที่ใช้ในการทำฐานข้อมูลนะคะ ที่จะเป็นรูปแบบนี้ นี่ ๆ ที่มันจะมี 1 2 3 4 5 น่าจะอยู่ที่... อะ ดูนะคะ ดูในตาราง เราไปดูที่ตัวจริงเลย เข้าโปรแกรม Access นี่ ๆ เครื่องมือชื่อภาษาไทยว่า เอ๊ย ลืมยกเลิก เครื่องมือฐานข้อมูลเห็นไหม เมนูที่ 1 2 3 4 5 เมนูที่ 5 ไหมคะ เมื่อเลือกเมนูนี้ สังเกตแถบเครื่องมือเห็นไหมคะ จะมีเครื่องมือต่าง ๆ ขึ้นมาเยอะแยะเลยนะคะ เราก็ไปเลือกต่อค่ะ ไปเมนูต่อไป ในสไลด์เราก็ คือ Relationships อันที่ 2 หมายเลข 2 วงไว้นี่ เป็น เมนูนี้ที่เป็นรูปลักษณะแบบนี้นะคะ ดูดี ๆ ดูก่อน ให้ดูก่อน อ้าว ใครยังหา Relationships ไม่เจอ เห็นหรือยัง เห็นไหมคะ มันจะขึ้นว่า “ตารางสัมพันธ์” นั่นน่ะ เห็นไหม ใครยังไม่เห็น คลิกนะคะ คลิก ๆ คลิก ๆ ตัวนี้ครับ คลิก 1 ครั้ง อะ มันจะมีหน้าต่าง Pop Up ของอะไรนี่ รายชื่อตารางขึ้นมานะคะ นั่นก็คือเราจะสร้างความสัมพันธ์ให้ระหว่างตาราง โดยใช้เครื่องมือที่ชื่อว่าไอ้ Relation นี่นะคะตัวนี้ มันก็จะโชว์ข้อมูลของตารางที่เราสร้างไว้เมื่อกี้ขึ้นมา ทีนี้มาดูต่อ สร้างความสัมพันธ์ระหว่างตารางไหนกับตารางไหนนะคะ ดูสไลด์ต่อนะคะ เราจะต้องเลือกว่าโชว์เป็นตารางเสร็จแล้ว ลำดับที่ 2 ต่อมาทำการ Add ก็คือเลือกตารางนะคะ โดยการ Double Click หรือคลิก คลิกที่ชื่อตารางที่เราต้องการเลือกน่ะค่ะ เสร็จแล้วกดปุ่ม Add หรือสร้างนั่นเอง ทีนี้อย่าเพิ่งนะคะ ยังไปต่อ อธิบายก่อน อันนี้ยังไม่เข้าวิธีการทำ อันนี้ทฤษฎีก่อน ก็คือ ก่อนอื่นก็คือเราจะต้องเลือกตาราง 1 ตารางที่เราจะสร้างความสัมพันธ์ โดยวิธีการเลือกก็คือ คลิกที่ชื่อตารางนั้นหรือ Double Click อะไรก็แล้วแต่นี่นะคะ เสร็จแล้วกดปุ่มสร้าง แล้วไปไหนต่อ พอเลือกได้แล้วเห็นไหมคะ วิธีการลากความสัมพันธ์ เพราะฉะนั้นดูนะคะ ตารางที่เราจะเลือกมี CustomerID เห็นไหม กับ... เอ๊ย พูดผิด พูดชื่อผิดโทษที ชื่อตารางน่ะ มี Customer กับ Customer_Order เราจะ ต้องเลือก 2 ตารางนี้ที่เราสร้างเมื่อกี้นะคะ แล้วเลือกความสัมพันธ์โดยเลือกจาก CustomerID นะคะ อ้าว เพราะฉะนั้นก่อนอื่น เราจะต้องไปเลือกตารางก่อน อ้าว ชื่ออะไร Customer 1 อันครับ Customer กับ Customer อะไรนะ ลืมเอง Customer กับ Customer_Order อะ โอ.เค. อ้าว Customer เห็นไหมคะ สมมุติเลือกนี่ Customer อันแรก Customer ก็คือ ตารางแรก คลิกเพิ่ม เห็นไหม มันจะขึ้น ตารางที่เราเลือกขึ้นมาด้านซ้ายมือนะคะ เห็นนะคะ อีกตารางหนึ่งมันต้องมีกี่ตาราง เราต้องเลือก 2 ตารางใช่ไหมคะ อีกตารางหนึ่งคือ Customer_Order ให้เราคลิกที่ชื่อคำว่า Customer_Order แล้วคลิกเพิ่มเข้าไป เราก็จะมี 2 ตาราง ที่เราต้องการเชื่อมความสัมพันธ์แล้วใช่ไหมคะ ก็คือตาราง Customer กับตาราง Customer_Order ก็คือ Customer ก็คือตารางลูกค้า ส่วน Customer _Order ก็คือตารางการสั่งซื้อของลูกค้านั่นเองนะคะ ทีนี้เราทำแค่ 2 ตาราง เพราะฉะนั้นตารางที่เหลือเรายังไม่ใช้ ปิดค่ะ คลิกปิดนะคะ ก็จะเห็นแค่ 2 ตารางนี้ คลิกขึ้นมาที่เราต้องการจะเชื่อมความสัมพันธ์ ตัวที่เราจะใช้เชื่อม หลักการง่าย ๆ ในตารางที่ต้องการเชื่อความสัมพันธ์นั้นนะคะ 1. Field Field ในตาราง 1 ใน 2 ตารางนี้ มันจะต้องเชื่อมโยงได้ สังเกตที่ Field ไหนที่มีชื่อเหมือนกัน ทีนี้ถ้าใครยังไม่กรอก Field จะงง แต่ถ้าย้อนกลับไปในสัปดาห์ก่อน นึกออกนะ ตาราง Customer จะมี Field ที่ชื่อรหัสลูกค้าใช่ไหมคะ แล้วในตาราง Order ก็จะ มี Field ที่ชื่อเดียวกัน ก็คือ รหัสลูกค้าเหมือนกันเห็นไหมคะ ตัวนั้นล่ะจะเป็นตัวเชื่อมความสัมพันธ์ เพราะอะไร เพราะมันก็จะทำให้รู้ว่า นั่นก็คือ ลูกค้า คนนี้ใช่ไหมคะ มาสั่งชื่อสินค้า โดยไม่ต้องบอกชื่ออย่างไร คือเรารู้รหัส มันก็จะมีข้อมูลตัวอื่นของลูกค้าตามมานะคะ วิธีการเชื่อม มาดูวิธีการเชื่อมความสัมพันธ์ของตาราง หรือ Relation ของโปรแกรมนี้นะคะ ก็คือ คลิกที่ชื่อนั้น แล้วลากไหม เห็นไหมคะ คลิกที่ชื่อ Field ที่ชื่อเหมือนกันนะ อย่าลืมว่า เหมือนกันด้วยในทั้ง 2 ตารางจะต้องมี Field ที่ชื่อเหมือนกัน อยู่ 1 ตัว เราสังเกต พอ คลิกปุ๊บ คลิกมันไปหากัน ก็คือ คลิกจากตาราง ที่ 1 ไปหาตารางที่ 2 แล้วมันจะโชว์ หน้าต่างขึ้นมาว่า ตารางแรก จะบอกชื่อตารางแรก มี Field ชื่อ CustomerID แล้วตารางที่ 2 Customer ชื่อ ตาราง Customer Order Field CustomerID ก็เหมือนกัน เห็นไหมคะ เราจะเชื่อมความสัมพันธ์ของ 2 ตารางนี้ เข้าด้วยกัน ถ้าถูก นึกออกนะ เขาจะให้เราตรวจก่อนอย่างไรว่า ใช่หรือเปล่า ใช่ตารางนี้ไหมนะคะ ทำไมขึ้นแบบนี้นะ อะ ให้ดู 1. ไม่คือบางทีตัวเองน่ะ พิมพ์ชื่อ Field น่ะ ผิด! ดูดี ๆ เออ! เหมือน... เหมือนบอก CustomerID แต่บางคนพิมพ์ Customer ตกไป ดูดี ๆ นะ เออ เออ เข้าใจไหม ของหนูมันไม่ปัก หนูไม่ปัก หนูโยงไปไม่ตรงหรือเปล่า เอ้า ดูใหม่ ๆ ดูวิธีการลากใหม่ เดี๋ยวยกเลิกก่อน เราบอกว่า ให้ดูใน 2 ตารางแล้วเลือก Field ที่มัน ชื่อเหมือนกันใช่ไหม แล้วจะ ทำการโยงโดยคลิก Field ที่ ตารางที่ 1 แล้วลากไปใส่ที่ตารางที่ 2 แล้วปล่อยมือ ต้องลาก ไปนะคะ ลากเพื่อเชื่อมความสัมพันธ์อย่างไร เออคลิกเฉย ๆ ไม่ใช่นะลูก เออ คลิกแล้วลาก คลิกค้างไว้ แล้วลาก... เออ ลากไปใส่ เออ โอ.เค. มันถึงจะขึ้นหน้าต่าง หน้าต่างนี้โชว์ขึ้นมาให้ดูว่า คุณจะเชื่อมความสัมพันธ์ของตาราง Customer กับ CustomerID โดยตัวที่เชื่อมก็คือ CustomerID นี่ถูกต้องไหม ถ้าใช่ ถ้าถูกนะคะ ถ้าเราวาดเชื่อมถูกนี่ ที่มันขึ้นมาแล้วเชื่อมถูก เราก็คลิกสร้าง อะ คลิกสร้างค่ะ สังเกตจะมีเส้น เส้นเชื่อมเห็นไหม ต่อมาให้ที่ตารางทั้ง 2 อัน แล้วมันจะระบุด้วยว่าเชื่อมไปหาใคร เห็นไหมคะ เห็นไหม เห็นเส้นที่เชื่อมไหมคะ เห็นไหม Customer ID ของตารางที่ 1 เชื่อมไปที่ตารางที่ 2 บอก ให้รู้ว่า 2 ตารางนี้มีความสัมพันธ์กันผ่าน Field ที่ชื่อ CustomerID นะคะ อ้าว ใครยังทำไม่ได้ เดี๋ยว ๆ มีการบ้านต่อนะอย่าลืม มันจะได้... เพราะอย่าลืมว่าตาราง เรามีทั้งหมดกี่ตาราง 4 ตาราง เพราะฉะนั้นมันจะไม่เชื่อมแค่ 2 ตาราง แล้วจบแน่นอน มันยังมีตารางอื่นอีก ถูกไหม ต้องเชื่อมให้ถูกด้วยนะ อย่าไปเชื่อมสับสนนะ ต้องเข้าใจความสัมพันธ์ด้วยว่าควรจะเชื่อมอย่างไร อ้าว ๆ ๆ ดูต่อ ๆ ได้แล้ว อ้าว ๆ เดี๋ยวอธิบายให้ฟัง ความสัมพันธ์หรือ Relation นะคะ มันจะมีลักษณะของความสัมพันธ์ที่จะกล่าวถึงดังต่อไปนี้ มีอยู่ 3 แบบ อะ แบบแรก ความสัมพันธ์แบบ 1 ต่อ 1 ก็คือ One to One นั่นเองนะคะ One to One เห็นไหมคะ จาก 1 ไปหา 1 นี่ รหัสลูกค้ากับรหัสลูกค้า ในตัวอย่าง One to One ก็คือ มีรหัสลูกค้าเหมือนกันเลยในตารางนั้น ตรงกัน นั่นคือ One to One อ้าว ทีนี้มาดูแบบ 1 ต่อกลุ่ม One to Many One to Many เห็นไหมคะ ตารางรหัส ตารางลูกค้า ตาราง Order ลูกค้า แล้วก็ตารางลูกค้าพิเศษนี่ มี... มี Field ที่ชื่อรหัสลูกค้าเหมือนกันเลยเห็นไหม นี่จะเป็นลักษณะ One to Many มันจะ เชื่อมจาก... จากหลาย ๆ กลุ่มเข้าไปหากันได้ เห็นไหมคะ เชื่อม 2 น่ะ ไม่ได้เชื่อมแต่ 1 ต่อ 1 เหมือนตารางที่ยกตัวอย่างครั้งแรก เพราะฉะนั้นมีตาราง 10 ตาราง เราจะสามารถเชื่อมมัน ไปหากัน เชื่อมจากตารางนี้ ไปหาตารางนี้แค่ 1 ต่อ 1 นี่ One to One แต่เชื่อมจากตารางนี้ ไปนี่ ๆ ก็ เป็น One to Many เพราะเชื่อมไปหาตารางอื่นได้มากกว่าเดิม มากกว่า 1 ก็คือเยอะขึ้น ก็คือ ถ้ามีอีกตารางหนึ่งที่มีรหัสลูกค้าอีก นึกออกไหมคะ มันจะกลายเป็น One to Many อะ ทีนี้มาดูแบบความสัมพันธ์แบบกลุ่มต่อกลุ่ม Many to Many เป็นกลุ่ม ๆ นะคะ ตัวนี้ในตารางเราน่าจะเห็นไม่ชัด ราคาไม่มี กลุ่มไม่ตรง อะ สมมุติ ๆ ๆ สมมุติว่า ถ้ารหัสสินค้านี่นะคะ ในทุกกลุ่มมีนะคะ มันจะเป็นความสัมพันธ์แบบกลุ่มต่อกลุ่มนี่คือ ในกลุ่มนี้ความสัมพันธ์ของ Field นี้ รหัสสินค้ากับรหัสสินค้า และอาจจะมีอะไรนะ ใน Order ลูกค้าอาจจะมีราคาเพิ่มเข้ามาอย่างนี้นะคะ มันก็จะเป็นจากกลุ่มนี้มาใส่กลุ่มนี้ เป็นกลุ่มต่อกลุ่มน่ะค่ะ ตัวนี้จะเห็นภาพไม่ค่อยชัดเพราะไม่มีตัวอย่าง เดี๋ยว ๆ ลองดูต่อ เพราะฉะนั้นสิ่งที่เราจะต้องทำตอนนี้ก็คือ ให้เชื่อมความสัมพันธ์เพิ่มในตัวอย่างนะคะ เดี๋ยวจะเบรกให้ล่ามนะคะ เพราะว่าจะให้นักศึกษาพิมพ์ Field เข้าไปเพิ่มให้ครบก่อนนะคะ เด็ก ๆ ต้องสร้าง Field ต่อนะคะ จากสัปดาห์ที่แล้วน่ะ ใส่ลงไปให้มันครบก่อน ของที่ยังไม่ทำน่ะ เพราะไม่อย่างนั้นจะเชื่อมความสัมพันธ์ต่อไม่ได้ คนที่ทำเสร็จแล้ว เชื่อมต่อ ดูตัวอย่างนะคะ มีอะไรบ้าง เห็นไหม ตารางลูกค้าใช่ไหมคะ ตาราง Order ลูกค้า ตารางลูกค้าพิเศษ แล้วก็ตารางสินค้า เชื่อมค่ะ เชื่อมความสัมพันธ์ของรหัสสินค้าเข้าด้วยกันกับตาราง Order ลูกค้านะคะ เชื่อมเสียก่อนนะคะ แล้วก็ไปเชื่อมความสัมพันธ์ของรหัสลูกค้ากับตารางลูกค้าด้วย ให้มันเป็น One to Many เหมือนตัวอย่างอย่างนี้นะคะ ก็คือ เดี๋ยวขอแก้ในตารางลูกค้าพิเศษก่อน มุมมอง มันต้องชื่อ CustomerID เหมือนกัน เดี๋ยวเชื่อมไม่ได้ โอ.เค. ให้เด็ก ๆ เชื่อม เอ๊ย คนที่ยังไม่ลงชื่อ Field น่ะค่ะ ลงให้ครบ ไม่อย่างนั้นเดี๋ยวเชื่อมไม่ได้ อะ โอ.เค. ให้ดู ตัวเดิมนะครับ อ้าว สำหรับคนที่ยังไม่ได้สร้าง Field ในสัปดาห์ที่แล้ว สร้างด้วย เดี๋ยวขยายขนาดให้ดู อ้าว CustomerID มี CustomerID ตารางแรกนะคะ ตาราง Customer น่ะ มีทั้งหมด 4 Field อ้าว โจโจ้ ๆ โจโจ้ดู โจโจ้ดูนะคะ เห็นไหมโจโจ้ โจโจ้เชื่อมเพิ่ม เออ เชื่อม... ความสัมพันธ์เพิ่ม โจโจ้สร้าง เอ๊ย เลือกตารางเพิ่มอีก ก็คือตารางสินค้า แล้วก็ตารางลูกค้าพิเศษขึ้นมา โจโจ้ต้องเปิดเพิ่ม โจโจ้ให้ไปที่หน้าความสัมพันธ์นะ เครื่องมือฐานข้อมูล แล้วก็เลือกความสัมพันธ์ วิเคราะห์ความสัมพันธ์ สร้างความสัมพันธ์ อ้าว คลิกล้าง เค้าโครงก่อนนะครับ ต้อง เฮ้ย! มือไวใจเร็วมากเลย ล้างไปแล้ว อ้าว ๆ ๆ เดี๋ยวตัวย้อน หายไปไหนแล้วนี่ โอ๊ย! เวอร์ชันนี้นี่ เออ อ้าว โอ.เค. แล้วให้ไปเลือก โจโจ้มาที่เครื่องมือ ฐานข้อมูลน่ะ เสร็จแล้วคลิกที่ออกแบบครับ โจโจ้ โจโจ้มานี่ มาแถบเครื่องมือนี้ มาแถบเครื่องออกแบบนี่ มาแถบเครื่องมือออกแบบเห็นไหม แล้วก็คลิก แสดงตาราง นี่ไงเพิ่มตารางเข้ามา เจอหรือยัง คลิกออกแบบหรือยัง ตอนแรกเข้ามาที่เครื่องมือ แล้วก็ความสัมพันธ์ใช่ไหม แล้วให้เลือกออกแบบ ออกแบบแล้ว คลิกแสดงตาราง เพิ่มตารางอะไรเข้ามา Product แล้วก็อะไร VIPCustomer เข้ามา เห็นไหมมี 4 ตารางหรือยัง ครบหรือยัง เพราะเมื่อกี้ ตอนแรกเราเชื่อมแค่ 2 ใช่หรือเปล่า แต่ทีนี้เราจะเชื่อมทุกตารางนี่ เพราะทุกตารางมันมีความสัมพันธ์กันในแต่ละตัวของมันน่ะค่ะ ทีนี้ดู ดูตัวอย่างที่ให้เชื่อมมีอะไรคะ ลูกค้าเชื่อมรหัสลูกค้าใช่ไหม รหัสลูกค้าเชื่อมกับตารางลูกค้า ตาราง Order แล้วก็ตารางลูกค้าพิเศษ เห็นไหม 3 ตารางนี้ เชื่อมด้วยรหัสลูกค้า โอ.เค. นะคะ แล้วอีกตารางหนึ่ง สินค้า... ตารางสินค้า เชื่อมกลับมาที่ Order ลูกค้า โดยเชื่อม รหัสสินค้าเข้าด้วยกัน เมื่อเชื่อมเสร็จความสัมพันธ์มันจะโยงเหมือนตัวข้างบนอย่างนี้นะคะ มันจะโยงเป็นเส้นใย แบบนี้ ใน 4 ตารางนี้ อ้าว ๆ เมื่อกี้อะไรนะ CustomerID ตอนแรก เราเชื่อมไว้แค่ 2 ตาราง แล้วให้เชื่อมกับอีกตารางหนึ่ง กับตารางอะไรคะ ลากลงมาไว้ข้างล่างเด้อ ไม่อย่างนั้นมันจะ... อย่าให้มันไขว้กันนะ อย่าให้มันไขว้กัน อ้าว ลาก CustomerID มาใส่ CustomerID เห็นไหมบอกแล้ว อย่าให้มันไขว้กันแบบเห็น ๆ จัดได้เห็นไหมคะ มันจัดได้นะคะ จัดให้มันสวยงามได้ เราสามารถโยก โยกวัตถุพวกนี้ได้ เห็นหรือเปล่า แล้วเชื่อมอะไรคะ เชื่อม ProductID กับ ProductID ของตัวนี้ เด็ก ๆ จะต้องเชื่อมความสัมพันธ์ 4 ตาราง ให้มันโยงให้ได้ลักษณะนี้ Field ที่เชื่อมมี Field CustomerID ใน 3 ตารางก็คือ ตารางของลูกค้า ตารางลูกค้าพิเศษ แล้วก็ตารางการสั่งซื้อของลูกค้านะคะ ส่วนตารางสินค้าเชื่อม ProductID เข้ากับตาราง Customer_Order น่ะค่ะ ก็คือ ตารางคำสั่งซื้อของลูกค้าน่ะ อืม จะมีอยู่ 2 ตัวอย่างกับ ชื่ออันนี้ ชื่อตารางน่ะ ของแม่ตั้งไม่เหมือนในตัวอย่างใช่ไหม แต่ความจริงมันคือตัวเดียวกันก็คือ ลูกค้าพิเศษตัวเดียวกัน วิธีสังเกตจะเชื่อมความสัมพันธ์ง่าย ๆ นะคะ 1. Field Field ที่ใช้เชื่อมสังเกตดูเห็นไหม CustomerID ใน ตาราง Customer ในตาราง Customer_Order แล้วก็ VIPCustomer นี่ มี Field ที่ชื่อ CustomerID เหมือนกันเลย เพราะอะไร เพราะ Field นี้ หมายถึงรหัสลูกค้า เห็นไหมคะ ความสัมพันธ์มันก็ต้องมีล่ะ เพราะมันคือลูกค้าคน เดียวกันแน่นอน เพราะถ้าใช้รหัสนี้นะคะ Field นี้เก็บข้อมูลของรหัสลูกค้าคนนี้ หรือรหัสลูกค้านี้ คือ ลูกค้าคนนี้ มีข้อมูลอะไรของเขาบ้าง เห็นไหมคะ เช่นเดียวกัน กับตัวอย่างสินค้า ตารางสินค้า ตาราง Product เห็นไหมคะ Field ที่ชื่อ ProductID มันไปเชื่อมกับตาราง CustomerOrder ก็คือลูกค้า สั่ง เห็นไหมคะ ProductID นั่นก็คือ รหัสสินค้า เพราะฉะนั้นถ้าเขาสั่ง สินค้ารหัสนี้ นั่นก็หมายถึงว่า มันจะต้อง ไปเช็กว่า ในคลังสินค้าน่ะ รหัสสินค้าตัวนี้คือสินค้าตัวไหน เห็นไหม ความสัมพันธ์มันถึงเชื่อมกันได้ เพราะมันจะทำให้โยงไปถึงอีกตารางหนึ่งที่เก็บข้อมูลของ… เหมือนจาก CustomerOrder ก็คือคำสั่งซื้อหรือรหัสสั่งซื่อของลูกค้าใช่ไหม พอลูกค้าสั่งซื้อนี่ มันก็ต้องแจ้งว่าเขาสั่งอะไรใช่ไหม หรือรู้ว่ารหัสสินค้าที่เขาสั่ง ให้นึกถึงเซเว่น เวลาไปซื้อของเซเว่นเห็นไหม เซเว่นมันไม่ได้ถาม ชื่อสินค้าถูกไหมคะ เซเว่นมันถามแค่ว่า สินค้า รหัสสินค้าอะไรคะ แค่นั้นเอง แล้วเขาจะคีย์รหัสสินค้าเข้าไป แล้วเขาจะรู้เลยว่าเราสั่งอะไร เห็นไหมนะคะ นั่นก็คือเป็นการเชื่อมโยงความสัมพันธ์แบบเดียวกัน มันหลักการเดียวกันกับ ที่เซเว่นมันบอกว่า All Member ลูกค้าน่ะ ลูกค้าใช้เบอร์โทรศัพท์อะไร เห็นไหม มันให้เรากรอกเบอร์โทรศัพท์เราใช่ไหมคะ เพื่อจะรู้ ว่านี่คือ เป็นลูกค้าของเขาหมายเลขอะไรก็แล้วแต่ หรือสั่งซื้ออะไรก็แล้วแต่ก็คือ มีฐานข้อมูลแล้ว โดยใช้หมายเลขโทรศัพท์เรา เป็นตัว... เขาเรียกว่าอะไร เป็นคีย์หลัก หรือคีย์ที่ใช้ในการค้นหาข้อมูลด้วยนะคะ แล้วก็เป็นคีย์ที่ใช้ เป็นตัวเชื่อมความสัมพันธ์ด้วยนะคะ ให้มองง่าย ๆ ให้มองหลักการทำงาน เพราะฉะนั้นเวลาจะเชื่อม ความสัมพันธ์ของตาราง หลักของการเชื่อมความพันธ์ก็คือ ตารางนี้มันจะไปเชื่อมกับอีกตารางหนึ่งได้ก็ต่อก็ต่อเมื่อในตารางนั้น มี Field ที่มันไปสัมพันธ์กับอีกตารางหนึ่งนั่นเองนะคะ เหมือนที่ยกตัวอย่างว่ามันมี Field ชื่อ CustomerID เหมือนกันนี่ เพราะ Field นั้นก็คือหมายถึง Field ของรหัสลูกค้าเห็นไหมคะ เพราะบางครั้งการเก็บข้อมูลในฐานข้อมูลนี่ ในแต่ละตารางนี่ไม่จำเป็นต้องไปเก็บข้อมูลซ้ำ เพราะอะไร เพราะเหมือนใน ลูกค้าพิเศษนี่คือข้อมูลพื้นฐานน่ะ เก็บมาแล้ว แต่เขาจะเติม VIP ก็ต่อเมื่อ นะคะ เหมือน VIP ของ AIS ที่เขาเรียก Serenade น่ะ ก็คือเป็นลูกค้าเกิน 10 ปี เขาจะ Upgrade ให้เป็น VIP โดยอัตโนมัติเห็นไหม ในตาราง VIP มันจะมีบอกว่าระยะเวลาในการเข้ามาเป็นลูกค้า เพราะฉะนั้นเมื่อถึงระยะเวลาที่ครบกำหนด สถานะลูกค้าจะเปลี่ยนเป็น VIP หรือลูกค้าพิเศษทันทีเห็นไหมคะ แต่ข้อมูลลูกค้าเหมือนเก่าไหม เหมือน เพราะอะไร เพราะรหัสลูกค้าก็ยังเป็นรหัสเดิม เพียงแต่สถานะเขาเปลี่ยนแค่นั้นเองนะคะ อ้าว มีใครสงสัยเกี่ยวกับ ความสัมพันธ์ของตารางหรือ Relation ไหม อ้าว ถ้าไม่มีนะคะ ทีนี้ใครที่ยังกรอก Field ไม่เสร็จนะคะ อ้าว เดี๋ยวท้ายชั่วโมงกรอกให้เสร็จ แล้วเชื่อมความสัมพันธ์ ถ้าใครยังทำหน้านี้ ยังเชื่อมความสัมพันธ์ หน้านี้ไม่ได้ ห้ามออกจากห้องนี้เป็นอันขาด เดี๋ยวจะไปเดินตรวจ (นักศึกษา) ปิดอันนั้นแล้วเปิดอย่างไรคะ (อาจารย์) ปิดอันไหน (นักศึกษา) ตรงตาราง (อาจารย์) ปิดตรงตาราง ตารางเชื่อมความสัมพันธ์ใช่ไหม (นักศึกษา) ค่ะ (อาจารย์) เลือกเครื่องมือไอ้นี้หรือยัง เลือกเครื่องมือหรือยัง เลือกออกแบบหรือยัง (นักศึกษา) เลือกแล้วค่ะ (อาจารย์) แล้วก็เลือกสร้างตารางหรือยัง เจอหรือยัง ก็ตอนแรกเราสร้างแค่ 2 ใช่ไหม ให้สร้างเพิ่มให้ครบใช่ไหม เพราะเราจะต้องเชื่อมความสัมพันธ์ 4 ตารางนี้เข้าด้วยกันใช่หรือเปล่า เออ มันจะต้องเชื่อม ความสัมพันธ์ให้ได้อย่างนี้นะครับ ไม่เราเอา ID ออกเลย เราคีย์หลัก อ้าว ใคร ยังไม่รู้ว่าคีย์หลักตัวเองมีอะไรบ้างมาดูกันนะครับ อ้าว ในแต่ละตาราง อ้าว ดูที่ตาราง Customer คีย์หลักคือ CustomerID เพราะอะไร เพราะมันเป็นลูกค้า รหัสลูกค้า ถ้าเอาซ้ำกัน แสดงว่าอย่างไรครับ ข้อมูลผิดแน่นอนใช่ไหม เออ มันไม่ควรซ้ำ เพราะฉะนั้นรหัสลูกค้าจะต้องใช้เป็นคีย์หลักนะคะ อ้าว มาดูตารางที่ 2 ตารางที่ 2 เอาอะไรเป็นคีย์หลัก Customer_Order เอาอะไรเป็นคีย์หลัก อ้าว เราใช้ Order_number นะคะ เพราะอะไร เพราะตารางนี้ ตัวหลักคือ Order CustomerID จะกลายเป็นที่เขาเรียกว่า เอ่อ... คีย์คู่แข่ง หรือ Candidate Key ก็คือมีความสัมพันธ์ ไม่แพ้กับคีย์หลักเหมือนกัน แต่เราไม่เอามาเป็นคีย์หลัก เพราะอะไร เพราะมันเป็นคีย์หลักอยู่ที่ตารางอะไรไปแล้วคะ ตาราง Customer ใช่หรือเปล่า เพราะฉะนั้น พอมันมาอยู่ใน Order มันไม่ควรเป็นคีย์หลัก มันจะกลายเป็นคีย์คู่แข่งไปเลยนะคะ อีกตัวหนึ่ง ทีนี้มาดูตารางต่อมา ตาราง Product เด็ก ๆ เอาอะไรเป็น ก็ต้อง ProductID เพราะอะไร เพราะตารางนี้บอกให้รู้เลย เห็นไหมคะว่า เป็น... ตารางของ สำหรับเก็บข้อมูลสินค้า เห็นไหม มีรหัสสินค้า มีชนิด มีราคา มีจำนวนหรือสต๊อก อะไรพวกนี้เห็นไหมคะ ตัวสุดท้าย ตาราง Customer เอ๊ย ลูกค้าพิเศษ ตัวนี้ใช้ CustomerID เพราะมันเป็นคีย์หลักตัวเดียวกันกับ Customer ตัวแรก เพียงแต่บอกแล้วว่า สถานะมันเปลี่ยนเมื่อกำหนดระยะเวลาครบถูกไหมคะ เพราะก็คือจากลูกค้าปกติ เหมือนเราตั้งไว้ เหมือน AIS ตั้งไว้ ครบ 10 ปีปุ๊บ คุณกลายเป็นลูกค้า Serenade อย่างนี้นะคะ ก็คือเป็นลูกค้าที่ใช้บริการของเขาเกิน 10 ปีมา ไม่เปลี่ยนค่ายเลยว่าอย่างนั้นเถอะ ก็กลายเป็น Serenade หรือเป็น VIP โดยอัตโนมัติอย่างนี้นะคะ ก็ยังใช้รหัสลูกค้าเหมือนกัน เพราะว่ามันคือข้อมูลจากตัวเดียวกัน เพียงแต่มา Up Up สถานะหรือ Up ชั้นขึ้นแค่นัันเองนะคะ เพราะฉะนั้นเมื่อ... เพราะถ้าสร้างความสัมพันธ์ได้ มันก็จะ แสดงให้เห็นว่าตัวเองทำอะไรแล้ว Field ก็ครบ ให้แคปหน้านี้ แล้ว Print ส่งนะคะ Print ส่งด้วย เอ๊ย! ไม่ใช่ Print ส่ง ส่งไฟล์เข้าในกลุ่ม... จำได้นะ เรามีกลุ่มส่งงานที่อยู่ในเฟซบุ๊ก น่ะ แคปแล้ว ก่อนวางน่ะ พิมพ์ชื่อตัวเองใส่เข้าไปด้วย (นักศึกษา) เอาเฉพาะหน้านี้หรือแค่อันเดียว (อาจารย์) เอาเฉพาะหน้านี้ เพราะอะไร เพราะโชว์หน้านี้ปุ๊บ โชว์หมดเลย โชว์ Field โชว์ชื่อ ตารางถูกไหม แล้วก็โชว์ความสัมพันธ์เห็นไหม คือกว่าจะทำอันนี้เสร็จ แล้วก็ต้องไปทำก่อนหน้านั้นได้ด้วย ไม่อย่างนั้นมันจะทำตัวนี้ไม่ได้ถูกไหมคะ เพราะฉะนั้นการบ้านส่งท้ายชั่วโมงนะคะ ก็คือ หลังจากหมดชั่วโมงแล้ว ส่งเข้าในเฟซบุ๊ก กลุ่มที่ส่งงานในเฟซบุ๊กเราน่ะ จำได้นะ แคปหน้าจอเสร็จ พิมพ์ชื่อกับรหัสตัวเองใส่เข้าไปด้วยนะครับ ใส่ชื่อ ใส่รหัสให้ครบ ไม่ใช่ส่งมาแต่อันนี้ จะตรัสรู้ไหมของใคร เพราะอะไร เพราะในเฟซบุ๊กตัวเองก็ใช้ชื่อเล่นกัน เออ อันนี้หนูลบไม่ได้ค่ะ สัปดาห์นี้ พอแค่นี้ค่ะ ขอบคุณ เอ้า เด็ก ๆ ขอบคุณพี่ล่ามก่อน (นักศึกษา) ทั้งหมดทำความเคารพ (อาจารย์) ขอบคุณค่ะ (นักเรียน) ขอบคุณค่ะ [สิ้นสุดการถอดความ]