--- title: คอมพิวเตอร์พื้นฐาน ปี 1 subtitle: date: วันพุธที่ 15 ธันวาคม 2564 เวลา 13.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (เจ้าหน้าที่) ได้ยินไหมคะ พี่ล่ามคะ พี่อี๊ดคะได้ยินสกลไหมคะ โอเค (พี่การ์ตูน) ได้ยินเสียงล่ามไหมคะ (เจ้าหน้าที่) ได้ยินอยู่ค่ะ โอเคค่ะ เดี๋ยววันนี้เดี๋ยวเริ่มเลยนะคะ ก็เป็นอาทิตย์ที่ 3 แล้วนะคะ วันนี้มาเรียนที่ห้อง ในบางกรณีนะคะ แล้วแต่ ถ้ามีการเปลี่ยนแปลงอะไรอีก อาจารย์จะแจ้งให้ทราบนะคะ แต่พอดีวันนี้ด่วนนิดหนึ่ง ก็เลยแจ้งล่วงหน้าแค่วันนี้นะคะ จะเป็นบทที่ 2 นะคะ ของวิชาหลักการและระบบจัดการฐานข้อมูลนะคะ ก็จะเป็นเรื่องเกี่ยวกับสถาปัตยกรรมฐานข้อมูล แล้วก็แบบจำลองข้อมูลค่ะ แนวคิดเกี่ยวกับสถาปัตยกรรมฐานข้อมูลนี่นะคะ เราจะเป็นกรอบที่ใช้ในการบรรยายแนวคิดนะคะ อธิบายโครงสร้างฐานข้อมูลและส่วนประกอบที่เอามารวมกันจนได้เกินระบบฐานข้อมูลเข้ามารวมกันนะคะ ที่เอามาประกอบกันอยู่ 3 ส่วน ก็คือสถาปัตยกรรมฐานข้อมูลนะคะ ความเป็นอิสระของฐานข้อมจะอธิบายให้ทราบนะคะ แล้วก็ภาษาหลักที่ใช้ในใช้ในระบบจัดการฐานข้อมูลค่ะ โดยสถาปัตยกรรมฐานข้อมูลนี่ มันจะมีโครงสร้างอยู่ 3 ระดับนะคะ มีระดับภายนอก ระดับภายในแล้วก็ระดับแนวคิดนะคะ ซึ่งเป็นรูปแบบแล้วก็โครงสร้างพื้นฐานในการจัดการฐานข้อมูลทั่วไป ไม่ว่าระบบใด ๆ ก็ตามที่เกิดขึ้นนี่ เราจะมีโครงสร้างฐานข้อมูลอยู่ 3 ระดับนะคะ โดยที่อาจารย์พูดถึงเมื่อกี้นี้ ความเป็นอิสระของข้อมูล ก็คือการที่ผู้ใช้งานนี่สามารถเปลี่ยนแปลงข้อมูลในระดับแนวคิดหรือระดับภายในได้ โดยที่ไม่กระทบกับโปรแกรมที่เรียกใช้ อย่างเช่นเราใช้โปรแกรมพิมพ์งาน เราสามารถพิมพ์งานเพิ่มรูปภาพ ปรับปรุงข้อความในสิ่งที่เราทำได้นะคะ หรือถ้าเราใช้โปรแกรมในการจัดเก็บข้อมูลต่าง ๆ อาจจะเป็นโปรแกรมสำหรับทำบัญชี เราสามารถแกข้อมูลส่วนตัวภายในระบบนั้นได้ แต่ถามว่าโปรแกรมที่เราใช้งานนี่ มันมีความเสียหายเกิดขึ้นไหม ไม่มีค่ะ เราสามารถเพิ่มข้อมูลก็ได้ ลบข้อมูลก็ได้ อาจจะแก้ไขชื่อเล่นหรือจำนวนเงินที่เราใส่ลงไป แต่โปรแกรมที่เราใช้งานอยู่นี่มันไม่เกิดความเสียหายขึ้นนะคะ ซึ่งการใช้งานของผู้ใช้นี่ก็จะมองเห็นโครงสร้างของข้อมูลในระดับภายนอกเท่านั้น การใช้งานเหมือนเดิมนะคะ แต่การจัดการข้อมูลภายในนี่ ระบบ DBMS ที่อาจารย์อธิบายไปก็คือระบบจัดการฐานข้อมูลนี่ มันจะเป็นการจัดการในการเชื่อมต่อข้อมูลทั้งระดับภายนอก ระดับแนวคิดนะคะ แล้วก็เชื่อมต่อข้อมูลแนวคิดกับข้อมูลภายใน ซึ่งอาทิตย์ที่แล้วอาจารย์ให้ดูแล้วว่ามันจะเป็นตัวกลางระหว่างผู้ใช้งานนะคะ กับตัวฐานข้อมูลที่เราเก็บเข้าไปนะคะ ซึ่งความเป็นอิสระของข้อมูลจะมี 2 ประเภทนะคะ ก็เป็นความอิสระของข้อมูลเชิงตรรกะ ก็คือความคิดนะคะ ตรรกะ คือ แนวคิด วิธีคิด ทางตรรกะนี่ คือ มุมมองของผู้ใช้ข้อมูลนี่จะเปลี่ยนแปลงในระดับแนวคิด ไม่ส่งผลกับระบบโครงสร้าง แนวคิดก็คือเรามีวิธีการจัดการข้อมูลอย่างไรบ้าง เราจะมีเพิ่ม ลบ แก้ไขข้อมูล แต่โครงสร้างของโปรแกรมจะไม่เสียนะคะ ไม่ว่าเราจะทำการลบการเพิ่มข้อมูลเข้าไป โปรแกรมจะยังสามาใช้งานได้ไม่ว่าจะเป็น Users คนไหนมาใช้งานก็ตามนะคะ กับความเป็นอิสระของทางข้อมูลเชิงกายภาพ มันจะมีการเปลี่ยนแปลงแก้ไขโครงสร้างภายใน ก็คือเหมือนโปรแกรมเรามีการอัปเดตข้อมูลนะคะ โปรแกรมอัปเดตเวอร์ชันใหม่ขึ้น ๆ ข้อมูลเราจะไม่หายไปนะคะ อันนี้คือความอิสระข้อมูลเชิงกายภาพนั่นเอง ภาษาหลักในการจัดการระบบฐานข้อมูลนะคะ ภาษาที่ใช้ในระบบจัดการฐานข้อมูลนี่ จะเป็นภาษาสำหรับการนิยามข้อมูล นิยามในที่นี้คือข้อมูลที่เราจะใส่ไปคืออะไร ข้อมูลที่เราจะใส่เป็นตัวเลข ตัวอักษรหรือรูปภาพ จะต้องบอกระบบจัดการฐานข้อมูลเราได้ว่า ข้อมูลที่เราจะเอาเข้าสู่ฐานข้อมูลนี่ เป็นข้อมูลประเภทไหนนะคะ กับภาษาในการจัดการข้อมูลคืออะไร ภาษาสำหรับควบคุมการจัดการฐานข้อมูลคืออะไรนะคะ มีอยู่ 3 ภาษาหลักที่ใช้ในการจัดการฐานข้อมูลนั่นเอง ภาษาแรกนะคะ ภาษานิยามข้อมูล ตัวย่อก็คือ DDL นะคะ เป็นภาษาที่ใช้กำหนดสกีมาก็คือโครงสร้างภายในฐานข้อมูลนี่ล่ะ ว่าเรามีการเก็บข้อมูลอะไรบ้าง ประเภทไหนบ้างนะคะ ภาษานิยามข้อมูลตัวนี้ใช้กำหนด View หรือมุมมองผู้ใช้งานแล้วก็มุมมองของผู้จัดเก็บก็คือมุมมองของผู้ใช้งาน ก็คือเราเอาข้อมูลใส่ในฐานข้อมูลนี่อาจจะเป็นช่องว่างหรือเป็นตัวเลขที่เ)็น Drop down ลงมาจะมีสมมติมีวันเดือนปีเกิดนักศึกษา บางคนอาจจะให้พิมพ์ตัวเลขลงไป หรือเป็นตัวเลื่อน เขาเรียกว่า "Drop Down List" ตัวเลื่อนเล็ก ๆ กดเลื่อนลงมา เราสามารถเลื่อนวันที่เองโดนไม่ต้องพิมพ์นะคะ อันนี้ก็คือมุมมองว่าเราจะให้ผู้ใช้งานของเรานี่มองเห็นการทำงานของโปรแกรมนี่เป็นอย่างไรนะคะ ต่อมาภาษาในการจัดการข้อมูลหรือว่า DML นะคะ จะเป็นภาษาที่ใช้สำหรับจัดการภายในฐานข้อมูลนะคะ ก็จะเป็นคำสั่งต่าง ๆ นะคะ ในเชิงโปรแกรมมิ่ง ที่ใช้ในการเพิ่มข้อมูลเพิ่ม-ลบ แล้วก็แก้ไขข้อมูลในฐานข้อมูล จะมีคำสั่งเฉพาะนะคะ อันนี้จะเป็นระดับโครงสร้างภายในแล้ว User หรือผู้ใช้งานระบบอย่างเดียวนี่ ไม่สามารถเข้าไปใช้งานระบบได้นะคะ อันนี้จะอยู่ภายในตัวโปรแกรม ต่อมาภาษาควบคุมตัวย่อ คือ DCL เป็นภาษาที่ใช้ควบคุมความถูกต้องของข้อมูล การเกิดภาวะพร้อมกัน ก็คือมีข้อมูลของนักศึกษาห้องนี้ แต่มีอาจารย์หลายท่านอยากเข้ามาดูข้อมูล อาจจะมีการค้นหาข้อมูลของพวกเรามากกว่า 3 คน ระบบฐานข้อมูลจะจัดการอย่างไร ให้การทำงานที่ว่ามีการใช้ข้อมูลมากกว่า 1 คนนี่ต้องการใช้ข้อมูลตัวเดียวกัน แล้วก็การป้องกันเหตุการณ์ที่ผู้ใช่งานหลายคนเรียกใช้ข้อมูลพร้อมกันมันจะจัดลำดับความสำคัญของแต่ละข้อมูลที่เขาเรียกใช้อย่างไรนะคะ จะควบคุมโดยภาษา... ควบคุมหรือ DCL นั่นเอง สถาปัตยกรรมฐานข้อมูลนะคะ อย่างที่เกริ่นมาตอนแรก มันจะเป็นเกี่ยวกับการศึกษาโครงสร้างของระบบฐานข้อมูลรวมถึงหน้าที่ของแต่ละองค์ประกอบในแต่ละฐานข้อมูล มีการศึกาา การติดต่อกับส่วนอื่น ๆ อาจจะเป็นภายในองค์กรหรือระบบที่เราใช้งานอยู่นะคะ ที่ซึ่งมาการเกี่ยวข้องกับการเรียกใช้ฐานข้อมูลนะคะ ซึ่งสถาปัตยกรรมฐานข้อมูลนี่ มันจะใช้ในการสื่อสารติดต่อกับโปรแกรมประยุกต์นะคะ ซึ่งโปรแกรมตัวนี้จะไม่ขึ้นอยู่กับโครงสร้างของข้อมูล ว่าคุณอาจจะมีการเปลี่ยนแปลงโปรแกรมในอนาคต ตอนนี้อาจจะใช้โปรแกรมที่ 1 แต่รู้สึกแล้วว่าองค์กรของเรามันเติบโตขึ้น โปรแกรมที่เราใช้อยู่ในปัจจุบัน ไม่สามารถสนองต่อความต้องการของเราแล้วนะคะ ถ้าสมมติว่ามีการเปลี่ยนแปลงโปรแกรม หรือโครงสร้างข้อมูลที่เกิดขึ้นนี่ มันจะไม่กระทบกับข้อมูลที่มีอยู่ในปัจจุบันนะคะ คุณอาจจะเปลี่ยนโปรแกรมเปลี่ยนไปแต่ไม่กระทบเราจะยังอยู่นะคะ ซึ่งอันนี้นี่มันจะเกิดจากการจัดโครงสร้างของระบบฐานข้อมูลนะคะ ค่ะ ระบบฐานข้อมูลนี่ มันเป็นการนำข้อมูลในองค์กรของเรานี่ ที่มีความเกี่ยวข้องกันมารวมไว้ในระบบเดียวกัน อาจเป็นฐานข้อมูลเกี่ยวกับอาจารย์, เจ้าหน้าที่, นักศึกษา นะคะ หรือข้อมูลครุพันธ์ที่เกี่ยวกับเป็นต้นมาเก็บไว้ในที่เดียวกัน แต่อาจจะแยกเป็นแฟ้มข้อมูลแตกต่างกันไปนะคะ โดยที่ผู้ใช้งานฐานข้อมูลนี่จะมีมุมมองหรือว่าวิวที่แตกต่างกันไปตามจุดประสงค์หรือสิทธิการใช้งานโปรแกรมประยุกต์นั้น ๆ นะคะ โดยที่ผู้ใช้งานนี่ ไม่เป็นจำเป็นต้องรู้ว่าในระบบเขาใช้ฐษนข้อมูลอะไร เก็บด้วยภาษาโปรแกรมอะไรนะคะ ทั้งนี้นี่มันจะเกิดจากฐานข้อมูลจัดเก็บข้อมูลเอาไว้นะคะ โดยที่จะแบ่งข้อมูลออกเป็นชั้นต่าง ๆ อยู่ 3 ระดับชั้นนะคะ สถาปัตยกรรมฐานข้อมูล 3 ระดับชั้นนะคะ ก็คือมันจะแบ่งออกเป็น 3 ระดับ คือ ข้อมูลระดับภายนอก ระดับแนวคิด และระดับภายในนะคะ ซึ่งจะสามารถแปลงเป็นแผนภาพได้นะคะ อย่างระดับภายนอกนี่ User มีตั้งแต่ User คนที่ 1 ผู้ใช้งานคนที่ 2 หรือผู้ใช้งานคนใด ๆ ก็ตามนะคะ มุมมองหรือว่าการมองเห็นการใช้งานของเขานี่แต่ละคนก็จะไม่เหมือนกัน ตามสิทธิที่เขาจะสามารถเข้าถึงฐานข้อมูลได้นะคะ โดยจะมีตัวกำหนดนะคะ ระดับแนวคิดว่าผู้ใช้งานแต่ละคนนี่สามารถเข้าถึงข้อมูลด้านโครงสร้างภายในฐานข้อมูลของเรานี่ ได้ในระดับใดบ้างนะคะ การแสดงผลอาจจะไม่เหมือนกัน User คนที่ 1 อาจจะเป็นอาจารย์ ก็อาจจะดูข้อมูลของ User คนที่ 2 ที่เป็นนักศึกษาได้นะคะ แต่ User คนที่ 2 ที่เป็นนักศึกษาจะไม่สามารถเข้ามาดูข้อมูลของอาจารย์ซึ่งแล้วแต่การกำหนดสิทธิ์ในระดับการกำหนดแนวคิดภายในฐานข้อมูลเหมือนกันนะคะ มันจะมีการกำหนดเป็น 3 ระดับ ก็คือระดับภายนอก, ระดับภายใน, ระดับแนวคิดนะคะ ทำไมต้องแยกออกเป็น 3 ระดับออกจากกันนะคะ อย่างที่อาจารย์บอก ผู้ใช้แต่ละคนอาจจะสามารถเข้าถึงข้อมูลเดียวกันได้นะคะ อย่างเช่น ข้อมูลรายวิชาที่เปิดสอนตอนนี้นะคะ แต่มุมมองในการใช้งานอาจจะต่างกัน บางคนอาจจะเข้าไปดู บางคนอาจจะเข้าไปดูต่อว่าผู้สอนคือใคร สอนตึกไหน แต่ในฝั่งของอาจารย์ก็สามารถเข้าไปดูว่าในรายวิชานี้มีนักศึกแต่ก็ในมุมมองเดียวกันค่ะ มุมมองรายวิชาที่เปิดในเทอมนี้ โดยที่ผู้ใช้งานนี่ จะไม่สามารถเข้าถึงข้อมูลระดับกายภาพได้โดยตรง ก็คือ ข้อมูลที่เก็บอยู่ในฐานข้อมูลนี่นะคะ ไอ้ตัวฐานข้างล่างตรงนี้ ตัวนี้ค่ะ User ทั่วไปจะเข้าไปแก้ไขไม่ได้นะคะ จะดูได้อย่างเดียว คนที่จะแก้ไขโครงสร้างนะคะ ในระดับแนวคิดของฐานข้อมูลแล้วก็โครงสร้างในการ Manage ข้อมูลนี่ หรือผู้จัดการฐานข้อมูลนั่นเองนะคะ ซึ่งอย่างที่อาจารย์บอกระดับภายในของฐานข้อมูลนี่ ถ้าเราบอกว่าเราเปลี่ยนแปลงระบบหรือเปลี่ยนแปลงโปรแกรม ข้อมูลที่เก็บอยู่ใน Database ตรงนี้ จะต้องไม่ได้รับผลกระทบนะคะ จะต้องไม่ได้รับผลกระทบถ้ามีการเปลี่ยนแปลงโครงสร้างใด ๆ ก็ตาม ต่อนะคะ ระดับข้อมูลระดับภายในนะคะ จะเป็นระดับที่จัดเก็บข้อมูลด้วยโครงสร้างที่เหมาะสมนะคะ จะต้องเรียกแสดงผลได้รวดเร็วแล้วก็มีประสิทธิภาพเข้าถึงข้อมูลที่ User นั้น ๆ ต้องการจะใช้ข้อมูลนะคะ ซึ่งข้อมูลระดับภายในนี่จะเป็นการจัดเก็บในฐานข้อมูลที่จัดเก็บข้อมูลสำรองอาจจะเก็บอยู่ในฮาร์ทดิสก์ นะคะ หรือว่าภายในเครื่อง Server ต่าง ๆ โดยที่โครงสร้างข้อมูลนี่ เราจะต้องรู้ว่าเราจะเก็บข้อมูลอย่างไรในฐานข้อมูลนะคะ ถ้าเราเก็บข้อมูลเพื่อให้เรียกใช้ได้เร็วนี่ มีผลต่อประสิทธิภาพความเร็วในการเข้าถึงข้อมูลด้วยนะคะ ซึ่งข้อมูลที่อยู่ในระดับภายในนี่ อาจจะไม่มีการเก็บข้อมูลจริง ๆ ในฮาร์ดดิสก็ได้ อาจจะมีการทำงานที่เกียวกับ OS เหมือนกันนะคะ การอ่านเขียนข้อมูลอาจจะเป็นของระบบปฏิบัติการก็ได้นะคะ อยู่ที่ว่าูผู้ออกแบบระบบนี่เขาวางแผนโครงสร้างภายในระบบจัดการฐานข้อมูลอย่างไร อย่างเช่นตัวนี้นะคะ เราอาจจะที่มีรหัสนักศึกษา ก็เอาไว้สำหรับในการชี้ตำแหน่งหรือแทนตำแหน่งข้อมูลที่เราจะค้นหา บางทีเราอาจจะไม่ต้องจำข้อมูลว่าเขาชื่ออะไร อยู่ที่ไหน เบอร์โทรศัพท์อะไรนะคะ แต่ถ้าเราบอกว่าเป็นนักศึกษาคนที่ 3 ระบบจัดการฐานข้อมูลก็จะชี้ไปเลยว่านักศึกษาคนที่ 3 ชื่ออะไร บ้างอยู่ที่ไหน เบอร์โทรศัพท์เบอร์อะไรนะคะ หรือนักศึกษาคนที่ 2 จำไม่ได้ จำได้แค่ว่ารหัสของเขา คือ 2 ระบบจัดการฐานข้อมูลก็จะทำการสืบค้นได้ว่าคนที่ 2 นี่มีรายละเอียดอะไร ชื่ออะไร บ้านอยู่ที่ไหน เบอร์โทรศัพท์อะไร อันนี้เป้นการเก็บตำแหน่งนะคะ ภายในโครงสร้างของฐานข้อมูล แต่มันจะมีอีกอย่างหนึ่ง เป็นการชี้ตำแหน่งนะคะ ก็คือเป็นการชี้ตำแหน่งของการเก็บข้อมูลอยู่บนในฮาร์ทดิสก์ ในดิสก์นะคะ ก็คือคนที่ 1 นี่ อาจจะไม่ได้เก็บอยู่ในตำแหน่งลำดับที่ 1 ก็ได้ อาจจะเก็บอยู่ในตำแหน่งระดับที่ 4 นะคะ คนที่ 3 อาจจะอยู่ตำแหน่งใด ๆ ก็ได้นะคะ หรือคนที่ 2 อาจจะอยู่ในเก็บข้อมูลลำดับที่ 11 ก็ได้ แต่การเรียกใช้งานจะเรียกใช้งายโดยระบบจัดการฐานข้อมูล โดยการแทนตำแหน่งของเลขรหัสตัวนี้นะคะ เพื่อให้ระบบจัดการฐานข้อมูลนี่เรียกตำแหน่งใด ๆ ก็ตามบนดิสก์นี่ สามารถนำมาแสดงผลได้นะคะ ในระดับแนวคิดหรือระดับหลักการนะคะ มันจะเป็นโครงสร้างหลักของระบบจัดการฐานข้อมูลโดยรวม เราจะต้องรู้ว่าระดับการออกแบบฐานข้อมูลของเรานี่ จะเก็บอะไรนะคะ ความสัมพันธ์ของข้อมูลเป็นอย่างไร สิ่งที่เกิดขึ้นเกิดอะไรบ้าง ในมุมมองของระบบนะคะ เราจะเรียกว่า "เป็น Schema ก็คือโดยที่มันจะอธิบายโครงสร้างที่ประกอบด้วยคำศัพท์หลายคำนะคะ เช่น Entity Entity ก็หมายถึงจะเป็นหัวตารางน่ะค่ะ หัวตารางรหัสนักศึกษา หัวตารางชื่อ หัวตารางนามสกุล เราจะแทนด้วย Entity นะคะ ก็คือหัวตารางนั่นเอง ประกอบด้วย Entity อะไรบ้าง แต่ละ Entity เกี่ยวกับข้อมูลอะไร เขตข้อมูลก็คือ Attribute ตัวนี้ ก็คือในตารางเราจะใส่ข้อมูลอะไรลงไปบ้างนะคะ ใส่ข้อมูลประเภทอะไร ตัวอักษร ตัวเลข หรือรูปภาพนะคะ ความสัมพันธ์แต่ละ Entity ก็คือแต่ละตารางมันสัมพันธ์กันอย่างไรบ้างนะคะ โดยการกระทำหรือการปฏิบัติการใด ๆ ก็ตามในโปรแกรมจากผู้ใช้งานนี่ จะทำบนโครงสร้างของข้อมูลในระดีบแนวคิดนี้เท่านั้นนะคะ จะไม่ทำในระดับอื่น จะเกิดขึ้นตรงนี้นะคะ จะเกิดขึ้นในระดับนี้ โดยระดับแนวคิดนี่มันจะมีสิ่งที่เกิดขึ้น มี Entity ทั้งหมด ประกอบไปด้วย Attribute อะไรบ้าง มีความสัมพันธ์กันแต่ละ Entity อะไรบ้าง มีตารางทั้งหมดกี่ตาราง ประกอบไปด้วยข้อมูลอะไรบ้างนะคะ อันนี้คือตาราง อันนี้คือมีข้อมูลอะไรบ้างในระหว่างแต่ละตารางนั่นเอง รวมถึงกฎเกณฑ์ของข้อมูล อย่างที่อาจารย์บอก ชื่อนักศึกษาจะต้องเป็นตัวอักษรเท่านั้น เป็นตัวเลขไม่ได้นะคะ รหัสนักศึกษาต้องเป็นตัวเลขเท่านั้น เป็นตัวอักษรไม่ได้เป็นต้นนะคะ ความปลอดภัยและความคงสภาพของข้อมูล ก็คือถ้าชื่อนักศึกษา อยู่ดี ๆ นักศึกษาพิมพ์ผิดเป็นตัวเลข ระบบจะต้องจัดการกับมันอย่างไร อาจจะมีการแจ้งเตือนว่าข้อมูลที่คุณใส่ไม่ถูกต้องนะคะ หรือคุณใส่ข้อมูลผิดประเภท ระบบจะต้องมีความปลอดภัยและป้องกันความคงสภาพของข้อมูลตรงจุดนี้ด้วย อาจจะมีการแจ้งเตือนขึ้นมาเลยถ้าเราใส่ข้อมูลผิดนะคะ อันนี้ก็เป็นตัวอย่างข้อมูลนะคะ Conceptual ก็คือการแสดงผลออกมานี่ อาจจะเป็นการแสดงผลเป็นตารางเรียงลำดับตามเลขจากน้อยไปหามากแบบนี้นะคะ แต่ในระดับโครงสร้างภายในของฐานข้อมูล มันอาจจะไม่เรียงตามลำดับจากน้อยไปหามากก็ได้นะคะ อาจจะเรียงลำดับตามข้อมูลที่เรากรอก แต่มันจะมีตัวชี้ตำแหน่งของแต่ละรหัสข้อมูลนี่ ว่าข้อมูลที่เราต้องการนี่อยู่ตำแหน่งไหนในดิสก์ หรือฮาร์ดิสหรือในดิสก์เก็บข้อมูล ฐานเก็บข้อมูลของเรา ตามที่เราต้องการแบบนี้ก็ได้นะคะ ในระดับภายในนี่ เราอาจจะไม่รู้เลยว่าเก็บข้อมูลอย่างไร ที่เราเอาออกมาดูนี่ต้องเรียงลำดับตามที่เราต้องการ อาจาจารย์อาจจะบอกว่าให้เรียงลำดับจากน้อยไปหามากไปหาน้อยก็ได้อยู่ที่ว่าผู้ใช้งานคนนั้น ๆ ต้องการให้แสดงผลอย่างไรนะคะ ต่อมาโครงสร้างระดับภายนอกนะคะ จะเป็นระดับที่ใช้ในการติดต่อในการทำงานกับผู้ใช้งานนะคะ โดยผู้ใช้งานแต่ละคนนี่ อาจจะมีมุมมองข้อมูลแตกต่างกัน ไม่เหมือนกันนะคะ หรืออาจจะดูข้อมูลตัวเดียวกันก็ได้นะคะ รูปแบบข้อมูลที่เห็นในภายนอกนี่ เราจะเรียกว่า เค้าร่างภายนอก หรือว่าวิว อาจจะเรียกได้หลายแบบนะคะ โดยแต่ละฐานข้อมูลนี่มันจะมีมุมมองหรือว่าเค้าร่างภายนอกนี่ได้หลายรูปแบบนะคะ อย่างอันนี้ตัวอย่างภาพนะคะ ในตัวอย่างนี่จะมีผู้ใช้งานอยู่ 3 คนนะคะ ข้อมูลจะมีอยู่ 2 ตาราง ผู้ใช้งานคนที่ A นาย A นะคะ เขาเรียกดูจากตารางนี้ ตารางที่ 1 ตารางที่ 1 ตารางที่ 2 ตารางที่ 2 ในตารางที่ 1 นาย A นี่ เขาอยากรู้แค่ว่าในตารางที่ 1 มีคนชื่อว่าอะไรบ้าง เบอร์โทรศัพท์อะไรบ้างนะคะ ซึ่งแตกต่างจากนาย B นาย B อยากดูข้อมูลในตารางที่ 1 เหมือนกัน แต่อยากรู้ว่าในรหัส 001 นี่ เป็นข้อมูลของใคร บ้านอยู่ที่ไหน เบอร์โทรศัพท์อะไร เห็นไหมคะ ว่าข้อมูลตารางเดียวกัน แต่ 2 คนนี้ A กับ B เขาก็เรียกดูข้อมูลไม่เหมือนกัน ซึ่งแตกต่างจาก C ข้อมูลมี 2 ตาราง ตารางที่ 1 C ไม่อยากดู C อยากดูแค่ว่าในตารางที่ 2 มีข้อมูลอะไรบ้างนะคะ อันนี้ก็คืออย่างที่อาจารย์บอก ผู้ใช้งานแต่ละคนอาจจะดูข้อมูลตารางเดียวกัน หรือดูข้อมูลไม่เหมือนกเหมือนกันก็ได้ แต่อยากดูข้อมูลตารางเดียวกัน แต่ข้อมูลไม่เหมือนกันก็ได้นะคะ อันนี้คือมุมมองของผู้ใช้งานแต่ละคนนะคะ โดยประโยชน์ของการแบ่งสถาปัตยกรรมของระบบนี่ เป็น 3 ระดับนี่ ข้อแรกอย่างที่อาจารย์บอกมุมมองของผู้ใช้งานนะคะ มันก็จะมีหน้าที่ของระบบจัดการฐานข้อมูลนี่ทำหน้าที่แปลงข้อมูลนะคะ โดยที่ระบบจัดการฐานข้อมูลตรวจสอบโครงสร้างของข้อมูลเพื่อให้ตรงกัน User แต่ละคนเรียกใช้ข้อมูลได้ ตามความต้องการของผู้ใช้งานคนนั้น ๆ นะคะ โดยสิ่งนี้เราเรียกว่าเป็นการ Mapping หรือการ Map โดยที่การแปลระดับข้อมูลต่าง ๆ นี่มันก็จะมีประโยชน์เกิดขึ้นไปอีกนะคะ อย่างเช่น การแปลงข้อมูลจากระดับแนวคิดไประดับภายนอกนะคะ ก็เป็นการกำหนดโครงสร้างของข้อมูล แต่ละแถว แต่ละคอลัมน์ Record ถ้าเป็นศัพท์ทั่วไป ก็คือแถว Field ก็คือเป็นคอลัมน์ โดยที่มันกำหนดโครงสร้างแบบนี้ สามารถควบคุมมุมมองต่าง ๆ ของผู้ใช้งานฐานข้อมูลนี่ มีมุมมองข้อมูลแตกต่างกันเหมือนที่อาจารย์ให้ดูเมื่อกี้ แต่ละคนอาจจะเอาข้อมูลมาไม่เหมือนกัน แต่บางคนข้อมูลจำนวนเดียวกันแต่บางคนก็อยากจะรู้เรื่องหนึ่ง บางคนก็ไม่อยากรู้ แต่อยากรู้อีกเรื่องหนึ่ง ก็เกิดขึ้นได้ รวมถึงการแปลงระดับข้อมูลจากระดับแนวคิดเป็นรและระดับภายในนี่ ก็เป็นการนำข้อมูลอาจจะมีการกำหนดแถว กำหนดคอลัมน์ในการจัดเก็บข้อมูลนี่ โดยที่ อย่างที่บอก ในการใช้งานไม่จำเป็นต้องรู้ว่าข้อมูลที่เราใช้งานอยู่เก็บอยู่ที่ตำแหน่งไหนภายในดิส์ของเรานะคะ ซึ่งมันเป็นหน้าที่ของระบบจัดการฐานข้อมูล เพื่อจะดูว่าข้อมูลที่เราต้องการนี่ มันอยู่ตำแหน่งไหนของฐานข้อมูลแล้วมันจะมีตัวชี้ตำแหน่งนะคะ ถ้ามันมีตัวชี้ตำแหน่งปุ๊บ จะนำข้อมูลนั้นมาแสดงผลให้กับผู้ใช้งานคนนั้น ๆ ที่ต้องการจะดูข้อมูลนะคะ อาจารย์อยากดูข้อมูลนักศึกษาห้องนี้ ระบบฐานข้อมูลก็จะไม่รู้ล่ะ อาจารย์อาจจะไม่รู้ว่าข้อมูลมันเก็บอยู่ที่ไหน จะต้องมีตัวชี้ตำแหน่งเพื่อให้แสดงข้อมูลข้องนักศึกษาห้องนี้ขึ้นมาให้อาจารย์ดู หรืออาจารย์นี่อยากดูนักศึกษาห้องอื่น ระบบจัดการฐานข้อมูลก็จะเป็นคนไปเอาข้อมูลมาตามตำแหน่งที่อาจารย์ชี้ไป อาจารย์ยังไม่รู้ ตำแหน่งข้อมูลอยู่ตรงไหนอาจารย์ไม่รู้ แต่จะเป็นระบบที่จัดการข้อมูลมาให้อาจารย์เองนะคะ ต่อมาประโยชน์ของสถาปัตยกรรมข้อที่ 2 นะคะ ความเป็นอิสระของข้อมูล ก็คือผู้ใช้งานไม่จำเป็นต้องแก้ไขโปรแกรมทุกครั้ง ถ้าโปรแกรมมีการเปลี่นแปลงโครงสร้างนะคะ มันจะเป็นหน้าที่ของระบบจัดการฐานข้อมูลเป็นการเชื่อมต่อนะคะ อย่างเช่น เราอาจจะมีการแปลงฐานข้อมูลนักศึกษานะคะ อาจจะมีการเปลี่ยนแปลงรหัสนักศึกษาตอนนี้อาจจะมี 7 ตัว อนาคตอาจจะมี 8 ตัว ถามว่ามันจะมีผลต่อการคีย์เลขหรือการพิมพ์ตัวเลขของอาจารย์ไหม ระบบจัดการฐานข้อมูลจัดการว่าอาจจะเป็นรหัสนักศึกษา อาจจะมีความยาวระหว่าง 7 - 8 ตัวเลข พิมพ์มาถูกต้องตามหลักเกณฑ์ก็สามารถเรียกดูข้อมูลได้นะคะ เพราะฉะนั้น บางครั้งนี่มันจะต้องมีการปรับปรุงเปลี่ยนแปลงเข้าไปเรื่อยตามเทคโนโลยีที่ก้าวหน้าขึ้น หรือการจัดการข้อมูลที่ดีขึ้นนะคะ ผู้ใช้งานจะต้องไม่มีผลกระทบกับการเปลี่ยนแปลงนี้นะคะ ซึ่งความอิสระของข้อมูลนี่ จะมีอยู่ 2 ชนิดอย่างที่อาจารย์บอก ก็คือเชิงตรรกะ ก็คือเชิงวิธีการคิดนะคะ แล้วก็เชิงกายภาพนะคะ เชิงตรรกะนี่ จะมีความเป็นอิสระของข้อมูลนะคะ ซึ่งถ้าสมมติมีการเปลี่ยนแปลงโครงสร้างของตรางในฐานข้อมูลนี่ การใช้งานนะคะ เราอาจจะไม่จำเป็นต้องเปลี่ยนโปรแกรมใหม่ก็ได้นะคะ โดยข้างในนี่อาจจะมีโปรแกรมเมอร์หรือผู้ดูแลระบบนี่สร้างตารางเพิ่มขึ้น โดยที่หน้าจอของผู้ใช้งานนี้ของฝั่งผู้ใช้งานนี่ อาจจะมีการปรับปรุง อัปเดตโปรแกรมให้ใหม่ขึ้น แล้วก็ผู้ใช้งานก็จะต้องใช้งานได้ตามปกติ ซึ่งเป็นหน้าที่ของ Data base admin หรือผู้ดูแลฐานข้อมูลนี่ จะเป็นผู้สร้าง View หรือมุมมองใหม่ขึ้นมานะคะ เพื่อให้ระบบรู้ว่านี่ตอนนี้เราอาจจะมีหลักสูตรเปิดขึ้นใหม่ ซึ่งในฐานข้อมูลเดิมไม่มี คนที่จะจัดการให้มีหลักสูตรที่เกิดขึ้นได้นี่ บรรจุเข้าไปใหม่ ว่าเด็กปีการศึกษาหน้า อาจมีหลักสูตรอื่นเกิดขึ้นมานี่ ผู้ดูแลฐานข้อมูลนี่จะเป็นผู้ดูแลข้อมูลนะคะ รวมถึงควบคุมการเข้าถึงของผู้ใช้ในครั้งต่อไป ว่ามีสิทธิ์ในการเข้าไปดูข้อมูลนักศึกษาหลักสูตรใหม่ หรือสามารถเข้าไปปรับปรุงแก้ไขข้อมูลนักศึกษานี่ Database Admin นี่จะเป็นผู้จัดการนะคะ ความเป็นอิสระของข้อมูงเชิงกายภาพนะคะ ก็คือถ้ามีการเปลี่ยนแปลงโครงสร้างภายในอย่างเช่น เมื่อกี้นี่อาจารย์บอกว่ามีการสร้างตารางใหม่นะคะ ก็อาจจะไม่จำเป็นต้องปรับเปลี่ยนโครงสร้างของฐานข้อมูล ก็คือเราไม่ต้องเพิ่มอะไรมากมายวุ่นวาย หลักสูตรเดิมเคยมีอยู่แล้วก็เพิ่มไปอีกชื่อหนึ่ง อาจจะไม่จำเป็นต้องรื้อทั้งระบบออกมาสร้างใหม่ เพราะทุกอย่างจะแยกเป็นแต่ละตาราง ๆ อยู่แล้ว แต่ถ้ามันจะมีผลแน่ถ้าผู้จัดการฐานข้อมูลนี่เอาทุกอย่างมารวมเป็นตารางเดียวกันทั้งหมด เดี๋ยวอาจารย์จะมีตัวอย่างให้ดูว่า ถ้าพวกคุณไม่แยกข้อมูลแต่ละชนิดออกจากกัน ถ้าสมมติมันมีการเปลี่ยนแปลงในอนาคตมันจะมีปัญหาใด ๆ เกิดขึ้นมาบ้างถ้าสมมติว่าเราไม่ได้แยกฐานข้อมูลให้มีระบบระเบียบนะคะ อันนี้ก็คือความเป็นอิสระของฐานข้อมูล 3 ชั้น จะแยกออกจากกัน ถ้ามีส่วนใดส่วนหนึ่งมีการปรับปรุงเปลี่ยนแปลงนะคะ มันจะไม่กระทบต่อชั้นอื่น ๆ การเปรี่ยนแปลงภายนอก แนวคิดระดับภายในจะไม่โดนกระทบ ก็คือสิ่งที่อาจารย์อธิบายไปเมื่อสักครู่นี้นะคะ ประโยชน์ของระบบสถาปัตยกรรมฐานข้อมูลนี่ ก็คือความเป็นอิสระของข้อมูล ผู้ใช่งานไม่ต้องมาคอยแก้ไขโปรแกรมทุกครั้งที่มีการเปลี่ยนแปลงนะคะ ระบบจัดการฐานข้อมูลจะมีหน้าที่เชื่อมโยงระหว่างข้อมูลในแต่ละระดับให้เองนะคะ วัตถุประสงค์ของการแบ่งโครงข้อมูลเป็น 3 ระดับก็คือผู้ใช้งานไม่จำเป็นต้องสนใจว่าโครงสร้างในการจัดเก็บข้อมูลอย่างไร เรียงลำดับอย่างไร มีตัวชี้ ดัชนีก็คือตัวชี้ตำแหน่งนะคะ ตำแหน่งของการเก็บข้อมูลอยู่ตรงไหนหรือการสุ่มข้อมูลต้องทำอย่างไรนะคะ ผู้ใช้งานไม่ต้องรู้ เป็นหน้าที่ของระบบจัดการฐานข้อมูลเป็นตัวจัดการนะคะ ผู้ใช้งานแต่ละคนเข้าถึงข้อมูลชุดเดียวกันได้ อาจจะแสดงข้อมูลทั้งหมด หรือเป็นบางส่วนก็ได้นะคะ บางทีไม่อยากดูทุกคน อาจจะดูแค่บางรายชื่อก็ได้นะคะ ความเป็นอิสระของข้อมูล คือ ไม่ต้องแก้ไขโปรแกรมทุกครั้ง อันนี้ก็ให้นักศึกษาดูไว้คร่าว ๆ นะคะ ซึ่งส่วนมาก ตัวนี้นี่ 3 หน้าที่นี้ อาจจะไม่จำเป็นที่เราจะต้องจัดการเอง เพราะมันเป็นหน้าที่ของระบบจัดการฐานข้อมูลเป็นตัวจัดการนะคะ อันนี้เราแค่รู้คร่าว ๆ ไว้ว่าโครงสร้างในการจัดเก็บฐานข้อมูลนี่ มันมีสิ่งที่ต้องทำมีอะไรบ้างนะคะ การออกแบบฐานข้อมูลก็คือข้อมูลเดียวกัน ข้อมูลชนิดเดียวกันสิ่งเดียวกันที่เกิดขึ้น แต่เมื่อมีการเรียกใช้งานจากผู้ใช้งานที่ต่างกัน คนละคนกัน มุมมองที่ต้องการหรือมุมมองที่มองเห็นจะแตกต่างกันนะคะ ซึ่งมุมมองของผู้ใช้งานแต่ละคนนะคะ ในการมองทางด้านการจัดการฐานข้อมูลนี่จะเป็นมุมมองเชิงตรรกะ ตรรกะก็คือความคิด อยากดูไม่เหมือนกัน หรืออาจจะตรงกันบ้างก็ได้ หรืออาจจะไม่ตรงกันเลยก็ได้นะคะ ซึ่งมุมมองของระบบปฏิบัติการหรือว่าระบบที่เราใช้งานอยู่ในปัจจุบันนี่ เวลาแสดงผลเราจะมองเป็นมุมมองเชิงกายภาพนะคะ มุมมองกับการแปรระดับข้อมูลนะคะ 3 ระดับนี่ แต่ละดับ แต่ละระดับนี่ ระบบจัดการฐานข้อมูลทำหน้าที่แปลงข้อมูล หรือรูปแบบระดับข้อมูลจากระดับหนึ่งไปอีกระดับหนึ่งนะคะ ซึ่งการแปลแบบนี้นี่มันเป็นการถ่ายทอดมุมมองของแต่ละมันก็จะมีอยู่ 3 ระดับชั้น การแปลงก็จะมีแค่ 2 ลักษณะ ก็คือแปลงจากระดับภายนอกเป็นระดับแนวคิด จากระดับแนวคิดเป็นระดับภายใน เหมือนข้อมูลเรามี 3 ชั้นนี่ค่ะ มันก็จะมีการแปลงแค่ 2 ชั้นนะคะ มันจะเป็นตัวเชื่อมกัน ชั้นนี้กับชั้นนี้ ชั้นนี้กับชั้นนี้นะคะ มีแค่ 2 ชั้น การแปลความหมายจากระดับภายนอกไประดับแนวคิดนะคะ ก็คือการแปลงมุมมองจากผู้ใช้นะคะ ไปถึงระดับการออกแบบโครงสร้าง เราจะต้องรู้ว่าผู้ใช้ของเรา ต้องการส่วนใหญ่แล้วหรือ เราจะไม่ใช้คำว่า "ส่วนใหญ่" เราจะต้องคิดให้ทุกด้านว่าผู้ใช้งานนี่เขาสามารถใช้งานแบบไหนบ้างที่สามารถเกิดขึ้นได้นะคะ เขาอาจ คุณอาจจะรู้สึกว่าคุณชอบให้ขึ้นเป็นแบบนี้ ต้องคิดเผื่อ เผื่อไม่ใช่เผื่อแค่เพื่อนเรา มันมีความเป็นไปได้ที่จะเกิดขึ้นของการเรียกดูข้อมูลเป็นกี่แบบ คุณต้องคิดให้ครอบคลุมทุกคน บางทีเราชอบแบบนี้ แต่คนอื่นคนใดก็ตาม เขาก็อาจจะอยากดูอีกแบบหนึ่งก็ได้ คุณต้องคิดเผื่อด้วยนะคะ รวมถึงการแปลงระดับข้อมูลแนวคิดนะคะ จากตรงกลางไปหาภายในก็จะเป็นการที่โครงสร้างที่เราคิดได้แล้วว่า ผู้ใช้งานมีแบบไหนบ้าง อันนี้คือสิ่งที่เราคิดไว้ พอเราได้สิ่งที่เราคิดไว้เสร็จปุ๊บ เราก็จะเราโครงสร้างหรือไปออกแบบวิธีเก็บข้อมูลอาจจะเป็นฮาร์ดดิสก์ หรืออาจจะเป็นการเก็บข้อมูล อาจจะเป็นระบบคลาวด์เก็บไว้บนอากาศก็ได้นะคะ แบบจำลองข้อมูลนะคะ Data Model แบบจำลองข้อมูลนะคะ ก็จะเป็นแบบจำลองที่ใช้อธิบายข้อมูลสัมพันธ์ระหว่างข้อมูลแล้วก็ข้อบังคับในระบบนะคะ ใช้สำหรับสื่อสารระหว่างผู้ออกแบบฐานข้อมูลกับผู้ใช้งานให้เข้าใจตรงกัน เช่น หัวตารางเป็นชื่อ-นามสกุล ก็ต้องเป็นชื่อนามสกุล เป็นเบอร์โทรศัพท์ไม่ได้ เป็นต้นนะคะ คุณอยากได้ข้อมูลอะไร หรือข้อมูลที่คุณจะแสดงผลมาเป็นอะไรจะต้องตรงกัน เข้าใจตรงกันนะคะ เช่น ถามบบ้านอยู่ที่ไหน ไม่ใช่ตอบว่าเซเว่น ไม่ได้ ถามบ้านต้องตอบบ้าน ถามที่เรียนก็ต้องตอบที่เรียน อันนี้คือความเข้าใจที่ตรงกัน ไม่ใช่ถามอย่างหนึ่งตอบอย่างหนึ่ง เรียกดูข้อมูลอย่างหนึ่งแสดงผลอกกก็ไม่ได้นะคะ เราจะต้องสร้างแบบจำลองขึ้นมาก่อนว่า ว่าสิ่งที่เราต้องการจะแสดงผล กับสิ่งที่เราต้องการจัดเก็บหรือสิ่งที่ผู้ใช้งานเข้าใจตรงกันไหมนะคะ วัตถุประสงค์ของแบบจำลองข้อมูล ก็คือเอาแนวคิดต่าง ๆ ที่อาจารย์อธิบายไปว่าแต่ละคนอาจจะคิดไม่เหมือนกัน สิ่งที่จะเกิดขึ้นได้มีอะไรบ้าง เอามาสร้างเป็นแบบจำลอง รวมถึงเป็นไปได้ทั้งหมดที่จะเกิดขึ้นแล้วนี่ เราก็ต้องมานำเสนอข้อมูลออกมา วาดความสัมพันธ์ของข้อมูลแต่ละรูปแบบให้เข้าใจง่าย เช่น ถ้าเราดูแปลนบ้าน เราก็ต้องรู้แล้วว่าโครงสร้างบ้านที่กำลังจะสร้างนี่ เป็นบ้านกี่ชั้น บ้านชั้นเดียว บ้าน 2 ชั้น มีกี่ห้องนอน มีกี่ห้องน้ำ มีประตูกี่บาน มีหน้าต่างกี่บาน เหมือนกันค่ะ ระบบจัดการฐานข้อมูลต้องวาดออกมาเหมือนกันค่ะ ออกมาก่อนว่าในฐานข้อมูลของเรานี่ จะมีประเภทอะไรบ้าง ของใคร เก็บอย่างไร เก็บที่ไหนนะคะ เพื่อใช้ในการสื่อสารระหว่าง Databese Admin ก็คือผู้ที่ออกแบบฐานมูลที่ออกมา เช่น วาดออกมาเป็นสัญลักษณ์ วาดออกมาเป็นสัญลักษณ์นี้ต้องเข้าใจตรงกันว่านี่คือสัญลักษณ์ประตูบ้าน นี่คือสัญลักษณ์ห้องน้ำ นี่คือสัญลักษณ์หน้าต่าง ถ้าทุกคนเข้าใจไม่ตรงกัน อาจารย์วาดสัญลักษณ์ประตูบ้านแต่ช่างเอาไปสร้างเป็นหน้าต่าง เข้าใจไม่ตรงกันแล้ว สัญลักษณ์มีความหมายนะคะ ทุกคนเข้าใจตรงกันว่าสัญลักษณ์นี่คืออะไร ใช้เครื่องหมายนี่คืออะไรนะคะ อันนี้ก็เหมือนกันกับแบบจำลองฐานข้อมูล เดี๋ยวเราจะได้ลองทดลองสร้างดูว่าในอาจจะสัปดาห์นี้ หรือสัปดาห์ต่อ ๆ ไปนี่ คุณจะสามารถวาดฐานข้อมูลได้หรือเปล่านะคะ ประเภทของแบบจำลองแบ่งออกเป็น 2 ปะเภท Conceptual Model ก็คือเป็นแบบข้อมูลการบรรยาย ใช้การบรรยายนะคะ มีการบรรยายลักษณะโดยรวมของข้อมูลในระบบ บรรยายแผนภาพนะคะ ประกอบไปด้วย Entity ตารางต่าง ๆ และ Relationship ก็คือความสัมพันธ์ต่าง ๆ เราจะต้องวาดออกมาให้สอดคล้องกันนะคะ โดยแบบจำลองแนวคิดนี่จะเป็นการนำเสนอความเข้าใจกับผู้เสนอและผู้ออกแบบ ถ้า 2 คนนี้มานั่งดูรูปภาพเดียวกันเขาเข้าใจตรงกันไหมนะคะ ข้อมูลที่ได้ตรงตามความต้องการหรือเปล่านะคะ เหมือนแปนบ้านที่ครูบอกเมื่อกี้นี้ ผู้รับเหมากับเจ้าของบ้านเข้าใจตรงกัน มี 4 ห้องนอนนะ มี 3 ห้องน้ำนะ มีหน้าต่างตรงนี้นะ มีประตูตรงนี้นะคะ เข้าใจตรงกันหรือเปล่านะคะ ต่อมาเป็นแบบ Implementation ใช้อธิบายโครงสร้างของฐานข้อมูลนะคะ ก็คือแบบจำลองที่เอามาอธิบายเลย มาคุยกันเลย ว่าคุณสมบัติของแบบจำลองข้อมูลที่ดีเป็นอย่างไร ต้องมีความง่ายต่อความเข้าใจ ไม่ซ้ำซ้อนนะคะ ก็คือข้อมูลในการเก็บฐานข้อมูลนี่ เราจะไม่เก็บข้อมูลที่ซ้ำกัน อาจารย์ถามไปแล้ว มหาวิทยาลัยมีข้อมูลแล้ว แต่อีกที่หนึ่งมีข้อมูลแล้ว แต่อีกที่หนึ่งมีที่เก็บข้อมูลนักศึกษาคนเดียวนี่อาจจะมีเก็บอยู่ 3, 4, 5 ที่ ซึ่งมันไม่ควรจะเกิดขึ้น มันซ้ำซ้อนกัน มันอาจจะมีปัญหาในหกแก้ไขข้อมูลส่วนตัวในอนาคตก็ได้นะคะ ถ้าเราออกแบบได้ดีนี่ อย่างที่อาจารย์บอกเราไปเมื่อกี้ มีการเปลี่ยนแปลงข้อมูลในอนาคต เช่น บางคนอาจจะเปลี่ยนชื่อ เปลี่ยนนามสกุล แต่ถ้าเราเก็บข้อมูลไว้ 4-5 ที่ แทนที่จะเก็บไว้ที่เดียวนะคะ คุณก็ต้องไปคอยตามแจ้ง 4 - 5 ที่ที่บอกมาว่าผมเปลี่ยนชื่อนะ หนูเปลี่ยนชื่อนะ เปลี่ยนนามสกุลนะคะ ทั้ง 4 ที่ ทั้ง ๆ ที่ไม่มีความจำเป็นเลย ก็พอนะคะ แบบจำลองนะคะ เชิง (Record - Based Data Models นี่ แบบจำลองที่ประกอบด้วย รายการเก็บข้อมูลที่ต่างกัน จะมีอยู่ 3 แบบนะคะ ก็จะมีแบบ Hierarchical Data Model, Network Data Model, เดี๋ยวอันนี้อาจารย์จะอธิบายต่อไปนะคะ ว่าเป็นอย่างไรบ้างนะคะ เดี๋ยวอันนี้จะให้ดูก่อนว่าเชิง Record ต่อมาเชิงวัตถุ Object Data Model การเก็บข้อมูลเป็น Entity, Relationship ซึ่งอันนี้เป็นสิ่งที่นักศึกษาจะต้องวาดออกมาได้ ก็คือ ER Diagram จะมีลักษณะถ้าใครเคยวาด My map มาแล้วจะพอเข้าใจว่า ER Diagram จะต้องมีโครงสร้างอะไรบ้าง แต่สัญลักษณ์ที่ใช้ใน ER Diagram ทุกอัน ไม่ใช่ว่าหนูอยากวาดรูปดาว หนูอยากวาดวงกลม หนูอยากวาดสี่เหลี่ยมคางหมูนะคะ หรืออยากวาดเป็นก้อนเมฆ ไม่ใมอยากวาดเป็นก้อนเมฆเหมือน Mind Map มีข้อบังคับในการใช้สัญลักษณ์ต่าง ๆ ที่เกิดขึ้นในแผนภาพตัวนี้นะคะ เราจะเลือกสัญญามาตามใจเราไม่ได้ มันจะมีข้อกำหนดอยู่ ส่วนประกอบของแบบจำลองข้อขอมูลนะคะ มีอยู่ 3 ส่วน ก็คือ ส่วนโครงสร้าง ประกอบไปด้วยกลุ่มสัญลักษณ์รวมทั้งกฎระเบียบต่าง ๆ นะคะ เพื่อใช้ในการสร้างฐานข้อมูล ว่าในรูปแบบตารางนี่ แน่นอนมันต้องเก็บข้อมูลเป็น 2 มิติ 2 มิติในที่นี้ ก็คือเป็น คอลัมน์ ข้อมูลแนวนอนกับข้อมูลแนวตั้ง ถ้าใครเคยใช้ข้อมูลตาราง Excel หรือเคยดูตารางในหนังสือใด ๆ ก็ตามนะคะ มันจะเป็นแบบนี้ใช่ไหม ตรงนี้นะคะ อันนี้จะเป็นแถวนะคะ 1 ตารางตัวนี้จะมีอยู่ 3 แถว ทางตั้งทางนี้จะเป็นคอลัมน์นะคะ อย่างตารางที่อาจารย์วาดง่าย ๆ อย่างนี้ ก็จะมีอยู่ 3 แถว 4 คอลัมน์ ในส่วนของการปรับปรุง จะเป็นส่วนในการกำหนดชนิดของการทำงานต่าง ๆ ของข้อมูล การปรับปรุง การอัปเดตข้อมูล การเรียกดูข้อมูลจากฐานข้อมูล การเปลี่ยนแปลงโครงสร้างฐานข้อมูล ซึ่งเรานิยมใช้ภาษา SQL นะคะ เดี๋ยวอาจจะมีให้ทำภาษา SQL ง่าย ๆ นะคะ อาจจะใช้โปรแกรมง่าย ๆ ให้นักศึกษาลองดูว่านักศึกษาเรียกดูข้อมูลเป็นไหม สามารถแก้ไขข้อมูลได้หรือเปล่า ลบข้อมูลเป็นไหมนะคะ เราจะไม่ใช้โปรแกรมกดเมาส์ คลิก ๆ ไม่แล้ว จะให้ลองพิมพ์โค้ดโปรแกรมภาษา SQL ดู แบบอย่างง่ายนะคะ ให้เป็นพื้นฐานจะได้รู้ว่าคำสั่งนี้ในภาษา SQL คืออะไร คำสั่งสำหรับการเรียกดูเป็นอย่างไร การลบข้อมูลเป็นอย่างไรนะคะ แล้วก็กฎการคงสภาพของข้อมูล ก็คือความถูกต้องของข้อมูล ไม่ใช่วันดีคืนดี เราไม่อยากใช้ชื่อที่เป็นตัวอักษรแล้ว อยากใช้ชื่อที่เป็นตัวเลขมันเป็นไปไม่ได้นะคะ เพื่อให้ฐานข้อมูลเรานี่ ไม่มีการเปลี่ยนแปลงแบบผิดเงื่อนไข มีการอาจจะมีคำสั่งพิเศษ สมมติว่าเรามีข้อมูลเรามีการเปลี่ยนแปลงที่ไม่ถูกต้อง ระบบจะต้องแจ้งเตือนเราอย่างไรนะคะ จากแบบจำลองสถาปัตยกรรม ก็คือพูดง่าย ๆ เรามี 3 ระดับชั้นของระบบจัดการฐานข้อมูลหรือแหล่งข้อมูลที่เราใช้กันนี่ ก็จะมีแหล่งข้อมูลภายนอกนะคะ ก็จะเป็นการนำเสนอมุมมองต่าง ๆ ให้กับผู้ใช้งาน แบบจำลองข้อมูลแนวคิด โครงสร้างของข้อมูลต่าง ๆ ที่เรากำหนดไว้จะเป็นความเป็นอิสระของข้อมูลกับระบบจัดการฐานข้อมูลจะต้องแยกออกจากกันนะคะ ไม่ต้องพึ่งพากัน ถ้าสมมติมีการเปลี่ยนแปลงข้อมูล ระบบก็จะไม่มีผลกระทบหรือถ้ามีการเปลี่ยนแปลงระบบจัดการฐานข้อมูลที่อยู่ภายในฮาร์ดดิสก์ของเราก็จะไม่ถูกกระทบเช่นเดียวกันนะคะ 2 อย่างนี้จะต้องแยกออกจากกัน ต้องทำงานร่วมกันได้นะคะ เปลี่ยนแปลงเกิดขึ้นจะต้องไม่ส่งผลกระทบต่อกันและกัน กับแบบจำลองข้อมูลภายใน จะเป็นการนำโครงร่างแนวคิดต่าง ๆ ให้ระบบจัดการฐานข้อมูลหรือ DBMS นี่ ในตำแหน่งที่แท้จริงได้ นะคะ อันนี้ก็คือเกี่ยวกับการจัดเก็บข้อมูลนั่นเอง การจัดสินใจเลือกใช้แบบจำลองฐานข้อมูลชนิดไหนเป็นสิ่งสำคัญในการออกแบบนะคะ โดยแบบจำลองฐานข้อมูลนี่ เราก็จะสามารถแบ่งออกเป็น 5 ประเภทนะคะ อย่างแรก เป็นแบบจำลองข้อมูลลำดับชั้นนะคะ เป็นสถาปัตยกรรมฐานข้อมูลที่เก่าแก่ที่สุดนะคะ ไฟล์จะถูกจัดเก็บจากบนลงล่างเท่านั้นลักษณะคล้าย ๆ กับต้นไม้นะคะ โดยไฟล์ต่าง ๆ นี่จะมีการ มีพ่อ เป็นหัวด้านบนนี่ 1 นะคะ หลังจากนั้นจะแตกออกมาเป็นลูก เหมือนกับรากของต้นไม้แผ่กิ่งออกไปเรื่อย ๆ นะคะ ซึ่งปัจจุบันนี่ก็ไม่ค่อยนิยมใช้แล้ว มันจะมีการแก้ไขลำบาก อย่างเช่น ถ้าแก้ไขอย่างนี้นะคะ ถ้าแก้ไขด้านบนนะคะ อาจจะมีผลกระทบต่อลูก ๆ ทั้งหมดข้างล่างนะคะ อย่างด้านบนนี่ เราจะเรียกว่าเป็น Loot Secment นะคะ เป็น loot เราจะเรียกเป็นอาจจะมีรากแก้ว ต่อมาก็จะเป็นแต่ละ Node ออกมาอีก ตัวสุดท้ายเราเรียกว่าเป็น Child segment วาดเป็นตัวอย่างได้ ก็จะเป็นแบบนี้ โครงสร้างฐานข้อมูลด้านใหญ่ อาจจะเป็นชื่อตารางใด ๆ ก็ตาม จะเก็บข้อมูลแบบออกมาเป็นรากกระจายจากบนลงล่างไปเรื่อย ๆ นะคะ แต่ถ้าสมมว่าคุณมีการแก้ไขข้อมูลตัวนี้นี่ ด้านบนมันจะส่งผลกระทบต่อลูกทั้งหมดที่อยู่ข้างล่างนะคะ ซึ่งบางทีนี่ นายคนนี้เขาอาจจะตอนแรกบอกว่าอยู่รหัส B007 เป็นหนองคายก็จริงนะคะ แต่อาจจะเปลี่ยนคนเดียว นายคนนี่นะคะ อาจจะไม่ได้อยู่หนองคาย แต่คราวนี้พอเปลี่ยนหนองคายออกปุ๊บคนอื่นกระทบไปด้วยนะคะ ทั้งที่จริง ๆ แล้วเขาไม่ได้เกี่ยวข้องด้วย ไอ้แบบจำลองลำดับชั้นแบบนี้จึงไม่เป็นที่นิยมในปัจจุบัน แต่ถามว่าข้อดีของมันก็มีไหม ข้อดีของมันก็มีนะคะ ข้อดีของแบบจำลองแบบนี้นี่ก็โครงสร้างจะเข้าใจง่าย ลักษณะจะคล้ายกับรากของต้นไม้ โครงสร้างของข้อมููลจะมีแบบ One to Many ก็คือ 1 ต่อหลายนะคะ One to Many ความสามารถในการควบคุมของข้อมูลมีสูงนะคะ เพราะว่ามันสามารถมองจากบนลงล่างมานี่ เห็นข้อมูลทั้งหมด การเก็บข้อมูลมีการเรียงลำดับแบบต่อเนื่องกันนะคะ แต่การเก็บแบบการใช้แบบจำลองแบบนี้นี่ก็มีข้อเสีย ก็คือไม่สามารถรองรับข้อมูลอาจจะมีเดี๋ยวอาจารย์จะมีอธิบายต่อไป พูดตอนนี้อาจจะเข้าใจยากนิดหนึ่ง แต่จะมีตัวอย่างประกอบด้วย มีความยืดหยุ่นน้อย ปรับเปลี่ยนโครงสร้างมีความยุ่งยากนะคะ อย่างที่อาจารย์บอก ว่ามีข้อมูลเดียว แต่มันเป็นแบบรากแบบนี้น่ะค่ะ มันก็จะกระทบต่อข้อมูลของคนอื่นอีกเยอะเช่นเดียวกันนะคะ อย่างตัวนี้เห็นได้ชัดเลยนี่ B005 เป็นอุดร (ธานี) ก็เป็นอุดรฯ เราอยากแก้ เป็นอะไร ซึ่งถ้าเขียนตรงนี้ เขียนตรงนี้ที่เดียวมันกระทบไปอีก 2 คนนะคะ อันนี้ข้อเสียอย่างหนึ่ง ก็คืออยากเปลี่ยนจุดเดียวแต่มันกระทบไปถึงคนอื่นด้วยนะคะ ข้อเสียอีกอย่างหนึ่งระดับล่าง ๆ นี่มันจำเป็นจะต้องค้นหาจากข้อมูลทั้งหมด เพราะมันจะหาจากบนลงล่าง มันจะหาจากที่ชี้ตำแหน่งเลยไม่ได้นะคะ แล้วมันก็เลยส่งผลให้กับการพัฒนาโปรแกรมต่อหรือทันสมัยขึ้นนี่มันค่อนข้างยากนะคะ ต่อมา เป็นแบบจำลองข้อมูลแบบเครือข่ายนะคะ จะมี Pointer ในการชี้ตำแหน่งนะคะ ในการชี้ตำแหน่งนะคะ มีตัวโยงแต่ละตำแหน่ง Record หรือแต่ละข้อมูลเข้าด้วยกันนะคะ มันจะสนับสนุนทั้งความสัมพันธ์แบบ One to Many นะคะ ถ้าเขียนเป็น 1 ต่อ N หรือเป็น N ต่อ N ก็ได้ ก็ได้นะคะ ถ้าเห็นตัวย่อแบบนี้ ในหนังสือบางเล่มเขาอาจจะใช้ตัวย่อแบบนี้ เป็น 1 ต่อ หรือ n ต่อ n จะเป็นแบบนี้นะคะ แบบจำลองเครือข่ายก็คือแต่ละส่วนจะมี Pointer หรือตัวเส้นเชื่อมโยงเข้าด้วยกันนะคะ ซึ่งความสัมพันธ์แบบนี้นี่ถามว่ามีข้อดีไหม มีข้อดีนะคะ อย่างแรก ก็คือมีความสัมพันธ์สนับสนุนความสัมพันธ์แบบ Many to Many นะคะ ความซ้ำซ้อนกันของข้อมูลเกิดขึ้นน้อยกว่าแบบลำดับชั้นนะคะ การเชื่อมโยงข้อมูลสามารถส่งไปส่งกลับได้นะคะ มีการยืดหยุ่นในการค้นหามากกว่าแบบที่เป็นลำดับขั้น ก็คือมันจะมีตัว Pointer ก็คือตัวชี้ตำแหน่ง ให้เข้าถึงข้อมูลได้ทันทีแต่มันก็ยังมีข้อเสียเหมือนกัน ก็คือความปลอดภัยของข้อมูลมีน้อยนะคะ สิ้นเปลืองหน่วยความจำในการเก็บตัวชี้ตำแหน่งนะคะ ไม่ใช่ว่าแล้วมันจะไม่มีพื้นที่ในการเก็บข้อมูลเพิ่มนะคะ มีการเปลี่ยนแปลงโครงสร้างก็จะยาก เปลี่ยนแปลงข้อมูลใบส่งของ แต่ใบส่งของนี่มันเชื่อมต่อกับพนักงานขาย เชื่อมต่อกับลูกค้า เชื่อมต่อกับการชำระเงิน กับรายการใบส่งของทั้งหมด ถ้าแก้ข้อมูลในใบส่งของนี่มันกระทบไปหมด 4 ข้อมูลเลยอันนี้ก็จะเป็นข้อเสียของแบบจำลองข้อมูลแบบเครือข่ายนะคะ ก็จะส่งผลกระทบต่อตัวอื่นด้วย ต่อมาเป็นแบบจำลองฐานข้อมูลเชิงสัมพันธ์ เป็นแบบจำลองที่มีความแพร่หลายในปัจจุบันนะคะ เพราะมันสามารถนำเสนอมุมมองของข้อมูลในลักษณะตาราง หรือการเขียนบรรยายในลักษณะที่เข้าใจง่ายนะคะ ภายในตารางนี่ก็จะประกอบไปด้วย แถว คอลัมน์นะคะ สามารถมีความสัมพันธ์กับตารางอื่น ๆ ได้ ทั้งแบบ One-to-One Many-to-Many เมื่อกี้นี้แบบจำลองแบบเครือข่ายเราจะมี Pointer แต่คราวนี้แบบจำลองข้อมูลเชิงสัมพันธ์เราจะใช้เป็ย Key นะคะ ใช้เหมือนเป็นกุญแจบอกตำแหน่ง ในการอ้างอิงกับตารางอื่น ๆ นะคะ โดยที่ Key นี่จะเป็นได้ได้ตั้ง คีย์รอง รวมถึงคีย์นอก เดี๋ยวจะทำการอธิบายอีกทีหนึ่ง ว่าแต่ละ Key คืออะไร มีความสำคัญอย่างไร แล้วมีการใช้งานแตกต่างกันไปอย่างไรบ้าง อย่างที่บอกนะคะ ก็จะมี้ทั้ง (Primary Key ทั้ง Foreign KeyForeign Key ก็จะเป็นตัวชี้ความสัมพันธ์ไปสู่ความสัมพันธ์ตัวที่ 1 เป็นอย่างไรเดี๋ยวให้ดูเลยดีกว่า แบบจำลองข้อมูลเชิงสัมพันธ์นะคะ จะมีตารางอยู่ 2 ตาราง มีตารางสาขา แล้วก็ตารางพนักงาน ซึ่งจะเห็นได้ว่ามันจะมีข้อสังเกตอย่างหนึ่งในแต่ละตารางของอาจารย์ มันจะมีหัวของคอลัมน์ที่ขีดเส้นใต้นะคะ ซึ่งถ้าคุณเห็นในหนังสือเล่มไหนก็ตาม หรือที่ไหนก็ตามถ้ามีลักษณะเป็นตาราง มีการขีดเส้น นั่นคือเขาบอกว่าตัวนี้เป็นตัวตัวคีย์หลัก อย่างเช่น ถ้าเป็นข้อมูลของนักศึกษามันก็จะเป็นรหัสนักศึกษาสังเกตง่าย ๆ ของในทุก ๆ ตาราง สังเกตอย่างง่ายเลยนะคะ ทำไมจะต้องมีนะคะ ทำไมจะต้องมี ในแต่ละข้อมูลของพนักงานนี่ รหัสสาขา รหัสพนักงานเป็น Primary Key หรือเป็นคีย์หลักในการเชื่อมโยงนะคะ อย่างเช่น นายสมชาย คนแรกนี่มีรหัสพนักงานนี้นะคะ แล้วเราอยากรู้ว่าเขาทำงานที่สาขาอะไร เราก็สามาถดูได้ว่าเขาทำงานที่สาขานี้นะ ดูได้ว่าเขาทำงานที่สาขานี้นะ แล้วรายละเอียดเราก็ไปดูตามรหัสสาขา เขาบอกรหัส B005 เราก็มาดูที่ข้อมูลตัวนี้เลยจะเป็นการเชื่อมโยงกัน อันนี้สามารถเชื่อมโยงมาที่นี่นะคะ ก็จะรู้ได้เลยว่ารหัสพนักงานนี้นะคะ ซึ่งตัวนี้รหัสพนักงานเป็น Primary Key เป็นคีย์หลักของตารางพนักงาน รหัสสาขาเป็นคีย์หลักของสาขา แต่ทำไมมาอยู่ท้ายตารางนี้ได้ล่ะ นั่นคือรหัสสาขาของตารางนี้ทำหน้าที่เป็นคีย์นอก ก็คือ Folen Key ก็คือ Foreign Key ในการเชื่อมโยงตารางเข้าด้วยกัน โดยที่ข้อมูล 2 อันนี้เขาแยกออกเป็น 2 ตารางทำไม เดี๋ยวอาจารย์จะบอกว่าทำไมเอามาใส่ต่อกันเลยไม่ได้หรือนะคะ ว่าคนนี้เขาทำงานที่ไหน อย่างไร ทำไมไม่ใส่รวมกัน เดี๋ยวจะอธิบายว่ามันมีความสัมพันธ์อย่างไร ทำไมเขาต้องแยกออกเป็น 2 ตนะคะ ข้อดีของแบบจำลองข้อมูลเชิงสัมพันธ์ ก็คือเข้าใจง่ายดูจากตารางแล้วเข้าใจได้เลยว่าที่เขานำเสนอคืออะไร นะคะ ลักษณะของตารางที่เป็นแถวแบบคอลัมน์แบบนี้เราจะเรียกว่า "เป็นคอลัมน์ 2 มิติ" เลือกดูข้อมูลได้ตามเงื่อนไขนะคะ ความซับซ้อนของข้อมูลมีน้อยนะคะ มีระบบรักษาที่ดีนะคะ ผู้ใช้งานไม่ต้องรู้ว่าเราเก็บข้อมูลอย่างไรนะคะ แต่สามารถเรียกข้อมูลได้ โครงสร้างของข้อมูลมีความเป็นอิสระต่อตัวโปรแกรม ถึงแม้ว่าโปรแกรมอาจจะมีปัญหา หรือเปลี่ยนโปรแกรม ก็ใช้งานข้อมูลได้อยู่นะคะ หรือข้อมูลนั้นไม่สูญหายไปไหน แต่ข้อเสียของระบบของมันก็คือค่าใช้จ่ายของระบบค่อนข้างสูง ต้องการใช้ทรัพยากรทีมีสามารถสูง ทั้งโปรแกรม รวมถึงคนที่เขียนโปรแกรมหรือคนที่ดูแลโปรแกรมด้วย ปรับปรุงแก้ไขไฟล์หรือแฟ้มข้อมูลนี มีความยุ่งยาก เนื่องจากบางทีผู้ใช้งานนี่ คนที่ไม่เข้าใจในระดับจัดการฐานข้อมูลนี่ เขาก็จะไม่รู้ว่าลำดับของการจัดเก็บข้อมูลในฐานข้อมูลนี่มันเป็นอย่างไรหรือเรียกใช้ หรือการแก้ไขข้อมูลนะคะ ต้องเป็นคนที่มีความรู้ทางด้านระบบจัดการฐานข้อมูลขั้นสูงระดับหนึ่งเพื่อในการดูแลรักษาข้อมูลนี้ ต่อมา แบบจำลองฐานข้อมูลเชิงวัตถุนะคะ ก็จะเป็นเทคโนโลยีใหม่ในการจัดการฐานข้อมูลนะคะ ให้ความสนใจข้อมูลทุกอย่างหรือมุมมองในแต่ละมุมมองให้มองเป็นวัตถุนะคะ โดยแต่ละวัตถุจะเป็นแหล่งรวมของข้อมูล รวมถึงการทำงานต่าง ๆ มี Class เป็นตัวกำหนดคุณสมบัติรายละเอียดของข้อมูล ก็คือการปกปิดความลับของวัตถุ ถามว่าหน้าตามันจะเป็นอย่างไร เมื่อกี้เรามองเป็นตาราง คราวนี้ข้อมูลแต่ละข้อมูลจะมองเป็นวัตถุนะคะ ในแต่ละก้อนนี่เราสามารถแยกย่อยเข้าไปได้อีกมันเป็นอะไรได้บ้างนะคะ เขาจะมีการเก็บข้อมูลเป็นชั้น ๆ ภายในนะคะ อย่างเช่นตัวนี้ก็จะมีข้อมูลภายในแบ่งเป็นหลายชั้น ข้อมูลอีกชนิดหนึ่งเป็นหลายชั้น ของแบบจำลองข้อมูลเชิงวัตถุก็คือสามารถเก็บข้อมูลที่มีความซับซ้อนได้ดี เช่น ภาพ วิดีโอนะคะ ภาพกราฟิกต่าง ๆ เสียงนะคะ สนับสนุนการนำข้อมูลกลับมาใช้ใหม่ได้ง่ายนะคะ แต่ข้อเสียก็คือต้องใช้บุคลากรที่มีความเชี่ยวชาญในการจัดการข้อมูลที่มีความซับซ้อนนี่เป็นอย่างมากนะคะ ก็คือต้องเป็นคนที่มีความชำนาญในการจัดการฐานข้อมูล มีประสบการณ์ในการจัดการระบบฐานข้อมูลเป็นอย่างดี ถึงจะเข้าใจการจำลองฐานข้อมูลเชิงวัตถุแบบนี้ได้นะคะ ต่อมาเป็นแบบจำลองฐานข้อมูลแบบหลายมิตินะคะ แบบจำลองฐานข้อมูลจะใช้งานกับพวกคลังข้อมูล หรือเหมืองข้อมูลหรือพวก Big Data นะคะ ข้อมูลที่มีปริมาณมาก ๆ จะเป็นการนำเสนอข้อมูลแบบหลายมิตินะคะ จัดการข้อมูลในรูปแบบมิติ ก็คือจะมีข้อมูลมากกว่าแถวคอลัมน์ มันจะมีข้อมูลที่ลึกไปกว่านั้นนะคะ เช่น การนำเสนอข้อมูลผลิตภัณฑ์ การนำเสนอเกี่ยวกับข้อมูลพื้นที่นี้ที่เราใช้ในการขาย การประมวลผลตารางนี่ เราจะสามารถตัดขวางออกมา แบ่งข้อมูลออกมาเป็นส่วน ๆ จะคล้าย ๆ กับก้อนรูบิคน่ะค่ะ ข้อมูลจะเป็นมากกว่า 2 มิติ จะมีข้อมูลแถว คอลัมน์แล้วก็ข้อมูลเชิงลึกเข้าไปอีก อาจจะมีทั้งขายอะไร เดือนไหน Location ทที่ขายจะขายที่ไหนบ้างนะคะ โดยเราสามารถแบ่งออกเป็นข้อมูลแบบจำลองหลายมิตินี่ เราจะเรียกว่าเป็นูแบบดาวนะคะ โครงสร้างแบบดาว ก็คือในแต่ละชั้นของข้อมูลนี่เราสามารถแบ่งแยกย่อยนะคะ ออกเป็นมิติของข้อมูลกี่มิติก็ว่าไป ตัวนี้ข้อมูลจริง 1 ก้อนสามารถแบ่งข้อมูลออกได้เป็น 6 มิตินะคะ อันนี้เป็นต้น วันนี้ข้อมูลเยอะมาก ยังไม่พาวาดรูปแล้วกันนะคะ เพราะแค่นี้ก็ตัวหนังสือก็เยอะมาก ๆ เลย ในหลัก ๆ ของวันนี้นะคะ อย่างน้อยนักศึกษาจะต้องรู้ว่าแบบจำลองข้อมูล... เดี๋ยวนะคะ ที่เราใช้ในการออกแบบจำลองฐานข้อมูลนี่มีกี่แบบนะคะ อย่างวันนี้ก็รู้แล้วว่าแบบจำลองที่เราจะเรียนกันหรือใช้ในปัจจุบันนี่มีอยู่ 5 แบบ แต่ในรายวิชานี้นะคะ เราจะมุ่งเน้นในการที่ให้นักศึกษารู้ว่าแบบจำลองข้อมูลเชิงสัมพันธ์ ในการที่ให้นักศึกษารู้ว่าแบบจำลองสร้างข้อมูลเชิงสัมพันธ์เป็นอย่างไรนะคะ อันอื่นอาจจะเห็นบ้างหรือไม่มีใช้แล้วในปัจจุบัน แต่ที่เรายังใช้กันและก็นิยมใช้ที่สุด ก็คือแบบจำลองข้อมูลเชิงสัมพันธ์ ซึ่งในวิชานี้อาจจะเป็นสัปดาห์หน้าอาจจะต้องเตรียมกระดาษมาวาดรูปกันนะคะ นักศึกษาแต่ละคนจะต้องออกแบบฐานข้อมูลอย่างง่ายได้ โดยการวาดรูปนะคะ เดี๋ยวอาทิตย์หน้าอาจจะมีว่ารูปสี่เหลี่ยมคืออะไรนะคะ สี่เหลี่ยมข้าวหลามตัดคืออะไร วงรีคืออะไร เส้นแต่ละเส้นคืออะไร ทำไมเราต้องมีรหัสนักศึกษา ทำไมเราต้องมีรหัสนักศึกษา ทำไมเราใช้ชื่อเลยไม่ได้ เลขบัตรประชาชนมีความสำคัญอย่างไร แล้วทำไมเราไม่ใช้เบอร์โทรศัพท์ยืนยันตัวตนเรา ทำไม่เราต้องใช้รหัสบัตรประชาชนเรานะคะ แล้วใช้รหัสนักศึกษาแทนอย่างเดียวไม่ได้หรือนะคะ แล้วทำไมในการซื้อของของเราบอกชื่อสินค้าเลยไม่ได้หรือ ทำไมต้องเลขตรงบาร์โค้ดคิดเงินด้วย เดี๋ยวสัปดาห์หน้า จะมารู้กันว่าทำไมจะต้องมีรหัสต่าง ๆ ที่เข้ามาอยู่ในชีวิตประจำวันของเรา โดยที่เราไม่ทันได้สังเกตนะคะ แต่เดี๋ยวสัปดาห์หน้าน่าจะได้รู้กันว่าทำไมเราต้องวาดรูปนะคะ รูปแต่ละอันของแต่ละคนจะถูกต้องไหม ทำไมแต่ลคนถึงวาดออกมาเป็นแบบนี้นะคะ เดี๋ยวสัปดาห์หน้ามาวาดกัน วันนี้น่าจะเนื้อหาประมาณนี้ล่ะ ถ้าเยอะกว่านี้ก็คงจะยิ่งงงไปกันใหญ่ เดี๋ยวมีงานให้ทำ เหมือนเดิมนะคะ บทที่ 2 มี 10 ข้อ ทำให้เสร็จ ส่งพร้อมกันกับวิชาคอมฯ พื้นฐานเมื่อวานนี้ มาส่งที่ DSS วันจันทร์ ภายในวันจันทร์นะคะ ก่อน 12.00 น. ได้ยิ่งดี ก็เหมือนเดิมค่ะ นักศึกษาสายตาพิมพ์ได้นะคะ นักศึกษาหูเขียนอาจารย์อยากให้กลับไปอ่าน ลองทำความเข้าใจดูนะคะ ไม่อย่างนั้นจะไม่อ่านหนังสือเลย กับถ้ามีอะไรสงสัยถามพี่อุ้ยก็ได้นะคะ ไปปรึกษาพี่ DSS ก็ได้ งานพยายามอย่าค้างนะคะ เพราะว่ามันจะยิ่งเยอะไปเรื่อย ๆ ไม่ใช่มีอาจารย์คนเดียว ไม่อยากให้เที่ยวปีใหม่ไม่สนุก อยากให้รีบทะยอยส่งงาน มีใครถามอะไรไหมวันนี้ ไม่มี ดีจังเลย เก่งจัง ก็อย่างนั้นสัปดาห์นี้ก็ประมาณนี้ค่ะ มีใครสงสัยถามพี่แป๋มได้ อย่างนั้นก็เดี๋ยวไว้เจอกันสัปดาห์หน้า อย่าลืมส่งงานอาจารย์ด้วยวันจันทร์ ประมาณนี้ค่ะสัปดาห์นี้ ค่ะ ขอบคุณล่ามด้วยนะคะ ค่ะ (พี่การ์ตูน) ขอบคุณอาจารย์ด้วยค่ะ ขอบคุณพี่อุ้ย พี่แต๋มด้วยนะคะ [สิ้นสุดการถอดความ]