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 บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล (Database System Concepts)

บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล (Database System Concepts)

Published by Jirawan Malasai, 2017-03-21 00:49:24

Description: บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล (Database System Concepts)

Keywords: database

Search

Read the Text Version

1 แผนการสอนประจาํ บทเรยี นรายชื่ออาจารยผูจัดทํา ผศ.ศริ นิ ชุ เทียนรุงโรจนรายละเอยี ดของเนอ้ื หาตอนท่ี 1.1 แนวคิดเกี่ยวกับการจัดเก็บขอมูล เรอ่ื งท่ี 1.1.1 ความรูพืน้ ฐานเรอ่ื งเขตขอมลู ระเบยี น และแฟมขอมูล เรอ่ื งท่ี 1.1.2 ชนิดและคุณสมบัติของหนวยเก็บขอมูลสํารองและหนวยความจําหลักตอนท่ี 1.2 แนวคิดเกี่ยวกับระบบฐานขอมูล เรอ่ื งท่ี 1.2.1 ความจําเปนที่ทําใหเกิดการใชงานโดยระบบฐานขอมูล เรอ่ื งท่ี 1.2.2 ฐานขอ มลู และระบบจัดการฐานขอมูล เรอ่ื งท่ี 1.2.3 ประโยชนของระบบจัดการฐานขอมูลตอนท่ี 1.3 สถาปตยกรรมของระบบฐานขอมูล เรอ่ื งท่ี 1.3.1 ระดบั ของขอ มลู เรอ่ื งท่ี 1.3.2 ความเปน อสิ ระของขอ มลู เรอ่ื งท่ี 1.3.3 ภาษาที่ใชในระบบฐานขอมูลตอนท่ี 1.4 แนวคิดฐานขอมูลแบบตางๆ เรอ่ื งท่ี 1.4.1 ฐานขอ มลู แบบลาํ ดบั ชน้ั เรอ่ื งท่ี 1.4.2 ฐานขอ มลู แบบเครอื ขาย เรอ่ื งท่ี 1.4.3 ฐานขอมูลแบบแบบสัมพันธแนวคดิ 1. มนุษยนําขอมูลเก็บบันทึกไวเพื่อใชประโยชนตอไป ชนิดของขอมูลมีหลายแบบ เชน ขอมูลที่ เปน ขอ ความ ขอมูลรูปภาพ ขอ มลู เชงิ จํานวน ขอมูลที่มีคุณภาพดีคือขอมูลที่มีความถูกตองและ สอดคลองใหตรงกับปจจุบัน เนื้อหาและรูปแบบถูกตองตรงกับการใชงาน และตองมีการบริหาร การจัดการขอมูลอยางมปี ระสทิ ธภิ าพ 2. โครงสรางการจัดเก็บขอมูลดวยแฟมขอมูลประกอบดวย เรคอรด ฟล ด ไบต และบิต ตามลาํ ดบั การจัดเก็บขอมูลดวยแฟมขอมูลยังมีขอจํากัดอยูมาก จึงไดมีแนวความคิดในการจัดเก็บขอมูล ดว ยฐานขอ มลู มาใชแ ทน

2 3. การจดั เกบ็ ขอ มลู ดว ยฐานขอ มลู นน้ั จะตอ งมอี งคป ระกอบของระบบการจดั การฐานขอ มลู คอื สว นตา งๆทป่ี ระกอบกนั เปน ฐานขอ มลู ภาษาที่ใชกําหนดโครงสรางฐานขอมูล การแปลงระดบั ของขอมูล ภาษาที่ใชคนคืนขอมูล 4. ฐานขอมูลที่ใชเก็บขอมูลนั้นมีหลายรูปแบบ ข้ึนอยูกับวา ขอ มูลที่จัดเกบ็ อยูในฐานขอ มลู น้นั ถกู จัดเก็บอยูในรูปแบบใดวัตถุประสงค หลังจากศึกษาบทเรียนที่ 1 แลว นกั ศกึ ษาสามารถ 1. บอกถึงรูปแบบและลักษณะที่สําคัญของขอมูล 2. จําแนกชนิดของขอมูลได 3. อธิบายโครงสรางการจัดเก็บของแฟมขอมูลได 4. อธบิ ายลกั ษณะสาํ คญั ของแฟม ขอ มลู และฐานขอ มูลได 5. บอกลักษณะโครงสรางและสถาปตยกรรมของฐานขอมูลไดกจิ กรรมการเรยี นการสอน กจิ กรรมทน่ี กั ศกึ ษาตอ งทาํ สาํ หรบั การเรยี นการสอน ไดแ ก 1. ศกึ ษาเอกสารการสอน 2. ปฏิบัติกิจกรรมตามที่ไดรับมอบหมายในเอกสารการสอนแตละตอน 3. สอ่ื การสอน 4. เอกสารการสอนของชุดวชิ า 5. แบบฝกปฏิบัติ 6. บทความ/ขอ มลู ทางคอมพวิ เตอร 7. การใหคําปรึกษาทางโทรศัพท 8. CD-ROM 9. Homepage ของชดุ วิชาผา นทางอินเตอรเนต็เอกสารประกอบการสอน 1. Fundamentals of Database Systems, by Ramez Elmasri, Shamkant B. Navathe, The Second Edition, 1994 2. Database System Concepts, by Abraham Siberschaty, Henry F.Korth, S.Sudarshan, The Third Edition, 1991ประเมินผล 1. ประเมินผลจากแบบฝกหัด/ทดสอบ ในแตละบท 2. ประเมนิ ผลจากการสอนประจาํ ภาคการศกึ ษา

3 ตอนท่ี 1.1 แนวคิดเกี่ยวกับการจัดเก็บขอมูลหวั เรอ่ื ง เรอ่ื งท่ี 1.1.1 ความรพู ืน้ ฐานเร่อื งเขตขอมลู ระเบยี น และแฟมขอมูล เรอ่ื งท่ี 1.1.2 ชนิดและคุณสมบัติของหนวยเก็บขอมูลสํารองและหนวยความจําหลักแนวคดิ 1. บิต บิตแตล ะบิตนนั้ เม่ือประกอบรวมกันเรยี กวา ไบท หรอื อกั ขระ เมอ่ื นาํ อกั ขระหลายๆตวั รวมกันโดยมีความหมายอยางใดอยางหนึ่งจะเรียกวา เขตขอ มูลหรอื ฟล ด ฟล ดห ลายๆฟล ดท ม่ี ี ความหมายแตกตางกันแตมีความสัมพันธกันรวมกันเราจะเรียกวา เรคครอ ด 2. หนวยความจําโดยทั่วไปจะถูกแบงออกเปนสองพวกใหญ ๆ คอื หนวยความจําแบบหนวยเก็บ ลบเลอื นได (volatile storage) และหนว ยความจาํ ประเภทหนว ยเกบ็ ลบเลอื นไมไ ด (nonvolatile storage) หนวยความจําหลักที่ที่ใชในปจจุบันมี 2 ประเภท คอื หนวยความจําหลักประเภทแรม (Random Access Memory, RAM) และหนวยความจําหลักประเภทรอม (Read Only Memory, ROM) หนวยความจําสํารองเปนหนวยความจําที่สามารถรักษาขอมูลไดตลอดไป หลังจากไดทํา การปด เครอ่ื งคอมพวิ เตอรแ ลว หนวยความจําสํารองมีประโยชนตอระบบฐานขอมูลเปนอยาง มาก ถาปราศจากหนวยความจําสํารองแลวเราจะไมสามารถเก็บรักษาขอมูลเอาไวใชดใน อนาคตวัตถุประสงค หลังจากที่ศึกษาตอนที่ 1.1 แลว นกั ศกึ ษาสามารถ 1. ทราบถึงลักษณะเขตขอมูล ระเบยี นหรอื เรดคอรด และแฟมขอมูล 2. ทราบถึงลักษณะและประเภทของหนวยความจําหลักและหนวยความจําสํารองเรื่องที่ 1.1.1ความรูพื้นฐานเรื่องเขตขอมูล ระเบยี น และแฟม ขอ มลู การประมวลผลดว ยเครอ่ื งคอมพวิ เตอร ขอ มลู นบั เปน สว นทส่ี าํ คญั ยง่ิ ของการประมวลผลเพราะถาปราศจากขอมูล การประมวลผลกไ็ มอ าจทาํ ได ขอมูลที่ใชในการประมวลผลดวยเครื่องคอมพิวเตอรจะเปนขอมูลที่จัดเก็บเปนแฟมขอมูล (File) โดยแบงอกเปนเรื่องตามชื่อแฟมขอมูลนั้น เชน แฟมขอมลู เรอ่ื งลกู คา แฟมขอ มลู เรอ่ื งสนิ คา แฟมขอมูลเรื่องการขาย แฟมขอมูลเรื่องเช็คธนาคาร เปน ตน ในการแบง เชนน้ี แตละแฟมขอ มลู กจ็ ะประกอบดว ยขอ มลู ในเรอ่ื งเดยี วกนั เชน เมื่อหยิบแฟมขอมูลลูกคา จะมีรายละเอียดของลูกคาทุกคนโดยทั่วไปกิจการจะมีการจัดขอมูลใหงายตอการใช (File organization) โดยจัดเปนโครงสรางของแฟมขอมูลที่ถกู จดั เกบ็ บนอปุ กรณเ กบ็ ขอ มลู ของเครอ่ื งคอมพวิ เตอร เชน การจัดเก็บขอมูลแบบเรียงลําดับตัวอักษรชื่อเปน ตน เมอ่ื มคี วามตอ งการรายละเอยี ดของลกู คา คนใด ก็จะนําแฟมขอมูลลกู คาออกมาเปด และดงึ เอารายละเอยี ดของลกู คา นน้ั ออกมา ซง่ึ รายละเอยี ดของลกู คา แตล ะคนอาจประกอบดว ยขอ มลู เกย่ี วกบั ชื่อ ที่อยูเบอรโ ทรศพั ท เปน ตน รายละเอียดของลูกคาแตละคนนี้ เรยี กวา ระเบยี นหรอื เรคอรด แฟมขอมูลหนึ่ง ๆ จะประกอบดว ยระเบยี นหลาย ๆ ระเบยี น

4 1.เขตขอมูล การประมวลผลขอ มลู เพอ่ื ใหไ ดส ารสนเทศ จะมีองคประกอบที่สําคัญอยางหนึ่งคือ แฟมขอมูล ความหมายของแฟมขอมูลหนึ่ง ๆ นน้ั มักจะเปน เอกสารทเ่ี ปนเรือ่ งเดยี วกันและจดั เกบ็ รวบรวมไวเปนแฟมขอ มลูเพอ่ื สะดวกในการคน หาขอ มลู เชน แฟมขอมูลประวัติพนักงาน การเกบ็ รวบรวมขอ มลู ในรปู ของเอกสารเพอ่ืประโยชนในการใชงาน ถาขอมูลที่เก็บรวบรวมไวมีจํานวนนอยความยุงยากในการคนหาหรือในการจัดเก็บก็จะไมเกิดขึ้น แตถาขอมูลที่เก็บรวบรวมไวมีจํานวนมากจะมีปญหาเกิดขึ้นในเรื่องของการคนหาขอมูลนั้นและสน้ิ เปลอื งพน้ื ทใ่ี นการจดั เกบ็ ขอ มลู นน้ั ๆ วิธีการแกปญหาการจัดเก็บแฟมขอมูลที่อยูในรูปของเอกสารเมื่อขอมลู มจี าํ นวนมากขน้ึ ก็คอื การนาํ ขอ มูลเหลานนั้ เก็บไวใ นระบบคอมพวิ เตอร ขอมูลทั้งหมดจะถูกเก็บรวบรวมไวเปนแฟมขอมูล เชน เดยี วกบั การจดั เกบ็ เปน เอกสารแตจ ะเปน แฟม ขอ มลู ทถ่ี กู จดั เกบ็ ไวใ นอปุ กรณข องคอมพวิ เตอร เชน แผน จานบนั ทกึ แมเ หลก็ หรอื เทปแมเ หลก็ ขอมูล หมายถึง กลมุ ของสารสนเทศทส่ี มั พนั ธก นั ความสมั พนั ธข องกลมุ สารสนเทศหรอื ขอ มลู นน้ัถูกกําหนดโดยผูใชแฟมขอมูล ขอ มลู เปน สว นประกอบสาํ คญั ในการทาํ งานของคอมพวิ เตอร เพราะขอ มลู เปนวัตถุดิบในการประมวลผลขอมูลทั้งหมดที่จัดการโดยคอมพิวเตอรประกอบดวยบิต (bit) ซง่ึ เปน โครงสรา งท่ีเลก็ ทส่ี ดุ ในแตล ะบติ จะเปน ตวั เลขในระบบเลขฐานสอง ประกอบดว ย 0 และ 1 ซึ่งนํามาใชแทน ระหวา งสองสถานะ เชน จริง-เทจ็ เปด -ปด เปน ตน เพอ่ื ใหส ามารถแสดงสารสนเทศไดม ากขน้ึ บิตจึงถูกรวมตอกันเขาเปนสายเพอ่ื แสดงสารสนเทศ โดยนําบิตเหลานั้นมาทําใหเปนหนวยที่ใหญขึ้นเรียกวาไบต (byte) ไบต ประกอบขึ้นมาจากบิตหลาย ๆ บิตมาเรียงตอกัน แตเนื่องจากคอมพิวเตอรเขาใจเพียงเลข 0และเลข 1 เทานั้นถาตองการใหคอมพิวเตอรรูปจักอักขระตัวอักษร A,B….,Z จะตอ งมีการเอาเลข 0 และเลข 1มาเรยี งตอ กนั เปน รหสั แทนอกั ขระ โดยปกติ 1 ตัวอักขระจะมีความยาว 8 บิต ซง่ึ เทา กบั 1 ไบต จํานวนบิตที่นํามาเรียงตอกันเปนไบตนี้แตกตางกันไปตามรหัสแทนขอมูล รหัสแทนขอมูลที่ใชกันแพรหลายมี 2 ระบบคอืรหสั เอบซดี กิ (EBCDIC) และรหัสแอสกี (ASCII) ใช 8 บิต รวมกันเปน 1 ไบต โดย 1 ไบต จะใชแทนอักขระ 1ตัว เมื่อเรานําอักขระหลายๆตัวรวมกันโดยมีความหมายอยางใดอยางหนึ่งเราจะเรียกวา เขตขอมูลหรือฟล ด (filed) เชน การรวมของตัวอักษรและตัวเลขเพื่อใชแทนรหัสลูกคา เชน ‘C0100001’ เปน ตน ฟล ดค อืกลุมของอักขระที่สัมพันธกันตั้งแต 1 ตัวขึ้นไปที่นํามารวมกันแลวแสดงลักษณะหรือความหมายอยางใดอยางหนึ่ง ฟล ด คอื กลุมของอักขระทีสัมพันธกัน ตั้งแต 1 ตัวขึ้นไปที่นํามารวมกันแลวแสดงลักษณะหรือความหมายอยางใดอยางหนึ่ง ฟล ดแ ตล ะฟล ดย งั แยกออกเปน ประเภทขอ มลู ซึ่งจะบงบอกวาในเขตฟลดนั้นบรรจุขอมูลประเภทใดไว สามารถแยกประเภทของฟล ดไ ดเ ปน 3 ประเภทคอื - ฟล ดต วั เลข (numeric field) ประกอบดว ย อกั ขระทเ่ี ปน ตวั เลข ซึ่งอาจเปนเลขจํานวนเต็มหรือทศนยิ มและอาจมีเครื่องหมายลบหรอื บวก เชน ยอดคงเหลือในบัญชเี ปนกลุมของตัวเลข - ฟล ดต วั อกั ษร (alphabetic field) ประกอบดว ย อักขระที่เปนตัวอักษรหรือชองวาง (blank) เชน ชื่อลกู คา เปน กลมุ ของตวั อกั ษร

5 - ฟล ดอ กั ขระ (character field หรือ alphanumeric field) ประกอบดว ย อกั ขระซง่ึ อาจจะเปน ตวั เลขหรอื ตัวอักษรก็ได เชน ที่อยูของลูกคา ขอ มลู ทป่ี รากฏอยใู นฟล ด เปนหนวยยอยของระเบียนที่บรรจุอยูในแฟมขอมูล เชน ฟล ดเ ลขรหสัประจาํ ตวั บคุ ลากร ฟล ดเ งนิ เดอื นของลกู จา ง หรือฟลดเลขหมายโทรศัพทของพนักงาน ตัวอยาง เช็คของธนาคารแหงหนึ่งประกอบดวย ชื่อที่อยูธนาคาร เชค็ เลขท่ี จายจํานวนเงินเปนตัวเลข จาํ นวนเงินเปน ตัวอกั ษรสาขาเลขที่ เลขที่บัญชี และลายเซ็น ฟล ดบ างฟล ดอ าจจะประกอบดว ยขอ มลู หลาย ๆ ประเภทรวมกนั ในฟล ด เชน ฟล ดว นั ทป่ี ระกอบดวย 3 ฟล ดย อ ย ๆ คอื วันที่ เดอื น และป หรอื ในฟล ดช อ่ื ธนาคาร ยังประกอบดวยหลายฟลดยอย ๆ คอื ชื่อธนาคาร ที่อยู เมอื ง ประเทศ และรหสั ไปรษณยี  2.ระเบยี น ระเบยี นหรอื เรคอรด (record) คอื กลมุ ของฟลดทีส่ มั พันธก นั ประกอบขน้ึ มาจากขอ มลู พน้ื ฐานตา งประเภทกันรวมขึ้นมาเปน 1 ระเบยี น ระเบยี นจะประกอบดว ย ฟล ด ตา งประเภทกนั อยรู วมกนั เปน ชดุ เชนระเบยี นของเชค็ แตล ะระเบยี น จะประกอบดวยฟลด็ ชื่อธนาคาร เชค็ เลขท่ี วันที่ ส่งั จาย จํานวนเงิน สาขาเลขที่ เลขที่บัญชี ขอ มลู เชค็ ธนาคารประกอบดว ยฟล ดต า ง ๆ ระเบียนแตละระเบียนจะมีฟลดที่ใชอางอิงถึงขอมูลในระเบียนนั้น ๆ อยา งนอ ย 1 ฟล ดเ สมอ ฟล ดท ่ีใชอ า งองิ นเ้ี รยี กวา คยี ฟ ล ด (key field) ในทุกระเบียนจะมีฟลดหนึ่งที่ถูกใชเปนคียฟลด ฟลดที่ถูกใชเปนคียจะเปน ฟล ดท ม่ี คี า ไมซ าํ้ กนั ในแตล ะระเบยี น (unique) เพอื่ สะดวกในการจัดเรยี งระเบยี นในแฟม ขอ มูลและการจดัโครงสรางของแฟมขอมูล เชน ระเบยี นของเชค็ ธนาคาร จะใชเลขที่บัญชีเปนคียฟลด ระเบียนแฟมขอมูลพนกั งานใชเ ลขประจาํ ตวั พนกั งานเปน คยี ฟ ล ด สามารถสรปุ โครงสรา งของแฟม ขอมูลไดด ังนี้

6 ภาพที่ 1.1 แสดงโครงสรางของแฟมขอมูล 3.ชนิดของขอมูล ขอมูลที่ตองการจัดเก็บนั้นอาจจะมีรูปแบบไดหลายอยาง รปู แบบสาํ คญั ๆ ไดแ ก 3.1 ขอมูลแบบรูปแบบ (formatted data) เปนขอมูลที่รวมอักขระซึ่งอาจหมายถึงตัวอักษร ตัวเลขซง่ึ เปน รปู แบบทแ่ี นน อน ในแตละระเบียน ทุกระเบียนที่อยูในแฟมขอมูลจะมีรูปแบบที่เหมือนกันหมด ขอมูลที่เกบ็ นน้ั อาจเกบ็ ในรปู ของรหสั โดยเมอ่ื อา นขอ มลู ออกมาอาจจะตอ งนาํ รหั สนน้ั มาตคี วามหมายอกี ครง้ั เชนแฟมขอมูลประวัตินักศึกษา 3.2 ขอมูลแบบขอความ (text)เปนขอมูลที่เปนอักขระในแบบขอความ ซึงอาจหมายถึงตัวอักษร ตัวเลข สมการฯ แตไมรวมภาพตาง ๆ นาํ มารวมกนั โดยไมม รี ปู แบบทแ่ี นน อนในแตล ะระเบยี น เชน ระบบการจัดเก็บขอความตาง ๆ ลักษณะการจัดเก็บแบบนี้จะไมตองนําขอมูลที่เก็บมาตีความหมายอีก ความหมายจะถูกกําหนดแลวในขอความ 3.3 ขอ มลู แบบภาพลักษณ (images) เปน ขอ มลู ทเ่ี ปน ภาพ ซง่ึ อาจเปน ภาพกราฟทถ่ี กู สรา งขน้ึ จากขอมูลแบบรูปแบบรูปภาพ หรือภาพวาด คอมพวิ เตอรส ามารถเกบ็ ภาพและจดั สง ภาพเหลา นไ้ี ปยงัคอมพวิ เตอรอ น่ื ได เหมือนกบั การสง ขอ ความ โดยคอมพิวเตอรจะทําการแปลงภาพเหลานี้ ซึ่งจะทําใหคอมพิวเตอรสามารถที่จะปรับขยายภาพและเคลื่อนยายภาพเหลานั้นไดเหมือนกับขอมูลแบบขอความ 3.4 ขอมูลแบบเสียง (audio) เปน ขอ มลู ทเ่ี ปน เสยี ง ลกั ษณะของการจดั เกบ็ กจ็ ะเหมอื นกบั การจดั เกบ็ขอมูลแบบภาพ คอื คอมพวิ เตอรจะทําการแปลงเสียงเหลา นี้ใหค อมพวิ เตอรส ามารถนาํ ไปเก็บได ตัวอยางไดแก การตรวจคลื่นหัวใจ จะเก็บเสียงเตนของหัวใจ 3.5 ขอมูลแบบภาพและเสียง (video) เปน ขอ มลู ทเ่ี ปน เสยี งและรปู ภาพ ที่ถูกจัดเก็บไวดวยกัน เปนการผสมผสานรปู ภาพและเสยี งเขา ดว ยกนั ลกั ษณะของการจัดเกบ็ ขอ มลู คอมพิวเตอรจะทําการแปลงเสียง

7และรปู ภาพน้ี เชนเดียวกับขอมูลแบบเสียงและขอมูลแบบภาพลักษณะซึ่งจะนํามารวมเก็บไวในแฟมขอมูลเดยี วกนั 4. ลกั ษณะของระบบแฟม ขอ มลู การจัดการแฟมขอมูลอยางถูกตองมีความสําคัญอยางยิ่งตอความมั่นคงปลอดภัย (security) ของขอมูลที่อยูในแฟมขอมูลและในแฟมขอมูลเอง แนวคิดในการจัดการแฟมขอมูลเริ่มจากการออกแบบแฟมขอมูลใหเหมาะสมกับการเรียกคนเรคอรดขอมูลมาใช ไปจนถึงการสํารองแฟมขอมูลและการกูแฟมขอมูล แฟมขอมูลอาจจะมีไดสองลกั ษณะ คอื 4.1 ระเบยี นขนาดคงท่ี (fixed length record)โดยปกติแลวภายในแฟมขอมูลจะจัดเก็บระเบียนอยูในรูปแบบใดแบบหนึ่งโดยเฉพาะ ทุกระเบียนจะประกอบดวยหนวยขอมูลยอยที่เหมือน ๆ กนั นน่ั คอื โครงสรา งของทกุ ระเบยี นในแฟม ขอ มูลจะเปน แบบเดยี วกนั หมด ถา ขนาดของระเบยี นมี จํานวนตัวอักขระเทากันหมดในทุก ๆ ระเบียนของแฟมขอมูล ระเบยี นนน้ั จะถกู เรยี กวา ระเบยี นขนาดคงท่ี (fixed length record) 4.2 ระเบียนที่มีความยาวแปรได (variable length record) คอื ทกุ เรคอรด อาจจะมจี าํ นวนฟล ดต า งกนั และแตละฟลดก็อาจจะมีความยาวตางกันได แฟมขอมูลประเภทนี้มีลักษณะโครงสรางแบบพิเศษที่ชวยใหคอมพิวเตอรสามารถบอกไดวาแตละเรคอรดมีความยาวเทาใด และแตละฟล ดเ รม่ิ ตน ตรงไหนและจบตรงไหนตัวอยางของแฟมประเภทนี้ไดแก แฟม บนั ทกึ รายการใบสง่ั ซอ้ื สนิ คา แตละเรคอรดจะแทนใบสั่งสินคาหนึ่งใบและใบสัง่ สินคา แตละใบอาจจะมีรายการสินคาท่ีสัง่ ซื้อไมเ ทากนั 5. การจัดการแฟม ขอมลู กิจกรรมที่เกี่ยวของกับการจัดการแฟมขอมูล (file manipulation) จะแตกตางกันออกไปในแตละระบบงาน แตจะมีกิจกรรมหลักในการใชขอมูล ไดแ ก 5.1 การสรา งแฟม ขอ มลู (file creating) คอื การสรา งแฟม ขอ มลู เพอ่ื นาํ มาใชในการประมวลผล สว นใหญจะสรางจากเอกสารเบื้องตน (source document) การสรางแฟม ขอมลู จะตองเริ่มจากการพิจารณากาํ หนดสอ่ื ขอ มลู การออกแบบฟอรม ของระเบยี น การกําหนดโครงสรางการจัดเก็บแฟมขอมูล (fileorganization) บนสอ่ื อปุ กรณ 5.2 การปรับปรุงรักษาแฟมขอมูลแบงออกได 2 ประเภท คอื 1) การคนคืนระเบียนในแฟมขอมูล (retrieving) คอื การคน หาขอ มลู ทต่ี อ งการหรอื เลอื กขอ มลูบางระเบียนมาใชเพื่องานใดงานหนึ่ง การคน หาระเบยี นจะทาํ ได ดว ยการเลอื กคยี ฟล ด เปน ตวั กาํ หนดเพอ่ื ท่ีจะนําไปคนหาระเบียนที่ตองการในแฟมขอมูล ซึ่งอาจจะมีการกําหนเงื่อนไขของการคนหา เชน ตองการหาวาพนักงานที่ชื่อสมชายมีอยูกี่คน 2) การปรบั เปลย่ี นขอ มลู (updating) เมื่อมีแฟมขอมูลที่จะนํามาใชในการประมวลผลก็จําเปนที่จะตองทําหรือรักษาแฟมขอมูลนั้นใหทันสมัยอยูเสมอ อาจจะตอ งมีการเพม่ิ บางระเบยี นเขา ไป (adding) แกไขเปลย่ี นแปลงคา ฟล ดใ ดฟล ดห นง่ึ (changing) หรอื ลบบางระเบยี นออกไป (deleting)

86. ประเภทของแฟม ขอ มลูประเภทของแฟมขอมูลจําแนกตามลักษณะของการใชงานไดดังนี้ 6.1แฟมขอมูลหลัก (master file)แฟมขอมูลหลักเปนแฟมขอมูลที่บรรจุขอมูลพื้นฐานที่จําเปนสําหรับระบบงาน และเปนขอมูลหลักที่เก็บไวใชประโยชนขอมูลเฉพาะเรื่องไมมีรายการเปลี่ยนแปลงในชวงปจจุบัน มีสภาพคอ นขา งคงทไ่ี มเ ปล่ยี นแปลงหรอื เคล่ือนไหวบอ ยแตจ ะถูกเปลยี่ นแปลงเมื่อมีการส้ินสุดของขอมลู เปนขอมูลที่สําคัญที่เก็บไวใชประโยชน ตัวอยาง เชน แฟมขอมูลหลักของนักศึกษาจะแสดงรายละเอียดของนักศึกษา ซึ่งมี ชอ่ื นามสกลุ ที่อยู ผลการศกึ ษา แฟมขอมูลหลักของลูกคาในแตละระเบียนของแฟมขอมูลนี้จะแสดงรายละเอียดของลูกคา เชน ชอ่ื สกลุ ที่อยู หรือ ประเภทของลกู คา 6.2 แฟม ขอมลู รายการเปล่ยี นแปลง (transaction file)แฟมขอมูลรายการเปลี่ยนแปลงเปนแฟมขอมูลท่ีประกอบดวยระเบยี นขอ มลู ท่ีมกี ารเคล่อื นไหว ซึ่งจะถูกรวบรวมเปนแฟมขอมูลรายการเปลี่ยนแปลงที่เกิดขึ้นในแตละงวดในสวนที่เกี่ยวของกับขอมูลนั้น แฟมขอมูลรายการเปล่ยี นแปลงนจ้ี ะนําไปปรับรายการในแฟมขอมูลหลัก ใหไ ดย อดปจ จบุ นั ตัวอยางเชน แฟมขอมูลลงทะเบียนเรียนของนักศึกษา 6.3 แฟมขอมูลตาราง (table file)แฟมขอมูลตารางเปนแฟมขอมูลที่มีคาคงที่ ซง่ึ ประกอบดว ยตารางที่เปนขอมูลหรือชุดของขอมูลที่มีความเกี่ยวของกันและถูกจัดใหอยูรวมกันอยางมีระเบียบ โดยแฟมขอมูลตารางนี้จะถูกใชในการประมวลผลกับแฟมขอมูลอื่นเปนประจําอยูเสมอ เชน ตารางอัตราภาษี ตารางราคาสนิ คาตัวอยาง เชน ตารางราคาสนิ คา ของบรษิ ทั ขายอะไหลเ ครอ่ื งคอมพวิ เตอรด งั น้ี รหสั สนิ คา รายชอ่ื สนิ คา ราคา51 จอภาพ 4,50052 แปนพิมพ 1,20053 แรม 4 M 4,50054 แรม 8 M 7,00055 กระดาษตอ เนอ่ื ง 50056 แฟมคอมพิวเตอร 200 ในแฟมขอมูลนี้จะประกอบดวยระเบียนแฟมขอมูลตารางของสินคาที่มีฟลดตาง ๆ ไดแ ก รหสั สนิ คารายชื่อ สนิ คา และราคาสนิ คา ตอ หนว ย แฟม ขอมลู ตารางรายการสินคา จะใชรวมกับแฟมขอมูลหลายแฟมขอมลู ในระบบสนิ คา ไดแ ก แฟมขอ มูลคลังสนิ คา (inventory master file) แฟมขอมูลใบสั่งซื้อของลูกคา(customer order master file) และแฟมขอมูลรายการสิตคาของฝายผลิต (production master file) มีขอควรสังเกตวาแฟมขอมูลตาราง แฟมขอ มูลรายการเปลี่ยนแปลง และแฟมขอมูลหลัก ทั้ง 3 แฟม จะมีฟลดที่เกี่ยวกับตัวสินคารวมกัน คอื ฟล ดร หสั สนิ คา (product code) ฟลดรวมกันนี้จะเปนตัวเชื่องโยงระหวางแฟมขอมูลตารางกับฟมขอมูลอื่น ๆ ทั้งหมดที่ตองการจะใชคาของฟดลรายชื่อสินคา (product description) และราคาสนิ คา (product price) จากแฟมขอมูลตาราง การจัดแฟมขอมูลแบบนี้จะทําใหประหยัดเนื้อที่ในอุปกรณเก็บขอมูลของแฟมขอมูลหลัก กลาวคือในแฟมขอมูลหลักไมตองมี 2 ฟล ด คอื ฟล ดร ายการสนิ คา และฟล ดร าคาสนิ คา มแี ตเ พยี งฟล ดร หสั สนิ คา กเ็ พยี งพอแลว เมอ่ื ใดทต่ี อ งการใชฟ ล ดร ายการสนิ คา ในการแสดงผลกอ็ า นคา

9ออกมาจากแฟมขอมูลตารางได นอกจากนน้ั ยงั เปน การลดความซาํ้ ซอ นของขอ มลู และเมอ่ื ผใู ชร ะบบตอ งการเปลย่ี นแปลงรายการสนิ คา หรอื ราคาสนิ คา กจ็ ะเปลย่ี นในแฟม ขอ มลู ตารางทเี ดยี ว โดยไมตองไปเปลี่ยนแปลงในแฟมขอมูลอื่น 6.4 แฟมขอมูลเรียงลําดับ (sort file)แฟมขอมูลเรียงลําดับเปนการจัดเรียงระเบียนที่จะบรรจุในแฟมขอมูลนั้นใหม โดยเรยี งตามลาํ ดบั คา ของฟล ดขอ มลู หรือคา ของขอมลู คาใดคา หนงึ่ ในระเบยี นนัน้ ก็ได เชน จัดเรยี งลาํ ดบั ตาม วนั เดอื นป ตามลําดับตัวอักขระเรียงลําดับจากมากไปหานอยหรือจากนอยไปหามาก เปน ตนแฟมขอมูลรายงาน (report file)เปนแฟมขอมูลที่ถูกจัดเรียงระเบียบตามรูปแบบของรายงานที่ตองการแลวจัดเก็บไวในรูปของแฟมขอมูล ตัวอยาง เชน แฟมขอมูลรายงานควบคุมการปรับเปลี่ยนขอมูลที่เกิดขึ้นในขณะปฏิบัติงานแตละวัน 7.การจดั โครงสรา งแฟม ขอ มลู (file organization) เปนการกําหนดวิธีการที่ระเบียนถูกจัดเก็บอยูในแฟมขอมูลบนอุปกรณที่ใชเก็บขอมูล ซง่ึ ลกั ษณะโครงสรางของระเบียนจะถกู จดั เกบ็ ไวเปน ระบบ โดยมีวัตถุประสงคเพื่อใหการจัดเก็บขอมูลและการเขาถึงขอมูลมีความสะดวกรวดเรว็ การจัดโครงสรางของแฟมขอมูลอาจแบงไดเปน 3 ลกั ษณะคอื 7.1 โครงสรางของแฟมขอมูลแบบลําดับ (sequential file) เปนการจัดแฟมขอมูซึ่งระเบียนภายในแฟมขอมูลจะถูกบันทึกโดยเรียงตามลําดับคียฟลด หรืออาจจะไมเรียงลําดับตามคียฟลดก็ได ขอมูลจะถูกบันทึกลงในสื่อบันทึกขอมูลโดยจะถูกบันทึกไวในตําแหนงที่อยูติด ๆ กนั การนําขอมูลมาใชของโครงสรางแฟมขอมูลแบบลําดับจะตองอานขอมูลไปตามลําดับจะเขาถึงขอมูลโดยตรงไมได สว นการจดั โครงสรา งแฟมขอมูลแบบลําดับตามดัชนี เปนการจัดขอมูลแบงตามหมวดหมู สรปุ เปน ตารางซง่ึ มลี กั ษณะคลา ยสารบาญของหนงั สอื การจัดขอมูลแบบนี้ทําใหสามารถเขาถึงขอมูลไดงาย โดยตรงไปที่ตารางซึ่งเปนดัชนี จะทําใหทราบตําแหนงของขอมูลนั้น โดยไมตองอานขอมูลทีละระเบียน การจัดโครงสรางของแฟมขอมูลแบบสัมพัทธ แฟมขอมูลแบบสัมพัทธนี้ขอมูลจะถูกบันทึกโดยอาศัยกลไกการกําหนดตําแหนงของขอมูล ซึ่งจะชวยใหสามารถตรงไปถงึ หรอื บันทึกขอมูลทตี่ องการไดโ ดยไมตองอานหรือผา นขอ มูลที่อยใู นลําดับกอ นหนาระเบยี นที่ตองการ การดงึ หรอื การบนั ทกึ ขอ มลู จะสามารถทาํ ไดอ ยา งรวดเรว็ ในโครงสรางแฟมขอมูลแบบลําดับประกอบดวยระเบียนที่จัดเรียงไปตามลําดับอยางตอเนื่องเมื่อจัดสรางแฟมขอมูลโดยจะบันทึกระเบียนเรียงตามลําดับการบันทึกระเบียนจะถูกเขียนตอเนื่องไปตามลําดับจากระเบยี นท่ี 1 ถึงระเบียน n และการอานระเบียนภายในแฟมขอมูลก็ตองใชวิธีการอานแบบตอเนื่องตามลําดับคอื อานตั้งแตตนแฟมขอมูลไปยังทายแฟมขอมูล โดยอา นระเบยี นท่ี 1,2,3 และ 4 มากอน ตัวอยางเชน ถาตอ งการอา นระเบยี นท่ี 8 กต็ อ งอา นระเบยี นลาํ ดบั ท่ี 1,2,3,4,5,6,7 กอ น 7.2 โครงสรางของแฟมขอมูลแบบลําดับตามดัชนี (index sequential file) เปน วธิ กี ารเกบ็ ขอ มลู โดยแตละระเบียนในแฟมขอมูลจะมีคาของคียฟลดที่ใชเปนตัวระบุระเบียนนั้น คาคียฟลดข องแตละระเบียนจะตองไมซ าํ้ กบั คา คยี ฟ ล ดใ นระบบอน่ื ๆ ในแฟมขอมูลเดียวกัน เพราะการจัดโครงสรางแฟมขอมูลแบบนี้จะใชคียฟลดเปนตัวเขาถึงขอมูล การเขาถงึ ขอมูลหรอื การอา นระเบียนใด ๆ จะเขาถึงไดอยางสุม การจดั โครงสรา งแฟมขอมูลตองบันทึกลงสื่อขอมูลที่เขาถึงขอมูลไดโดยตรง เชน จานแมเหล็ก การสรา งแฟม ขอ มลู ประเภทน้ีไมวาจะสรางครั้งแรกหรือสรางใหม ขอมูลแตละระเบียนตองมีฟลดหนึ่งใชเปนคียฟลดของขอมูล ระบบปฏิบัติ

10การจะนาํ คยี ฟ ล ดข องขอ มลู ไปสรา งเปน ตารางดชั นที าํ ใหส ามารถเขา ถงึ ระเบยี นไดเ รว็ นอกจากจะเขาถึงระเบียนใด ๆ ไดเร็วขึ้นแลวยังมีประโยชนสามารถเพิ่มระเบียนเขาในสวนใด ๆ ของแฟมขอมูลได ในแตละแฟมขอมูลที่ถูกบันทึกลงสื่อขอมูลจะมีตารางดัชนีทําใหเขาถึงระเบียนใด ๆ ไดร วดเรว็ ขน้ึ โครงสรางแฟมขอมูลแบบลาํ ดบั ตามดชั นีประกอบดวย1)ดชั นี (index) ของแฟมขอมูลจะเก็บคาคียฟลดของขอมูล และที่อยูในหนวยความจํา(address) ทร่ี ะเบยี นนน้ั ถกู นาํ ไปบนั ทกึ ไว ซึง่ ดัชนนี ้ีจะตอ งเรยี งลาํ ดบั จากนอยไปมาก หรือจากมากไปนอ ยโดยที่สวนของดัชนีจะมีตัวบงชี้ไปยังที่อยูในหนวยความจํา เพ่ือจะไดนําไปถงึ ระเบียนขอ มูลในขอ มูลหลกั2)ขอมูลหลัก (data area) จะเก็บระเบียนขอมูล ซง่ึ ระเบยี นนน้ั อาจจะเรยี งตามลาํ ดบั จากนอ ยไปมากหรอื จากมากไปนอย ในการจัดลําดับของขอ มลู หลกั อาจจะจัดขอ มลู ออกไปกลมุ ๆ โดยจะเวนที่ไวเพื่อใหมีการปรับปรุงแฟมขอมูลได7.3 โครงสรางของแฟมขอมูลแบบสัมพัทธ (relative file) เปนโครงสรางที่สามารถเขาถึงขอมูลหรืออา นระเบยี นใด ๆ ไดโดยตรง วิธีนี้เปนการจัดเรียงขอมูลเขาไปในแฟมขอมูลโดยอาศัยฟลดขอมูลเปนตัวกําหนดตําแหนงของระเบียนนั้น ๆ โดยคาของคียฟลดขอมูลในแตละระเบียนของแฟมขอมูลจะมีความสัมพัทธกับตําแหนงที่ระเบียนนั้นถูกจัดเก็บไวในหนวยความจํา คาความสัมพัทธนี้ เปน การกาํ หนดตาํ แหนง(mapping function) ซึ่งเปนฟงกชั่นที่ใชในการเปลี่ยนแปลงคียฟลดของระเบียนใหเปนตําแหนงในหนวยความจํา โดยที่การจัดเรียงลําดับที่ของระเบียนไมจําปนตองมีความสัมพันธกับการจัดลําดับที่ของระเบียนที่ถูกจัดเก็บไวในหนวยความ การจัดเก็บขอมูลลงแฟมขอมูลแบบสัมพัทธ (relative file) จะถกู จดั เก็บอยูบนสือ่ ทส่ี ามารถเขา ถงึ ไดโดยตรง เชน แผนจานแมเหล็ก ลักษณะโครงสรางแฟมขอมูลแบบสัมพัทธจะประกอบดวยตําแหนงในหนวยความจํา ซง่ึ เกดิ จากนาํ คยี ฟ ล ดข องระเบยี นมาทาํ การกาํ หนดตาํ แหนง ซ่ึงการกําหนดตาํ แหนง นี้จะทาํ การปรับเปลี่ยนคาคียฟลดของระเบียนใหเปนตําแหนงในหนวยความจําที่คํานวณได แฟมขอมูลหลัก แฟมขอมูลนี้ประกอบดวยระเบียนที่จัดเรียงตามตําแหนงในหนวยความจําโดยจะเรียงจากระเบียนที่ 1 จนถึง N แตจะไมเรยี งลาํ ดบั ตามคา ของคยี ฟ ล ดเรื่องที่ 1.1.2 ชนิดและคุณสมบัติของหนวยเก็บขอมูลสํารองและหนวยความจําหลัก 1.ชนิดของหนวยความจําหลัก โดยปกติแลวหนวยความจําโดยทั่วไปจะถูกแบงออกเปนสองพวกใหญ ๆ คอื หนวยความจําแบบหนว ยเกบ็ ลบเลอื นได (volatile storage) และหนว ยความจาํ ประเภทหนว ยเกบ็ ลบเลอื นไมได (nonvolatilestorage) หนวยความจําประเภทหนวยเก็บลบเลือนไดเปนหนวยความจําที่รักษาขอมูลไดเฉพาะเมื่อมีกระแสไฟฟา เทา นน้ั ไหลเวยี นอยู ตัวอยางเชน หนวยความจําหลัก (main memory) เทา นน้ั

11 หนวยความจําประเภทหนวยเก็บลบเลือนไมไดคือ หนวยความจําที่สามารถรักษาขอมูลไดอยางถาวรแมเมื่อไมมีกระแสไฟฟาไหลผาน ตัวอยางเชน หนวยความจําสํารองและหนวยความจําหลักบางประเภท หนวยความจําหลักที่ที่ใชในปจจุบันมี 2 ประเภท คอื หนวยความจําหลักประเภทแรม (RandomAccess Memory, RAM) และหนว ยความจาํ หลกั ประเภทรอม (Read Only Memory, ROM) 1.1 หนวยความจําประเภทแรม เปนหนวยความจําหลักประเภทที่สามารถเขาถึงคําสั่งและขอมูลโดยตรงได แรมเปนหนวยความจําที่สามารถที่จะอานหรือเขียนขอมูลและคําสั่งลงไปไดหลายครั้ง แรมแบง ออกเปน สองประเภทคอื ไดนามกิ แรม (dynamic RAM) และสแตติกแรม (static RAM) 1) ไดนามกิ แรม คือหนวยความจําหลักที่ตองการกระแสไฟฟาไหลผานในขณะเก็บขอมูล ไดนามิกแรมจะถูกนํามาสรางเปนหนวยความจําหลักของคอมพิวเตอรทุกระบบ ไดนามิกแรมจะมีความแตกตางกนั บางชนิดมีความเร็วกวาอีกชนิดหนึ่ง การวัดความเร็วของไดนามิกแรมจะวัดกันดวยความสามารถในการสงผานขอมูลระหวางตัวมันกับหนวยตาง ๆ มีหนวยเปนวินาที (nanoseconds) ยังมีความเร็วในการสงผานมากเทาไดนามิกแรมชนิดนั้นก็ยิ่งมีราคาสูงขึ้นมากเทานั้น ไดนามิกแรมที่มีความเร็วมากจะเรียกวาหนวยความจําแคช (cash memory) มีราคาสูงมากกวาไดนามิกแรมทั่วไป ผูผลิตคอมพิวเตอรจะใชหนวยความจําแคชเปน สวนประกอบรวมกับไดนามิกแรม 2)สแตติกแรม เปน หนว ยความจาํ หลกั ท่ตี องการแบตเตอร่เี ล้ยี งอยตู ลอดเวลา ทําใหแรมชนิดน้ีสามารถเก็บขอ มูลไดตลอดไปตราบท่ยี ังมีแบตเตอร่เี ล้ียงอยู สแตติกแรมจะมีขนาดนอยกวาไดนามิกแรมโดยปกติ จะถูกใชเพื่อเก็บโปรแกรมและขอมูลบางอยางที่จําเปนตอเครื่องคอมพิวเตอร แมวาเครื่องคอมพิวเตอรจะถูกปดแลวก็ตาม 1.2 หนวยความจําหลักชนิดรอม หนวยความจําชนิดรอมเปนหนวยความจําประเภทแบบลบเลือนไมได สามารถเกบ็ ขอ มลู ไดต ลอดไปแมจ ะปด เครอ่ื งคอมพวิ เตอรแ ลว หนวยความจําชนิดรอมเปนหนวยความจําที่อานขอมูลออกมาใชไดอยางเดียว แตไมสามารถเปลี่ยนแปลงแกไขขอมูลที่เก็บอยูในรอมได หนวยความจํารอมจะถูกสรางโดยบรษิ ัทผูผลติ เคร่อื งคอมพวิ เตอรเ พอ่ื ใชเก็บโปรแกรมทีจ่ าํ เปน ตอการใชง านคอมพวิ เตอรเอาไวอยางถาวร และไมต อ งการเปลย่ี นแปลง เชน โปรแกรมที่ใชในการทํางานของเครื่องคอมพิวเตอร เมอ่ื เราทาํการเปด เครอ่ื ง หรือโปรแกรมที่ใชควบคุมการทํางานของอุปกรณที่อยูในรถยนตหรือโปรแกรมเลนเกมตาง ๆเปน ตน รอมยงั ถกู แบง ออกเปน หลายชนดิ ไดแ กพ รอม (Programmable ROM, PROM) อพี รอม (ErasablePROM,EPROM) และออี พี รอม (Electrically Erasable PROM, EEPROM) - หนวยความจําหลักชนิดพรอม เนื่องจากรอมถูกผลิตโดยบริษัทผูที่ผลิตรอมโดยเฉพาะ การส่ังซื้อรอมจะใชเวลานาน และเมื่อผลิตออกมาแลวจะไมสามารถเปลี่ยนแปลงแกไขได ทําใหตอมาไดมีการผลิตชิปของรอมใหสามารถนํามาบันทึกขอมูลไดโดยบริษัทผูที่ใชภาษานั้นเรียกวาพรอม โดยที่ตอนแรกของรอมจะเทาและเมื่อทําการนําโปรแกรมหรือขอมูลเขาไปเก็บในพรอมโดยเครื่องมือที่เขียนโปรแกรมพิเศษแลวจะไมสามารถแกไขหรือเปลี่ยนแปลงได - หนวยความจําหลักชนิดอีพรอม เปนรอมที่ไดถูกพัฒนาใหสามารถทั้งอานและเขียนขอมูลไปใหมไดหลายครั้งและเรียกรอมชนิดนี้วาอีพรอมกลาวคือ สามารถที่จะนําโปรแกรมเขาไปในในชิปของอีพรอมได และสามารถที่จะลบโปรแกรมหรือขอมูลแลวเขียนเขาไปใหมไดโดยเครื่องมือที่เขียนโปรแกรมพิเศษที่ใชแสงอลุ ตรา ไวโอเลต การใชอีพรอมจะประหยัดมากกวารอมชนิดอื่น เพราะสามารถนํากลับมาใชงานใหมได

12 - หนวยความจําหลักชนิดอีพรอมเปนหนวยความจําหลักเหมือนกับอีพรอมแตจะตางกันตรงที่สามารถจะเขียนโปรแกรมใหมลงในอีพรอมไดงายกวาโดยใชกระแสไฟฟาธรรมดาที่มีโปรแกรมใหมลงในอีพรอมไดงายกวา โดยใชกระแสไฟฟาธรรมดาที่มีโปรแกรมเปนตัวควบคุมโดยไมตองใชเครื่องมือพิเศษ เชน แสงอลุ ตรา ไวโอเลตเหมอื นกบั อพี รอม ออี พี รอมจะตา งกบั หนว ยความจาํ ประเภทแรมอกี ประการหนง่ึ คอื การเขียนและการลบขอ มลู บนออี พี รอมจะใชเ วลามากกวา แรมหลายเทา ทาํ ใหอ อี พี รอมมใี ชม ากกบั งานทไ่ี มตอ งการแกไขขอมูลบอยครั้งนัก และเมื่อตอ งการแกไ ขขอมลู ก็สามารถทําได บวกกับขอมูลที่เก็บอยูในอีอีพรอมยังคงอยูเมอ่ื ทาํ การปด เครอ่ื งคอมพวิ เตอรแ ลว และความเรว็ ของออี พี รอมมคี วามใกลเ คยี งกบั แรมมาก ออี พี รอมจึงถกูใชใ นเครอ่ื งคอมพวิ เตอรต ามหา งสรรพสนิ คา ทเ่ี กบ็ รายละเอยี ดราคาของสนิ คา ผใู ชง านสามารถเปลย่ี นแปลงราคาสนิ คา ไดเ มอ่ื มกี ารเปลย่ี นแปลง 2.ชนิดของหนวยความจําสํารอง หนวยความจําสํารองเปนหนวยความจําที่สามารถรักษาขอมูลไดตลอดไป หลังจากไดท ําการปดเครอ่ื งคอมพวิ เตอรแ ลว หนว ยความจาํ สาํ รองมีประโยชนต อ ระบบฐานขอ มลู เปน อยา งมาก ถาปราศจากหนวยความจําสํารองแลวเราจะไมสามารถเก็บรักษาขอมูลเอาไวใชดในอนาคต หนวจยความจําสํารองใชเก็บรักษาขอมูลและโปรแกรมเอาไวอยางถาวรจึงทําใหหนวยความจําสํารองถูกใชเปนสื่อในการนําขอมูลและโปรแกรมจากเครื่องคอมพิวเตอรหนีงไปใชยังคอมพิวเตอรอีกเครื่องหนึ่งได และนอกจากนี้หนว ยความจําสํารองยังใชเปนหนวยเสริมหนวยความจําหลัก โดยทําหนาที่เปนเสมือนหนวยความจําหลัก ชื่อเรียกวาหนวยความจําเสมือน (virtual memory) กลาวคือแทนที่จะดึงโปรแกรมทั้งหมดเขาหนวยความจําหลักที่มีจํานวนจํากัดพรอมกันหมด คอมพิวเตอรจะทําการจัดเก็บโปรแกรมไวยังหนวยความจําเสมือนกอน และเมอ่ื ตอ งการจึงจะดึงคําสั่งจากหนวยความจําเสมือนเขาหนวยความจําหลักเพื่อทําการประมวลผล ดงั นน้ั จึงสามารถประมวลผลโปรแกรมแรมที่มีขนาดใหญกวาหนวยความจําหลักได หนวยความจําสํารอง สามารถแบงตามลักษณะที่คอมพิวเตอรสามารถเขาถึงขอมูลได 2 ชนิด คอื 2.1 หนวยความจําสํารองประเภทที่สามารถเขาถึงขอมูลโดยตรง เปนหนวยความจําสํารองที่คอมพิวเตอรสามารถท่จี ะเขาไปกระทาํ กบั ขอ มลู ท่ีเก็บในอุปกรณชนดิ นนั้ ตรงสวนใดก็ไดใ นทนั ที ซง่ึ เรยี กการเขาถึงขอมูลดังกลาววาการเขาถึงโดยตรงสวนใดก็ไดในทันที ซง่ึ เรยี กการเขา ถงึ ขอ มลู ดงั กลา ววา การเขา ถงึโดยตรง หรือการเขาถึงแบบสุม (direct access หรือ random access) อปุ กรณช นดิ ทส่ี ามารถเลอ่ื นหวั อา นหรือบันทึกขอมูลหนวยความจําประเภทดิสกตาง ๆ ดิสกที่นิยมใชในปจจุบันมีหลายประเภทไดแก - จานบันทึกแมเหล็ก (magnetic disk) เปนอุปกรณที่นิยมใชมาก และถูกใชเปนหนวยเก็บขอมูลที่ใชภายในเครื่องไมโครคอมพิวเตอร จนถึงเครื่องคอมพิวเตอรขนาดใหญ แตถึงแมจะใชกับเครื่องตางขนาดกันโครงสรางและการใชงานจะเหมือนกัน จานบันทึกแมเหล็กที่นิยมใชกันไดแก ฟลอปปด สิ ก (floppy disk)ฮารด ดสิ ก (hard disk) และไมโครดสิ ก (microdisk) - ออพตคิ ลั ดสิ ก (optical disk) เปนอุปกรณที่ถูกพัฒนาใหมีความจุมากยิ่งขึ้น ไดแ ก ซดี ี-รอม(Compact Disk Read Only Memory, CDROM) วอรม (Write Once Read Many, WORM) และแมคนิโต ออปตคิ ลั ดสิ ก (Magneto-optical disk, MO)

13 - พซี เี อม็ ซไี อเอ (Personal Computer Memory Card International Association, PCMCIA) เปนหนวยความจําที่มีขนาดเล็ก มีขนาดความกวาง 2 นว้ิ และยาวเพียง 3 นว้ิ คลา ยเครดติ การด เปนหนวยความจําสํารองใชเสียบเขาเครื่องคอมพิวเตอรในเวลาใชงาน และเปนที่นิยมใชใ นเคร่อื งคอมพวิ เตอรข นาดเล็ก 2.2 หนวยความจําสํารองประเภทที่สามารถเขาถึงขอมูลโดยเรียงลําดับเทานั้น เปนหนวยความจําสาํ รองประเภททเ่ี กบ็ ตวั ขอ มลู แบบเรยี งลาํ ดบั กนั ไป ตั้งแตตําแหนงแรกจนถึงตําแหนงสุดทาย เมอ่ื ตอ งการเขาถึงขอมูลตรงสวนใดนั้น หัวอานและบันทึกจะตองทําการอานหรือบันทึกขอมูลตั้งแตตําแหนงแรก เรยี งลาํ ดบักันไปจนถึงตําแหนงสุดทาย ซง่ึ เรยี กการเขา ถงึ ขอ มลู ดงั กลา ววา การเขา ถงึ แบบเรยี งลาํ ดบั (seguentialaccess) หนวยความจําสํารองประเภทนี้สวนใหญจะใชงานสํารองขอมูลของระบบ อปุ กรณป ระเภทนไ้ี ดแ กเทปแมเหลก็ เทปแมเหล็กถกู ใชก ับงานทีต่ อ งการเขาถึงขอ มูลในลักษณะของการเรียงลําดับกันไป เชน งานสาํ รองขอมูลบนหนวยความจําประเภทแมเหล็กเปนหลัก เทปแมเหล็กที่ใชอยูปจจุบันมี 2 ประเภทคอื เปน ลกั ษณะมวนเรียกวา เทปรลี (tape reel) และเทปตลับ (cartridge tape) เทปรีลถูกใชม ากในเครอื่ งคอมพวิ เตอรระดับใหญ เชน เครอ่ื งเมนเฟรม และเครอ่ื งมนิ ิ สว นเทปตลบั สามารถใชก ับเครอ่ื งคอมพิวเตอรม ินิ เทปตลับมีราคาถกู และขนาดเลก็ กวา เทปรลี มาก จนสามารถพกพาติดตัวไดส ะดวก แตมีความจุมากกวาและราคาถูกกวาเทปรลี และถกู เรยี กวา ตลับขอมูล (data Cartridges)

14 ตอนท่ี 1.2 แนวคิดเกี่ยวกับระบบฐานขอมูลหวั เรอ่ื ง เรอ่ื งท่ี 1.2.1 ความจําเปนที่ทําใหเกิดการใชงานโดยระบบฐานขอมูล เรอ่ื งท่ี 1.2.2 ขอมูล ฐานขอ มลู และระบบจัดการฐานขอมูล เรอ่ื งท่ี 1.2.3 ประโยชนของระบบจัดการฐานขอมูลแนวคดิ 1. ความจําเปนที่ทําใหเกิดการใชงานโดยระบบฐานขอมูลเกิดจาก ขอมูลที่จัดอยูในรูปของแฟมขอ มูลน้นั เม่ือทาํ การประมวลผลจะยุงยาก. แฟมขอมูลไมมีความเปนอิสระของขอมูล แฟมขอมูลมี ความซาํ้ ซอนมาก.มีความถกู ตอ งของขอ มลู นอ ย .มีความปลอดภัยนอยและไมมีการควบคุมจาก ศนู ยก ลาง 2. ขอมูล คอื “ขอเท็จจริงเกี่ยวกับเหตุการณที่เกิดขึ้นภายในองคการ หรือในสิ่งแวดลอมทางกาย ภาพกอนหนาที่จะนํามาจัดเรียบเรียง หรือ จัดกลุมใหอยูในรูปแบบที่คนทั่วไปจะเขาใจหรือนํา ไปใชได” สว นฐานขอ มลู หมายถึง แหลงที่เก็บรวบรวมขอมูลและความสัมพันธระหวางขอมูล ระบบฐานขอมลู จะตอ งทาํ งานผาน DBMS ทกุ ครง้ั หนาที่ของระบบจัดการฐานขอมูลที่จะดูแล การใชงานใหกับผูใชซึ่งทําหนาที่เปนเสมือนตัวกลางใหผูใชและฐานขอมูลติดตอกันได เพื่อจัด การและควบคุมความถูกตอง ความซาํ้ ซอ น และความสัมพันธระหวางขอมูลตางๆ ภายในฐาน ขอมูล 3. ระบบจัดการฐานขอมูลมีระโยชนคือ ลดความซ้าํ ซอ นของขอมลู รักษาความถูกตองของขอมูล มี ความเปน อสิ ระของขอ มลู มีความปลอดภยั ของขอ มลู สงู และใชขอมูลรวมกันโดยมีการควบคุม จากศนู ยก ลางวัตถุประสงค หลังจากศึกษาตอนที่ 1.2 แลว นกั ศกึ ษาสามารถ 1. บอกความจําเปนที่จะใชงานในระบบฐานขอมูลได 2. บอกความหมายของขัอมูล ฐานขอ มลู และระบบการจดั การฐานขอ มลู ได 3. ระบุประโยชนของระบบฐานขอ มลู ไดเรื่องที่ 1.2.1 ความจําเปนที่ทําใหเกิดการใชงานโดยระบบฐานขอมูล หลังจากที่มนุษยเริ่มรูจักใชคอมพิวเตอรเพื่อการประมวลผลแลวก็เริ่มมีการพัฒนาภาษาโปรแกรมสาํ หรบั ใชใ นการประมวลผลขอ มลู เชน ภาษาฟอรแทรน (FORTRAN) โคบอล (COBOL) พีแอลวัน (PL/I) เบสกิ (BASIC) ปาสคาล (Pascal) และเริ่มพัฒนาแนวความคิดในการจัดเก็บขอมูลเปนแฟมขอมูลประเภทตางๆ แฟมขอมูลมีขอจํากัดในการใชงานหลายประการ ในระบบฐนขอ มลู กเ็ นอ่ื งมาจากเหตผุ ลดงั น้ี

15 1.การประมวลผลกบั ระบบแฟม ขอ มลู ยงุ ยาก การดาํ เนนิ งานกบั แฟม ขอมลู ในระบบคอมพวิ เตอรน้ันจําเปนจะตองเขียนคาํ สั่งตา งๆ ในโปรแกรมเพื่อสรางแฟมขอมูล ใชเรคอรดในแฟมขอมูล และปรับปรุงแฟมขอมูลใหเปนปจจุบัน รปู แบบของคาํ สง่ั เหลา น้ีถูกกําหนดไวในภาษาคอมพิวเตอรตางๆ แลว สวนโปรแกรมก็จะตองพัฒนาขึ้นใหสอดคลองกับขอกําหนดของภาษา เชนหากภาษาคอมพิวเตอรที่ใชนั้นกําหนดวาจะตองระบุชื่อแฟมขอมูลในโปรแกรม ผูเขียนโปรแกรมก็ตองปฏิบัติตามอยางเครงครัด การใชแฟมขอมูลในแบบที่กลาวมานี้มีลักษณะจํากัดอยางหนึ่งคือจะตองระบุรายละเอียดของแฟมวิธีการจัดแฟมขอมูล และรายละเอียดของเรคอรดที่อยูในแฟมเอาไวในโปรแกรมอยางครบถวน หากกาํ หนดรายละเอยี ดผดิ ไปหรอื กาํ หนดไมค รบกจ็ ะทาํ ใหโ ปรแกรมทาํ งานผดิ พลาดได 2. แฟมขอมูลไมมีความเปนอิสระของขอมูล ระบบแฟม ขอ มลู ถา มีการแกไ ขโครงสรา งขอ มลู จะกระทบถงึ โปรแกรมดว ย เนอ่ื งจากในการเรยี กใชขอมูลที่เก็บอยูในระบบแฟมขอมูลนั้น ตองใชโปรแกรมที่เขียนขึ้นเพื่อเรียกใชขอมูลในแฟมขอมูลนั้นโดยเฉพาะ เชน เมอ่ื ตอ งการรายชอ่ื พนกั งานทม่ี เี งนิ เดอื นมากกวา 100,000 บาทตอ เดอื น โปรแกรมเมอรต องเขียนโปรแกรมเพื่ออานขอมูลจากแฟมขอมูลพนักงานและพิมพรายงานที่แสดงเฉพาะขอมูลที่ตรงตามเงื่อนไขที่กําหนด กรณีที่มีการเปลี่ยนแปลงโครงสรางของแฟมขอมูลขอมูลเชน ใหมีดัชนี (index) ตามชื่อพนักงานแทนรหัสพนกั งาน สง ผลใหร ายงานทแ่ี สดงรายชือ่ พนกั งานท่ีมเี งนิ เดือนมากกวา 100,000 บาทตอ เดอื นซง่ึ แตเดิมกําหนดใหเรียงตามรหัสพนักงานนั้นไมสามารถพิมพได ทําใหตองมีการแกไขโปรแกรมตามโครงสรางดชั นี (index) ทเ่ี ปลย่ี นแปลงไป ลกั ษณะแบบนเ้ี รยี กวา ขอ มลู และโปรแกรมไมเ ปน อสิ ระตอ กนั สําหรับระบบฐานขอมลู น้นั ขอ มูลภายในฐานขอ มลู จะเปน อสิ ระจากโปรแกรมทเี่ รยี กใช สามารถแกไขโครงสรางทางกายภาพของขอมูลได โดยไมกระทบตอโปรแกรมที่เรียกใชขอมูลจากฐานขอมูล เนอ่ื งจากระบบฐานขอ มลู มรี ะบบจดั การฐานขอ มลู ทาํ หนา ทแ่ี ปลงรปู (mapping) ใหเปนไปตามรูปแบบที่ผูใชตองการ 3. แฟม ขอมูลมีความซา้ํ ซอนมาก เน่ืองจากการใชง านระบบฐานขอมูลนัน้ ตองมีการออกแบบฐานขอมลู เพ่ือใหมคี วามซ้ําซอนของขอมลู นอ ยทส่ี ดุ จดุ ประสงคห ลกั ของการออกแบบฐานขอ มลู เพอ่ื การลดความซาํ้ ซอ นนน่ั เองสาเหตทุ ต่ี อ งลดความซาํ้ ซอ น เนื่องจากความยากในการปรับปรุงขอมูล กลา วคอื ถา เกบ็ ขอ มลู ซาํ้ ซอ นกนั หลายแหง เมอ่ื มีการปรบัปรุงขอมูลแลวปรับปรุงขอมูลไมครบทําใหขอมูลเกิดความขัดแยงกันของขอมูลตามมา และยงั เปลอื งเนอ้ื ทก่ี ารจัดเก็บขอมูลดวย เนอ่ื งจากขอ มลู ชดุ เดยี วกนั จดั เกบ็ ซาํ้ กนั หลายแหง นน่ั เอง ถึงแมวาความซ้ําซอนชวยใหออกรายงานและตอบคําถามไดเร็วขึ้น แตความซ้ําซอนทําใหขอมูลมีความขัดแยงกัน ถาขอมูลไมถูกตองและมีความขัดแยงกันแลว การออกรายงานจะทาํ ไดเ รว็ เทา ใดนน้ั จึงไมม ีความหมายแตอยางใด ดงั นน้ั จึงตองมีวธิ ีการออกแบบฐานขอ มลู เพอ่ื ลดความซํ้าซอ นของขอ มูลใหมากทสี่ ดุขณะที่การออกรายงานชานั้นใชความสามารถของฮารดแวรชวยได

164. แฟมขอมูลมีความถูกตองของขอมูลนอย เนื่องจากแฟมขอมูลไมสามารถตรวจสอบกฎบังคับความถูกตองของขอมูลใหได ถาตองการควบคุมขอมูลผูพัฒนาโปรแกรมตองเขียนโปรแกรมเพื่อควบคุมกฎระเบียบตางๆ เองทั้งหมด ถา เขยี นโปรแกรมครอบคลุมกฎระเบียบใดไมครบหรือขาดหายไปบางกฎอาจทําใหขอมูลผิดพลาดได ซึ่งตางจากระบบฐานขอมูลที่ระบบจัดการฐานขอมูลจะมีกฏบังคับความถูกตอง โดยนํากฎเหลา นน้ั มาไวท ฐี่ านขอมลู ซง่ึ ถอื เปน หนา ทข่ี องระบบจัดการฐานขอมูลที่จะจัดการเรื่องความถูกตองของขอมูลใหแทน และยังชวยลดคาใชจายในการบํารุงรกั ษาและพฒั นาโปรแกรมดว ยเนอ่ื งจากระบบจดั การฐานขอ มลู จดั การใหน น่ั เอง5. แฟมขอมูลมีความปลอดภัยนอย ในระบบฐานขอ มูล ถา หากทกุ คนสามารถเรยี กดแู ละเปลย่ี นแปลงขอ มลู ในฐานขอ มลู ทง้ั หมดได อาจกอ ใหเ กดิ ความเสยี หายตอ ขอ มูลได และขอมลู บางสวนอาจเปน ขอมูลทไ่ี มอาจเปด เผยไดหรือเปน ขอ มลู เฉพาะของผูบริหาร หากไมมีการจัดการดานความปลอดภัยของขอมูล ฐานขอมูลก็จะไมสามารถใชเก็บขอมูลบางสว นได ระบบฐานขอมูลสวนใหญจะมีการรักษาความปลอดภัยของขอมูล ดงั น้ี √ มีรหัสผูใช (user) และรหสั ผา น (password) ในการเขาใชงานฐานขอมูลสําหรับผุใชแตละคน √ ผบู รหิ ารฐานขอมลู (Database Administrator; DBA) สามารถสรา งและจดั การตารางขอ มลู ทง้ัหมดในฐานขอมูล ทั้งการเพิ่มผูใช ระงับการใชงานของผูใช อนุญาตใหผูใชสามารถเรียกดู เพิ่มเติม ลบและแกไขขอมูล หรอื บางสวนของขอ มูลไดใ นตารางทไี่ ดร ับอนุญาต √ ผูบรหิ ารฐานขอ มูล (DBA) สามารถใชวิว (view) เพื่อประโยชนในการรักษาความปลอดภัยของขอมลู ไดเ ปน อยา งดี โดยการสรางวิวที่เสมือนเปนตารางของผูใชจริงๆ และขอมูลที่ปรากฏในวิวจะเปนขอมูลที่เกี่ยวของกับงานของผูใชเทานั้น ซึ่งจะไมกระทบกับขอมูลจริงในฐานขอมูล √ ระบบฐานขอมูลจะไมยอมใหโปรแกรมใดๆ เขาถึงขอมูลในระดับกายภาพ (physical) โดยไมผานDBMS √ มีการเขารหัสและถอดรหัส (encryption/decryption) เพื่อปกปดขอมูลแกผูที่ไมเกี่ยวของ เชน มีการเขา รหสั ขอ มลู รหสั ผา น ซึ่งในสวนตางๆเหลานี้ในระบบแฟมขอมูลจะไมมี6. ไมมีการควบคุมจากศูนยกลาง ระบบแฟมขอมูลจะไมมีการควบคุมการใชขอมูลจากศูนยกลาง เนื่องจากขอมูลที่หนวยงานยอยใชสามารถใชขอมูลไดอยางเสรีโดยไมมีศูนยกลางในการควบคุม ทําใหไมทราบวาหนวยงานใดใชขอมูลในระดับใดบาง ใครเปน ผนู าํ ขอ มลู เขา ใครมีสิทธิแกไขขอมูล และใครมีสิทธิเพียงเรียกใชขอมูลเรื่องที่ 1.2.2 ฐานขอมูล และระบบจดั การฐานขอมลู ในปจจุบันการจัดโครงสรางขอมูลใหเปนแบบฐานขอมูลกําลังเปนที่นิยม เกือบทุกหนวยงานที่มีการใชระบบสารสนเทศจะจัดทําขอมูลใหเปนแบบฐานขอมูล เนื่องจากปริมาณขอมูลมีมากถาจัดขอมูลเปนแบบ

17แฟมขอมูลจะทําใหมีแฟมขอมูลเปนจํานวนมาก ซง่ึ จะทาํ ใหเ กดิ ขอ มลู ทซ่ี าํ้ ซอ นกนั ได ขอ มลู ทซ่ี าํ้ ซอ นนจ้ี ะกอใหเกิดปญหามากมาย 1.ความหมายของระบบฐานขอมูล ฐานขอ มลู (database) หมายถึง กลุมของขอมูลที่ถูกเก็บรวบรวมไว โดยมีความสัมพันธซึ่งกันและกนั โดยไมไดบังคับวาขอมูลทั้งหมดนี้จะตองเก็บไวในแฟมขอมูลเดียวกันหรือแยกเก็บหลาย ๆ แฟมขอมูลนน่ั กค็ อื การเกบ็ ขอ มลู ในฐานขอ มลู นน้ั เราอาจจะเกบ็ ทง้ั ฐานขอ มลู โดยใชแฟมขอมูลเพียงแฟมขอมูลเดียวกันได หรือจะเก็บไวในหลาย ๆ แฟมขอมูล ที่สําคัญคือจะตองสรางความสัมพันธระหวางระเบียนและเรียกใชความสัมพันธนั้นได มีการกําจัดความซ้ําซอ นของขอมูลออกและเกบ็ แฟม ขอมลู เหลาน้ไี วท ่ีศนู ยกลาง เพื่อที่จะนําขอมูลเหลานี้มาใชรวมกัน ควบคุมดูแลรักษาเมื่อผูตองการใชงานและผูมีสิทธิ์จะใชขอมูลนั้นสามารถดึงขอมูลท่ีตอ งการออกไปใชไ ด ขอมูลบางสวนอาจใชรวมกับผูอื่นได แตบางสวนผูมีสิทธิ์เทานั้นจึงจะสามารถใชไดโดยทั่วไปองคกรตาง ๆ จะสรา งฐานขอ มลู ไว เพอ่ื เกบ็ ขอ มลู ตา ง ๆ ของตัวองคกร โดยเฉพาะอยางยิ่งขอมูลในเชิงธุรกิจ เชน ขอ มลู ของลกู คา ขอ มลู ของสนิ คา ขอมูลของลูกจาง และการจางงาน เปน ตน การควบคุมดูแลการใชฐ านขอ มลู นน้ั เปนเรื่องที่ยุงยากกวาการใชแฟมขอมูลมาก เพราะเราจะตอ งตดั สนิ ใจวา โครงสรา งในการจัดเก็บขอมูลควรจะเปนเชนไร การเขยี นโปรแกรมเพอ่ื สรา งและเรียกใชข อ มลู จากโครงสรางเหลา น้ี ถาโปรแกรมเหลา นเ้ี กดิ ทาํ งานผดิ พลาดขน้ึ มา ก็จะเกิดความเสียหายตอโครงสรางของขอมูลทั้งหมดได เพอ่ื เปนการลดภาวะการทํางานของผูใช จึงไดม ีสวนของฮารดแวรและโปรแกรมตาง ๆ ที่สามารถเขาถึงและจัดการขอมลู ในฐานขอ มลู นน้ั เรยี กวา ระบบจดั การฐานขอ มลู หรือDBMS (data base management system) ระบบจัดการฐานขอ มลู คอื ซอฟตแวรที่เปรียบเสมือนสื่อกลางระหวางผูใชและโปรแกรมตาง ๆ ที่เกี่ยวของกับการใชฐานขอ มลู ซึ่งมีหนาที่ชวยใหผูใชเขาถึงขอมูลไดงายสะดวกและมีประสิทธิภาพ การเขาถึงขอมูลของผูใชอาจเปน การสรา งฐานขอ มลู การแกไขฐานขอมูล หรือการตั้งคําถามเพื่อใหขอมูลมา โดยผูใชไมจําเปนตองรับรูเกย่ี วกบั รายละเอยี ดภายในโครงสรา งของฐานขอ มลู เปรียบเสมอื นเปน สอ่ื กลางระหวางผใู ชและโปรแกรมตางๆ ที่เกี่ยวของกับการใชฐานขอมูล 2.ความสําคัญของระบบฐานขอมูล การจัดขอมูลใหเปนระบบฐานขอมูลทําใหขอมูลมีสวนดีกวาการเก็บขอมูลในรูปของแฟมขอมูลเพราะการจดั เกบ็ ขอ มลู ในระบบฐานขอ มลู จะมีสวนที่สําคัญกวาการจัดเก็บขอมูลในรูปของแฟมขอมูลดังนี้ 2.1 ลดการเกบ็ ขอ มลู ทซ่ี าํ้ ซอ น ขอมูลบางชุดที่อยูในรูปของแฟมขอมูลอาจมีปรากฏอยูหลาย ๆ แหงเพราะมีผูใชขอมูลชุดนี้หลายคน เมื่อใชระบบฐานขอมูลแลวจะชวยใหความซ้ําซอนของขอมูลลดนอยลง เชนขอมูลอยูในแฟมขอมูลของผูใชหลายคน ผูใชแตละคนจะมีแฟมขอมูลเปนของตนเอง ระบบฐานขอ มลู จะลดการซาํ้ ซอ นของขอ มลู เหลา นใ้ี หม ากทส่ี ดุ โดยจัดเก็บในฐานขอมูลไวที่เดียวกัน ผูใชทุกคนที่ตองการใชขอมูลชุดนี้จะใชโดยผานระบบฐานขอมูล ทาํ ใหไ มเ ปลอื งเนอ้ื ทใ่ี นการเกบ็ ขอ มลู และลดความซาํ้ ซอ นลงได 2.2 รักษาความถูกตองของขอมูล เนอ่ื งจากฐานขอ มลู มเี พยี งฐานขอ มลู เดยี ว ในกรณีที่มีขอมูลชุดเดียวกันปรากฏอยูหลายแหงในฐานขอมูล ขอมูลเหลานี้จะตองตรงกัน ถามีการแกไขขอมูลนี้ทุก ๆ แหงที่ขอมูลปรากฏอยูจะแกไขใหถูกตองตามกันหมดโดยอัตโนมัติดวยระบบจัดการฐานขอมูล

18 2.3 การปอ งกนั และรกั ษาความปลอดภยั ใหก บั ขอ มลู ทาํ ไดอ ยา งสะดวก การปอ งกนั และรกั ษาความปลอดภัยกับขอมูลระบบฐานขอมูลจะใหเฉพาะผูที่เกี่ยวของเทานั้นจึงจะมีสิทธิ์เขาไปใชฐานขอมูลไดเรียกวามีสทิ ธสิ ว นบคุ คล (privacy) ซง่ึ กอ ใหเ กดิ ความปลอดภยั (security) ของขอมูลดวย ฉะนั้นผูใดจะมีสิทธิ์ที่จะเขาถึงขอมูลไดจะตองมีการกําหนดสิทธิ์กันไวกอนและเมื่อเขาไปใชขอมูลนั้น ๆ ผูใชจะเห็นขอมูลที่ถูกเก็บไวในฐานขอมูลในรูปแบบที่ผูใชออกแบบไว ตัวอยางเชน ผูใชสรางตารางขอมูลขึ้นมาและเก็บลงในระบบฐานขอมูล ระบบจดั การฐานขอ มลู จะเกบ็ ขอ มลู เหลา นล้ี งในอปุ กรณเ กบ็ ขอ มลู ในรปู แบบของระบบจดั การฐานขอ มลู ซง่ึ อาจเกบ็ ขอ มลู เหลา นล้ี งในแผนจานบันทึกแมเหล็กเปนระเบียน บลอ็ กหรอื อน่ื ๆ ผูใชไมจําเปนตองรับรูวาโครงสรางของแฟมขอมูลนั้นเปน อยา งไร ปลอยใหเปนหนาที่ของระบบจัดการฐานขอมูล ดงั นน้ั ถา ผใู ชเ ปลย่ี นแปลงลกั ษณะการเกบ็ ขอ มลู เชน เปลี่ยนแปลงรูปแบบของตารางเสียใหม ผูใชก็ไมตองกังวลวาขอมูลของเขาจะถูกเก็บลงในแผนจานบันทึกแมเหล็กในลักษณะใด ระบบการจดั การฐานขอ มลูจะจัดการใหทั้งหมด ในทาํ นองเดยี วกนั ถา ผอู อกแบบระบบฐานขอ มลู เปลย่ี นวธิ กี ารเกบ็ ขอ มลู ลงบนอปุ กรณจ ดัเกบ็ ขอ มลู ผูใชก็ไมตองแกไขฐานขอมูลที่เขาออกแบบไวแลว ระบบการจัดการฐานขอมูลจะจัดการให ลกั ษณะเชน นเ้ี รยี กวา ความไมเกี่ยวของกันของขอมูล (data independent) 2.4 สามารถใชขอมูลรวมกันได เนื่องจากในระบบฐานขอมูลจะเปนที่เก็บรวบรวมขอมูลทุกอยางไว ผูใชแตละคนจึงสามารถที่จะใชขอมูลในระบบไดทุกขอมูล ซึ่งถาขอมูลไมไดถูกจัดใหเปนระบบฐานขอมูลแลว ผูใชก็จะใชไดเพียงขอมูลของตนเองเทานั้น เชน ดังภาพที่ 4.9 ขอมลู ของระบบเงนิ เดอื น ขอมูลของระบบงานบุคคลถูกจัดไวในระบบแฟมขอมูลผูใชที่ใชขอมูลระบบเงินเดือน จะใชขอมูลไดระบบเดียว แตถาขอมูลทั้ง 2ถกู เกบ็ ไวเ ปน ฐานขอ มลู ซง่ึ ถกู เกบ็ ไวใ นทท่ี เ่ี ดยี วกนั ผูใชทั้ง 2 ระบบกจ็ ะสามารถเรยี กใชฐ านขอ มลู เดยี วกนั ไดไมเพียงแตขอมูลเทานั้นสําหรับโปรแกรมตาง ๆ ถาเก็บไวในฐานขอมูลก็จะสามารถใชรวมกันได 2.5 มคี วามเปน อสิ ระของขอ มลู เมื่อผูใชตองการเปลี่ยนแปลงขอมูลหรือนําขอมูลมาประยุกตใชใหเหมาะสมกับโปรแกรมที่เขียนขึ้นมา จะสามารถสรางขอมูลนั้นขึ้นมาใชใหมได โดยไมมีผลกระทบตอระบบฐานขอ มลู เพราะขอมูลที่ผูใชนํามาประยุกตใชใหมนั้นจะไมกระทบตอโครงสรางที่แทจริงของการจัดเก็บขอมูลนน่ั คอื การใชระบบฐานขอมูลจะทําใหเกิดความเปนอิสระระหวางการจัดเก็บขอมูลและการประยุกตใช 2.6 สามารถขยายงานไดงาย เมื่อตองการจัดเพิ่มเติมขอมูลที่เกี่ยวของจะสามารถเพิ่มไดอยางงายไมซบั ซอ น เนอ่ื งจากมคี วามเปน อสิ ระของขอ มลู จึงไมมีผลกระทบตอขอมูลเดิมที่มีอยู 2.7 ทาํ ใหข อ มลู บรู ณะกลบั สสู ภาพปกตไิ ดเ รว็ และมมี าตรฐาน เนื่องจากการจัดพิมพขอมูลในระบบที่ไมไดใชฐานขอมูล ผูเขียนโปรแกรมแตละคนมีแฟมขอมูลของตนเองเฉพาะ ฉะน้ันแตละคนจึงตา งกส็ รา งระบบการบรู ณะขอ มลู ใหก ลบั สสู ภาพปกตใิ นกรณที ข่ี อ มลู เสยี หายดว ยตนเองและดว ยวธิ กี ารของตนเอง จึงขาดประสทิ ธภิ าพและมาตรฐาน แตเ มื่อมาเปนระบบฐานขอ มูลแลว การบรู ณะขอ มลู ใหก ลบั คนื สสู ภาพปกตจิ ะมีโปรแกรมชุดเดียวและมีผูดูแลเพียงคนเดียวที่ดูแลทั้งระบบ ซึ่งยอมตองมปี ระสทิ ธิภาพและเปน มาตรฐานเดียวกนั แนน อน

19 3.การบรหิ ารฐานขอมลู ในระบบฐานขอ มลู นอกจากจะมรี ะบบการจดั การฐานขอ มลู ซง่ึ เปน ซอฟตแ วรท ส่ี รา งขน้ึ เพอ่ื จดั การกับขอมูลใหเปนระบบ จะไดน าํ ไปเกบ็ รกั ษา เรยี กใช หรือนํามาปรับปรุงใหทันสมัยไดงายแลว ในระบบฐานขอมูลยังตองประกอบดวยบุคคลที่มีหนาที่ควบคุมดูแลระบบฐานขอมูล คอื ผบู ริหารฐานขอ มูล เหตผุ ลสาํ หรบั ประการหนง่ึ ของการจดั ทาํ ระบบจดั การฐานขอ มลู คอื การมีศูนยกลางควบคุมทั้งขอมูลและโปรแกรมที่เขาถึงขอมูลเหลานั้น บุคคลที่มีอํานาจหนาที่ดูแลการควบคุมนี้ เรียกวา ผูบ รหิ ารฐานขอมูลหรือ DBA (data base administor) คอื ผูมีหนาที่ควบคุมการบริหารงานของฐานขอมูลทั้งหมด 4. หนาที่ของผูบริหารฐานขอมูล 4.1 กําหนดโครงสรางหรือรูปแบบของฐานขอมูล โดยทําการวิเคราะหและตัดสินใจวาจะรวมขอมูลใดเขาไวในระบบใดบาง ควรจะจัดเก็บขอมูลดวยวิธีใด และใชเทคนิคใดในการเรยี กใชขอมูลอยางไร 4.2 กําหนดโครงสรางของอุปกรณเกบ็ ขอ มลู และวธิ กี ารเขา ถึงขอ มลู โดยกําหนดโครงสรางของอุปกรณเ ก็บขอมูลและวิธกี ารเขาถงึ ขอ มูล พรอ มทง้ั กาํ หนดแผนการในการสรา งระบบขอ มลู สาํ รองและการฟนสภาพ โดยการจัดเก็บขอมูลสํารองไวทุกระยะ และจะตองเตรียมการไววาถาเกิดความผิดพลาดขึ้นแลวจะทําการฟน สภาพไดอ ยา งไร 4.3 มอบหมายขอบเขตอํานาจหนาที่ของการเขาถึงขอมูลของผูใช โดยการประสานงานกับผูใช ใหคาํ ปรกึ ษา ใหความชวยเหลือแกผูใช และตรวจตราความตองการของผูใช 5.ระบบการจดั การฐานขอมลู (data base management system, DBMS) หนา ทข่ี องระบบการจัดการฐานขอ มูล 5.1ระบบจดั การฐานขอ มลู เปน ซอฟตแ วรท ท่ี าํ หนา ทด่ี งั ตอ ไปน้ี ดูแลการใชงานใหกับผูใช ในการติดตอกับตัวจัดการระบบแฟมขอมูลได ในระบบฐานขอมูลนี้ขอมูลจะมีขนาดใหญ ซึ่งจะถูกจัดเก็บไวในหนวยความจําสํารองเมื่อผูใชตองการจะใชฐานขอมูล ระบบการจดั การฐานขอมูลจะทาํ หนาทีต่ ดิ ตอกับระบบแฟมขอมูลซึ่งเสมือนเปนผูจัดการแฟมขอมูล (file manager) นําขอมูลจากหนวยความจําสํารองเขาสูหนวยความจําหลักเฉพาะสวนที่ตองการใชงาน และทําหนาที่ประสานกับตัวจัดการระบบแฟมขอมูลในการจัดเกบ็ เรยี กใช และแกไขขอมูล 5.2 ควบคุมระบบความปลอดภัยของขอมูลโดยปองกันไมใหผูที่ไมไดรับอนุญาตเขามาเรียกใชหรือแกไ ขขอ มลู ในสว นปอ งกนั เอาไว พรอ มทง้ั สรา งฟง กช นั ในการจดั ทาํ ขอ มลู สาํ รอง โดยเมื่อเกิดมีความขัดของของระบบแฟม ขอ มูลหรอื ของเครอ่ื งคอมพวิ เตอรเ กดิ การเสยี หายนน้ั ฟง กช นั นจ้ี ะสามารถทาํ การฟน สภาพของระบบขอ มลู กลบั เขา สสู ภาพทถ่ี กู ตอ งสมบรู ณไ ด 5.3 ควบคุมการใชขอมูลในสภาพที่มีผูใชพรอม ๆ กนั หลายคน โดยจัดการเมื่อมีขอผิดพลาดของขอมลู เกดิ ขน้ึ

20เรื่องที่ 1.2.3 ประโยชนของระบบจัดการฐานขอมูล ในปจจุบันองคกรสวนใหญหันมาใหความสนใจกับระบบฐานขอมูลกันมาก เนอ่ื งจากระบบฐานขอ มลูมปี ระโยชนด งั ตอ ไปน้ี1.ลดความซ้ําซอนของขอมูล เนื่องจากการใชง านระบบฐานขอมลู นั้นตองมกี ารออกแบบฐานขอ มูลเพื่อใหมคี วามซ้ําซอ นของขอมลู นอ ยทส่ี ดุ จดุ ประสงคห ลกั ของการออกแบบฐานขอ มลู เพอ่ื การลดความซาํ้ ซอ น สาเหตุทีต่ อ งลดความซํ้าซอ น เนื่องจากความยากในการปรับปรุงขอมูล กลา วคอื ถา เกบ็ ขอ มลู ซาํ้ ซอ นกนั หลายแหง เมอ่ื มกี ารปรบั ปรงุขอมูลแลวปรับปรุงขอมูลไมครบทําใหขอมูลเกิดความขัดแยงกันของขอมูลตามมา และยงั เปลอื งเนอ้ื ทก่ี ารจดัเกบ็ ขอ มลู ดว ย เนอ่ื งจากขอ มลู ชดุ เดยี วกนั จดั เกบ็ ซาํ้ กนั หลายแหง นน่ั เอง ถึงแมวาความซ้ําซอนชวยใหออกรายงานและตอบคําถามไดเร็วขึ้น แตขอมูลจะเกิดความขัดแยงกันในกรณีที่ตองมีการปรับปรุงขอมูลหลายแหง การออกรายงานจะทําไดเร็วเทาใดนั้นจึงไมมีความหมายแตอยางใด และเหตุผลที่สําคัญอีกประการหนึ่งคือปญหาเรื่องความขัดแยงกันของขอมูลแกไขไมไดดวยฮารดแวรขณะที่การออกรายงานชานั้นใชความสามารถของฮารดแวรชวยได2.รักษาความถูกตองของขอมูล เนื่องจากระบบจัดการฐานขอมูลสามารถตรวจสอบกฎบังคับความถูกตองของขอมูลใหได โดยนํากฎเหลานัน้ มาไวท ่ีฐานขอมูล ซึ่งถือเปนหนาที่ของระบบจัดการฐานขอมูลที่จะจัดการเรื่องความถูกตองของขอมูลใหแทน แตถาเปนระบบแฟมขอมูลผูพัฒนาโปรแกรมตองเขียนโปรแกรมเพื่อควบคุมกฎระเบียบตางๆ(dataintegrity) เองทั้งหมด ถาเขียนโปรแกรมครอบคลุมกฎระเบียบใดไมครบหรือขาดหายไปบางกฎอาจทําใหขอมลู ผดิ พลาดได และยังชวยลดคาใชจายในการบํารุงรักษาและพัฒนาโปรแกรมดวย เนอ่ื งจากระบบจดั การฐานขอ มลู จดั การใหน น่ั เอง เนื่องจากระบบจัดการฐานขอมลู สามารถรองรับการใชง านของผูใชหลายคนพรอ มกนัได ดังนั้นความคงสภาพและความถูกตองของขอมูลจึงมีความสําคัญมากและตองควบคุมใหดีเนื่องจากผูใชอาจเปลี่ยนแปลงแกไขขอมูลได ซึ่งจะทําใหเกิดความผิดพลาดกระทบตอการใชขอมูลของผูใชอื่นทั้งหมดไดดังนั้นประโยชนของระบบฐานขอมูลในเรื่องนี้จึงมีความสําคัญมาก3. มีความเปนอิสระของขอมูล เนื่องจากมีแนวคิดที่วาทําอยางไรใหโปรแกรมเปนอิสระจากการเปลี่ยนแปลงโครงสรางขอมูล ในปจจุบันนี้ถาไมใชระบบฐานขอมูลการแกไขโครงสรางขอมูลจะกระทบถึงโปรแกรมดวย เนอ่ื งจากในการเรยี กใชขอมูลที่เก็บอยูในระบบแฟมขอมูลนั้น ตองใชโปรแกรมที่เขียนขึ้นเพื่อเรียกใชขอมูลในแฟมขอมูลนั้นโดยเฉพาะ เชน เมอ่ื ตอ งการรายชอ่ื พนกั งานทม่ี เี งนิ เดอื นมากกวา 100,000 บาทตอ เดอื น โปรแกรมเมอรตองเขียนโปรแกรมเพื่ออานขอมูลจากแฟมขอมูลพนักงานและพิมพรายงานที่แสดงเฉพาะขอมูลที่ตรงตามเงื่อนไขที่กําหนด กรณีที่มีการเปลี่ยนแปลงโครงสรางของแฟมขอมูลขอมูลเชน ใหมีดัชนี (index) ตามชื่อพนักงานแทนรหัสพนกั งาน สง ผลใหรายงานท่ีแสดงรายชือ่ พนกั งานท่ีมีเงนิ เดอื นมากกวา 100,000 บาทตอ เดอื นซง่ึ แตเดิมกําหนดใหเรียงตามรหัสพนักงานนั้นไมสามารถพิมพได ทําใหตองมีการแกไขโปรแกรมตามโครงสรางดชั นี (index) ทเ่ี ปลย่ี นแปลงไป ลกั ษณะแบบนเ้ี รยี กวา ขอ มลู และโปรแกรมไมเ ปน อสิ ระตอ กนั

21 สาํ หรับระบบฐานขอ มลู นั้นขอมลู ภายในฐานขอมูลจะเปนอิสระจากโปรแกรมที่เรียกใช(dataindependence) สามารถแกไขโครงสรางทางกายภาพของขอมูลได โดยไมกระทบตอโปรแกรมที่เรียกใชขอมลู จากฐานขอ มูล เนอ่ื งจากระบบฐานขอ มลู มรี ะบบจดั การฐานขอ มลู ทาํ หนา ทแ่ี ปลงรปู (mapping) ใหเปนไปตามรูปแบบที่ผูใชตองการ เนื่องจากในระบบแฟมขอมูลนั้นไมมีความเปนอิสระของขอมูล ดงั นน้ั ระบบฐานขอมูลไดถูกพัฒนาขึ้นมาเพื่อแกปญหาดานความเปนอิสระของขอมูล นน่ั คอื ระบบฐานขอ มลู มกี ารทาํ งานไมข น้ึกับรูปแบบของฮารดแวรที่นํามาใชกับระบบฐานขอมูลและไมขึ้นกับโครงสรางทางกายภาพของขอมูล และมีการใชภาษาสอบถามในการติดตอกับขอมูลภายในฐานขอมูลแทนคําสั่งของภาษาคอมพิวเตอรในยุคที่ 3 ทําใหผูใชเรียกใชขอมูลจากฐานขอมูลโดยไมจําเปนตองทราบรูปแบบการจัดเก็บขอมูล ประเภทหรือขนาดของขอมลู นน้ั ๆ 4. มีความปลอดภัยของขอมูลสูง ถา หากทกุ คนสามารถเรยี กดแู ละเปลย่ี นแปลงขอ มลู ในฐานขอ มลู ทง้ั หมดได อาจกอ ใหเกดิ ความเสยีหายตอขอมูลได และขอมูลบางสวนอาจเปน ขอ มูลทไี่ มอาจเปดเผยไดหรอื เปน ขอ มูลเฉพาะของผบู ริหาร หากไมมีการจัดการดานความปลอดภัยของขอมูล ฐานขอมูลก็จะไมสามารถใชเก็บขอมูลบางสวนได ระบบฐานขอมูลสวนใหญจะมีการรักษาความปลอดภัยของขอมูล ดงั น้ี √ มีรหัสผูใช (user) และรหสั ผา น (password) ในการเขาใชงานฐานขอมูลสําหรับผูใชแตละคนระบบฐานขอมูลมีระบบการสอบถามชื่อพรอมรหัสผานของผูเขามาใชระบบงานเพื่อใหทํางานในสวนที่เกี่ยวของเทานน้ั โดยปองกันไมใหผูที่ไมไดรับอนุญาตเขามาเห็นหรือแกไขขอมูลในสวนที่ตองการปกปองไว √ ในระบบฐานขอมลู สามารถสรางและจัดการตารางขอมลู ทั้งหมดในฐานขอ มลู ทั้งการเพิ่มผูใชระงับการใชงานของผูใช อนุญาตใหผูใชสามารถเรียกดู เพิ่มเติม ลบและแกไขขอมูล หรือบางสวนของขอมูลไดใ นตารางทไ่ี ดร บั อนญุ าต) ระบบฐานขอมูลสามารถกําหนดสิทธิการมองเห็นและการใชงานของผูใชตางๆตามระดับสทิ ธิและอาํ นาจการใชง านขอมลู น้นั ๆ √ ในระบบฐานขอมูล (DBA) สามารถใชวิว (view) เพื่อประโยชนในการรักษาความปลอดภัยของขอมลู ไดเ ปน อยา งดี โดยการสรางวิวที่เสมือนเปนตารางของผูใชจริงๆ และขอมูลที่ปรากฏในวิวจะเปนขอมูลที่เกี่ยวของกับงานของผูใชเทานั้น ซึ่งจะไมกระทบกับขอมูลจริงในฐานขอมูล √ ระบบฐานขอมูลจะไมยอมใหโปรแกรมใดๆ เขาถึงขอมูลในระดับกายภาพ (physical) โดยไมผานระบบการจดั การฐานขอ มลู และถา ระบบเกิดความเสยี หายข้นึ ระบบจัดการฐานขอ มลู รบั รองไดวา ขอมูลทีย่ นืยนั การทาํ งานสาํ เรจ็ (commit) แลวจะไมสูญหาย และถา กลมุ งานที่ยงั ไมสาํ เร็จ (rollback) นน้ั ระบบจดั การฐานขอ มลู รบั รองไดว า ขอ มลู เดมิ กอ นการทาํ งานของกลมุ งานยงั ไมส ญู หาย √ มีการเขารหัสและถอดรหัส (encryption/decryption) เพื่อปกปดขอมูลแกผูที่ไมเกี่ยวของ เชน มีการเขา รหสั ขอ มลู รหสั ผา น 5. ใชขอมูลรวมกันโดยมีการควบคุมจากศูนยกลาง มีการควบคุมการใชขอมูลในฐานขอมูลจากศูนยกลาง ระบบฐานขอ มลู สามารถรองรบั การทาํ งานของผูใชหลายคนได กลา วคอื ระบบฐานขอ มลู จะตอ งควบคมุ ลาํ ดบั การทาํ งานใหเ ปน ไปอยา งถกู ตอ ง เชนขณะที่ผู

22ใชคนหนึ่งกําลังแกไขขอมูลสวนหนึ่งยังไมเสร็จ ก็จะไมอนุญาตใหผูใชคนอื่นเขามาเปลี่ยนแปลงแกไขขอมูลนั้นได เนื่องจากขอมูลที่เขามายังระบบฐานขอมูลจะถูกนําเขาโดยระบบงานระดับปฏิบัติการตามหนวยงานยอยขององคกร ซึ่งในแตละหนวยงานจะมีสิทธิในการจัดการขอมูลไมเทากัน ระบบฐานขอ มลู จะทาํ การจดั การวาหนวยงานใดใชระบบจัดการฐานขอมูลในระดับใดบาง ใครเปน ผนู าํ ขอ มลู เขา ใครมีสิทธิแกไขขอมูล และใครมีสิทธิเพียงเรียกใชขอมูล เพื่อที่จะใหสิทธิที่ถูกตองบนตารางที่สมควรใหใช ระบบฐานขอมลู จะบอกรายละเอยี ดวาขอ มลู ใดถกู จัดเก็บไวในตารางชอ่ื อะไร เมื่อมีคําถามจากผูบริหารจะสามารถหาขอมูลเพื่อตอบคําถามไดทันทีโดยใชภาษาฐานขอมูลที่มีประสิทธิภาพมาก คอื SQL ซง่ึสามารถตอบคําถามที่เกิดขึ้นในขณะใดขณะหนึ่งที่เกี่ยวของกับฐานขอมูลไดทันที โดยไมจําเปนตองเขียนภาษาโปรแกรมอยางเชน โคบอล ซี หรือ ปาสคาล ซง่ึ เสยี เวลานานมากจนอาจไมทนั ตอ ความตอ งการใชข อมูลเพือ่ การตดั สินใจของผูบริหาร เนื่องจากระบบจัดการฐานขอมูลนั้นสามารถจัดการใหผูใชทํางานพรอมๆ กนั ไดห ลายคน ดงั นน้ัโปรแกรมที่พัฒนาภายใตการดูแลของระบบจัดการฐานขอมูลจะสามารถใชขอมูลรวมกันในฐานขอมูลเดียวกันระบบฐานขอมูลจะแบงเบาภาระในการพัฒนาระบบงานถาการพัฒนาระบบงานไมใชระบบฐานขอมูล (ใชระบบแฟมขอมูล) ผูพัฒนาโปรแกรมจะตองจัดการสิ่งเหลานี้เองทั้งหมด นั่นคือระบบฐานขอมูลทําใหการใชขอมูลเกดิ ความเปน อสิ ระระหวา งการจดั เกบ็ ขอ มลู และการประยกุ ตใ ช เพราะสว นของการจดั เกบ็ ขอ มลู จรงิ ถกู ซอ นจากการใชงานจรงิ นน่ั เอง

23 ตอนท่ี 1.3 สถาปตยกรรมของระบบฐานขอมูลหวั เรอ่ื ง เรอ่ื งท่ี 1.3.1 ระดบั ของขอ มลู เรอ่ื งท่ี 1.3.2 ความเปน อสิ ระของขอ มลู เรอ่ื งท่ี 1.3.3 ภาษาที่ใชในระบบฐานขอมูลแนวคดิ 1. สถาปตยกรรมของระบบฐานขอมูล (architecture for ad database system) เปรยี บเสมือน กรอบซึ่งจะใชเปนประโยชนในการบรรยายถึงแนวคิดและอธิบายถึงโครงสรางของระบบฐานขอ มูลแบบตางๆ โครงสรา งฐานขอ มลู 3 ระดบั คอื ระดบั ภายนอก ระดับภายใน และระดบั แนวคดิ ซึ่งเปนรูปแบบและโครงสรางที่ใชกับระบบฐานขอมูลโดยทั่วไป 2. ความเปน อสิ ระของขอ มลู เชงิ ตรรกะ (logical data independence)) ในความหมายที่ใชกับ ระบบฐานขอมูลจะหมายถึงมุมมองของผูใชตอขอมูลโดยเมื่อมีการเปลี่ยนแปลงแกไขโครงสราง ขอมูลในระดับแนวคิด จะไมมีผลกระทบตอโครงสรางขอมูลในระดับภายนอกที่ผูใชใชงานอยู ความเปน อสิ ระของขอ มลู เชงิ กายภาพ (physical data independence) หมายถึง เมื่อมีการ เปลี่ยนแปลงแกไขโครงสรางขอมูลในระดับภายใน จะไมมีผลกระทบตอโครงสรางขอมูลในระดับ แนวคิด หรอื ระดบั ภายนอก 3. ภาษาหลกั ของระบบจดั การฐานขอมลู คือภาษานิยามขอมูล ภาษาจัดการขอมูลและภาษาควบ คมุ ภาษานิยามขอมูล (Data Definition Language; DDL) เปนภาษาที่ใชในการกําหนดสคีมา ระดบั แนวคิด ภาษานิยามขอมูลใชกําหนดวิวของผูใชและโครงสรางการจัดเก็บขอมูล ภาษาจัด การขอมูล (Data Manipulation Language; DML) เปนภาษาใชสําหรับจัดการขอมูลภายในฐาน ขอมูล ไดแ กก ารเรยี กคน เพม่ิ ลบ และปรบั ปรงุ ฐานขอ มลู ภาษาควบคุม (Data Control Language : DCL) : เปนภาษาที่ใชในการควบคุม ความถูกตองของขอมูล การเกดิ ภาวะพรอ ม กนั หรอื การปองกันการเกดิ เหตกุ ารณท ีผ่ ใู ชห ลายคนเรยี กใชขอ มูลพรอมกนัวัตถุประสงค หลังจากศึกษาตอนที่ 1.3 แลว นกั ศกึ ษาสามารถ 1. บอกโครงสรา งฐานขอ มลู 3 ระดบั ได 2. บอกความหมายของความเปน อสิ ระของขอ มลู เชงิ ตรรกะ ความเปน อสิ ระของขอ มลู เชงิ กายภาพ ได 3. ระบภุ าษาหลกั ของระบบจดั การฐานขอ มลู ได

24เรื่องที่ 1.3.1 ระดับของขอมูล ในระบบฐานขอมูล1. ระดับชั้นของระบบจัดการฐานขอมูล ระบบฐานขอ มลู เปนการนําขอมูลในองคการที่มีความเกี่ยวของกันมารวมไวอยางเปนระบบในที่เดยี วกนั โดยที่ผูใชฐานขอมูลจะมองขอมูลนี้ในแงมุมหรือวิวที่แตกตางกันไปตามจุดประสงคของการประยุกตใชงาน โดยผูใชไมจําเปนตองสนใจวาลักษณะการจัดเก็บขอมูลโดยแทจริงแลวเปนเชนไร โดยระบบฐานขอมูลจะทาํ การซอ นรายละเอยี ดไว โดยจัดแบงระดับของขอมูลออกเปนระดับชั้นระดับชั้นของขอมูลถูกพัฒนาขึ้นโดย The Standards Planing and Requiremenst Committee(SPARC) ของ American National Standards institure (ANSI) จะถกู แบง ออกเปน 4 ระดบั1.1 ระดบั ภายนอก (external level) เปนระดับที่อยูสูงสุดโดยผูใชสามารถมองเห็นงานของผูใชแตละคน และสามารถเรยี กใชฐ านขอ มลู ไดใ นระดบั น้ี1.2 ระดบั หลกั การ (conceptual level) เปน ระดบั ทอ่ี ยถู ดั ขน้ึ มาไดแ ก ระดบั ของการมองแฟม ขอ มลูของระบบฐานขอมูลรวมทั้งกฎเกณฑตาง ๆ เกี่ยวกับขอมูลและผูที่มีสิทธิจะใช ขอมูลในระดับนี้จะถูกใชโดยโปรแกรมเมอรห รอื ผเู ขยี นโปรแกรม1.3 ระดับภายใน (internal level) เปนระดับของการจัดความสัมพันธระหวางแฟมขอมูลของระบบฐานขอมูลและการเชื่อมโยงแตละแฟมขอมูล ขอมูลในระดับนี้จะถูกใชโดยผูจัดการฐานขอมูลและผูเขียนโปรแกรมระบบ (system programmer)1.4 ระดบั โครงสรา งแทจ รงิ (physical organization level) เปน ระดบั ทต่ี าํ่ ทส่ี ดุ อนั ไดแ ก กลุม ของแฟมขอมูลที่จัดเก็บไวเปนแฟมขอมูลจริงและโครงสรางของแฟมขอมูลภาพที่1.2 แสดงระดับชั้นของขอมูล

25 ประโยชนของการแบง ระดบั ช้ันนัน้ เพอ่ื ใหข อ มลู เปนอิสระตอ กัน ความเปน อสิ ระของขอ มลู คอื การทผ่ี ูใชไมตองมาคอยแกไขโปรแกรมที่ใชงานในทุก ๆ ครง้ั ทเ่ี กดิ การเปลย่ี นแปลงแกไ ขฐานขอ มลู ระบบจดั การฐานขอมูลจะทําหนาที่เชื่อมโยงขอมูลระหวางแตละระดับเรื่องที่ 1.3.2 ความเปนอิสระของขอมูล 1.แนวคิดเชิงกายภาพและตรรกะ เนอ่ื งจากฐานขอ มลู มลี กั ษณะเดน ทเ่ี หนอื กวา ระบบแฟม ขอ มลู คอื ความเปน อิสระของขอ มลู การทผ่ี ูใชไมตองแกไขโปรแกรมที่ใชงานเมื่อมีการเปลี่ยนแปลงขอมูลระดับแนวคิดหรือระดับภายใน โดยเปน หนา ท่ีของระบบจดั การฐานขอ มลู หรอื ดบี เี อม็ เอสในการเชอ่ื มขอ มลู ระดบั ภายนอกและระดบั แนวคดิ และเชื่อมขอมูลระดบั แนวคดิ กบั ระดบั ภายใน ซึ่งการเชื่อมนี้เกี่ยวของกับความเปนอิสระของขอมูล ทําใหผูใชไมจําเปนตองรับทราบเกย่ี วกบั ขอ มลู สว นอน่ื ๆ ที่ตนไมไดใช ผใู ชมองเหน็ โครงสรา งขอ มลู ระดบั ภายนอกเหมอื นเดมิ และสามารถใชงานไดตามปกติ กลา วคือขอมูลภายในฐานขอ มูลเปน อิสระจากโปรแกรมท่เี รียกใช เพอ่ื ทส่ี ามารถแกไขโครงสรางทางกายภาพของขอมูลได โดยไมกระทบตอโปรแกรมที่เรียกใชฐานขอมูลนั้น ความเปนอสิ ระของขอ มลู แบง ออกเปน 2 ลกั ษณะ คอื 1.1ความเปน อสิ ระของขอ มลู เชงิ ตรรกะ (logical data independence) ตรรกะ (logical) ในความหมายที่ใชกับระบบฐานขอมูลจะหมายถึงมุมมองของผูใชตอขอมูลนั้น โดยขึ้นอยูกับผูใชวาทํางานเกี่ยวของกับขอมลู ลกั ษณะใด ตัวอยาง ถามีคําถามวาแฟมขอมูลคืออะไร ถาถามบุคคลในวงการคอมพิวเตอร คาํ ตอบทไ่ี ดคอื ทเ่ี กบ็ รวบรวมเรคอรด เพราะวาบุคคลเหลานี้สวนใหญคือโปรแกรมเมอรผูเขียนโปรแกรม ซึ่งในมุมมองของผูเขียนโปรแกรมนั้นจะมองแฟมขอมูลเปนเรคอรด นั่นคือขณะที่โปรแกรมเมอรใชคําสั่งอานขอมูล (read) 1 คาํสั่งจะไดขอมูล 1 เรคอรด และเมื่อใชคําสั่งเขียน (write) 1 คําสั่งจะบันทึกขอมูล 1 เรคอรด นั่นคือในมุมมองของโปรแกรมเมอรจะเห็นแฟมขอมูลเปนเรคอรด แตถาเราถามเจาหนาที่สารบรรณวาแฟมขอมูลคืออะไร เจาหนาที่สารบรรณจะตอบวาคือที่เก็บรวบรวมตัวอักษรหรือขอความ เพราะวาเจาหนาที่ดังกลาวมองแฟมขอมูลเปนที่เก็บตัวอักษร เนื่องจากใชโปรแกรมไมโครซอฟตเวิรดจัดการกับขอมูลและเก็บขอมูลซึ่งเปนตัวอักษรและขอความตางๆ เปน แฟม ขอ มลู นน่ั เอง น่นั คอื บคุ คลเหลาน้ันทงั้ โปรแกรมเมอรและเจาหนา ทส่ี ารบรรณมมี ุมมองตอแฟมขอมูลตางกันขึ้นอยูกับลักษณะงานที่เกี่ยวของดวย ซึ่งแฟมขอมูลที่ผูใชเห็นนี้เรียกวา แฟมขอมูลเชิงตรรกะ (logical file) ดงั นน้ั อาจกลา วไดว า ความเปน อสิ ระของขอ มลู เชงิ ตรรกะ (logical dataindependence) หมายถึง เมื่อมีการเปลี่ยนแปลงแกไขโครงสรางขอมลู ในระดับแนวคิด จะไมมีผลกระทบตอโครงสรางขอมูลในระดับภายนอกที่ผูใชใชงานอยู เชน เมื่อมีการเปลี่ยนแปลงขนาดของแอตทริบิวตในตารางฐานขอ มลู ในระดบั แนวคดิ ก็ไมจําเปนตองไปแกไขโปรแกรมประยุกตที่ผูใชเขียนขึ้นในระดับภายนอกที่มีการเรียกใชแ อตทริบวิ ตนั้นในการทาํ งานกับฐานขอ มูลตอ งรูวาสง่ิ ท่ีเราทํางานอยูดว ยนัน้ เกีย่ วของกับระดบั กายภาพหรอื ระดบั ตรรกะ 1.2 ความเปน อสิ ระของขอ มลู เชงิ กายภาพ (physical data independence) กายภาพ (physical)ในความหมายของระบบผูใชจะหมายถึงมุมมองของระบบปฏิบัติการ (Operating System; OS) ตอ ขอ มลู น้ันจากคําถามขางตนถามวาแฟมขอมูลคืออะไร คําตอบที่ไดในที่นี้คือที่เก็บรวบรวมบิตโดยนํารูปแบบของบิต(bit pattern) มาเรยี งตอ กนั เปน สาย ซึ่งเปน คาํ ตอบในมุมมองของระบบปฏบิ ัติการ จะเห็นวาไมเกี่ยวของกับเร

26คอรด หรอื ตวั อกั ษร ซึ่งแฟมขอมูลในมุมมองของระบบปฏิบัติการนี้เรียกวา แฟมขอมูลเชิงกายภาพ (physicalfile) ความเปน อสิ ระของขอ มลู เชงิ กายภาพ (physical data independence) หมายถึง เมอ่ื มกี ารเปลย่ี นแปลงแกไขโครงสรางขอมูลในระดับภายใน จะไมมีผลกระทบตอโครงสรางขอมูลในระดับแนวคิด หรอื ระดบั ภายนอก เชน เมอื่ มีการเปล่ยี นวธิ กี ารจดั เก็บขอมลู จากแบบเรยี งลําดบั (sequential) ไปเปนแบบดัชนี (indexed)ในระดับภายใน ในระดบั แนวคดิ นน้ั จะไมม ผี ลกระทบตอ การเปลย่ี นแปลงดงั กลา ว หรือโปรแกรมประยุกตที่เขียนในระดับภายนอกก็ไมจําเปนตองแกไขโปรแกรมตามวิธีการจัดเก็บที่เปลี่ยนแปลงไป 2.การออกแบบฐานขอมูล สรุปไดวาแฟมขอมูลที่กลาวถึงนั้นคือสิ่งเดียวกันแตเมื่อมองจากตางมุมจะมองเห็นตางกัน ซึ่งในมุมมองของผูใชนั้นเปนมุมมองเชิงตรรกะ ขณะที่มุมมองของระบบปฏิบัติการเปนมุมมองเชิงกายภาพ การสรางฐานขอมูลขึ้นใชงานในองคการหรือหนวยงานตางๆ กจ็ ําเปนจะตองดําเนินการตามขั้นตอนทเ่ี หมาะสม และตองมีวิธีจัดการขอมูล โดยปกตกิ ารสรา งฐานขอ มลู จาํ เปน จะตอ งออกแบบฐานขอ มลู เปน สองระยะหรอื สองขน้ั ตอนดว ยกนั ขน้ั แรกกค็ อื การออกแบบเชงิ แนวคดิ (conceptual design) หรือเชิงตรรกะ(logical design) และขน้ั ทส่ี องกค็ อื การออกแบบเชิงกายภาพ (physical design) 2.1 การออกแบบเชิงตรรกะเนนในดานการจัดกลุมขอมูลในฐานขอมูลใหเปนหมวดหมู หรือ เปนตารางทเ่ี หมาะสม การออกแบบเริ่มตนดวยการพิจารณาวาหนวยงานจะตองใชขอมูลอะไรบาง ขอมูลเหลานั้นมีความสัมพันธกันอยางไรบาง จะจัดกลุมขอมูลอยางไรจึงจะเหมาะสมและไมเกิดความซ้ําซอน การพจิ ารณาการจัดกลุมนี้จะตองคํานึงถึงลักษณะของประเภทฐานขอมูลที่จะจัดทําขึ้นดวย 2.2 การออกแบบเชงิ กายภาพ เนน ในดา นการกาํ หนดวา ขอ มลู แตล ะรายการหรอื ตารางขอ มลู ตา งๆจะจัดเก็บลงในสื่อขอมูลเชนจานแมเหล็กไดอยางไร มกี ารกาํ หนดวา ขอ มลู แตล ะรายการเปน ขอ มลู ประเภทอกั ขระ จํานวน หรอื ประเภทอน่ื ๆ และตองใชเนื้อที่ในการเก็บมากนอยเทาใด การออกแบบฐานขอ มลู ในสว นนี้จําเปนจะตองใชผูเชี่ยวชาญที่ศึกษาดานฐานขอมูลมาโดยตรง ฐานขอมูลเปนงานประยุกตคอมพิวเตอรที่มีความสําคัญเปนอยางยิ่งในยุคปจจุบัน อาจกลา วไดว างานประยกุ ตค อมพวิ เตอรท กุ งานลว นตอ งสรา งขน้ึ บนฐานขอ มลู แทบทง้ั สน้ิ ดังนั้นการศึกษาทําความเขาใจเรอ่ื งของฐานขอ มลู จงึ เปน เรอ่ื งจาํ เปน ยิ่งหากไดศึกษาจนถึงขั้นออกแบบและใชงานไดจริงแลวยิ่งจะเปนประโยชนมากขึ้นเปนทวีคูณ 3.วิวกับการแปลงรูป โครงสรา งของสถาปต ยกรรมของฐานขอ มลู 3 ระดบั นน้ั แตละระดับจะมี DBMS ทาํ หนา ทใ่ี นการแปลงรูประดับขอ มลู จากระดับหนึ่งไปยงั อีกระดบั หนง่ึ ไดแ ก การแปลงรปู ระหวา งระดบั ภายนอกกบั ระดบั แนวคดิ และระหวา งระดบั แนวคดิ กบั ระดบั ภายใน การถายทอดมุมมองจากสถาปตยกรรมในระดับที่สูงกวาไปยังระดับที่ต่ํากวา เรยี กวา การแปลงรปู(mapping) การแปลงรปู แบง เปน 2 ลกั ษณะ คอื หนง่ึ การแปลงรปู ระหวา งระดบั ภายนอกกบั ระดับแนวคดิและสองการแปลงรปู ระหวา งระดบั แนวคดิ กบั ระดบั ภายใน

27 3..1 การแปลงรปู ระหวา งระดบั ภายนอกกบั ระดบั แนวคดิ (external/conceptual mapping) เปน การกาํ หนดความสอดคลอ งกนั ระหวา งมมุ มองในระดบั ภายนอกและระดับแนวคิดที่เรยี กวา ความเปน อสิ ระของขอมูลเชิงตรรกะ(logical data independence) โดยถายทอดมุมมองที่มีตอขอมูลจากสถาปตยกรรมในระดับภายนอกไปยงั สถาปต ยกรรมในระดบั แนวคดิ เพื่อใหผูใชฐานขอมูลสามารถมีมุมมองขอมูลที่แตกตางกันได ในระดบั แนวคดิ นน้ั อาจมกี ารเปลย่ี นแปลง ชนิดขอมูล (data type) ของแอตทริบิวต เปลี่ยนแปลงชื่อแอตทริบิวตเปน ตน โดยสามารถเชอ่ื มการเปลย่ี นแปลงนไ้ี ปสแู อตทรบิ วิ ตร ะดบั ภายนอกได ทําใหสคีมาภายนอกก็ยังคงใชไดเ หมอื นเดิมไมตอ งเปลี่ยนแปลงใดๆ หรอื กลา ววา นค่ี อื การรกั ษาความเปน อสิ ระขอ มลู เชงิ ตรรกะนน่ั เอง 3.2 การแปลงรูประหวางระดับแนวคิดกบั ระดบั ภายใน (conceptual/internal mapping) เปน การกําหนดความสอดคลองกันระหวางมุมมองในระดับแนวคิดกับระดับภายในที่เรียกวาความเปนอิสระของขอมูลเชงิ กายภาพ ( physical data independence) โดยถายทอดมุมมองที่มีตอขอมูลจากสถาปตยกรรมในระดับแนวคดิ ไปยงั สถาปตยกรรมในระดับภายในเพื่อนาํ โครงสรา งของขอ มลู ในระดับแนวคิดไปแปลงเปนโครงสรา งของขอมูลในระดับกายภาพเพื่อใชในการจัดเก็บขอมูล โดยระบุโครงสรางเรคอรดและฟล ดท ีใ่ ชจ ดั เกบ็ ขอมลู ในระดับภายใน ถา โครงสรางของขอ มลู ในฐานขอมลู ทีจ่ ัดเก็บเปล่ยี นแปลงไป เชน เมื่อมีการเปล่ยี นนยิ ามโครงสรางการจัดเก็บทําใหการแปลงรูปจากระดับแนวคิดไปยังระดับภายในตองเปลี่ยนแปลงตามไปดวย แตสคีมาแนวคิดยังคงอยูเหมือนเดิมไมตองเปลี่ยนแปลงแตอยางใด หรอื กลา วอกี นยั หนง่ึ ผลของการเปลย่ี นแปลงในระดบั ภายในตอ งเปน อสิ ระจากระดบั แนวคดิ เพอ่ื ทจ่ี ะรกั ษาความเปน อสิ ระของขอ มลู เชงิ กายภาพนน่ั เอง การแปลงรูปขอมูลระหวางระดับแนวคิดกับระดับภายใน ทําใหผูใชงานฐานขอมูลไมวาในระดับแนวคิดหรือระดับภายนอกไมจําเปนตองทราบวาขอมูลที่ตนใชงานอยูถูกจัดเก็บในดิสกอยางไร เมอ่ื ตอ งการใชขอมลู ใดสามารถอางถงึ ชื่อตารางและฟล ดไดโ ดยตรง ซึ่งจะเปนหนาที่ของระบบจัดการฐานขอมูลที่จะดูวาขอมูลที่ผูใชตองการเก็บอยูในตําแหนงแทรกใด ไซลินเดอรใ ดในดสิ ก แลวทําการดึงขอมูลนั้นมาใหแกผูใชเรื่องที่ 1.3.3 ภาษาที่ใชในระบบฐานขอมูล ภาษาของระบบจัดการฐานขอมูลที่มีใชกันในปจจุบันไดแก ภาษานยิ ามขอมูล ภาษาจัดการขอมูลและภาษาควบคุม 1 ภาษานยิ ามขอ มลู (Data Definition Language; DDL) เปนภาษาที่ใชในการกําหนดสคีมาระดับแนวคิด ภาษานิยามขอมูลใชกําหนดวิวของผูใชและโครงสรา งการจดั เกบ็ ขอ มลู สําหรับระบบจัดการฐานขอมูลบางตัวอาจมีภาษานิยามวิว (View DefinitionLanguage; VDL) และภาษานิยามการจัดเก็บขอมูล (Storage Definition Language; SDL) แยกตางหากเพื่อกําหนดวิวและโครงสรางการจัดเก็บ ตามลาํ ดบั ซึ่งระบบจัดการฐานขอมูลจะมีสวนแปลภาษานิยามขอมูล ทําหนาที่แปลงประโยคคําสั่งภาษานิยามขอมูล (DDL) เพอ่ื กาํ หนดรายละเอยี ดของโครงสรา งและเกบ็ ไวใ นสารบัญแฟมของระบบจัดการฐานขอมูล นั่นคือผลจากการแปลงประโยคคําสั่งที่เขียนดวยภาษานิยามขอมูล(DDL) จะทําใหไ ดตารางท่เี กบ็ ขอมลู เกยี่ วกับโครงสรา งท่ีไดจากการออกแบบฐานขอมลู น้ันๆ ซึ่งเรยี กวาพจนานกุ รมขอ มูล (data dictionary) ซง่ึ เกบ็ รายละเอยี ดฐานขอ มลู ทส่ี รา งขน้ึ มชี อ่ื อะไร มีโครงสรา งประกอบ

28ดวยตารางชื่ออะไร แตล ะตารางประกอบดว ยฟล ดใ ดบา ง ฟล ดแ ตล ะฟล ดม ชี นดิ ขอ มลู เปน อะไร มีความกวางของขอมูลเทาใด และมีฟลดใดบางเปนคีย มีดชั นี (index) ชวยในการคนหาขอมูลหรือไม เปน ตน 2 ภาษาจัดการขอมูล (Data Manipulation Language; DML) เปนภาษาใชสําหรับจัดการขอมูลภายในฐานขอมูล ไดแ กก ารเรยี กคน เพม่ิ ลบ และปรบั ปรงุ ฐานขอมูล ภาษาจัดการขอมูล (DML) มี ประเภทหลกั ๆ คือเปนภาษาที่ผูใชกําหนดโครงสรางหรือแบบแผนในการเกบ็ ขอ มลู เชน กาํ หนดหัวขอและลักษณะของคอลัมนข องตารางตาง ๆ ที่จะใชบันทึกขอมูล ภาษากําหนดขอมูล จะทําใหเกิดตารางที่จะจัดเก็บขอมูลที่สําคัญตอการทํางานของ DBMS ขึ้นมาชุดหนึ่ง ตารางนี้มีชื่อวาพจนานกุ รมขอ มลู (data dictionary) ซึ่งระบบจัดการฐานขอมูลจะอาศัยโครงสรางจากแฟมขอมูลนี้เสมอ เชนดชั นี (index) ตาง ๆ เปน ตน การเรยี กดขู อ มลู ออกจากฐานขอ มลู จะตอ งผา นคาํ สง่ั หรอื ขอ ความของภาษาจัดการขอ มลู หาขอ ความซง่ึ กลุม ของขอ ความเหลา นนั้ มีลักษณะเปนการถามระบบขอ มูลเพ่ือใหร ะบบจดั การฐานขอมลู หาคาํ ตอบจากขอมูลที่เก็บไวและตอบกลับมา กลุมของขอความเหลานั้นเรียกวา ภาษาคําถาม (query language) แตโดยทั่วไปแลวคําวา DML และ ภาษาคาํ ถาม จะใชแทนกันเสมอ เชน SELECT EMPLOYEE-NAME FROM EMPLOYEE-FILE WHERE SEX = “FEMALE” AND SALARY GREATER THAN 5000 เปน การไปเรยี กดขู อ มลู ชอ่ื ของลกู จา งทเ่ี ปน ผหู ญงิ และมเี งนิ เดอื นมากกวา 5,000 จากฐานขอมูลชื่อEMPLOYEE-FILE 3. ภาษาที่ใชในการควบคุมขอมูล หรือ DCL (data control language) เปนภาษาที่ใชในการควบคุมความถูกตองของขอมูล และควบคุมความปลอดภัยของขอมูล ภาษาในสว นน้ีจะทําการปองกนั การเกิดเหตุการณท่ีผูใชหลายคนเรียกใชข อมูลพรอ มกัน โดยจะทําหนาที่ควบคุมความถูกตองของการใชขอมูลและทําการลําดับการใชขอมูลของผูใชแตละคนและตรวจสอบสิทธิ์ในการใชขอมูลนั้นๆ

29 ตอนท่ี 1.4 แนวคิดฐานขอมูลแบบตางๆหวั เรอ่ื ง เรอ่ื งท่ี 1.4.1 ฐานขอ มลู แบบลาํ ดบั ชน้ั เรอ่ื งท่ี 1.4.2 ฐานขอ มูลแบบเครอื ขาย เรอ่ื งท่ี 1.4.3 ฐานขอมูลแบบแบบสัมพันธแนวคดิ 1. ฐานขอ มลู แบบลาํ ดบั ชน้ั เปน ฐานขอ มลู ทน่ี าํ เสนอขอ มลู และความสมั พนั ธร ะหวา งขอ มลู ในรปู แบบเปน โครงสรา งลกั ษณะคลา ยตน ไมเ ปน ลาํ ดบั ชน้ั 2. ฐานขอ มลู แบบเครอื ขาย เปนลักษณะการเชื่อมโยงขอมูลใหเชื่อมกันเปนชุด 3. ฐานขอมูลแบบสัมพันธ นําเสนอขอ มลู และความสมั พนั ธระหวางขอมลู ในรปู รเี ลชัน (relation) ซง่ึ นาํ เสนอฐานขอ มลู ในรปู ของตาราง ในลกั ษณะของแนวนอน(row)กับแนวตั้ง(column)วัตถุประสงค หลังจากศึกษาตอนที่ 1.4 แลว นกั ศกึ ษาสามารถ 1. บอกโครงสรางขอมูล กฎควบคุมความถูกตอง และภาษาจดั การขอ มลู ของฐานขอ มลู แบบลาํ ดบั ชั้นได 2. บอกโครงสรางขอมูล กฎควบคุมความถูกตอง และภาษาจัดการขอ มลู ของฐานขอ มลู แบบเครือ ขายได 3. บอกโครงสรางขอมูล กฎควบคุมความถูกตอง และภาษาจัดการขอมูลของฐานขอมูลแบบ สัมพันธไดเรื่องที่ 1.4.1ฐานขอมูลแบบ Hierarchical Data Model การนาํ เสนอรายละเอยี ดและโครงสรา งของขอ มูล จะอาศยั ฐานขอ มลู (data model) เปนตัวอธิบายในการออกแบบฐานขอ มลู เราจะใชฐานขอ มูล ชวยในการอธิบายรายละเอียดของขอมูล ความสัมพันธตางๆของขอมูล และอธิบายถึงโครงสรางของขอมูลในฐานขอมูล จากนยิ ามฐานขอ มลู กลา ววา ฐานขอ มลู คอื ทเ่ี กบ็ขอมูลและความสัมพันธระหวางขอมูล ซึ่งขอมูลและความสัมพันธระหวางขอมูลนั้นจะนําเสนอใหผูใชเห็นโดยใชสิ่งที่เรียกวา ฐานขอ มลู (data model) นน่ั เอง ดงั นน้ั ฐานขอ มลู หมายถึง โครงสรา งขอ มลู ระดบัตรรกะ(logical) ที่นําเสนอขอมูลและความสัมพันธระหวางขอมูลใหผูใชเห็นและเขาใจได ฐานขอมูลที่ใชในงานฐานขอ มลู นน้ั เปน การอธิบายใหเห็นวาภายในฐานขอมูลประกอบดวยขอมูลอะไรบาง แตละขอมูลมีความสมั พนั ธก นั อยา งไร มีโครงสรางขอมูลเปนอยางไร มีกฎควบคุมความถูกตองบนโครงสรางขอมูลเปนอยางไรและภาษาจัดการขอมลู เปนอยา งไร เปน ตน

301.คุณสมบัติหลักของฐานขอมูล คุณสมบตั หิ ลกั ของฐานขอมูลไมวา จะเปนฐานขอมลู ใดๆ ทั้งฐานขอมูลแบบไฮราคี ฐานขอ มูลแบบเครอื ขา ย ฐานขอ มลู แบบออบเจกต ฐานขอมูลแบบสัมพันธ หรอื ฐานขอ มลู แบบอน่ื ๆ จะมีคุณสมบัติหลัก ดงัตอ ไปน้ี คอื 1.1 โครงสรางขอมูล (data structures) คอื โครงสรา งขอ มลู ระดบั ตรรกะทโ่ี ปรแกรมประยกุ ตเ หน็เปน การบอกวา ฐานขอ มลู นน้ั ๆ มีโครงสรางขอมูลเปนอยางไร 1.2 กฎควบคุมความถูกตอง (integrity constraint) เปน การบอกวา โครงสรา งขอ มลู นน้ั มกี ฎบงั คบัความถูกตองอยางไร 1.3 ภาษาจัดการขอมูล (data manipulation language) เปน การบอกวา มภี าษาจดั การขอ มลู บนโครงสรางขอ มูลเปนอยา งไร2.ประเภทของฐานขอมูล ฐานขอมูลที่รูจักกันในปจจุบันมีดวยกัน 4 ประเภท คอื ฐานขอ มูลแบบเครอื ขาย (hierarchicalmodel) ฐานขอ มลู แบบลาํ ดบั ชน้ั (hierarchy model) ฐานขอมูลแบบสัมพันธ (relational model) และฐานขอมลู แบบจาํ ลองเชงิ วตั ถุ (object oriented model) ฐานขอ มลู มกี ารนาํ เสนอตอ เนอ่ื งมาเปน ระยะๆ ฐานขอ มลู ท่ีประสบความสําเร็จและมีผูใชในวงการธุรกิจเริ่มจากฐานขอมูลแบบแรก คอื ฐานขอ มลู แบบลาํ ดบั ชน้ั หรอื ไฮราคี ถดั มาคอื ฐานขอ มลู แบบเครอื ขา ย และฐานขอมูลที่มีการใชกันมากที่สุดในปจจุบัน คอื ฐานขอ มลู แบบสมั พนั ธ และปจจุบันนี้มีฐานขอมูลสมัยใหมเกิดขึ้นคือฐานขอมูลแบบออบเจกต นน่ั คอื ฐานขอ มลู นน้ั มกี ารนาํเสนอขอมูลและความสัมพันธระหวางขอมูลที่แตกตางกันไป ซง่ึ การนาํ เสนอในฐานขอ มลู แบบสมั พนั ธห รอื รปูแบบตารางเปนที่นิยมใชกันแพรหลายมากที่สุด ตัวอยางแฟมขอมูลของบริษัทขายคอมพิวเตอรแหงหนึ่งซึ่งถูกจัดทําขอมูล เปน ระบบฐานขอ มลู โดยบริษัทคอมพิวเตอรแหงนี้จะมีขอมูลประกอบดวยแฟมขอมูลรายการสินคา ซง่ึ แสดงคลงั สนิ คา รหสั สนิ คา และจํานวนสินคาที่มีอยูภายในบริษัท แฟม ขอ มลู คลงั สนิ คา ซง่ึ แสดงคลงั สนิ คา และสถานทต่ี ง้ั ของคลงั สนิ คา แฟมขอ มลู รหสั สนิ คา ซง่ึ แสดงรหสั สนิ คา และชอ่ื สนิ คา นน้ั แฟม ขอมูลลกู คาซง่ึ แสดงเลขประจาํ ตวั ลกู คา ชื่อของลูกคา และแฟมขอ มลู การสั่งซื้อ ซง่ึ แสดงชอ่ื คลงั สนิ คา รหสั สนิ คา เลขประจาํ ตวั ลกู คา รหสั การสง่ั ซอ้ื สนิ คาจํานวนทีส่ ั่งซ้ือ จะใชแฟมขอมูลดังกลาวเปนรูปแบบในการอธิบายลักษณะฐานขอมูลแบบตาง ๆดงั น้ีแฟมขอ มูลรายการสินคา จํานวน แฟมขอ มลู คลังสนิ คาชอ่ื คลงั สนิ คา รหสั สนิ คา 50 ชอ่ื คลงั สนิ คา จังหวัดSTORE 1 PT-1 20 STORE 1 ปทุมธานีSTORE 1 PT-3 100 STORE 2 สระบรุ ีSTORE 2 PT-2 30 STORE 3 อยุธยาSTORE 2 PT-1

31แฟมขอมูลรหัสสินคา แฟมขอมูลลูกคา เลขประจาํ ตวั ลกู คา ชอ่ื ลกู คารหสั สนิ คา รายละเอียด 3428 SPINETICS 3430 ORCHIDPT-1 เครื่องพิมพ 3491 ELECTRONIC 5726 MAGNO-THAIPT-2 แผน ดสิ เกต็PT-3 ตัวขับดิสPT-4 จอภาพคอมพิวเตอรแฟม ขอมลู รายการสินคาชอ่ื คลงั สนิ คา ชอ่ื คลงั สนิ คา เลขประจาํ ตวั ลกู คา รหสั การสง่ั จํานวน 3428 0052 10STORE 1 PT-3 3428 0098 7 3430 0098 15STORE 2 PT-2 5726 0099 1STORE 3 PT-3STORE 3 PT-4 3. ฐานขอมูลแบบลําดับชั้น (hierarchical data model) คดิ ข้นึ โดยบริษัทไอบเี อม็ เปนฐานขอมลู ทนี่ าํ เสนอขอ มลู และความสัมพันธร ะหวา งขอมลู ในรูปแบบของ โครงสรางตนไม (tree structure) เปน โครงสรา งลกั ษณะคลา ยตน ไมเ ปน ลาํ ดบั ชน้ั ซง่ึ แตกออกเปน กง่ิกา นสาขา ผทู ค่ี ดิ คน ฐานขอ มลู แบบนค้ี อื North American Rockwell เพอ่ื ตอ งการใหเ ปน ฐานขอ มลู ทส่ี มารถกาํ จดั ความซาํ้ ซอ น (Data Redundancy) โดยใชแนวความคิดของโปรแกรมที่ชื่อวา Generalized UpdateAccess Method (GUAM) 3.1 โครงสรา งของฐานขอ มลู แบบลําดบั ชั้น 1)ลกั ษณะโครงสรา งระบบฐานขอมูลท่ีใชร ูปแบบนี้จะมีโครงสรางของขอ มูลเปน ลักษณะ ความสัมพันธแบบพอลูก คอื พอ (parent) 1 คนมลี กู (child) ไดห ลายคน แตลูกมีพอไดคนเดยี ว (นั่นคือเปนความสัมพันธแบบ 1 ตอ n) หรือแบบพอคนเดียวมีลูก 1 คน (นั่นคือเปนความสัมพันธแบบ 1

32ตอ 1) ซง่ึ จดั แยกออกเปน ลาํ ดบั ชน้ั โดยในระดับชั้นที่ 1 จะมีเพียงแฟมขอมูลเดียวนั่นคือมีพอคนเดียว ในระดบั ท่ี 2 จะมีกี่แฟมขอมูลก็ได ในทาํ นองเดยี วกนั ระดบั 2 ก็จะมีความสัมพันธกับระดับ 3 เหมือนกบั ระดบั 1กบั ระดบั 2 โดยในโครงสรางขอมูลแบบลําดับชั้นแตละกรอบจะมีตัวชี้ (pointers) หรือ หัวลูกศรวิ่งเขาหาไดไมเกนิ 1 หัว จากตัวอยางดังนี้ ภาพที่ 1.3 แสดงโครงสรา งฐานขอ มลู แบบลาํ ดบั ขน้ั จากฐานขอมูลแบบลําดับชั้นจะมีปญหาถาความสัมพันธของขอมูลเปนแบบลูกมีพอไดหลายคน จะใชโครงสรางฐานขอมูลแบบลําดับชั้นไมได เชน ความสัมพันธระหวางลูกจางกับงานที่ทํา งานชิ้นหนึ่งอาจทําโดยลูกจางหลายคนได โครงสรา งฐานขอ มูลแบบลาํ ดับช้นั จะไมสามารถออกแบบลกั ษณะขอมูลแบบน้ีได ปญหาเชนนี้ทําใหไมคอยมีผูนิยมใช ฐานขอ มลู แบบลาํ ดบั ชน้ั เนื่องจากความสัมพันธของขอมูลที่จะเก็บไวในฐานขอ มลู เปน แบบพอ -ลกู เทา นน้ั 2) กฎควบคุมความถูกตอง คอื เรคอรด พอ สามารถมีเรคอรด ลกู ไดห ลายเรคอรด แตเ รคอรดลกู แตล ะเรคอรด จะมเี รคอรด พอ ไดเ พยี งเรคอรด เดยี วเทา นน้ั จากรูปแบบบฐานขอมูลแบบลําดับชั้น จะมีปญหา ถา ความสมั พันธข องขอ มลู เปนแบบเรคอรดลกู 1 เรคอรด มพี อ ไดห ลายเรคอรด จะใชโครงสรางฐานขอมูลแบบลําดับชั้นไมได เชนความสัมพันธระหวางลูกจางกับงานที่ทํา งานชิ้นหนึ่งอาจทําโดยลูกจางหลายคนได โครงสรา งฐานขอ มลู แบบลาํ ดบั ชน้ั จะไมสามารถออกแบบลกั ษณะขอ มลู แบบนไี้ ด ปญหาเชนนี้ทําใหไมมีผูนิยมใช 3) การจดั การ รูปของโครงสรา งตนใชภ าษาปฏบิ ตั กิ ารทลี ะเรคอรด ตัวอยางของภาษาปฎิบัติการของฐานขอ มูลน้ี ไดแ ก IMS/VS 4.) ลกั ษณะเดน และขอ จาํ กดั ของการจดั การฐานขอ มลู แบบลาํ ดบั ชน้ั 4.1 ลกั ษณะเดน - เปน ระบบฐานขอ มลู ทม่ี รี ะบบโครงสรา งซบั ซอ นนอ ยทส่ี ดุ - มคี า ใชจา ยในการจัดสรา งฐานขอ มลู นอย - ลักษณะโครงสรางเขาใจงาย - เหมาะสําหรับงานท่ตี องการคนหาขอ มลู แบบมีเงื่อนไขเปนระดบั และออกงานแบบเรยี งลาํ ดบั ตอ เนอ่ื ง - ปอ งกนั ระบบความลบั ของขอ มลู ไดด ี เนอ่ื งจากตอ งอา นแฟม ขอ มลู ทเ่ี ปน ตน กาํ เนดิ กอ น 4.2 ขอจํากัด - มโี อกาสเกดิ ความซาํ้ ซอ นมากทส่ี ดุ เมอ่ื เทยี บกบั ระบบฐานขอ มลู แบบโครงสรา งอน่ื - ขาดความสัมพันธระหวางแฟมขอมูลในรูปเครือขาย - มีความคลองตัวนอยกวาโครงสรางแบบอื่น ๆ เพราะการเรยี กใชข อ มลู ตอ งผา นทางตนกาํ เนดิ (root) เสมอ ถา ตอ งการคน หาขอ มลู ซง่ึ ปรากฏในระดบั ลา ง ๆ แลวจะตองคนหาทั้งแฟม

33เรื่องที่ 1.4.2 ฐานขอมูลแบบ Network Data Model 1. โครงสรางของฐานขอมูลแบบเครือขาย ลักษณะโครงสรางระบบฐานขอมูลแบบเครือขายจะมีโครงสรางของขอมูลแตละแฟมขอมูลมีความสัมพันธคลายรางแห โดยมีลกั ษณะโครงสรา งคลายกบั โครงสรางแบบลาํ ดับช้ัน มีขอแตกตางที่วาโครงสรางแบบเครือขายสามารถยินยอมใหระดับชั้นที่อยูเหนือกวาจะมีไดหลายแฟมขอมูลถึงแมวาระดับชั้นถัดลงมาจะมีเพียงแฟมขอมูลเดียว เปรียบเสมือนมีความสัมพันธแบบลูกจางกับงานที่ทํา โดยงานชิ้นหนึ่งอาจทําโดยลูกจางหลายคน (m ตอ n) ดงั น้ี ภาพที่1.4 แสดงโตรงสรา งของฐานขอมลู แบบเครือขา ย แฟมขอมูลการสั่งซื้อจะถูกเชื่อมโยงกับแฟมขอมูลลูกคาเพิ่มขึ้นอีก 1 แฟมขอมูล ทําใหแฟมขอมูลการสง่ั ซอ้ื เปรยี บเสมอื นงาน 1 ชิ้น จะถูกทําโดยลูกจาง มากกวา 1 คน หรือในแฟมขอมูลรหัสสินคาจะมีแฟมขอ มลู การสง่ั ซอ้ื และแฟม ขอ มลู รายการสนิ คา เปน พอ ซง่ึ การออกแบบลกั ษณะของฐานขอ มูลแบบเครือขายจะทาํ ใหส ะดวกในการคน หามากกวา ลกั ษณะฐานขอ มลู แบบลาํ ดบั ชน้ั เพราะไมตองไปเริ่มคนหาตั้งแตขอมูลตนกาํ เนดิ โดยทางเดยี ว ขอมูลแตละกลุมจะเชื่อมโยงกันโดยตัวชี้ ลกั ษณะฐานขอ มลู นจ้ี ะคลา ยกบั ลกั ษณะฐานขอมูลแบบลําดับชั้น จะมีขอแตกตางกันตรงที่ในลักษณะฐานขอมูลแบบเครือขายนี้สามารถมีตนกําเนิดของขอมูลไดมากกวา 1 2. กฏการควบคุม โครงสรางแบบเครือขายสามารถยินยอมใหระดับชั้นที่อยูเหนือกวาจะมีไดหลายแฟมขอมูลถึงแมวาระดับชั้นถัดลงมาจะมีเพียงแฟมขอมูลเดียว โดยเรคอรด ทอ่ี ยเู หนอื กวา มคี วามสมั พนั ธก บั เรคอรด ทอ่ี ยรู ะดบัลา งไดม ากกวา 1 เรคคอรด โดยแตล ะเรคคอรด สมั พนั ธก นั ดว ยลงิ ค (links) ฐานขอ มูลแบบเครอื ขายจะทาํ ใหสะดวกในการคน หามากกวา ฐานขอ มลู แบบลาํ ดบั ชน้ั เพราะไมตองไปเริ่มคนหาตั้งแตขอมูลตนกําเนิดโดยทางเดยี ว ขอมูลแตละกลุมจะเชื่อมโยงกันโดยตัวชี้

343.ภาษาการจัดการ ใชภ าษาปฏบิ ตั กิ ารทลี ะเรคอรด จดั การกบั ฐานขอ มลู ตัวอยาง ระบบปฏิบัติการรูปแบบภาษาของระบบจดั การฐานขอ มลู แบบเครอื ขา ย ไดแ ก IDMS 4.ลักษณะเดนและขอจํากัดระบบโครงสรางแบบเครือขาย 4.1 ลกั ษณะเดน เหมาะสําหรับงานที่แฟมขอมูลมีความสัมพันธแบบเครือขาย มีโอกาสเกดิ ความซาํ้ ซอนของขอมลู นอ ยกวาโครงสรา งแบบลําดับชนั้ การคนหาขอมูลมีเงื่อนไขไดมากและกวางกวาโครงสรางแบบลําดับชั้น 4.2 ขอจํากัด โครงสรางแบบเครือขายเปนโครงสรางที่งายไมซับซอน จึงทําใหปองกันความลับของขอมูลไดยาก มีคาใชจายและสิ้นเปลืองพื้นที่ในหนวยความจําเพราะจะเสียพื้นที่ในอุปกรณเก็บขอมูลสําหรับตัวบงชี้มาก ถาความสัมพันธของระเบียนประเภทตาง ๆ เกนิ 3 ประเภท จะทาํ ใหการออกแบบโครงสรา งแบบเครอื ขา ยยงุ ยากซบั ซอ น นอกจากฐานขอมูลที่กลาวไปแลวในปจจุบันยังมี ฐานขอ มลู แบบออบเจกต (object-oriented datamodel) ที่ไดมีการคิดคนและพัฒนากันในปจจุบัน โดยฐานขอมูลแบบนี้จะถูกนําเสนอขอมูลและความสัมพันธระหวางขอมูลในรูป ออบเจกต (object) สําหรับฐานขอมูลแบบออบเจกตนั้นหนวยงานธุรกิจในปจจุบันนี้ยังไมมีการใช ยังตองมีการคนควาและวิจัยตอไปเพื่อที่จะสรางฐานขอมูลแบบออบเจกตเรื่องที่ 1.4.3 ฐานขอมูลแบบ Relational Data Model ฐานขอมูลแบบสัมพันธ (Relational Model) แบง ออกเปน 3 สว นคอื โครงสรางขอมูล (datastructure) การควบคุมความถูกตองใหกับขอมูล (data integrity) และการจัดการกับขอมลู (datamanipulation)

35 Primary key S# SNAME STATUS CITY Domains S --- -- -- -- -- -- -- -- -- -- -- -- - -------- ปทมุ ธานี Tuples C - - -- -- -- -- -- -- -- -- -- -- -- --------- นนทบุรี aRelation -- -- -- -- -- -- -- -- -- -- -- -- ---------- กรุงเทพฯ r -- -- -- -- -- - - - - - - -- - - - d S# CITY i S1 SNAME STATUS ปทุมธานี n S2 สมบตั ิ 20 นนทบรุ ี a S3 สมนึก 10 นนทบุรี l S4 สมควร 30 ปทุมธานี i S5 สมคนงึ 20 กรุงเทพฯ t สมใจ 30 y Attributes Degree ภาพที่1.5 โครงสรางของฐานขอมูลแบบสัมพันธ 1.โครงสรา งขอ มลู (Data Structure) โครงสรางของฐานขอ มลู แบบสัมพนั ธเปนการนําเสนอขอ มูลและความสมั พนั ธระหวางขอ มูลในรปู รีเลชัน (relation) Relation จะถูกเรียกอีกอยางหนึ่งวาตาราง(Table) โครงสรางของ Relationประกอบดว ย 1.1 แถว (Row) ของขอมูล (body) แถวขอมูล 1 แถว (body) หมายถึงขอมูล 1 รายการ ซึ่งแตละแถวของ Relation เรยี กวา “Tuple” Tuple คอื แถวขอมูลในตาราง โดยแตละแถวของขอมูลจะประกอบไปดวยหลาย Attribute หรือคอลัมนของขอมูล จํานวนแถวขอมูลในตารางเราเรียกวา Cardinality และจํานวนattributes ทั้งหมดในตารางเราเรียกวา Degree 1.2 สดมภ (Column) แตละสดมภของ Relation ไดแกคณุ ลกั ษณะของขอมูลในแตล ะแถวซึง่ เราเรียกวา “Attribute” เชน ตัวอยาง relation S สาํ หรบั เกบ็ รายละเอยี ดของ suppliers ประกอบดว ย รหัส ชื่อสถานะ และเมือง ซง่ึ relation ดงั กลา วจะประกอบไปดว ย 5 tuples โดยแตละ tuples ประกอบไปดว ย 4attribute โดยภายในคอลัมนจะประกอบดวย โดเมน (Domain) เปนการกําหนดขอบเขตคาขอมูลและชนดิ ขอมูลของแตละ attribute ทเ่ี ปน ไปไดทั้งหมด เชนจากรูป domain ของ S# คือกลุมของรหัส suppliers ทั้งหมด ไดแ ก S1, S2, S3, S4 และ S5และ กําหนดวา STATUS ของตาราง S จะตองมีคาเปน 10, 20 และ 30 เทา นน้ั หรือ S# จะตองมีคาเปน S1,S2, S3, S4 และ S5 เทา นน้ั และ CITY ของ suppliers ทั้งหมดจะตองเปน ปทุมธานี นนทบรุ ี และกรุงเทพฯเทา นน้ั เปน ตน คียหลัก(Primary key) เปน attribute หรือกลุม ของ attribute ที่บงบอกวาขอมูลจะตองไมซ้ํากันในแตละแถวขอ มลู ของตาราง2. การควบคุมความถูกตองใหกับขอมูล (data integrity)ในฐานขอมูลแบบสัมพันธ มีกฎการควบคุมความถูกตองของขอมูลดังน้ี

36 2.1 Tuple มีขอมูลไมซ้ํากัน เนอ่ื งจาก Relation ในโครงสรางขอมูลแบบสัมพันธอยูในรูปแบบของเซตทางคณติ ศาสตร โดยภายในเซตจะตองประกอบไปดวยสมาชิกที่ไมซ้ํากัน ดงั นน้ั Relation R ใดๆ ตองมีattribute ใด attribute หนึ่งที่ทําใหแตละ tuple ใน relation มีขอมูลไมซ้ํากัน เชน Relation CUSTOMERเปน relation ที่เก็บประวัติของลูกคาบัญชีเงินกูของธนาคาร และประกอบไปดว ย เลขที่บัตรประชาชน ชื่อนามสกลุ และ ท่ีอยูของลกู คา ซง่ึ จะเหน็ วา ขอ มลู ลกู คา มชี อ่ื และนามสกลุ ซาํ้ กนั คอื ปรากฎลกู คา ชอ่ื สมบตั ินามสกลุ มิมําพันธ จํานวน 2 tuple แตมี attribute เลขที่บัตรประชาขน (CITIZEN_ID) เปนสิ่งที่บงบอกใหรูวาลกู คา ทง้ั สองคนเปน คนละคนกนั CUSTOMER CITIZEN_ID FIRST_NAME SURNAME ADDRESS 100002541 สมบตั ิ มิมําพันธ 99/765 คลองหลวง ปทุมธานี 100002654 สมนกึ สงบ 11 ปากเกรด็ นนทบรุ ี 100002658 สมบตั ิ มิมําพันธ 999 ปากเกรด็ นนทบรุ ี 100099991 สมคนงึ คดิ รอบครอบ 987 เมอื ง ปทุมธานี 100052652 สมใจ ฉลาด 85/97 สะพาน กรุงเทพฯ2.2 Tupleไมม ลี าํ ดบั จากบนลงลา ง เนอ่ื งจาก body Relation ในโครงสรางขอมูลแบบสัมพันธอยูในรปู แบบของเซตทางคณิตศาสตร โดยภายในเซตจะตองประกอบไปดวยสมาชิกที่ไมมีลําดับ2.3 Attribute ไมมีลําดับจากซายไปขวา เนอ่ื งจาก heading ของ Relation ในโครงสรางขอมูลแบบสัมพันธอยูในรูปแบบของเซตทางคณิตศาสตร โดยภายในเซตจะตองประกอบไปดวยสมาชิกที่ไมมีลําดับ2.4 คา ของ attribute ทกุ คาจะตองเปน atomicity เนอ่ื งจาก Domain มีเฉพาะคาที่เปน atomic เทานน้ั ดงั นน้ั ทกุ attribute ในแตละตําแหนงของ tuple ใน relation จะมีคาเพียงคาเดียว จะไมมีรายการของขอมูล (repeating group หรือ list of value หรือ array) ใน relation นน่ั คอื relation ตอ งผา นขน้ั ตอนการเพม่ิประสิทธิภาพของขอมูล (Normalization) ตัวอยางเชน Relation SP กอ นทาํ การเพม่ิ ประสทิ ธภิ าพของขอ มลูคาของขอมูลในแตละ Tuple จะมีลักษณะของรายการขอมูล (repeating group) หลังจากทําการเพิ่มประสิทธิภาพของขอมูลในตารางแลว คา ขอ มลู ในแตละ Tuple ไมมีรายการขอมูลอีกBEFORE S# P# QTY AFTER S# P# QTYS1 P1 900 S1 P1 900 P2 3100 S1 P2 3100 P3 100 S1 P3 100 P4 200 S1 P4 200 P5 500 S1 P5 500 P6 600 S1 P6 600S2 P1 100 S2 P1 100

37 P2 300 S2 P2 300S3 P2 200 S3 P2 200S4 P2 800 S4 P2 800 P4 1000 S4 P4 1000 P4 700 S4 P4 700 2.5 กาํ หนด Domain ใหกับขอมูล จะมีขอกําหนดวาคาที่กําหนดใหกับขอมูลจะตองเปนคา Scalarนั่นคือจะตองเปนคาขอมูลที่มีความหมายและเปนหนวยเล็กที่สุด ไมสามารถแบงแยกออกไปไดอีก เชน เลขท่ีเงนิ กู 014100001 สามารถแบง ออกเปน รหสั สาขา รหสั ปย น่ื กู และลาํ ดบั บญั ชเี งนิ กู เปน ตน หรือที่อยูสามารถแบง ยอ ยออกไปเปน เลขทบ่ี า น ตําบล อาํ เภอ จังหวัด ฯลฯ ดงั นน้ั เลขทเ่ี งนิ กู และที่อยู ไมมีคาเปนScalar เพราะยงั สามารถแบง ยอ ยออกไปไดอ กี แต รหัส supplier (S#) มีคาเปน S1 ซึ่งแบงยอยอีกไมไดเพราะฉะนน้ั S1 มีคาเปน Scalar คาขอ มลู ท่ีเก็บในฐานขอมลู ที่มคี า เปน Scalar นี้เราจะเรียกวามีคุณลกั ษณะของ atomicity ขอมูลทีส่ ามารถนํามากําหนด Domain ได จะตอ งเปน ขอ มลู ทเ่ี ปน อสิ ระจากขอ มลู อน่ืเชน relation S ,P และ SP ดงั รปู ขา งลา งน้ี รหัส ชื่อ สถานะ และเมืองของ supplier เปน ขอ มลู ทอ่ี สิ ระจากขอมูลอื่น ในทาํ นองเดยี วกบั รหัส ชื่อ สี นาํ้ หนกั และเมืองของ relation part เปน ขอ มลู ทเ่ี ปน อสิ ระจากขอ มลู อน่ื แต relation SP รหัสตัวแทนจําหนาย(S#) คาที่กําหนดขึ้นมาเปนไปตามรหัสตัวแทนจําหนาย (S#)ของ relation S และรหัสวัสดุ (P#) คา ทก่ี าํ หนดขน้ึ มาเปน ไปตามรหสั วสั ดุ (P#) ของ relation P ดงั นน้ั ทง้ั สองattribute จึงไมสามารถนาํ มากําหนด domain ของ relation SP ไดS S# SNAME STATUS CITY SP S# P# QTY S1 สมบตั ิ 20 ปทุมธานี S1 P1 900 S2 สมนกึ 10 นนทบรุ ี S2 P3 3100 S3 สมควร 30 นนทบรุ ี S2 P5 100 S4 สมคนงึ 20 ปทุมธานี S3 P3 200 S5 สมใจ 30 กรงุ เทพฯ S3 P4 500 S4 P6 600P P# PNAME COLOR WEIGHT CITY S5 P1 100 ปทุมธานี S5 P2 300P1 กระเบอ้ื ง ฟา นาํ้ ทะเล 12 มุงหลังคา นนทบรุ ีP2 กระเบอ้ื งปู ฟา ออ น 17 อยุธยา S5 P3 200 พื้นP3 เหลก็ เสน นาํ้ ตาล 17 S5 P4 800

38P4 ปนู เทา 14 ปทุมธานี S5 P5 1000P5 อฐิ -ทราย นาํ้ ตาล 12 นนทบรุ ี S5 P6 700P6 ไม นาํ้ ตาล 19 ปทุมธานี 2.6 ขอมูลจะตองเปนขอมูลชนิดเดียวกัน เชน ถาคาขอมูลของ COLOR ใน relation P มีคาที่เปนไปไดค อื “สฟี า นาํ้ ทะเล” “สฟี า ออ น” หรือ “นาํ้ ตาล” แตถาเรากําหนดใหคาของ COLOR สามารถเปน 1 สาํ หรบั สีฟา นาํ้ ทะเล หรือ 2 สาํ หรบั สฟี า ออ น และ 3 สาํ หรบั สนี าํ้ ตาล โดยคาขอมูลของ attribute COLOR สามารถบนั ทกึ คาขอ มลู ไดทงั้ สองแบบแลว เราไมสามารถกําหนด Domain ไดเ พราะคา ขอ มลู มชี นดิ เปน ไดท ง้ั stringและ เลขจาํ นวนเตม็ ในเวลาเดยี วกนั ไมไ ด3.การจัดการขอมลู ภาษาฐานขอมลู (structured query language, SQL) เปนภาษาที่ใชกันอยางแพรหลายมีลักษณะคลายกับภาษาอังกฤษ ใชในการปฏิบัติงานและควบคุมฐานขอมูล ในภาษาฐานขอ มลู จะมคี าํ สง่ั ดงั นก้ี ารสรา งตาราง สามารถทาํ ดว ยคาํ สง่ั CREATE TABLE คาํ สง่ั สอบถามขอ มลู พน้ื ฐานเปน การสอบถามขอ มลู หรอืquery คาํ สง่ั การปอ นขอ มลู เพม่ิ ลงสตู ารางเราสามารถปรบั ปรงุ เปลย่ี นแปลงแกไ ขขอ มลู ทม่ี อี ยแู ลว ในตารางไดด ว ยคาํ สง่ั UPDATE นอกจากการแกไ ขขอ มลู ดว ยคาํ สง่ั DELETE เราสามารถสอบถามขอ มูลครั้งหนงึ่ จากตารางไดมากกวาหนึ่งตาราง โดยใชโครงสรางของ SQL ที่เรียกวา joining คําสั่งใน SQL สามารถกาํ หนดความปลอดภัยในการควบคุมการเขา ถงึ ขอมูลในฐานขอ มลู ได โดยคาํ สง่ั GRANT เปน การกาํ หนดสทิ ธมิ อบอํานาจใหสามารถเขาถึงขอมูล REVOKE เปน การเรยี กสทิ ธอิ าํ นาจคนื จากการกาํ หนดมอบสทิ ธดิ ว ยคาํ สง่ัGRANT ฐานขอมูลแบบความสัมพันธนี้เปนรูปแบบที่ถูกพัฒนาขึ้นมาภายหลัง และเปนที่นิยมใชกันสําหรับการออกแบบฐานขอ มลู ในปจ จบุ นั โปรแกรมสําเร็จทางดานฐานขอ มูลกใ็ ชร ูปแบบนี้เชนกัน4.ลักษณะเดนและขอจํากัดของการจัดการฐานขอมูลแบบสัมพันธ 4.1 ลกั ษณะเดน 1) เหมาะกับงานที่เลือกดูขอมูลแบบมีเงื่อนไขหลายคียฟลดขอมูล 2) ปอ งกนั ขอ มลู ถกู ทาํ ลายหรอื แกไ ขไดด ี เนื่องจากโครงสรางแบบสัมพันธนี้ผูใชจะไมทราบวาการเก็บขอมลู ในฐานขอมูลอยางแทจ รงิ เปน อยา งไร จงึ สามารถปอ งกนั ขอมลู ถกู ทาํ ลายหรอื ถูกแกไ ขไดด ี 3) การเลอื กดขู อ มลู ทาํ ไดง า ย มีความซับซอนของขอมูลระหวางแฟมตาง ๆ นอ ยมาก อาจมีการฝก ฝนเพยี งเลก็ นอ ยกส็ ามารถใชท าํ งานได 4.2 ขอจํากัด 1)มีการแกไขปรับปรุงแฟมขอมูลไดยากเพราะผูใชจะไมทราบการเก็บขอมูลในฐานขอมูลอยางแทจริงเปนอยางไร

39 2)มีคาใชจายของระบบสูงมากเพราะเมื่อมีการประมวลผลคือ การอา น เพิ่มเติม ปรับปรุงหรือยกเลิกระบบจะตองทําการสรางตารางขึ้นมาใหม ทั้งที่ในแฟมขอมูลที่แทจริงอาจจะมีการเปลี่ยนแปลงเพียงเลก็ นอ ย แตตองมาปรับแตงตารางใหมใหผูใชแฟมขอมูลนั้นถูกใชในรูปของตารางที่ดูงายสําหรับผูใช สรปุ ไดว า ฐานขอ มลู อาจมกี ารใชฐ านขอ มลู ตา งกนั แตในองคกรสวนใหญนิยมใชฐานขอมูลแบบสัมพันธมากที่สุด สวนฐานขอมูลแบบลําดับชั้นและฐานขอมูลแบบเครือขายปจจุบันนี้ไมไดรับความนิยมแลวแตยังมีใชอยูในองคกรขนาดใหญที่มีเครื่องคอมพิวเตอรเมนเฟรม เชน ธนาคารยังมีการใชแบบจําลองขอมูลแบบลําดับชั้นอยู สวนฐานขอมูลแบบออบเจกตเปนฐานขอมูลสมัยใหมซึ่งปจจุบันยังไมมีการใชแพรหลายนักเมื่อเทียบกับฐานขอมูลแบบสัมพันธ ซึ่งยังตองมีการคนควาและวิจัยตอไป