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

Home Explore ຖານຂໍ້ມູນ(Database)

ຖານຂໍ້ມູນ(Database)

Published by ictoffice1920, 2020-07-28 22:32:54

Description: ປທ ບຸນແສງ ເສົາຄຳແກ້ວ

Search

Read the Text Version

ສາທາລະນະລດັ ປະຊາທປິ ະໄຕ ປະຊາຊນົ ລາວ ສນັ ຕພິ າບ ເອກະລາດ ປະຊາທປິ ະໄຕ ເອກະພາບ ວດັ ທະນະຖາວອນ ກະຊວງສກຶ ສາທກິ ານ ແລະ ກລິ າ ກມົ ສາ້ ງຄູ ວທິ ະຍາໄລຄຫູ ຼວງນາ້ ທາ ວຊິ າ ລະບົບຖານຂມ້ ູນ Database system (ແປເອກະສານ) ປະກອບການຮຽນ-ສອນ ສາຍຄູ ICT ລະບົບ 12 + 4 ປີ2 ທີ່ ວີ ທິ ະຍາໄລຄູຫຼວງນາ້ ທາ ວທິ ະຍາໄລຄຫູ ຼວງນາ້ ທາ ສກົ ຮຽນ 2019 – 2020

ສາທາລະນະລດັ ປະຊາທປິ ະໄຕ ປະຊາຊນົ ລາວ ສນັ ຕພິ າບ ເອກະລາດ ປະຊາທປິ ະໄຕ ເອກະພາບ ວດັ ທະນະຖາວອນ ກະຊວງສກຶ ສາທກິ ານ ແລະ ກລິ າ ກມົ ສາ້ ງຄູ ວທິ ະຍາໄລຄຫູ ວຼ ງນາ້ ທາ ວິຊາ ລະບບົ ຖານຂມ້ ູນ Database system (ແປເອກະສານ) ປະກອບການຮຽນ-ສອນ ສາຍຄູ ICT ລະບົບ 12 + 4 ປີ2 ທ່ີ ວີ ທິ ະຍາໄລຄູຫຼວງນາ້ ທາ ແປດດຍ ປທ ບຸນແສງ ເສາົ ຄາແກວ້ ກວດແກດ້ ດຍ ປທ ທຽມພະຈນັ ທະນຸງສງີ ປທ ກອງຄາ ນາທະວງົ ປຕ ວຽງມະນີ ລາວຈູ ວທິ ະຍາໄລຄູຫຼວງນາ້ ທາ ສກົ ຮຽນ 2019 – 2020

ໃບຮບັ ຮອງການແປເອກະສານ ‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗ ຫວົ ຂ:້ ລະບບົ ຖານຂມ້ ນູ (Database system) ເອກະສານປະກອບການຮຽນ-ສອນ ສາຍຄູ ICT ລະບົບ 12+4 ປີ 2 ວິທະຍາໄລຄູຫຼວງນາ້ ທາ ຜູແ້ ປ ຄະນະກວດແກ ້ ............................................ (ຊ່ີ ແຈງ້ : ປທ ບຸນແສງ ເສາົ ຄາແກວ້ ) ວທິ ະຍາໄລຄຫູ ວຼ ງນາ້ ທາໄດຮ້ ບັ ຮອງເອາົ ເອກະສານທີ່ ີແປປະກອບເຂາົ້ ໃນການຮຽນ - ການສອນຂອງ ສະຖາ ບນັ ວທິ ະຍາໄລຄຫູ ວຼ ງນາ້ ທາ ເພ່ີ ອພດັ ທະນາການຮຽນ - ການສອນໃຫດ້ ຂີ ນຶ້ ເລອ້ ຍໆ ຜູ ອ້ ານວຍການວທິ ະຍາໄລຄູຫຼວງນາ້ ທາ

ຄານາ ປມ້ ລະບບົ ຖານຂມ້ ູນ (Database) ເຫຼມັ້ ນີ້ ໄດຖ້ ກແປ້ຂນ້ ມາ ດດຍມຈີ ດຸ ປະສງົ ຊີ່ ວຍການຮຽນ-ການສອນ ເພ່ີ ອຮບັ ໃຊເ້ ຂາົ້ ໃນການສດິ ສອນໃນລະດບັ ປະລນິ ຍາຕີ ລະບບົ 12+4, ເນອ້ ໃນຂມ້ ນູ ທງັ ໝດົ ຜູແ້ ປ້ ໄດຮ້ ບິ ດຮມ, ລວບລວມ ຈາກບນັ ດາເອກະສານຈາກຄະນະພາກວຊິ າວທິ ະຍາສາດ ຄອມພີວເຕີ ມະຫາໄລແຫ່ີ ງຊາດ ເອກະສານທ່ີ ີ ເຊີ່ ອຖໄດ້ ແລະ ເໝາະສມົ ກບັ ລະດບັ ການສກຶ ສາພາຍໃນວທິ ະຍາໄລຄຫູ ຼວງນາ້ ທາ. ເພ່ີ ອປບັ ປຸງຄຸນະພາບການການຮຽນ-ການສອນໃຫມ້ ີປະສດິ ທພິ າບສງູ ຂນຶ້ ແລະ ພດັ ທະນາອາຊບີ ຄໃູ ຫ້ດີ ຂນຶ້ ເທ່ີ ອລະກາ້ ວນນັ້ ຂາ້ ພະເຈາົ້ ຈີ່ ງໄດແ້ ປເອກະສານຫຼມັ້ ນຂີ້ ນຶ້ ມາ ເພີ່ ອຕອບສະໜອງໃນການສດິ ສອນ ແລະ ເປນັ ບີ່ ອນອງີ ໃນການຮຽນໃຫແ້ ກີ່ ນກັ ຮຽນເຮດັ ໃຫເ້ ຂາົ ເຈາົ້ ມທີ ກັ ສະວຊິ າຊບີ ທ່ີ ີໜກັ ແໜນ້ ແລະ ມີຄວາມເຂາົ້ ໃຈຕີ່ ກບັ ການ ພດັ ທະນາ, ການປຽນ່ີ ແປງຂອງສງັ ຄມົ ແຕີ່ ລະຍຸກແຕ່ີ ລະສະໄໝ.ປຶມ້ ເຫມຼັ້ ນ,ີ້ ຜູຮ້ ຽບຮຽງເຊ່ີ ອວີ່ າ ເນອ້ ໃນຂມ້ ນູ ເອກະສານ ອາດຈະປາສະຈາກບີໄ່ ດກ້ ບັ ຂຂ້ າດຕກົ ບກົ ຜີ່ ອງ ທາງດາ້ ນຫກຼັ ໄວຍາກອນການພມິ , ການໃຊພ້ າສາ, ສານວນຄາສບັ . ເຖງິ ຢ່ີ າງໃດກີ່ ຕາມ, ຂາ້ ພະເຈາົ້ ຂຄວາມຮ່ີ ວມມຈາກບນັ ດາທີ່ ານ ຖາ້ ຫາກພບົ ເຫນັ ຂມ້ ູນທີ່ ຄີ ວນ ດດັ ແກ້ ຫຼ ປບັ ປຸງໃນທາງສາ້ ງສນັ ກະລຸນນາສ່ີ ງົ ຄາຕານຕິ ຊິ ມົ ເພ່ີ ອເຮດັ ໃຫ້ ຄນຸ ນະພາບໃນການປບັ ປຸງຂມ້ ນູ ປມ້ ເຫຼມັ້ ຕ່ໄີ ປມີຄວາມສມົ ບນູ ຫຼາຍຂນຶ້ ແລະ ສອດຄ່ີ ອງກບັ ການພດັ ທະນາການສກຶ ສາຂອງປະເທດໃນປັດຈບຸ ນັ .

ສາລະບານ ບດົ ທີ 1 ຄວາມຮກູ ້ ີ່ ຽວກບັ ລະບບົ ຖານຂມ້ ນູ (Database System Concept) .........................................1 1. ລະບບົ ຖານຂມ້ ູນ ...................................................................................................................1 2. ລະບບົ ຖານຂມ້ ູນປະກອບດວ້ ຍ: Data, Hardware, Software ແລະ User...............................1 3. ໜາ້ ທີ່ ຮີ ບັ ຜດິ ຊອບຂອງ DBA .................................................................................................2 4. ຖານຂມ້ ນູ ແບບສາພນັ ........................................................................................................6 ບດົ ທີ 2 ສະຖາປດັ ຍະກາຂອງລະບບົ ຖານຂມ້ ູນ (Database System Architecture)............................8 1. ສະຖາປັດຍະກາຂອງລະບບົ ຖານຂມ້ ນູ .......................................................................................8 2. ພາສາທ່ີ ໃີ ຊໃ້ ນລະບບົ ຈດັ ການຖານຂມ້ ນູ ....................................................................................9 1) ຄວາມເປັນເອກະລາດຂອງຂມ້ ນູ ...........................................................................................9 2) ຂນັ້ ຕອນການເຮດັ ວຽກຂອງ DBMS.................................................................................. 10 3) ສີ່ ວນປະກອບຂອງ DBMS.............................................................................................. 10 4) ໜາ້ ທີ່ ີຂອງ DBMS.......................................................................................................... 11 5) ສະຖາປດັ ຍະກາ Client/Server...................................................................................... 13 ບດົ ທີ 3 ແບບຄວາມສາພນັ (Entity Relationship Model) ........................................................... 15 1. ຕວົ ແບບຂມ້ ນູ (Data Model) ............................................................................................ 15 2. ຄວາມສາພນັ ( Relationship ) .......................................................................................... 17 1) ສນັ ຍາລກັ ທີ່ ີໃຊແ້ ທນຄວາມສາພນັ ...................................................................................... 20 3. ຂນັ້ ຕອນການອອກແບບຖານຂມ້ ນູ ........................................................................................ 20 ບດົ ທີ 4 ດມເດລຂມ້ ນູ ໃນແບບຄວາມສາພນັ (Relationship Data ..................................................... 25 1. ດຄງສາ້ ງຂມ້ ນູ (Data Structure) ...................................................................................... 25 2. ຖານຂມ້ ູນໃນແບບຄວາມສາພນັ ............................................................................................ 26 3. Structured Query Language : SQL ......................................................................... 30 4. ການໃຊຟ້ ັງຊງັ ທາງຄະນດິ ສາດ ............................................................................................... 35 ບດົ ທີ 5 ຟງັ ຊນັ ຂນ້ ຕີ່ ກນັ ແລະ ການ Normalization ....................................................................... 40 1. ຄວາມສາຄນັ ຂອງການເຮດັ Normalization.......................................................................... 40 2. ຫຼກັ ການເຮດັ Normalization............................................................................................. 41 3. ຕວົ ການດົ (Determinant)................................................................................................ 42 4. ການເຮດັ Normalization ................................................................................................. 43

5. ຂນັ້ ຕອນການເຮດັ Normalization ..................................................................................... 44 ບດົ ທີ 6 ກດົ ຄວາມຄງົ ສະພາບຂອງຂມ້ ນູ (Data Integrity Rule)........................................................ 51 1. ກດົ ຄວາມຄງົ ສະພາບຂອງຂມ້ ູນ .............................................................................................. 51 1) ຄວາມສາຄນັ ຂອງກດົ ຄວາມຄງົ ສະພາບຂອງຂມ້ ນູ .................................................................. 52 ບດົ ທີ 7 ການກຄູ້ ນ ແລະ ການຄວບຄຸມລາດບັ ການປະມວນຜນົ ຂອງຂມ້ ນູ ................................................ 57 1. ການປີ່ ຽນແປງ (Transaction)........................................................................................... 57 2. ການກູຄ້ ນລາຍການປີ່ ຽນແປງທີ່ ີເກີດຈາກຄວາມຂດັ ຂອ້ ງຂອງລະບບົ .............................................. 58 3. ບນັ ຫາຄວາມຂດັ ແຍງ້ (inconsistent Analysis Problem)................................................... 61 1) ການລອັ ກ (Locking).................................................................................................... 62 2) ການລອັ ກແກໄ້ ຂບນັ ຫາໄດແ້ ນວໃດ .................................................................................... 63 3) ບນັ ຫາຄວາມຂດັ ແຍງ້ (inconsistent Analysis Problem).............................................. 64 4) ລອັ ກຄາ້ ງ (Dead lock)................................................................................................. 65 ບດົ ທີ 8 ...................................................................................................................................... 65 1. ລະບບົ ຄວບຄຸມຄວາມປອດໄພ ............................................................................................. 65 1) ການໃຊຄ້ າສີ່ ງັ view........................................................................................................ 65 2) ການໃຊຄ້ າສີ່ ງັ grant....................................................................................................... 66 3) ການໃຊຄ້ າສີ່ ງັ grant....................................................................................................... 66 4) ການໃຊຄ້ າສີ່ ງັ revoke.................................................................................................... 67 2. ລະບບົ ຄວບຄມຸ ຄວາມຄງົ ສະພາບ .......................................................................................... 68 ບດົ ທີ 9 ການອອກແບບຖານຂມ້ ູນ (Database design) ................................................................. 68 1. ລະບບົ ເທກດນດລຢີຂມ້ ນູ ຂ່ີ າວສານ......................................................................................... 68 1) ຂະບວນການພດັ ທະນາເທກດນດລຢີຂມ້ ນູ ຂ່ີ າວສານ ............................................................... 69 2) ຂນັ້ ຕອນການອອກແບບຖານຂມ້ ູນ................................................................................. 72 3) ການອອກແບບຖານຂມ້ ນູ ............................................................................................. 75 4) ການສາ້ ງຖານຂມ້ ນູ ແລະການດຫດຼ ຂມ້ ູນເຂາົ້ ສ່ີ ູຖານຂມ້ ນູ ...................................................... 76 5) ການທດົ ສອບ ແລະ ປະເມີນການເຮດັ ວຽກງານຂອງຖານຂມ້ ນູ ............................................. 77 6) ການປະຍຸກໃຊຖ້ ານຂມ້ ນູ ............................................................................................. 78 7) ການດແູ ລຮກັ ສາ ແລະ ພດັ ທະນາໃຫດ້ ຍີ ່ີ ງິ ຂນຶ້ ................................................................... 79 2. ການອອກແບບກອບຄວາມຄດິ ......................................................................................... 80

1) ການວເິ ຄາະຂມ້ ນູ ແລະ ຄວາມຕອ້ ງການຂອງຜູໃ້ ຊວ້ ຽກ.......................................................... 80 2) ແບບຈາລອງຂມ້ ນູ ທາງສາພນັ ເອນັ ທຕິ ີ້ ແລະ ຂະບວນການນມນັ ໄລເຊຊນັ ................................ 81 3) ການທດົ ສອບແບບຈາລອງຂມ້ ນູ .................................................................................... 84 3. ການເລອກຊອັ ບແວສ໌ DBMS ......................................................................................... 86 4. ການອອກແບບທາງຕນັ ກະສາດ ......................................................................................... 86 5. ການອອກແບບເຊງີ ກາຍະພາບ........................................................................................... 88 6. ກນົ ລະຍຸ ດໃນການອອກແບບຖານຂມ້ ູນ.............................................................................. 89 7. ການອອກແບບໃນລກັ ສະນະ centralized ແລະ decentralized ....................................... 89

ບົດທີ 1 ຄວາມຮູກ້ ່ີ ຽວກັບລະບົບຖານຂມ້ ູນ (Database System Concept) 1. ລະບບົ ຖານຂມ້ ນູ ລະບບົ ຖານຂມ້ ນູ ແມ່ີ ນການຈດັ ເກບັ ຂມ້ ູນທີ່ ີມຄີ ວາມສາພນັ ກນັ ໄວເ້ ປນັ ລະບບົ .ໝາຍຄວາມວ່ີ າ ແມີ່ ນການເກບັ ຂ ້ ມູນໄວສ້ ີ່ ວນກາງເພີ່ ອຫດຸຼ ຜີ່ ອນຄວາມຊາ້ ຊອ້ ນຂອງຂມ້ ນູ ເພີ່ ອໃຫຜ້ ູໃ້ ຊສ້ າມາດເອນີ້ ໃຊ້ ແລະ ປະຕບິ ດັ ກບັ ຂມ້ ນູ ໃນ ຖານຂມ້ ນູ ຮີ່ ວມກນັ ໄດ,້ ເຊີ່ ງິ ຜູໃ້ ຊແ້ ຕ່ີ ລະຄນົ ຈະເບ່ີ ງີ ຂມ້ ນູ ໃນມູມມອງທີ່ ແີ ຕກຕ່ີ າງກນັ ໄປຕາມຈດຸ ປະສງົ ຂອງການນາ ໃຊ.້ ສາລບັ ການປະຕບິ ດັ ການຕີ່ າງໆທີ່ ີຜູໃ້ ຊສ້ າ ມາດກບັ ຖານຂມ້ ູນໄດແ້ ກີ່  ເພ່ີ ີມແຟ້ມຂມ້ ູນໃໜີ່ ເຂາົ້ ໄປໃນຖານຂມ້ ູນ  ເພີ່ ມີ ຂມ້ ູນເຂາົ້ ໄປໃນແຟມ້ ຂມ້ ູນທີ່ ີມີ ນຖານຂມ້ ູນ  ຄນົ້ ຫາ ແລະ ເອນີ້ ໃຊຂ້ ມ້ ນູ ທີ່ ມີ ີໃນຖານຂມ້ ນູ  ປັບປຸງ ແລະ ແກໄ້ ຂຂມ້ ູນໃນຖານຂມ້ ູນ  ລບຶ ຂມ້ ູນອອກຈາກຖານຂມ້ ນູ  ລບຶ ແຟ້ມຂມ້ ູນທ່ີ ີມອີ ອກຈາກຖານຂມ້ ູນ  ອງົ ປະກອບຂອງລະບບົ ຖານຂມ້ ູນ 2. ລະບບົ ຖານຂມ້ ນູ ປະກອບດວ້ ຍ: Data, Hardware, Software ແລະ User 1) Data ຂມ້ ນູ ໄດຖ້ ກເກບັ ບນັ ທກຶ ໄວເ້ ປັນລະບບົ .ສາລບັ ລະບບົ ຂະໜາດໃຫຍ່ີ ທີ່ ມີ ກີ ານເຮດັ ວຽກໃລກັ ສະ ນະຂອງຜູໃ້ ຊຫ້ າຼ ຍຄນົ , ຂມ້ ູນຈະຖກໃຊວ້ ຽກຮວ່ີ ມກນັ ໄດເ້ ຊີ່ ງິ ຜູໃ້ ຊສ້ າມາດເອນີ້ ໃຊຂ້ ມ້ ນູ ພອ້ ມກນັ ໄດ.້ 2) Hardware ໝາຍເຖງິ ອຸປະກອນທີ່ ກີ ີ່ ຽວຂອ້ ງກບັ ຖານຂມ້ ູນເຊີ່ ນັ : ໜ່ີ ວຍເກບັ ບນັ ຖກຂມ້ ູນພາຍນອກທ່ີ ີ ໃຊເ້ ກບັ ກາຂມ້ ູນ ແລະ ໜ່ີ ວຍຄວາມຈາຫກຼັ ທີ່ ີຕອ້ ງໃຊສ້ າລບັ ການປະມວນຜນົ ຂອງດປຣແກຣມລະບົບ ຈດັ ການຖານຂມ້ ູນເຊີ່ ງີ ຕອ້ ງເບີ່ ງີ ທີ່ ຄີ ວາມຕອ້ ງການຂອງລະບບົ ຈດັ ການຖານຂມ້ ນູ 3) Software ລະບບົ ຈດັ ການຖານຂມ້ ນູ (Database Management System) ເປນັ ດປຣແກຣມທີ່ ີຊີ່ ວຍຄອບຄຸມ ແລະ ອານວຍຄວາມສະດວກໃຫຜ້ ູໃ້ ຊໃ້ ນການໃຊຖ້ ານຂມ້ ນູ ບ່ີ ວ່ີ າຈະເປັນ ການສາ້ ງ, ການການດົ ດຄງສາ້ ງ, ການໃຊວ້ ຽກ ແລະ ເບີ່ ງິ ແຍງ, ການເອນີ້ ໃຊຂ້ ມ້ ູນໃນຖານຂມ້ ນູ ດດຍຜູໃ້ ຊບ້ ່ີ ຈາເປັນ ຕອ້ ງຮລູ ້ າຍລະອຽດກ່ີ ຽວກບັ ດຄງສາ້ ງຖານຂມ້ ູນຫຼເວາົ້ ໄດວ້ ີ່ າລະບບົ ຈດັ ການຖານຂມ້ ນູ ເປັນ Software ທີ່ ເີ ປນັ ຊີ່ ກາງລະຫີ່ ວາງຜູໃ້ ຊແ້ ລະດປຣແກຣມຕີ່ າງໆທີ່ ີກີ່ ຽວຂອ້ ງກບັ ການໃຊຖ້ ານຂມ້ ນູ . ລະບບົ ຈດັ ການຖານຂມ້ ູນມດີ ີ່ ງັ ນີ້

ພາບທີ 1 ລະບບົ ຈດັ ການຖານຂມ້ ນູ User ກີ່ ຸມຜູພ້ ດັ ທະນາດປຣແກຣມ (Application Programmer), ກີ່ ຸມຜູໃ້ ຊ້ (End User), ກີ່ ຸມຜູ ້ ຄມຸ ້ ຄອງຖານຂມ້ ູນ (DBA: Database Administrator) ມີດີ່ ງັ ນີ້  ຜູ ພ້ ັດທະນາດປຣແກຣມນາໃຊ້ (Application Programmer) ໄດແ້ ກີ່ ກີ່ ຸມຜູທ້ ີ່ ເີ ຮດັ ໜາ້ ທີ່ ີພດັ ທະນາດປຣແກຣມນາໃຊອ້ າດມໜີ າ້ ທ່ີ ໃີ ນການເອນີ້ ໃຊ້ ຫຼ ເຮດັ ການປະມວນ ຜນົ ກບັ ຂມ້ ູນໃນ ຖານຂມ້ ູນ, ອາດໃຊພ້ າສາລະດບັ ສູງເຊ່ີ ນັ : ພາສາ C, COBOL ຫຼ PASCAL ແລະ ພາສາສາລບັ ເລອກໃຊຂ້ ມ້ ູນເຊີ່ ນັ DML: Data Manipulation language ໄວໃ້ ນ ດປຣແກຣມເຊີ່ ງິ ມີ ໜາ້ ທີ່ ຊີ ວ່ີ ຍພດັ ທະນາ ເຄີ່ ອງມຕ່ີ າງໆ ທ່ີ ລີ ະບບົ ຈດັ ການຖານຂມ້ ນູ ມີໄວສ້ າລບັ ການພດັ ທະນາດປຣແກຣນາໃຊ.້  ຜູ ້ໃຊດ້ ປຣແກຣມ (End users) ເປັນກີ່ ຸມຄນົ ທ່ີ ີໃຊວ້ ຽກໃນລກັ ຊະນະດຕຕ້ ອບກບັ ຖານຂມ້ ນູ ດດຍໃຊພ້ າສາທີ່ ີຊີ່ ວຍໃນການສອບຖາມຂມ້ ນູ ໃນ ຖານຂມ້ ນູ ນນັ້ ເຊ່ີ ນັ : ພາສາ SQL (structure Query Language) ຫຼ ເປັນກີ່ ຸມຜູໃ້ ຊທ້ ີ່ ີໃຊວ້ ຽກດປຣແກຣມ ນາໃຊທ້ ່ີ ີພດັ ທະນາດດຍຜູໃ້ ຊກ້ ່ີ ຸມທາອດິ .  ຈດັ ການຖານຂມ້ ູນ (DBA: Database Administrator) ເປນັ ຜູຮ້ ບັ ຜດິ ຊອບ ແລະ ຕດັ ສນີ ໃຈກີ່ ຽວກບັ ລະບບົ ຖານຂມ້ ນູ ທງັ ໜດົ . ດ່ີ ງັ ນນັ້ ຜູບ້ ລຫິ ານຖານຂມ້ ູນຈະ ເປັນຜູຮ້ ບັ ຜດິ ຊອບກ່ີ ຽວກບັ ຖານຂມ້ ນູ ໃນລະດບັ ເທກັ ນກິ . 3. ໜາ້ ທ່ີ ຮີ ບັ ຜດິ ຊອບຂອງ DBA  ຕດັ ສນິ ໃຈກ່ີ ຽວກບັ ການຈດັ ເກບັ ບນັ ທກຂມ້ ນູ ໄວໃ້ ນຖານຂມ້ ູນ  ວເິ ຄາະການຈດັ ເກບັ ຂມ້ ູນລງົ ໃນຖານຂມ້ ູນ  ປະສານສມົ ທບົ ກບັ ຜູໃ້ ຊຂ້ ມ້ ນູ ໃນຖານຂເ້ ພີ່ ອຫາຄວາມຕອ້ ງການ  ການດົ ລະບບົ ຮກັ ສາຄວາມປອດໄພ ແລະ ຄວາມຄງົ ສະພາບຂອງຂມ້ ນູ  ການດົ ແຜນໃນການສາ້ ງລະບບົ ສາຮອງ ແລະ ຟນ້ ສະພາບຂມ້ ູນ  ສາຫວຼ ດຄວາມຕອ້ ງການ ແລະ ຄວາມຖີ່ ໃີ ນການໃຊວ້ ຽກຂອງຜູໃ້ ຊ້ 1) ຄວາມສາຄນັ ຂອງຖານຂມ້ ູນ ນຍຸກທາອດິ ທ່ີ ນີ າເອາົ ຄອມພວິ ເຕມີ າໃຊໃ້ ນການປະມວນຜນົ ຂມ້ ູນນນັ້ , ການຈດັ ເກບັ ຂມ້ ນູ ແຕ່ີ ລະປະເພດແຍກ ອອກເປັນfile ຫຼ ແຟມ້ ຂມ້ ູນ, ດດຍແຕ່ີ ລະໜີ່ ວຍງານຈະເກບັ ຂມ້ ູນ ແລະ ມດີ ປຣແກຣມເປັນຂອງຕນົ ເອງທີ່ ໃີ ຊດ້ ງຶ ຂ ້ ມນູ ຈາກແຟ້ມຕ່ີ າງໆມາປະມວນຜນົ ແລະ ເຮດັ ລາຍງານ, ເຊ່ີ ງິ ເຮດັ ໃຫເ້ ກດີ ບນັ ຫາຕາມມາຄ: ການເກບັ ຂມ້ ູນຊາ້ ຊອ້ ນ (Data Redundancy) ແລະ ຂາດຄວາມເປັນມາດຕະຖານດຽວກນັ (Poor Enforcement of Standards) ເນ່ີ ອງຈາກຕີ່ າງຄນົ ຕີ່ າງເກບັ ເຮດັ ໃຫກ້ ານການດົ ດຄງສາ້ ງຂອງຂມ້ ນູ ຕວົ ດຽວກນັ ມີຄວາມແຕກຕີ່ າງກນັ ໄດງ້ ່ີາຍເຊີ່ ນັ : ຊະນດິ ແລະ ຮບູ ແບບຂມ້ ນູ ລວມທງັ ຊີ່ ທີ່ ີຕງັ້ ໄວບ້ ີ່ ກງົ ກນັ , ບນັ ຫາຄວາມບ່ີ ເປັນເອກະລາດຂອງຂມ້ ູນ (Data dependency) ເນີ່ ອງຈາກວທິ ຈີ ດັ ເກບັ ແລະ ເອນີ້ ໃຊຂ້ ມ້ ນູ ຈະຂນ້ ກບັ ດປຣແກຣມຂອງແຕ່ີ ລະໜີ່ ວຍງານ. ຕວົ ຢີ່ າງ ການຈດັ ເກບັ ຂມ້ ູນບ່ີ ເປັນລະບບົ ດຽວກັນ

ພາບທີ 2 ລະບບົ ຈດັ ການຖານຂມ້ ນູ ບ່ີ ເປນັ ລະບບົ  ຈຸດດີ ແລະ ຈດຸ ອ່ີ ອນ ຈດຸ ດໃີ ນການປະມວນຜນົ ແບບແຟ້ມຂມ້ ນູ ຄ: ແຕ່ີ ລະພະແນກສາມາດຂຽນດປຣແກຣມປະມວນຜນົ ຂມ້ ູນ ໃນຮບູ ແບບທ່ີ ີຕອ້ ງການໄດຢ້ ີ່ າງເອກະລາດ, ການແກໄ້ ຂ ແລະ ເອນີ້ ໃຊສ້ າມາດເຮດັ ໄດທ້ ນັ ທເີ ພາະວ່ີ າຕີ່ າງຄນົ ຕ່ີ າງຈດັ ເກບັ , ຄ່ີ າໃຊຈ້ ່ີ າຍໃນການສາ້ ງລະບບົ ຂອ້ ນຂາ້ ງຕີ່ າເພາະຂມ້ ນູ ໃຊສ້ ະເພາະພະແນກດດຍບີ່ ຕອ້ ງເຊີ່ ອມດຍງກບັ ພະແນກ ອີ່ ນ ດີ່ ງັ ນນັ້ ຖານຂມ້ ູນຈີ່ ງຶ ບ່ີ ຊບັ ຊອ້ ນຈນົ ຕອ້ ງໃຊລ້ ະບບົ ເຄອຄ່ີ າຍ ແລະ ລະບບົ ຈດັ ການຖານຂມ້ ູນທີ່ ມີ ປີ ະສດິ ທພິ າບ ເຂາົ້ ມາຊ່ີ ວຍ, ແຕ່ີ ບນັ ຫາກຕາມມາຄ ເກດີ ຄວາມຊາ້ ຊອ້ ນຂອງຂມ້ ູນ ແລະ ຂມ້ ນູ ບ່ີ ມີຄວາມເປນັ ເອກະລາດ ຕົວຢ່ີ າງ ການຈດັ ເກບັ ຂມ້ ນູ ເປນັ ລະບບົ ດຽວກນັ ພາບທີ 3 ການຈດັ ເກບັ ຂມ້ ູນໃນລະບບົ ດຽວກນັ 2) ຄວາມສາຄນັ DBMS

ການທີ່ ີຈດັ ເກບັ ຂມ້ ນູ ເປັນລະບບົ ດຽວກນັ ຈະເຮດັ ໃຫດ້ ຄງສາ້ ງຂອງຖານຂມ້ ູນຊບັ ຊອ້ ນຂນ້ , ຖາ້ ຈະຂຽນດປຣ ແກຣມເພີ່ ອສາ້ ງ ແລະ ຄວບຄຸມການທາງານຂອງຖານຂມ້ ນູ ໃຊເ້ ອງເປັນເລ່ີ ອງທ່ີ ີຍຸງ້ ຍາກ ແລະ ໃຊເ້ ວລາຫຼາຍ ດີ່ ງັ ນນັ ຈີ່ ງຶ ໄດມ້ ີການພດັ ທະນາເຄ່ີ ອງມທີ່ ເີ ອນີ້ ວີ່ າ ລະບບົ ຈດັ ການຖານຂມ້ ນູ (Database Management System: DBMS) ເພ່ີ ອນາມາຊີ່ ວຍໃຫກ້ ານສາ້ ງ, ການເອນີ້ ໃຊ້ ແລະ ການປັບປຸງແກໄ້ ຂຖານຂມ້ ນູ ໄດງ້ ີ່າຍພອ້ ມທງັ ມປີ ະສດິ ທພິ າບສູງ, ເຊ່ີ ງິ DBMS ນຈີ້ ະເຮດັ ໜາ້ ທີ່ ເີ ປັນສີ່ ກາງລະຫວີ່ າງຜູໃ້ ຊກ້ ບັ ຖານຂມ້ ນູ ດດຍຜູໃ້ ຊບ້ ່ີ ຈາເປັນຈະຕອ້ ງ ຮູດ້ ຄງ ສາ້ ງ ແລະ ການຈດັ ເກບັ ຂມ້ ນູ ພາຍໃນ, ເຊີ່ ງິ ເຮດັ ໃຫສ້ າມາດພດັ ທະນາດປຣແກຣມນາໃຊເ້ ພີ່ ອນາເອາົ ຂມ້ ູນເລ່ີ າົ ນມີ້ າໃຊ້ ດດຍບ່ີ ຂນ້ ກບັ ດຄງສາ້ ງຂອງຖານຂມ້ ູນ.  ຈດຸ ເດີ່ ນັ ຂອງລະບບົ ຖານຂມ້ ູນ  ຫດຸຼ ຜີ່ ອນຄວາມຊາ້ ຊອ້ ນຂອງຂມ້ ູນ  ຫີຼກລຽ້ ງຄວາມຂດັ ແຍີ່ ງຂອງຂມ້ ູນ  ຄວບຄມຸ ຄວາມຖກຕອ້ ງຂອງຂມ້ ນູ  ມີຄວາມເປັນເອກະລາດຂອງຂມ້ ູນ  ໃຊຂ້ ມ້ ູນໃນຖານຂມ້ ນູ ຮ່ີ ວມກນັ  ຂມ້ ູນມີຄວາມເປັນມາດຕະຖານ  ສາ້ ງຄວາມປອດໄພໃຫກ້ ບັ ຖານຂມ້ ູນ – ຫຸຼດຜີ່ ອນຄວາມຊາ້ ຊອ້ ນຂອງຂມ້ ນູ ເນີ່ ອງຈາກຂມ້ ູນທງັ ໝດົ ຖກຈດັ ເກບັ ໄວບ້ ່ີ ອນດຽວກນັ , ເຖງິ ແມີ່ ນວີ່ າບາງຄງັ້ ອາດຈາເປັນຕອ້ ງເກບັ ຂມ້ ູນໄວ້ ຫຼາຍກວີ່ າ1ບີ່ ອນ ເຊ່ີ ນັ ວ່ີ າ ຂມ້ ູນລະຫດັ ລກູ ຄາ້ ທ່ີ ເີ ກບັ ໄວທ້ ງັ ໃນຕາຕະລາງລກູ ຄາ້ ແລະ ຕາຕະລາງການສ່ີ ງັ ຊໃ້ ນຖານຂ ້ ມນູ ດຽວກນັ , ແຕ່ີ DBMS ຈະຊາບວີ່ າມຂີ ມ້ ູນໃດແດ່ີ ທ່ີ ຊີ າ້ ກນັ ແລະ ຂມ້ ນູ ເລ່ີ າົ ນນັ້ ຖກເກບັ ໄວທ້ ່ີ ໃີ ດເປນັ ຕນົ້ . – ຫີຼກລຽ້ ງຄວາມຂດັ ແຍີ່ ງຂອງຂມ້ ູນ ໃນລະບບົ ຖານຂມ້ ູນຈະພະຍາຍາມໃຫເ້ ກບັ ຂມ້ ູນດດຍມີຄວາມຊາ້ ກນັ ໜອ້ ຍທີ່ ສີ ຸດເຮດັ ໃຫຫ້ ຸຼດບນັ ຫາການ ເກບັ ຂມ້ ນູ ຕວົ ດຽວກນັ ແຕີ່ ຄີ່ າບີ່ ກງົ ກນັ , ຖາ້ ຈາເປນັ ຕອ້ ງເກບັ ຂມ້ ນູ ຊາ້ ກນັ ໃນຖານຂມ້ ູນ ແລະ ມກີ ານແກໄ້ ຂເກດີ ຂນ້ DBMS ຈະເປັນຕວົ ຄວບຄມຸ ໃຫຂ້ ມ້ ູນນນັ້ ຕອ້ ງຖກແກໃ້ ຫຄ້ ບົ ໄຂທຸກຕວົ . – ຄວບຄຸມຄວາມຖກຕອ້ ງຂອງຂມ້ ູນ ຄວບຄມຸ ຄວາມຖກຕອ້ ງທ່ີ ສີ ອດຄ່ີ ອງ ແລະ ຖກຕອ້ ງຕາມຄວາມເປນັ ຈງິ ຂອງຂມ້ ູນ ຫຼຕາມເງ່ີອນໄຂກດົ ເກນທ່ີ ີ ການດົ ໄວ,້ ເຊີ່ ນັ ວ່ີ າ ຖາ້ ການດົ ໃຫອ້ າຍຸພະນກັ ງານໃນອງົ ກອນຢີ່ ລູ ະຫວີ່ າງ 20 – 55 ປີ ຫ ລາຄາສນິ ຄາ້ ຕອ້ ງບີ່ ເປັນຄີ່ າ ສນູ ແລະ ບີ່ ມຄີ ່ີ າລບົ , DBMS ຈະຄອຍກວດສອບວີ່ າຂມ້ ນູ ທີ່ ີປອ້ ນເຂາົ້ ໄປນນັ້ ຖກຕອ້ ງຕາມເງ່ີອນໄຂທີ່ ີຕງັ້ ໄວຫ້ ຼ ບີ່ , ຖາ້ ບ່ີ ຖກຈະຕອ້ ງແຈງ້ ເຕອນຄວາມຜດິ ພາດໃຫຊ້ າບ ແລະ ບີ່ ບນັ ທກຶ ຂມ້ ນູ ລງົ ໃນຖານຂມ້ ນູ ຈນົ ກວ່ີ າຈະແກໄ້ ຂໃຫ້ ຖກຕອ້ ງເປນັ ຕນົ້ . – ມີຄວາມເປັນເອກະລາດຂອງຂມ້ ູນ ເນີ່ ອງຈາກດປຣແກຣມທີ່ ີຂຽນຂນ້ ມາບ່ີ ໄດຢ້ ດຕດິ ກບັ ດຄງສາ້ ງການຈດັ ເກບັ ແລະ ວທິ ີເອນີ້ ໃຊຂ້ ມ້ ູນເຮດັ ໃຫສ້ າ ມາດປບັ ປຸງແກໄ້ ຂດຄງສາ້ ງຂມ້ ູນໃຫມ້ ີປະສດິ ທພິ າບດດຍບີ່ ຕອ້ ງແກໄ້ ຂດປຣແກຣມໃຫສ້ ອດຄ່ີ ອງກນັ ຫຼ ຖາ້ ຈາ ເປັນ ແກໄ້ ຂກຈະບ່ີ ຫຍຸງ້ ຍາກ ແລະ ບີ່ ມຂີ ຈ້ າກດັ ຫຼາຍຄກບັ ລະບບົ ແຟ້ມຂມ້ ນູ . – ໃຊຂ້ ມ້ ູນໃນຖານຂມ້ ູນຮ່ີ ວມກັນ

ຖາ້ ຖານຂມ້ ນູ ໄດຮ້ ບັ ການອອກແບບມາຢີ່ າງດມີ ີຄວາມສມົ ບນູ ແລະ ຄບົ ຖວ້ ນຈະເຮດັ ໃຫດ້ ປຣແກຣມທ່ີ ຂີ ຽນ ຂນ້ ມາສາມາດດງຶ ເອາົ ຂມ້ ູນມາໃຊໄ້ ດທ້ ນັ ທດີ ດຍບ່ີ ຕອ້ ງແກໄ້ ຂດຄງສາ້ ງຂມ້ ນູ ເດມີ ຫຼ ຖາ້ ມີການແກໄ້ ຂກແກໄ້ ຂ ພຽງໜອ້ ຍດຽວເທີ່ າົ ນນັ້ – ຂມ້ ູນມີຄວາມເປັນມາດຕະຖານ ເນ່ີ ອງຈາກການການດົ ຊະນດິ ແລະ ຮບູ ແບບຂອງຂມ້ ນູ ຕວົ ດຽວກນັ ໃຫເ້ ໜອນກນັ ໄດ,້ ບ່ີ ວີ່ າຂມ້ ນູ ນນັ້ ຈະເກບັ ຢ່ີ ູບີ່ ອນໃດໃນຖານຂມ້ ນູ ຈະເຮດັ ໃຫກ້ ານນາເອາົ ຂມ້ ນູ ໄປໃຊ້ ຫຼ ແລກປ່ີ ຽນກນັ ລະຫວ່ີ າງຖານຂມ້ ນູ ເຮດັ ໄດງ້ ່ີາຍຂນ້ . – ສາ້ ງຄວາມປອດໄພໃຫ້ກັບຖານຂມ້ ູນ DBA ສາມາດການດົ ສດິ ທໃິ ນການເຂາົ້ ໃຊຖ້ ານຂມ້ ູນໃຫກ້ ບັ ຜູໃ້ ຊແ້ ຕ່ີ ລະຄນົ ໃນລະດບັ ຕີ່ າງໆຕາມຄວາມ ສາຄນັ ແລະ ຄວາມຮບັ ຜດິ ຊອບໄດ,້ ເຊ່ີ ນັ ສາມາດເອນີ້ ໃຊ້ ແລະ ປບັ ປຸງຂມ້ ູນໄດ້ ຫຼ ເຂາົ້ ໄປເບ່ີ ງິ ໄດພ້ ຽງຢີ່ າງດຽວເທ່ີ າົ ນນັ້ ດດຍຈະການດົ ລະຫດັ ຜີ່ ານໃນການເຂາົ້ ໃຊຖ້ ານຂມ້ ູນໃຫກ້ ບັ ແຕີ່ ລະຄນົ ເພ່ີ ອປ້ອງກນັ ບີ່ ໃຫຜ້ ູທ້ ີ່ ບີ ີ່ ມີສີ່ ວນກ່ີ ຽວຂອ້ ງ ມາໃຊ້ ຫຼ ແກໄ້ ຂຂມ້ ນູ ດດຍບີໄ່ ດຮ້ ບັ ອານຍຸ າດ ເຊີ່ ງິ ຈະສາ້ ງຄວາມເສຍັ ຫາຍໃຫກ້ ບັ ລະບບົ ຖານຂມ້ ນູ . 3) ຖານຂມ້ ູນໃນຮູບແບບຕີ່ າງໆ  ຖານຂມ້ ນູ ແບບສາພນັ (Relational Database)  ຖານຂມ້ ນູ ແບບແຕກສາຂາ (Hierarchical Database)  ຖານຂມ້ ູນແບບເຄອຄີ່ າຍ (Network Database) ຕວົ ຢີ່ າງ ແຜນວາດລະບບົ ຄຸມ້ ຄອງຖານຂມ້ ນູ ກບັ ຄວາມຕອ້ ງການດາ້ ນຂມ້ ນູ (Database Management Systems and Query) ພາບທີ 4 ການຄມຸ ້ ຄອງລະບບົ ຖານຂມ້ ູນ 4) ແຜນວາດລະບບົ ຄຸມ້ ຄອງຖານຂມ້ ນູ ແລະ ຜູໃ້ ຊ້ (DBMS & People)

ພາບທີ 5 ແຜນວາດການຄຸມ້ ຄອງລະບບົ ຖານຂມ້ ູນ 4. ຖານຂມ້ ນູ ແບບສາພນັ ຖານຂມ້ ນູ ທ່ີ ີໄດຮ້ ບັ ຄວາມນຍິ ມົ ສງູ ສຸດໃນປະຈຸບນັ ຄຖານຂມ້ ູນແບບສາພນັ ທີ່ ຜີ ູໃ້ ຊເ້ ບ່ີ ງິ ເຫນັ ກີ່ ຸມຂມ້ ນູ (Table) ທ່ີ ີ ຈດັ ເກບັ ໄວໃ້ ນຮູບຕາຕະລາງ ຫຼ Table ແບບ 2 ມຕິ ທິ ປີ ະກອບດວ້ ຍຂມ້ ູນແຕ່ີ ລະແຖວໃນທາງນອນເ ອີນ້ ວີ່ າ record ແລະ ຂມ້ ູນແຕີ່ ລະຖນັ ໃນທາງຕງັ້ ເອນີ້ ວີ່ າ field ເຮດັ ໃຫສ້ າມາດສາ້ ງຄວາມສາພນັ ລະຫວີ່ າງ Table ທີ່ ີ ກີ່ ຽວຂອ້ ງກນັ ໃນຖານຂມ້ ູນໄດງ້ ່ີາຍຂນ້ . ດປຣແກຣມລະບບົ ຈດັ ການຖານຂມ້ ູນແບບສາພນັ ທີ່ ີໃຊກ້ ນັ ແຜີ່ ຫຼາຍຕງັ້ ແຕ່ີ ລະບບົ ຖານຂມ້ ນູ ແບບທ່ີ ີມີຜູໃ້ ຊ້ ພຽງຄນົ ດຽວ ແລະ ແບບທ່ີ ມີ ີຜູໃ້ ຊຖ້ ານຂມ້ ູນໄດພ້ ອ້ ມກນັ ຫາຼ ຍໆຄນົ , ໄດແ້ ກ່ີ : MS Access, dBase, Foxbase, Paradox ໄປຈນົ ເຖງິ ລະບບົ ຖານຂມ້ ູນທ່ີ ີໃຊເ້ ປນັ Dababase Server ເຊ່ີ ນັ : SQL Server, Oracle, Informix, Sybase ຕວົ ຢ່ີ າງ ຖານຂມ້ ູນແບບສາພນັ ພາບທີ 6 ຖານຂມ້ ູນແບບສາພນັ ກນັ ຕົວຢີ່ າງ ຖານຂມ້ ູນແບບແຕກສາຂາ

ພາບທີ 7 ຖານຂມ້ ູນແບບແຕກສາຂາ ຕວົ ຢ່ີ າງ ຖານຂມ້ ນູ ແບບ Network ພາບທີ 8 ຖານຂມ້ ູນແບບ Network

ບດົ ທີ 2 ສະຖາປດັ ຍະກາຂອງລະບບົ ຖານຂມ້ ນູ (Database System Architecture) 1. ສະຖາປັດຍະກາຂອງລະບບົ ຖານຂມ້ ນູ ສະຖາປັດຍະກາຂອງລະບບົ ຖານຂມ້ ນູ ເປັນການເວາົ້ ເຖງິ ດຄງສາ້ ງ ແລະ ສີ່ ວນຕ່ີ າງໆທ່ີ ີປະກອບກນັ ເປັນລະ ບບົ ຖານຂມ້ ູນ ເຊີ່ ງິ ໃນທີ່ ີນຈີ້ ະເວາົ້ ເຖງິ ຫກຼັ ການພນ້ ຖານຂອງລະບບົ ຖານຂມ້ ນູ ໃນປດັ ຈຸບນັ ດດຍບ່ີ ໄດເ້ ນນັ້ ໜກັ ລະ ບບົ ການຈດັ ການຖານຂມ້ ນູ ໃດເປນັ ທ່ີ ີສາຄນັ . ທງັ ໝດົ ນແີ້ ມ່ີ ນສະຖາປດັ ຍະກາຂອງ ANSI/SPARC ຫຼ ANSI/ SPARC Architecture. 1) ການຈດັ ລະດບັ ຂອງຂມ້ ູນຕາມ ANSI/SPARC Architecture ພາບທີ 9 ລະດບັ ຂອງຂມ້ ູນຕາມ ANSI/SPARC Architecture 2) External Level ເປນັ ຂມ້ ູນທີ່ ີຜູໃ້ ຊແ້ ຕ່ີ ລະຄນົ ສາມາດເບ່ີ ງິ ເຫນັ ໄດ,້ ເຊີ່ ງິ ການເບີ່ ງິ ເຫນັ ຂອງຜູໃ້ ຊແ້ ຕີ່ ລະຄນົ ຈະແຕກຕີ່ າງກນັ ໄປ ດດຍຂນຶ້ ກບັ ລກັ ສະນະຂອງການໃຊວ້ ຽກ ແລະ ສດິ ທໃິ ນການປະມວນຜນົ ກບັ ຂມ້ ນູ ຂອງຜູໃ້ ຊແ້ ຕ່ີ ລະ ຄນົ . 3) Conceptual lev el ເປນັ ການເບີ່ ງິ ເຖງິ ຂມ້ ນູ ໃນລະບບົ ແລະ ຄວາມສາພນັ ຂອງຂມ້ ນູ ໃນລະບບົ ລວມໄປເຖງິ ກດົ ເກນຕີ່ າງໆ ທີ່ ີ ກ່ີ ຽວຂອ້ ງກບັ ຂມ້ ູນແບບດຄງສາ້ ງຂອງຖານຂມ້ ູນ ເຊີ່ ງິ ໃນລະດບັ ນຈີ້ ະເປັນການເບີ່ ງິ ໃນຮບູ ແບບ Logical Record ຫຼ ເບ່ີ ງິ ໃນລກັ ສະນະທ່ີ ີຜູໃ້ ຊເ້ ຂາົ້ ໃຈ. 4) Internal lev el ເປນັ ລະດບັ ຂອງການຈດັ ເກບັ ຂມ້ ູນຈງິ ເຊີ່ ງິ ກ່ີ ຽວ ຂອ້ ງກບັ ການຈດັ ເກບັ ຂມ້ ູນໄວໃ້ ນສ່ີ ທ່ີ ີເກບັ ບນັ ທກຶ ຫຼເວາົ້ ໄດ້ ວີ່ າເປນັ ການເບ່ີ ງິ ຂມ້ ູນໃນຮູບແບບຂອງ Stored Record.  ລາຍລະອຽດສະຖາປັດຍະກາຂອງລະບບົ ຖານຂມ້ ູນ

ພາບທີ 10 ລາຍລະອຽດສະຖາປັດຍະກາຂອງລະບບົ ຖານຂມ້ ູນ 2. ພາສາທີ່ ໃີ ຊໃ້ ນລະບບົ ຈດັ ການຖານຂມ້ ນູ  Data Sublanguage: DSL – Data Definition Language: DDL – Data Manipulation Language : DML  Host Language  Data Definition Language : DDL ເປນັ ພາສາທີ່ ີໃຊນ້ ຍິ າມ ຫຼ ການດົ ດຄງສາ້ ງຂມ້ ູນ ເຊີ່ ນັ ວ່ີ າ ຈາກຮບູ ຂາ້ ງເທງິ ຈະສງັ ເກດເຫນັ ວີ່ າ ສ່ີ ວນຂອງ DDL ແມີ່ ນສີ່ ວນທ່ີ ີການດົ ດຄງສາ້ ງເພ່ີ ອຕດິ ຕ່ີ ກບັ ລະບບົ ຈດັ ການຖານຂມ້ ນູ .  Data Manipulation Language : DML ເປັນພາສາທີ່ ີໃຊໃ້ ນການຈດັ ການກບັ ຂມ້ ູນຕີ່ າງໆ ເຊີ່ ນັ ວ່ີ າ ການເພ່ີ ີມຂມ້ ນູ , ການລບຶ ຂມ້ ູນ ແລະ ການແກໄ້ ຂຂ ້ ມນູ ໃນຖານຂມ້ ນູ ເປັນຕນົ້ .  Host Language Host Language ເປັນສີ່ ວນຈດັ ກຽມກ່ີ ຽວກບັ ຕວົ ປ່ີ ຽນທ່ີ ບີ ນັ ທກຶ ຂມ້ ູນ, ການນາເອາົ ຂມ້ ນູ ມາປະມວນ ຜນົ , ຟງັ ຊນັ ທາງຕກັ ກະສາດຕ່ີ າງໆທ່ີ ກີ ່ີ ຽວກບັ ການຄານວນ ຫຼ ການປະມວນຜນົ ກບັ ຂມ້ ູນທີ່ ດີ ງຶ ມາຈາກຖານຂມ້ ູນ 1) ຄວາມເປັນເອກະລາດຂອງຂມ້ ນູ ສະຖາປດັ ຍະກາຂອງລະບບົ ຖານຂມ້ ູນທີ່ ີຈດັ ແບີ່ ງອອກເປັນ 3 ລະດບັ ສາມາດທີ່ ຈີ ະໃຊອ້ ະທບິ າຍເຖງິ ຄວາມ ເປນັ ເອກະລາດ ຂອງຂມ້ ູນເຊ່ີ ງິ ຖວ່ີ າເປັນຈດຸ ເດ່ີ ນັ ຂໜ້ ີ່ ງຶ ຂອງລະບບົ ຖານຂມ້ ູນ. ຄວາມໝາຍຂອງຄວາມເປນັ ເອກະລາດຂອງຂມ້ ນູ ແມ່ີ ນເມ່ີ ອມີການປີ່ ຽນແປງດຄງສາ້ ງຢ່ີ ູລະດບັ ໃດກ່ີ ຕາມ ຈະບ່ີ ມີຜນົ ກະທບົ ເຮດັ ໃຫລ້ ະດບັ ທ່ີ ຢີ ີ່ ູສງູ ກ່ີ ວາຕອ້ ງທາການປີ່ ຽນແປງດຄງສາ້ ງໄປນາດວ້ ຍ.  ຄວາມເປັນເອກະລາດຂອງຂມ້ ນູ ແບບຕກັ ກະສາດ (Logical Data Independence) ແມີ່ ນການປ່ີ ຽນແປງໃນລະດບັ ຫກຼັ ການຈະບ່ີ ມຜີ ນົ ກະທບົ ຕ່ີ ຜູໃ້ ຊໃ້ ນລະດບັ ພາຍນອກ, ໝາຍຄວາມວີ່ າໃນ

ສີ່ ວນຂອງດປຣແກຣມນາໃຊ້ ຈະບີ່ ຈາເປັນຕອ້ ງເຮດັ ການແກໄ້ ຂ ປບັ ປີ່ ຽນດຄງສາ້ ງຕາມ ເຊີ່ ງິ ຜູໃ້ ຊຍ້ ງັ ຄງົ ໃຊວ້ ຽກໄດ້ ປົກກະຕ ິ  ຄວາມເປັນເອກະລາດຂອງຂມ້ ນູ ແບບກາຍຍະພາບ (Physical Data Independence) ແມີ່ ນການປ່ີ ຽນແປງໃນລະດບັ ພາຍໃນອນັ ເນີ່ ອງມາຈາກຄວາມຕອ້ ງການເພ່ີ ີມປະສດິ ທພິ າບໃນການເຂາົ້ ເຖງິ ຂມ້ ນູ ຜູບ້ ລຫິ ານຖານຂມ້ ູນອາດຈະມີການປ່ີ ຽນແປງດດຍການສາ້ ງແຟ້ມດດັ ສະນຫີ ຼມີການໃຊເ້ ທກັ ນກິ ໃນລະບບົ ຈດັ ການຖານຂມ້ ູນສະໜບັ ສະໜນູ ການທາງານ, ໃນສີ່ ວນຂອງຜູໃ້ ຊບ້ ີ່ ຈາເປນັ ຕອ້ ງແກໄ້ ຂປີ່ ຽນແປງດຄງສາ້ ງ ໃນລະ ດບັ ຫກຼັ ການ ແລະ ລະດບັ ພາຍນອກ. 2) ຂນັ້ ຕອນການເຮດັ ວຽກຂອງ DBMS ດ່ີ ງັ ທ່ີ ຮີ ແູ ້ ລວ້ ວ່ີ າລະບບົ ຈດັ ການຖານຂມ້ ນູ ເປັນ Software ເຊີ່ ງິ ເຮດັ ໜາ້ ທີ່ ໃີ ນການຈດັ ການການປະມວນຜນົ ກບັ ຂມ້ ນູ ໃນຖານຂມ້ ນູ . ເມີ່ ອພຈິ າະນາເຖງິ ຫກຼັ ານໃນການປະມວນຜນົ ກບັ ຂ ້ ມູນໃນຖານ ຂມ້ ນູ ຈະມຂີ ນັ້ ຕອນດ່ີ ງັ ນີ:້ – ຜູໃ້ ຊບ້ ອກຄວາມຕອ້ ງການທ່ີ ຕີ ອ້ ງການປະຕບິ ດັ ກບັ ຂມ້ ູນໃນຖານຂມ້ ນູ (ຄາສ່ີ ງັ ) – ລະບບົ ຈດັ ການຖານຂມ້ ນູ ຈະທາການແປ ແລະ ວເິ ຄາະຄາສ່ີ ງັ – ລະບບົ ຈດັ ການຖານຂມ້ ນູ ຈະທາການແປງຈາກລະດບັ ພາຍນອກໃຫ້ຢ່ີ ູໃນລະດບັ ຫກຼັ ການ ແລະ ແປງ ຈາກລະດບັ ຫກຼັ ການໃຫຢ້ ີ່ ູໃນລະດບັ ພາຍໃນ – ລະບບົ ຈດັ ການຖານຂມ້ ູນທາການປະມວນຜນົ ຕ່ີ າງໆ ທີ່ ີກີ່ ຽວຂອ້ ງກບັ ຂມ້ ູນ ທ່ີ ີຖກເກບັ ບນັ ທກຶ ໄວໃ້ ນສີ່ ບນັ ທກຶ ແລະ ສີ່ ງົ ກບັ ໄປຍງັ ຜູໃ້ ຊພ້ າຍໃຕກ້ ານຄວບຄມຸ ຈດັ ການຂອງລະບບົ ຈດັ ການຖານຂມ້ ູນ 3) ສີ່ ວນປະກອບຂອງ DBMS  Database and DBMS Catalog  Stored Data Manager  DDL Compiler  Run Time Database Processor  Query processor  Pre compiler  Database and DBMS Catalog ເປັນພາກສີ່ ວນຂອງຖານຂມ້ ູນທີ່ ີຈດັ ເກບັ ໃນ Disk ເຊ່ີ ງິ ປະ ກອບດວ້ ຍພາກສີ່ ວນຂອງຂມ້ ູນ ແລະ ຂມ້ ນູ ຂອງ ຂມ້ ນູ (Meta Data) ທ່ີ ີເກບັ ໄວໃ້ ນ Catalog ແລະ ການເຂາົ້ ເຖງິ ຂມ້ ູນຕ່ີ າງໆທີ່ ີ ເກບັ ບນັ ທກຶ ໄວນ້ ຈີ້ ະຢ່ີ ູພາຍໃຕກ້ າ ນຄວບຄມຸ ຂອງ Stored Manager ສາລບັ ຂມ້ ູນໃນ Catalog ຈະປະກອບດວ້ ຍຂມ້ ູນຂອງຂມ້ ູນ ຫຼດຄງສາ້ ງ ຂອງລະບບົ ຖານຂມ້ ນູ ເຊີ່ ນັ : ຊີ່ ຂອງແຟ້ມຂມ້ ູນ, View ຕີ່ າງໆທີ່ ຖີ ກສາ້ ງຂນຶ້ , ດຄງສາ້ ງຂອງແຕີ່ ລະຕາລາງລວມ ໄປ ເຖງິ ລາຍລະອຽດຂອງການຈດັ ເກບັ ເປນັ ຕນົ້ .  Stored Data Manager ເປັນສ່ີ ວນຂອງລະບບົ ຈດັ ການຖານຂມ້ ູນຫຼເປນັ ສີ່ ວນຂອງລະບບົ ປະຕບິ ດັ ການ ຈະເຮດັ ໜາ້ ທ່ີ ີການຄວບຄຸມ ການເຂາົ້ ເຖງິ ຂມ້ ູນເທງິ ສ່ີ ທີ່ ີໃຊໃ້ ນການຈດັ ເກບັ ຂມ້ ູນ

ພາບທີ 11 ພາກສີ່ ວນຂອງລະບບົ ຈດັ ການຖານຂມ້ ນູ  DDL Compiler ໃນການໃຊງ້ ານຖານຂມ້ ນູ ມີພາສາທີ່ ໃີ ຊໃ້ ນການນິ ຍາມດຄງສາ້ ງຂອງຖານຂມ້ ູນແມ່ີ ນ DDL ແລະ ໃນສີ່ ວນ ຂອງ DDL Compiler ຈະເປນັ ສ່ີ ວນທີ່ ີເຮດັ ໜາ້ ທີ່ ີໃນການແປຄາສ່ີ ງັ ທ່ີ ີຜູໃ້ ຊນ້ ຍິ າມຂມ້ ນູ , ຖາ້ ຄາສ່ີ ງັ ຖກຕອ້ ງຂມ້ ນູ ໃນສ່ີ ວນ ນຍິ າມດຄງສາ້ ງຈະຖກບນັ ທກຶ ໄວໃ້ ນ Catalog ຂອງດຄງສາ້ ງ.  Run Time Database Processor ຈດັ ການກີ່ ຽວກບັ ການເຂາົ້ ເຖງິ ຂມ້ ນູ ໃນລະຫວ່ີ າງ ການປະມວນຜນົ ບ່ີ ວີ່ າຈະເປນັ ການເອນີ້ ໃຊ້ ຫຼ ແກໄ້ ຂຂ ້ ມູນ, ໃນການເຂາົ້ ເຖງິ ຂມ້ ູນໃນຖານຂມ້ ູນແມີ່ ນຢ່ີ ູພາຍ ໃຕກ້ ານຄວບຄມຸ ຂອງ Stored Data Manager.  Query processor ເປັນການຈດັ ການກີ່ ຽວກບັ ການຄນົ້ ຫາຂມ້ ູນທີ່ ີມີ ລກັ ສະນະການດຕຕ້ ອບເມີ່ ອຜູໃ້ ຊສ້ ອບຖາມ ຫຼ ຄນົ້ ຫາຂ ້ ມນູ , ໃນສ່ີ ວນນຈີ້ ະເຮດັ ການວເິ ຄາະຄາສ່ີ ງັ ແລະ ສ່ີ ງົ ຄາສ່ີ ງັ ນໄີ້ ປທ່ີ ີ runtime processor ເພີ່ ອປະມວນຜນົ ຕີ່ ໄປ.  Pre complier ເປນັ ສ່ີ ວນທ່ີ ີແຍກຄາສ່ີ ງັ ໃນ DML ຈາກດປຣແກຣມນາໃຊ້ ທີ່ ີພດັ ທະນາຂນຶ້ ດວ້ ຍພາສາລະດບັ ສງູ ແລະ ຈະຈດັ ສ່ີ ງົ ກີ່ ຸມຂອງຄາສີ່ ງັ ໄປທ່ີ ີ DML Complier ສ່ີ ວນທ່ີ ເີ ຫອຼ ຈະຖກສີ່ ງົ ໄປທ່ີ ີ Host Language Comelier ເພ່ີ ອທາ ການແປ ແລະ ສາ້ ງ object code ຈາກນນັ້ ນາເອາົ object code ທ່ີ ໄີ ດມ້ າເຊີ່ ອມເຂາົ້ ກນັ ແລະ ເອນີ້ ໄປທີ່ ີ runtime processor ເພີ່ ອທາການປະມວນ ຜນົ ຕີ່ ໄປ (ໃນສ່ີ ວນຂອງ DML complier ທາການແປ DML ແລະ ສີ່ ວນຂອງ Host Language Complier ທາການແປຄາສີ່ ງັ ໃນສ່ີ ວນຂອງ Host Language). 4) ໜາ້ ທີ່ ຂີ ອງ DBMS  ນຍິ າມຂມ້ ູນ (Data Definition)

 ການໃຊງ້ ານຖານຂມ້ ູນ (Data Manipulation)  ຮກັ ສາຄວມປອດໄພ (Security)  ຄວບຄມຸ ຄວາມຄງົ ສະພາບຂອງຂມ້ ນູ (Integrity Control)  ສາ້ ງລະບບົ ສາຮອງ ແລະ ຟນ້ ສະພາບ (Backup and Recovery)  ຄວບຄມຸ ການໃຊວ້ ຽກຮ່ີ ວມກນັ (Concurrency Control)  ຈດັ ແລະ ຮກັ ສາພດົ ຈະນານຸກມົ ຂມ້ ນູ (Data Dictionary)  ນຍິ າມຂມ້ ນູ (Data Definition) ລະບບົ ຈດັ ການຖານຂມ້ ູນມີສີ່ ວນປະມວນຜນົ ກີ່ ຽວກບັ ການແປງຄາສ່ີ ງັ ນຍິ າມຂມ້ ູນທີ່ ີຜູໃ້ ຊກ້ ານດົ ດຄງສາ້ ງ ຖານຂມ້ ນູ ເຊ່ີ ງິ ຄາສີ່ ງັ ຈະຖກການດົ ດວ້ ຍຜູບ້ ລຫິ ານຖານຂມ້ ູນຫຼຜູໃ້ ຊທ້ ່ີ ີມີສດິ ໃນການການດົ ດຄງສາ້ ງ.  ການໃຊງ້ ານຖານຂມ້ ູນ (Data Manipulation) ລະບບົ ຈດັ ການຖານຂມ້ ູນຈະຈດັ ການປະຕບິ ດັ ການຕ່ີ າງໆທ່ີ ີເກີດຂນຶ້ ກບັ ຂມ້ ນູ ໃນຖານຂມ້ ນູ ບ່ີ ວ່ີ າຈະເປັນການ ເພີ່ ມີ , ການແກໄ້ ຂ ຫຼ ການເອນີ້ ໃຊຂ້ ມ້ ນູ ໃນຖານ ຂມ້ ນູ ເຊີ່ ງິ ໃນລະບບົ ຈດັ ການຖານຂມ້ ນູ ຈະມີ DML processor ທີ່ ເີ ຮດັ ໜາ້ ທ່ີ ີຈດັ ການກີ່ ຽວກບັ ພາສາເອນີ້ ໃຊຂ້ ມ້ ູນ.  ຮກັ ສາຄວມປອດໄພ (Security) ລະບບົ ຈດັ ການຖານຂມ້ ູນມີລະບບົ ປ້ອງກນັ ຄວມ ປອດໄພເພີ່ ອປ້ອງກນັ ບີ່ ໃຫຜ້ ູທ້ ີ່ ບີ ີ່ ມສີ ດິ ມາທາການປະມວນ ຜນົ ກບັ ຂມ້ ູນໄດ.້  ຄວບຄຸມຄວາມຄງົ ສະພາບຂອງຂມ້ ູນ (Integrity Control) ລະບບົ ຈດັ ການຖານຂມ້ ູນຈະທາການກວດສອບ ກດົ ຄວມຄງົ ສະພາບຕ່ີ າງໆທີ່ ີມີການການດົ ໄວທ້ ງັ ໃນ ສີ່ ວນ ຂອງ Primary Key ແລະ foreign key ລວມທງັ ຄນຸ ສມົ ບດັ ຂອງແຕ່ີ ລະຖນັ ວີ່ າມຄີ ່ີ າສອດຄີ່ ອງກບັ ກດົ ທີ່ ີການດົ ໄວຫ້ ຼບ່ີ ແລະ ກລະນທີ ີ່ ີຜູໃ້ ຊເ້ ຮດັ ຜດິ ກດົ ຄວາມຄງົ ສະພາບຂອງຂມ້ ູນຈະຕອ້ ງໄດປ້ ະມວນຜນົ ແນວໃດເພີ່ ອໃຫຂ້ ມ້ ນູ ໃນລະບບົ ນນັ້ ຖກຕອ້ ງ.  ສາ້ ງລະບບົ ສາຮອງ ແລະ ຟນ້ ສະພາບ (Backup and Recovery) ມີຟງັ ຊນັ ໃນສ່ີ ວນຂອງການເຮດັ ສາຮອງຂມ້ ູນ ແລະ ເມີ່ ອເກດີ ມີຄວາມເສຍຫາຍກບັ ລະບບົ ຖານຂມ້ ູນ, ລະບບົ ຈດັ ການຖານຂມ້ ູນຈະຕອ້ ງທາການຟນ້ ຟູສະ ພາບຂມ້ ູນໃຫສ້ າມາດໃຊງ້ ານໄດ.້  ຄວບຄຸມການໃຊຮ້ ່ີ ວມກນັ (Concurrency Control) ການຄວບຄຸມການໃຊຮ້ ີ່ ວມກນັ ເປນັ ສີ່ ງິ ຈາເປນັ ສາລບັ ການປະມວນຜນົ ໃນລະບບົ ທ່ີ ີມີຜູໃ້ ຊຫ້ ຼາຍຄນົ (multi- user)ເຊ່ີ ງິ ຜູໃ້ ຊແ້ ຕີ່ ລະຄນົ ມີດອກາດເອນີ້ ໃຊຂ້ ມ້ ູນນນັ້ ພອ້ ມກນັ ໄດດ້ ່ີ ງັ ນນັ້ ຈີ່ ງຶ ເປັນໜາ້ ທີ່ ີຂອງລະບບົ ຈດັ ການຖານຂ ້ ມູນທ່ີ ຈີ ະຕອ້ ງທາການຄວບຄຸມການໃຊຮ້ ່ີ ວມກນັ ຫຼ ເວາົ້ ໄດວ້ ່ີ າເປນັ ການຄວບຄຸມ ລາດບັ ການທາງານເພີ່ ອບ່ີ ໃຫເ້ ກດີ ຄ ວາມຜດິ ພາດອນັ ເນ່ີ ອງມາຈາກການປ່ີ ຽນ ສ່ີ ງິ ໜີ່ ງຶ ຍງັ ທາການປະມວນຜນົ ບີ່ ສາເລດັ ແຕ່ີ ມີລາຍການອີ່ ນເຂາົ້ ມາແຊກ ເຊີ່ ງິ ຈະນາໄປສີ່ ຄູ ວາມບີ່ ຖກຕອ້ ງຂອງຂມ້ ນູ ໃນລະບບົ ຖານຂມ້ ນູ ເຊີ່ ນັ ກລະນີ ທີ່ ີຜູໃ້ ຊກ້ າລງັ ແກໄ້ ຂຂມ້ ູນຢີ່ ູຂະນະທ່ີ ີຍງັ ບີ່ ທນັ ແລວ້ ຈະບີ່ ອະນຸຍາດໃຫຜ້ ູອ້ ີ່ ນເຂາົ້ ມາແກໄ້ ຂຂ້ ມ້ ນູ ທີ່ ີກາລງັ ປີ່ ຽນແປງນນັ້ .  Data Dictionary ໜາ້ ທີ່ ີໃນການຈດັ ສາ້ ງ ແລະ ຮກັ ສາວດັ ຈະນານກຸ ມົ ຫຼ catalog ຂອງລະບບົ ຖານຂມ້ ນູ ເຊີ່ ງິ ໃນສີ່ ວນຂອງວດັ ຈະນານຸ ກມົ ຂມ້ ນູ ນຈີ້ ດັ ເປນັ ສ່ີ ວນທີ່ ີສາຄນັ ເຊີ່ ງິ ເປັນສີ່ ວນທີ່ ີຈດັ ເກບັ ຂມ້ ນູ ໃນລະບບົ ດີ່ ງັ ນນັ້ ເມ່ີ ອມກີ ານແກໄ້ ຂເຊີ່ ນັ

ວ່ີ າປ່ີ ຽນແປງດຄງສາ້ ງ ຖານຂມ້ ູນຫຼເພີ່ ມີ ກດົ ເກນຕ່ີ າງໆກຈະຖກເກບັ ບນັ ທກຶ ໄວໃ້ ນວດັ ຈະນານຸກມົ ຫຼ ເມ່ີ ອມີການ ເອນີ້ ຖານຂມ້ ູນຂນຶ້ ມາໃຊງ້ ານ, ຖານຂມ້ ນູ ຈາເປນັ ຕອ້ ງມກີ ານດງຶ ຂມ້ ນູ ທ່ີ ຈີ າເປນັ ຈາກວດັ ຈະ ນານກຸ ມົ ດ່ີ ງັ ນນັ້ ຫາກ ສີ່ ວນນໄີ້ ດຮ້ ບັ ຄວາມເສຍຫາຍແນ່ີ ນອນ ວ່ີ າລະບບົ ຖານຂມ້ ນູ ຕອ້ ງມຜີ ນົ ເສຍນາກນັ . 5) ສະຖາປັດຍະກາ Client/Server ການພດັ ທະນາລະບບົ ຖານຂມ້ ນູ ໃນປັດຈບຸ ນັ ໄດ້ ມກີ ານນາສະຖາປັດຍະກາ client/server ມາໃຊງ້ ານດດຍ ມີການແບີ່ ງການເຮດັ ວຽກອອກເປນັ 2 ສີ່ ວນຄ : Server ແລະ Client ພາບທີ 12 ການເຮດັ ວຽກ Server ແລະ Client  ສະຖາປັດຍະກາ Client/Server ສາລບັ ການໃຊລ້ ະບບົ ຖານຂມ້ ນູ ໃນປະຈບຸ ນັ , ນອກຈາກມີການເອນີ້ ໃຊວ້ ຽກໃນລກັ ສະນະທ່ີ ກີ ີ່ າວມາແລວ້ ເຊີ່ ງິ ມີການຈດັ ເກບັ ຂມ້ ູນໄວເ້ ຄີ່ ອງດຽວ, ບາງຄງັ້ ອາດຈະມີການ ກະຈາຍການຈດັ ເກບັ ຂມ້ ູນໄວຫ້ າຼ ຍເຄີ່ ອງ, ໝາຍວີ່ າ ມີ Database Server ຢີ່ ູຫາຼ ຍເຄ່ີ ອງ ແລະ ແຕ່ີ ລະເຄີ່ ອງຈະມີ ການເຊີ່ ອມດຍງເຂາົ້ ກນັ ດວ້ ຍເຄ່ີ ອຄ່ີ າຍ. ໃນການປະ ມວນຜນົ ແຕ່ີ ລະເຄີ່ ອງບ່ີ ຈາເປັນຕອ້ ງໃຊລ້ ະບບົ ປະຕບິ ດັ ການ ແລະ ລະບບົ ຈດັ ການຖານຂມ້ ນູ ຄກນັ , ໃນສ່ີ ວນຂອງ Client ສາມາດຕດິ ຕີ່ ເອນີ້ ໃຊຂ້ ມ້ ູນຈາກຖານຂມ້ ູນທີ່ ີມີການກະຈາຍຈດັ ເກບັ ຂມ້ ນູ ໃນ Database Server ໃນ ລະບບົ ຕາມ ສດິ ທໃິ ນການເຂາົ້ ເຖງິ ຂມ້ ນູ .  Server ມີໜາ້ ທ່ີ ສີ ະໜບັ ສະໜນູ ການເຮດັ ວຽກຂອງລະບບົ ຈດັ ການຖານຂມ້ ນູ ບີ່ ວີ່ າຈະເປັນການການດົ ດຄງສາ້ ງ, ການ ປະມວນຜນົ ກບັ ຂມ້ ນູ ໃນຖານຂມ້ ນູ , ການຈດັ ການ ຄວາມປອດໄພ, ການການດົ ຄວາມຄງົ ສະພາບຕ່ີ າງໆ ລວມໄປ ເຖງິ ການຈດັ ການໃນລະດບັ ພາຍໃນ, ພາຍນອກ ແລະ ລະດບັ ຫກຼັ ການ.  Client

ມີໜາ້ ທີ່ ໃີ ນການຈດັ ການດປຣແກຣມນາໃຊທ້ ່ີ ີຈະມາ ເອນີ້ ໃຊວ້ ຽກໃນລະບບົ ຈດັ ການຖານຂມ້ ນູ , ບີ່ ວີ່ າຈະ ເປັນການຂຽນດປຣແກຣມນາໃຊ.້ ການສາ້ ງດປຣ ແກຣມນາໃຊຂ້ ນຶ້ ມາເພີ່ ອໃຊງ້ ານນອີ້ າດຈະຖກຈດັ ກຽມມາພອ້ ມ ກບັ ລະບບົ ຈດັ ການຖານຂມ້ ູນ.

ບົດທີ 3 ແບບຄວາມສາພັນ (Entity Relationship Model) 1. ຕົວແບບຂມ້ ນູ (Data Model) ເປັນວທິ ກີ ານທີ່ ໃີ ຊສ້ ະແດງ ຫຼ ນາສະເໝີດຄງສາ້ ງຂອງ ຖານຂມ້ ູນ ແລະ ກ່ີ ຸມຂອງປະຕບິ ດັ ການຕ່ີ າງໆ ທີ່ ປີ ະຕບິ ດັ ການກບັ ຂມ້ ນູ ໃນຖານຂມ້ ູນເຊີ່ ນັ : ການເອນີ້ ໃຊ້ (Retrieve) ຂມ້ ູນ ການແກໄ້ ຂ ຫຼ ປບັ ປຸງ (Update) ຂມ້ ູນ ເປັນຕນົ້ . 1) ຕວົ ແບບ ER (E-R Model) ຕວົ ແບບ ER ເປນັ ຕວົ ແບບທີ່ ີສະແດງເຖງິ ຄວາມສາພນັ ຂອງຂມ້ ນູ ໃນລະບບົ ໃນຮູບແບບຂອງແຜນວາດ (ER diagram) ເຊ່ີ ງິ ປະກອບດວ້ ຍ  Entity  Attribute  Relationship.  Entity (Table) ໝາຍເຖງິ ສີ່ ງິ ຕີ່ າງໆໃນຖານຂມ້ ນູ ທີ່ ອີ າ້ ງອງີ ເຖງິ , ສ່ີ ງິ ເລີ່ າົ ນອີ້ າດຈະເປນັ ໄດທ້ ງັ ຮູບປະທາເຊ່ີ ນັ : ຄນົ , ສດັ , ສີ່ ງິ ຂອງ ຫຼ ເປັນໄປໄດທ້ ງັ ນາມມະທາເຊີ່ ນັ : ຄວາມສານານ, ອາຊບີ ເປັນຕນົ້ ດ່ີ ງັ ນນັ້ Entity ກຄກີ່ ຸມຂມ້ ນູ ປະເພດດຽວກນັ , ເຊ່ີ ນັ ວີ່ າ ຖາ້ ເວາົ້ ເຖງິ Entity ພະນກັ ງານຈະໝາຍເຖງິ ກີ່ ຸມຄນົ ທງັ ໝດົ ທ່ີ ີເປັນພະນກັ ງານ. ຕວົ ຢ່ີ າງ: Entity (Table)  Attribute (Field) ໝາຍເຖງິ ສ່ີ ງິ ທີ່ ີໃຊບ້ ອກອງົ ປະກອບຂອງ Entity ເຊີ່ ງິ ແຕ່ີ ລະ Entity ຈະມີອງົ ປະກອບສະເພາະຕວົ ເຊີ່ ນັ ວີ່ າ Entity ພະນກັ ງານຈະປະກອບດວ້ ຍ Attribute ຕີ່ າງໆຄ: ລະຫດັ ປະຈາຕວົ , ຊີ່ , ນາມສະກຸນ, ເພດ, ອາຍຸ, ພະ ແນກ ທ່ີ ສີ ງັ ກດັ ເປັນຕນົ້ . ຕວົ ຢ່ີ າງ: Attribute (Field)

2) ປະເພດຂອງ Attribute (Field)  Atomic Attribute  Composite Attribute  Derived Attribute  Key Attribute  Atomic Attribute ແມ່ີ ນ Attribute ທ່ີ ມີ ີຄີ່ າຍີ່ ອຍທ່ີ ີສຸດບ່ີ ສາມາດ ແຍກຍ່ີ ອຍອອກໄປໄດອ້ ກີ ເຊ່ີ ນັ : Attribute ລະຫດັ ,Attribute ເພດ, Attribute ອາຍຸ ເປນັ ຕນົ້  Composite Attribute Composite Attribute ເປນັ Attribute ທີ່ ີກງົ ກນັ ຂາ້ ມກບັ Atomic Attribute ໝາຍຄວາມວ່ີ າໃນ Attribute ຍງັ ສາມາດມີ Attribute ຍ່ີ ອຍຫຼາຍຕວົ ເຊີ່ ນັ ວີ່ າ Attribute ທ່ີ ີຢີ່ ູ ສາມາດແຕກອອກໄດຫ້ າຼ ຍ Attribute ຍ່ີ ອຍຄ: Attribute ເມອງ, Attribute ບາ້ ນ, Attribute ຖະໜນົ ເປນັ ຕນົ້  Derived Attribute Derived Attribute ເປນັ Attribute ທີ່ ສີ າມາດເຮດັ ການປະມວນຜນົ ຫຼ ຄານວນຫາຄີ່ າໄດຈ້ າກ Attribute ອ່ີ ນ. ຕວົ ຢີ່ າງ ເຊີ່ ນັ : Attribute ອາຍຸ ຈະຫາໄດຈ້ າກ ການຄດິ ໄລີ່ ມາຈາກ Attribute ວນັ ເດອນປີເກີດ ສະນນັ້ Attribute Age ຈີ່ ງຶ ເປນັ Derived Attribute.  Key Attribute ສາລບັ ແຕ່ີ ລະ Entity ຈະປະກອບດວ້ ຍກ່ີ ຸມຂອງ Attribute ເຊີ່ ງິ ເປນັ ຕວົ ບ່ີ ງົ ບອກຄນຸ ສມົ ບດັ ຂອງ Entity ແລະ ໃນແຕ່ີ ລະ Entity ຈະປະກອບໄປດວ້ ຍສະມາຊກິ (ຫຼຂມ້ ນູ ) ຈານວນໜີ່ ງຶ ເຊ່ີ ງິ ຈະພບົ ວ່ີ າໃນການອາ້ ງ ເຖງິ ສະມາຊກິ ແຕີ່ ລະຕວົ ໃນ Entity ຈະຕອ້ ງມີ Attribute ຫຼ ກີ່ ຸມຂອງ Attribute ທີ່ ີມີຄຸນສມົ ບດັ ຕອ້ ງບ່ີ ຊາ້ ກນັ (Unique) ເພີ່ ອໃຊໃ້ ນການຈາແນກສະມາຊກິ ແຕ່ີ ລະຕວົ . ເຊີ່ ງິ Attribute ຫຼ ກີ່ ຸມຂອງ Attribute ທ່ີ ມີ ີຄນຸ ສມົ ບດັ ດ່ີ ງັ ກ່ີ າວມາຂາ້ ງເທງິ ນນັ້ ຈະຖກເອນີ້ ວ່ີ າ: Key Attribute  ສນັ ຍາລກັ ທ່ີ ີໃຊແ້ ທນ Attribute

 ສນັ ຍາລກັ ທ່ີ ີໃຊແ້ ທນ Entity ຕວົ ຢີ່ າງ Entity: Employee 2. ຄວາມສາພນັ ( Relationship )  ຄວາມສາພນັ ແບບໜີ່ ງຶ ຕ່ີ ໜ່ີ ງຶ ( 1 : 1 )  ຄວາມສາພນັ ແບບໜ່ີ ງຶ ຕ່ີ ຫຼາຍ ( 1 : N )  ຄວາມສາພນັ ແບບຫຼາຍຕ່ີ ຫຼາຍ ( N : M )  ຄວາມສາພນັ ແບບ 1 : 1 ຖາ້ Entity E1 ມຄີ ວາມສາພນັ ກບັ Entity E2 ແບບໜີ່ ງຶ ຕີ່ ໜີ່ ງຶ , ນນັ້ ໝາຍຄວາມວີ່ າສະມາຊກິ ຂອງ Entity E1 ໜີ່ ງຶ ລາຍການຈະມຄີ ວາມສາພນັ ກບັ ສະມາຊກິ ໃນ Entity E2 ໄດໜ້ ່ີ ງຶ ລາຍການເທ່ີ າົ ນນັ້ . ຕວົ ຢ່ີ າງ: ຄວາມສາພນັ ເປນັ ຜູຈ້ ດັ ການ

ຕວົ ຢີ່ າງ: ຄວາມສາພນັ ລະຫວີ່ າງ 2 Entity ແບບ 1:1 ພາບທີ 13 ຄວາມສາພນັ ລະຫວີ່ າງ 2 Entity ແບບ 1:1  ຄວາມສາພນັ ແບບ 1 : N ຖາ້ Entity E1 ມຄີ ວາມສາພນັ ກບັ Entity E2 ແບບໜີ່ ງຶ ຕ່ີ ຫຼາຍ, ນນັ້ ໝາຍຄວາມວ່ີ າສະມາຊກິ ຂອງ Entity E1 ໜີ່ ງຶ ລາຍການຈະມີຄວາມສາພນັ ກບັ ສະມາຊກິ ໃນ Entity E2 ໄດຫ້ າຼ ຍກວ່ີ າໜີ່ ງຶ ລາຍການ, ແຕີ່ ສະມາຊກິ ໃນ Entity E2 ໜີ່ ງຶ ລາຍການຈະສາມາດມີຄວາມສາພນັ ກບັ ສະມາຊກິ ໃນ Entity E1 ໄດພ້ ຽງແຕີ່ 1 ລາຍການເທ່ີ າົ ນນັ້ . ຕວົ ຢີ່ າງ ຄວາມສາພນັ ສງັ ກດັ ພາບທີ 14 ຄວາມສາພນັ ສງັ ກດັ ຕວົ ຢ່ີ າງ ຄວາມສາພນັ ລະຫວ່ີ າງ 2 Entity ແບບ 1:N

ພາບທີ 15 ຄວາມສາພນັ ລະຫວ່ີ າງ 2 Entity ແບບ 1:N  ຄວາສາພນັ ແບບຫາຼ ຍຕີ່ ຫາຼ ຍ (N:M ) ຖາ້ Entity E1 ມຄີ ວາມສາພນັ ແບບຫາຼ ຍຕີ່ ຫາຼ ຍກບັ Entity E2 , ນນັ້ ໝາຍຄວາມວີ່ າສະມາຊກິ ໃນ Entity E1 ໜີ່ ງຶ ລາຍການຈະມີຄວາມສາພນັ ກບັ ສະມາຊກິ ໃນ Entity E2 ໄດຫ້ ຼາຍກວີ່ າໜ່ີ ງຶ ລາຍການ ແລະ ສະມາຊກິ ໃນ Entity E2 ໜີ່ ງຶ ລາຍການຈະມີຄວາມສາພນັ ກບັ ສະມາຊກິ ໃນ Entity E1 ໄດຫ້ າຼ ຍກວ່ີ າໜ່ີ ງຶ ລາຍການເຊ່ີ ນັ ກນັ . ຕວົ ຢີ່ າງ ຄວາສາພນັ ການເຮດັ ວຽກ ພາບທີ 16 ຄວາສາພນັ ການເຮດັ ວຽກ ຕວົ ຢີ່ າງ ຄວາມສາພນັ ລະຫວ່ີ າງ 2 Entity ແບບ N:M

1) ສນັ ຍາລກັ ທ່ີ ໃີ ຊແ້ ທນຄວາມສາພນັ ຄວາມສາພນັ ຈະແທນດວ້ ຍສນັ ຍາລກັ ຮູບດອກຈນັ ,ເຊ່ີ ງິ ພາຍໃນບນັ ຈຸຊ່ີ ຄວາມສາພນັ ເອາົ ໄວ້ ແລະ ມີເສນັ້ ທ່ີ ີ ເຊ່ີ ອມດຍງໄປຍງັ Entity ທ່ີ ເີ ກີດຄວາມສາພນັ , ພອ້ ມທງັ ມີເສນັ້ ກາກບັ ແຕ່ີ ລະດາ້ ນດວ້ ຍປະເພດຂອງຄວາມສາພັນ. ເຊ່ີ ນັ ວີ່ າດາ້ ນທ່ີ ເີ ກີດຄວາມສາພນັ ເປັນໜີ່ ງຶ ຈະໃຊສ້ ນັ ຍາລກັ 1 ກາກບັ , ສີ່ ວນທີ່ ເີ ປນັ ຫາຼ ຍຈະໃຊສ້ ນັ ຍາລກັ N ຫຼ M ກາກບັ . ສາລບັ ຄວາມສາພນັ ແບບ Total ຈະໃຊເ້ ສນັ້ ຄ່ີ ,ູ ສີ່ ວນຄວາມສາພນັ ແບບ Partial ຈະໃຊເ້ ສນັ້ ດ່ີ ຽວ. ຕວົ ຢີ່ າງ ຄວາມສາພນັ ພາບທີ 17 ຄວາມສາພນັ 3. ຂນັ້ ຕອນການອອກແບບຖານຂມ້ ນູ ການທີ່່ີ ີຈະນາຂມ້ ູນໄປໃຊງ້ ານໄດຢ້ ີ່ າງມີປະສດິ ທພິ າບຫຼບ່ີ ນນັ້ , ຫວົ ໃຈສາຄນັ ຢ່ີ ທູ ີ່ ີການອອກແບບຖານຂມ້ ູນ ດດຍຜູອ້ ອກແບບຈະຕອ້ ງສາມາດວເິ ຄາະຫາ Entity ແລະ Attribute ທງັ ໝດົ ທີ່ ີຈະນາມາໃຊໃ້ ນຖານຂມ້ ູນໄດຢ້ ່ີ າງ

ຄບົ ຖວ້ ນ, ລວມທງັ ການການດົ ຄວາມສາພນັ ລະຫວ່ີ າງ Entity ໄດຢ້ ່ີ າງຖກຕອ້ ງ ແລະ ເໝາະສມົ . ການອອກແບບ ຖານຂມ້ ນູ ໃຫມ້ ີປະສດິ ທພິ າບນນັ້ ຂນັ້ ຕອນດີ່ ງັ ນີ້ ຂນັ້ ຕອນທີ່ ີ 1: ເກບັ ລວບລວມລາຍລະອຽດຂອງຂມ້ ນູ ທງັ ໝົດ ຂນັ້ ຕອນທີ່ ີ 2: ການດົ ດຄງສາ້ ງຂອງ Table ຂນັ້ ຕອນທີ່ ີ 3: ການດົ key ຂນັ້ ຕອນທ່ີ ີ 4: ເຮດັ Normalization ຂນັ້ ຕອນທ່ີ ີ 5: ການດົ ຄວາມສາພນັ  ເກັບລວບລວມລາຍລະອຽດຂອງຂມ້ ນູ ທງັ ໝດົ ເປນັ ຂນັ້ ຕອນເກບັ ລວບລວມຂມ້ ູນ ແລະ ລາຍລະອຽດຕ່ີ າງໆຂອງງານລວມໄປເຖງິ ຄວາມຕອ້ ງການຂອງຜູ ້ ໃຊເ້ ຊີ່ ນັ :  ຂມ້ ູນໃດແດີ່ ທ່ີ ເີ ປນັ ເລີ່ ອງດຽວກນັ ໃຫຈ້ ດັ ກ່ີ ຸມຂມ້ ນູ ນນັ້ ເປັນ Entity ດຽວກນັ .  ຊະນດິ ຂມ້ ນູ ເປັນແບບໃດເຊີ່ ນັ : ຕວົ ອກັ ສອນ ຫຼ ຕວົ ເລກ, ມເີ ງ່ີອນໄຂ ຫຼ ຂກ້ ານດົ ຢີ່ າງໃດເຊ່ີ ນັ : ລະຫດັ ພະນກັ ງານຕອ້ ງເປນັ ຕວົ ເລກ 4 ຫກຼັ , ອາຍຸພະນກັ ງານຕອ້ ງບ່ີ ກາຍ 55 ປີ, ວຸດທກິ ານສກຶ ສາຕອ້ ງລະດບັ ປຣນິ ຍາຕີ ຂນ້ ເມອເປັນຕນົ້ .  ມີຂມ້ ູນໃດແດ່ີ ທີ່ ີຈະຕອ້ ງນາມາຄນົ້ ຫາ ຫຼ ປະມວນຜນົ , ຜນົ ທ່ີ ໄີ ດຕ້ ອ້ ງສີ່ ງົ ອອກທາງພາຍນອກຫບຼ ່ີ .  ໃຜເປນັ ຜູໃ້ ຊຖ້ ານຂມ້ ູນນ,ີ້ ໃຊເ້ ລອ້ ຍໆບ່ີ , ມຄີ ວາມສາຄນັ ແບບໃດ.  ລກັ ສະນະຂອງວຽກປະກອບດວ້ ຍລາຍງານຫຍງັ ແດ່ີ ແລະ ມີໄລຍະເວລາໃນການອອກລາຍງານເມີ່ ອໃດ?.  ຂມ້ ນູ ອ່ີ ນໆທ່ີ ີສາມາດເກບັ ໄດ,້ ດດຍພະຍາຍາມເກບັ ໃຫລ້ ະອຽດທ່ີ ສີ ຸດ  ການດົ ດຄງສາ້ ງຂອງ Table ຈາກກ່ີ ຸມຂມ້ ູນ ຫຼ Entity ທ່ີ ເີ ກບັ ລວບລວມໄດຈ້ າກເອກະສານຕີ່ າງໆໃນຂນັ້ ຕອນທີ່ ີ 1 ນາມາການດົ Attribute ຂອງຂມ້ ນູ ຈະໄດຮ້ ູວ້ ່ີ າໃນ Entity ນນັ້ ຕອ້ ງນາເອາົ ຂມ້ ູນໃດແດີ່ ມາໃຊວ້ ຽກ, ຫງຼັ ຈາກນນັ້ ນາເອາົ Entity ແລະ Attribute ມາການດົ ດຄງສາ້ ງຂອງ Table ດດຍແປງ Attribute ເປັນ Field ພອ້ ມການດົ ຊະນດິ ແລະ ຂະ ໜາດຂອງຂມ້ ູນໃນແຕີ່ ລະ Field ລວມທງັ ເງີ່ອນໄຂ ຫຼ ກດົ ເກນທີ່ ີໃຊກ້ ານດົ ລກັ ສະນະຂອງຂມ້ ູນ  ການດົ Key ຂນັ້ ຕອນນຈີ້ ະພຈິ າລະນາວີ່ າ Field ໃດແດີ່ ໃນ Table ມີຄຸນສມົ ບດັ ເໝາະສມົ ທີ່ ີຈະນາມາເປັນ Key, ຖາ້ ບີ່ ມີ Field ໃດເລຍີ ທ່ີ ເີ ໝາະສມົ ຕອ້ ງການດົ Field ຂນ້ ມາໃໝີ່ ເພ່ີ ອໃຊເ້ ປັນ Key ດດຍສະເພາະ.  ເຮດັ Nomalization ຖາ້ Table ທີ່ ີສາ້ ງຂນ້ ມາຍງັ ມຄີ ວາມຊາ້ ຊອ້ ນຂອງຂມ້ ູນ ຫຼ ຂມ້ ູນບາງ Field ບີ່ ກີ່ ຽວຂອ້ ງດດຍກງົ ກບັ ເນອ້ ຫາ ໃນ Table ນນັ້ ຈະຕອ້ ງໄດນ້ າມາແກໄ້ ຂໃຫມ້ ດີ ຄງສາ້ ງທ່ີ ເີ ໝາະສມົ ກີ່ ອນນາໄປປະມວນຜນົ , ຖາ້ ນາເອາົ ດຄງສາ້ ງນໄີ້ ປ ໃຊເ້ ລຍີ ດດຍບ່ີໄດເ້ ຮດັ Normalization ອາດຈະເກດີ ບນັ ຫາໄດເ້ ຊີ່ ນັ  ເປອງເນອ້ ທີ່ ຈີ ດັ ເກບັ ເນີ່ ອງຈາກຂມ້ ູນຊາ້ ກນັ  ຂມ້ ູນຜດິ ປກົ ກະຕເິ ມ່ີ ອມີການເພີ່ ີມ, ລບຶ , ແກໄ້ ຂຂມ້ ນູ ໃນ record  ບນັ ຫາຄວາມສາພນັ ລະຫວາງ Table  ການດົ ຄວາມສາພນັ

ເອາົ Table ທງັ ໝດົ ທ່ີ ໄີ ດຈ້ າກການເຮດັ Normalization ມາສາ້ ງຄວາມສາພນັ ດດຍໃຊ້ Key ທ່ີ ໄີ ດກ້ ານດົ ໃນຂນັ້ ຕອນທີ່ ີ 3 ຫຼ Key ທີ່ ເີ ກດີ ຂນ້ ໃໝ່ີ ຫງຼັ ການເຮດັ Normalization ເປັນຕວົ ເຊີ່ ອມດຍງ, ເຊີ່ ງິ ອາດຈະເປນັ  One-to-One  One-to-Many  Many-to-Many ການການດົ ຄວາມສາພນັ ນມີ້ ີຄວາມສາຄນັ ຫຼາຍ, ຜູອ້ ອກແບບຈະຕອ້ ງວເິ ຄາະໃຫໄ້ ດວ້ ່ີ າຂມ້ ູນໃນ Table ຕີ່ າງໆນນັ້ ມຄີ ວາມສາພນັ ໃນລກັ ສະນະໃດ.  Key ເພີ່ ອເພີ່ ີມປະສດິ ທພິ າບໃນການຈດັ ເກບັ ຂມ້ ນູ ຄວນການດົ Key ໃຫກ້ ບັ Table ເພ່ີ ອໃຊຈ້ າແນກ Record ແລະ ການດົ ຄວາມສາພນັ ລະຫວ່ີ າງ Table. Key ທ່ີ ີໃຊກ້ ນັ ທ່ີ ວົ ໄປປະກອບມີ:  Primary Key (Key ຫກຼັ )  Index (ດດັ ສະນ)ີ  Candidate Key (key ຄ່ີ ແູ ຂີ່ ງ)  Compound Key (key ລວມ)  Foreign Key (key ນອກ)  Primary Key Attribute ໃດທ່ີ ມີ ຄີ ຸນສມົ ບດັ ເປນັ Primary key ຄ່ີ າໃນ Attribute ນນັ້ ຕອ້ ງບ່ີ ສາມາດຊາ້ ກນັ (unique) ໄດເ້ ດດັ ຂາດ. ຕວົ ຢ່ີ າງ: Table ພະນກັ ງານ  Candidate Key ຖາ້ ໃນ Table ໜີ່ ງຶ ມຫີ າຼ ຍ Field ທ່ີ ີມີຄນຸ ສມົ ບດັ ເປັນ key ຫກຼັ ຈະເອນີ້ Field ເລ່ີ າົ ນນັ້ ວີ່ າເປັນ Candidate Key ຈາກ Table ພະນກັ ງານ, ຖາ້ ຮບັ ປະກນັ ວີ່ າຈະບີ່ ມີຊີ່ ພະນກັ ງານທ່ີ ຊີ າ້ ກນັ ໄດກ້ ສາມາດເວາົ້ ໄດວ້ ່ີ າ Field ຊ່ີ ມຄີ ນຸ ສມົ ບດັ ເປັນ key ຫກຼັ ຮີ່ ວມກບັ ລະຫດັ ພະນກັ ງານ ເຊ່ີ ງິ ເຮດັ ໃຫທ້ ງັ ສອງ Field ນເີ້ ປນັ Key ຄີ່ ແູ ຂ່ີ ງ, ແຕີ່ ຖາ້ ຜູ ້ ອອກແບບຕດັ ສນິ ໃຈໃຫລ້ ະຫດັ ພະນກັ ງານເປັນ key ຫກຼັ ແລວ້ Field ຊ່ີ ກຈະກາຍເປັນ key ສາຮອງ (Alternate key) ໄປໃນຕວົ .

ຕວົ ຢ່ີ າງ: Table ພະນກັ ງານ ພາບທີ 18 ການການດົ Candidate Key  Compound Key ເກດີ ຈາກການນາເອາົ Field ຫຼາຍໆ Field ມາລວມກນັ ເພີ່ ອໃຫມ້ ຄີ ຸນສມົ ບດັ ເປັນ key ຫກຼັ ຄີ່ ບີ່ ມີຂມ້ ູນ ຊາ້ ເກນັ ເລຍີ ແລະ ບ່ີ ມຄີ ີ່ າຫວ່ີ າງເປ່ີ ົາ (Null) ເນີ່ ອງຈາກບາງຄງັ້ ການສາ້ ງ key ຫກຼັ ຈາກ Field ດຽວອາດມີດອກາດທີ່ ີ ຂມ້ ູນຊາ້ ກນັ ໄດ.້ ຕວົ ຢີ່ າງ ໃນ Table ພະນກັ ງານ, ຖາ້ ບີ່ ໄດກ້ ານດົ ລະຫດັ ໃຫກ້ ບັ ພະນກັ ງານອາດຈະໃຊ້ Field ຊ່ີ ແລະ Field ນາມສະກຸນຂອງພະນກັ ງານປະກອບກນັ ເປັນ key ຫກຼັ ກໄດ,້ ດດຍສມົ ມຸດວ່ີ າຈະຕອ້ ງບີ່ ມພີ ະນກັ ງານທີ່ ີມີຊ່ີ ແລະ ນາມສະ ກຸນຊາ້ ກນັ .  Foreign Key ເປັນ Key ທ່ີ ີໃຊເ້ ຊ່ີ ອມດຍງລະຫວີ່ າງ Table ທີ່ ີມຂີ ມ້ ນູ ກ່ີ ຽວຂອ້ ງກນັ ຕວົ ຢີ່ າງ Table ລກູ ຄາ້ ຈະມີ Field ລະຫດັ ລກູ ຄາ້ ເປັນ key ຫກຼັ , ເຮາົ ສາມາດໃຫລ້ ະຫດັ ລກູ ຄາ້ ໃນ Table ລກູ ຄາ້ ເຊ່ີ ອມດຍງກບັ ລະຫດັ ລກູ ຄາ້ ໃນ Table ການສ່ີ ງັ ຊເ້ ພີ່ ອຈະໄດຮ້ ູຊ້ ີ່ ແລະ ທ່ີ ຢີ ່ີ ຂູ ອງລກູ ຄາ້ ທີ່ ີສີ່ ງັ ຊສ້ ນິ ຄາ້ ນນັ້ , ໃນກລະນີ ນີ້ Field ລະຫດັ ລກູ ຄາ້ ໃນ Table ການສີ່ ງັ ຊຈ້ ະມຄີ ນຸ ສມົ ບດັ ເປນັ Foreign key, ສີ່ ວນລະຫດັ ລກູ ຄາ້ ໃນ Table ລກູ ຄາ້ ຈະມຄີ ຸນສມົ ບດັ ເປນັ Primary key ຕວົ ຢີ່ າງ: Table ລກູ ຄາ້ ແລະ Table ການສີ່ ງັ ຊ ້

ພາບທີ 19 Foreign key Table ລກູ ຄາ້ ແລະ Table ການສ່ີ ງັ ຊ ້

ບດົ ທີ 4 ດມເດລຂມ້ ູນໃນແບບຄວາມສາພັນ (Relationship Data Model) 1. ດຄງສາ້ ງຂມ້ ູນ (Data Structure) Model ໃນແບບຄວາມສາພນັ ເປນັ Model ທີ່ ີອະທບິ າຍດຄງສາ້ ງຂອງຖານຂມ້ ູນໃນຮບູ ຕາຕະລາງ 2 ມຕິ ທິ ີ່ ີ ປະກອບດວ້ ຍແຖວ ແລະ ຖນັ , ດດຍແຕີ່ ລະແຖວແມີ່ ນຄີ່ າຂອງຂມ້ ູນແຕີ່ ລະລາຍ ການ, ສ່ີ ວນຖນັ ຈະສະແດງ ຄນຸ ສມົ ບດັ ຂອງຂມ້ ນູ ເຊ່ີ ງິ ຊີ່ ຂອງຖນັ ຈະສາພນັ ກບັ ດດເມນຂອງຖນັ ນນັ້ ໆ. ຕວົ ຢີ່ າງ Relation: STUDENT 1) ຄຸນສມົ ບດັ ຂອງຕາຕະລາງ (Relation)  ທຸກ Column ຈະບນັ ຈຂຸ ມ້ ນູ ພຽງຄ່ີ າດຽວ  ຂມ້ ູນໃນແຕີ່ ລະ Column ຕອ້ ງມີຄນຸ ສມົ ບດັ ດຽວກນັ  ຂມ້ ນູ ແຕ່ີ ລະແຖວຕອ້ ງມີຄ່ີ າບີ່ ຊາ້ ກນັ (Unique)  ລາດບັ ທີຂອງ Column ບ່ີ ມີຄວາມສາຄນັ  ລາດບັ ທີຂອງ Row ບີ່ ມີຄວາມສາຄນັ  ແຕ່ີ ລະ Column ຕອ້ ງມີຊ່ີ ດຽວ ແລະ ບ່ີ ຊາ້ ກນັ . ຕວົ ຢີ່ າງ STUDENT ( ທີ່ ີບີ່ ໄດຜ້ ີ່ ານການເຮດັ Normalization )

ຕວົ ຢີ່ າງ STUDENT ( ທ່ີ ີຜ່ີ ານການເຮດັ Normalization ) 2. ຖານຂມ້ ນູ ໃນແບບຄວາມສາພນັ Relation ຖານຂມ້ ູນໃນແບບຄວາມສາພນັ ແມີ່ ນຖານຂມ້ ູນທີ່ ຜີ ູ້ ູໃຊເ້ ບ່ີ ງິ ເຫນັ ໃນຮບູ ຂອງການເກບັ ບນັ ທກຶ ທີ່ ີຢີ່ ໃູ ນຮູບ Normalization ຫຼ ຕາຕະລາງທີ່ ີມີຄວາມສາພນັ ກນັ ໄວນ້ າກນັ . 1) Data Manipulation ໃນສີ່ ວນນເີ້ ປັນເລີ່ ອງກ່ີ ຽວກບັ ການປະມວນຜນົ ກບັ relation ຄຊະນດິ ຂອງຕວົ ປະຕບິ ດັ ການທ່ີ ີຜູໃ້ ຊສ້ າມາ ທີ່ ີຈະທາການປະມວນຜນົ ກບັ relation ເພີ່ ອທາການ ສາ້ ງ relation ໃໝ່ີ ຂນຶ້ ມາຕາມທີ່ ີຜູໃ້ ຊຕ້ ອ້ ງການ.  ຄວາມສາພນັ ແບບພຊຶ ະຄະນດິ (Relational Algebra) ຄວາມສາພນັ ແບບພດຶ ຊະຄະນດິ ເປນັ ການປະຕບິ ດັ ການທ່ີ ີເກດີ ຂນຶ້ ກບັ relation ເພ່ີ ອສາ້ ງ relation ໃໝ່ີ ຂນຶ້ ມາ, ຊີ່ ງຶ ປະກອບດວ້ ຍຕວົ ປະຕບິ ດັ ການ (Operator) ທີ່ ີທາການປະມວນຜນົ ກບັ 1 relation ຂນ້ ໄປຫຼ 2 relation ຂນຶ້ ກບັ ຊະນດິ ຂອງຕວົ ປະຕບິ ດັ ການ  ຕວົ ປະຕບິ ດັ ການ (Operator )  Relational assignm ent ເປນັ ການການດົ ຄີ່ າຈາກ relation ໜ່ີ ງຶ ໃຫກ້ ບັ ອກີ relation.  Relational operator ເປນັ ປະຕບິ ດັ ການພນ້ ຖານທ່ີ ີສາມາກະທາກບັ relation ທມີ ີຢີ່ ູ ແລະ ຜນົ ຮບັ ທ່ີ ີໄດເ້ ປັນ relation ໃໝ່ີ .  ແຍກເປັນ 2 ກ່ີ ຸ ມ Special relational operator Traditional set operator

 Special relational operator  Restrict ຫຼ Select  Project  Join  Divide  Traditional set operator  Union  Intersection  Difference  Product  Restrict ຫຼ Select Operation ( σ ) ເປນັ ຕວົ ປະຕບິ ດັ ການທ່ີ ີກະທາກບັ 1 Relation ດດຍຈະທາການເລອກເອາົ ບາງແຖວທີ່ ີສອດຄີ່ ອງກບັ ເງ່ີ ອນໄຂ ຕວົ ຢີ່ າງ  ຜົນການໃຊ້ Select  Project Operator(() ເປັນຕວົ ປະຕບິ ດັ ການທີ່ ກີ ະທາກບັ 1 Relation ດດຍຈະທາການເລອກບາງ Column. ຕວົ ຢີ່ າງ

 Join operator (∞) ເປັນຕວົ ປະຕບິ ດັ ການທ່ີ ີກະທາກບັ 2 relationດດຍຈະສາ້ ງ relation ໃໝີ່ ຈາກ 2 relation, ເຊີ່ ງິ relation ທີ່ ີຖກສາ້ ງຂນ້ ມານຈີ້ ະທາການເຊ່ີ ອມຂມ້ ນູ ຈາກ relation ເດມີ ເຂາົ້ ກນັ ຕາມເງີ່ອນໄຂທ່ີ ກີ ານດົ . ຕວົ ຢີ່ າງ ການໃຊ້Join  Divide Operator (÷) ເປັນການສາ້ ງ relation ໃໝີ່ ຈາກ 2 relation ດດຍທີ່ ີມີ relation ດດຍເລອກສະເພາະແຖວ ທ່ີ ີຢີ່ ູໃນ dividend ທີ່ ີສອດຄີ່ ອງກບັ ຂມ້ ນູ ໃນ divisor ແລະ ເອາົ ສະເພາະ column ທ່ີ ບີ ີ່ ປະກດົ ໃນ divisor ເທ່ີ າົ ນນັ້ ເຊີ່ ນັ  Student (Dividend)  Course (Divisor)  ຜນົ ການໃຊ້ Divide Operator 2) Union operator(U)

ເປັນຕວົ ປະຕບິ ດັ ການທີ່ ີຈະສາ້ ງ relation ໃໝ່ີ ຈາກ 2 relation ດດຍນາເອາົ ສີ່ ວນທ່ີ ີບ່ີ ຊາ້ ກນັ ທງັ ໝດົ , ສີ່ ວນທ່ີ ີຊາ້ ກນັ ນາມາພຽງຊຸດດຽວເທີ່ າົ ນນັ້ . ການ Union ທງັ ສອງ relation ຕອ້ ງມີດຄງສາ້ ງຄກນັ . ຕວົ ຢ່ີ າງ ການໃຊ້Union  ຜົນການໃຊ້ Union  Intersection operator ( ∩ ) ທາການສາ້ ງ relation ໃໝີ່ ຂນຶ້ ມາຈາກ 2 relation ຊີ່ ງຶ ຈະນາເອາົ ສະເພາະລາຍການທີ່ ປີ ະກດົ ທງັ 2 relation ເທ່ີ າົ ນນັ້ ມາ. ການ Intersection ຕອ້ ງມຈີ ານວນ column ເທີ່ າົ ກນັ ແລະ ມີຄນຸ ສມົ ບດັ ດຽວກນັ . ຕວົ ຢ່ີ າງ ຜນົ ການໃຊ້ Intersection  Difference operation (-) ທາການສາ້ ງ relation ໃໝ່ີ ຈາກ 2 relation ດດຍrelation ທີ່ ສີ າ້ ງຂນຶ້ ໃໝີ່ ຈະມສີ ະເພາະລາຍການທ່ີ ີ ປະກດົ ໃນ relation ໜີ່ ງຶ ແຕີ່ ບ່ີ ປະກດົ ໃນອກີ relation. ຕວົ ຢ່ີ າງ ຜນົ ການໃຊ້ Difference  Product operator (X)

ເປັນຕວົ ປະຕບິ ດັ ການທີ່ ກີ ະທາກບັ 2 relation ດດຍຈະສາ້ ງ relation ໃໝ່ີ ເຊ່ີ ງິ ປະກອບດວ້ ຍແຖວທ່ີ ີເປັນ ໄປໄດທ້ ງັ ໝດົ ທີ່ ເີ ກດີ ຈາກການນາຂມ້ ນູ ໃນຕາຕະ ລາງ ທ່ີ ີ 1 ມາລວມກບັ ຕາຕະລາງທີ 2 ຕວົ ຢ່ີ າງ ຜນົ ການໃຊ້Product 3. Structured Query Language : SQL SQL(Structured Query Language) ເປັນພາສາທີ່ ີເປນັ ມາດຕະຖານສາລບັ ລະບບົ ຈດັ ການຖານຂມ້ ູນ ແບບຄວາມສາພນັ , ເຊີ່ ງິ ຖກພດັ ທະນາຂນຶ້ ມາໃຊງ້ ານຄງັ້ ທາອດິ ທີ່ ີຫອ້ ງປະຕບິ ດັ ການວໄິ ຈຂອງ IBM (IBM’s San Jose Research Laboratory) ທີ່ ີ ລດັ ຄາລຟີ ເນຍັ ໃນຊີ່ ວງຕນົ້ ຄສ. 1970 ດດຍເປັນສີ່ ວນໜ່ີ ງຶ ຂອງລະບບົ R (System R project) ຊີ່ ງຶ ໃນການພດັ ທະນາຄງັ້ ນນັ້ ໃຊຊ້ ່ີ ວ່ີ າ “Sequel“ ແລະ ຕ່ີ ມາໄດປ້ ່ີ ຽນເປນັ SQL 1) SQL ໃນການໃຊງ້ ານລະບບົ ຈດັ ການຖານຂມ້ ນູ ສ່ີ ວນໃຫຍີ່ ຈະສະໜບັ ສະໜນູ ການໃຊງ້ ານຮ່ີ ວມກບັ ພາສາ SQL, ແຕ່ີ ລະ ບບົ ຈດັ ການຖານຂມ້ ູນບາງລະບບົ ໄດມ້ ີການພດັ ທະນາຄາສ່ີ ງັ ຕີ່ າງໆເພີ່ ມີ ເຕມີ ຈີ່ ງຶ ເຮດັ ໃຫເ້ ກີດຄວາມແຕກຕ່ີ າງ ກນັ . ແລະ ໃນປີ ຄສ. 1986 ກໄດກ້ ານດົ ມາດຕະຖານຂນ້ ມາເອນີ້ ກນັ ວ່ີ າ ANSI (American National Standards Institute) ຫຼ SQL-Standard.  ຄາສີ່ ງັ ທີ່ ີໃຊໃ້ ນ SQL  DDL: ຊ່ີ ງຶ ຈະປະກອບດວ້ ຍ ຄາສ່ີ ງັ ທີ່ ີໃຊກ້ ານດົ ດຄງສາ້ ງຕາຕະລາງ, ລບຶ ຕາຕະລາງ, ສາ້ ງແຟມ້ ດດັ ສະນີ ແລະ ແກໄ້ ຂດຄງສາ້ ງຕາຕະລາງ  DML: ປະກອບດວ້ ຍຄາສ່ີ ງັ ທ່ີ ີໃຊໃ້ ນການເພີ່ ມີ , ລບຶ , ແກໄ້ ຂ ແລະ ເອນີ້ ໃຊຂ້ ມ້ ູນໃນຖານຂມ້ ນູ  View Definition: ເປນັ ຄາສ່ີ ງັ ທ່ີ ີໃຊໃ້ ນການການດົ View  Authorization (ການດົ ສດິ ທ)ິ : ເປນັ ຄາສີ່ ງັ ທີ່ ໃີ ຊກ້ ານດົ ແລະ ຖອນສດິ ທໃິ ນ ການໃຊງ້ ານຂມ້ ນູ ໃນຖານຂມ້ ູນ  Integrity (ຄວາມຄງົ ສະພາບ): ເປນັ ຄາສ່ີ ງັ ທ່ີ ີໃຊໃ້ ນການການດົ ຄວາມຄງົ ສະ ພາບຕີ່ າງໆ  Transaction control (ຄວບຄມຸ ລາຍການປ່ີ ຽນແປງ): ເປນັ ຄາສ່ີ ງັ ທີ່ ໃີ ຊກ້ ານດົ ກ່ີ ຽວກບັ ຈດຸ ເລີ່ ມີ ຕນົ້ ແລະ ຈດຸ ສນິ້ ສຸດລາຍການປີ່ ຽນແປງ 2) ການການດົ ດຄງສາ້ ງ (DDL)  ການສາ້ ງຕາຕະລາງ: ຮູບແບບຄາສີ່ ງັ create table table_name (Column_name Data type Format, : Column_name Data type Format ); ດດຍທີ່ ີ

 table_name ຄຊ່ີ ຕາຕະລາງທີ່ ຕີ ອ້ ງການສາ້ ງ  Column_name ຄຊ່ີ Column (Attribute)  Data type ຄຊະນດິ ຂອງຂມ້ ູນຊີ່ ງຶ ປະກອບດວ້ ຍ ເປັນຊະນດິ ອກັ ສອນຂະໜາດການດົ ຄວາມກວາ້ ງເທີ່ າົ ກບັ W Char(W) ເປັນຊະນດິ ອກັ ສອນແບບ variable length ກວາ້ ງທີ່ ສີ ຸດເທີ່ າົ ກບັ W Varchar(W) Date ຊະນດິ ວນັ ທີ Number ຊະນດິ ຕວົ ເລກ  Format ຄຮບູ ແບບຂອງ Column ເຊີ່ ນັ NOT NULL ຕວົ ຢ່ີ າງ ການສາ້ ງຕາຕະລາງ fact create table fact ( fid char(5) not null, fname varchar(30), primary key (fid) ); ຕວົ ຢີ່ າງ ການສາ້ ງຕາຕະລາງ dept create table dept (did char(5) not null, fid char(5), pname varchar(30), primary key (did), foreign key (fid) references fact(fid) ); ຕວົ ຢີ່ າງ ການສາ້ ງຕາຕະລາງ teach create table teach ( tid char(5), tname varchar(30) not null, taddress varchar(50), did char(5), fid char(5), primary key(tid), foreign key (did) references dept(did) );  ຄາສ່ີ ງັ ທີ່ ີໃຊໃ້ ນການເບີ່ ງິ ດຄງສາ້ ງ ຮບູ ແບບ exec sp_help table_name ຕວົ ຢີ່ າງ 1 ສະແດງດຄງສາ້ ງຂອງຕາຕະລາງ fact

ຕວົ ຢ່ີ າງ 2 ສະແດງດຄງສາ້ ງຂອງຕາຕະລາງ teach 3) ການໃຊງ້ ານຖານຂມ້ ນູ (DML)  ການເພີ່ ີມຂມ້ ນູ ທຸກ Columns ຮູບແບບຄາສ່ີ ງັ insert into table_name values (value list); value list ແມີ່ ນລາຍການຂມ້ ນູ ທ່ີ ຕີ ອ້ ງການໃສີ່ ລງົ ໃນຕາ ຕະລາງ ຊີ່ງຶ ຈະຕອ້ ງສອດຄ່ີ ອງ ກບັ ລາດບັ ທີຂອງຄລມັ ທ່ີ ທີ າ ການສາ້ ງ ແລະ ຈະຕອ້ ງໃສີ່ ຄ່ີ າໃຫຄ້ ບົ ທກຸ Column  ການເພີ່ ີມຂມ້ ູນບາງ Columns ຮູບແບບຄາສີ່ ງັ insert into table_name(Column_name1,.., Column_name) Values (value list); ດດຍທ່ີ ີ table_name ຄຊີ່ ຕາຕະລາງທ່ີ ຕີ ອ້ ງການເພີ່ ມີ ຂມ້ ນູ value list ຄລາຍການທ່ີ ີຕອ້ ງການເພີ່ ີມຊີ່ ງຶ ຈະຕອ້ ງສອດຄ່ີ ອງ ກບັ Column ທີ່ ີປະກດົ ຕ່ີ ທາ້ ຍ table_name ໃນຕາຕະລາງ ຕວົ ຢີ່ າງທີ ການເພ່ີ ມີ ຂມ້ ນູ ໃນຕາຕະລາງ insert into fact values (‘f1’,’Science’); insert into fact values (‘f2’,’Engineering’); insert into fact values (‘f3’,’Human and Social Science’); insert into dept values (‘f1’,’d1’,’Computer Science’); insert into dept values (‘f1’,’d2’,’Biology’);

insert into teach values (‘t01’,’Peecha’,’123 NUOL’,’f1’,’d2’); insert into teach values (‘t02’,’Mongkon’,NUOL,’f1’,’d1’); insert into teach (tcode, tname, factcode, deptcode) values (‘t03’,’Somchai’,’f1’,’d1’); insert into teach values (‘t04’,’Manop’,NULL,’f1’,’d1’); insert into teach values (‘t05’,’Bounmee’,NULL’,’f1’,’d1’); ດ່ີ ງັ ນນັ້ ກ່ີ ອນທາການປະມວນຜນົ ຕ່ໄີ ປຂມ້ ູນໃນຕາຕະລາງ ປະກອບດວ້ ຍ  ການແກໄ້ ຂຂມ້ ູນ ຮູບແບບຄາສ່ີ ງັ update table_name set Column_name = Value where condition; ດດຍທີ່ ີ condition ຈະປະກອບດວ້ ຍ Column_name operator Values ເຊ່ີ ນັ tcode=’f01’  ສນັ ຍາລກັ ທີ່ ີໃຊສ້ ະແດງຕວົ ກະທາ ຕວົ ຢີ່ າງ ການປບັ ປຸງຂມ້ ນູ update teach set taddress = ‘Faculty of Science’ where tid = ‘t03’;

ຕວົ ຢ່ີ າງ ການກວດເບ່ີ ງິ ຂມ້ ູນໃນຕາຕະລາງ teach  ການລບຶ ຂມ້ ູນອອກຈາກຕາຕະລາງ ຮບູ ແບບຄາສ່ີ ງັ delete from table_name where Condition; ຕວົ ຢ່ີ າງ ລບຶ ຂມ້ ນູ ອອກຈາກຕາຕະລາງ teach delete from teach where tid = ‘t02’; delete from teach where tid = ‘t05’; ເມ່ີ ອ select * from teach ຜນົ ທີ່ ີໄດຮ້ ບັ ກຄ 4) ຄາສ່ີ ງັ ສອບຖາມ/ຄນົ້ ຫາຂມ້ ູນ  ການຄນົ້ ຫາຂມ້ ູນທກຸ ລາຍການ ແລະ ທກຸ Column ຮູ ບແບບຄາສ່ີ ງັ select * from table_name;  ການຄນົ້ ຫາຂມ້ ນູ ບາງ Column ຮູ ບແບບຄາສີ່ ງັ select column1,…, columnk from table_name;  ການຄນົ້ ຫາຂມ້ ນູ ບາງ Column ແລະ ລາຍການທ່ີ ີສອດ ຄ່ີ ອງກບັ ເງ່ີອນໄຂ ຮູ ບແບບຄາສີ່ ງັ select column1,…, columnk from table_name where condition; ຕວົ ຢ່ີ າງ ການຄນົ້ ຫາຂມ້ ນູ ທກຸ ລາຍການ ຈາກຕຕາຕະລາງ fact

ຕວົ ຢ່ີ າງ ການຄນົ້ ຫາຂມ້ ນູ ບາງລາຍການຈາກຕຕາຕະລາງ teach ຕວົ ຢ່ີ າງ ສະແດງການຄນົ້ ຫາຂມ້ ນູ ຫາຼ ຍກວ່ີ າ 1 ເງີ່ອນໄຂ 5) ການໃຊ້ query ພາຍໃນ query ຕວົ ຢີ່ າງ ສະແດງຂມ້ ນູ ອາຈານທີ່ ີຢ່ີ ູໃນຄະນະ Science ແລະ Engineering select * from teach where factcode in( select factcode from fact where factname in(‘Science’,’Engineering’) ); ຜນົ ທີ່ ີໄດຮ້ ບັ ກຄ 4. ການໃຊຟ້ ັງຊງັ ທາງຄະນດິ ສາດ sum ສາລບັ ຫາຜນົ ລວມ avg ຫາຄ່ີ າສະເລ່ີ ຍັ count ນບັ ຈານວນລາຍການທ່ີ ສີ ອດຄ່ີ ອງກບັ ເງີ່ອນໄຂ ຕວົ ຢ່ີ າງ ສະແດງການໃຊຟ້ ງັ ຊງັ count ແລະ group by (ນບັ ຈານວນອາຈານໃນແຕ່ີ ລະພາກ ວຊິ າ) select factcode, deptcode, count(*) from teach group by factcode, deptcode ສາລບັ group by ເປນັ ການຈດັ ກ່ີ ຸມຕາມ Column ທີ່ ີການດົ ເຊ່ີ ນັ ຕວົ ຢ່ີ າງໃຫນ້ ບັ ຕາມຄະນະ ແລະ ສາຂາ ຜນົ ທີ່ ໄີ ດຮ້ ບັ ກຄ

1) ການຄານວນ ກີ່ ອນທາການປະມວນຖາ້ ຂມ້ ນູ ໃນຕາຕະລາງ student, subject ແລະ grade ປະກອບດວ້ ຍ  ຕາຕະລາງ student  ຕາຕະລາງ subject  ຕາຕະລາງ grade ຕວົ ຢີ່ າງ ການໃຊ້function sum ແລະ group by select id, sum(credit) from grade, subject Where grade.subject = subject.subjcode group by id; ຜນົ ທີ່ ໄີ ດຮ້ ບັ ກຄ 2) ການໃຊ້ HAVING

ຕວົ ຢີ່ າງ ການໃຊເ້ ງ່ີອນໄຂກບັ group function ດດຍສະແດງ ສະເພາະຂມ້ ນູ ນກັ ສກຶ ສາທີ່ ີລງົ ທະ ບຽນ ຮຽນຫຼາຍກີ່ ວາ 6 ໜ່ີ ວຍກດິ select id, sum(credit) from grade, subject Where grade.subject = subject.subjcode group by id having sum(credit)>6 ຜນົ ທີ່ ໄີ ດຮ້ ບັ ກຄ ຕວົ ຢີ່ າງ ການຄດິ ໄລ່ີ ຄະແນນສະເລີ່ ຍເພີ່ ອເກບັ ໃນ gpa ໃນຕາຕະລາງ student update student set gpa=(select sum(grade*credit) / sum(credit) from grade, subject where student.id = grade.id and grade.subject= subject. subjcode and subject.subjcode in(select subjcode from grade Where grade.id= student.id)); select* from student; ຜນົ ທ່ີ ີໄດຮ້ ບັ ກຄ  ການສາ້ ງແຟມ້ ດດັ ຊະນີ ຮູບແບບຄາສີ່ ງັ create unique index file_indexname on table_name(Column_name); ດດຍທ່ີ ີ file_indexname ຄຊ່ີ ແຟ້ມດດັ ຊະນທີ ີ່ ສີ າ້ ງຂນ້ table_name ຄຕາຕະລາງທ່ີ ຕີ ອ້ ງການສາ້ ງດດັ ຊະນີ column_name ຄຊີ່ ຂອງ column ທີ່ ຕີ ອ້ ງການສາ້ ງດດັ ຊະນີ ຕວົ ຢີ່ າງ ການສາ້ ງແຟມ້ ດດັ ຊະນີ create unique index fnameidx on fact(factname); ແມີ່ ນການສາ້ ງແຟມ້ ດດັ ຊະນຊີ ີ່ fnameidx ສາ້້ ງດດຍ ໃຊຂ້ ມ້ ູນຈາກຕາຕະລາງ fact ແລະ ໃຊຈດັ ລຽງຂມ້ ນູ ຕາມ column factname  ການສາ້ ງ view ຮບູ ແບບຄາສີ່ ງັ create view view_name as select column1,…,columnN

from table1,…,tableN where condition; ດດຍທ່ີ ີ view_name ຄຊ່ີ view ທີ່ ີສາ້້ ງຂນ້ ມາໃຊງ້ ານ column ຄຊ່ີ column ທີ່ ີຕອ້ ງການນາຂມ້ ູນມາສະແດງໃນ view table ຄຊີ່ ຕາຕະ ລາງທີ່ ີຕອ້ ງການນາຂມ້ ູນມາສະແດງໃນ view condition ຄເງີ່ອນໄຂໃນການການດົ ຂມ້ ູນມາສະແດງ ຕວົ ຢ່ີ າງ ການສາ້ ງ view ຈາກຕາຕະລາງ fact ແລະ teach create view teachview as select tcode, tname, factname from fact , teach where fact.factcode = teach.factcode; select * from teachview; ຜນົ ທ່ີ ີໄດຮ້ ບັ ກຄ ຕວົ ຢີ່ າງ ການສາ້ ງວວິ ຊີ່ teachdept ຈາກຕາຕະລາງ teach ແລະ dept create view teachdept as select tcode, tname, deptname from teach , dept where dept.factcode = teach.factcode and dept.deptcode = teach.deptcode; select * from teachdept; ຜນົ ທີ່ ໄີ ດຮ້ ບັ ກຄ  ການສາ້ ງຕາຕະລາງພອ້ ມ Copy ຂມ້ ນູ ຮບູ ແບບ create table table_name as select Column1,…,ColumnN from table1,…,tableN where condition; ຕວົ ຢີ່ າງ ສາ້ ງຕາຕະລາງ TTmp ດດຍດງຶ ຂມ້ ນູ ມາ ຈາກຕາຕະລາງ teach ແລະ fact create table TTmp as select tcode, tname, teach.factcode, factname

from teach, fact where teach.factcode = fact.factcode;  exec sp help TTNP; select * from TTmp; ຜນົ ທ່ີ ີໄດຮ້ ບັ ກຄ  ການລບຶ ຕາຕະລາງ ແລະ ວວິ ອອກຈາກຖານຂມ້ ູນ ຮູບແບບຄາສີ່ ງັ drop table table_name; drop view view_name; 3) ການປັບດຄງສາ້ ງຕາຕະລາງ ການເພີ່ ມີ ຄລມັ ຮູບແບບຄາສ່ີ ງັ alter table table_name add(column_name datatype, column_name datatype); ດດຍທ່ີ ີ column_name ແມີ່ ນ column ທ່ີ ີຕອ້ ງການເພມີ້ ການແກໄ້ ຂ column ຮບູ ແບບຄາສ່ີ ງັ alter table table_name modify(column_name datatype, column_name datatype); ດດຍທີ່ ີ column_name ແມີ່ ນ column ທ່ີ ຕີ ອ້ ງການແກໄ້ ຂ

ບົດທີ 5 ຟັງຊັນຂນ້ ຕ່ີ ກນັ ແລະ ການ Normalization (Functional Dependence and Normalization) 1. ຄວາມສາຄນັ ຂອງການເຮດັ Normalization Normalization ເປນັ ວທິ ີການຫດຼຸ ຜີ່ ອນຄວາມຊາ້ ຊອ້ ນຂອງຂມ້ ນູ ທ່ີ ີອາດເກີດຂນຶ້ ແລະ ສີ່ ວນໃຫຍີ່ ໃຊໃ້ ນການ ອອກແບບຖານຂມ້ ູນທ່ີ ີເປນັ ແບບ RelationalDatabase. ເຊີ່ ງິ ການເຮດັ Normalization ນຈີ້ ະຊ່ີ ວຍໃຫກ້ ານ ຊາ້ ຊອ້ ນຂອງຂມ້ ນູ ຫຼດຸ ລງົ ແລະ ຫຼຸດຜ່ີ ອນດອກາດທີ່ ີຈະເຮດັ ໃຫເ້ ກີດຄວາມຜດິ ພາດຈາກການປະມວນຜນົ ຂມ້ ນູ ໃນຕາ ຕະລາງຕ່ີ າງໆໄດ,້ ເຊ່ີ ງິ ຫຼກັ ການຂອງ ການເຮດັ Normalization ນຈີ້ ະເຮດັ ການແບີ່ ງຕາຕະລາງທ່ີ ີມີຄວາມຊາ້ ຊອ້ ນ ຂອງຂມ໊ໍ ນູ ອອກມາເປນັ ຕາຕະລາງຍີ່ ອຍໆ ແລະ ໃຊ້ Foreign key ເປັນຕວົ ເຊ່ີ ອມຄວາມສາພນັ ລະຫວ່ີ າງຕາຕະລາງ ເຫ່ີ ຼາົ ນນັ້ . ຕວົ ຢີ່ າງ ສະແດງໃຫເ້ ຫນັ ເຖງິ ຄວາມສາຄນັ ຂອງການເຮດັ Normalization ພາບທີ 20 ການສະແດງແບບການເຮດັ Normalization ເນ່ີ ອງຈາກວ່ີ າຂມ້ ູນໃນຕາຕະລາງ Student ທີ່ ຍີ ງັ ບ່ີ ຜ່ີ ານການເຮດັ Normalization ດີ່ ງັ ນນັ້ ຂມ້ ນູ ຈະມກີ ານຊາ້ ກນັ ຢີ່ ູເປັນຈານວນຫາຼ ຍ ລວມທງັ ຂມ້ ນູ ລາຍລະອຽດຂອງວຊິ າຮຽນກມກີ ານຊາ້ ກນັ . 1) ບນັ ຫາຂນ້ ໃນຕວົ ຢ່ີ າງນີ້  ປນັ ຫາຄວາມຜດິ ພາດຂອງຂມ້ ນູ ເຊ່ີ ນັ ໃນກລະນທີ ່ີ ມີ ີການປີ່ ຽນຊີ່ ນກັ ສກຶ ສາ ຫຼ ໃນກລະນທີ ີ່ ີດຮງຮຽນມີ ການປ່ີ ຽນວຊິ າຮຽນ ຈະຕອ້ ງທາການແກໄ້ ຂຂມ້ ນູ ໃຫຄ້ ບົ ທກຸ record ໃນຕາຕະລາງ ບ່ີ ດ່ີ ງັ ນນັ້ ຂມ້ ູນໃນບາງ record ຈະເກີດຄວາມພດິ ພາດໄດ້ ຫຼ ຖາ້ ຕອ້ ງການເພ່ີ ມີ ວຊິ າຮຽນວຊິ າໃດວຊິ ານີ່ ງຶ ກຕອ້ ງໄດລ້ ຖາ້ ວ່ີ າຈະມນີ ກັ ຮຽນມາລງົ ທະ ບຽນຮຽນວຊິ ານນັ້ ຫຼບເປນັ ຕນົ້

 ເປອງເນອ້ ທ່ີ ໃີ ນການຈດັ ເກບັ ຂມ້ ູນ ເພາະຕອ້ ງຈດັ ເກບັ ຂມ້ ູນດຽວກນັ ໄວໃ້ ນຫຼາຍໆ record ເຊ່ີ ນັ ຕອ້ ງເກບັ ຂມ້ ນູ ຂອງ ທາ້ ວຄາມີ ຢີ່ ູ 2 record ຄໃນ record ທີ່ ີ 3 ແລະ 4 ເປນັ ຕນົ້ . 2. ຫຼັກການເຮດັ Normalization ສ່ີ ງິ ສາຄນັ ຂອງການເຮດັ Normalization ຄການຫຸຼດຜີ່ ອນຄວາມຊາ້ ຊອ້ ນຂອງຂມ້ ນູ ແລະ ຫດຸຼ ຜີ່ ອນດອກາດທ່ີ ີ ຈະເກດີ ຄວາມພດິ ພາດກບັ ຂມ້ ນູ . ເຊີ່ ງິ ການທ່ີ ຈີ ະເຮດັ ໃຫບ້ ນັ ລຸຕາມຈດຸ ປະສງົ ດີ່ ງັ ກີ່ າວນນັ້ ຈະຕອ້ ງມີກດົ ເກນ ແລະ ຂນັ້ ຕອນໃນການວເິ ຄາະຂມ້ ູນທ່ີ ີມີຢ່ີ ູໃນຖານຂມ້ ູນ. 1) ການເຮດັ Normalization ກ່ີ ອນອີ່ ນໝດົ ຈະຕອ້ ງຮູກ້ ່ີ ອນວີ່ າ ໃນແຕ່ີ ລະຕາຕະລາງມີ Field ໃດແດ່ີ ທ່ີ ສີ າມາດໃຊຄ້ ນົ້ ຫາຂມ້ ນູ ໄດ້ ເຊ່ີ ນັ ຈາກຕວົ ຢີ່ າງຜ່ີ ານມາເຮາົ ມີ stMatric (ລະຫດັ ນກັ ສກຶ ສາ), ຖາ້ ຮູລ້ ະຫດັ ຂອງນກັ ສກຶ ສາ ກສາມາດຄນົ້ ຫາ ຊ່ີ , ນາມສະກຸນ ແລະ ຂມ້ ູນອີ່ ນໆຂອງນກັ ສກສາຜູນ້ ນັ້ ໄດເ້ ປັນຕນົ້ , ເຊີ່ ງິ ຈະເອນີ້ ຄຸນນະສມົ ບດັ ຂອງ Field ນວີ້ ່ີ າ ກາ ນດົ /ບີ່ ງົ ຊີ້ (Determine) Field ອ່ີ ນໆໄດ້ ຫຼຈາກໃນຕວົ ຢ່ີ າງດ່ີ ງັ ກ່ີ າວ ສະແດງວີ່ າລະຫດັ ນກັ ສກຶ ສາ ສາມາດກາ ນດົ ຊີ່ ນາມສະກຸນໄດ.້ ສາລບັ ກດົ ເກນເຫີ່ ຼາົ ນເີ້ ຮາົ ຈະເອນີ້ ວີ່ າ Functional Dependency (FD) ລະຫວີ່ າງ Field ແລະ ໃຊສ້ ນັ ຍາລກັ  ແທນການການດົ ຄີ່ າລະຫວີ່ າງ Field ຈາກຕວົ ຢີ່ າງ ຈະສາມາດເວາົ້ ໄດວ້ ່ີ າ stMatric stName, stSurname (ອີ່ ານວ່ີ າ stMatric ການດົ /ບ່ີ ງົ ຊີ້ stName, ແລະ stSurname ໄດ)້ ສາລບັ ຖານຂມ້ ູນທີ່ ໄີ ດເ້ ຮດັ Normalization ແລວ້ ຈະຖກແບ່ີ ງ ອອກເປນັ ລະດບັ ທີ່ ເີ ອນີ້ ວີ່ າ Normal Form ເຊີ່ ງີ Normal Form ນມີ້ ຕີ ງັ້ ແຕ່ີ ລະດບັ ທີ 1 ເຖງີ ລະດບັ ທີ 5. ດ່ີ ງັ ນນັ້ ໃນການເຮດັ Normalization ລະດບັ ທ1ີ ຈະເອນີ້ ວີ່ າ First Normal Form (1NF), ລະ ດບັ ທີ 2 ເອນີ້ ວີ່ າ Second Normal Form (2NF) ຈນົ ຮອດ ລະດບັ ທີ 5 (5NF) ຕາມລາດບັ ແຕ່ີ ຈະມີ Normal Form ແບບພເິ ສດທ່ີ ຢີ ີ່ ລູ ະຫວີ່ າງ 3NF ກບັ 4NF ເອນີ້ ວີ່ າ Boyce Codd Normal Form (BCNF). ໃນທາງພາກປະຕບິ ດັ ຕວົ ຈງິ ແລວ້ ຈະນຍິ ມົ ເຮດັ ຮອດ 3NF ຄຸນນະສມົ ບດັ ທ່ີ ີສາຄນັ ອກີ ປະການນ່ີ ງຂອງການເຮດັ Normalization ຄ ເມີ່ ອຕາຕະລາງໃດຈດັ ຢີ່ ູໃນ Normal Form ໃດແລວ້ ຈະຕອ້ ງມຄີ ຸນນະສມົ ບດັ ຂອງ Normal Form ທີ່ ຕີ ່ີ າ ກີ່ ວາສະເໝີເຊີ່ ນັ ເມອຕາຕະ ລາງໃດຢີ່ ູໃນ 2NF ຈະຕອ້ ງມີຄນຸ ນະສມົ ບດັ ຂອງ 1NF ຢ່ີ ູນາ, ຕາຕະລາງໃດຢີ່ ູໃນ 3NF ຈະຕອ້ ງມີຄຸນນະສມົ ບດັ ຂອງ 2NF ແລະ 1NF ລວມຢີ່ ູນາສະເໝີ. 2) ຂນັ້ ຕອນການອອກແບບ Normalization

ພາບທີ 21 ຂນັ້ ຕອນການອອກແບບ Normalization 3. ຕວົ ການດົ (Determinant) ຕວົ ການດົ ແມີ່ ນ Attribute ຫຼ ກ່ີ ຸມ Attribute ທີ່ ສີ າມາດໃຊກ້ ານດົ Attribute ອ່ີ ນໄດຈ້ ະຖກເອນີ້ ວ່ີ າ ການດົ ຫຼ Determinant. ຕວົ ຢີ່ າງ1: ຕາຕະລາງ 1 Customer ຈາກຕາຕະລາງ Customer ສາມາດເວາົ້ ໄດວ້ ີ່ າ Cus_no ແລະ Cus_name ແມີ່ ນຕວົ ການດົ ເພາະວ່ີ າທງັ ສອງສາມາດການດົ City ໄດ,້ ແຕ່ີ City ບ່ີ ສາມາດການດົ Cus_no ແລະ Cus_name ໄດ.້ ໝາຍວ່ີ າ 1) ຟັງຊນັ ການຂນຶ້ ຕ່ີ ກນັ (Function Dependence) ຖາ້ ວ່ີ າ Entity ໜີ່ ງຶ ປະກອບດວ້ ຍ Attribute X ແລະ Y ສາມາດເວາົ້ ໄດວ້ ່ີ າ Y ມຟີ ັງຊນັ ຂນຶ້ ກບັ X ກຕ່ີ ເມີ່ ອ ຄີ່ າຂອງ X ສາມາດການດົ ຄີ່ າຂອງ Y ໄດ້ 1 ຄີ່ າເທ່ີ າົ ນນັ້ ຕວົ ຢ່ີ າງ 2 ຈາກຕວົ ຢ່ີ າງ1 ສາມາດເວາົ້ ໄດວ້ ີ່ າ Cus_no ການດົ Cus_name ໄດ້ 1 ຄ່ີ າເທ່ີ າົ ນນັ້ Cus_no ການດົ City ໄດຫ້ ຼາຍຄ່ີ າ. ດີ່ ງັ ນນັ້ Cus_no ແລະ Cus_name ມີຟັງຊນັ້ ຂນ້ ຕີ່ ກນັ , ສີ່ ວນ Cus_no ແລະ City ບ່ີ ມີຟງັ ຊນັ້ ຂນ້ ຕີ່ ກນັ . 2) ຟັງຊນັ ການຂນຶ້ ຕ່ີ ກນັ ຢ່ີ າງສມົ ບູນ (Full Functional Dependence) ຖາ້ ວີ່ າ Entity ໜີ່ ງຶ ປະກອບດວ້ ຍ Attribute X, Y, Z ສາມາດເວາົ້ ໄດວ້ ່ີ າ Y ມຟີ ງັ ຊນັ ຂນ້ ກບັ X, Z ຢີ່ າງສມົ ບູນກຕ່ີ ເມີ່ ອ Y ບີ່ ມຟີ ງັ ຊນັ ຂນ້ ກບັ X ຫຼ Z , ແຕີ່ ຈະຕອ້ ງຂນຶ້ ກບັ ທງັ ສອງ X ແລະ Z.

ຕວົ ຢ່ີ າງ 3: ຈາກຕວົ ຢີ່ າງ 1 City ບີ່ ມີຄຸນສມົ ບດັ ຂນ້ ກບັ Cus_no ແລະ Cus_name ຢີ່ າງສມົ ບນູ ເນີ່ ອງຈາກວີ່ າ Cus_no ການດົ City ໄດ້ Cus_name ການດົ City ໄດ້ 3) ການຂນ້ ຕ່ີ ກນັ ແບບກ່ີ ຸມ ( Multivalued Dependency ) ຖາ້ ວີ່ າ Entity ໜ່ີ ງຶ ປະກອບດວ້ ຍ Attribute X,Y,Z ສາມາດເວາົ້ ໄດວ້ ີ່ າການຂນ້ ຕ່ີ ກນັ ແບບກ່ີ ຸມລະ ຫວ່ີ າງ Y ກບັ Xດດຍທ່ີ ີ Y ຂນ້ ກບັ X ແລະ ເປນັ ເອກະລາດກບັ Z. ໝາຍຄວາມວ່ີ າຄີ່ າຂອງ X ໜ່ີ ງຶ ຄີ່ າຈະສາມາດການດົ ກ່ີ ຸມຄີ່ າຂອງ Y ແລະ ການດົ ກີ່ ຸມຄ່ີ າຂອງ Z, ແຕີ່ Y ຈະເປນັ ເອກະກບັ Z. ຕວົ ຢ່ີ າງ4: ຈາກຕວົ ຢີ່ າງ 1 Cus_no ,Cus_name ແລະ City ບ່ີ ມີຄນຸ ສມົ ບດັ ຂນ້ ຕີ່ ກນັ ແບບກີ່ ຸມເນີ່ ອງຈາກວ່ີ າ Cus_no ການດົ Cus_name ໄດ້ ແຕີ່ Cus_name ບີ່ ເປັນເອກະລາດກບັ City 4. ການເຮດັ Normalization ຂມ້ ູນທ່ີ ີເກບັ ລວບລວມມານນັ້ ອາດຈະມຄີ ວາມຊາ້ ຊອ້ ນຫາຼ ຍເກນີ ໄປບ່ີ ເໝາະສມົ ທີ່ ຈີ ະນາເອາົ ມາໃຊດ້ ດຍກງົ ຈີ່ ງຶ ໄດເ້ ກີດທດິ ສະດກີ ານເຮດັ Normalization ເພ່ີ ອປັບດຄງສາ້ ງຂອງຂມ້ ູນໃຫຢ້ ີ່ ໃູ ນຮູບປົກກະຕິ (Normal Form) ທີ່ ີງ່ີາຍຕີ່ ການນາໄປໃຊວ້ ຽກ ແລະ ມີບນັ ຫາໜອ້ ຍທີ່ ີສຸດບີ່ ວ່ີ າຈະເປນັ ບນັ ຫາການຊາ້ ຊອ້ ນຂອງຂມ້ ູນ ຫຼ ບນັ ຫາຄວາມຜດິ ປົກກະຕທິ ່ີ ອີ າດຈະເກດີ ຂນ້ ຈາກການເພ່ີ ມີ (Insert anamoly), ການລບຶ (Delete anamoly) ຫຼ ການປ່ີ ຽນແປງຂມ້ ນູ (Update anamoly) 1) ຜນົ ປະດຫຍດທີ່ ີໄດຈ້ າກການເຮດັ Normalization  ຊ່ີ ວຍຫຸດຼ ຜ່ີ ອນບນັ ຫາການເກບັ ຂມ້ ູນຊາ້ ກນັ ເຊີ່ ງິ ຈະເຮດັ ໃຫເ້ ປອງເນອ້ ທ່ີ ຈີ ດັ ເກບັ ດດຍບີ່ ຈາເປນັ  ຫຼຸດຜີ່ ອນຄວາມຂດັ ແຍ່ີ ງຂອງຂມ້ ູນລງົ ໄດເ້ ນ່ີ ອງຈາກການແກໄ້ ຂຂມ້ ນູ ແຕ່ີ ລະຄງັ້ ຈະເຮດັ ພຽງບ່ີ ອນດຽວໃນ ຖານຂມ້ ນູ  ເຮດັ ໃຫແ້ ກໄ້ ຂດຄງສາ້ ງຂອງ Table ໄດງ້ ່ີາຍຂນ້ ແລະ ມຜີ ນົ ກະທບົ ກບັ Table ອີ່ ນໆທ່ີ ີກ່ີ ຽວຂອ້ ງ ໜອ້ ຍທີ່ ສີ ຸດ 2) ຂນັ້ ຕອນການເຮດັ Normalization ຂມ້ ູນທ່ີ ີເກບັ ລວບລວມມານນັ້ ອາດຈະມີຄວາມຊາ້ ຊອ້ ນຫາຼ ຍເກນີ ໄປບີ່ ເໝາະສມົ ທ່ີ ຈີ ະນາເອາົ ມາໃຊດ້ ດຍກງົ ຈ່ີ ງຶ ໄດເ້ ກີດທດິ ສະດກີ ານເຮດັ Normalization ເພີ່ ອປບັ ດຄງສາ້ ງຂອງຂມ້ ູນໃຫຢ້ ່ີ ໃູ ນຮູບປົກກະຕິ (Normal Form) ທ່ີ ີງີ່າຍຕ່ີ ການນາໄປໃຊວ້ ຽກ ແລະ ມີບນັ ຫາໜອ້ ຍທ່ີ ີສຸດບີ່ ວີ່ າຈະເປັນບນັ ຫາການຊາ້ ຊອ້ ນຂອງຂມ້ ູນ ຫຼ ບນັ ຫາຄວາມ


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