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 compute

compute

Published by nankrathok455, 2017-08-01 02:34:34

Description: compute

Search

Read the Text Version

ระบบฐานข้อมลู

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

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

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

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