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)มีคาใชจายของระบบสูงมากเพราะเมื่อมีการประมวลผลคือ การอา น เพิ่มเติม ปรับปรุงหรือยกเลิกระบบจะตองทําการสรางตารางขึ้นมาใหม ทั้งที่ในแฟมขอมูลที่แทจริงอาจจะมีการเปลี่ยนแปลงเพียงเลก็ นอ ย แตตองมาปรับแตงตารางใหมใหผูใชแฟมขอมูลนั้นถูกใชในรูปของตารางที่ดูงายสําหรับผูใช สรปุ ไดว า ฐานขอ มลู อาจมกี ารใชฐ านขอ มลู ตา งกนั แตในองคกรสวนใหญนิยมใชฐานขอมูลแบบสัมพันธมากที่สุด สวนฐานขอมูลแบบลําดับชั้นและฐานขอมูลแบบเครือขายปจจุบันนี้ไมไดรับความนิยมแลวแตยังมีใชอยูในองคกรขนาดใหญที่มีเครื่องคอมพิวเตอรเมนเฟรม เชน ธนาคารยังมีการใชแบบจําลองขอมูลแบบลําดับชั้นอยู สวนฐานขอมูลแบบออบเจกตเปนฐานขอมูลสมัยใหมซึ่งปจจุบันยังไมมีการใชแพรหลายนักเมื่อเทียบกับฐานขอมูลแบบสัมพันธ ซึ่งยังตองมีการคนควาและวิจัยตอไป
Search
Read the Text Version
- 1 - 39
Pages: