pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · web...

20
หหหหหหหห 2 หหหหหหหหหหหหหหหหหหหหหหหหหหหหหหหห หหหหหหหหหหหห 1. เเเเเเเเเเเเเเเเเเเเเเเเเเ 2. เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเ 3. เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ 4. เเเเเเเเเเเเเเเ 5. เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ หหหหหหหหหหหหหหหหหหหห เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเ เเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเ ANSI-SPARC(American National Standard Institute-Standards Planning and Requirements

Upload: others

Post on 02-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

หนวยท 2สถาปตยกรรมและแบบจำาลองฐานขอมล

วตถประสงค1. เขาใจสถาปตยกรรมฐานขอมล2. เขาใจความเปนอสสระการเกบขอมลตามแบบสถาปตยกรรม3. การแปลงขอมลระหวางระดบสคมา4. แบบจำาลองขอมล5. ฐานขอมลเชงสมพนธและคณลกษณะทสำาคญ

สถาปตยกรรมฐานขอมล

สถาปตยกรรมของฐานขอมลเปนการอธบายถงรปแบบและโครงสรางในการจจดการกบมลภายในฐานขอมลเพอตอบสนองตอการจดเกบ การเรยกใชทตอบสนองตอผใชทกประเภท ตลอดจนทำาใหมความเปนอสสระในการสรางโปรแกรมทเกยวกบการจดการฐานขอมล สถาปตยกรรมฐานขอมลเปนมมมองแนวความคด ทใชในการอธบายถงรปแบบและโครงสราง ของขอมลในระบบฐานฐานขอมล โดยไมขนอยกบโครงสรางจรงของระบบฐานขอมลนนๆ ผใชฐานขอมลจะมองขอมลนในแงมมหรอววทแตกตางกนไปตามจดประสงคของการประยกตใชงาน โดยไมจำาเปนตองสนใจวามลกษณะการจดเกบขอมลแทจรงเปนเชนไร ระบบฐานขอมลจะทำาการซอนรายละเอยดไว

ฐานขอมลมจดเดนเหนอแฟมขอมลทวไปตรงทความเปนอสระขอมล เพราะโปรแกรมประยกตทผใชเขยนขนไมขนกบโครงสรางของขอมลทเปลยนไปปจจบนนยมใชสถาปตยกรรมของระบบฐานขอมลแบบ ANSI-SPARC(American National Standard Institute-Standards Planning and Requirements Committee) ซงจะไดอธบายโครงสรางและรปแบบการเกบขอมลภายใน

Page 2: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

คำาศพททจำาเปนทตองทำาความเขาใจกอนเขาใจความรเรองสถาปตยกรรมฐานขอมล มดงน

สคมา (Schema)

หมายถงขอมลเคารางหรอรปแบบทรวมขอกำาหนดและเงอนไขตางๆทอธบายโครงสรางการเกบขอมลในฐานขอมล อนสแตนซ (Instance)

หมายถง เนอขอมลทเกบอยในโครงสรางขอมล

ตวอยาง เชน ถาเรามตารางขอมลของนกศกษาดงน

รหสนกศกษา

ชอนกศกษา

สาขาวชา คณะวชา

54370001

แดง ใจด เทคโนโลยสารสนเทศ วทยาการคอมพวเตอร

สคมาขอมลของนกศกษา คอ รหสนกศกษา ชอนกศกษา สาขา สำานกวชา

เนอขอมล คอ

54370001

แดง ใจด

เทคโนโลยสารสนเทศ วศวกรรมศาสตร

สถาปตยกรรมฐานขอมลไดแบงออกเปน 3 ระดบ คอ 1) ระดบภายใน (Internal Level) 2) ระดบความคด (Concept Level) 3) ระดบภายนอก (External Level)

Page 3: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

รป 2.1 การแบงระดบสถาปตยกรรมฐานขอมล

ระดบภายใน

เปนระดบทระบถงถงวธการจดเกบขอมลในระดบกายภาพทดสก (hard disk) หรอหนวยความจำาหลก (main memory) วามรปแบบและโครงสรางการจดเกบขอมลอยางไร ระดบนจะถกกำาหนดดวยสคมาระดบภายใน(internal level schema) เชน ขอมลอยในบลอคใดของดสกวาอยตำาแหนงใด รวมทงทเกยวกบการสรางดชน (index) ซงในระดบนจะเปนหนาทของผดแลระบบตดสนใจวาจะเกบขอมลดวยหนวยความจำาแบบใด จะมการดแลรกษาอยางไร ซงโดยมากผใชทวไปไมมสทธเขามายงในระดบน อาจจะกลาวไดวา สคมาระดบภายในกำาหนดการจดการระบบการเกบขอมลจรง อธบายฐานขอมลในการเกบทางกายภาพจรง ๆ มองขอมลโดยมมมองของระบบจดการฐานขอมล ใชโครงสรางขอมล (Data Structure) และการจดระเบยนแฟม (File Organization) ในการอธบาย และจะทำางานรวมกบระบบปฏบตการ (Operating System) ในการเกบขอมลลงทดสก จงเรยกสคมาระดบภายในวาฟสดคอลสคมา (physical schema) ซงไดจากการแปลง (map) โครงสรางขอมลระดบแนวคดลงสอขอมล เชน ดสก เปนตน สวนใหญโครงสรางจะเปนอนเดกซหรอทร (index or tree)

ระดบความคด (Conceptual level)

Page 4: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

เปนระดบทอยถดขนมาจากระดบภายใน จะกำาหนดการมองความสมพนธของขอมลในระบบฐานขอมล วามการจดเกบขอมลอยางไร มความสมพนธกบขอมลอนอยางไรบาง รวมทงกฎเกณฑตาง ๆ เกยวกบ ขอมล เชน กฎเกณฑของตวขอมล ความปลอดภย (Security) และความคงสภาพของขอมล (Integrity) ซงยงไมใชรปแบบหรอวธการจดเกบจรงในในสอบนทกขอมล เปนเพยงแคมมมองในแนวความคดวา ขอมลจะมการจดเกบอยางไรเทานน ผทมสทธจะใชขอมลในระดบน คอโปรแกรมเมอร (Programmer) หรอผบรหารฐานขอมล (Database Administrator) จะถกกำาหนดดวยสคมาระดบความคด (conceptual level schema) สคมาระดบแนวคดจะเรมจากผออกแบบ หรอ ผดแลระบบเรมวเคราะหความตองการขอมลขององคกรวาควรจะเกบอะไรบางและเปนขอมลประเภทใด และระหวางขอมลควรมความสมพนธอยางไรบาง จากนนจงนำามากำาหนดเปนสคมาซงถอเปนจดสนสดของระดบแนวความคด อาจจะกลาวไดวาสคมาระดบแนวคดจะเพยงแตอธบายขอมลในรายละเอยดโดยรวมทงหมด เพอเชอมกบสงทผใชมองรปแบบขอมลความสมพนธ เงอนไขตาง ๆ รวมถงความมนคงและความถกตองของขอมลจะถกเกบไวดวย แตจะไมลงลกถงรายละเอยดการเกบขอมลในเครอง เราอาจเรยกในสวนนวา logical schema ซงเปนโครงสรางขอมลทนำาเสนอตามรปแบบขอมล (data model) เชน การกำาหนดรายละเอยดการสรางตารางในฐานขอมลเชงสมพนธ (relational database)

ระดบภายนอก (External level)

เปนระดบทอธบายมมมอง (View) ทผใชภายนอกมสทธเขาไปใชได จะถกกำาหนดดวยสคมาระดบภายนอก (external level schema) ประกอบดวยขอมลทผใชทวไปมความสนใจและมสทธใชไดจากสคมาระดบความคด เราสามารถเรยกสงทใชอธบายมมมองขอมลทถกดงมาจากฐานขอมลทอยในระดบแนวคด ซงในระดบนโปรแกรมจะเหนเพยงโครงสราง

Page 5: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

ขอมลบางสวน เชน เหน view เปนเพยงบางสวนของตาราง หรอบางสวนของตารางหลายตารางมารวมกนเปนหนงมมมอง โดยไมมการสำาเนาขอมลจากตารางเดมมาสรางใหมเปนมมมอง สคมาระดบภายนอกเปนระดบทใกลกบผใชมากทสด เปนสงทผใชคดเกยวกบขอมล ขอมลจากตารางเดยวกนผใชหลายคนหลายคนอาจตองการบางสวนทไมเหมอนกน เชน ขอมลวนท ผใชคนหนงอาจมองเปน วน/ เดอน/ ป อกคนมองเปน เดอน/ วน/ป กได นอกจากนนสงทผใชมองเหนอาจไมไดเกบจรงในเครองแตไดจากการคำานวณออกมาสวนนเองจะถกแปลโดยระบบจดการฐานขอมลเกบไวในพจนานกรมขอมล (Data dictionary)

ความเปนอสระของขอมล (Data Independence)

จดประสงคหลกของสถาปตยกรรมทงสามระดบ คอการทตองการให ขอมลเปนอสระโดยการทผใชสามารถเปลยนแปลงขอมลในระดบแนวความคด หรอระดบภายในไดโดยไมกระทบกบโปรแกรมทเรยกใช ผใชยงมองเหนโครงสรางขอมลในระดบภายนอกเหมอนเดมและใชงานไดตามปกต โดยม DBMS เปนตวจดการในการเชอมตอขอมลในระดบภายนอกกบระดบแนวคด และเชอมขอมลระดบแนวคดกบระดบภายใน ซงหมายถงการเปลยนแปลงขอมลในระดบทตำากวาจะไมกระทบกบขอมลทอยในระดบทสงกวา ซงความเปนอสระของขอมลแบงออกเปน 2 ลกษณะคอ

ความเปนอสระของขอมลเชงตรรกะ (Logical Data Independence) คอ การเปลยนแปลงแกไขโครงสรางของขอมลในระดบแนวคด จะไมมผลกระทบตอ โครงสรางขอมลในระดบภายนอกทผใชงานใชอย เชน ในการเขยนโปรแกรมเพอแสดงขอมลของพนกงาน ซงใชขอมลในระดบภายนอก หากในระดบแนวคดมการเปลยนแปลง โดยการเพมแอตทรบวสบางตวเขาไปใน รายละเอยดขอมลของพนกงาน จะไมมผลกระทบกบโปรแกรมเดมททางานอย

ความเปนอสระของขอมลเชงกายภาพ (Physical Data Independence) คอการเปลยนแปลงแกไขโครงสรางของขอมลใน

Page 6: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

ระดบภายใน จะไมมผลกระทบตอ โครงสรางขอมลในระดบแนวคด หรอระดบภายนอก เชน ในระดบภายในมการเปลยนวธการ จดเกบขอมลจากแบบเรยงลาดบ (Sequential) ไปเปนแบบดชน (indexed) ในระดบภายใน ในระดบแนวคดนนจะไมมผลกระทบตอการเปลยนแปลงดงกลาว หรอโปรแกรมประยกตทเขยน ในระดบ ภายนอกกไมจาเปนตองแกไขโปรแกรมตามวธการจดเกบทเปลยนแปลงไป

การแปลงรป (Mapping)

การแปลงรป (Mapping) คอ การถายทอดมมมองจากสถาปตยกรรมในระดบทสงกวา ไปยงระดบทตำากวา ซงแบงเปน 2 ลกษณะคอ

การแปลงรประหวางระดบภายนอกกบระดบแนวคด เปนการแปลงรปจากระดบแนวคดกบระดบภายใน การแปลงรปทง 2 ลกษณะนจะเปนหนาทของ DBMS ในการจดการแปลงรปใหทำาใหมมมอง ในแตละระดบนนสามารถแยกออกเปนอสระจากกนได โดยจะม DBMS เปนตวจดการเชอมความสมพนธในแตละระดบ ดงแสดงในภาพท 2.2

รป 2.2 การแปลงขอมลระหวางระดบสคมา

การแปลงรประหวางระดบภายนอกกบระดบแนวความคด (External/Conceptual Mapping) การแปลงรประหวางระดบ

Page 7: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

ภายนอกกบระดบแนวคด (external/conceptual mapping) เปนการกาหนดความสอดคลองกนระหวางมมมองในระดบภายนอกและระดบแนวคด โดยถายทอดมมมองทมตอขอมลในระดบภายนอก ไปยงระดบแนวความคด เพอใหผใชฐานขอมลสามารถมมมมองของขอมลในแตละระดบทแตกตางกนได โดยสามารถเปลยนแปลงแกไขขอมลในระดบแนวความคด เชน มการเปลยนแปลงชนดขอมลของแอททรบวต เพม หรอแอททรบวต เปนตน โดยไมกระทบกบ โครงสรางฐานขอมล (สคมา) ในระดบภายนอก ซงถอวาขอมลมความเปนอสระของขอมลในระดบ ตรรกะนนเองมาตรฐาน

การแปลงรประหวางระดบแนวความคดกบระดบภายใน (Conceptual/Internal Mapping) เปนการกาหนดความสอดคลองกนระหวางมมมองในระดบแนวคดกบระดบภายใน โดยถายทอดมมมองทมตอขอมลในระดบแนวคดไปยงระดบภายใน ทาใหสามารถเปลยนแปลงโครงสรางของขอมลในระดบภายใน เชน เปลยนแปลงรปแบบในการจดเกบ เปลยนโครงสรางของเรคอรด หรอ ฟลดทใชเกบขอมล เปนตน โดยไมสงผลกระทบกบโครงสรางขอมลในระดบแนวความคด ซงถอวา ขอมลมความเปนอสระของขอมลในระดบกายภาพนนเอง

แบบจำาลองฐานขอมล (Database Models)

แบบจำาลองฐานขอมลนนจะถกนำาไปใชในขนตอนการออกแบบฐานขอมลเพอใหเหนสงทตองการเกบเปนขอมล ประเภทขอมลตลอดจนความสมพนธกนของขอมลทจะถกเกบภายในฐานขอมล และนำาไปใชในขนตอนการสรางฐานขอมลแบงไดเปน โมเดลแบบแนวคด และโมเดลแบบการนำาไปใช

แบบแนวคดเปนแบบจำาลองซงถกนำาไปใชในขนตอนการออกแบบฐานขอมล  เพอใหเหนวาภายในฐานขอมลตองประกอบดวยขอมลอะไรบาง 

Page 8: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

และแตละขอมลมความสมพนธกนอยางไร  มกจะมสญลกษณทใชแทนขอมล คณสมบตของขอมลและความสมพนธระหวางขอมล

แบบการนำาไปใชเปนแบบจำาลองซงถกนำาไปใชในขนตอนการสรางฐานขอมลของฐานขอมลแตละประเภท     มการนำาแบบจำาลองแนวคดและแบบจำาลองการนำาไปใชตาง ๆ ทำาใหการสอสารระหวางผออกแบบฐานขอมลกบผใชใหเกดความเขาใจตรงกน แบบจำาลองขอมลทเคยถกใชไดแก แบบจำาลองขอมลลำาดบชน (Hierarchical database model)  แบบจำาลองขอมลเครอขาย (Network database model) และแบบจำาลองฐานขอมลเชงสมพนธ (Relational database model) ซงมรายละเอยดดงน

แบบจำาลองฐานขอมลลำาดบชน

โครงสรางของแบบจำาลองขอมลลำาดบชนมลกษณะเปนแนวตนไม (Tree) แบบจำาลองขอมลลำาดบชนเปนแบบจำาลองตนแบบสำาหรบการแกไขปญหาการเกบ ขอมลดวยระบบแฟมขอมล แสดงดงรปท 2.3

รปท 2.3 แบบจำาลองฐานขอมลลำาดบชน

ขอดของแบบจำาลองฐานขอมลลำาดบชน

แบบจำาลองฐานขอมลลำาดบชนสามารถกำาหนดกฎเกณฑทใชควบคมความถกตองใหกบขอมลภายในฐานขอมลไดงาย

Page 9: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

แบบจำาลองฐานขอมลลำาดบชนมโครงสรางทเหมาะกบขอมลทมความสมพนธในแบบหนงตอกลม (One-to-Many)  

มโครงสรางทเหมาะสมกบระบบคอมพวเตอรทมขนาดใหญ   

ขอเสยของแบบจำาลองฐานขอมลลำาดบชน

การเปลยนแปลงโครงสรางของขอมลในแบบจำาลองฐานขอมลลำาดบชนสงผลใหตองมการปรบเปลยนและแกไขโปรแกรม

แบบจำาลองฐานขอมลลำาดบชนรองรบเฉพาะกบขอมลทมความสมพนธในแบบหนงตอกลม (One-to-Many)

แบบจำาลองฐานขอมลลำาดบชนขาดความยดหยนในการจดการกบขอมล

แบบจำาลองฐานขอมลเครอขาย

แบบจำาลองขอมลเครอขายถกพฒนาเพอแกไขปญหาของแบบจำาลองขอมลลำาดบชนโดยเพมความสามารถการโอนถายขอมลผานระบบจดการฐานขอมล (DBMS) แสดงไดดงรปท 2.4

รปท 2.4 แบบจำาลองฐานขอมลเครอขาย

ขอดของแบบจำาลองฐานขอมลเครอขาย

Page 10: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

แบบจำาลองขอมลเครอขายสามารถรองรบความสมพนธแบบกลมตอกลมได

แบบจำาลองขอมลเครอขายสามารถเขาถงขอมลทำาไดงายและสามารถควบคมให ขอมลเปนไปตามกฎทใชในการควบคมความถกตองขอมลไดงาย

สนบสนนใหโปรแกรมมความเปนอสระจากขอมลมากกวาฐานขอมลทมโครงสรางของขอมลในรปแบบฐานขอมลลำาดบชน

ขอเสยของแบบจำาลองฐานขอมลเครอขาย

การออกแบบและการเปลยนแปลงขอมลในฐานขอมลเครอขายจะกระทำาไดคอนขาง ยากเนองจากตองกำาหนดความสมพนธใหครอบคลมทกขอมลในฐานขอมล

ฐานขอมลเครอขายการปองกนความปลอดภยของขอมลมนอยกวาฐานขอมลเชงสมพนธแบบจำาลองฐานขอมลเชงสมพนธ (Relational database model)

แบบจำาลองฐานขอมลเชงสมพนธ นำาเสนอการเกบขอมลในฐานขอมลในรปของตาราง (Table) หลายๆตารางทมความสมพนธกน ในแตละตารางแบงออกเปนแถวๆ และในแตละแถวจะแบงเปนคอลมน (Column) ฐานขอมลทไดจากรปแบบนเรยกวา ฐานขอมลเชงสมพนธ (relational database) ดงแสดงรป 2.5

รป 2.5 ตวอยางแบบจำาลองฐานขอมลเชงสมพนธ

Page 11: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

ผคดคน คอ Dr.E.F.Codd โดยใชหลกพนฐานทางคณตศาสตรเรองเซท (Set) กำาหนดสวนประกอบของแบบจำาลองฐานขอมลเชงสมพนธ ไดแก สวนโครงสรางขอมล สวนควบคมความถกตอง และสวนจดการขอมล

ขอดของแบบจำาลองฐานขอมลเชงสมพนธ

ฐานขอมลเชงสมพนธทไดเปนกลมของความสมพนธหรอตารางทถกจดเกบเปนแถวและคอลมนทำาใหผใชงานมองเหนภาพของขอมลไดงาย

ฐานขอมลเชงสมพนธทไดสามารถทำาความเขาใจและเรยกใชหรอเชอมโยงขอมลได งายโดยผใชไมจำาเปนตองรวาขอมลถกจดเกบจรงอยางไร 

ภาษาทใชในการเรยกดขอมลในฐานขอมลเชงสมพนธเปนลกษณะคลายภาษา องกฤษ และไมจำาเปนตองเขยนเปนลำาดบขนตอน เชน ภาษา SQL (Structured Query Language)

ฐานขอมลเชงสมพนธทไดมความปลอดภยเนองจากใชกญแจหรอคยในการอางอง ถงตารางอน ๆ ทเกยวของ ซงคยสามารถเปนไดทงคยหลก(primary key) และคยรอง (secondary key) เพอกำาหนดการเรยงลำาดบดชนเพอเขาถงขอมลไดโดยเรว

ขอเสยของแบบจำาลองฐานขอมลเชงสมพนธ

รปแบบฐานขอมลเชงสมพนธมความซบซอนสงและตองซอนความซบซอนจากมมมองของ ผใชงานฐานขอมลทำาใหตองเลอกใชเครองคอมพวเตอรทมประสทธภาพสง ดงนนฐานขอมลเชงสมพนธทไดหากออกแบบรปแบบฐานขอมลไมดจะทำาใหระบบทำางานไดชา

ฐานขอมลเชงสมพนธทไดใชทรพยากรคอมพวเตอรมประสทธภาพสงจงตองมคาใชจายสง

ฐานขอมลเชงสมพนธ (Relational database)

Page 12: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

ฐานขอมลเชงสมพนธเปนฐานขอมลซงใหภาพของขอมลในระดบภายนอก และระดบแนวคดตางๆ ในฐานขอมลจะประกอบดวยขอมลทใชอธบายคณสมบตหรอคณลกษณะของแตละสงตางๆ(entities) หรอ วตถ(Objects) ทถกรวบรวมเปนขอมลในฐานขอมลทถกออกแบบเพอลดความซำาซอนของขอมลและสามารเรยกใชขอมลไดอยางมประสทธภาพโดยมระบบจดการฐานขอมลเปนผจดการฐานขอมลเชงสมพนธ (RDBMS : relational database management system) ทำาหนาทจดการขอมลอยระหวางกลางผใชและฐานขอมล

ขอมลในฐานขอมลเชงสมพนธจะถกเกบแบบตาราง (relation) โดยขอมลแตละแถวจะถกเรยกวา ทเปล (Tuple) แตละแถวประกอบดวยแอททรบวต (Attribute) ดงแสดงไดดงรป 2.6 ซงเปนขอมลทใชอธบายคณสมบตหรอคณลกษณะของแตละเอนทต โดยเอนท ต (Entity) จะหมายถง สงตางๆ(Things) หรอ วตถ(Objects) ทตองการเกบคณสมบตลงในฐานขอมลเชงสมพนธ ขอมลแตละตารางจะมความสมพนธ (Relationship) เกยวของกน 

รป 2.6 แสดงโครงสรางของตารางในฐานขอมลเชงสมพนธ

Page 13: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

การออกแบบความสมพนธ(Relationship) ตารางเปนการกำาหนดความสมพนธระหวางตาราง แบงออกเปน

ความสมพนธแบบหนงตอหนง (one-to-one relationship) : เปนความสมพนธระหวาง entity หนงไปมความสมพนธกบอก entity หนงเพยง หนงรายการเทานน เชน พนกงาน(Staff) หนงคนจะดแลหนงสาขา ในขณะทสาขาจะมหวหนาพนกงานดแลไดเพยงหนงคน

ความสมพนธแบบหนงตอกลม (one-to-many relationship) : เปนความสมพนธระหวาง entity หนงไปมความสมพนธกบอก entity หนงมากกวาหนงรายการ

ความสมพนธแบบกลมตอกลม (many-to-many relationship) : เปนความสมพนธแบบหลายรายการระหวาง entity ทงสอง

ลกษณะสำาคญของตารางในฐานขอมลเชงสมพนธ

แอททรบวต (Attribute)

แอททรบวต หมายถง แตละคอลมนทอยในรเลชน แตละแอททรบวตจะมชอกำากบแตละแอททรบวตในแตละรเลชน        

คารดนลลต (Cardinality)                 

คารดนลลต หมายถง การอธบายถงลกษณะความสมพนธของขอมลของตารางกบอกตารางหนง (จำานวนทเพลหรอแถวในแตละตารางหรอรเลชน) ซงมอย 3 แบบ คอ ความสมพนธของขอมลแบบหนงตอหนง (One to One) แบบหนงตอกลม (One to Many) แบบกลมตอกลม (Many to Many)ดกร (Degree)

Page 14: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

ดกร หมายถง  จำานวนแอททรบวทของแตละตาราง(รเลชน) หรอ จำานวนแอททรบวททมอยในแตละตาราง(รเลชน)

คาวาง (Null Values)

       คาวาง คอ คาของ Attribute อาจจะเปนคาวาง (Null) คอ ไมมคาหรอยงไมทราบคาได

กญแจ หรอ คย (Key) 

กญแจ หรอ คย คอ ฟลดทมลกษณะเฉพาะตวเปนแอททรบวททสามารถแยกความแตกตาง ของขอมลในแตละทเพลได ดงนน กญแจ หรอ คย (Key) จงหมายถง สงทใชกำาหนดความเปนเอกลกษณในความสมพนธ แสดงดงรป 2.7

Page 15: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

รป 2.7 แสดงคยตางๆ ในตารางของแบบจำาลองฐานขอมลเชงสมพนธ

คยหลก (PK: Primary Key) หรอ กญแจหลก (PK) เปนคยคแขง (candidate key) ตวหนงทถกเลอกขนมาเปนคยหลก คณสมบตของคยหลก คอ มความเปนหนงเดยว คาของคยหลกตองไมซำากนเลย ประกอบดวยจำานวนแอททรบวตนอยทสดทสามารถเจาะจงทพเพลหนงในรเลชนได (PK หามซำา)

คยรอง ( Alternate Key หรอ Secondary Key) คอกญแจทไมถกเลอกใหเปนกญแจหลก

คยนอก (FK: Foreign Key) ใชในการเชอมโยงขอมลระหวางความสมพนธเขาดวยกน (nonkey attribute ใน relation หนงทเปน primary key ใน relation อน)

คยอยางงาย (Simple key) ประกอบดวย attribute เดยว

คยประกอบ (Combine key หรอ Composite key)  กญแจทประกอบขนจากแอททรบวทมากกวา 1 แอททรบวท เมอนำาแอททรบวตทงหมดมาผสมกน  ทำาใหไดคาทไมซำากนเลย

คยคแขง (Candidate Key) สามารถจะเปนคแขงซงจะถกเลอกใหเปนคยหลก

ซปเปอรคย (Super key) กลมของแอททรบวตของรเลชนทสามารถเจาะจง (identify) ความเปนหนงเดยวของทพเพลทแตกตางจากทพเพลอนได  หมายถง attribute หรอ เซทของ attribute ท

Page 16: pirun.ku.ac.thpirun.ku.ac.th/~faastwc/sem1-2560/database/teaching/kps... · Web viewแบบจำลองฐานข อม ลเช งส มพ นธ นำเสนอการเก

สามารถบงบอกวาแตละแถว (Tuple) แตกตางกน ในทก ๆ ความสมพนธ จะตองมอยางนอย หนง Super key ในเซทของ attributes

คำาถามทบทวน

1. จงอธบายความหมายของคำาตอไปน 1.1 สคมา 1.2 อนสแตนซ2. จงอธบายถงโครงสรางและประโยชนของสถาปตยกรรมฐานขอมลแบบ ANSI-SPARC 3. จงอธบายวาความเปนอสระของขอมลมประโยชนอยางไรตอระบบฐานขอมล 4. การแปลงรปมหลกการทำางานอยางไรและมความสำาคญอยางไรไรตอสถาปตยกรรมแบบ ANSI-SPARC6. จงวเคราะหขอดของแตละแบบจำาลองขอมล7. จงวเคราะหขอดของแบบจำาลองขอมลเชงสมพนธ8. จงอธบายความหมายของคาคยตางๆของตารางฐานขอมลเชงสมพนธ

เอกสารอางอง

Date, C. J. (2000). An introduction to database systems. Massachusetts: Addison-Wesley.McFadden, Fred R. (1999). Modern database management. California : The Benjamin/Cummings.Peter Rob & Carelos Coronel. (2002). Database Systems “Design, Implementation, and Management”. United States of America : Thomson Learning.