สาระการเร ี ยนร ้ ู 1. วงจรพฒันาระบบฐานข ้ อมูล 2. การออกแบบฐานข ้ อมูล 3. ความสัมพันธ์ระหว่างค่าแอททริบิวต์ในแต่ละรีเลชัน 4. โมเดลจ าลองความสัมพนัธ ์ ระหว ่ างข ้ อมูล 5. สัญลักษณ์ที่ใช้ในโมเดลแบบ E-R 6. การออกแบบฐานข ้ อมูลโดยใช ้โมเดลแบบ E-R 7. การสร ้ างฐานข ้ อมูลเช ิ งสัมพนัธ ์ จากโมเดลแบบ E-R
วงจรพฒ ั นาระบบฐานข ้ อม ู ล ระบบฐานขอ ้ มูลค ื อส่วนประกอบพ ้ ื นฐานของระบบสารสนเทศโดยเฉพาะ ระบบสารสนเทศขนาดใหญ่และโดยเน ้ ื อหาแลว ้ วงจรการพฒันาระบบฐานขอ ้ มูลม ี ความสัมพันธ์และสืบทอดมาจากวงจรการพัฒนาระบบ (System Development Life Cycle : SDLC) ซึ่ง SDLC ประกอบดว ้ ยระยะต่างๆ ดงัน ้ ี 1.การศ ึ กษาเบ ้ ื องตน ้ (Database Initial Study) 2. การออกแบบฐานข้อมูล (Database Design) 3. การน าไปใช้ (Implementation) 4. การทดสอบและประเมินผล (Testing and Evaluation) 5. การปฏิบัติงาน (Operation) 6. การบ ารุงรักษา (Maintenance Phase) ซ่ึ งในวงจรน ้ ี ข ้ นัตอนการออกแบบถ ื อไดว ้ า่ม ี ความสา คญัมากท ี่สุด
การออกแบบในระดับแนวคิด (Conceptual Level) เป็ นการศึกษาวิเคราะห์ และรวบรวมความต้องการของผู้ใช้เพื่อท าการออกแบบฐานข้อมูล ว่าควรจะ ประกอบด้วยรีเลชันอะไรบ้าง เคา ้ ร่างของแต่ละรีเลชนั ควรจะประกอบด้วยแอ ททริ บิวต์อะไรบ้าง แต่ละรีเลชันใช ้ แอททริบิวต ์ใดเป็ นคีย์โดยเน ้ นว่าการ ออกแบบเคา ้ ร่างของรีเลชันที่ดีจะต ้ องสามารถลดปัญหาต่างๆ ที่อาจเกิดกับ ฐานข้อมูล เช่น ปัญหาขอ ้ มูลซ้ าซ ้ อน ความขัดแย้งของข้อมูล การรักษาความ ปลอดภัยของข้อมูลเป็ นต้น จ ึ งจะพอกล่าวรายละเอียดของการออกแบบในระดบั แนวคิดไดด ้ งัน้ี การออกแบบฐานข ้ อมูล ในการพฒันาระบบงานบนคอมพิวเตอร ์ น ้ นัสิ่งสา คญัท ี่สุดค ื อการออกแบบระบบ ท ี่ด ี ระบบท ี่ออกแบบมาด ี แลว ้ เม ื่อนา ไปพฒันาก ็ จะสามารถสนองวตัถุประสงค ์ ของผู้ ใช ้ไดอ ้ ย่างครบถว ้ นเช่นกนั ในการประมวลผลดว ้ ยระบบฐานขอ ้ มูลจ ึ งจะตอ ้ งม ี การ ออกแบบฐานขอ ้ มูล ซ่ึ งความหมายของการออกแบบฐานขอ ้ มูลในท ี่น ้ ี จะหมายรวมท ้ งั การออก แบบฐานข้อมูลในระดับแนวคิด (Conceptual Level) และการออกแบบ ฐานข้อมูลในระดับภายใน หรือในเชิงกายภาพ (Internal Level หรือ Physical Level)
ข้นัตอนการออกแบบฐานข ้ อมูล เริ่มจากการศ ึ กษา วิเคราะห ์ ระบบงานเดิมและปัญหาท ี่เกิดในระบบน ้ันๆ รวมท ้ งัรวบรวมความตอ ้ งกรของผูใ้ ช ้ และกฎกณฑ ์ ขอ ้ บงัคบัต่างๆ สูตรต่างๆ น ามา ประมวลเพื่อด าเนินการออกแบบฐานข้อมูลในระดับแนวคิด ซึ่งการออกแบบในระดับ แนวคิดสามารถกระทา เป็ นข ้ นัตอนตามลา ดบั ไดแ ้ ก่ 1. สร้างเอนทิตีจากความต้องการ 2. ปรับร ี เลชนัต่างๆ ใหอ ้ ยใู่นรูปแบบบรรทดัฐาน (Normalization) 3. ระบุค ี ยท ์ ี่ตอ ้ งใชใ้ นแต่ละร ี เลชนั 4. ระบุกฎเกณฑ ์ ขอ ้ จา กดัท ี่ตอ ้ งคา น ึ งถ ึ ง 5. น าผลที่ได้จาก 4ข ้ นัตอนแรกมารวบรวมเขา ้ ดว ้ ยกนั จ ึ งขอกล่าวรายละเอ ี ยดของข ้ นัตอนขา ้ งตน ้ เพิ่มเติมดงัน ้ ี
ความสัมพันธ์ระหว่างค่าแอททริบิวต์ในแต่ละรีเลชัน ความสมัพนัธ ์ ระหวา่งค่าของแอททริบิวต์ในแต่ละรีเลชนัมีอยหู่ลายลกัษณะไดแ ้ ก่ 1. ความสัมพันธ์ระหว่างค่ของแอททริบิวต์แบบฟังก์ชัน (Functional Dependency) เป็ นความ สัมพนัธ ์ ระหว่างค่าของแอททริบิวต์ในลักษณะที่ แอททริบิวต์ต้งัแต่หน่ึ ง แอททริบิวต์ที่มาประกอบกนัสามารถไประบุค่ของแอทท ริบิวต์อื่นๆ ในทูเพิลน้ันๆ ได ้ แอททริบิวต์ที่เป็ นตวัไประบุค่าของแอททริบิวต์ อ ื่นๆ เราเรียกวา่ Determinant 2. ความสั มพันธ์ระหว่ างค่ของแอททริบิวต์แบบบางส่ วน (Partial Dependency) เป็ นความสมัพนัธ ์ ระหว่างค่าของแอททริบิวต์แบบบางส่วน จะเกิด เมื่อคีย์มีลักษณะเป็ นคีย์ผสมแล้วแอททริบิวต์ที่เป็ นบางส่วนของคียห ์ ลกัสามารถ ไประบุค่าของแอททริบิวต์อ ื่นๆ ที่ไม่ใช่คียห ์ ลกั(Non-Key Attribute) ในรีเลซัน น้นั ได ้
ความสัมพันธ์ระหว่างค่าแอททริบิวต์ในแต่ละรีเลชัน 3. ความสัมพันธ์ระหว่างค่ของแอททริบิวต์แบบ ทรานซิทีฟ (Transitive Dependency) เป็ นความสมัพนัธ ์ ระหว่างค่าของแอททริบิวต์ในลักษณะ ที่เกิดจากการออกแบบฐานขอ ้ มูลยงัไม่เหมาะสม เช่น ใน บางรีเลซันแม้จะมีแอททริบิวต์ที่เป็ นคีย์หลัก ซึ่ งสามารถ ระบุค่าของแอททริบิวต์อื่นๆ ในทูเฟิ ลน้นัแลว ้ ก ็ ตาม แต่ก ็ ยงัพบว่ามีบางแอททริบิวต์ที่ไม่ใช่คียห ์ ลกัแต่จะสามารถ ไประบุค่าของแอททริบิวต์อื่นๆ ในทูเพิลน้ันได ้ ด ้ วย ความสัมพนัธ ์ ระหว่างค่าของแอททริบิวต์ในลกัษณะน้ีเรา จะเรียกวา่เป็ นแบบทรานชิทีฟ 4. ความสัมพันธ์ระหว่างค่าของแอททริบิวต์ แบบหลายค่า (Multivalued Dependency) เป็ นความสัมพันธ์ระหว่างค่าของแอททริบิวต์ที่ เกิดในกรณีที่รีเลชันน้ันประกอบด ้ วยแอททริบิ วต์อย่างน ้ อย 3 แอททริบิวต์โดยแอททริบิวต์ หน่ึ งจะสามารถไประบุค่าของแอททริบิวต์อื่นๆ ได ้ หลายค่า เราจะเรียกรี เลชันน้ันว่ามีความ สมัพนัธ ์ ระหวา่งค่าของแอททริบิวต์แบบหลายค่า
แนวคิดเกี่ยวกับโมเดลแบบ E-R การสร้างโมเดลแบบ E- R จะมีแนวคิดที่เกี่ยวขอ ้ ง ไดแ ้ ก่เร ื่องของเอนทิตีคุณลกัษณะและความสมัพนัธ ์ ระหว่าง เอนทิตีรวมท้งัสญัลกัษณ ์ในโมเดลแบบ E-R 1. เอนทิตี ในการสร้างโมเดลแบบ E-R จะตอ ้ งกา หนดวา่ ในระบบที่ออกแบบน้นัๆ จะประกอบดว ้ ยเอนทิตีอะไรบา ้ ง เช่น ในระบบฐานขอ ้ มูลงานทะเบียนนกัศ ึ กษาจะประกอบดว ้ ยเอนทิตีนกัศ ึ กษา เอนทิตีการลงทะเบียน เอนทิตีวิชาและ เอนทิตีอาจารย์ เป็ นต้น 2. คุณลกัษณะของเอนทิต ี เป็ นการกา หนดแอททริบิวตต ์ ่างๆ ในแต่ละเอนทิตีนนั่เอง นอกจากน้ียงัอาจประกอบดว ้ ย รายละเอียด เช่น แอททริบิวตใดเป็ นคีย ์ หร ื อเป็ นขอ ้ มูลที่แปลค่ามา เป็ นตน ้ 3. ความสัมพันธ์ระหว่างเอนทิตี เป็ นการระบุว่าเอนทิตีต่างๆ มีความสมัพนัธ ์ กนัอยา่งไรลกัษณะความสมัพนัธ ์ อาจ เป็ นแบบหน่ึ งต่อหน่ึ ง หน่ึ งต่อกลุ่ม หร ื อแบบกลุ่มต่อกลุ่ม โดยคา น ึ งถ ึ งการที่ขอ ้ มูลทุกขอ ้ มูลหร ื อเพียงบางขอ ้ มูลของ เอนทิตีหน่ึ ง มีความสมัพนัธ ์ กบัขอ ้ มูลของอีกเอนทิตีหน่ึ ง
สัญลักษณ์ที่ใช้ในโมเดลแบบ E-R เอนทิตี เอนทิตีชนิดอ่อนแอ ความสัมพันธ์ ระหว่างเอนทิตี แอททริ บิวต์ แอททริบิวต์ชนิดอ่อนแอ แอททริบิวต์ที่เป็นคีย์ หลัก แอททริบิวต์ที่แปลค่ามา แสดงความสัมพนัธ ์ ระหวา่งเอนทิตี E2 ที่มีต่อ เอนทิตี E1แบบ Total Participation แสดงความสัมพนัธ ์ ระหวา่งสองเอนทิตี ความสัมพันธ์ระหว่างเอนทิตี กับเอนิตีชนิดอ่อนแอ รูปท ี่3.1แสดงสัญลักษณ์ที่ใช้ในโมเดลแบบ E-R
ขั้นตอนที่ 1) ก าหนดเอนทิตี เป็ นการกา หนดเอนทิต ี ท ี่ควรจะม ี อยใู่นฐานขอ ้ มูลหน่ึ งๆ โดยพิจารณาดว ้ ยวา่ เอนทิตีใดเป็ นประเภท เอนทิต ี อ่อนแอ ตวัอยา่งเช่น ในฐานขอ ้ มูลของมหาวิทยาลยัแห่งหน่ึ งประกอบดว ้ ยเอนทิต ี ดงัน ้ ี 1. เอนทิตีอาจารย์ เป็ นเอนทิต ี แสดงรายละเอ ี ยดของอาจารยแ ์ ต่ละคน 2. เอนทิตีคณะวิชา เป็ นเอนทิตีแสดงรายละเอียดของคณะวิชา 3. เอนทิตีรายวิชา เป็ นเอนทิต ี แสดงรายละเอ ี ยดวิชาท ี่เปิดสอนในคณะวิชาน ้ นัๆ ขั้นตอนที่ 2ก าหนดความสัมพันธ์ เป็ นการกา หนดประเภทของความสัมพนัธ ์ ระหวา่งเอนทิต ี วา่ม ี ความสัมพนัธ ์ กนัอยา่งไร ตวัอยา่งเช่น จากเอนทิต ี ท ี่กา หนดในข ้ นัตอนท ี่จะสร ้ างความสัมพนัธ ์ ระหวา่งเอนทิตีไดด ้ งัน ้ ี แสดงความสัมพันธ์แบบ 1 : N ระหวา่งเอนทิต ี คณะวิชากบัอาจารย ์โดยขอ ้ มูลของเอนทิตีอาจารย์ ม ี ความสัมพนัธ ์ กบัคณะวิชาเป็ นแบบ Total Participation คณะวิชา อาจารย์ การท างานใน สงักดั 1 N รูปท ี่3.2แสดงความสัมพันธ์แบบ 1 : N ระหว่างเอนทิตีคณะวิชากับอาจารย์
ขั้นตอนที่ 3 ก าหนดคุณลกัษณะของเอนทิตี กา หนดวา่แต่ละเอนทิม ี รายละเอ ี ยดอยา่งไร ประกอบดว ้ ยแอททริบิวต์อะไรบ้างแอททริบิวต์ใด ที่เป็ นคีย์หลัก หรือเป็ นแอททริบิวต์ท ี่แปลค่ามา หร ื อเป็ นแอททริบิวต์ผสม เช่น แอททริบิวต์ท ี่อยจู่ะ ประกอบด้วย บ้านเลขที่ ถนน อ าเภอ จังหวัด เป็ นต้น ขั้นตอนที่ 4 ก าหนดคีย์ ตวัอยา่งเช่น พิจารณาจากตวัอยา่งในข ้ นัตอนท ี่3 จะได้วา่เป็ นการกา หนดค ี ยข ์ องแต่ละเอนทิดี วา่จะใชร ้ ายละเอ ี ยดของขอ ้ มูลใดเป็ นค ี ยห ์ ลกัของเอนทิต ี น ้ นัๆ 1. เอนทิตีอาจารย์ มีรหัสอาจารย์เป็ นคีย์หลัก 2. เอนทิตีคณะวิชา มีรหัสคณะเป็ นคีย์หลัก 3. เอนทิตีรายวิชา มีรหัสวิชาเป็ นคีย์หลัก ขั้นตอนที่ 5 น าข ้ อมูลจากข้นัตอนท ี่1 ถึงขั้นตอนที่ 4 มาวาดโมเดลแบบ E-R เป็ นการนา รายละเอ ี ยดต ้ งัแต่ข ้ นัตอนท ี่1 ถ ึ งข ้ นัตอนท ี่4 มาพิจารณาทบทวนแล้วจึงเขียน โมเดลแบบ E-R โดยใชส้ ญัลกัษณ ์ ต่างๆ ท ี่ไดก ้ ล่าวมาขา ้ งตน ้
1 N N M M รูปท ี่3.3แสดงการน าข ้ อมูลข้นัตอนท ี่1 ถึงขั้นตอนที่ 4 มาวาดโมเดลแบบ E-R การออกแบบฐานข ้ อม ู ลโดยใช ้โมเดลแบบ E-R
การสร ้ างฐานข ้ อม ู ลเช ิ งส ั มพน ั ธ ์ จากโมเดลแบบ E-R ในการสร ้ างฐานข ้ อมูลเชิงสัมพนัธ ์ จากโมเดลแบบ E-R นั้น จะประกอบด้วยขั้นตอนต่างๆ ดังต่อไปนี้ 1. การสร้างรีเลซันต่างๆ จากเอนทิต้ีในโมเดลแบบ E- และสร้างความสัมพันธ์ของรีเลชันจากความสัมพันธ์ ของเอนทิตีในกรณีที่ความสมัพนัธ ์ ระหว่างเอนทิตีในโมเดลแบบ E-R เป็ นแบบกลุ่มต่อกลุ่มมกัจะสร ้ างรีเลชนัข้ึ น ใหม่เพ ื่อแปลงความสมัพนัธ ์ใหเ ้ป็ นแบบหน่ึ งต่อกลุ่ม 2. กา หนดคียต ์ ่างๆ ไดแ ้ ก่การกา หนดคียห ์ ลกัของแต่ละรีเลชนัรวมท้งัคียน ์ อกและขอ ้ กา หนดต่างๆ ที่จะใช้ อ้างอิงถึงคีย์หลักในอีกรีเลชันหน่ึ ง ในการกา หนดรายละเอียดของคียห ์ ลกัและคียน ์ อกทา โดยใชภ ้ าษาสา หรับนิยาม ข้อมูลในการสร้างรีเลชัน 3. กา หนดแอททริบิวตในแต่ละรีเลชัน จากรายละเอียดคุณลักษณะของเอนทิตี 4. น าผลจากข้อ 2 และข้อ 3 มาพิจารณาทบทวนเคา ้ ร่างของขอ ้ มูลในแต่ละรีเลชัน เพื่อให้รีเลชันอยู่ ในรูปแบบบรรทัดฐานระดับที่ 3 เป็ นอยา่งนอ ้ ย จากที่กล่าวมาในหน่วยน้ีจ ึ งเห ็ นไดว ้ า่ โมเดลแบบ E-R จะเป็ นการสร้างโมเดลจ าลองความสัมพันธ์ ของข้อมูล โดยน าแนวคิดของการออกแบบฐานข้อมูลมาประกอบการพิจารณาเพื่อให้ได้ฐานข้อมูลที่ เหมาะสมนนั่เอง
แบบทดสอบ ข้อที่ 1 (System Development Life Cycle : SDLC) ประกอบด้วยกี่ระยะ ก. 3 ระยะ ข. 4 ระยะ ค. 5 ระยะ ง. 6 ระยะ ข้อที่ 2 ความสัมพันธ์ระหว่างค่าของแอททริบิวต์ ในแต่ละรีเลชันมีกี่ลักษณะ ก. 2 ลักษณะ ข. 3 ลักษณะ ค. 4 ลักษณะ ง. ผิดทุกข้อ ข้อที่ 3 คือ สัญลักษณ์อะไร ก. เอนทิตี ข. แอททริบิวต์ ค. ความสัมพันธ์ระหว่างเอนทิตี ง. แอททริบิวต์ที่เป็นคีย์หลัก ข้อที่ 4 คือ ลัญลักษณ์อะไร ก. เอนทิตี ข. แอททริบิวต์ ค. ความสัมพันธ์ระหว่างเอนทิตี ง. แอททริบิวต์ที่เป็นคีย์หลัก ข้อที่ 5 คือ สัญลักษณ์อะไร ก. เอนทิตี ข. แอททริบิวต์ ค. ความสัมพันธ์ระหว่างเอนทิตี ง. แอททริบิวต์ที่เป็นคีย์หลัก
แบบทดสอบ ข้อที่ 6 สิ่งใดงานที่ต้องท าก่อนการออกแบบ ฐานข้อมูล ก. ศึกษาระบบงานเดิม ข. วิเคราะห์ระบบงานเดิม ค. รวบรวมความต้องการของระบบใหม่ ง. ถูกทุกข้อ ข้อที่ 7 ข้อใดเป็นส่วนของขั้นตอนการออกแบบ ฐานข้อมูล ก. สร้างเอนทิตีจากความต้องการ ข. ปรับรีเลชันให้อยู่ในรูปแบบบรรทัดฐาน ค. ระบุคีย์ที่ต้องใช้ ง. ถูกทุกข้อ ข้อที่ 8 แอททริบิวต์ที่เป็นตัวไประบุค่าของแอททริ บิวต์อื่นๆ เรียกว่าอะไร ก. Key-attribute ข. Determinant ค. Foreign Key ง. Candidate Key ข้อที่ 9 ข้อใดคือจุดประสงค์ของการออกแบบฐานข้อมูล ก. เพื่อสร้างฐานข้อมูลที่ประสิทธิภาพ ข. เพื่อให้ได้ฐานข้อมูลที่ใช้งานได้ตามที่ผู้ใช้ต้องการ ค. เพื่อลดปัญหาต่างๆ ที่อาจเกิดขึ้นกับฐานข้อมูล ง. ถูกทุกข้อ ข้อที่ 10 E-R Model เป็นโมเดลที่ใช้ส าหรับงานใด ก. การวิเคราะห์ระบบงานเดิม ข. การออกแบบระบบฐานข้อมูล ค. การสร้างระบบฐานข้อมูล ง. การสร้างสัมพันธ์ระหว่างเอนทิตี
เฉลยแบบทดสอบ ข้อที่ 1 (System Development Life Cycle : SDLC) ประกอบด้วยกี่ระยะ ก. 3 ระยะ ข. 4 ระยะ ค. 5 ระยะ ง. 6 ระยะ ข้อที่ 2 ความสัมพันธ์ระหว่างค่าของแอททริบิวต์ ในแต่ละรีเลชันมีกี่ลักษณะ ก. 2 ลักษณะ ข. 3 ลักษณะ ค. 4 ลักษณะ ง. ผิดทุกข้อ ข้อที่ 3 คือ สัญลักษณ์อะไร ก. เอนทิตี ข. แอททริบิวต์ ค. ความสัมพันธ์ระหว่างเอนทิตี ง. แอททริบิวต์ที่เป็นคีย์หลัก ข้อที่ 4 คือ ลัญลักษณ์อะไร ก. เอนทิตี ข. แอททริบิวต์ ค. ความสัมพันธ์ระหว่างเอนทิตี ง. แอททริบิวต์ที่เป็นคีย์หลัก ข้อที่ 5 คือ สัญลักษณ์อะไร ก. เอนทิตี ข. แอททริบิวต์ ค. ความสัมพันธ์ระหว่างเอนทิตี ง. แอททริบิวต์ที่เป็นคีย์หลัก
เฉลยแบบทดสอบ ข้อที่ 6 สิ่งใดงานที่ต้องท าก่อนการออกแบบ ฐานข้อมูล ก. ศึกษาระบบงานเดิม ข. วิเคราะห์ระบบงานเดิม ค. รวบรวมความต้องการของระบบใหม่ ง. ถูกทุกข้อ ข้อที่ 7 ข้อใดเป็นส่วนของขั้นตอนการออกแบบ ฐานข้อมูล ก. สร้างเอนทิตีจากความต้องการ ข. ปรับรีเลชันให้อยู่ในรูปแบบบรรทัดฐาน ค. ระบุคีย์ที่ต้องใช้ ง. ถูกทุกข้อ ข้อที่ 8 แอททริบิวต์ที่เป็นตัวไประบุค่าของแอททริ บิวต์อื่นๆ เรียกว่าอะไร ก. Key-attribute ข. Determinant ค. Foreign Key ง. Candidate Key ข้อที่ 9 ข้อใดคือจุดประสงค์ของการออกแบบฐานข้อมูล ก. เพื่อสร้างฐานข้อมูลที่ประสิทธิภาพ ข. เพื่อให้ได้ฐานข้อมูลที่ใช้งานได้ตามที่ผู้ใช้ต้องการ ค. เพื่อลดปัญหาต่างๆ ที่อาจเกิดขึ้นกับฐานข้อมูล ง. ถูกทุกข้อ ข้อที่ 10 E-R Model เป็นโมเดลที่ใช้ส าหรับงานใด ก. การวิเคราะห์ระบบงานเดิม ข. การออกแบบระบบฐานข้อมูล ค. การสร้างระบบฐานข้อมูล ง. การสร้างสัมพันธ์ระหว่างเอนทิตี