เฉลยโปรแกรมฐานข้อมูลบทที่1

มาเป็นคนแรกที่วิจารณ์ “โปรแกรมฐานข้อมูล (Database program)”

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

การให้คะแนนของคุณ *

บทวิจารณ์ของคุณ *

ชื่อ *

อีเมล *

บันทึกชื่อ, อีเมล และชื่อเว็บไซต์ของฉันบนเบราว์เซอร์นี้ สำหรับการแสดงความเห็นครั้งถัดไป

บทที่ 1 การออกแบบระบบฐานข้อมูล


แบบฝึกหัดก่อนเรียนบทที่ 1
1. ฐานข้อมูล หมายถึง
    ก. วิธีในการจัดการกับข้อมูลที่เรามีอยู่ให้อยู่ในระบบ
    ข. การเปลี่ยนแปลงข้อมูล
    ค. การเพิ่มหรือลดข้อมูล
    ง. ไม่มีข้อใดถูก
2. คำศัพท์ต่างๆ ที่ต้องรู้จักในระบบฐานข้อมูลมีอะไรบ้าง
    ก. Entity
    ข. Attribute
    ค. Relationships
    ง. ถูกทุกข้อ
3. ลักษณะของเอนทิตี้ ( Entity )   คืออะไร
    ก. วิธีในการจัดการกับข้อมูลที่เรามีอยู่ให้อยู่ในระบบ
    ข. เป็นคำที่อ้างอิงถึงบุคคบ สถานที่ และสิ่งของต่างๆ เช่น สินค้า ใบสั่งซื้อ และลูกค้า เป็นต้น
    ค. การทำความเข้าใจเกี่ยวกับระบบฐานข้อมูลเช้งสัมพันธ์
    ง.  ถูกทุกข้อ
4. แอตทริบิวต์ (Attribute ) คืออะไร
    ก. วิธีในการจัดการกับข้อมูลที่เรามีอยู่ให้อยู่ในระบบ
    ข. เป็นคำที่อ้างอิงถึงบุคคบ สถานที่ และสิ่งของต่างๆ เช่น สินค้า ใบสั่งซื้อ และลูกค้า เป็นต้น
    ค. เป็นข้อมูลที่แสดงลักษณะของเอนทิตี้ เช่น แอตทริบิวต์ของเอนทิตี้ลูกค้า จะมีชื่อ ที่อยู่ และรหัสไปรษณีย์
    ง. จำนวนสินค้าที่สั่ง และราคาสินค้า เป็นต้น
5. ฐานข้อมูลเชิงสัมพันธ์ มีลักษณะอย่างไร
    ก. การรวบรวมเอนทิตี้ที่อยู่ในระบบที่มีความสัมพันธ์ระหว่างกันเข้าไว้ด้วยกัน
    ข. การรวบรวมเอนทิตี้ที่อยู่ในระบบที่มีความสัมพันธ์ระหว่างกันเข้าไว้คนละที่
    ค. การรวบรวมเอนทิตี้
    ง. การรวบรวมเอนทิตี้ที่เหมือนกันอยู่ด้วยกัน
6. ลักษณะของฟิลด์และเรคอร์ทข้อใดกล่าวถูกต้องมากที่สุด
    ก. เรคอร์ทจะมีขนาดเล็กกว่าฟิลด์
    ข. เรคอร์ทและฟิลด์ไม่สามารถรวมตัวกันได้
    ค. ฟิลด์มีขนาดเล็กกว่าเรคอร์ท
    ง. อักขระต่างๆ หลายๆ ตัวรวมกันจะเป็นฟิลด์  ฟิลด์หลายๆฟิลด์มารวมกันเป็น เรคอร์ท
7. ตารางเกิดจากอะไร
    ก. ฟิลด์หลายๆ ฟิลด์
    ข. การนำเรคอร์ทหลาย ๆ เรคอร์ทมารวมกัน
    ค. การรวบรวมเอนทิตี้
    ง. ไม่มีข้อใดถูก
8. จุดประสงค์ในการออกแบบฐานข้อมูลมีกี่ข้อ 
    ก. 2
    ข. 3
    ค. 4
    ง. 5
9. ขั้นตอนในการออกแบบฐานข้อมูล ข้อใดเรียงลำดับถูกต้อง
    1. กำหนดคิย์หลัก
    2. ทำการเปลี่ยนเอนทิตี้ที่ได้ไปอยู่ในรูปตาราง
    3. กำหนดความสัมพันธ์ระหว่างเอนทิตี้ต่างๆ
    4. กำหนดเอนทิตี้ทุกตัวในระบบฐานข้อมูลนั้นๆ
    ก. 1  2  3  4
    ข. 2  3  4  1
    ค. 4  1  3  2
    ง. 3  4  2  1
10. ข้อใดไม่ใช่จุดประสงค์ของการ Normalezation
    ก. ลดความซ้ำซ้นอของข้อมูลในตาราง
    ข. ทำให้การเปลี่ยนแปลงแก้ไขโครงสร้างของตารางในภายหลังทำให้ง่าย
    ค. ทำให้การเปลี่ยนแปลงโครงสร้างฐานข้อมูลมีผลกระทบต่อแอพพลิเคชั่นที่เข้าถึงน้อยที่สุด
    ง. ทำการเปลี่ยนแปลงแอนทิตี้ที่ได้ไปอยู่ในตาราง


เฉลย แบบฝึกหัดก่อนเรียนบทที่ 1
1. ตอบ  ก
2. ตอบ  ง
3. ตอบ  ข
4. ตอบ  ค
5. ตอบ  ก
6. ตอบ  ง
7. ตอบ  ข
8. ตอบ  ง
9. ตอบ  ค
10. ตอบ  ง




        ฐานข้อมูล หมายถึง วิธีในการจัดการกับข้อมูลที่เรามีอยู่ให้อยู่ในระบบ เพื่อใช้งานได้ง่าย รวมถึงการเปลี่ยนแปลงข้อมูลได้ง่าย เช่น การเพิ่มหรือลดข้อมูล เป็นต้น


เข้าใจระบบฐานข้อมูลเช้งส้มพันธ์
คำศัพท์ต่างๆ ที่ต้องรู้จักในระบบฐานข้อมูล
      ในการทำความเข้าใจเกี่ยวกับระบบฐานข้อมูลเช้งสัมพันธ์ เราต้องเข้าใจความหมายของคำศัพท์ต่างๆ เหล่านี้ซึ่งมีรายละเอียดังต่อไปนี้
เอนทิตี้ ( Entity)
       เป็นคำที่อ้างอิงถึงบุคคล สถานที่ และสิ่งของต่างๆ เช่น สินค้า ใบสั่งซื้อ และลูกค้า เป็นต้น ถ้าเราสนใจในการสร้างระบบฐานข้อมูลการสั่งซื้อสินค้า เอนทิตี้ของระบบนี้จะประกอบด้วยเอนทิตี้ลูกค้า ใบสั่งซื้อสินค้ากับสินค้า ดังรูป


                        ลูกค้า( Customers )               ใบสั่งซื้อ ( Orders )            สินค้า ( Products )


แอตทริบิวต์ ( Attribute )
        เป็นข้อมูลที่แสดงลักษณะของเอนทิตี้ เช่น แอตทริบิวต์ของเอนทิตี้ลูกค้า จะมีชื่อ ที่อยู่ และรหัสไปรษณีย์ ส่วนแอตทริบิวต์ของเอนทิตี้ใบสั่งซื้อสินค้า จะมีรหัสใบสั่งซื้อ วันที่สั่งซื้อ ชื่อ สินค้า จำนวนสินค้าที่สั่ง และราคาสินค้า เป็นต้น ซึ่งเราสามารถแสดงเอนทิตี้ รวมทั้งแอตทริบิวต์ได้


ความสัมพันธ์ ( Relationships )
         ความสัมพันธ์ระหว่างเอนทิตี้ต่างๆ ในระบบ เช่น ในระบบการสั่งซื้อสินค้า จะประกอบด้วยเอนทิตี้ใบสั่งซื้อสินค้าและเอนทิตี้ลูกค้า ซึ่งมีความสัมพันธ์จากลูกค้าไปยังใบ สั่งซื้อสินค้าเป็นแบบหนึ่งต่อกลุ่ม ( One - to - Many ) หมายความว่า ลูกค้าสามารถสั่งสินค้าได้หลาย ๆ ครั้ง คือ มีใบสั่งสินค้าหลายใบนั่นเอง แต่ใบสั่งซื้อแต่ละใบจะมาจากลูกค้าเพียงรายเดียวเท่านั้น เป็น


ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database )
        คือ การรวบรวมเอนทิตี้ที่อยู่ในระบบที่มีความสัมพันธ์ระหว่างกันเข้าไว้ด้วยกัน


ฟิลด์ (Field)
      หน่วยข้อมูลที่ประกอบมาจากอักขระต่างๆ หลายอักขระ เช่น ชื่อ ที่อยู่ ที่ประกอบด้วยอักขระหลายๆ ตัว เป็นต้น จากความหมายนี้ ฟิลด์ คือ แอตทริบิวต์นั่นเอง เราจะใช้คำนี้ เมื่อเราอ้างอิงถึงแอตทริบิวต์ในทางคอมพิวเตอร์ ส่วนแอตทริบิวต์เราจะใช่เมื่ออ้างอิงถึงเองทิตี้


เรคอร์ท (Record)
       จะเป็นการนำฟิลด์หลายๆ ฟิลด์มารวมกัน เช่น เรคอร์ดลูกค้า ก็จะเก็บฟิลด์ข้อมูลของลูกค้าทั้งหมดที่ประกอบด้วย ชื่อ ที่อยู่หรือหมายเลขโทรศัพท์ เป็นต้น


ตาราง (Table)
       จะเป็นการนำเรคอร์ทหลายๆ เรคอร์ดมารวมกัน เช่น ตารางลูกค้า จะประกอบด้วยเรคอร์ทของลูกค้าที่เป็นลูกค้าแต่ละราย ตัวอย่างตารางลูกค้าแสดงดังรูป


                                        ฟิลด์

รหัสลูกค้า

ชื่อลูกค้า

ที่อยู่ลูกค้า

003

P&S STORE

ชั้น 1 อาคารเสริมมิตรทาวเวอร์ 159 สุขุมวิท 21 คลองเตย กทม.

005

Hope Shop

สมาคมฝรั่งเศส 29 ถ. สาธรใต้ ทุ่งมหาเมฆ ยานนาวา กรุงเทพฯ

006

The Book Shop

Asia Hotel 296 ถ.พญาไท กรุงเทพฯ

007

P’S Line

2675 หมู่ 9 ลาดพร้าว ซ.95 วังทองหลาง บางกะปิ กทม.

008

The Bookseller Co.,Ltd.

428 Rama I Road,

Siam SquareBangkok

   เรคอร์ท


      ดังนั้น ถ้าเราจะนิยามระบบฐานข้อมูลในทางคอมพิวเตอร์ ก็คือ การรวบรวมตารางที่มีความสัมพันธ์กันเข้าไว้ด้วยกันนั่นเอง


การออกแบบระบบฐานข้อมูล
        การออกแบบฐานข้อมูล เป็นขั้นตอนแรกในการสร้างแอพพลิเคชั่นฐานข้อมูล ในหัวข้อนี้ เราจะกล่าวถึงตอนในการออกแบบ ตั้งแต่การกำหนดเอนทิตี้ของระบบจนได้ตารางฐานข้อมูลที่เหมาะสม เราจะกล่าวถึงหัวข้อย่อยต่างๆ ดังต่อไปนี้


จุดประสงค์ในการออกแบบฐานข้อมูล
1. ลดความซ้ำซ้อนข้อมูลในฐานข้อมูล เนื่องจากถ้ามีการเก็บข้อมูลซ้ำซ้าอนกัน จะทำให้การแก้ไขเปลี่ยนแปลงข้อมูลในตารางทำได้ไม่สะดวก
2. ตอบสนองความจำเป็นในการเรียกใช้ข้อมูลในเวลาที่สั้นที่สุด โดยหลังจากออกแบบฐานข้อมูลเสร็จแล้วเราสามารถเรียนกข้อมูลที่ต้องการได้อย่างรวดเร็ว
3. ข้อนี้เป็นผลต่อเนื่องมาจากจุดประสงค์ข้อแรก ช่วยให้ตรวจสอบความถูกต้องรวมทั้งจัดมาตรฐานของข้อมูลได้สะดวก เนื่องจากมีข้อมูลไม่ซ้าซ้อนกัน (หรือซ้ำซ้อนกันน้อยที่สุด)
4. สามารถกำหนดลักษณะการเข้าถึงข้อมูลสำหรับผู้ใช้แต่ละประเภทได้ด้วย เช่น พนักงานทั่วไป จะสามารถดูตารางที่มีข้อมูลเท่านั้น ไม่ต้องใส่ข้อมูลต่างๆ
5. ทำให้มีความอิสระระหว่างข้อมูลกับแอพพลิเคชั่น เนื่องจากเราสามารถออกแบบแอพพลิเคชั่นให้ดึงข้อมูลที่ต้องการจากฐานข้อมูลเท่านั้น ไม่ต้องใส่ข้อมูลต่างๆ เหล่านี้ลงไปในแอพพลิเคชั่น เพราะเมื่อมีการเปลี่ยนแปลงข้อมูล เราเพียงแต่เปลี่ยนในฐานข้อมูลเท่านั้น ไม่ต้องเปลี่ยนในแอพพลิเคชั่น ซึ่งหมายถึง ต้องสร้างไฟล์ทำงานและตรวจสอบความถูกต้องของแอพพลิเคชั่นใหม่ ซึ่งยุกยากมาก


ขั้นตอนในการออกแบบฐานข้อมูล
1. กำหนดเอนทิตี้ทุกตัวในระบบฐานข้อมูบนั้นๆ ตัวอย่างเช่น ในระบบฐานข้อมูลการสั่งซื้อสินค้า ประกอบด้วยเอนทิตี้ใบรายการสั่งซื้อ ลูกค้า และสินค้า
2. กำหนดคีย์หลัก และแอตทริบิวต์ต่างๆ ของเอนทิตี้ สำหรัยในตัวอย่างที่เราจะกล่าว ในหนังสือเล่มนี้เราจะกล่าวถึงระบบฐานข้อมูลการสั่งซื้อสินค้า
3. กำหนดความสัมพันธ์ระหว่างเอนทิตี้ต่างๆ เหล่านั้น สำหรับในตัวอย่างระบบฐานข้อมูลการสั่งซื้อสินค้าเอนทิตี้ลูกค้า และใบรายการสั่งซื้อ จะมีความสัมพันธ์กันแบบ Oen - to - Many  และความสัมพันธ์ระหว่างใบรายการสั่งซื้อ และสินค้าเป็น Many - to - Many
4. ทำการเปลี่ยนเอนทิตี้ที่ได้ไปอยู่ในรูปตาราง โดยใช้กฎการ Normalezation ซึ่งจะกล่าวถึงในหัวข้อต่อไป


การ Normalezation
      เป็นทฤษฎีที่ใช้ในการทำให้เอนทิตี้ และแอตทริบิวต์ที่ได้ออกแบบไว้ ถูกจัดกลุ่มเป็นตารางที่มีความสัมพันธ์กัน จุดประสงค์ของการ Normalezation คือ
1. ลดความซ้ำซ้อนของข้อมูลในตาราง เพื่อจะไพด้ไม่ต้องแก้ไขข้อมูลในหลายๆ ที่
2. ทำให้การเปลี่ยนแปลงแก้ไขโครงสร้างของตารางในภายหลังทำให้ง่าย
3. ทำให้การเปลี่ยนแปลงโครงสร้างฐานข้อมูลมีผลกระทบต่อแอพพลิเคชั่นที่เข้าถึง ข้อมูลในฐานข้อมูลน้อยที่สุด


สรุปท้ายบทที่ 1
        โดยสรุปแล้ว ความเข้าใจความหมายและการออกแบบฐานข้อมูลเป็นความเข้าใจพื้นฐานที่ต้องมีในเบื้องต้นก่อนที่จะใช้งานโปรแรมจัดการฐานข้อมูลใดๆ นั่นคือ ความเข้าใจเรื่ององค์ประกอบของฐานข้อมูล ได้แก่เอนทิตี้ แอตทริบิวต์ และความสัมพันธ์ และความเข้าใจเรื่อง Normalezation ได้แก่ ชนิดคีย์ต่างๆ และกฎของการ Normalezation ซึ่งเป็นหัวใจสำคัญในการออกแบบฐานข้อมูล


แบบฝึกหัดท้ายบทที่ 1
1. ข้อใดต่อไปนี้ เป็นหน่วยที่เล็กที่สุด
    ก. ตาราง
    ข. ฐานข้อมูล
    ค. แอตทริบิวต์
    ง.เรคอร์ด
2. เอนทิตี้และแอตทริบิวต์ มีความสัมพันธ์กันอย่างไร
    ก. เอนทิตี้จะเป็นส่วนย่อยภายใต้แอตทริบิวต์อีกทีหนึ่ง
    ข. เอนทิตี้มีได้มากกว่า 1 เอนทิตี้ ภายใต้แอตทริบิวต์ใด
    ค. เอนทิตี้เป็นข้อมูลแสดงลักษณะของแอตทริบิวต์
    ง. แอตทริบิวต์เป็นข้อมูลแสดงลักษณะของแอตเอนทิตี้
3.ผู้เขียนหนึ่งคนสามารถเขียนหนังสือได้เพียงหนึ่งเล่มเท่านั้น และหนังสือต้องมีผู้เขียนเพียงคนเดียว แสดงว่าเอนทิตี้ผู้เขียนและเอนทิตี้หนังสือมีความสัมพันธ์แบบใด
    ก. หนึ่งต่อหนึ่ง
    ข. หนึ่งต่อกลุ่ม
    ค. กลุ่มต่อหนึ่ง
    ง. กลุ่มต่อกลุ่ม
4. ข้อใดกล่าวไม่ถูกต้อง
    ก. ในข้อมูล 1 ตาราง สามารถมี Primary Key ได้มากว่า 1 ฟิลด์
    ข. หิลด์ในอีกตารางหนึ่งที่มีความสัมพันธ์กับฟิลด์ที่เป็น Primary Key เรียกว่า Composite Key
    ค. ความสัมพันธ์แบบหนึ่งต่อกลุ่มเป็นความสัมพันธ์ที่พบมากที่สุดในระบบฐานข้อมูล
    ง. เมื่อนำฟิลด์หลายๆ ฟิลด์มารวมกัน จะได้เป็นเรคอร์ด
5. ข้อใดเป็นจุดประสงค์ในการออกแบบฐานข้อมูล
    ก. เพื่อเรียกใช้ข้อมูลในเวลาที่สั่นที่สุด
    ข. สามารถกำหนดลักษณะการเข้าถึงข้อมูลได้
    ค. ช่วยให้ตรวจสอบความถูกต้องของข้อมูลได้ง่าย
    ง. ถูกทุกข้อ
6. ในการออกแบบฐานข้อมูลนั้น ขั้นตอนใดควรทำเป็นอันดับแรก
    ก. กำหนดความสัมพันธ์ระหว่างเอนทิตี้ต่างๆ
    ข. กำหนดเอนทิตี้ทั้งหมดในฐานข้อมูล
    ค. กำหนดคีย์หลัก และแอตทริบิวต์ต่างๆ
    ง. ทำการ Normalezation
7. การกำหนดให้ไม่มีแอตทริบิวต์ที่ไม่ใช่คีย์ตัวใดขึ้นกับส่วนใดส่วนหนึ่งของคีย์ เป็นขั้นตอนการทำ Normaleze ขั้นใด
    ก. 1 st Normal Form
    ข. 2 nd Normal Form
    ค. 3 rd Normal Form
    ง. 4 th Normal Form
8. ฟิลด์ในอีกตารางหนึ่งที่มีความสัมพันธ์กับฟัลด์ที่เป็น Primary Key เราเรียกฟิลด์นั้นว่าอะไร
    ก. Foreing Key]
    ข. Composite Key
    ค. Candidate key
    ง. Primary Key
9. ขั้นตอนในการออกแบบฐานข้อมูล ข้อใดเรียงลำดับถูกต้อง
    1. กำหนดคิย์หลัก
    2. ทำการเปลี่ยนเอนทิตี้ที่ได้ไปอยู่ในรูปตาราง
    3. กำหนดความสัมพันธ์ระหว่างเอนทิตี้ต่างๆ
    4. กำหนดเอนทิตี้ทุกตัวในระบบฐานข้อมูลนั้นๆ
    ก. 1  2  3  4
    ข. 2  3  4  1
    ค. 4  1  3  2
    ง. 3  4  2  1
10. ข้อใดไม่ใช่จุดประสงค์ของการ Normalezation
    ก. ลดความซ้ำซ้นอของข้อมูลในตาราง
    ข. ทำให้การเปลี่ยนแปลงแก้ไขโครงสร้างของตารางในภายหลังทำให้ง่าย
    ค. ทำให้การเปลี่ยนแปลงโครงสร้างฐานข้อมูลมีผลกระทบต่อแอพพลิเคชั่นที่เข้าถึงน้อยที่สุด
    ง. ทำการเปลี่ยนแปลงแอนทิตี้ที่ได้ไปอยู่ในตาราง


เฉลย แบบฝึกหัดท้ายบทที่ 1


1. ตอบ  ค
2. ตอบ  ง
3. ตอบ  ก
4. ตอบ  ข
5. ตอบ  ง
6. ตอบ ข
7. ตอบ ข
8. ตอบ  ง
9. ตอบ  ค
10. ตอบ  ง