(อาจารย์เกวลี) โอเค สวัสดีค่ะ
โอเคค่ะ วันนี้
จะเป็นบทที่ 4 นะคะ
จะเป็นเกี่ยวกับ
แบบจำลองข้อมูล
หรือเวลาเราเรียกสั้น ๆ
ก็คือการวาดรูป ER นะคะ ตัว E แล้วก็ตัว R
ภาษาอังกฤษ
โดยแผนภาพนะคะ ER
นะคะ หรือว่า ER-Model นี่ มันจะเป็น
... ล่ามเขาได้ยินเราไหมพลอย
ทำไมล่ามดูนิ่ง ๆ
ล่ามได้ยินไหมคะ
ล่ามได้ยินไหมคะ ถ้าได้ยิน
โอเคด้วยค่ะ โอเค โอเค
โอเคค่ะ ก็การวาด ER นะคะ หรือเป็นแบบจำลองข้อมูล
นะคะ มันจะเป็นแบบที่ใช้อธิบาย
โครงสร้างของฐานข้อมูล โดยที่เราจะแสดงออกมาเป็นรูปภาพ
นะคะ โดยที่โครงสร้างสำคัญที่
จะต้องใช้ในการวาดรูปของเรานะคะ ก็คือ Entity
หรือว่าตารางกับความสัมพันธ์ ก็คือแต่ละ
เส้นที่เชื่อมโยงในแต่ละตาราง เราจะต้องโยง
กันให้ถูกนะคะ อย่างเช่นตารางของอาจารย์กับนักศ
ึกษาเราต้องมีความสัมพันธ์กัน ในฐานะการเรียนการสอน
แบบนี้นะคะ
การวาดรูปจะเป็นเหมือนรูปที่อาจารย์ยกตัวอย่างให้
ดูบนจอนะคะ การ
ที่เราจะวาดรูปได้เราต้องรู้ด้วยว่าสัญลักษณ์แต่ละอันห
มายความว่าอย่างไร ทำไมเราต้องใช้วงรี ทำไมเราต้องใช้สี่เหลี่ยม
ผืนผ้า ทำไมเราต้องลากเส้นตรงนะคะ
แต่ละอันมีความหมายหมดเลย แล้ววันนี้ก็จะ
พอบรรยายเสร็จจะให้วาดเองด้วย
นะคะ
จุดเด่นของแผนภาพ ER
นะคะ มันจะทำให้เราออกแบบฐานข้อมูลได้เร็วขึ้น เพราะว่ามัน
การจัดระเบียบความคิดของผู้ที่ต้องการออกแบบ
คล้าย ๆ กับเราสมัยมัธยมน่าจะเคยวาด Mind Map
นะคะ การวาด ER ก็เหมือนกันนะคะ
มันจะได้รู้ว่าเราต้องการจะออกแบบอะไร อะไร
ควรมีความสัมพันธ์กัน หรืออะไรที่ขาดหายไป
นะคะ เราจะได้เห็นรวมถึงลดความ
ซ้ำซ้อนของข้อมูลออกไปด้วย เช่น ในตารางนี้
มีข้อมูลนี้อยู่แล้ว ก็ไม่จำเป็นต้องใส่เพิ่มในตารางอื่นก็ได้
นะคะ หรือว่าพอเราวาดเสร็จออกมาทำไมมี
ตารางที่คล้าย ๆ กัน 2 อัน มันลบออกได้ไหม
นะคะ การวาดรูปก็จะทำให้เราเห็นภาพได้ง่ายขึ้น
โดยคุณลักษณะของการวาดแผนภาพ ER
นะคะ ก็คือแน่นอนมันแสดงผลออกมาเป็น
ภาพนะคะ model ข้อมูล หรือรูปแบบข้อมูล
แบบไหนก็ตามนี่ มันจะมีภาษา หรือรูปภาพที่เป็นกราฟิก
โดยเฉพาะนะคะ อาจจะมีทั้งภาพขนาด
ใหญ่ ภาพขนาดย่อย มันจะทำให้เรา
อ่านข้อมูล หรืออ่านฐานข้อมูลนั้นได้ง่าย เพราะ
เราใช้สี่เหลี่ยม เราใช้วงรีนะคะ เราใช้วงกลม เราใช้
เส้นโค้ง เส้นปะ ทุกอย่างมีความหมาย
หมดนะคะ มันก็แสดงให้เห็นถึงความชัดเจนของ
ความหมายของข้อมูลด้วย โดยทีเราอาจจะใช้สัญลักษณ์ที่
ต่างกันเล็กน้อยนะคะ ซึ่งตัวรูปแบบของการวาด
นี่ มันก็จะมีหลาย หลายรูปแบบหนังสือ
แต่ละเล่ม บางเล่มก็ไม่เหมือนกัน บางคนใช้รูปแบบของคนนี้
หรือหนังสืออีกเล่มหนึ่งอาจจะใช้รูปแบบที่ต่างออกไป
ในการวาดรูป แต่เดี๋ยวตอนถึงเวลาวาดรูปเราต้องตกลงกัน
ก่อนว่า เราจะเลือกรูปแบบไหนนะคะ
ข้อสำคัญคือแผนภาพที่ได้มานี่ มันควร
ที่จะอ่านง่าย ๆ ไม่ซับซ้อน เส้น
ไม่ลากตัดกันไปตัดกันมา ฉันเพิ่งคิดได้ฉันเลยอยากวาดตรงนี้
ไม่ได้นะคะ เราต้องคิดก่อนวาดเราจะวาดเส้นตรง
จากกระดาษฝั่งหนึ่งไปอีกฝั่งหนึ่งนี่
มันก็ทำให้อ่านยาก เราต้องมาจัดระเบียบความคิดตัวเองด้วย ว่าในตารางนี่
มันมีตารางอะไรบ้าง แล้วแต่ละตารางนี่ มัน
ควรจะเชื่อมกันอย่างไรนะคะ
โดยในแผนภาพ
ที่เราวาดนะคะ รายละเอียดต้องอยู่ในระดับที่เหมาะสม
อาจจะไม่ได้ละเอียดยิบขนาดนั้น ไม่ต้องละเอียด
แต่ว่าเราต้องมองภาพให้ออกหรือ
อาจจะมีการเปลี่ยนแปลงแก้ไข มันจะต้องยืดหยุ่น
นะคะ รวมถึงรายละเอียดต้องเพียงพอ ไม่ใช่ว่าน้อยไป บางอันก็
เยอะไปนะคะ เอาที่พอดี โดย
แต่ละอันนี่ อย่างที่บอกเราจะต้องมีการเชื่อมโยงความสัมพันธ์ของ
แต่ละตารางด้วยนะคะ แล้วก็
การวาดรูปของเรา เราจะไม่ตายตัวเลย ว่า
เราวาดเพื่อไปใช้กับโปรแกรมอะไรนะคะ
รูปที่เราวาดจะต้องเอาไปใช้ได้กับทุกโปรแกรม หรือทุก
รูปแบบข้อมูลนะคะ แล้วก้เวลาใคร
มาอ่านจะต้องเข้าใจง่าย ถึงแม้ว่าเขาจะ
ไม่ได้เรียนทางด้านคอมพิวเตอร์มาก่อน แต่พอ
ดูรูปภาพอย่างน้อยเขาก็จะเข้าใจว่าเราจะสื่ออะไร
ในฐานข้อมูลเรามีอะไรบ้างนะคะ เขาอาจะไม่รู้หรอก ว่า
วงรีมันหมายความว่าอะไร หรือสี่เหลี่ยมหมายความว่าอะไร
เป็นเส้นปะ ทำไมต้องมีเส้นโค้งด้วย เขาไม่ต้องเข้าใจตรงนั้น
แต่เขาดูแล้วเขาก็พอเข้าใจ ว่าเราต้องการจะสื่อ
อะไร สื่ออะไร ในฐานข้
อเรามีอะไรบ้าง อันนี้ก็คือไม่ว่าจะเป็นใครต้องอ่านรูปที่เราวาดเข้าใจ
ระดับหนึ่งก็ยังดีนะคะ
ขั้นตอนในการออกแบบแผนภาพ ER
นะคะ มันก็จะมีหลายขั้นตอน แต่เราก็จะแบ่งได้เป็น 5 ขั้นตอน
ในการออกแบบ หรือการวาดด้วยนะคะ
โดยพอเราได้ภาพคร่าว ๆ มาแล้วนี่ เรา
ค่อยไปใส่รายละเอียดทีหลังก็ได้ ว่าผู้ใช้งานเขา
ควรจะดูข้อมูลได้ในระดับไหน ผู้ใช้งานแต่ละคน
การเข้าถึงข้อมูลแต่ละขั้นนี่
แต่ละขั้นแต่ละชั้นนี่ ใครเข้าได้บ้าง
หรือว่าผู้ใช้งานทั่วไปดูได้อย่างเดียวไหม หรืออะไร
หลังจากที่เราวาดรูปเสร็จแล้ว แล้วค่อยมาใส่รายละเอียดทีหลังก็ได้
นะคะ โดยขั้นตอนแรก
เราจะกำหนด Entity หลักหรือตารางหลัก
นะคะ โดยในการออกแบบฐานข้อมูลนี่ เราจะต้องเอา...
รวบรวมความต้องการของผู้ใช้งาน
ก็คือ requirement นี่ล่ะ
มากำหนดว่าในฐานข้อมูลเราจะมี Entity หรือฐานข้อมูลหรือตารางอะไร
บ้าง ซึ่งขั้นตอนนี้เป็นขั้นตอนที่ค่อนข้างยาก
นะคะ ต้องเข้าใจ
ในสิ่งที่เรากำลังจะสร้าง ทั้งผู้ใช้งานและ
ผู้ออกแบบต้องเข้าใจตรงกัน เพราะ
ถ้าเรากำหนดตารางไปแล้ว แล้วอยู่ดี ๆ มาเพิ่ม
มันอาจจะต้องเชื่อมต่อความสัมพันธ์ใหม่
นะคะ โดยวิธีการ ก็คือถ้าอยากทำให้มัน
ครอบคลุมมากที่สุด ก็คือเอาข้อมูลที่มี
มาวางแล้วจัดกลุ่มของข้อมูลนะคะ
โดยรู้ว่าข้อมูลมีค่าอะไรบ้าง มีความหมายอ
ย่างไร แต่ละอย่างอะไร แต่ละอย่างนี่เชื่อมโยงกันอย่างไร
นะคะ ถ้าข้อมูลเป็นข้อมูลชนิดเดียวกัน ให้วาง
ไว้ในตารางเดียวกันแล้วกำหนดชื่อ เช่น นักศึกษา
นะคะ อาจจะมีหลายคณะ
ก็จริง แต่ก็คือนักศึกษาเรารวมเป็นตารางเดียวได้ไหม ได้
แล้วค่อยมากำหนดลักษณะพิเศษของแต่ละคน ว่า
ในนักศึกษาหลาย ๆ พันคนนี่ เขามีความแตกต่างอะไรกันบ้าง
แต่เราก็เก็บข้อมูลไว้ในตารางเดียวก็พอนะคะ โดยเราจะเก็บ
ทุกอย่างจะต้องจดไว้ในบันทึกพจนานุกรม
ด้วย แล้วก้เขียนลงไปในแผนภาพที่เรากำลังจะวาดด้วย ว่า
ตารางที่กำลังจะวาดด้วยว่าในตารางนี้มีข้อมูลอะไรบ้าง ที่เราต้องใช้
นะคะ
ขั้นตอนที่ 2 ก็จะต้องมากำหนด
ความสัมพันธ์ระหว่าง Entity
การกำหนดชื่อ กำหนดความหมาย ความสัมพันธ์ ทิศทาง
การเชื่อมโยงของข้อมูล อัตราการเกิดความสัมพันธ์
นะคะ เช่น นักศึกษา 1 คน
สามารถลงทะเบียนเรียนได้หลายวิชานะคะ
แต่ในหลาย ๆ วิชามีผู้สอน
คนเดียว อันนี้คือความสัมพันธ์ที่เกิดขึ้น
แต่อาจารย์ 1 คน ก็สามารถสอนได้หลายคน
เหมือนกัน ได้หลายวิชาด้วยนะคะ
ซึ่งอาจจะเป็นยกตัวอย่างการ
กำหนดอัตราส่วนอีกอย่างหนึ่ง ก็คือเหมือนที่อาจารย์ยกตัวอย่าง
บ่อย ๆ รหัสบัตรประชาชน
ไม่ควร... มันไม่เกิน 13 หลักอยู่แล้ว เราก็ต้องกำหนด
ชื่อคนกำหนดไว้เลยก็ได้ไม่ควร
เกิน 20 ตัวอักษ
ตั้งชื่อตามหลักโหราศาสตร์
ยาวเกิน 20 ตัวหรอกนะคะ เราก็สามารถ
แบ่งกลุ่มได้แล้วว่าข้อมูลแต่ละอัน มันจะต้องเชื่อมโยง
กันอย่างไร หลังจากนั้นก็มาดูว่าความสัมพันธ์เป็นอย่างไร
1 ต่อ 1 หรือ 1 ต่อ
มากกว่า 1 อะไรพวกนี้ นะคะ ภาษาอังกฤษ
ก็คือ One-to-One One-to-Many อะไรพวกนี้
นะคะ ซึ่งก็จะต้องวิเคราะห์ดี ๆ นะคะ ซึ่งจะต้อง
สามารถอ่านไปข้างหน้าแล้วก็อ่านย้อนกลับมา
โดยที่ความหมายไม่เปลี่ยนในแผนภาพของเราด้วยนะคะ
ขั้นตอนที่ 3
กำหนดคีย์หลัก กำหนดคีย์รอง
ก็คือ Primary Key กับ Second
ary Key หลังจากที่เราได้ตารางต่าง ๆ แล้ว ขั้นตอนต่อไป
ในตารางเราจะต้องเก็บข้อมูล หรือ Attribute
อะไรบ้าง เช่น ตารางนักศึกษา
ต้องเก็บข้อมูลอะไรบ้าง เกี่ยวกับนักศึกษา
ถ้าพอจำได้ ก็คือตอนเราเข้ามาเรียน เรากรอกข้อมูล
เยอะมาก ตั้งแต่ใบสมัครเลยนะคะ
อันนั้นคือ Attribute
ที่มหาวิทยาลัยต้องการ ชื่ออะไร
นามสกุลอะไร บัตรประชาชนเลขอะไร อายุเท่าไร
บ้านอยู่ไหน พ่อแม่ชื่ออะไร จบจากโรงเรียนอะไร เกรดเฉลี่ยเท่าไร
ปัจจุบันที่ไหน ใครเป็นคนส่งเรียน
ได้เงินเดือนละเท่าไรนะคะ
ใครเป็นผู้ปกครอง เบอร์ผู้ปกครองเบอร์อะไร
บางคนผู้ปกครองไม่ใช่พ่อหรือแม่ อาจจะเป็นคุณตา
คุณยายนะคะ ที่อยู่ปัจจุบัน
อยู่ไหน แล้วมาเรียนราชภัฏพักที่ไหน
กรอกให้หมด เกรดเฉลี่ยตั้งแต่ ม.4 ม.5 ม.6 เป็นอ
อันนี้คือสิ่งที่มหาวิทยาลัยต้องการรู้เกี่ยวกับพวกคุณ
ซึ่งก็คือ Attribute นั่นเองนะคะ
โดยหัวของแต่ละคอลัมน์หรือ Attribute
นี่ ควรกำหนดเป็นคำสั้น ๆ ง่าย ๆ อาจจะเป็นตัวย
่อก็ได้ แต่ต้องสื่อความหมายนะคะ แล้วก็
หลีกเลี่ยงการตั้งชื่อเหมือนกัน
นะคะ
อาจจะเป็นชื่อ... ชื่อนี่
บางคนไม่เข้าใจ สรุปใส่ชื่อเล่นหรือชื่อจริง เพราะฉะนั้น
ต้องกำหนดไปเลยว่าคุณต้องการอะไร ชื่อจริงก็ชื่อ
จริง ชื่อเล่นก็ใส่ชื่อเล่น ไม่ใช่คำว่า "ชื่อ"
เฉย ๆ แล้วเขาจะรู้ไหมว่าต้องใส่อะไร เขาอาจจะ
ใส่ชื่อเล่นก็ได้นะคะ
กำหนดคีย์ภายนอก หรือว่า Foreign Key
เป็นคีย์ที่เอาไว้เชื่อมโยงแต่ละตารางเข้าไว้ด้วยกัน
นะคะ อย่างเช่น นักศึกษากับอาจารย์นี่
จะเชื่อมโยงกันได้อย่างไร เชื่อมโยงโดยรหัสวิชา
เช่น รหัสวิชานี้ใครเรียนบ้าง ใคร
สอนบ้าง แค่กรอกรหัสเข้าไปก็รู้ได้เลย
อันนี้คือการเชื่อมโยงกันของอาจารย์กับนักศึกษาในวิ
ชานั้นนะคะ โดยที่คีย์นอกหรือ Foreign Key นี่ มันอาจจะ
เป็นคีย์หลักของตารางอื่นก็ได้
นะคะ
เดี๋ยวพอวาดรูปก็จะเข้าใจมากขึ้น
อันนี้ตอนพูดนี่อาจจะไม่ค่อยเข้าใจเท่าไร ว่า เอ๊ะ ทำไมมันถึงเชื่อมโยงกันได้นะคะ
ขั้นที่ 5
พิจารณาขอบเขตค่าแต่ละค่า
ที่อยู่ในแต่ละข้อมูลที่เราต้องการ
นะคะ ก็คือขอบเขตของข้อมูลนั่นล่ะ
เช่น ชนิดของข้อมูลเราจะกำหนดเป็นอะไร
วันเกิดควรกำหนดเป็นอะไร
เงินเดือนมันควรเป็นจำนวนเต็มไหม คุณอยากได้ทศนิย
มหรือเปล่านะคะ อย่างชื่อก็ควรกำหนด
เป็นรับข้อมูลเฉพาะตัวอักษรเท่านั้น กรอกเป็นตัวเลขไม่ได้
อันนี้คือสิ่งที่เราต้องกำหนดตั้งแต่
ตอนที่ออกแบบฐานข้อมูลเลย ความยาว
เลขบัตรประชาชนก็ 13 หลัก
นะคะ เบอร์โทรศัพท์ก็ 10 หลัก
อะไรแบบนี้ นามสกุลไม่ควรเกิน 35 ตัว
อักษร เงินเดือนก็
เอาสักไม่เกิน 7 หลัก ประมาณนี้นะคะ
รูปแบบข้อมูลบางประเทศมันไม่เหมือนประเทศเรา
เขาจะเอาเดือนขึ้นก่อนตามด้วยเดือน ตามด้วย
วัน ตามด้วยปี คุณก็สามารถกำหนดได้เหมือนกัน
แบบของเราเพื่อดูง่าย ๆ ก็เป็น วัน เดือน ปี ตามกัน
อย่างนี้ก็ได้นะคะ กับค่าที่อนุญาต
โดยเฉพาะ เช่น ทุกวันที่ 1
กับ 16 ของเดือนเป็นวันหยุด
คุณก็สามารถตั้งได้ว่าในฐานข้อมูล คือ
สมมติลูกค้า ต้องการจะจองคิวทำอะไรก็ตาม
ถ้าเป็นวันที่ 1 กับวันที่ 16 จะไม่อนุญาตให้จอง
แบบนี้ก็ได้นะคะ
อันนี้ก็ต้องตั้งแต่เราออกแบบเลย ว่าข้อตกลงของเรา
ควรจะเป็นอย่างไรนะคะ
อันนีก็อธิบายไปแล้วนะ กับอีกอันหนึ่งสำคัญ
ความเป็นหนึ่งเดียว ก็คือ
อย่างเช่นรหัสนักศึกษา ต้องกำหนดเลยว่าต้องห้ามเป็น
ค่าที่ซ้ำ ซ้ำกันไม่ได้
เราอาจจะกรอกเลขผิดไปตัวหนึ่ง ระบบต้องจะเตือน
ต้องแจ้งเตือนว่าคุณเลขนี้ใช้ไม่ได้มันซ้ำไปแล้ว
กับการเป็นค่า
Null คุณไม่กรอกข้อมูลได้ไหม
บางระบบจะบอกว่าไม่ได้ ถ้าใครเคยกรอก
ข้อมูลใน Internet จะเห็นว่าบางช่องของการกรอกข้อมูลเขาจะมี
ดอกจันสีแดงกำหนดไว้อยู่
เป็นข้อมูลที่เขาต้องการคุณจะเว้นว่างไม่ได้
นะคะ หรือถ้าต้องการจะเว้นว่าง
หรือไม่ตอบเขาจะเรียกอีกอันหนึ่งว่าค่า Default
เรียกว่าค่าโดยปริยาย ถ้าไม่ตอบว่าเงินเดือนเป็นเท่าไร
ค่าเริ่มต้นคือ 0 แต่เป็นค่าว่างไม่ได้
ไม่ตอบไม่ได้ เพราะฉะนั้นเราใส่ไปเลย 0 บาท
แบบนี้ก็ได้ แต่ส่วนมากทุกคนก็ต้องกรอกอยู่แล้วนะคะ
ขั้นตอนสุดท้าย
ก็มาวิเคราะห์ดูว่าแผนภาพที่เราออกแบบนี่
มันสามารถปรับปรุงแก้ไข หรือว่าขยาย
ตัวในอนาคตได้หรือเปล่า เพราะว่าการออกแบบที่ดีนี่
ต้องคำนึงถึงการเปลี่ยนแปลงด้วย
ไม่ใช่ว่าตายตัวไปตลอดเกิดสมมติว่าวันนี้คุณอาจ
เปิดร้านลูกค้าอาจจะไม่ถึง 100 คน แต่ใครจะไปรู้ 4
อนาคตคุณอาจจะเป็นธุรกิจที่มันเติบโตมีสาขา
ไปอีกเป็นร้อยสาขา มีลูกค้าอีกเป็นหมื่นคน
แต่ฐานข้อมูลคุณ fix ไว้ว่าอย่างรหัส
ลูกค้าแค่ 1-100 มันเป็นไปไม่ได้ค่ะ
นะคะ ต้องวิเคราะห์ด้วย ว่ารหัส
ลูกค้านี่ มันจะต้องเป็นการเพิ่มขึ้น
อย่างอัตโนมัติไปได้เรื่อยได้ ๆ หรือเปล่า
หรือคุณจะเป็นคนกรอกเองนะคะ
อันนี้ก็ต้องคิดด้วย ไม่ใช่ว่าระบบฉันใช้แค่
10 คนนี่ล่ะ บางทีอนาคตอาจจะไม่ใช่อย่างนั้นนะคะ
โดยการสร้างแบบจำลองข้อมูลหรือการวาดแผนภาพ
นี่ มันจะต้องวิเคราะห์ของข้อมู
ลที่จำเป็นต้องเก็บในระบบนะคะ อาจจะเกี่ยวกับ
ข้อมูลที่เราจำเป็นต้องเรียกใช้ โครงสร้างที่
มี รวมถึงการเพิ่มลบแก้ไขข้อมูล
จะต้องทำที่ตารางไหน ถ้าสมมติว่า
ในตารางนั้นถูกลบไปมันจะไปกระทบกับข้อมูลในตาราง
อื่นหรือเปล่านะคะ เช่น วันดี
คืนดีอาจารย์ลบชื่อสาขาที่คุณเรียนออก
มันจะกระทบกับพวกคุณไหม เป็นนักศึกษา
ไม่มีสังกัด ทำได้ไหม ไม่ได้
นะคะ ก็ต้องดูด้วย เขาเรียกว่ากฎ
การคงสภาพของข้อมูล อยู่ดี ๆ อยากลบ
ไม่ได้ เหมือนอยากจะเปลี่ยนเลขบัตรประชาชน
ให้เดชมงคลได้ไหม ไม่ได้
เลขมันไม่สวย เลข 9 ลงท้าย มันไม่ได้
แต่ชื่อเปลี่ยนได้ไหม เปลี่ยนได้ แต่
บางอย่างมันเปลี่ยนไม่ได้นะคะ เช่น
รหัสนักศึกษา เลขบัตรประชาชนอย่างนี้ เราต้องวิเคราะห์ด้วย ไม่ใช่ว่า
ออกแบบไปแล้วใครอยากเปลี่ยนเลขบัตรประชาชนตอนไหนก็ได้
แบบนี้เป็นต้น
โดยการเขียนแผนภาพ ER นี่ มันก็จะอธิบาย
ภาพรวมทั้งหมดนะคะ อย่างที่บอกตอนต้น ก็คือ
มันต้องเข้าใจง่ายนะคะ อาจจะไม่ต้องรู้
ว่าข้อมูลที่เรากำลังจะเก็บนี่ เก็บที่ไหน เก็บอย่างไร
ไม่จำเป็น แค่วาดออกมาให้ดูก่อน ว่าในฐานข้อมูลต้อง
มีอะไรบ้างนะคะ ในแต่ละตารางมีความสัมพันธ์กัน
อย่างไร ข้อมูลมันจะซ้ำซ้อนกันไหมนะคะ
แล้วก็เขียนออกมา
ให้ออกมาดูง่ายที่สุด อย่างที่อาจารย์บอกตอนแรก แผนภาพ
การวาดรูปนี่มันมีหลาย...
เขาเรียกว่าอะไรล่ะ หลายมาตรฐานก็แล้วกัน
หนังสือแต่ละเล่มก็เลือกมาใช้ไม่เหมือนกัน
นะคะ มีทั้งแบบ Chain Mode
l แบบ Craw foot
จะคล้าย ๆ กับรอยเท้าของนก
รอยเท้าอีกา เขาก็เรียกเป็นรูปแบบ
รูปแบบหนึ่งนะคะ แต่ที่เราจะใช้กันบ่อย ๆ
นะคะ จะเป็นแบบของ
Chain Model เราจะเลือกตัวใช้แบบนี้ เพราะว่ามันเขียนง่าย
อ่านง่ายที่สุดนะคะ
แต่ถ้าคุณไปเจอหนังสือเล่มอื่น เขาใช้แบบอื่นผิดไหม ไม่ผิด คุณใช้ปืด
อยู่ที่เขาจะเลือกใช้แบบไหนแค่นั้นเองนะคะ
สัญลักษณ์
ที่ต้องใช้ในการวาดรูปนะคะ สัญลักษณ์
สี่เหลี่ยมผืนผ้ามันจะหมายถึงชื่อตาราง
นะคะ แบบสี่เหลี่ยมข้าวหลามตัด
มันจะบอกถึงความสัมพันธ์ของตาราง
แต่ละตารางนะคะ แล้วคอลัมน์ใน
แต่ละตารางล่ะนะคะ เราก็จะใส่เป็นรูปวงรี
ถ้า
คอลัมน์นั้น ๆ เป็นคีย์หลักที่ห้ามซ้ำ
กัน ในรูปวงรีจะต้องขีดเส้นใต้ด้วย
ส่วนด้านข้าง
อันนี้จะไม่ค่อยพบเห็นบ่อย แต่จะเจอในข้อสอบ
แน่ ๆ นะคะ อันแรกเป็นสี่เหลี่ยมผืนผ้า
ซ้อนกัน 2 อัน มันหมายถึงตารางนั้นน่ะ
เป็นตารางอ่อนแอ หรือ Weak Entity จะต้องพึ่งค่าตารางอื่น
เพื่อให้ตารางของมันมีความหมายนะคะ
กับ
ต่อมาสี่เหลี่ยมข้าวหลามตัดซ้อนกัน 2 อัน ก็เช่นกันค่ะ
เขาจะเรียกว่า "ความสัมพันธ์แบบอ่อนแอ" มันจะต้องไปดึงค่า
หรือความสัมพันธ์อื่น ๆ มาทำให้ตัวมันมีความหมาย
ขึ้นมานะคะ
วงรีซ้อนกัน 2 วง ก็คือในตารางนี้น
ี่ ไอ้ในคอลัมน์นี้หรือในข้อมูลนั้น ๆ นี่ มันจะ
มีข้อมูลได้มากกว่า 1 ข้อมูล เช่น คุณอาจจะมีเบอร์โทรศัพท์
3 เบอร์
หรือว่ามีชื่อเล่น
พ่อเรียกชื่อหนึ่ง แม่เรียกชื่อหนึ่งก็บอกได้
มีสัตว์เลี้ยงมากกว่า 2 ตัว แต่ละตัวมีชื่อว่าอะไร
บ้างอย่างนี้ก็ได้นะคะ กับ
วงรีที่เป็นเส้นปะ มันหมายถึงว่าค่าข้อมูล
ในนี้นี่ จะได้มาจากการคำนวณของข้อมูล
อื่น ๆ ที่พบบ่อยที่สุด ก็คือ
อายุ
อายุจะได้มาจากการคำนวณวันเกิด
เพราะฉะนั้นไอ้เส้นวงรีประ ๆ พวกนี้
อายุของเราได้มาจากการกรอกวัน เดือน ปีเกิด นั่นเอง
นะคะ ให้มันคำนวณให้
อัติโนมัติ ผู้ใช้งานไม่ต้องบอกเองว่าอา
ยุเท่าไร ให้ระบบคำนวณให้เลย อายุ 18 ปี 11 เดือน
10 วันอะไรก็ว่าไปนะคะ
อันนี้คือสัญลักษณ์ที่เราใช้บ่อย รูปเดียวกันกับรูปเมื่อกี้
นะคะ
อันนี้จะอธิบายโดยละเอียด Entity หรือว่าชื่อของตาราง
นะคะ ก็จะเป็นส่วนในการเก็บข้อมูล รายการ
แต่ละรายการที่ระบบจัดการฐานข้อมูล หรือเรากำลัง
จะสร้างระบบขึ้นมานะคะ เช่น
สัญลักษณ์ Entity จะเป็นสี่เหลี่ยมผืนผ้า มี
ชื่อตารางหรือชื่อ Entity อยู่ข้างในนะคะ เรา
จะต้องวาดแบบนี้ทุกครั้ง
นะคะ โดยตัวอย่าง
เช่น ตารางบุคคล บุคคลคืออะไรบ้าง
เป็นตารางพนักงาน ตารางผู้ป่วย ตาราง บุคลากร ตาราง
นักศึกษา ตารางลูกค้า อาจจะเป็นข้อมูลเกี่ยวกับ
สถานที่ก็จะเป็นตารางเก็บจังหวัด เก็บข้อม
ูลอำเภอนะคะ ตารางที่เกี่ยวกับวัตถุ อาจจะเป็น
รถยนต์ อาคาร เครื่องจักร สินค้าก็ได้
นะคะ หรืออาจจะเป็นเหตุการณ์ต่าง ๆ ที่เกิดขึ้น เช่น การลงทะเบียน การรักษาโรค การซื้อ การขาย
การรักษาโรค การซื้อการขาย
สัญลักษณ์อย่างที่บอกเป็นสี่เหลี่ยมผืนผ้า มีชื่อตารางหรือ Entity
อยู่ข้างในนะคะ
ประเภทของ Entity ก็มีอยู่ 2 ประเภท
นะคะ แต่ส่วนใหญ่ที่เราใช้กันนี่ จะเป็น Entity ทั่วไ
ปนะคะ เป็น Regula
r ก็คือเป็นตารางที่ข้อมูลในนั้นสามารถแยกข้อมูลแต่ละแถว
ออกได้นะคะ กับอีกอันหนึ่งคือ Entity
อ่อนแอ มันจำเป็นจะต้องใช้ข้อมูลอื่น
มาช่วยทำให้ข้อมูลในแถวนั้น ๆ มีคุณค่า หรือมีความหมายขึ้นมา
นะคะ อันนี้เป็นตัวอย่าง
Entity ทั่วไป หรือตาราง
ทั่วไปนะคะ จะสังเกตได้ว่า
อย่างข้างบนนี่ อาจารย์เขียนไว้ว่า Entity Student
ก็คือตาราง
ตารางหนึ่งที่มีข้อมูลเกี่ยวกับนักเรียนอยู่
แต่สิ่งที่เราจะเอามาวาดแผนภาพมันไม่ใช่กรอบสี่เหลี่ยมนี้นะคะ
เราจะเอามาแต่ชื่อ
เช่น ตาราง student ก็คือ Entity Student
เก็บข้อมูลอะไรบ้าง ก็คือตัวนี้ เราจะวาด
แค่นี้ค่ะ เอาสี่เหลี่ยมข้างล่างมาวาด แล้วก็บอกด้วยว่า
ชื่อตารางอะไรนะคะ
อันนี้เป็นตัวอย่างของ Entity
อ่อนแอนะคะ อันนี้ก็คือเป็นข้อมูลเกี่ยวกับ
การลงเวลาทำงาน เวลาออกจากงาน
เหมือนเวลาใครไปทำงานก็จะมี... มาทำงานกี่โมงกลับบ้านกี่โมง
ตารางนี้นะคะ Time stamp ก็คือลง
เวลา ตรางนี้จะไม่มีความหมายเลย ถ้าขาด
ข้อมูลที่เข้าทำงาน แล้วก็เวลากลับบ้าน
เพราะฉะนั้น 2 ตัวนี้จะต้องเชื่อมโยงกันอยู่แล้ว
ถ้าขาดอันใดอันหนึ่งไป
ตารางนี้จะไม่มีความหมายเลย
ก็คือมีแต่เวลามาทำงาน แล้วกลับบ้านตอนไหน ไม่รู้
อย่างนี้ไม่ได้นะคะ
ก็คือมาทำงานก็ต้องมีเวลากลับบ้าน
หรือมีแต่เวลากลับบ้าน ไม่มีเวลาทำงาน มันก็ไม่ได้
ไ ม่อย่างนั้นจะรู้ได้อย่างไรว่าคุณมาทำงานกี่โมงนะคะ อันนี้เป็นตัวอย่าง
ของตารางที่ถ้าขาด
ข้อมูลใดข้อมูลหนึ่งไปจะทำให้ข้อมูลในตารางนั้น
ๆ นี่ ไม่สมบูรณ์มีปัญหานั่นเองนะคะ
อย่างเช่น อันนี้เป็นตัวอย่าง
ถ้าเป็นตารางทั่วไป
ตารางนักเรียน กับตารางรายวิชานะคะ
มีนักศึกษา 2 คน มี 2 วิชา อันนี้เป็นตาราง
ทั่วไป แต่ตารางการลงทะเบียน
สมมติว่ามีแต่รหัส
นักศึกษา มีปีการศึกษา แต่ไม่รู้เลย
เขาลงทะเบียนวิชาอะไร ได้ไหม ไม่ได้
ไม่อย่างนั้นจะรู้ได้อย่างไรว่า เทอมนี้
มีใครเรียนอะไรบ้าง หรือนะคะ
รู้รายวิชา รู้ปีการศึกษา
แต่ไม่รู้เลยว่าใครลงทะเบียนเรียน ได้ไหม ก็ไม่ได้อีก
นะคะ เพราะฉะนั้นในตารางการลงทะเบียน
ถ้าขาดข้อมูลใดข้อมูลหนึ่งไป ตารางนั้น
จะเป็นตารางที่ไม่สมบูรณ์ โดยข้อมูลในตารางนี่ ดึงมา
ก็ไปดึงข้อมูลมาจากคนอื่นทั้งนั้น อันนี้คือตารางอ่อนแอ
นะคะ ก็คือไม่มีความหมายในตัวเองต้อง
มีข้อมูลจากตารางอื่นมาช่วยนั่นเอง
นะคะ ต่อมา Attribute
ก็คือพูดง่าย ๆ ก็คือคอลัมน์ในแต่ละตารางน่ะค่ะ ว่า
ในตารางนั้นมีคอลัมน์อะไรบ้าง ก็คือหัว
ของคอลัมน์นะคะ
นี่แบบนี้ เพราะฉะนั้น
Attribute นะคะ สัญลักของ Attrib เป
็นวงรีนะคะ
อย่างข้อมูลพนักงานต้องมีอะไรบ้าง ก็ต้องมีฐานข้อมูล
รหัสพนักงาน ชื่อ นามสกุล มีเพศ มีเงินเดือน
นะคะ สัญลักษณ์จะเป็นแบบนี้
นี่นะคะ ข้อมูลพนักงานอันนี้ก็คือ
Entity ใช่ไหมคะ ของตาราง
อันนี้ก็จะเป็นคอลัมน์ คอลัมน์
คอลัมน์ ซึ่งใน Attribute นี่ ก็แบ่ง
ไปอีกเป็น 6 ประเภทเหมือนกันนะคะ ก็ใช้เป็นวงรี
นี่ล่ะ แต่อาจจะมีสิ่งที่เปลี่ยนไปนิดหนึ่ง
นะคะ โดย Atribute นี่ ประเภทที่ 1 คือ
Attribute ที่ไม่สามารถแบ่งย่อยไม่ได้อีกแล้ว
เช่น เพศ คุณก็ตอบได้แค่เพศเดียว
คุณเป็นเพศอะไรคุณก็ตอบเพศนั้น
ตอบได้ค่าเดียว คุณไม่จำเป็นต้องบอกว่า
เงินเดือนเดือนที่ 1 เงินเดือนเดือนที่ 2 เงินเดือนเดือนที่ 3 ไม่ใช่
เงินเดือนปัจจุบันเราเท่าไรนะคะ
เลขบัตรประชาชนตอบได้ค่าเดียว รหัสนักศึกษา
ตอบได้ค่าเดียว อันนี้คือเป็น Attribute
หรือเป็นข้อมูลโดยทั่วไปนะคะ ต่างจาก Attribute
ประเภทที่ 2 คือ Attribute ที่แบ่งย่อยได้
เช่น ชื่อนามสกุล เราแยกกันกรอกได้ไหม
ได้ แบ่งเป็นชื่อ คอลัมน์หนึ่ง นามสกุลคอลัมน์หนึ่งก็ได้
นะคะ ต่อมาเป็น Key
Attribute นะคะ ก็เป็นค่าเอกลักษณ์
จะต้องไม่ซ้ำกันในตารางนั้น ๆ ต้องค่า
นี้ จะต้องไม่ซ้ำกัน โดยลักษณะเฉพาะของ
คีย์นะคะ มันจะมีการขีดเส้นใต้
เ พื่อแสดงว่ามันเป็น
ค่าที่ซ้ำกันไม่ได้
เหมือนเวลาเราเรียนวิิชาใด ๆ ก็ตาม ถ้าอันไหนมีการ
ขีดเส้นใต้มันเป็นการเน้นใช่ไหมคะ ในวิชาอื่น ๆ ใน
การวาดรูปก็เหมือนกัน วาดรูปในฐานข้อมูลก็เหมือนกัน
แสดงว่าค่านั้นน่ะ เป็นจุดเน้นที่เราจะต้องให้ความสำคัญ
กับมันนะคะ กับ
ข้อมูลนะคะ
ที่มีเพียงค่าเดียวเท่านั้น เช่น คุณจะระบุว่า
คุณจะเป็นเพศไหน คุณระบุมา อาจจะไม่มี
แค่ชขายหรือหญิง ตอนนี้คุณเป็นเพศอะไร
ก็ระบุมานะคะ หรือค่าที่มีได้หลายค่า
อย่างเช่น เบอร์บ้าน ถ้า
แต่ละที่ก็จะมีรหัสพื้นที่ไม่เหมือนกัน
กรุงเทพก็เป็น 02 สกลนครก็เป็น 04
ขอนแก่นก็ 043 อุบลฯ ก็ 042 ใช่ไหมคะ
มันก็ต้องระบุด้วย
อย่างนี้นะคะ ถ้าค่าไหนมีได้หลายค่า
อย่าลืมเป็นวงรี 2 เส้น กับค่า
ของข้อมูลที่ได้จากการคำนวณ เราจะใช้วงรีที่เป็นเส้นปะ
เช่น อายุที่ได้มาจากวันเกิด
นะคะ หรือว่าวันเข้าทำงาน
จนถึงปัจจุบัน คุณทำงานมาแล้วกี่ปี
อย่างนี้ก็ได้นะคะ ค่าที่ได้มาจากการคำนวณนั่นล่ะ
อันนี้เป็นตัวอย่าง
Simple Attribute แยกให้ออกนะคะ
อันไหนเป็น Attribute
Attribute เป็นวงรีตัวนี้ ตัวนี้ ตัวนี้ แล้วใน
สี่เหลี่ยมคืออะไร สี่เหลี่ยมคือ Entity
นะคะ ตัวอย่างของ Attribute
ที่แยกย่อยไปได้ เช่น ชื่อ นามสกุล
อาจารย์ก็แยกออกมาเป็น FirstName LastName
เป็นชื่อกับนามสกุลก็ได้ ที่อยู่ บางคนอาจจะกรอก
บรรทัดเดียวเลยก็ได้
ออกแบบให้มันบ้านเลขที่บรรทัดหนึ่ง ถนนบรรทัดหนึ่ง
ตำบลบรรทัดหนึ่ง อำเภอ จังหวัด แยกออกหมดเลยก็ได้
ถามว่าใช้สัญลักษณะแตกต่างกันไหม ไม่นะคะ
ไม่ เหมือนกัน แต่ถามว่า
เราลบอันนี้ออกได้ไหม ก็ได้นะคะ มันจะได้
ไม่เปลืองเนื้อที่อย่างนี้ก็ได้ แล้วคุณก็กรอกไปเลยชื่ออันหนึ่ง นามสกุลอันหนึ่ง
อย่างนี้ก็ได้นะคะ Key Attribute
คือค่าที่ห้ามซ้ำกัน
ก็คือตารางนักเรียนอะไรที่ห้ามซ้ำกันก็คือ
รหัสนักเรียน อันนี้มันย่อมาจาก
Student ID นะคะ student
ID
ทำไมถึงรู้ว่าเป็น Student ID
เพราะคำย่อแบบนี้ หรือชื่อทุกอย่าง
นี้ จะต้องจดไว้ในพจนานุกรมข้อมูลด้วย
ถามว่าอันนี้มันง่ายมันเข้าใจง่าย
มาจากอะไร แต่ถ้าเป็นคนที่ไม่มีความรู้พื้นฐานเลยเขาจะรู้ไหมว่า SID คือ
อันนี้เดี๋ยวอีกเรื่องหนึ่ง เป็นอีกเรื่องหนึ่ง
ถ้าเอาทุกอย่างมารวมกัน
ใน 1 ตาราง สามารถมี Attribute
หรือมีรูปแบบข้อมูลได้ทุกรูปแบบก็ได้
นะคะ มีทั้งคีย์หลัก มีทั้ง
Attribute ที่สามารถแบ่งย่อยได้ มีทั้ง Attribute ที่
ได้มาจากการคำนวณ คือ อายุจะได้ค่ามาจาก
วัน เดือน ปีเกิด เบอร์โทรศัพท์
เป็น Multi Value มีได้หลายค่า
ก็ใส่วงรีซ้อนกันอันนี้คือตัวอย่างนะคะ ตัวอย่างของ
Attribute แต่เดี๋ยวเราอาจจะยังไม่เข้าใจ
เดี๋ยววาดรูปก็น่าจะเข้าใจได้มากขึ้น
ต่อมาความสัมพันธ์นะคะ
มันเป็นความสัมพันธ์ของตาราง 2 ตารางขึ้นไป
นะคะ โดยความสัมพันธ์นี่ อาจจะมีข้อมูล
ที่ใช้ร่วมกัน สัญลักษณ์คือสี่เหลี่ยม
ข้าวหลามตัดนะคะ เช่น
ตารางพนักงาน อันนี้พนักงานนะคะ
พนักงาน Work IN แปลว่า
ทำงานอยู่าในแผนกอะไร ก้คือ Dipartment
โดยความสัมพันธ์ตัวนี้นี่
จะต้องสามารถอ่านไปข้างหน้า อ่านย้อนหลังก็ได้
อย่างเช่น ตัวอย่าง ก็คือพนักงานทำงานอยู่
ในแผนกอะไร หรือในแผนกนั้น ๆ มี
ใครทำงานอยู่บ้าง มันจะต้องเข้าใจได้แบบนี้นะคะ
หรือการสั่งสินค้า
อยู่ในใบสั่งสินค้าตัวไหน
นะคะ สินค้าชนิดนั้น ๆ อยู่ใน
ใบสั่งซื้ออะไร ก็ต้องดูได้ สินค้า อย่างเช่น
power bank อาจจะอยู่ได้ภายในหลายใบสั่งซื้อ
สินค้าก็ได้ เพราะสินค้าเรามีหลายตัวนะคะ
ไม่ใช่ว่าขายให้แค่คนเดียว ขายให้ได้หลายคนนะคะ
ความสัมพันธ์แบบ 1 ต่อ 1
จะต้องเป็นความสัมพันธ์
ที่สมาชิกคนเดียว มีความสัมพันธ์ไปอีก
สมาชิกหนึ่งของอีกตารางหนึ่งเท่านั้นนะคะ
เช่น เจ้าของรถเป็นเจ้าของรถยนต์ได้ 1 คัน
นะคะ อันนี้สมมติ ๆ นะคะ
คน 1 คนเป็นเจ้าของรถยนต์ได้
หนึ่งคัน ใช่ไหม
ใครเคยเห็นในทะเบียนรถยนต์ ใบทะเบียนรถยนต์
จะต้องมีเจ้าของคนเดียวนะ ตัวอย่าง แต่
ถ้าเปลี่ยนเป็นความสัมพันธ์แบบ 1 และมากกว่า 1 ล่ะ
นะคะ เช่น คนหนึ่งคน มีรถยนต์
ได้หลายคัน ใช่ไหม อยู่บ้าน
บางคนอาจจะมีรถยนต์มากกว่า 1 คน อาจจะมีรถ
เก๋ง มีรถกระบะ มีรถ 6 ล้อ
พ่อเป็นเจ้าของรถหมดเลยก็ได้
แต่ในบรรดารถทุกคนจะต้องมี
เจ้าของคนเดียว
อันนี้คือสิ่งที่เราต้องคิดด้วย
นะคะ คน ๆ หนึ่ง มีรถได้หลายคนก็จริง แต่รถคันนั้น
มีเจ้าของได้คนเดียว
กับความสัมพันธ์ที่
มากกว่า 1
เช่น ลูกค้าหลายคน
ลูกค้า 1 คน สมมติเวลาเราไปซื้อของ
ต้องซื้อกับแคชเชียร์คนนี้เวลาจ่ายเงิน
แต่แคชเชียร์คนนี้ก็สามารถ
รับลูกค้าได้หลายคนเหมือนกัน ลูกค้าไปจ่ายกับแคชเชีย
นะคะ ไม่จำเป็นต้องจ่ายเฉพาะคนนี้เท่านั้น
เหมือนเวลาเราไปเดินห้างซื้อ
ของใน Super วันวันหนึ่งเขามีลูกค้า
หลายคนไหม มีหลายคน คนคิดเงินก็มีหลายคนไหม
มีหลายคนเหมือนกัน เพราะฉะนั้น วันนี้เราอาจจะเจอพนักงานคนหนึ่ง พรุ่งนี้
อาจจะเจอคนใหม่ก็ได้ เขาก็ไม่ได้เจอเราคนเดียว เขาอาจจะเจอคนใหม่ก็ได้
อันนี้เป็นความสัมพันธ์ที่มากกว่า 1
ทั้ง 2 ฝั่ง ภาษาอังกฤษเรียกว่า Many-to-Many
นะคะ อันนี้เป็นตัวอย่าง
ความสัมพันธ์แบบ 1 ต่อ 1 จะเห็นได้ว่าเส้น
ที่เชื่อมความสัมพันธ์จะเป็นเส้นตรง มีเลข
กกำกับเห็นไหมคะ จะมีตัวเลขกำกับด้วย
เพราะฉะนั้นเวลาเราลากเส้นเชื่อมความสัมพันธ์ใด ๆ ก็ตาม
จะต้องมีตัวเลข หรือตัวอักษรกำกับทุกครั้ง
นะคะ อันนี้เป็นความสำคัญแบบ 1 ต่อ 1
ตัวแทนขายสินค้าดูแลลูกค้าได้ 1 คนจริงไหม
อาจจะไม่จริงเสมอไป
ตัวแทน 1 คนอาจจะดูแลลูกค้าได้หลายคนก็ได้
ถ้าเป้นลูกค้าหลายคน เราจะแทนด้วยตัว M
หรือตัว N ก็ได้นะคะ M หรือ N ก็ได้
แต่ต้องใส่ ถามว่า
ถูกต้องหรือยัง ตัวแทน 1 คน ดูแลลูกค้าได้
หลายคน ถูก ลูกค้าหลาย ๆ คน ก็ได้รับการดูแลจาก
ตัวแทนหลาย ๆ คนก็ได้รับการดูแลจากตัวแทน 1 คน ก็ถูก
นะคะ แบบนี้เป็นต้น มีการ
ใส่คีย์หลัก มีการ
ขีดเส้น อันนี้เป็นความสัมพันธ์ ก็คือเขาดูแลกัน
ต้องใส่ ต้องระบุนะคะ
แต่ถ้าเป็นความสัมพันธ์ที่มากกว่า 1 ทั้ง 2 ด้าน
เราจะต้องใส่เป็น M กับ N เท่านั้น
เราจะใส่เป็น M M อย่างนี้ไม่ได้นะคะ
ไม่ได้ เป็น N กับ N แบบนี้ได้ไหม
ก็ไม่ได้ ต้องเป็น M กับ N
เพื่อให้สื่อความหมายได้ถูก ว่ามันเป็นความสัมพันธ์
ที่เชื่อมกันระหว่างเส้น 2 เส้นนี้นะคะ อันนี้เป็นตัวอย่าง
เดี๋ยวพอวาดง่าย ๆ ก่อน
น่าจะเข้าใจง่ายขึ้น กับ
อันนี้ออกสอบง่ายมาก อาจารย์
อาจจะมีรูปภาพให้แล้ว
ให้พวกคุณเปลี่ยนเป็นตาราง ง่ายมากเลย
นะคะ ก็คือข้อมูลที่อยู่ในกรอบ
สี่เหลี่ยมมันคือชื่อตารางใช่ไหมคะ คุณก็เอา
กรอบสี่เหลี่ยมออก แล้วก็เขียนชื่อตาราง
อยู่ในวงรี คือ Attribute ก็เป็นคอลัมน์ของตาราง
เสร็จแล้ว
หรือถ้าอาจารย์ให้วาดรูป
ทำอย่างไร จากตารางข้างล่าง ชื่อตรางใช่ไหมคะ
ชื่อตารางก็เอามาใส่กรอบสี่เหลี่ยม คอลัมน์
แต่ละคอลัมน์ก็เอามาใส่ในวงรี โยงเ้น
เสร็จ แค่นั้นเอง
อันนี้ออกสอบด้วยนะ
นะคะ อาจจะไม่ง่าย
อย่างนี้ แต่หลักการมีประมาณนี่ล่ะ
นะคะ กับถ้าสมมติว่ามันมีข้อมูลที่
มันสามารถแบ่งแยกออกได้นะคะ จะเห็นได้ว่า
ตอนก่อนหน้านี้ที่อาจารย์ตัดตรงนี้ออก
ใช่ไหม เวลาเราเอามาเขียนในรูปแบบ
ของตาราง อันนี้เราจะไม่ใส่ เราจะดูเฉพาะ
Attribute ที่อยู่ขอบนอกสุดเท่านั้น
นะคะ เราจะเอาเฉพาะข้างนอกสุดมาเขียน
ลงเป็นตาราง
อันนี้เป็น... ดูดี ๆ นะ ข้อกำหนดแต่ละอัน
นะคะ
กับถ้าตารางไหนมีข้อมูล
ที่สามารถมีได้หลายค่า เห็นไหมวงรี
ซ้อนกัน 2 วง เราจะเอาข้อมูลนั้น
แยกมาเป็นอีก 1 ตาราง
แต่คีย์หลักจะเอามาจากตารางเดิม
นะคะ
เพื่อให้ 2 ตารางนี้มัน
เชื่อมกันโดย อันนี้เป็นข้อสังเกต
ก่อนนะ อันนี้ยังเป็นกฎที่ต้องใช้อยู่
นะคะ
กับอันไหนที่เป็นค่าที่เป็น Weak Entity
หรือว่าความสัมพันธ์แบบอ่อนแอ
เราต้องดูด้วยว่า มันมีความสัมพันธ์กับตารางไหน
นะคะ เราจะเอาคีย์หลัก
ของตารางที่มันมีความสำคัญด้วย มาใส่ด้วย
อย่างเช่น... เดี๋ยวลบอันนี้ออกก่อน ทำไม
ถึงบอกว่าตารางด้านขวามือเป็นตารางอ่อนแอ
เพราะในตารางนี้
มีเวลาทำงาน มีเวลากลับบ้าน มี
วันที่ แต่ถามว่าเป็นของใคร
ใครน่ะมาทำงาน 7 โมง กลับ
16.00 น. ใครมาทำงาน 8.00 น. กลับ 20.00
น. ไม่รู้
เพราะฉะนั้นต้องไปดูด้วย ว่า
พนักงานรหัสคนไหนที่เขามา
แสกนนิ้วทำงาน หรือตอกบัตรทำงาน
นะคะ แต่ถามว่าในตารางนี้ ทำไมเราไม่ให้กรอก
รหัสพนักงานด้วยเลยล่ะ มันก็เป็นการซ้ำซ้อน
กันไงคะ ในเมื่อเรามีรหัสพนักงานอยู่แล้ว เราก็เรียกใช้ได้เลย
เราไม่จำเป็นต้องมาเพิ่มตรงนี้ก็ได้ อันนี้เป็นการออกแบบที่ดี
ถ้าอันไหนซ้ำซ้อนกันเราจะไม่ใช้ เราจะดึงข้อมูลมันมาใช้เลย
อันนี้คือข้อดีของการออกแบบฐานข้อมูล
นะคะ อันนี้คือตัวอย่างอย่างหนึ่ง
กับการเปลี่ยนให้เป็นตาราง
ถ้าเมื่อกี้นี้ในรูปนี้อาจารย์ไม่ได้ใส่ความสัมพันธ์ใช่ไหมคะ
ยังไม่มีเส้นเชื่อมโยงไปตารางอื่นใช่ไหม
แต่ถ้ามันมีเส้นเชื่อมโยงไปตารางอื่นล่ะ
นะคะ อันนี้เป็นความสัมพันธ์แบบ 1 ต่อ 1
เราจะต้องเอา
คีย์หลัก ไอ้ที่ขีดเส้นใต้นี่
ของตารางด้านข้างที่เรามีความสัมพันธ์ด้วยมาใส่
ในตารางเรา แต่ความสัมพันธ์แบบ 1 ต่อ 1 จะมีข้อ
ได้เปรียบอย่างหนึ่ง คือ ในตารางแรก
อาจจะเอารหัสลูกค้ามาเป็นคีย์เพื่อเชื่อมต่อกัน
ก็ได้ หรืออาจจะเอารหัสตัวแทน
นะคะ มาเป็นตัวเชื่อมต่อกันก็ได้
อันนี้เป็นความพิเศษเฉพาะตารางแบบ 1 ต่อ 1
แต่จะต้องเอาคีย์หลักที่เรามีความสัมพันธ์
ด้วย อาจจะเป็น... เลือกมาตารางไหนก็ได้ แต่ต้องมี
นะคะ ต้องมีมันสามารถยืดหยุ่นได้
นั่นเอง เฉพาะตารางแบบ 1 ต่อ 1
นะคะ แต่ถ้าเป็น
ความสัมพันธ์แบบ 1 ต่อ กลุ่ม
จะต้องเอาคีย์หลักของฝั่งที่มีความสัมพันธ์แบบ 1
มาใส่ในตารางที่มีความสัมพันธ์แบบกลุ่ม
เท่านั้น
อันนี้เป็นลักษณะเฉพาะ
นะคะ ลักษณะเฉพาะของความสัมพันธ์แบบ 1 ต่อกลุ่ม
แต่ถ้า
เป็นความสัมพันธ์แบบกลุ่มต่อกลุ่มล่ะ
เห็นไหมคะ เป็น M กับ N
เราจะไม่เอาตาราง... ไม่เอาค่าคีย์หลักมาใส่ในตาราง
แต่เราจะสร้างตารางใหม่ขึ้นมา
โดยใช้คีย์หลักของทั้ง 2 ตาราง
ที่มีควาสัมพันธ์กันมาสร้างเป็นตาราง
ใหม่เลย จำลักษณะ
3 อย่างนี้ให้ดีนะคะ 1 ต่อ 1 1 ต่อ กลุ่ม
กับ กลุ่ม ต่อ กลุ่ม การเอามาสร้างเป็นตาราง
ลักษณะเฉพาะมมี 3 แบบ แบบแรกคือเอาลักษณ
ฝั่งไหนก็ได้ แบบที่ 2 ก็คือเอาเฉพาะคีย์หลักของ
ความสัมพันธ์ที่เป็น 1 เท่านั้น
เอาคีย์หลักของทั้ง 2 ความสัมพันธ์มาสร้าง
ตารางใหม่เลยนะคะ อันนี้คือ
ลักษณะเฉพาะของการเปลี่ยนรูปภาพให้เป็นตาราง
นะคะ เดี๋ยวจะมีให้ทำด้วย บางคน
จะจำไม่ได้
การออกแบบนะคะ อันนี้พูดไปแล้ว
เราจะมาลองวาดรูปกัน
ให้... น่าจะเคยไปร้านหนังสือกัน
หรืออาจจะเคยเห็นหนังสืออยู่แล้วนะ
นะคะ ในหนังสือ 1 เล่ม
จะมีอะไรบ้าง แน่นอนข้อมูล
หนังสือแต่ละเล่มก็จะมี
รหัสหนังสือนะ
มีชื่อหนังสือ มีรหัสผู้แต่ง
รหัสสำนักพิมพ์ อันนี้คือข้อมูลที่อาจารย์ให้ก่อนนะ เดี๋ยวเรามาวาด
รูปกัน ในข้อมูลในคนแต่ง
หนังสือมีอะไรบ้าง ก็จะมีรหัสของผู้แต่งคนนั้น
นะคะ มีชื่อผู้แต่งหนังสือ
ในข้อมูลสำนักพิมพ์ก็จะมีรหัสสำนักพิมพ์
มีชื่อสำนักพิมพ์ มีที่อยู่ มีเบอร์โทรศัพท์
นะคะ
ขั้นตอนแรกศึกษาก่อน
ในระบบร้านหนังสือ ก็คือ
ข้อมูลที่อาจารย์ให้เมื่อกี้ มันจะมีข้อมูลหนังสือ
มีข้อมูลคนแต่ง มีข้อมูล
สำนักพิมพ์ มีกระดาษช่ไหม
พลอย โอเค ขั้นตอน
ต่อมา กำหนด
Entity เดี๋ยวจะให้ทำเอง ก็คือ
ในข้อมูลที่อาจารย์ให้อันนี้มันจะต้อง
มีกี่ Entity หรือกี่ตาราง ทำสิ ใช้สัญลักษณ์
ให้ถูกด้วยนะคะ เดี๋ยวอาจารย์จะเดินดู ทำเลย
นี่ จากข้อมูลนี้
ข้อมูลตัวหนังสือสีดำ ๆ นี่ ดำ ๆ เข้ม ๆ
นี่ เราควรมีกี่ตาราง
วาดรูปนี่ วาดรูป
แบบนี้ จะให้วาดแบบนี้ง่าย ๆ
นี่ ให้วาดแบบนี้ให้วาดรูป ให้เอาข้อมูลน่ะมาวาด
แบบนี้ แต่อย่างแรกเลย ดูก่อนว่า
ข้อมูลที่อาจารย์ให้นี่ มันควร
จะมีกี่ตาราง ดูสิว่ามันต้องมีกี่ตาราง
สัญลักษณ์ของตารางหรือ Entity
ก็คือ สี่เหลี่ยมผืนผ้า ลองวาดสิ สี่เหลี่ยม
มันควรจะมีสี่เหลี่ยมผืนผ้ากี่อัน แล้วในสี่เหลี่ยม
ผืนผ้าจะต้องเขียนว่าอะไร ลอง
ทำดู
อันนี้ยังไม่ยาก
สรุปแล้วมีกี่ตาราง
อันนี้ง่ายมาก ดูจากที่อาจารย์เน้น
ตัวหนังสือสีดำเข้มไว้ เราจะได้ 3
ตาราง ในกรอบสี่เหลี่ยม
มีตารางผู้แต่ง มีตารางหนังสือ มี
ตารางสำนักพิมพ์ ก็คือ 3 Entity นั่นเอง
นะคะ จากโจทย์ที่อาจารย์กำหนดให้นะ
ที่อาจารย์เน้นให้ อันนี้
จะให้ทำเอง
หลังจากเราได้ตารางหรือ Entity แล้วนะคะ
มันจะต้องกำหนดความสัมพัน
ธ์นี่ ความสัมพันธ์ก็คือ เส้นที่โยง 3 อันนี้
เราจะโยงเส้นมันอย่างไร
โดยความสัมพันธ์ของแต่ละอัน มันควรจะเป็น
อย่างไร สิ่งที่มันควรจะเป็น
ก็คือหนังสือแต่ละเล่ม จะถูกพิมพ์จากสำนักพิมพ์
ใดสำนักพิมพ์หนึ่งเท่านั้น
ใช่ไหม
แต่ว่าใน 1 สำนัก
พิมพ์ เขาก็สามารถพิมพ์หนังสือได้หลายเล่มนะ
อันนี้คือเงื่อนไข ๆ
หนังสือแต่ละเล่ม
กำหนดว่าจะต้องมีคนแต่ง
คนเดียวเท่านั้น
แต่ในโลกของความเป็นจริงนี่ หนังสือนี่ มันอาจจะมี
คนแต่งช่วยกันก็ได้นะ แต่ในโจทย์ของที่
อาจารย์ให้ อาจารย์ให้หนังสือ 1 เล่ม มีคนแต่งแค่คนเดียวเท่านั้น
อันนี้คือโจทย์ที่อาจารย์กำหนดนะคะ แต่ว่า
ผู้แต่งหนังสือแต่ละคน
เขาก็สามารถแต่งหนังสือได้หลายเล่มเหมือนกัน
อันนี้คือข้อกำหนดที่อาจารย์กำหนดให้นะคะ
แล้วเราจะ
ให้ความสัมพันธ์แต่ละอันอย่างไร
ก็คือการวาดนี่ ๆ วาดแบบนี้
นี่มันจะมีการวาดแบบนี้นะคะ
ความสัมพันธ์จะเป็นแบบนี้
อันนี้คือความสัมพันธ์ที่นักศึกษาต้องวาด
จากโจทย์ตัวนี้นะคะ จากโจทย์ตัวนี้
ไอ้ 3 อันนี้ มันจะต้องสัมพันธ์กันอย่างไร
ลองวาดดูสิ
ลองวาดดู รูปมัน
จะต้องออกมาเป็นอย่างนี้นะคะ แต่ข
้อมูลข้างในน่ะ ว่าอย่างไรลองใส่ดู
เดี๋ยวให้เวลา 5 นาที
ลองดูสิว่า จะเข้าใจโจทย์อาจารย์ไหม
จะวาดได้หรือเปล่า 5 นาทีเดี๋ยวดูกัน
เดี๋ยวเอาตัวอย่างให้ดูอันหนึ่งที่เหลือจะได้ลองทำดู
นะคะ เดี่ยวลบอันนี้ก่อน
ให้ตัวอย่าง 1
อันก่อน ให้วาดแบบนี้ค่ะ เช่น
ผู้แต่ง 1 คน ในโจทย์ที่อาจารย์บอก
แต่งหนังสือ 1 เล่มใช่ไหมคะ แต่หนังสือ...
ก็มีผู้แต่งได้แค่คนเดียว แต่เขาแต่งได้หลายเล่มใช่ไหม
เพราะฉะนั้นความสัมพันธ์ ก็คือผู้แต่ง 1 คนสามารถ
แต่งหนังสือได้หลายเล่ม แต่ถ้าเราอ่านย้อนกลับ
หนังสือหลาย ๆ เล่มนี่ มีผู้แต่งได้
แค่ 1 คน
อันนี้ยกตัวอย่างให้ 1 อันแล้ว
ที่เหลือ ลองวาดดูสิ
ให้มันได้เหมือนของอาจารย์นี่ ที่เหลือมันควรจะเป็นอย่างไร
ลองดูสิ เริ่มให้แล้ว 1 อัน
ที่เหลือลองทำดูก่อน
ที่เหลือ
หนังสือหลาย ๆ เล่ม
จะต้องถูกพิมพ์จาก 1 สำนักพิมพ์เท่านั้น
ใช่ไหม อันนี้ตามโจทย์ที่อาจารย์กำหนด
นะคะ ถ้าเราเอา
มารวมกันในความสัมพันธ์นะคะ
มันอาจจะเขียนได้เป็นแบบนี้นะคะ
ผู้แต่ง 1 คนแต่งหนังสือได้หลายเล่ม
และหนังสือหลาย ๆ เล่มจะต้อง
ถูกจัดพิมพ์จาก 1 สำนักพิมพ์เท่านั้น
อันนี้คือรูปความสัมพันธ์ที่เกิดขึ้น
นะคะ อันนี้ยังง่ายอยู่
พอเห็นภาพขึ้นบ้างไหมนะคะ
อันนี้ยังง่าย อันนี้พอเราอ่าน
ถ้าเป็นคนที่ไม่มีความรู้ด้านคอมพิวเตอร์มาอ่าน
เขาก็ยังจะเข้าใจนะคะ อันนี้คือการวาดรูป
มันเลยจะทำให้เราเข้าใจมากขึ้น แล้วก็จัดระเบียบ
ได้ว่าสิ่งที่มันควรจะเป็นในฐานข้อมูลมันควรจะเป็นอย่างไร
นะคะ
ต่อมา ง่ายแล้ว
อันนี้ยิ่งง่าย พอเราได้ความสัมพันธ์เราได้ Entity แล้ว
เราต้องมาเขียนว่าใน
แต่ละตารางมันควรจะมีข้อมูลอะไร แล้วอะไรจะเป็นค
ีย์หลัก็คือ อะไรจะเป็นคีย์หลัก ก็คือค่า
ที่ห้ามซ้ำกัน ที่เราขีดเส้นน่ะค่ะ เอามา
จากตรงไหน มาจาก
ตรงนี้ เรารู้แล้วว่าอันไหน คือ ชื่อตารา
ง ก็คือชื่อ Entity แล้วข้อมูลมีอะไรบ้าง
มันก็แค่เอาข้อมูลที่อาจารย์กำหนดให้นี่ค่ะ
ไปใส่ในรูปวงรี
ใช่ไหม คือ Attribute แต่มันจะยาก ก็คือ
ในแต่ละข้อมูลอะไรจะเป็นคีย์หลัก ก็คือค่า
ที่ห้ามซ้ำกัน ลองวาดดู
อาจารย์เอาให้หมดแล้ว
3 อันนี้จะต้องมีข้อมูลอะไรบ้างกำหนดอยู่
อันยาก ก็คือเราจะขีดข้อมูลเส้นใต้ตัวไหน
นะคะ อันนี้...ไปแล้ว ทำเอง
ลองดูสิ มันจะได้รูปเหมือน
กับของอาจารย์ไหม ลองทำดู
แค่เอาข้อมูลที่อาจารย์กำหนดให้ในสไลด์ก่อนหน้านี้ค่ะ
มาใส่แค่นั้นเอง เดี๋ยวให้ลองทำเองดู ว่า
เหมือนกันไหม
5 นาทีเหมือนเดิม
เดี๋ยววันนี้ไม่เสร็จ ให้ 1 ตัวอย่างก่อน
มันต้องแบบนี้ อีก 2 อันที่เหลือทำเอง
เอาตัวอย่างให้ดูก่อน
ได้ตารางหนังสือแล้ว
เหลือตารางสำนักพิมพ์กับตารางผู้แต่ง ลองอ
ีกสิอีก 2 อันที่เหลือให้รูปมันออกมาเป็นแบบนี้ต้องทำอย่างไร
ยกตัวอย่างให้ก่อน
เดี๋ยวไม่เข้าใจ
เห็นไหมว่าอาจารย์กำหนดคีย์ด้วย
ก็คือเราขีดเส้นใต้รหัสหนังสือน่ะ
ห้ามซ้ำกัน อีก 2 อันที่เหลือ
อันไหนต้องห้ามซ้ำกัน แล้วทำไมตารางหนังสืออาจารย์ถึงมีสำนักพิมพ์
ด้วย ทำไมต้องมี
ต้องมี เพราะว่าเราจะได้รู้ว่าหนังสือเล่มนี้
สำนักพิมพ์ไหนเอามาขาย
ใช่ไหม อันนี้ไอ้รหัสสำนักพิมพ์นี่
คือคีย์นอก
ซึ่งเอาไว้เชื่อมโยงไปดูว่าสำนักพิมพ์
ชื่ออะไร อยู่ที่ไหน เบอร์โทรศัพท์เบอร์อะไร ไ
ม่จำเป็นต้องเอาข้อมูลมาทั้งหมด เอามาแค่รหัสก็พอ ในการเชื่อมโยงกัน
2 ตารางนะ ลองวาด
ดูสิ อีก 2 อันที่เหลือ ในผู้แต่ง
ต้องมีอะไร ในสำนักพิมพ์ต้องมีอะไร ลองวาดดูสิ
ผู้แต่งได้หรือยัง
เหมือนกันหรือเปล่า อันนี้ง่ายมากเลย
ก็เอาข้อมูลที่อาจารย์ให้มาวาดแค่นั้นเอง
ใช่ไหม
สำนักพิมพ์
ก็เป็นแบบนี้
เพราะอาจารย์ให้ข้อมูลไปหมดแล้ว
พอเราวาดเสร็จ
ได้องค์ประกอบทุกอย่าง
รูปที่สมบูรณ์
มันเลยเป็นแบบนี้ใช่ไหม
จากข้อมูลที่อาจารย์ให้ทั้งหมด พอมาวาดรูป
เหมือนกันเลย แค่เอาข้อมูล
ที่ได้น่ะค่ะ จากตัวหนังสือเป็นยาว ๆ เฟื้อย ๆ
นี่ เราก็เอามาวาดเป็นรูป
แล้วมันจะได้เช็กได้ ว่าเราขาดข้อมูลตรงไหนหรือเปล่า
นะคะ ข้อมูลมันยังสามารถเติมตรงไหน
ได้อีก มันเป็นไปอย่างที่เราเข้าใจ
ไหม ในตัวของสมมติว่าเขามาจ้างให้เราออกแบบ
ข้อมูลเข้าใจตรงกันหรือเปล่านะคะ
หรือเขาอยากให้เอาข้อมูลอะไรเข้ามาอีก
แต่ถ้าเป็น
การออกแบบฐานข้อมูลจริง ๆ ที่
ใช้กันในชีวิตประจำวัน ถามว่าแค่นี้พอไหม ไม่พอ
นะคะ อันนี้เป็นแค่ตัวอย่างที่อยากให้คุณทำ
ฐานข้อมูลจริง ๆ มันจะเป็นอย่างไร
มันจะเป็นแบบนี้เลย เห็นไหมคะ ว่า
ร้านหนังสือร้านหนึ่ง มันไม่ได้มีแค่เท่าเมื่อกี้
เมื่อกี้มันน้อยมาก
แต่ถ้าเราทำงานจริง ๆ ข้อมูลมันจะ
เยอะขนาดนี้เลยนะคะ ข้อมูลจะเยอะขนาดนี้เลย
เพราะฉะนั้นวันนี้มี
สิ่งที่ให้นักศึกษาไปทำอาจารย์
กำหนดข้อมูลให้แล้วด้วย
ให้วาดรูปเหมือนเมื่อกี้นี้ค่ะ ที่อ
าจารย์ยกตัวอย่างทีนี้จะเป็นการขายคอมพิวเตอร์
นะคะ โดยข้อกำหนด คือ
ลูกค้ามีได้หลายคน แล้วก็
สามารถซื้ออสินค้าได้หลายชิ้น
นะคะ แล้วก็ 1 ใบเสร็จรับเงิน
ก็มีสินค้าได้หลายชิ้นเหมือนกัน มีชิ้นเดียวได้ไหม
ได้ แต่มีมากกว่า 1 ชิ้นก็ได้เหมือนกัน
นะคะ ในแต่ละใบเสร็จ
จะต้องมีแคชเชียร์หรือพนักงานขายแค่คนเดียวเท่านั้น
อันนี้คือเรื่องทั่วไปเลยนะคะ เหมือนเวลาเราไป
ซื้อของในห้อง คนคิดเงินให้เราก็มีคนเดียวใช่ไหม
แล้วก็ต้องมีการแยกประเภทสินค้าด้วย
นะคะ เช่น เหมือนเวลาเราไปห้าง
มันก็จะแยกกัน.. เครื่องครัวอยู่ที่หนึ่งของกิน
อยู่ที่หนึ่ง ใช่ไหม ของกินอยู่ที่หนึ่ง
อันนี้คือการแยก คอมพิวเตอร์ก็เหมือนกันนะคะ
โดยที่อาจารย์กำหนดให้แล้ว
นะคะ
ว่ามันควรจะมีตารางอะไรบ้าง
มี 5 ตารางนะคะ 5 ตาราง
ก็จะเป็นตารางลูกค้า ตารางพนักงาน
ขาย ตารางรายละเอียดของสินค้า
ตารางประเภทสินค้า ตารางใบเสร็จ อันนี้
อาจารย์กำหนดให้แล้วนะคะ
ว่าควรจะมีข้อมูลอะไรบ้าง
ให้เราไปวาดรูปมา
ทำเอง ใช้หลักการเดียวกันกับที่อาจารย์ยกตัวอย่างไป
เมื่อกี้นี้นะคะ ลองวาดดูสิว่ารูปที่ได้จะเป็นอย่างไร
นะ อันนี้เป็นการบ้าน
สำหรับวันนี้ไม่มีอะไร วันนี้ก็ปวดหัวมาก
แล้ว ถ้าใครจะนั่งวาดรูปต่อก็ได้ แต่ต้องส่
งนะคะ ต้องส่ง วันนี้ก็
ประมาณนี้ มาครบทุกคน เดี๋ยว
ให้ไปปวดหัววาดรูปต่อนะ ปกติ
วาดรูปไม่เคยปวดหัวเท่านี้มาก่อนเลย วันนี้ลองดู
ที่แน่ ๆ มีกี่ตารางนี่ 5 ตารางไปวาดมาสิ
ว่าในแต่ตารางมันควรมีอะไรบ้าง จากที่อาจารย์กำหนดให้
ลองกำหนดเองสิว่ามันต้องมี
อะไรนะคะ แล้วทำส่งอาจารย์ ใส่กระดาษนั่นล่
ะ วาดมา ความสัมพันธ์ให้ครบด้วย อันไหนเป็นค่าที่ห้ามซ้ำกันอย่าลืม
ขีดเส้นให้อาจารย์ด้วยนะคะ วันนี้ก็
ประมาณนี้ค่ะ ขอบคุณมากค่ะ ขอบคุณล่ามด้วย ขอบคุณ
ถอดความด้วยนะคะ โอเคค่ะ
เจอกันสัปดาห์หน้าค่ะ