เคค่ะ เดี๋ยวเริ่มเลยละกันนะคะงวดนี้จะเป็นบทที่ 7 หลังปีใหม่ อะไรจะไม่เยอะ นะคะนิดเดียว แล้วก็วันนี้ ไม่มีการบ้าน มีการบ้าน เฉพาะอาทิตย์นี้เท่านั้นนะคะถึงให้ปีใหม่ วันนี้นะคะจะเป็นเกี่ยวกับวิชาคณิตเชิงสัมพันธ์ก็จะเป็นกระบวนการ โดยใช้ คณิตศาสตร์ อย่างง่าย นะคะเที่ยวมาเป็นตัวกระทำในการจัดการฐานข้อมูลของเราด้วย โดยเป็นชนิดเชิงสัมพันธ์ นะคะหรือว่าเป็นเกี่ยวกับโครงสร้างในการ Query ข้อมูลคือการ การข้อมูลของเรา นะคะ จะเป็นการกระทำที่เกิดขึ้นกับตารางหรือความสัมพันธ์ ที่เราสร้างตารางใหม่ ขึ้นมา มันจะเป็นแบบจำลองของการกระทำต่างๆที่อาจจะเกิดขึ้น กับข้อมูลในฐานข้อมูลของเรา ซึ่งส่วนมากจะเป็นการกระทำพื้นฐาน นะคะ โดยมันจะมีอยู่ 2 กลุ่มคือแบบดั้งเดิม แบบพิเศษ เป็นอย่างละ 4 ตัว แบบดั้งเดิมก่อนนะคะภาษาอังกฤษก็คือเจดีย์ที่นั่น ก็จะเป็นการกระทำที่เกิดขึ้นกับตารางหรือความสัมพันธ์โดยอาศัยทฤษฎีของเซต ซึ่งเราเคยเรียนเซตมาแล้วในวิชาคณิตศาสตร์ โดยที่ตารางหรือความสัมพันธ์ที่เกิดขึ้นเนี่ย จะมีการกระทำ จะต้องมีไอคิวก็คือในตารางจะต้องมีข้อมูลเกิดขึ้น เช่นพลังนักศึกษาก็จะมีแอตทริบิวต์หรือว่าข้อมูลที่เรามีก็คือ ชื่อนามสกุลเป็นต้น การกระทำของกลุ่มที่เป็นแบบดั้งเดิม จะมีอยู่ 4 อย่าง มี product มียูเนี่ยนอินเตอร์เซคแล้วก็มี different วันนี้จะต้องเป็นภาษาอังกฤษ เพราะว่าคำสั่ง ในระบบจัดการฐานข้อมูล ก็จะเป็นภาษาอังกฤษประมาณนี้ นะคะ อันแรก product นะคะ เป็นการกระทำที่ให้มันแสดงข้อมูลทุกๆ บรรทัด หรือทุกๆเล็กคอร์ดที่เรามี ที่สามารถเป็นไปได้โดยการจับคู่ ผลคูณคาร์ทีเซียน นี่ก็เป็นคณิตศาสตร์อย่างง่าย นะคะคำสั่งของภาษาที่ใช้ในการจัดการฐานข้อมูลจะใช้คำว่า Time cimbs รูปแบบของมันก็คือ ในกรอบสี่เหลี่ยมนะคะก็คือเอาเองกับบีมันมา x กัน เดี๋ยวจะมีตัวอย่างให้ดู อย่างเช่นตัวอย่างนะคะ เมื่อกี้ a กับ B นี่ ถ้าคำสั่ง product หรือคำสั่งค่าในฐานข้อมูลในระบบจัดการฐานข้อมูลใช้คำสั่ง Time เอาทุกตัว ที่เป็นไปได้มาคูณกัน x x x x y ใช่ไหมคะ วันนี้ b e x x x y B x b y C fzy คำสั่งนี้จริงๆ จับคู่ทุกตัวที่เป็นไปได้ ยังไงอยู่ ยังอีก เหมือนในตัวอย่างค่ะมีตาราง A มีกำลังดี ฟ้าสั่งให้มัน x การก็คือเป็น a time ผลลัพธ์ที่ได้ ก็จะเป็นทุกตัวที่ a กับ B มันสามารถจับคู่กันได้ นะคะ คำสั่งนี้จริงๆ คือ 3 * 3 ได้ 9 ต้องได้ 9 Records 9 แถวนั้นเอง ถ้าจะเช็ค แนวข้อสอบก็ไม่ออกนะนะคะ ยังๆอยู่ การ Union อันนี้ก็เป็นทฤษฎีเซตเหมือนกัน มันจะเป็นการรวมกันของข้อมูล 2 ตารางหรือว่า 2 รีเลชั่น เพื่อแสดงข้อมูลทุกๆเรื่องของเรื่องคือทุกๆแถว ในรูปแบบของยูเนี่ยนตามทฤษฎีของเซต คำสั่งก็คือ ยูเนี่ยนนะคะ a Union b คือเอาเองกับบีมารวมกัน เนาะ ตัวนี้ มีตาราง a กับตาราง B ทฤษฎีเซตของยูเนี่ยนนะคะ จะสังเกตได้ว่าข้อมูลมันมีข้อมูลซ้ำกัน ข้อมูล s1 นางเอกก็มี กำลังดีก็มี ทฤษฎียูเนี่ยน ถ้ามันซ้ำกันเราก็เอามาแค่ข้อมูลเดียว นะคะ จะเห็นว่าจากสีเล็กคอร์ดก็คือสีแถวข้อมูลนะคะ แต่ว่าอันเนี้ย นางเอกก็มีแต่เรามีรุ่นนี้มันซ้ำกัน เราจะนับเป็นแค่ 1 ข้อมูลเท่านั้นนะคะ เพราะมันเอามายูเนี่ยนกันข้อมูลจาก 4 บรรทัด เหลือแค่ 3 บรรทัดเพราะว่า s1 a กับ B เลย ยูเนี่ยน นะคะ ส่วนที่ทับซ้อนกันก็เอาแค่ข้อมูลเดียว intersection ก็ตามทฤษฎีเซตเหมือนกันค่ะ มันจะเป็นการกระทำเพื่อแสดงข้อมูลของตารางอยู่ที่คอร์ด ที่ปรากฏอยู่ทั้ง 2 ตาราง ที่มันทับซ้อนกันนั่นแหละ นะคะ ในรูปแบบของ intersection ตามทฤษฎีของเซต คำสั่งก็คือ อินเตอร์เซค A อินเตอร์เซค B ตัวอย่าง ตารางเดิมเลยค่ะ A กับ B ข้อมูลไหนที่ทับซ้อนกัน คือข้อมูล s1 มันมีทั้งสองตารางกำลังเอกกับกำลังดี เราจะแสดงผลเฉพาะตารางที่มันทับซ้อนกันเท่านั้น เพราะฉะนั้นคำสั่ง a อินเตอร์เซค b จะมีผลลัพธ์แค่ เรคคอร์ดเท่านั้นก็คือ ทฤษฎีของเซต นะคะ ต่อมา ก็เป็นการกระทำเพื่อแสดงข้อมูลของแถวนั้นๆ ที่ปรากฏอยู่ในตาราง นึ่งปลาอิศรางค์ยังไม่มีนะคะก็คือ อะไรก็ตามที่อยู่ในตารางนั้น แต่ไม่อยู่กับอีกลังนึงคำสั่งที่ใช้ คำสั่ง minus แปลเป็นภาษาไทยคือลบแล้วนี่ไม่เอา เช่นบีก็คืออยู่ในเอ แต่ไม่อยู่ใน B เมื่อคืนเหมือนตัวที่ต้องทำไฮไลท์สีเหลืองไว้ ไปนั่งดื่มด้วยค่ะ ให้คำสั่ง A บี้ อะไรที่อยู่ในเอเชียไม่อยู่ในบี ไม่ใช่แน่นอนเพราะ s1 มีทั้ง a ทั้ง B เพราะฉะนั้น ไม่รักดี ก็จะเป็น S4 ในทางกลับกันค่ะบีมันก็คืออยู่ในบีแต่ไม่อยู่ใน A อยู่ในบี ก็คือ S2 F1 ไม่ได้ F1 อยู่ในเองเหมือนกัน ในทางกลับกันจะเป็นแบบนี้ นะคะขึ้นอยู่กับว่าเราจะเอาข้อมูลจากตารางไหนเราจะเอาข้อมูลในวันข้างหน้า ถ้าอยู่ใน a ไม่อยู่ใน B จะเป็นแบบนี้จะเขียนแบบนี้นะคะ แต่ถ้าอยู่ในบี ไม่อยู่ใน a ก็จะเขียนขึ้นต้นด้วย D นำหน้าแบบนี้ ไม่ใช่ว่าทุกตารางจะใช้เองกับบีนะคะแล้วแต่ว่า ตารางที่นักศึกษา ได้ทำ ชื่อตารางอะไรอย่างเช่นตาราง Student ดีเด่น ก็ไม่นะ เดรสก็ได้นะคะ อยู่ในตาราง student แต่ไม่อยู่ในร้าน Address ก็ว่าไป จะเป็น ตัวประเมินการแบบ พิเศษนะคะเป็น Special ซึ่งมันจะแตกต่างจาก รูปแบบการทำงานของเซตโดยทั่วไป โดยการกระทำของกลุ่มที่จะเป็น Special หรือแบบพิเศษเนี่ย ไม่จำเป็นจะต้องมีจำนวนแอตทริบิวต์เท่ากัน คิวคืออะไรคือตัวนี้ หมอลำ นะคะ ถ้าเป็นแบบ Credit analyst เนี่ย คอลัมน์ทั้ง 2 ตาราง 13 ตารางต้องเข้ากัน เท่านั้น แต่ถ้าเป็น Special คือ คอลัมน์หรือ senior ไม่จำเป็นจะต้องมีจำนวนเท่ากัน ไม่จำเป็น ซึ่งคำสั่งพรุ่งนี้เนี่ย จะถูกเรียกใช้บ่อยเพราะว่าฐานข้อมูล ข้อมูลอาจจะมีตารางที่บรรจุอยู่ รูปแบบที่แตกต่างกันไปนะคะ โดย ถึงแม้มันจะไม่มีคิวที่เท่ากันก็คือคนเราไม่เท่ากันนั่นแหละ แต่แอตทริบิวต์ของทั้ง 2 ตาราง จะถูกนำมาใช้ ต้องมีเงื่อนไข ต้องมีชื่อโดเมนของข้อมูลชื่อเดียวกัน ชื่อคอลัมน์เดียวกัน อาจจะเป็น ชื่อตารางใดๆ ในตารางนั้นอาจจะมี 10 คอลัมน์อีกตานึงมี 8 ขั้น แปล ต้องมีสิ่งที่เราจะเอามาดำเนินการเนี่ย ชื่อคอลัมน์จะต้องเหมือนกัน นะคะ คำสั่งจะมีอยู่ 4 คำสั่งด้วยกัน อันแรก คำสั่ง regedit หรือถ้าใน ระบบจัดการฐานข้อมูลภาษาที่ใช้ภาษา SQL เราจะใช้คำสั่งเรียกว่า Siri นะคะ เดี๋ยวประมาณอีก 2 สัปดาห์ ต้องได้พิมพ์ ลองทำโค้ดภาษา SQL ดู ซึ่งการกระทำเพื่อแสดงข้อมูลในละครของตารางนั้นๆจะต้องตรงกับเงื่อนไขที่ระบุ เงื่อนไขที่ใช้จะใช้คำว่า where นะคะ เช่น Operator Y อันนี้เป็นต้นนะคะ เดี๋ยวตอนที่เราทำ ในโปรแกรมจริงๆอ่ะนักศึกษาจะเห็นภาพได้เข้าใจมากกว่านี้ อันนี้เป็นแค่การเกริ่นก่อนเฉยๆ หาว่า เราจะต้องเจอคำสั่งพิเศษอะไรบ้างในการจัดการฐานข้อมูล ตัวอย่างเดิมค่ะตาราง a กับ B นะคะ อาจจะเห็นว่าคอลัมน์มันก็ยังเท่ากันนี่แต่ก็ เพื่อให้เห็นภาพที่ชัดเจนนะคะอาจารย์จะเลยจะยังยกตัวอย่างเป็นแบบนี้ก่อน บอกให้คำสั่ง Siri หรือ Racing นะคะจะต้องมาคู่กับคำว่าเสมอ อย่างเช่น ขึ้นต้นด้วย B ก็คือในตารางดี ให้ดูที่เงื่อนไขซิตี้ซิตี้ตรงนี้แปลว่าชื่อเมืองนะคะ ในตาราง B ค่าของ Column City อันไหนที่มีค่าเท่ากับชัยนาท เราก็ดูในตาราง B City ชัยนาทนะคะ City เท่ากับชัยนาท ผลลัพธ์ที่ได้จะต้อง แสดงผลลัพธ์ของ Nikon S2 ทั้งหมด วางเงื่อนไขในตาราง B ข้อมูลอะไรที่มีข้อมูลว่าชัยนาท เราต้องยกมาทั้งหมดมาแสดงผล เป็นโปรเจคนะคะก็จะเป็นการเรียกข้อมูลทุกๆแถวโดยเลือกมาเพียงแค่บางคอลัมน์ เช่นอาจารย์อยากดูแค่รหัสนักศึกษากับชื่อ ก็แสดงผลแค่ชื่อกับรหัสนักศึกษา โดยที่ในตารางข้อมูลศึกษาอาจจะมีคอลัมน์ประมาณ 20 คอลัมน์ แต่อาจารย์อยากรู้แค่ 2 คอลัมน์นี้เท่านั้น เราจะใช้คำสั่งที่เกี่ยวข้องกับ การเรียกดูข้อมูล คือมันจะเป็นคำสั่งเกี่ยวกับการทำโปรเจคนั่นเอง รูปแบบคำสั่งก็จะขึ้นต้นด้วยชื่อตารางแล้วตามด้วยเงื่อนไข กำลังเดิมค่ะตารางเดิม คำสั่งในวงเล็บ เนมกับเอฟ ก็คือ อธิบายคือ เอาข้อมูลในตาราง a เท่านั้น อยู่ใน Column name คอลัมน์ ผลลัพธ์ที่ได้ จะแสดงผลแค่นี้ จากตอนแรกมันมีแค่มันมี 4 คอลัมน์ใช่ไหมคะ 1 2 3 การให้แสดงผลแค่ SMM กับเอก เท่านั้น นี่คือการทํางานของคําสั่ง project นะคะ เผื่อจะมีเป็นร้อยคนจะเรียกดูแค่ คอลัมน์คิดอย่างสนใจ จะใช้คำสั่ง project นะคะ เดี๋ยวภาษาโปรแกรมยังมีอีกเยอะค่ะนี่แค่ตัวอย่างเขาอ้ายเนาะ อย่างเช่น ผลลัพธ์ทำไมมันโชว์แค่ รหัส s1 คำสั่งที่จะต้องใช้คืออะไร เงื่อนไขของคำสั่งคือดูในตารางดี หน่วยค่าของคอลัมน์ City มีค่าเท่ากับ แมงกอก แล้วให้แสดงผลเฉพาะ f Sharp เท่านั้น กูอยากรู้แค่รหัส มีเมืองที่อยู่ในเมืองกรุงเทพฯ นะคะ ก็ส่งแค่ s1 เท่านั้น จากเมื่อก่อนนี้เรียกว่า Where City กลับ Bangkok แล้วมันแสดงข้อมูลทุกคนใช่ไหมคะ แต่ถ้าตามกำหนดให้มันแสดงแค่คอลัมน์ใดคอลัมน์หนึ่งเท่านั้น ก็สามารถทำได้ ความสามารถของคำสั่ง project มาม่าคำสั่งจอยค่ะจะเป็นการกระทำเพื่อแสดงข้อมูลที่เป็นไปได้ทั้งหมด ซึ่งเกิดจากการเชื่อมโยงข้อมูลของ 2 ตารางขึ้นไป โดยที่กำหนดค่าคอลัมน์หรือว่าอาทิตย์อยู่ที่เหมือนกัน อาจจะเป็นคอลัมเดียวหรือมากกว่าก็ได้ นะคะ แต่ที่สำคัญคือคอลัมน์จะต้องชื่อเหมือนกันโดเมนของข้อมูลต้องเท่ากัน รูปแบบคำสั่งก็คือ จอย B นะคะ มาดูตัวอย่างกัน จอยนะคะ จะคล้ายๆกับยูเนี่ยน เงื่อนไขคือจะต้องมีโดเมนหรือว่า Column ที่เท่ากันถึงจะจอยได้ ตัวนี้มี 2 คน วันนี้มี 2 คอลัมน์ รายการข้อมูลที่ซับซ้อนกัน จะอยู่ในรูปแบบคล้ายๆกับคำสั่งอยู่เนี่ย คำสั่ง join มีอะไรที่เหมือนกัน City ใช่ไหมคะ hib อันนี้ 6 คอลัมน์นะคะ ดีเหมือนกัน แต่เนื่องจาก แอตทริบิวต์ที่มีคำว่า City เหมือนกันเนี่ย มันจะต้องดูพิจารณาในเรคคอร์ดของ รหัสด้วย เพราะฉะนั้นถ้า มันเกินมา มันเกินแล้วต้องทำข้อมูลซ้ำ ให้เกิดขึ้นอันนี้ก็จะเป็นอีก รูปแบบหนึ่งของการทำงานคือเติมข้อมูลเข้าไป นะคะ เพื่อให้ผลลัพธ์ที่ได้ในทุกๆ คอร์ดนะคะมีค่าแอตทริบิวต์ก็คือที่เท่ากัน เดี๋ยวนี้เราจะไปดูอีกทีนึงนะคะ ในตอนที่เราทำ โปรแกรมเลย เป็นการแสดงข้อมูลจาก 2 รีเลชั่น นะคะ โดยที่ หรือว่าทั้งสองตารางเนี่ยมีแอตทริบิวต์มีคอลัมน์เนี่ยอย่างน้อย 1 คอลัมน์ที่เหมือนกัน ผลลัพธ์จากคอลัมน์นะคะ จากตารางที่มีจำนวนคิวมากกว่าเนี่ย ถูกจับคู่ คอลัมน์หนึ่งที่มีคอลัมน์ของตารางที่มีคอลัมน์น้อยกว่า นะคะ คำสั่งรูปแบบก็คือ a b y B B มันจะเป็นคล้ายๆกับการหาร คำสั่ง การเป็นทหาร จะต้องเป็นสับเซต ของตัวตั้ง ก็คือในตัวตั้งมี a ไหมมี ดีไหมมี DC ไหมมี รับทุกตัวคือตัวที่แมทกับตัวหาร อะไรบ้างที่อยู่ใน A AV XYZ บีมีแค่ X C มีแค่ x เพราะฉะนั้น สิ่งที่ เอา ABC หารได้ครบทุกตัว มีแค่ตัวเดียว ก็คือตรงตามเงื่อนไขทั้งหมด นะคะน่าจะมีการตั้งเงื่อนไขมา แล้วมีแค่ตัวเดียวเท่านั้นที่เข้าตรงทุกเงื่อนไข 3 เงื่อนไขที่เราต้องตั้งไว้ อันนี้จะใช้ตอนที่เราค้นหาข้อมูลอย่างเช่นใน นะคะ อาจารย์อยากได้กระเป๋า สีแดงมี 6 ล้อลาก เงื่อนไข ในกระเป๋าสีแดง 6 ล้อ อาจจะมีผลลัพธ์ที่ตรงตามเงื่อนไขที่ท่านต้องการแค่อย่างเดียวเท่านั้น ต้น หาเป็นต้น ตัวอย่าง ข้อมูล นะคะ ในตาราง A มีข้อมูล ตามนี้ ตาราง b มีคอลัมน์เดียวคือตัวนี้ P2 ให้ a d y B ก็คือ มีข้อมูล P2 อยู่ในชุดข้อมูลอะไรบ้างของเอ E2 อันนี้ปี 2 เพราะฉะนั้นผลลัพธ์ที่ได้จะมีแค่ 2 เลขคอร์ดเท่านั้น ที่มี P2 อยู่ด้วย อันนี้ก็จะยัง ตรงตามเงื่อนไข มาเพิ่มอีก ที่ 1 2 ปี 3 ปี 6 S2 มีแค่นี้ มีแค่นี้มีส่ง S4 มีแค่นี้ไม่ตรง มีที่ตรงแค่ s1 เท่านั้นที่เอาบีทุกตัว หารไม่ลงตัว อันนี้คือหลักการ ปัญหานั่นแหละต้องหาลงตัวนะคะ วันนี้จะประมาณนี้เพราะว่าเดี๋ยว อาจจะให้เช็คโปรแกรมล่าง เนื้อหาจะมีแค่นี้เดี๋ยวจะเช็คในห้องแลปว่า โปรแกรมที่จะใช้สบู่หรือเปล่า ก็วันนี้ก็น่าจะ น่าจะประมาณนี้ค่ะเพราะเดี๋ยวจะให้เช็ค โปรแกรมในห้องเรียน นะคะ ก็เลย ป้านิดนึงเพราะว่าหลังปีใหม่ขอเช็คโปรแกรมก่อน สัปดาห์หน้าอาจจะเริ่มใช้โปรแกรมอาทิตย์นี้ก็เลยเดี๋ยว มหาสมุทรเท่านี้ เดี๋ยวเรามาเช็คดูว่าห้องเรียนเราใช้โปรแกรมได้หรือเปล่า นะคะ วันนี้ก็ขอบคุณล่าม กลับขอบคุณค่ะตามด้วยนะคะประมาณนี้ค่ะเพราะว่าเดี๋ยวเช็คห้องแลปก่อน ขอบคุณมากค่ะ