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 database

database

Published by panitsupa1640, 2017-07-11 22:12:05

Description: database

Search

Read the Text Version

ระบบฐานขอ้ มูล วิทยาลยั อาชวี ศกึ ษานครราชสมี า 12/JIUY/2017 PANITSUPA

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

เหน่ือยลา้ หรือเบ่ือหน่ายมาใช้ระบบฐานข้อมูลคอมพิวเตอร์กนั ดีกว่า จากตวั อยา่ งท่ียกมา คงจะเห็นขอ้ ดีขอระบบฐานขอ้ มูลคอมพวิ เตอร์แลว้ ในข้นั ต่อไปในการจะเร่ิมใชฐ้ านขอ้ มูล อนั ดบั แรกก็คงจะเป็นการเลือกโปรแกรมจดั การฐานขอ้ มูลมาใช้ ในปัจจุบนัโปรแกรมจดั การฐานขอ้ มูลมีให้เลือกมากมายหลายชนิด มีท้งั โปรแกรมที่ขายในทอ้ งตลาดทวั่ ไปเช่น Microsoft access, ORACLE ฯลฯ หรือโปรแกรมท่ีแจกใหใ้ ชผ้ า่ นทางอินเตอร์เน็ตโดยไม่ตอ้ งเสียคา่ ใชจ้ ่าย เช่น Mysql ฯลฯ อนั ท่ีจริงแลว้ น้นั ในการพฒั นาระบบที่ถูกตอ้ งน้นั จะตอ้ งเร่ิมจากการวเิ คราะห์ระบบก่อนวา่ ระบบของเราเป็ นเช่นไร จะมีขอ้ มูลอะไรบา้ งที่ใชใ้ นระบบ ตอ้ งประเมินวา่ จานวนขอ้ มูลท้งั หมดที่จะเกิดข้ึนจะมีประมาณเทา่ ใด มีการใชฐ้ านขอ้ มูลในลกั ษณะใดบา้ งเช่น ตอ้ งออกรายงาน ตอ้ งมีการแสดงผลแบบเรียลไ์ ทม(์ real time) ฐานขอ้ มูลจะมีการเขา้ ใชพ้ ร้อมกนั หลายคนหรือไม่ เป็ นตน้ซ่ึงเมื่อไดผ้ ลของการวเิ คราะห์แลว้ จึงนาไปเลือกโปรแกรมจดั การฐานขอ้ มูลท่ีเหมาะสม สามารถรองรับระบบท่ีเราตอ้ งการใชไ้ ด้ แต่สาหรับผเู้ ริ่มตน้ แลว้ แนะนาวา่ ใหเ้ ร่ิมทดลองใชใ้ หค้ ุน้ เคยกบั ระบบการจดั การฐานขอ้ มูลก่อน เพราะแทบทุกโปรแกรม ลกั ษณะการจดั การจะคอ่ นขา้ งคลา้ ยคลึงกนั จะมีขอ้แตกตา่ งกแ็ ตว่ า่ การใชง้ านยากง่ายต่างกนั เทา่ น้นั เช่นหนา้ ตาของตวั โปรแกรม การจดั วางเมนูใชง้ านฟังชน่ั สนบั สนุนการทางานต่างๆ ซ่ึงเม่ือมีความคุน้ เคยแลว้ ก็จะทาใหส้ ามารถเลือกโปรแกรมที่เหมาะสมกบั ระบบงานที่เป็ นอยไู่ ด้หลกั การเลือกโปรแกรมระบบฐานข้อมูล การเลือกโปรแกรมระบบฐานขอ้ มูลมีขอ้ ท่ีควรคานึงถึงต่อไปน้ีจานวนข้อมูลท่ีรองรับได้ องคก์ รขนาดยอ่ มอาจไมต่ อ้ งคานึงถึงมากนกั แต่ตอ้ งคิดถึงการขยายในอนาคตดว้ ยวธิ ีการนาข้อมูลไปใช้ โปรแกรมระบบฐานขอ้ มูลทุกชนิด จะมีการเตรียมวธิ ีการนาขอ้ มูลไปใชไ้ ว้อยแู่ ลว้ แต่รูปแบบของการนาไปใช้ จะแตกต่างกนั ในแต่ละประเภท ตรงน้ี เราตอ้ งคานึงถึงวา่ การนาไปใชข้ องเราเป็ นลกั ษณะใด เช่น เราตอ้ งการรายงานออกมาในรูปตารางสรุป หรือ อาจตอ้ งการในรูปของกราฟแสดงผล นอกจากน้นั ยงั ตอ้ งคานึงถึงวา่ การถ่ายขอ้ มูลไปยงั โปรแกรมอื่นๆที่เก่ียวขอ้ งกระทาไดห้ รือไม่ มีรูปแบบการนาขอ้ มูลออกตรงกบั ท่ีตอ้ งการหรือไม่ เช่น ตอ้ งการนาขอ้ มูลไปเขา้ โปรแกรมวเิ คราะห์ทางสถิติ เป็นตน้ความเป็ นมาตรฐาน ความแพร่หลาย ถา้ เราใชโ้ ปรแกรมท่ีมีจานวนผใู้ ชม้ าก กจ็ ะทาใหก้ ารแลกเปล่ียนขอ้ มูลสะดวกข้ึน นอกจากน้นั ยงั สามารถ ขอความช่วยเหลือและพฒั นาระบบต่อได้โดยง่ายระบบความปลอดภยั ตอ้ งคานึงถึงท้งั การเก็บสารองขอ้ มูลในกรณีเกิดปัญหาทางฮาร์ดแวร์ และ

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

โครงสร้างระบบฐานข้อมูล ระบบฐานขอ้ มูลในปัจจุบนั จะนิยมใชฐ้ านขอ้ มูลแบบสมั พนั ธ์ (Relational Database)โครงสร้างพ้ืนฐานของฐานขอ้ มูลประเภทน้ีจะมีดงั ต่อไปน้ีตาราง(Table) จะเป็นท่ีเก็บขอ้ มูลของฐานขอ้ มูล จะมีลกั ษณะเป็นตาราง 2 มิติ โดยจะถือวา่ ขอ้ มูลในแนวนอน(แถว)เป็ นขอ้ มูลหน่ึงชุด เรียกวา่ เรคคอร์ด (Record) ซ่ึงขอ้ มูลในแต่ละชุดจะประกอบดว้ ยขอ้ มูลต่างๆ ตามแนวต้งั (คอลมั น)์ ซ่ึง เรียกวา่ ฟิ ลด์ (Filed) ฟิ ลดท์ ี่1 ฟิ ลดท์ ี่2 ฟิ ลดท์ ี่3ช่ือฟิ ลด์ รหัสสินค้า ชื่อสินค้า ราคาเรคคอร์ด 0001 พดั ลม 900เทรี่1คคอร์ด 0002 โคมไฟ 500ทเร่ี2คคอร์ด 0003 ตูเ้ ยน็ 7000ที่3 รูปที่ 1โครงสร้างของตาราง จากรูปที่ 1 เป็นตวั อยา่ งตารางเก็บขอ้ มูลสินคา้ โดยสินคา้ แตล่ ะชนิดจะถือวา่ เป็ นหน่ึงเรคคอร์ด ในแตล่ ะเรคคอร์ดจะมีขอ้ มูลชนิดตา่ งๆ (ฟิ ลดต์ ่างๆ) บรรจุอยู่ ซ่ึงในหน่ึงฐานขอ้ มูลกจ็ ะประกอบดว้ ยตารางต้งั แตห่ น่ึงตารางข้ึนไปอนิ เด็กซ์ (Index) อินเดก็ ซ์ จะเป็นฟิ ลดท์ ี่ใชช้ ่วยในการคน้ หาขอ้ มูล การทางานของฟิ ลดท์ ี่เป็นอินเด็กซ์กค็ ือจะมีการจดั เรียงลาดบั โดยอตั โนมตั ิโดยอาศยั ฟิ ลดอ์ ินเดก็ ซ์เป็นตวั อา้ งอิง การท่ีมีอินเด็กซ์ก็หมายความวา่ ขอ้ มูลไดม้ ีการจดั เรียงไวแ้ ลว้ ยกตวั อยา่ งเช่นสมุดโทรศพั ท์ ถา้ เราตอ้ งการตอ้ งการหาชื่อคนท่ีข้ึนตน้ ดว้ ยตวั อ.อา่ ง เราก็สามารถไปเปิ ดคน้ ไดจ้ ากบริเวณทา้ ยเล่มไดเ้ ลย โดยไมต่ อ้ งดูไปทีละหนา้ วา่ มีช่ือที่ข้ึนตน้ ดว้ ย อ.อ่างอยหู่ รือไม่ไพรมาร่ีย์คีย์ (Primary Key)

ไพรมารี่ยค์ ียจ์ ะเป็นฟิ ลดท์ ่ีสามารถเป็นตวั แทนเรคคอร์ดท้งั หมด ค่าไพรมาร่ียค์ ียจ์ ะตอ้ งไม่ซ้ากนั เมื่อระบุค่าไพรมาร่ียค์ ียแ์ ลว้ จะตอ้ งสามารถอา้ งอิงถึงฟิ ลดอ์ ่ืนๆไดเ้ ลย ยกตวั อยา่ งเช่น จากรูปที่1 เมื่อเราระบุสินคา้ รหสั 0001 กจ็ ะหมายถึง พดั ลมที่ราคา900 บาทไดเ้ ลยการเกบ็ ข้อมูลแบบสร้างความสัมพนั ธ์ฐานขอ้ มูลแบบสัมพนั ธ์จะมีจุดเด่นที่ พยายามแยกขอ้ มูลออกมาเป็นชุดๆ (เป็นตารางอิสระ)แลว้ จึงกาหนดความสมั พนั ธ์ระหวา่ งตาราง(ขอ้ มูล)ข้ึน เพอื่ เกบ็ ขอ้ มูลของสิ่งท่ีเกิดข้ึน การจดั เก็บลกั ษณะน้ีจะช่วยลดความซ้าซอ้ นของขอ้ มูล และจะช่วยใหก้ ารแกไ้ ขเป็นไปอยา่ งสะดวกและลดความผดิ พลาดจากรูปท่ี2จะเห็นไดว้ า่ ไดแ้ ยกขอ้ มูลลูกคา้ และขอ้ มูลสินคา้ เป็นอยา่ งละหน่ึงตาราง แลว้ จึงเกบ็ ขอ้ มูลการส่ังซ้ือโดยสร้างเป็นตารางความสัมพนั ธ์ระหวา่ งลูกคา้ กบั สินคา้ ข้ึน ซ่ึงขอ้ มูลที่นามาอา้ งอิงในตารางความสัมพนั ธ์น้นั ก็คือไพรมาร่ียค์ ียน์ นั่ เองลูกค้า สินค้า การสั่งซื้อรหัสลูกค้า ชื่อ เบอร์ตดิ ต่อ รหัสสินค้า ช่ือสินค้า ราคา ลาดบั ท่ี รหัสลูกค้า รหัสสินค้า จานวน001 กรุง 1234567 0001 พดั ลม 900 1 001 0001 2002 สมบตั ิ 9876543 0002 โคมไฟ 500 2 002 0001 1 0003 ตูเ้ ยน็ 7000 3 001 0003 1 รูปท่ี 2 การเกบ็ ขอ้ มูลโดยใชค้ วามสมั พนั ธ์ การสั่งซื้อ ลาดบั ท่ี รหัสลูกค้า ชื่อ เบอร์ตดิ ต่อ รหัสสินค้า ช่ือสินค้า ราคา จานวน 1 001 กรุง 1234567 0001 พดั ลม 900 2 2 002 สมบตั ิ 9876543 0001 พดั ลม 900 1 3 001 กรุง 1234567 0003 ตูเ้ ยน็ 7000 1 รูปท่ี 3 การเก็บขอ้ มูลโดยไม่ใชค้ วามสมั พนั ธ์ เมื่อเปรียบเทียบ ระหวา่ รูปที่2 กบั รูปที่3 จะเห็นไดว้ า่ ในรูปท่ี3น้นั ขอ้ มูลมีความซ้าซอ้ นกนั ยกตวั อยา่ งเช่นการสง่ั พดั ลมกจ็ ะตอ้ งเก็บชื่อสินคา้ และราคาซ้ากนั สองท่ี ซ่ึงท่ีจริงแลว้ สามารถจาแนกไดจ้ ากรหสั สินคา้ ไดโ้ ดยตรง นอกจากน้นั แลว้ ถา้ จะมีการแกช้ ื่อจากพดั ลม เป็นพดั ลมต้งั โตะ๊ก็จาเป็นจะตอ้ งแกใ้ นทุกรายการท่ีเป็นพดั ลมในตารางการส่งั ซ้ือในรูปท่ี3 ซ่ึงถา้ เป็นการเก็บขอ้ มูลแบบใชค้ วามสมั พนั ธ์ (รูปท่ี2) ก็เพยี งแกเ้ ฉพาะชื่อสินคา้ ในตารางสินคา้ เพียงแห่งเดียวเท่าน้นัคาไข โครงสร้างระบบฐานขอ้ มูล ตารางจัดทาโดย อ. ภูมิ เหลืองจามีกร

การออกแบบฐานข้อมูลและ ER-ไดอะแกรม เม่ือเร่ิมใชฐ้ านขอ้ มูล การออกแบบโครงสร้างของฐานขอ้ มูล จะเป็นส่ิงที่สาคญั มาก การออกแบบ จะใชแ้ ผนภูมิความสมั พนั ธ์ระหวา่ งขอ้ มูลท่ีเรียกวา่ ER-ไดอะแกรม (Entity RelationshipDiagram) ดงั ตวั อยา่ งในรูปที่1เขา้ มาช่วยในการออกแบบ แผนภูมิน้ีจะช่วยเรียบเรียงความคิด และช่วยทาใหม้ องความสัมพนั ธ์ระหวา่ งขอ้ มูลตา่ งๆไดช้ ดั เจนยงิ่ ข้ึน รูปท่ี 1 ตวั อยา่ งER-ไดอะแกรมลกั ษณะของ ER-ไดอะแกรม ER-ไดอะแกรมประกอบดว้ ยสามส่วนใหญๆ่ คือเอนทติ ี (Entity) เป็นตวั แทนของสิ่งท่ีสนใจ หรือจะพูดอีกอยา่ งวา่ ตวั แทนของชุดขอ้ มูลหน่ึง ยกตวั อยา่ งเช่น เอนทิตีสินคา้ เอนทิตีลูกคา้ เอนทิตีใบส่งั ซ้ือ เป็ นตน้ แทนดว้ ยส่ีเหลี่ยมพรอพเพอร์ต(ี้ Property) เป็นคุณสมบตั ิของเอนทิตี ซ่ึงกค็ ือ ขอ้ มูลจริงของสิ่งท่ีเราสนใจ เช่น เอนทิตีสินคา้ ก็จะมีพรอพเพอร์ต้ี เช่น รหสั สินคา้ ราคาต่อหน่วย เป็นตน้ แทนดว้ ยวงกลมความสัมพนั ธ์ (Relationship) เป็นการเช่ือมโยงระหวา่ งเอนทิตีกบั เอนทิตี เช่น ความสมั พนั ธ์ระหวา่ งสินคา้ กบั ใบสั่งซ้ือ

เป็นตน้ แทนดว้ ยสามเหล่ียม ความสัมพนั ธ์มีดว้ ยกนั สามชนิดคือ ความสมั พนั ธ์ชนิดหน่ึงต่อหน่ึง(1-1) ความสมั พนั ธ์ชนิดหน่ึงต่อกลุ่ม (1-M) ความสมั พนั ธ์ชนิดกลุ่มต่อกลุ่ม (M-N) จากรูปท่ี1จะอ่านไดว้ า่ มีขอ้ มูลหลกั อยู่ 3 อยา่ ง (3 เอนทิตี ,3 ตาราง) ไดแ้ ก่ ขอ้ มูลสินคา้(Product) ขอ้ มูลการสั่งซ้ือ(Order) ขอ้ มูลลูกคา้ (Customer) ซ่ึงแตล่ ะตารางจะมีรายละเอียดยอ่ ยๆอาทิเช่น ตารางขอ้ มูลสินคา้ ก็จะมีขอ้ มูลของรหสั สินคา้ (ProductID) ชื่อสินคา้ (ProductName) ราคาต่อหน่วย(UnitPrice) ปริมาณคงคลงั (UnitInStock)อยเู่ ป็นตน้ ส่วนจากความสัมพนั ธ์กจ็ ะอ่านไดว้ า่ “ในการสง่ั ซ้ือแตล่ ะคร้ังจะประกอบดว้ ยสินคา้ ก่ีประเภทก็ได้ หรือสินคา้ แต่ละประเภทจะถูกส่งั จากหลายการส่งั ซ้ือก็ได”้ (ความสมั พนั ธ์ชนิดกลุ่มตอ่ กลุ่ม) กบั “แต่ละการสง่ั ซ้ือจะตอ้ งมีผสู้ งั่ สินคา้ เพียงคนเดียว แต่ทวา่ ลูกคา้ แต่ละคนสามารถมีการส่ังซ้ือหลายคร้ังกไ็ ด”้ (ความ สมั พนั ธ์ชนิดหน่ึงต่อกลุ่ม)เราจะเขียน ER-ไดอะแกรมได้อย่างไร การไดม้ าซ่ึงER-ไดอะแกรมในรูปที่1 น้นั จะมีข้นั ตอนดงั ต่อไปน้ี1. ศึกษารายละเอียดและลกั ษณะหน้าทงี่ านของระบบ ศึกษาและรวบรวมรายละเอียดเก่ียวกบั ลกั ษณะหนา้ ที่งานของระบบ ขอ้ มูลท่ีเก่ียวขอ้ งข้นั ตอนในการทางาน ตลอดจนขอ้ กาหนดต่างๆ ซ่ึงอาจทาไดด้ ว้ ยการสมั ภาษณ์หรือศึกษาจากแบบฟอร์มต่าง ๆ ที่มีการใชง้ านอยใู่ นระบบงานน้นั2. กาหนดเอนทติ ีทค่ี วรมใี นระบบฐานข้อมูล นารายละเอียดในขอ้ 1 มาทาการกาหนดเอนทิตีท่ีจาเป็นตอ้ งมีอยใู่ นระบบฐานขอ้ มูล พร้อมท้งั กาหนดพรอพเพอร์ต้ีของแตล่ ะเอนทิตีดว้ ย3. กาหนดความสัมพนั ธ์ระหว่างเอนทติ ี กาหนดประเภทของความสมั พนั ธ์ระหวา่ งเอนทิตี โดยพิจารณาจากขอ้ มูลที่ไดท้ าการศึกษามา4.ปรับปรุงเอนทติ ี พรอพเพอร์ตี้ และความสัมพนั ธ์ ให้เหมาะสม ทาการวเิ คราะห์ER-ไดอะแกรมที่ไดม้ าวา่ สื่อถึงระบบขอ้ มูลท่ีตอ้ งการจริงหรือไม่ แลว้ ทาการปรับแตง่ ใหเ้ หมาะสม โดยอาจมีการเพม่ิ หรือลดเอนทิตีหรือพรอพเพอร์ต้ี ปรับปรุงหรือเปล่ียนแปลงลกั ษณะความสัมพนั ธ์เป็นตน้คาไข ระบบฐานขอ้ มูล การออกแบบ ER-ไดอะแกรม เคลด็ ลบั -วธิ ีการ บริหารเทคโนโลยี่/สารสนเทศจัดทาโดย อ. ภูมิ เหลืองจามีกร

การจัดระเบยี บฐานข้อมูล (Normalization)ทาไมถึงต้องจัดระเบียบฐานข้อมูล ระบบฐานขอ้ มูลแบบใชค้ วามสมั พนั ธ์กนั น้นั ขอ้ มูลจะถูกจดั แยกเขา้ สู่ตารางยอ่ ยๆหลายๆตาราง การจดั ระเบียบฐานขอ้ มูลอยา่ งถูกวธิ ีจะช่วยใหก้ ารใชง้ านฐานขอ้ มูลมีประสิทธิภาพยง่ิ ข้ึนเช่น ในแง่ของการเกบ็ ขอ้ มูล จะช่วยลดความซ้าซอ้ นในการท่ีจะตอ้ งจดั เก็บขอ้ มูลอยา่ งเดียวกนั ในแง่ของการแกไ้ ขจะช่วยใหส้ ามารถแกไ้ ขขอ้ มูลไดอ้ ยา่ งถูกตอ้ งและเป็ นระบบมากข้ึนข้ันตอนการจัดระเบียบฐานข้อมูล การจดั ระเบียบฐานขอ้ มูลหรือท่ีเรียกวา่ การทา ”นอร์มอลไลเซชน่ั ” น้นั จะเป็ นการปรับตารางใหเ้ ขา้ สู่รูปแบบมาตรฐานที่เรียกวา่ นอร์มอลไลเซชนั่ ฟอร์ม (Normalization Form ยอ่ ดว้ ยNF) ซ่ึงจะมีลาดบั ข้นั ตา่ งๆ ต้งั แต่ 1NF, 2NF จนกระทง่ั ถึง 5NF แตท่ วา่ ในการใชโ้ ดยปกติ จะทาจนถึงระดบั 3NF ก็เพียงพอ ในท่ีน้ีก็จะขอกล่าวถึงระดบั 3NF เทา่ น้นั นอร์มอลไลเซซน่ั ฟอร์มในลาดบั ท่ีสูงกวา่ จะตอ้ งมีคุณสมบตั ิของลาดบั ท่ีต่ากวา่ อยใู่ นตวั ดว้ ย ดงั น้นั ถา้ ทาจนถึงข้นั 3NF ก็หมายความวา่ จะมีคุณสมบตั ิของ1NFกบั 2NF อยดู่ ว้ ยการทาให้ตารางเข้าสู่ 1NF ในระดบั 1NF จะมีกฎอยวู่ า่ หา้ มไม่ใหม้ ีช่องขอ้ มูลท่ีเกบ็ ค่ามากกวา่ หน่ึงค่าอยู่ จากตวั อยา่ งในรูปที่1 กจ็ ะไดว้ า่ ใหแ้ ตกขอ้ มูลในตารางทางซา้ ยออกเป็ นเรคคอร์ดยอ่ ยๆตามตารางทางดา้ นขวา Order FirstName LastName Order พลู วลิต Order พลู วลิต สินธุเสก มือถือ พลู วลิตFirstName LastName Order ศุภกนั ยา สินธุเสก คอมพวิ เตอร์ ศุภกนั ยาพลู วลิต สินธุเสก มือถือ,คอมพิวเตอร์,เครื่องพมิ พ์ สินธุเสก เครื่องพิมพ์ศุภกนั ยา ชิณประทีป มือถือ ,จอภาพ ชิณประทีป มือถือ ชิณประทีป จอภาพ รูปที่ 1 การทา ให้ตารางเขา้ สู่ 1NFการทา ให้ตารางเข้าสู่ 2NF ตารางท่ีมีคุณสมบตั ิในข้นั 2NF จะมีลกั ษณะกล่าวคือ เป็นตารางท่ีมีไพรมารี่ยค์ ีย์ (ขอ้ มูลท่ีเป็นตวั แทนขอ้ มูลท้งั หมด) ซ่ึงเม่ือเลือกค่าไพรมาร่ียค์ ียแ์ ลว้ จะตอ้ งสามารถบอกขอ้ มูลท่ีเหลือท้งั หมดได้ ถา้ ตารางใดมีไพรมารี่ยค์ ียเ์ พยี งตวั เดียวกถ็ ือวา่ อยใู่ นระดบั 2NFอยแู่ ลว้ แต่ถา้ มีไพรมาร่ีย์คีย์ มากกวา่ หน่ึง กใ็ หพ้ จิ ารณาวา่ ไพรมาร่ียค์ ียแ์ ตล่ ะตวั สามารถช้ีบ่งไปยงั ฟิ ลดอ์ ่ืนๆไดห้ รือไม่ ถา้

ได้ ใหแ้ ยกไพรมาร่ียค์ ียพ์ ร้อมท้งั ฟิ ลดเ์ หล่าน้นั ออกมา ในรูปที่ 2 จะเห็นไดว้ า่ จากตารางรายละเอียดการขายมีหมายเลขใบกากบั สินคา้ (InvNo)กบั รหสั สินคา้ (ProId) เป็นไพรมารี่ยค์ ีย์ ถา้ ระบุหมายเลขใบกากบั สินคา้ กบั รหสั สินคา้ แลว้ ละกจ็ ะสามารถบง่ บอกถึงขอ้ มูลท่ีเหลือท้งั หมดได้ แตเ่ มื่อพจิ ารณาต่อไปวา่ ไพรมาร่ียค์ ียแ์ ต่ละตวั บง่ ช้ีอะไรไดบ้ า้ ง กจ็ ะพบวา่ หมายเลขใบกากบั สินคา้ สามารถบ่งช้ีถึงวนั ท่ี และ ลูกคา้ ได้ เราจึงดึงขอ้ มูลท้งั หมดออกมาเป็ นตารางใหม่ ส่วนรหสั สินคา้ ก็สามารถช้ีบ่งขอ้ มูลท้งั หมดของสินคา้ ได้ ก็จึงดึงออกมาไดอ้ ีกตารางเช่นกนั ตารางการขายInvNo InvDate ProdId ProdName BrandName Model Quantity CustId Title FirstName LastName Telephone10001 10/12/2002 2001 มือถือ โนเกีย 8210 3 1001 นาย พลู วลิต สินธุเสก 123-456710001 10/12/2002 2002 คอมพิวเตอร์ เดล PowerEdge2500 5 1001 นาย พลู วลิต สินธุเสก 123-456710001 10/12/2002 2003 เครื่องพมิ พ์ เคียวเซอร่า 1800 8 1001 นาย พลู วลิต สินธุเสก 123-456710002 10/12/2002 2001 มือถือ โนเกีย 8210 1 1002 นส. ศุภกนั ยา ชิณประทีป 234-567810002 10/12/2002 2004 จอภาพ โซนี่ E200 6 1002 นส. ศุภกนั ยา ชิณประทีป 234-567810003 15/12/2002 2003 เครื่องพมิ พ์ เคียวเซอร่า 1800 9 1001 นาย พลู วลิต สินธุเสก 123-456710004 17/12/2002 2001 มือถือ โนเกีย 8210 7 1003 นาย อนรรฆพล เวียงพล 345-6789 ตารางสินค้าProdId ProdName BrandName Model Price ตารางการขาย2001 มือถือ โนเกีย 8210 13000 InvNo ProdId Quantity2002 คอมพิวเตอร์ เดล PowerEdge2500 140000 10001 2001 32003 เคร่ืองพมิ พ์ เคียวเซอร่า 1800 28000 10001 2002 52004 จอภาพ โซน่ี E200 11000 10001 2003 8 10002 2001 1 ตารางใ บกากับสิ นค้ า 10002 2004 6InvNo InvDate CustId Title FirstName LastName Telephone10001 10/12/2002 1001 นาย พลู วลิต สินธุเสก 123-4567 10003 2003 910001 10/12/2002 1001 นาย พลู วลิต สินธุเสก 123-456710001 10/12/2002 1001 นาย พลู วลิต สินธุเสก 123-4567 10004 2001 710002 10/12/2002 1002 นส. ศุภกนั ยา ชิณประทีป 234-567810002 10/12/2002 1002 นส. ศุภกนั ยา ชิณประทีป 234-567810003 15/12/2002 1001 นาย พลู วลิต สินธุเสก 123-456710004 17/12/2002 1003 นาย อนรรฆพล เวียงพล 345-6789 รูปท่ี 2 การทาใหต้ ารางเขา้ สู่ 2NFการทา ให้ตารางเข้าสู่ 3NF ตารางท่ีมีคุณสมบตั ิในข้นั 3NF จะมีลกั ษณะกล่าวคือ ตอ้ งไมม่ ีฟิ ลดอ์ ื่น นอกจากไพรมารี่ย์

คียท์ ่ีสามารถช้ีบง่ ไปยงั ฟิ ลดอ์ ื่นได้ ถา้ มี ใหด้ ึงออกมาเป็ นตารางใหม่ จากรูปที่2แลว้ ในตารางใบกากบั สินคา้ จะเห็นไดว้ า่ รหสั ลูกคา้ (CustId) สามารถช้ีบง่ ไปยงัฟิ ลดอ์ ่ืนๆได้ ดงั น้นั การจะทาใหอ้ ยใู่ นข้นั 3NF กต็ อ้ งแยกขอ้ มูลลูกคา้ ท้งั หมดออกมาเป็ นตารางใหม่ซ่ึงก็จะไดเ้ ป็นตารางในรูปท่ี3 ตารางใ บกากับสิ นค้า ตารางลูกค้าInvNo InvDate CustId CustId Title FirstName LastName Telephone10001 10/12/2002 1001 1001 นาย พลู วลิต สินธุเสก 123-456710002 10/12/2002 1002 1002 นส. ศุภกนั ยา ชิณประทีป 234-567810003 15/12/2002 1001 1003 นาย อนรรฆพล เวียงพล 345-678910004 17/12/2002 1003 รูปท่ี 3 การทาใหต้ ารางเขา้ สู่ 3NF จะเห็นไดว้ า่ ขอ้ มูลลดความ “ซ้าซอ้ น”ลงไดม้ าก จากตวั อยา่ งในรูปที่ 2 บน ที่มีขอ้ มูลท้งั หมด84 ช่อง จะเหลือเพียง64ช่องเท่าน้นั (นบั จากตารางสินคา้ และตารางการขาย ในรูปที่ 2 และตารางใบกากบั สินคา้ และตารางลูกคา้ ในรูปที่ 3) แต่ในขณะเดียวกนั ก็จะมีจานวนตารางเพม่ิ ข้ึนดว้ ยจาก1ตารางเป็น4ตาราง โครงสร้างก็มีความ”ซบั ซอ้ น” มากข้ึน ทาใหก้ ารใชง้ านอาจจะสบั สนได้นอกจากน้นั การท่ีมีตารางยอ่ ยๆหลายตารางอาจทาใหก้ ารเขา้ ถึงขอ้ มูลชา้ ลงดว้ ย ดงั น้นั การจะทาถึงข้นั ใด หรือ ทาใหส้ มบูรณ์เพียงไรน้นั กข็ ้ึนอยกู่ บั ลกั ษณะขอ้ มูลที่จะใช้คาไข ระบบฐานขอ้ มูล การจดั ระเบียบฐานขอ้ มูล (Normalization)นอร์มอลไลเซชน่ั ฟอร์ม(Normalization Form ) เคล็ดลบั -วธิ ีการ บริหารเทคโนโลยี่/สารสนเทศจัดทาโดย อ. ภูมิ เหลืองจามีกร


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