Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore หน่วยที่ 2 การออกแบบฐานข้อมูล

หน่วยที่ 2 การออกแบบฐานข้อมูล

Published by naiteera, 2023-06-13 07:46:51

Description: หน่วยที่ 2 การออกแบบฐานข้อมูล

Search

Read the Text Version

เอกสารประกอบการสอนวชิ าพ้นื ฐานการใชง้ านระบบฐานข้อมลู บนเครอื ข่าย (20128-2112) นายธรี ะ โชคพระสมบตั ิ ผูเ้ รียบเรยี ง หน่วยที่ 2 การออกแบบฐานขอ้ มูล สาระการเรยี นรู้ 1. จดุ ประสงคข์ องการออกแบบฐานข้อมูล 2. ขั้นตอนการพฒั นาระบบฐานข้อมลู 3. แบบจาํ ลองอี-อาร์ (E-R Model) 4. การแปลงแบบจําลองอี-อารเ์ ปน็ โครงสรา้ งตารางฐานข้อมลู จดุ ประสงค์เชิงพฤติกรรม 1. บอกจดุ ประสงค์ของการออกแบบฐานขอ้ มูลไดถ้ กู ต้อง 2. บอกขน้ั ตอนการพฒั นาระบบฐานข้อมลู ได้ 3. บอกการเลือกโปรแกรมจัดการฐานข้อมูลได้ 4. บอกความหมายของแบบจาํ ลองอี-อาร์ (E-R Model) ได้ถกู ต้อง 5. เขยี นสัญลักษณ์ของแบบจำลองอี-อาร์ไดถ้ กู ต้อง 6. แปลงแบบจาํ ลองอี-อาร์เปน็ โครงสร้างตารางฐานขอ้ มูลได้ถกู ต้อง บทนำ ในองค์กรทีม่ ีการใช้งานฐานข้อมูลโดยทั่วไป การจะใช้งานฐานข้อมูลได้อย่างมปี ระสิทธิภาพและตรง กับความต้องการของผู้ใช้น้ัน ย่อมจะต้องมาจากการออกแบบฐานข้อมูลที่มีการวางแผนมาเป็นอย่างดี โดย จะต้องมีการพฒั นาระบบฐานข้อมูลตามข้ันตอนที่ถูกต้อง ในการพัฒนาฐานข้อมูลเพ่ือสร้างระบบสารสนเทศ โดยทั่วไปน้ันจะมวี งจรในการพัฒนา ซึ่งเป็นขั้นตอนท่ีมกี ารทำงานเป็นลำดับตั้งแต่ต้นจนกระท่ังสามารถสร้าง ระบบสารสนเทศออกมาได้ และเป็นขั้นตอนที่ผู้พัฒนาระบบประกอบด้วย นักวิเคราะห์ระบบ (System Analyst) และผู้ออกแบบฐานขอ้ มูล (DBA) จะต้องร่วมกันศกึ ษาและทำความเข้าใจในแตล่ ะข้ันตอน 2.1 จุดประสงค์ของการออกแบบฐานข้อมูล การออกแบบฐานข้อมลู นน้ั จะเห็นไดว้ ่าเป็นการกำหนดโครงสรา้ งของฐานขอ้ มูลเพ่อื เกบ็ บนั ทกึ ข้อมูล เปน็ สว่ นกลาง โดยมจี ุดประสงคใ์ นการออกแบบฐานข้อมลู ดงั น้ี (1) เพ่ือลดความซำ้ ซ้อนของขอ้ มลู ทอี่ ยู่ในระบบงาน (2) สามารถเรยี กใชโ้ ดยผูใ้ ช้หลายคน

เอกสารประกอบการสอนวชิ าพน้ื ฐานการใชง้ านระบบฐานข้อมลู บนเครอื ขา่ ย (20128-2112) นายธรี ะ โชคพระสมบตั ิ ผเู้ รยี บเรยี ง (3) ไม่กอ่ ให้เกดิ ความขดั แย้งของขอ้ มูล อันเป็นผลเนื่องมาจากมขี ้อมลู ชดุ เดียวกันอยู่หลายท่ี เม่ือมี การปรับปรุงข้อมลู 2.2 ข้นั ตอนการพัฒนาระบบฐานข้อมูล วัฏจักรฐานขอ้ มูล (The Database Life Cycle: DBLC) เปน็ ขน้ ตอนในการพัฒนาหรือจัดทำระบบ ฐานข้อมูล ซ่ึงประกอบดว้ ย 6 ขนั้ ตอน ดงั รูปท่ี 2.1 รปู ที่ 2.1 วัฏจกั รฐานข้อมลู (The Database Life Cycle: DBLC) 2.2.1 การศกึ ษาเบ้อื งต้น การศึกษาเบื้องต้นมีวัตถุประสงค์เพื่อวิเคราะห์สถานการณ์ขององค์กร กำหนดปัญหาและข้อจํากัด กำหนดวัตถปุ ระสงคแ์ ละขอบเขตของระบบ ดงั รายละเอียดต่อไปน้ี • การวิเคราะห์สถานการณ์ขององค์กร เพื่อศึกษาสภาพแวดล้อมในการทำงานขององค์กร ความ ต้องการในการปฏิบัติงาน โดยควรรู้ว่าโครงสร้างขององค์กรเป็นอย่างไร ใครเป็นผู้ควบคุมอะไร และใครทำ รายงานให้ใคร เป็นต้น • กำหนดปัญหาและข้อจํากดั โดยการศึกษาว่า ระบบที่มีอยู่มีการทำงานอย่างไร ข้อมูลทีป่ ้อนเข้าสู่ ระบบมีอะไรบ้าง และระบบสร้างรายงานอะไร มีการใช้รายงานเหลา่ นี้อย่างไรและใครเป็นผู้ใช้ เพื่อใหท้ ราบถึง ปญั หาและข้อจํากดั ในการป้อนข้อมลู หรอื การค้นหาขอ้ มลู เพื่อการทำรายงาน • กำหนดวัตถุประสงค์และขอบเขตของระบบ ในการกำหนดวตั ถุประสงค์ของระบบฐานข้อมูลควร สอดคล้องกบั ความตอ้ งการของผู้ใช้ จากคาํ ถามเหลา่ น้ี

เอกสารประกอบการสอนวิชาพ้นื ฐานการใชง้ านระบบฐานข้อมลู บนเครอื ข่าย (20128-2112) นายธีระ โชคพระสมบัติ ผเู้ รยี บเรยี ง - วัตถปุ ระสงคแ์ รกเริม่ ของระบบท่ีนําเสนอคืออะไร - ระบบน้ีตอ้ งเช่ือมต่อกบั ระบบอน่ื ๆ ท่ีมอี ยู่ในองคก์ รหรือไม่ - ระบบนี้จะมีการใชข้ ้อมลู รว่ มกนั กับระบบหรือผู้ใชอ้ นื่ หรือไม่ เม่ือทราบวัตถุประสงค์แล้วก็ทำการกำหนดขอบเขตของระบบโดยการออกแบบตามความ ตอ้ งการในการปฏบิ ตั ิงาน เพื่อใช้ในการออกแบบฐานข้อมลู ต่อไป 2.2.2 การออกแบบฐานข้อมูล เมื่อผู้ออกแบบฐานข้อมูลมีความเขา้ ใจลักษณะขององค์กร ปัญหาและข้อจํากัด รวมท้ังวัตถุประสงค์ และขอบเขตของระบบแล้ว กท็ ำการออกแบบฐานข้อมูลดงั ตอ่ ไปนี้ การออกแบบเชิงแนวคดิ โดยการพัฒนาแบบจําลองอี-อาร์ (E-R Model) ที่ใช้อธิบายถึงความสมั พันธ์ระหว่างสิง่ ที่เราสนใจจะ จัดเก็บ ที่เรียกว่า เอนทิตี ้ (Entity) และรายละเอียดหรือแอตทริบิวต์ (attribute) ของสิ่งที่จะจัดเก็บ แล้วทำ การแปลงแบบจาํ ลองอี-อาร์ โมเดล (E-R model) เปน็ โครงสร้างตารางฐานขอ้ มลู จากน้ันก็ทำการนอร์มลั ไลเซ ชัน (normalization) เพื่อให้ได้โครงสร้างของตารางที่ดี สามารถควบคุมความซ้ำซ้อนของข้อมูล หลีกเลี่ยง ความผดิ ปกตขิ องขอ้ มูล การเลือกโปรแกรมจัดการฐานขอ้ มลู ในการตัดสนิ ใจเลอื กซ้อื โปรแกรมจัดการฐานข้อมลู ขององคก์ รใด ควรพิจารณาถึงส่งิ ตอ่ ไปน้ี 1) คา่ ใช้จ่ายต่าง ๆ เชน่ ราคาการซ่อมบํารงุ การปฏิบตั ิงาน ลขิ สิทธ์กิ ารติดตั้ง การฝึกอบรม และค่าใชจ้ า่ ยในการเปลย่ี นไปใชร้ ะบบใหม่ 2) คุณลักษณะและเครื่องมือของระบบจดั การฐานข้อมลู โปรแกรมฐานข้อมูลบางตวั จะรวม เอาเครื่องมือต่างๆ ที่ให้ความสะดวกในงานการพัฒนาโปรแกรมประยุกต์ ตัวอย่างเช่น การออกแบบหน้าจอ การสร้างรายงาน การสร้างโปรแกรมประยุกต์ และพจนานุกรมข้อมูล เป็นต้น ทำให้สะดวกในการบริหาร ฐานข้อมลู ใชง้ ่าย มคี วามสามารถในการรกั ษาความปลอดภยั และการควบคุมการใช้งานพร้อมกนั เปน็ ตน้ 3) ความสามารถในการใช้ข้าม platforms ข้ามระบบและภาษา 4) ความตอ้ งการดา้ นฮารด์ แวร์ หน่วยความจาํ และเนื้อที่ทใ่ี ช้ในการจดั เกบ็ การออกแบบทางตรรกะ จะเก่ียวขอ้ งกับการตัดสนิ ใจใช้รูปแบบเฉพาะของฐานข้อมูล (แบบลำดบั ชนั้ แบบเครือข่าย และแบบ เชิงสัมพันธ์ เป็นต้น) การกำหนดรูปแบบของฐานข้อมูล ซึ่งการออกแบบเชิงตรรกะจะเป็นการแปลงการ ออกแบบระดับเชิงแนวคิด ให้เป็นแบบจําลองของฐานข้อมูล ในระดับภายใน (internal model) ตามระบบ

เอกสารประกอบการสอนวชิ าพนื้ ฐานการใช้งานระบบฐานขอ้ มลู บนเครือขา่ ย (20128-2112) นายธรี ะ โชคพระสมบตั ิ ผ้เู รียบเรียง การจัดการฐานข้อมลู (DBMS) เช่น MS-Access, MySQL และ Oracle โดยการสรา้ งตาราง ฟอร์ม คิวรี และ รายงาน เปน็ ต้น การออกแบบทางกายภาพ การออกแบบทางกายภาพ คือ กระบวนการในการเลือกหน่วยจัดเก็บข้อมูล และลักษณะการเข้าถึง ข้อมูลของฐานข้อมลู การสร้างดรรชนี (index) การจัดทำคลัสเตอร์ (clustering) ซึ่งเป็นการจัดเก็บข้อมูลท่มี ี การใช้งานบ่อย ๆ ไว้ในหน่วยเก็บข้อมูลเดียวกัน หรือการใช้เทคนิคแฮชชิง (hashing technique) ในการจัด ตำแหน่งทอ่ี ยู่ของขอ้ มลู ภายในหนว่ ยเก็บขอ้ มูล เปน็ ตน้ 2.2.3 การติดตงั้ ระบบ ขึ้นอยู่กับระบบจัดการฐานข้อมูลทีใ่ ช้ โดยเริ่มต้นจากการสรา้ งฐานข้อมูล กำหนดผู้จัดการฐานข้อมลู กำหนดพ้ืนที่ทต่ี ้องการใช้ และการสรา้ งตารางต่าง ๆ ในระบบ 2.2.4 การทดสอบและประเมินผล เพื่อการตรวจสอบดูว่าระบบที่พัฒนามาสามารถทำงานได้ตามที่ต้องการหรือไม่ ซึ่งควรมีการเตรียม ข้อมูลทดสอบไว้ล่วงหนา้ 2.2.5 การดำเนินการ เมื่อฐานข้อมูลผ่านขน้ั ตอนการทดสอบและประเมินผลต่อไปก็เป็นขน้ั ตอนการดำเนินการ หรือการ ตดิ ตงั้ ระบบ ซ่ึงต้องเป็นระบบทส่ี มบูรณ์พร้อมให้ผู้ใช้ได้ใช้งานน่ันเอง ซ่ึงอาจรวมไปถึงการฝกึ อบรมให้แก่ผู้ใช้ท่ี เป็นพนกั งานที่ตอ้ งใช้งานจรงิ ด้วย 2.2.6 การบำรุงรกั ษาและการปรบั ปรุง หลังจากระบบได้เริ่มดำเนินการ ผู้จัดการฐานข้อมูลจะต้องเตรียมการบำรุงรักษาฐานข้อมูลโดยการ สำรองข้อมูลไว้ เพื่อสะดวกในการกู้คืนข้อมูล เมื่อระบบมีปัญหา และหากมีการใช้งานไปนาน ๆ อาจต้องทำ การ ปรับปรุงแก้ไขโปรแกรมให้เหมาะสมกับเหตุการณ์ และความต้องการของผู้ใช้ที่เปลี่ยนแปลงไป เมื่อเรา ทราบข้ันตอนการพัฒนาระบบฐานขอ้ มูลท้ังหมดแล้ว 2.3 แบบจําลองอี-อาร์ (E-R Model) แบบจาํ ลองอี-อาร์ (Entity-Relationship Model: E-R Model) เป็นแบบจําลองข้อมลู ที่ประยุกต์มา จากแนวคิดเรื่อง Semantic Model และมีการพัฒนามาเป็น E-R Model โดย Peter Pin Shan Chen จาก Massachusetts Institute of Technology ในปี ค.ศ. 1976 และได้รบั ความนิยมมาจนถงึ ปัจจบุ นั 2.3.1 ความหมายและความสำคัญของแบบจาํ ลองอี-อาร์ แบบจาํ ลองอี-อาร์ เปน็ เคร่อื งมอื ที่ใช้ในการออกแบบฐานข้อมูล ที่แสดงความสมั พันธ์ระหว่างเอนทิต้ี หรือส่ิงที่เราตอ้ งการจะจัดเก็บไว้ในฐานข้อมูล โดยนาํ เสนอในรูปแบบของแผนภาพทีเ่ รยี กว่า อี-อาร์ ไดอะแกรม

เอกสารประกอบการสอนวชิ าพ้ืนฐานการใช้งานระบบฐานขอ้ มูลบนเครอื ข่าย (20128-2112) นายธีระ โชคพระสมบตั ิ ผูเ้ รยี บเรียง (E-R Diagram) ดว้ ยการใช้สญั ลักษณ์ตา่ งๆ แบบจําลองอี-อาร์ มีความสำคัญในการเป็นสือ่ กลางเพ่ือส่ือสารกับ บุคลากรต่าง ๆ ที่เกี่ยวข้องกับระบบฐานข้อมูล ไม่ว่าจะเป็นในระดับผู้บรหิ าร นักเขียนโปรแกรม และผู้ใช้ใน ระดับปฏิบัติการ เป็นต้น ทำให้เข้าใจระบบได้อยา่ งถกู ต้องตรงกนั เนื่องจากมีการแสดงภาพรวมของระบบใน ลกั ษณะของรูปภาพ หรือแผนภาพ ทำให้เข้าใจง่าย ดงั นั้นระบบที่ออกแบบมาจึงมีความถกู ต้องและเป็นไปตาม วตั ถุประสงคข์ ององคก์ ร 2.3.2 องคป์ ระกอบของแบบจาํ ลองอี-อาร์ แบบจาํ ลองอี-อาร์ ประกอบดว้ ย เอนทติ ี แอตทริบิวต์ คีย์ และความสมั พันธ์ ดงั รายละเอยี ดตอ่ ไปนี้ • เอนทิตี (Entity) คือ สิ่งต่างๆ ที่ผูใ้ ช้งานฐานข้อมูลต้องการจะจัดเก็บ ซึ่งมีลักษณะเป็นคํานาม ทงั้ รูปธรรมและนามธรรม เช่น บคุ คล สถานที่ วัตถุสิง่ ของ และเหตุการณ์ตา่ ง ๆ เป็นต้น ตวั อยา่ งของเอนทติ ีใน “ระบบการลงทะเบียนเรียนของนักศึกษา” ประกอบด้วย รายวิชา นักศึกษา การลงทะเบียน ผลการเรียน ประจำภาคเรียน สาขาวิชา คณะ และหลักสูตร เป็นต้น เอนทิตีที่รวบรวมได้จากระบบสามารถแยกแยะและ จัดเปน็ หมวดหม่ไู ดต้ ามชนดิ ของเอนทิตี ได้ดังตอ่ ไปนี้ - หมวดบุคคล ได้แก่ เอนทิตี → นักศึกษา พนักงาน ประชาชน ผู้ป่วย และลูกค้า เป็น ต้น - หมวดสถานที่ ไดแ้ ก่ เอนทติ ี → รัฐ ประเทศ จังหวัด ภาค สาขา และวิทยาเขต เปน็ ต้น - หมวดวตั ถุ ได้แก่ เอนทิตี → อาคาร เครือ่ งจกั ร ผลผลิต หนงั สอื วตั ถุดิบ และรถยนต์ เปน็ ตน้ - หมวดเหตุการณ์ ได้แก่ เอนทิตี → การขาย การลงทะเบียน การเดินทาง การสั่งซื้อ ของ การออกใบเสร็จรบั เงนิ และการให้รางวลั เป็นตน้ ในอี-อารไ์ ดอะแกรม ใชส้ ัญลกั ษณ์รปู สเี่ หลยี่ มผนื ผ้าแทนหนึ่งเอนทิตี โดยใช้ช่ือของเอนทิตนี ั้น ๆ กำกับ อยู่ภายใน เช่น แทน เอนทติ ี นกั ศกึ ษา • แอตทริบิวต์ (Attribute) คือ คุณสมบัติต่าง ๆ ของเอนทิตีที่เราต้องการจัดเก็บในฐานข้อมูล ตวั อยา่ งเชน่ - เอนทติ ีบตั รประชาชน ประกอบด้วยแอตทริบวิ ต์ หรอื สง่ิ ท่บี ง่ บอกคุณสมบัติของประชาชน แต่ละคน ได้แก่ หมายเลขบัตรประชาชน ชื่อ นามสกุล วันเดือนปีเกิด ภูมิลำเนา วันที่ออกบัตร วันที่บัตร หมดอายุ ส่วนสูง นา้ หนัก และกรุ๊ปเลอื ด เป็นตน้ - เอนทิตีพนักงาน ประกอบด้วยแอตทริบิวต์ ได้แก่ รหัสพนักงาน ชื่อ นามสกุล ที่อยู่ เบอร์ โทรศัพท์ สถานภาพสมรส และเงนิ เดอื น เป็นตน้

เอกสารประกอบการสอนวิชาพนื้ ฐานการใช้งานระบบฐานข้อมลู บนเครือขา่ ย (20128-2112) นายธีระ โชคพระสมบัติ ผเู้ รียบเรียง - เอนทิตสี ินค้า ประกอบดว้ ยแอตทริบวิ ต์ ไดแ้ ก่ รหสั สินค้า ชื่อสินค้า ราคา และจำนวน เป็น ต้น - เอนทิตนี ักศกึ ษา ประกอบดว้ ยแอตทริบวิ ต์ ได้แก่ รหัสนักศึกษา ช่อื นามสกุล เพศ วนั เดอื น ปีเกดิ ทอี่ ยู่ และเบอรโ์ ทรศัพท์ เปน็ ต้น - เอนทิตีวิชา ประกอบด้วยแอตทริบิวต์ ไดแ้ ก่ รหสั วชิ า ช่ือวิชา และจำนวนหน่วยกิต เป็นต้น ค่าของข้อมูลในแตล่ ะแอตทริบวิ ตป์ ระกอบกนั เรยี กว่า ทูเพลิ (tuple) ซง่ึ เปน็ แถวของข้อมูลในตาราง โดยแต่ละแถวหรอื แต่ละทูเพิลจะประกอบด้วยหลายแอตทริบิวต์หรอื หลายคอลัมนข์ องขอ้ มูล จำนวนแถวของ ข้อมูลในตารางเรียกวา่ Cardinality และจำนวนแอตทริบิวตท์ ั้งหมดในตาราง เรยี กว่า Degree อยา่ งเช่น จาก รปู ที่ 2.2 มี 4 Cardinality 5 Degree รปู ท่ี 2.2 ตัวอยา่ งแอตทริบิวต์ ทเู พลิ และเอนทิตีนกั ศึกษา ในอี-อาร์ไดอะแกรม ใช้สัญลักษณร์ ูปวงรี แทนหนงึ่ แอตทริบวิ ต์ โดยใชช้ อื่ ของแอตทรบิ ิวตน์ ั้น ๆ กำกับ อยู่ภายใน เช่น แทน แอตทริบวิ ต์ของ “ช่อื ” • คีย์ (Key) คือ แอตทริบวิ ตท์ ี่สามารถใชบ้ ง่ บอกความแตกตา่ งของแต่ละทเู พิลได้ ซง่ึ อาจเป็นแอตทริ บิวต์เดย่ี ว ๆ หรอื กลุ่มของแอตทริบวิ ตก์ ็ได้ ประเภทของคยี ์ประกอบด้วย 1) ซุปเปอร์คีย์ (super key) คือ แอตทริบิวต์หรือกลุ่มของแอตทริบิวต์ ที่สามารถบ่งบอกความ แตกต่างของแตล่ ะทูเพลิ ได้ ตารางท่ี 2.1 ข้อมูลในเอนทติ นี กั ศกึ ษา จากตารางที่ 2.1 ประกอบไปด้วยซุปเปอร์คีย์ดงั ตอ่ ไปน้ี

เอกสารประกอบการสอนวิชาพน้ื ฐานการใช้งานระบบฐานข้อมลู บนเครือข่าย (20128-2112) นายธรี ะ โชคพระสมบตั ิ ผู้เรยี บเรยี ง - รหสั นกั ศึกษา - รหสั นกั ศึกษา, ชื่อ - รหสั นักศึกษา, ชื่อ, นามสกุล - รหัสนกั ศึกษา, ชือ่ , นามสกุล, เลขทบ่ี ัตรประชาชน 2) คีย์คู่แข่ง (candidate key) คือ ซุปเปอร์คีย์ที่น้อยที่สุด ที่สามารถบ่งบอกความแตกต่าง ของแต่ละทเู พิลได้ จากตารางท่ี 2.1 ประกอบไปดว้ ยคียค์ แู่ ข่ง ดงั ต่อไปน้ี – รหสั นักศึกษา – เลขทบ่ี ัตรประชาชน 3) คีย์หลัก (primary key) คือ คีย์คู่แข่งท่ีถูกเลือก เพื่อใช้บง่ บอกความแตกต่างของแตล่ ะทู เพิล จากตารางที่ 2.1 คยี ์หลัก คอื รหัสนักศึกษา หรือเลขท่ีบัตรประชาชน อยา่ งใดอยา่ งหน่งึ คีย์หลักอาจเป็น แค่หนึ่งแอตทริบิวต์หรือกลุ่มของแอตทริบิวต์ก็ได้ อย่างเช่น ในตารางที่ 2.1 มีแอตทริบิวตเ์ ดียวทีเ่ ป็นคยี ์หลัก ซึ่งอาจจะเป็น “รหัสนักศึกษา” หรือ “เลขที่บัตรประชาชน” ก็ได้ แต่ข้อมูลบางตารางอาจต้องอาศัยแอตทริ บิวต์ตั้งแต่ 2 ตัวขึ้นไปมาประกอบกันเป็นคีย์หลัก เพื่อให้เกิดความแตกต่างระหว่างทูเพิล ดังเช่นใน ตารางที่ 2.2 ตารางที่ 2.2 ขอ้ มูลในเอนทิตีการลงทะเบยี นเรยี นของนกั ศึกษา ปกี ารศึกษา 1/58 จากตารางที่ 2.2 ไม่สามารถให้แอตทรบิ ิวต์รหัสนกั ศึกษาเป็นคีย์หลักเพียงแอตทริบิวต์เดียว ได้ เพราะจะเหน็ ว่า รหัสนกั ศกึ ษา 5620248001 ของทูเพลิ หรอื แถวท่ี 1 จะไปซ้ำกบั แถวท่ี 2 แตถ่ า้ ใหแ้ อตทริ บิวต์ “รหสั นักศึกษา” และ “รหสั วชิ า” เปน็ คีย์หลัก แลว้ พจิ ารณาขอ้ มูลของ 2 แอตทรบิ ิวต์นี้ จะเห็นว่าข้อมูล ไม่ซ้ำกันแล้ว ดังนั้นตารางที่ 2.2 จึงมีคีย์หลักซึ่งประกอบด้วยแอตทริบิวต์ 2 ตัวประกอบกัน คือ “รหัส นักศึกษา” และ “รหสั วชิ า” คีย์หลักจะเป็นคา่ ว่าง (null) ไม่ได้ เพราะฉน้ันในการกรอกข้อมลู ต่าง ๆ ลงในตารางแอตทริ บวิ ตใ์ ดทีเ่ รากําหนดใหเ้ ป็นคียห์ ลกั ตอ้ งกรอกขอ้ มูลให้ครบ คือ จะไมม่ ีค่าไมไ่ ด้ แต่แอตทริบิวต์อื่นอาจจะปล่อย เว้นว่างไว้ก็ได้ถา้ ไมท่ ราบคา่ 4) คีย์นอก (foreign key) คือ แอตทริบิวต์ที่ใช้ในการเชื่อมต่อกับเอนทิตีอื่น ๆ เพ่ือแสดง ความสัมพนั ธ์ คณุ สมบัตขิ องคยี น์ อก คอื

เอกสารประกอบการสอนวชิ าพืน้ ฐานการใช้งานระบบฐานขอ้ มลู บนเครอื ขา่ ย (20128-2112) นายธีระ โชคพระสมบตั ิ ผู้เรียบเรยี ง - คยี ์นอกสามารถมคี า่ ซ้ำกันได้ - คียน์ อกสามารถเป็นค่าว่างได้ - คยี น์ อกทไี่ มเ่ ปน็ ค่าวา่ งจะเป็นคา่ ทีช่ ้ไี ปยงั คยี ์หลกั ของเอนทิตที ี่สมั พนั ธ์กัน รูปที่ 2.3 แอตทริบิวต์ท่เี ปน็ คียร์ องทีใ่ ช้ในการเช่อื มตอ่ กับเอนทิตอี ืน่ 5) คีย์รอง (secondary key) คือ แอตทริบิวต์ที่ไม่เป็นคีย์หลัก แต่สามารถใช้ในการค้นหา ข้อมูลนั้น ๆ ได้ โดยคีย์รองจะมคี ่าซ้ำกันได้ ตัวอย่างเช่น ในตารางที่ 2.3 มีรหัสนักศึกษาเป็นคีย์หลัก แต่หาก ต้องการค้นหาข้อมูลจากชื่อนักศึกษา แอตทริบิวต์ “ชื่อ” ก็จะเป็นคีย์รอง หรือถ้าต้องการค้นหาข้อมูลจาก นามสกลุ นกั ศกึ ษา แอตทริบวิ ต์ “นามสกลุ ” กจ็ ะเป็น คยี ์รอง เป็นต้น ตารางท่ี 2.3 คียร์ องที่ใช้ในการคน้ หาขอ้ มูล • ความสัมพนั ธ์ (relationship) เปน็ การอธิบายความสัมพนั ธ์ระหว่างเอนทติ ีทีม่ ีความสัมพนั ธ์กัน ว่า มีความสัมพันธ์กันอย่างไร โดยในอี-อาร์ไดอะแกรมใช้สัญลักษณ์รูป”สี่เหลี่ยมข้าวหลามตัด” ที่มีชื่อของ ความสมั พันธ์นั้นกำกับอยภู่ ายใน และเช่อื มต่อกับเอนทิตที ี่เกี่ยวขอ้ งกับความสัมพันธ์ด้วยเส้นตรง ดังตัวอย่าง ตอ่ ไปน้ี

เอกสารประกอบการสอนวชิ าพน้ื ฐานการใช้งานระบบฐานข้อมลู บนเครอื ข่าย (20128-2112) นายธรี ะ โชคพระสมบัติ ผูเ้ รยี บเรียง รูปท่ี 2.4 ตวั อยา่ งความสัมพันธ์ระหวา่ งเอนทิต ความสัมพันธ์ระหว่างเอนทิตีแบ่งเป็น 3 ประเภท คือ ความสัมพันธ์แบบหนึ่งต่อหนึ่ง ความสัมพันธ์ แบบหนง่ึ ตอ่ กลม่ ุ และความสัมพนั ธแ์ บบกลม่ ต่อกลุ่ม ดังรายละเอียดต่อไปนี้ 1) ความสัมพันธแ์ บบหนงึ่ ตอ่ หนง่ึ (one to one relationship หรอื 1:1) หมายถงึ ข้อมูลใน เอนทิตหี นงึ่ มคี วามสัมพนั ธก์ ับข้อมูลในอีกหนง่ึ เอนทิตเี พยี งขอ้ มลู เดียว ตวั อยา่ งเช่น นักศกึ ษาแต่ละคนจะมีสูติ บัตรไดเ้ พยี งใบเดียวเทา่ น้ัน และสูตบิ ัตรหน่งึ ใบกเ็ ปน็ ของนกศกึ ษาไดเ้ พยี งคนเดยี วเทา่ นั้นเช่นกัน รปู ที่ 2.5 ความสมั พนั ธ์ของข้อมูลแบบหนึง่ ต่อหนึง่ ในการพจิ ารณาความสัมพนั ธร์ ะหว่างเอนทิตีแบบหนึ่งต่อหนึง่ ต้องมองสองทิศ คือ มองจาก ซ้ายไปขวา และก็ต้องมองจากขวาไปซ้าย แล้วจึงนําความสัมพันธ์ทั้งสองทิศมาพจิ ารณารวมกนั ดังรูปที่ 2.6 รปู ท่ี 2.6 วิธีการพจิ ารณาความสัมพนั ธแ์ บบหนง่ึ ตอ่ หน่ึง 2) ความสัมพนั ธ์แบบหน่ึงต่อกลุ่ม (one to many relationship หรือ 1:M) หมายถึง ข้อมูล ในเอนทิตีหนึ่ง มีความสัมพันธ์กับข้อมูลในอีกหนึ่งเอนทิตีมากกว่าหนึ่งข้อมูล ตัวอย่างเช่น ลูกค้าหนึ่งคน มี ใบเสรจ็ ไดห้ ลายใบ เน่ืองจากลกู ค้าหนงึ่ คนอาจมาซือ้ สนิ คา้ หลายครั้ง แตใ่ บเสร็จหนงึ่ ใบตอ้ งเป็นของลูกค้าเพียง คนเดยี วเท่าน้ัน รูปที่ 2.7 ความสมั พันธข์ องข้อมลู แบบหนงึ่ ต่อกลุ่ม

เอกสารประกอบการสอนวิชาพ้ืนฐานการใช้งานระบบฐานข้อมูลบนเครอื ขา่ ย (20128-2112) นายธรี ะ โชคพระสมบตั ิ ผู้เรยี บเรียง ในการพจิ ารณาความสัมพันธ์ระหว่างเอนทติ ีแบบหนง่ึ ตอ่ กลม่ ุ ตอ้ งมองสองทิศ คือ มองจาก ซ้ายไปขวา และกต็ ้องมองจากขวาไปซ้าย แลว้ จงึ นาํ ความสมั พนั ธท์ ั้งสองทิศมาพิจารณารวมกัน ดงั รปู ท่ี 2.8 รปู ที่ 2.8 วธิ กี ารพิจารณาความสมั พันธ์แบบหนง่ึ ต่อกลุ่ม 3) ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (many to many relationship หรือ M:M) หมายถึง ข้อมูลมากกว่าหนึ่งข้อมูลในเอนทิตีหนึ่ง มีความสัมพันธ์กับข้อมูลในอีกหนึ่งเอนทิตีมากกว่าหนึ่งข้อมูล ตัวอย่างเช่น นักศึกษาหนึ่งคนสามารถลงทะเบียนเรียนได้หลายวชิ า และวิชาแต่ละวิชามีนักศึกษาลงทะเบยี น เรยี นได้หลายคน รปู ที่ 2.9 ความสมั พันธ์ของขอ้ มูลแบบกล่มตอ่ กลุ่ม ในการพจิ ารณาความสัมพันธ์ระหว่างเอนทิตีแบบกล่มต่อกลุ่ม ตอ้ งมองสองทศิ คือ มองจาก ซา้ ยไปขวา และก็ต้องมองจากขวาไปซา้ ย แลว้ จงึ นําความสมั พันธ์ทั้งสองทศิ มาพิจารณารวมกัน ดงั รปู ท่ี 2.10

เอกสารประกอบการสอนวชิ าพื้นฐานการใชง้ านระบบฐานข้อมูลบนเครอื ขา่ ย (20128-2112) นายธีระ โชคพระสมบัติ ผเู้ รียบเรียง รปู ท่ี 2.10 วธิ กี ารพิจารณาความสัมพนั ธ์แบบกล่มตอ่ กลุ่ม สัญลกั ษณ์ในแบบจําลองอี-อาร์ ตารางที่ 2.4 สัญลกั ษณท์ ่ีสำคญั ในแบบจาํ ลองอี-อาร์ ตัวอย่าง นักศึกษาและวิชา เป็นเอนทิตีที่เราสนใจจะจัดเก็บ ซึ่งเอนทิตีนักศึกษาจะประกอบด้วยแอตทริบิวต์ ได้แก่ รหัสนักศึกษา ชื่อนักศึกษา นามสกุล และเบอร์โทรศพั ท์ เป็นต้น โดยมีรหัสนักศึกษาเป็นคียห์ ลัก ส่วน เอนทิตีวิชาจะประกอบด้วยแอตทรบิ ิวต์ ได้แก่ รหัสวิชา ชื่อวิชา และจำนวนหน่วยกิต เป็นต้น โดยมีรหัสวิชา เปน็ คยี ห์ ลกั ซ่งึ ความสัมพันธ์ระหว่างเอนทิตนี ักศึกษาและเอนทิตวี ชิ า เป็นแบบกลม่ ตอ่ กลุ่ม คอื นักศึกษาหนึ่ง คนสามารถลงทะเบียนเรียนไดห้ ลายวิชา และวชิ าแต่ละวิชามีนักศึกษาลงทะเบียนเรียนได้หลายคน ดังนั้นเรา สามารถเสนอในรูปของของแผนรูป ที่เรียกว่า อี-อาร์ไดอะแกรม (E-R Diagram) ด้วยการใชส้ ัญลักษณต์ ่าง ๆ ดงั น้ี รปู ท่ี 2.11 ตวั อยา่ งของ อี-อาร์ไดอะแกรม (E-R Diagram) 2.4 การแปลงแบบจําลองอี-อาร์เปน็ โครงสร้างตารางฐานข้อมลู

เอกสารประกอบการสอนวชิ าพ้ืนฐานการใช้งานระบบฐานข้อมูลบนเครอื ขา่ ย (20128-2112) นายธรี ะ โชคพระสมบัติ ผเู้ รยี บเรยี ง ข้นั ตอนในการแปลงแบบจำลองอี-อาร์เปน็ โครงสรา้ งของตารางในฐานข้อมูล มขี ้นตอนดังต่อไปน้ี 2.4.1 แปลงเอนทติ ีปกตใิ นแบบจําลองอี-อาร์เปน็ 1 ตาราง ซ่งึ ประกอบด้วยแอตทริบิวตข์ องเอนทิตี น้ัน ๆ โดยชอื่ ของตารางก็คือช่ือของเอนทติ ี และแอตทรบิ ิวต์ของเอนทิตี ก็คือ แอตทรบิ ิวตข์ องตาราง สำหรับ แอตทริบวิ ต์ที่เป็นคยี ์หลักของตาราง ใหข้ ดี เส้นใต้ที่แอตทริบวิ ต์นั้น เชน่ เดยี วกบั ในแบบจําลอง อี-อาร์ ซึ่งจาก รูปที่ 2.11 นาํ มาแปลงเป็นตารางได้ 2 ตาราง คือ รูปท่ี 2.12 โครงสรา้ งของตารางในฐานข้อมูลจากการแปลงเอนทิตปี กติในแบบจําลองอี-อาร์ 2.4.2 แปลงความสมั พนั ธ์เปน็ ตาราง 1) แปลงความสัมพันธ์แบบ 1 : M นั้นไมต่ ้องสรา้ งตารางใหม่ แต่ให้นําแอตทริบิวต์ท่ีเป็นคีย์หลกั ของ เอนทติ ที อ่ี ยู่ดา้ นความสัมพนั ธ์ทเี่ ปน็ 1 ไปเพิ่มเป็นแอตทรบิ ิวตข์ องตารางด้านท่ีมีความสัมพนั ธ์ เปน็ M 2) แปลงความสัมพันธ์แบบ M : M จะได้ตารางใหม่ 1 ตาราง ซึ่งประกอบด้วยแอตทริบิวต์ของ ความสัมพันธน์ นั้ รวมกับแอตทรบิ ิวตท์ ่เี ป็นคยี ห์ ลกั ของ 2 เอนทิตีทม่ี คี วามสัมพนั ธ์ แบบ M : M จากแบบจาํ ลอง อี-อาร์ในรูปที่ 2.11 สามารถสร้างตารางตามขั้นตอนนี้ได้อีก 1 ตาราง คือ ตารางการลงทะเบียน ซ่ึง ประกอบด้วยแอตทริบวิ ต์ รหัสนักศึกษา (คีย์หลักของ เอนทิตี นักศึกษา) และ รหัสวิชา (คีย์หลักของเอนทิตี วิชา) ฉะนนั้ ตารางใหม่ที่เกิดข้นึ ซง่ึ กค็ ือ ตารางการลงทะเบยี นมรี หัสนักศกึ ษาและรหสั วิชาเปน็ คยี ห์ ลกั ดังน้ี รปู ท่ี 2.13 โครงสรา้ งของตารางทไ่ี ดจ้ ากการแปลงความสมั พันธแ์ บบ M:M จากการแปลงแบบจาํ ลองอี-อารต์ ามขนั้ ตอนข้างตน้ สรปุ ตารางทีไ่ ด้ทั้งหมด 3 ตาราง ดังตอ่ ไปนี้

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


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook