โอเคค่ะ ราคา เกี่ยวข้อง ฐานข้อมูล แล้วก็ทฤษฎีเกี่ยวกับแบบจำลองข้อมูลนะคะ ข้อมูลที่เราใช้อยู่ปัจจุบันนี้บางที ทุกคนก็จะไม่รู้ ว่าทำไมเราต้องเก็บ มันนักศึกษา 1 คนทำไมต้องถามด้วยหรอว่าเราชื่ออะไรนามสกุลอะไร เรียนจบที่ไหนมา ราคา เฉลี่ยตอนจบม 6 คือจบสายอาชีพ ได้เกรดเฉลี่ยเท่าไหร่ เทอมที่แล้ว เราเรียนไปกี่วิชานะคะ ได้คะแนนเท่าไร ทำไมต้องเก็บแบบนี้นะคะ ทุกอย่างมันก็จะมีเหตุมีผลเพราะว่าข้อมูลทุกรูปแบบนี้ มันก็จะมี เนื้อหา ความสำคัญ ของชุดข้อมูลตามนั้นอยู่ โดยที่ ขอเรียกสิ่งนั้นว่าแนวคิดเกี่ยวกับการออกแบบฐานข้อมูลหรือสถาปัตยกรรมฐานข้อมูลนะคะ มันก็จะเป็นข้อกำหนดแล้วก็ข้อตกลง รวมถึงขอบเขต หรืออาจจะเป็นกรอบความคิดนะคะ การบรรยายว่าฐานข้อมูลนั้นควรจะเป็นอย่างไร ราคา โครงสร้าง ก็คือ ข้อมูลที่เราจะเก็บมีอะไรบ้าง ส่วนประกอบที่เอามาประกอบกันเป็นระบบฐานข้อมูล มีอะไรนะคะ ประเทศสถาปัตยกรรมฐานข้อมูล มีส่วนประกอบสำคัญอยู่ 3 ส่วนนะคะ ในตัวสถาปัตยกรรมของระบบเองนะคะ แล้วก็ความเป็นอิสระของข้อมูลนะคะ เดี๋ยวจะอธิบายว่าแต่ละอันคืออะไร ภาษาที่ใช้ในการจัดการฐานข้อมูลนะคะ 3 อย่างนี้ แต่ต้องทำงานร่วมกัน โดย สถาปัตยกรรมฐานข้อมูลนี่ จะเป็นเหมือนกับขอบเขต กรอบ ถ้าเป็นภาษาทางเชิงวิชาการเรียกว่ากรอบ ที่ใช้ประโยชน์ในการบรรยาย มาทำไม เราถึงสร้างฐานข้อมูลแบบนี้ ทำไมเราถึงเก็บข้อมูลแบบนี้ จะได้ฐานข้อมูลนี้เรามีโครงสร้างในการเก็บข้อมูลอย่างไรบ้าง ซึ่งหลักๆแล้วนี่ โครงสร้างที่ใช้ในการสร้างฐานข้อมูลมันจะมีอยู่ 3 ระดับนะคะ ระดับภายนอกระดับภายใน ระดับแนวคิด อาจารย์อธิบายไปทีละอย่างทีละอย่างนะคะ ความเป็นอิสระของข้อมูลคืออะไรนะคะ ก็คือ การที่ผู้ใช้งาน สามารถเปลี่ยนแปลงข้อมูล อาจจะเป็น ในระดับ ของการออกแบบฐานข้อมูล ระดับ ถึงขั้นการเก็บข้อมูลแล้วก็ได้ โดยที่ถ้าเรามีการเปลี่ยนแปลงข้อมูลหรือเปลี่ยนแปลงรูปแบบการจัดเก็บข้อมูล โปรแกรมที่ใช้งาน ไม่ได้รับผลกระทบจากการเปลี่ยนแปลงนะคะ โปรแกรมก็อยู่ส่วนของโปรแกรม ข้อมูลก็อยู่ส่วนของข้อมูล จะแยกออกจากกันนะคะ โดยที่ ผู้ใช้งานจะมองเห็นแค่ว่า การเก็บข้อมูลระดับภายนอก เราเก็บข้อมูลอะไรบ้าง ราคา เวลาคุณ อยากเล่น tiktok อยากเล่น facebook อยากเล่นอินสตาแกรม เขาก็จะถามว่า คุณชื่ออะไรมีอีเมลหรือเปล่ามีเบอร์โทรศัพท์ไหม มีรูปโปรไฟล์เป็นรูปอะไร อันนี้คือข้อมูลระดับภายนอก ที่ผู้ใช้งานอย่างเราๆนี่เป็นคนให้ข้อมูลไป เป็นสิ่งที่เราเป็นคนเห็นเอง ข้อมูลที่กรอกลงไป ข้อมูลอะไรบ้างนะคะ จะถามว่า เราอยากเปลี่ยนแปลงได้ไหม จากรูปภาพนี้ ยายเขาขอ จะกลับอะไรดีล่ะ สถานะการเรียน เราจะไปบอกเขาว่า อยากให้เพิ่มเมนูตรงนี้ได้ไหม เราทำไม่ได้นะคะ พ่อนั้นเป็นระดับโครงสร้าง ระดับแนวคิดระดับภายใน ชื่อผู้ใช้งานธรรมดาจะแก้ไขไม่ได้นะคะ โดยที่ เพราะฉะนั้น เรามีการเปลี่ยนแปลงข้อมูล จะเรียกว่า เปลี่ยนแปลงข้อมูลในระดับที่ต่ำก็คือข้อมูลส่วนตัวเรานี่แหละ ถ้าเราเปลี่ยนแปลงเฉพาะข้อมูลตัวเอง จะไม่คบกับคนอื่น รวมถึงไม่กระทบกับ Facebook ไม่กระทบกับ Instagram เขาก็ติดต่อ ถึงแม้คุณจะบอกว่า เปลี่ยนแปลงจะเป็นรูปโปรไฟล์ ถามว่า โปรแกรมมันจะพังไหม ไม่นะคะ คือการเปลี่ยนแปลง ระดับต่ำ การเปลี่ยนแปลงของผู้ใช้งานโดยตรงนะคะ ความเป็นอิสระของข้อมูลเชิงตรรกะ ก็คือการเปลี่ยนแปลงมุมมอง ของผู้ใช้งาน อย่างเช่น วันนี้เอาลูกไป 4 ลูก นะคะ คุณอยากจะสลับตำแหน่ง ราคา แล้วจากรูปสุดท้ายมาเป็นรูปที่ 1 ถามว่า โปรแกรมนั้นจะพังไหม ไม่พังนะคะ เพราะมันถือว่าเป็นการเปลี่ยนแปลงภายนอก ไม่ได้เปลี่ยนแปลงโค้ดโปรแกรม จะบอกให้ ผู้ดูแลระบบ ลบเมนูตรงนี้ออก ไม่ใช่นะคะ อันนี้ก็คือ ผู้ใช้งาน เปลี่ยนแปลงข้อมูลส่วนตัวของตัวเองก็ใช้งานได้เลย ไม่กระทบกับคนอื่นไม่กระทบกับระบบโดยรวมนะคะ รวมถึง ความเป็นอิสระของข้อมูลเชิงกายภาพ ถ้าสมมุติว่าวันหนึ่ง Facebook ย้ายเครื่องคอมพิวเตอร์ในการเก็บข้อมูลคนใช้งาน ถามว่า อยากจะเครื่องหนึ่งไปอีกเครื่องหนึ่ง ถามว่าเรายังใช้ Facebook ได้ไหม ใช้ได้ ไม่กระทบกับเรานะคะ มันถือว่าเป็นโครงสร้าง ของข้อมูลระดับภายใน คือผู้ให้บริการ เขาอาจจะมีการปรับเปลี่ยนได้จากเครื่อง a b เครื่อง B แต่ผู้ใช้งานก็ยังสามารถทำงานได้ ตามปกติ ไม่ได้รู้สึก ความผิดปกติใดๆ อาจจะมีช่วง Restart เครื่องของเครื่องเซิร์ฟเวอร์ของเขาบ้าง จะถามว่า Facebook เราหายไปไหมไม่หายนะคะ อันนี้คือตัวอย่างคร่าวๆว่าเธอจะกลับเป็นอย่างไร สภาพเป็นอย่างไร ออกมา ภาษาหลักของระบบจัดการฐานข้อมูล ก็จะมีอยู่ 3 ภาษาหลักๆนะคะ อันนี้หมายถึงว่าภาษาเชิงโครงสร้างที่ใช้ ไม่ได้หมายถึงชื่อภาษาทางโปรแกรม อันแรกก็คือภาษาสำหรับนิยามข้อมูลนะคะ จะเป็นภาษาที่ใช้ในการกำหนดโครงสร้าง ของฐานข้อมูล ราคา ระดับแนวคิดว่าคนวางแผนไว้ว่าอย่างไร อย่างเช่น อาจารย์อาจจะ พอกูเรียนปีสูงขึ้น จะต้องไปทำ Project ถ้าจะเขียนโปรแกรมเป็นของตัวเอง สมมุติว่าได้ทำ Project กลับร้านขายหนังสือ ในร้านหนังสือร้านหนึ่งเราต้องเกี่ยวข้องอะไรบ้าง ต้องเขียนออกมาให้ได้นะคะ ปีนี้เราจะเรียกว่าระดับแนวคิด จะมาให้ความหมาย ข้อมูลเหล่านี้ ระหว่างผู้ใช้งาน สมาชิก เจ้าของร้าน สามารถทำอะไรได้บ้าง สิ่งเหล่านี้จะเรียกว่าวิว หัวมุมมองของผู้ใช้งานแต่ละคน ยกตัวอย่าง Facebook Facebook ในหน้าที่คนดูกับหน้าที่เพื่อนดู อาจจะไม่เหมือนกัน Facebook เราสามารถกำหนดได้ว่า รูปนี้ฉันจะเก็บไว้ดูคนเดียว หรือรูปนี้จ่ายเพื่อนดูได้ รูปนี้จะให้ใครก็ได้มาดู ไม่ได้ปิดกั้นอย่างนี้ก็มี อันนี้คือการกำหนดสถานะของมุมมองในการดูข้อมูลของเรา เราจะกำหนด แต่การกำหนดโครงสร้างฐานข้อมูลเลยว่าผู้ใช้งานแต่ละคน ดูข้อมูลส่วนไหนได้บ้างนะคะ ต่อมาเป็นภาษาในการจัดการฐานข้อมูล น่าจะเป็นภาษา เชิง programming เครื่องหมายสำหรับจัดการข้อมูลภายในฐานข้อมูลนะคะ จะเป็นตั้งแต่การค้นหาข้อมูล การเพิ่มการลบการแก้ไขข้อมูลในฐานข้อมูล ราคา อันนี้ ว่าจะสามารถทำได้ตามสิทธิ์ ข้าวโพดใช้งานแต่ละคน บางคนค้นหาได้ แต่เพิ่มไม่ได้ ละครเพิ่มได้แต่ห้ามลบ ราคา อันนี้ก็เป็นคำสั่ง ที่ใช้ภายในฐานข้อมูล ต่อมา แปลภาษาควบคุมนะคะ มันจะเป็นภาษา ที่ใช้สำหรับการควบคุมความถูกต้องของข้อมูล เช่นอะไรบ้าง อย่างเช่น อาจารย์ให้คนกรอกชื่อ กรอกชื่อ แต่ว่านักศึกษาบางคนลืมเปลี่ยนภาษา หรือ ลืมเปลี่ยนปุ่ม หรือเปิดผมตัวเลขไว้ กลายเป็นว่าพิมพ์ชื่อตัวเองเป็นตัวเลข ภาษาระดับควบคุม น่าจะเป็นการตรวจสอบ ขอข้อมูลที่นักศึกษาใส่มา ถูกหรือผิด เช่นอาจารย์กำหนดให้ ออกได้เฉพาะตัวหนังสือเท่านั้น ใส่ตัวเลขไม่ได้นะคะ การเกิดภาวะพร้อมกัน อย่างเช่น จองตั๋วคอนเสิร์ต ดังมาก เข้ามาจองพร้อมกันสัก 50 คน เราจะมีการจัดการ คน 50 คนอย่างไร ราคา ให้สามารถทำงานได้ อันนี้คือการเกิดภาวะพร้อมกัน เธอเข้ามาใช้งานระบบพร้อมกันทั้งหมด โดยสถาปัตยกรรมฐานข้อมูลมันก็จะมีศึกษาทำโครงสร้าง องค์ประกอบหลักของระบบ ราคาทั้งฐานข้อมูล อาทิตย์แต่ละองค์ประกอบแต่ละคน ผู้ใช้งานนะคะ รวมถึง การเขียนโปรแกรม เพื่อสืบสานและติดต่อส่วนอื่นๆ ในระบบ ฐานข้อมูล อาจจะไม่ได้มีแค่โปรแกรมเดียวในการทำงาน อาทิตย์ที่แล้วเคยบอกแล้วว่า ระบบบัญชีระบบบุคคล ระบบการเงินก็ใช้ฐานข้อมูลร่วมกัน โดยที่ เรามีการเปลี่ยนแปลงโปรแกรม โครงสร้างของฐานข้อมูลจะยังอยู่ นะคะ ข้อมูลจะไม่หายไปไหน เพราะเราเปลี่ยนแค่ โปรแกรมเราไม่ได้เปลี่ยนทั้งโครงสร้าง ถ้าสมมุติว่าเปลี่ยนโปรแกรมใหม่ มันจะมีการเชื่อมต่อที่ทำให้ข้อมูลสามารถทำงานได้นะคะ โดยระบบ ฐานข้อมูลนี้ มันจะเป็นการเอาข้อมูลที่อยู่ในองค์กร หรือข้อมูลที่เราต้องการจะเพิ่มเติม ที่มีความเกี่ยวข้องกันมารวมไว้ในที่เดียวกัน ผู้ใช้งานในฐานข้อมูล จะมองมุมมอง รีวิว หรือตามสิทธิ์การใช้งาน โดยที่ ผู้ใช้งานนี้ไม่ต้องรู้ว่า ถ้าสมมุติว่าคุณเป็นผู้ใช้งานทั่วไป เขาจำเป็นจะต้องรู้ไหม โปรแกรมเมอร์เขียนโปรแกรมอย่างไร โปรแกรมเมอร์ใช้วิธีอะไรในการแสดงภาพ โปรแกรมเมอร์ทำอย่างไรให้เราดู YouTube ได้อันนี้ไม่จำเป็นต้องรู้ ราคา โดยที่สิ่งเหล่านี้ มันสามารถซ่อนรายละเอียดไว้ได้ จะถามว่าให้แสดงออกมาได้ไหมแสดงได้ ใส่ User หรือผู้ใช้งาน ไม่จำเป็นต้องรู้ เพราะฉะนั้นเราก็ซ่อนไว้ได้นะคะ ยกเว้นบางอย่างให้เป็นภาษาโปรแกรม ตั้งเวลาเราใช้ Google Chrome หาข้อมูล เราก็สามารถดูได้ ว่าคนโปรแกรม ที่ผู้ดูแลระบบเขียนไว้เขาเขียนไว้ว่าอย่างไรบ้าง ก็ดูได้นะคะ จะถามว่า พ่อแม่เราจะอยากรู้ไหมว่า Google เขียนโปรแกรมอย่างไร คงใหม่ ไม่จำเป็นต้องเปิดดู เปิดดูได้ไหม บางส่วนก็เปิดดูได้นะคะ สถาปัตยกรรมฐานข้อมูล มีอยู่ 3 ระดับนะคะ เหมือนที่พูดไปตอนต้น ระดับภายนอก ระดับแนวคิดและระดับภายใน มี 3 ระดับ แสดงเป็นแผนภาพแบบนี้นะคะ ขีดเส้นให้ด้วย อันนี้ระดับภายนอก นะคะ เดี๋ยวเติมเส้นแบบนี้ โทรศัพท์ภายนอก คือเราอาจจะมีผู้ใช้งาน 1 คน 2 คน คือหลายคน แต่ละคนอาจจะใช้ระบบเดียวกัน แต่หน้าจอที่ดูอยู่ไม่เหมือนกันก็ได้ ราคา เช่นนักศึกษาเข้าไปใช้ระบบ ทะเบียน คนหนึ่งดูเกรด วันที่ 2 พิมพ์ใบลงทะเบียน คนที่ 3 อาจจะค้นหาคำอธิบายรายวิชา ถามว่าเขาใช้โปรแกรมไหม ระบบเดียวกันไหมใช่ระบบเดียวกัน แต่เขาอาจจะทำงานไม่เหมือนกันก็ได้ อาจจะดูเหมือนกันก็ได้ แต่ต้องเป็นข้อมูลของตัวเอง อย่างเช่นเกด กูจะดูของเพื่อนไม่ได้ เพราะแต่ละคนมีสิทธิ์ของตัวเองเท่านั้น จะไปละเมิด ความเป็นส่วนตัวของคนอื่นไม่ได้นะคะ อันนี้ก็มันจะมีกฎหมายอยู่ เวลา เราจะดูข้อมูลใคร เดอะทอยลูกใคร หรือพิมพ์ถึงใคร มีกฎหมายกำหนดนะคะ ต่อมา ในระดับแนวคิด ก็จะดูแล้วว่าโครงสร้างฐานข้อมูล ที่เราออกแบบไว้ สำหรับการทำงาน มันจะเป็นเหมือนตัวที่ไว้จัดการ User หรือผู้ใช้งานแต่ละคน เรียกข้อมูลอะไรขึ้นไปดูเป็นตัวจัดการ หลังจากนั้นทำหน้าที่เชื่อมต่อกับระบบภายใน ดึงข้อมูลจากฐานข้อมูลไปแสดงผลนะคะ การทำงาน Amazon หนัก 3 ส่วนดังนี้ ที่เราใช้งานกัน จะถามว่า User จำเป็นต้องรู้ กลับแนวคิด ระดับภายในไหม ไม่จำเป็น เขาก็จะดูแต่เฉพาะข้อมูลที่ตนเองสนใจในระดับภายนอกเท่านั้นนะคะ เหตุผลที่ว่า ทำไมเราต้องแยกออกเป็น 3 ระดับ แยกออกจากกัน ทำไมเราไม่รวมกันไว้นะคะ อะไรก็คือผู้ใช้งานแต่ละคน อาจจะเข้าถึงข้อมูลตัวเดียวกันได้ แต่อาจจะเรียกดูผลไม่เหมือนกัน มันบางคนอย่างที่บอกค่ะเข้าไปใช้ระบบทะเบียน คนนึงดูเกรดคนนึงดูลงทะเบียน คนนึงค้นหาคำอธิบายรายวิชา หน้าตาแตกต่างกัน แต่ก็ใช้ฐานข้อมูลเดียวกันนะคะ ผู้ใช้งาน จะไม่สามารถเข้าถึงข้อมูลได้โดยตรง คุณสามารถพิมพ์ เรียกใช้ ข้อมูล ในฐานข้อมูลได้โดยตรงต้องผ่านระบบจัดการฐานข้อมูลเท่านั้น Admin ผู้บริหารฐานข้อมูลหรือ database Admin ตัวย่อคือ dba สามารถแก้ไขโครงสร้างของฐานข้อมูลได้ เข้าไปดูข้อมูลที่เก็บได้นะคะ แต่ จะต้องไม่สร้างผลกระทบให้กับผู้ใช้งาน ก็คือ ก่อนที่คุณอาจจะปรับปรุง เปลี่ยนแปลงฐานข้อมูลอยู่ผู้ใช้งานต้องสามารถทำงานได้ปกตินะคะ โครงสร้างระดับภายในฐานข้อมูลนะคะ จำไม่ได้รับผลกระทบถ้าคุณมีการเปลี่ยนแปลงโปรแกรม ซึ่งจะอยู่ในลักษณะ เชิงกายภาพนะคะ เปลี่ยนโปรแกรมโปร เปลี่ยนจากโปรแกรม Ai เป็นโปรแกรม B ข้อมูลจะต้องไม่หายไปไหน อันนี้คือเหตุผล ที่ 3 ส่วนนี้เราจำเป็นต้องแยกออกจากกันนะคะ มาดูรายละเอียด เพิ่มเติมนะคะ สำหรับทาภายใน น่าจะเป็น ระดับที่จัดเก็บข้อมูล อยู่ในลักษณะโครงสร้างที่เราออกแบบไว้แล้วนะคะ ถ้าเราเก็บข้อมูลได้ดี มันก็จะมีผลต่อความเร็ว แล้วก็สิทธิภาพในการเรียกใช้ข้อมูลนะคะ โทรศัพท์ภายในนี่ มันก็จะเป็น การดูว่า เรามีการสำรองข้อมูลหรือเปล่า เขาเก็บข้อมูลอย่างไร นะคะ ส่วนมาก ข้อมูลในฐานข้อมูล อาจจะเก็บข้อมูลอยู่ในฮาร์ดดิสก็ได้นะคะในการทำงานร่วมกับระบบปฏิบัติการ สามารถอ่านเขียนข้อมูลได้ ตรงกับระบบปฏิบัติการด้วย ทำไมถึงว่าการจัดเก็บข้อมูลที่ดี มีผลต่อความเร็ว ประสิทธิภาพในการเข้าถึงข้อมูลนะคะ เวลาเราเก็บข้อมูลนี้ จะเห็นได้ว่า ทำไมเราต้อง เรียงลำดับนักศึกษาด้วย เอา 27 ขึ้นก่อน 20 ได้ไหม ได้ จะถามว่าเวลาเราค้นหาข้อมูล ถ้าเราเรียงตามลำดับ แน่นอนมันค้นหาข้อมูลเร็วกว่าเราตกลงเลยว่า เราจะเรียนระดับนักศึกษาในห้องได้อย่างไร อย่างเช่น ซึ่งมาตรฐานทั่วไปจัดเรียงตามรหัสนักศึกษา จากน้อยไปมากใช่ไหมคะ ถ้าเราไม่มีรหัสนักศึกษาล่ะ โดยหลักทั่วไปจะให้เรียงตามกอไก่ถึงฮอนกฮูก แล้วแต่เรา ทำข้อตกลงอย่างไร หาข้อมูลบอกว่าเรียงตาม อายุใครอายุมากขึ้นก่อน เหลืออะไรอีกล่ะ เพศชายขึ้นก่อนเพศหญิงตามมา คนเกิดวันอาทิตย์ขึ้นก่อน ฤกษ์คนเกิดวันจันทร์ขึ้นก่อน แล้วแต่โครงสร้างที่เรากำหนดไว้ ทำไม เลยมาหาข้อมูลได้เร็ว เกณฑ์ในการจัดเรียงข้อมูลคืออะไร เพราะว่าข้อมูล ที่เก็บอยู่ในฮาร์ดดิสก์ มันไม่เรียง 12345 ให้เรานะคะ มันจะเก็บแบบกระจัดกระจาย อยู่ตรงไหนก็ได้ที่มันมีพื้นที่ว่าง แต่มันจะใช้เลข แทนตำแหน่ง อย่างเช่นสินสมุทร อาจารย์กำหนดให้เป็น 001 001 ในฮาร์ดดิสก์ อาจจะเก็บตรงไหนก็ได้ ถ้าสมมุติอาจารย์ไม่ใส่ 001 ล่ะ อาจารย์ใส่สินสมุทร มันจะค้นหาข้อมูลเร็วขึ้นไหม ทานแทนด้วยตัวเลขเรียงลำดับ มันจะค้นหาข้อมูลได้เร็วขึ้น อาจารย์เรียนรัตนศึกษา จากน้อยไปมาก รหัสคนไหนหายไป อาจารย์บางห้องนี้ นักศึกษาไม่เยอะมันก็ง่าย แต่บางวิชาอาจารย์สอน 50-60 คนขึ้นไป จำไม่ได้จำไม่ไหวนะคะ การเรียงลำดับ จากน้อยไปหามาก ก็ทำให้จานเช็คได้ง่ายขึ้น ว่าใครมาใครขาดนะคะ เพราะฉะนั้นอีกอย่างหนึ่ง เวลาเรา ทำกิจกรรมใดๆก็ตาม สอบบรรจุก็ได้ค่ะ สอบบรรจุครู ทำไมเขาถึงไม่เรียงลำดับตารางคะแนน เพราะมันก็จะมี ข้อสังเกต หรือข้อสงสัยเกิดขึ้น เขาเลยตัดปัญหาด้วยการเรียงลำดับ ตามเลขที่สมัคร ให้มันค้นหาข้อมูล เขาก็สมัครงานได้ง่ายและก็ประกาศผลกองๆนะคะ แต่ว่า ก็แล้วแต่ ถ้ามีผู้ดูแลระบบ ก็อยากดูข้อมูลแบบไหนก็แล้วแต่ สิ่งที่เขาจะเรียกขึ้นมาดู อันนี้คือระดับภายใน ออกมา ระดับแนวคิด น่าจะเป็นโครงสร้าง ของฐานข้อมูลโดยรวมเราต้องดูว่า เราจะเก็บข้อมูลอะไร ฐานข้อมูลของเรา แต่ละข้อมูล มีส่วนอะไรที่มีความสัมพันธ์กัน เกี่ยวข้องกันบ้างนะคะ โดยการกระทำ จะทำ แสดงก็ตาม ที่เกิดขึ้นในระดับแนวคิด จะทำอยู่บนโครงสร้างฐานข้อมูลที่กำหนดไว้แล้วเท่านั้น ในระดับแนวคิด จะมีอะไรเกิดขึ้นบ้างนะคะ อย่างเช่น จำนวน entity City ก็คือ ส่วนของคอลัมน์ นะคะ อย่างเช่นนักศึกษา 1 คน จะมีทั้งหมดกี่ nct ที่เข้ามาเกี่ยวข้อง ก็จะมีแอนตี้ ของอาจารย์ ราคา เป็นคอลัมน์อาจารย์ ไม่ใช่สิเป็นตารางของอาจารย์ ฝรั่งนักศึกษา ตารางรายวิชา เกี่ยวข้องกัน 1 ตาราง เจ้ากลับด้วย agile ตัวนี้ คือคอลัมน์ นักศึกษา 1 คนจะมีกี่อาทิตย์ จำไม่ได้เลย อาจจะมีประมาณ สมมุติมี 3 คอลัมน์ 3 SCB คอลัมน์ที่ 1 รหัสนักศึกษา พระรามที่ 2 ชื่อนามสกุล ขอร้องที่ 3 น่าจะเป็นที่อยู่ เบอร์โทรศัพท์ ชื่อเล่นก็ได้ โดยแต่ละตาราง รายละเอียดซิตี้จะต้องมีความสัมพันธ์ระหว่างกัน relationship เช่น ทำไมตาราง อาจารย์อาจารย์ การรักษา เกี่ยวข้องกัน ลงทะเบียนเรียนของทุกคนมีไหมมี แล้วลงทะเบียนวิชานี้มีเชื่อจานไหม อาจารย์ก็สามารถดูได้เหมือนกัน วิชานี้ใครลงทะเบียนได้บ้าง เพราะฉะนั้น อาจารย์กับนักศึกษาต้องเกี่ยวข้องกันอย่างน้อย 3 ตาราง จราจรเก็บข้อมูลอาจารย์ ตารางนักศึกษาเก็บข้อมูลนักศึกษา ตารางลงทะเบียนเรียน สอนวิชาอะไรบ้างนักศึกษาโรงเรียนวิชาอะไรบ้างนะคะ อันนี้เป็นความสัมพันธ์แบบง่ายๆ อันนี้ก็เหมือนกัน ระดับภายนอก เป็นส่วนที่ผู้ใช้งาน เรียกดูข้อมูลนะคะ ผู้ชนะแต่ละคนจะดูข้อมูลเหมือนหรือต่างกันก็ได้ โดยที่ข้อมูลสามารถมีมุมมอง เค้าร่างภายนอกได้หลายรูปแบบ แล้วแต่นะคะ อย่างเช่นตัวอย่างนี้ ผู้ใช้งาน 3 คน นะคะ จะดูข้อมูลในฐานข้อมูลเดียวกัน น่าจะเป็นคนละตาราง เขาว่า ในฐานข้อมูล 1 ฐานข้อมูล อาจจะมีตารางได้เยอะมาก แต่ทุกตาราง ต้องมีความสัมพันธ์กัน อย่าง User ผู้ใช้งานคนที่ A อาจจะเลือกดูแค่ชื่อกับเบอร์โทรศัพท์เท่านั้นก็ได้ นะคะ User หรือผู้ใช้งาน KTB อาจจะขอดูข้อมูล รหัสนักศึกษา ชื่อที่อยู่เบอร์โทรศัพท์ก็ได้ แล้วแต่ นะคะ คนที่ 4 อาจจะไม่อยากดูข้อมูลของทุกคน อาจจะอยากดูว่า เทอมนี้มีวิชาอะไรเปิดสอนบ้าง รหัสวิชาอะไร ชื่อวิชาอะไร มีกี่หน่วยกิตก็ได้ ในฐานข้อมูลเดียวกัน แต่แค่เอามาจากคนละตารางแค่นั้นเองนะคะ ประโยชน์ ของสถาปัตยกรรมทั้ง 3 ระดับนะคะ กลับภายในระดับภายนอกและแนวคิด แน่นอนมุมมองผู้ชนะแต่ละคน กลับมาทำงานได้โดยอิสระ แยกจากกัน อาจจะมี การนำข้อมูลหลายๆตารางมารวมกัน ราคา เพื่อให้สามารถ ครอบคลุม การเรียกดูข้อมูลได้ อาจจะมอง คนละมุมกัน ใช้ฐานข้อมูลเดียวกันได้ แล้วก็ ผู้ใช้งานไม่จำเป็นต้องรู้ว่าข้อมูลที่เก็บไว้นี่ อยู่ตำแหน่งไหนของฮาร์ดดิสก์ ไม่จำเป็นต้องรู้รู้แค่ว่าฉันอยากเรียกข้อมูลขึ้นมาดูได้ ไม่ต้องดูได้ The Admin จะเป็นคนดูแลเองว่า ข้อมูลที่ถูกเก็บไว้นี่ ต้องจัดเก็บอยู่ตรงไหน แล้วเป็นคนที่ดึงข้อมูลนานๆ เข้ามาให้ผู้ใช้งาน สามารถใช้งานได้นะคะ ประโยชน์ข้อต่อมาความเป็นอิสระของข้อมูลอย่างที่บอก ถ้ามีการเปลี่ยนแปลงข้อมูลหรือมีการเปลี่ยนแปลงโปรแกรม ทุกอย่างต้องได้รับผลกระทบ ราคา งานต้องยังสามารถเก็บได้ โปรแกรมต้องทำงานได้ ไม่มีการเปลี่ยนแปลงของข้อมูลนะคะ ไม่ใช่ว่า มีคนนึงเปลี่ยนนามสกุลฐานข้อมูลทางมหาลัยผิดพลาดหมดเลยไม่ได้นะคะ บางคน เพิ่มที่อยู่ กลายเป็นว่าที่อยู่เหมือนกันทั้งมหาวิทยาลัย ไม่ได้นะคะ ข้อมูลต้องเป็นอิสระจากกัน หรือว่าวันนี้ อาจารย์บอกว่าฐานข้อมูลอาจารย์อยากใช้ Microsoft Access วันดีคืนดีบอกคนบอกว่า เปลี่ยนไปใช้ เกมอื่นได้ไหม เปลี่ยนได้นะคะ ไม่ใช่ว่าใช้โปรแกรมเดียวไปตลอด ไม่ได้ ถ้าสมมุติมีโปรแกรมที่ดีกว่า แล้วเราอยากเปลี่ยนก็ต้องเปลี่ยนได้โดยที่ข้อมูลเราไม่หายอันนี้คือความเป็นอิสระของข้อมูล อันนี้พูดไปแล้วนะคะ อันนี้พูดไปแล้วนะ แมปปิ้ง อันนี้พูดไปแล้วตอบมา แบบจำลองข้อมูลนะคะ จำลองข้อมูลมันจะเป็นแบบจำลองที่ใช้สำหรับอธิบาย และการจัดการข้อมูล ที่จะเกิดขึ้นในฐานข้อมูล ความสัมพันธ์ระหว่างข้อมูลแต่ละตาราง จะเกิดขึ้นอย่างไรบ้าง ข้อบังคับ ส่งข้อมูลในระบบที่จะมี การเพิ่มลบเปลี่ยนแปลงแก้ไขใดๆ ต้องมีกฎเกณฑ์อะไรบ้างนะคะ ทั้งนี้ก็เพื่อใช้ สำหรับเป็นข้อตกลง แล้วก็สื่อสารสำหรับคนออกแบบฐานข้อมูล ก็คนใช้งานฐานข้อมูลให้เข้าใจตรงกันนะคะ ว่า ถ้าเรามีระบบนี้ คุณสามารถทำอะไรได้บ้าง ทำอะไรไม่ได้ อยากดูแบบไหน แก้ไขข้อมูลอย่างไร ทำอย่างไรถึงจะบันทึกข้อมูลได้ ถ้าอยากลบรหัสนักศึกษาออกได้ไหม อยากเป็นนักศึกษาแต่ไม่มีรหัสนักศึกษาได้ไหม ไม่ได้ ก็ต้องเข้าใจตรงกันนะคะ อันแรก ราคา แบบจำลองข้อมูลนี้จะมีอยู่ 2 ประเภทประเภทแรก เธอเป็นแบบจำลอง ที่ใช้การบรรยาย ราคา บรรยายโดยรวมทั้งหมดของระบบ ว่ามีอะไรบ้าง นะคะ ซึ่งจะนำเสนอ ในลักษณะของการวาดภาพ โดยที่ในฐานข้อมูล 1 ฐานข้อมูล จะหมายถึง การเก็บตารางกี่ตาราง ราคา att นั่นแหละนะคะ แต่ละตารางมีความสำคัญอะไรบ้าง เราจะต้องวาดรูป โยงเส้น ขีดเส้นใต้ ตีกรอบ เดี๋ยวนี้ จะเป็นครั้งถัดไปในการวาดรูป ถ้าวันไหนจะวาดรูปอาจารย์จะให้ถือกระดาษ A4 มาด้วย ราคา ถ้าใครเคยเรียนในสมัยมัธยม เรียกว่า Mind Map วาดแผนภาพ การวาด ฐานข้อมูลก็จะไม่ค่อยต่างกันค่ะ แต่ว่าสัญลักษณ์แต่ละสัญลักษณ์ที่เอามาใช้ในการวาดรูปของเรา มันมีความหมายนะคะ ไม่ใช่อยากวาด อยากใส่วงรี ไผ่สี่เหลี่ยมอยากใส่สามเหลี่ยมอยากใส่วงกลม ไม่อยากใส่อะไรก็ใส่ไม่ได้นะคะ มันจะมีกรดอยู่ การวาดแบบนี้เนี่ย ในการสร้างแบบจำลองแบบนี้นี่ นำเสนอ ให้เกิดความเข้าใจตรงกันระหว่างคนออกแบบกับผู้ใช้งาน เห็นเพราะๆ ระบบที่เรากำลังจะทำขึ้นมามาทำงานอย่างไรนะคะ เก็บข้อมูลแบบไหน ข้อมูลอะไรได้บ้างนะคะ มันจะเป็นแบบจำลอง ที่ใช้อธิบายโครงสร้างของฐานข้อมูลนะคะ คุณสมบัติของแบบจำลองข้อมูลที่ดี