71
ฐานข้อมูลเชิงสัมพันธ์ Relational Database 4122206A ระบบจัดการฐานข้อมูล 3(2-2) .ชนิดา คาเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ

ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ฐานขอมลเชงสมพนธ Relational Database

4122206A ระบบจดการฐานขอมล 3(2-2)

อ.ชนดา ค าเพง สาขาวชาเทคโนโลยสารสนเทศ

Page 2: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Today Topic • ความรเบองตนเกยวกบฐานขอมลเชงสมพนธ • การสรางฐานขอมลดวย MS Access • การสรางตาราง • การสรางความสมพนธระหวางตาราง

Page 3: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ศพทเทคนค ศพทเทคนค ศพททวไป

• รเลชน (Relation) ตาราง (Table) • ทเพล (Tuple) แถว (Row) หรอ Reccord • แอททรบวต (Attribute) คอลมน (Column), Field • คารดนาลต (Cardinality) จ านวนแถว (Number of Rows)

• คยหลก (Primary Key) คาเอกลกษณ (Unique Identifier)

Page 4: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ความหมายของฐานขอมลเชงสมพนธ

เปนการจดเกบรวบรวมขอมลเปนแถวและคอลมนในลกษณะตารางสองมต ทประกอบไปดวย Attribute ทแสดงคณสมบตของ Relation หนงๆ

โดย Relation ตางๆ ไดผานกระบวนการท าให Relation เปนบรรทดฐาน (Normalized) ในระหวางการออกแบบเพอลดความซ าซอน และเพอใหการจดการฐานขอมลเปนไปอยางมประสทธภาพ

Page 5: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

แนวคดเรองโมเดลเชงสมพนธ

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

(attribute) ของความสมพนธ – คาและขอบเขตของขอมลของแอททรบวเรยกวา โดเมน

(Domain) – แตละแถวของตารางความสมพนธ เรยกวา แถว หรอ ทเพล

(tuple) ของความสมพนธ

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

Page 6: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

• ดกรของความสมพนธ คอ จ านวนแอททรบวทมในตารางนน • Cardinality ของความสมพนธคอ จ านวนแถวในตาราง

คณสมบตของความสมพนธ

Page 7: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

A Sample Relation

EmployeeNumber FirstName LastName

100 Mary Abermany

700 Jerry Caldera

300 Alea Copley

40 Murugan Jacksoni

• Deegree = • Cardinality =

Attributes

3 4

Page 8: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

คณลกษณะในการจดเกบขอมลของรเลชน

1. ขอมลในแตละแถวจะไมซ ากน

Page 9: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

คณลกษณะในการจดเกบขอมลของรเลชน

2. การเรยงล าดบของขอมลในแตละแถวไมเปนสาระส าคญ

Page 10: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

คณลกษณะในการจดเกบขอมลของรเลชน

3. การเรยงล าดบของ Attribute จะเรยงล าดบกอนหลงอยางไรกได

Page 11: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

คณลกษณะในการจดเกบขอมลของรเลชน

4. คาของขอมลในแตละ Attribute ของ Tuple หนงๆ จะบรรจ ขอมลไดเพยงคาเดยว (Single Value)

Page 12: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

คณลกษณะในการจดเกบขอมลของรเลชน

5. คาของขอมลในแตละ Attribute จะบรรจคาของขอมล ประเภทเดยวกน

Page 13: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ประเภทของคย

1. คยหลก (Primary Key) เปน Attribute ทมคณสมบตของขอมลทมคาเปนเอกลกษณ หรอไมมคาซ ากน

โดยคณสมบตนนจะสามารถระบวาขอมลนนเปนของ Tuple ใด

Page 14: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว
Page 15: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ประเภทของคย 2. คยผสม (Composite Key)

• การน าฟลดตงแต 2 ฟลดขนไปมารวมกน • เพอใหมคณสมบตเปน Primary Key • เนองจากหากใชฟลดใดฟลดหนงเปน PK จะสงผลใหขอมลในแตละ

เรคอรดซ าซอนได

Page 16: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

3. คยคแขง (Candidates Key)

ในแตละ Relation อาจม Attribute ทท าหนาทเปนคยหลกไดมากกวาหนง Attribute โดยเรยก Attribute เหลานวา คยคแขง (Candidate Key)

• เชน นกศกษาแตละคน ม – รหสประจ าตวนกศกษา – รหสประจ าตวบตรประชาชน

• โดยปกตแลวจะเลอก Candidates Key ทสนทสดเปน Primary Key

ประเภทของคย

Page 17: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ประเภทของคย

โดยเราจะเรยก Candidate Key ทถกเลอกมาใชเปนคยหลกในตารางวา “Primary Key” และเรยก Candidate Key ทไมถกเลอกเปนคยหลกวา “คยส ารอง (Alternate Key)”

Page 18: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Key Rule (Continued)

รหส ชอ สกล บตรประชาชน

ชนเรยน สาขา

คยคแขง Candidate Key

คยหลก (Primary Key) คยส ารอง Alternate Key

Page 19: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Key Rule (Continued)

• Candidate Key สามารถเปน Primary Key และ Alternate Key ได

Page 20: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ประเภทของคย

2. คยนอก (Foreign Key) คอคยซงประกอบดวยแอทรบวตหรอกลมของ แอตทรบวตในรเลชนหนงซงมคณสมบตเปนคยหลก และไปปรากฏอกรเลชนหนง เพอประโยชนในการเชอมโยงขอมล ซงกนและกน

Page 21: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

2. คยนอก (Foreign Key) • เปน Key ทใชในการเชอมโยงขอมลระหวางตารางเขาดวยกน • เชน ฐานขอมลของธนาคารแหงหนงประกอบดวย 2 ตาราง คอ

– ตารางบญชทลกคาเปด (เลขประจ าตวลกคา, ชอ-นามสกล และประเภทของบญช )

– ตารางลกคา (เลขประจ าตวลกคา, ชอ-นามสกล และทอย) หากตองการทราบวาลกคารายหนงเปดบญชใดบาง กเชอมโยง

ขอมล 2 ตารางเขาดวยกน โดยใชเลขประจ าตวลกคาเปน Foreign Key

ประเภทของคย

Page 22: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว
Page 23: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

เลขประจ าตวประชาชน

ชอ

นามสกล

อาย

3501552150054

สมชาย

แซตง

25

3210077565107

สมศร

แซอง

42

4110597520235

สมฤทย

แซตง

23

2156800512473

สมปอง

แซแต

16

7812350453784

สมชย

แซเอง

50

Primary Key ?

Page 24: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ชอ

นามสกล

อาย

เพศ

สมชาย

แซตง

25

ชาย

สมศร

แซอง

42

หญง

สมฤทย

แซตง

23

ชาย

สมปอง

แซแต

16

ชาย

สมชย

แซเลง

50

ชาย

Primary Key?

Page 25: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ID

ชอ

นามสกล

อาย

เพศ

1

สมชาย

แซตง

25

ชาย

2

สมศร

แซอง

42

หญง

3

สมฤทย

แซตง

23

ชาย

4

สมปอง

แซแต

16

ชาย

5

สมชย

แซเลง

50

ชาย

Primary Key ?

ID เพศ

Page 26: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

รหสสนคา ชอสนคา จ านวน

รหสพนกงาน รหสสนคา ยอดขาย

Foreign Key ? ตารางสนคา

ตารางยอดขาย

Page 27: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

กฎเกยวของกบคยในฐานขอมลเชงสมพนธ • คอขอบงคบหรอเงอนไขในการอนญาตใหเกบเฉพาะขอมลท

เหมาะสมลงในฐานขอมล • เพอใหการเลอกขอมลจากฐานขอมลมความถกตอง ประเภทของเงอนไข • Key constraint ม 2 รปแบบ คอ

– คยหลก คาจะไมเปน NULL – Null ไมใชคาทเปน 0 (กรณเปนตวเลข) และไมใช space (ในกรณเปนขอความ)

– Null หมายถงไมทราบคาหรอไมรคาแนชด

Page 28: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

มคาเปน Null หมายถงอะไร ?

• Null เปนศพทเฉพาะใน Relational Database หมายถง ไมทราบคาขอมลทรแนชด เราสามารถก าหนดใหคาของคอลมนใดๆ เปน Null ได (ถาเปนไปไดควรใสใหครบจะดทสด ) ยกเวนคอลมนทเปน Primary Key เพราะจะไมสามารถน า Primary Key มาใชเขาถงขอมลในแตละแถวได

Page 29: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางตารางทแสดงคา Null

รหสนกศกษา รหสวชา เกรดทได

4900222 E182

4900123 M117 C

4900125 P210 B+

4900236 E182 A

Page 30: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Referential Integrity

เปนการอางองขอมลจากความสมพนธอน

คาของ Foreign Key ตองมาจากคาของ Primary Key จากตารางทเกยวของเทานน

กฎเกยวของกบคยในฐานขอมลเชงสมพนธ

รหสสนคา ชอสนคา จ านวน

bk00198 เสอยด 100

cd00034 กางเกงขายาง 250

รหสพนกงาน รหสสนคา ยอดขาย

HY001 bk00198 80

HY002 cd00034 200

ตารางยอดขาย

ตารางสนคา

Page 31: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

กฎการควบคมความถกตองของขอมล (Data Integrity)

ฐานขอมลไมสามารถรไดเองวาขอมลทเกบอยนนสอดคลองกบความเปนจรงหรอไม เราจงตองบอกใหฐานขอมลรดวยสงทเรยกวา กฎการควบคมความถกตองของขอมล หรอ Data Integrity

ตวอยางงานระบบทะเบยนนกศกษาจะม Integrity Rule ดงตอไปน • นกศกษาทกคนตองสงกดคณะทมอยเทานน • วชาทลงทะเบยนตองเปนวชาทเปดสอนเทานน • เกรดเฉลยแตละเทอมจะอยระหวาง 0.00-4.00 เทานน • เกรดทไดจะตองเปน A,B+,B,C+,C,D+,D หรอ F เทานน เปนตน

Page 32: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ประเภทของรเลชน

1. รเลชนหลก (Base Relation)

Relation ทถกก าหนดขนเพอเกบขอมลเพอน าไปใช โดย Base Relation จะเปน relation ทเกบขอมลอยจรง

Page 33: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว
Page 34: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ประเภทของรเลชน

2. วว (View)

Relation ทถกสรางขนตามความตองการของผใชงานแตละคน โดยจะก าหนด view ของตนขนมาจากรเลชนหลก

Page 35: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Virtual Table Or Derived Table

Page 36: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Relationship (ความสมพนธ) • แบงออกเปน 3 ประเภท คอ

– One to One Relationship (1 – 1) – One to Many Relationship (1 – M) – Many to Many Relationship (M – N)

Page 37: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ความสมพนธแบบหนงตอหนง (One to One Relationship)

• เปนความสมพนธทเขาใจงายทสด • เปนความสมพนธของขอมลใน 1 เรคอรดในตารางหนงม

ความสมพนธกบขอมลอยางมากหนงขอมลกบอกเรคอรดในอกตารางหนงเทานนในลกษณะทเปนหนงตอหนง – นกศกษา 1 คนเทานนทจะเปนนายกองคการนกศกษา

นกศกษา องคการนกศกษา เปนนายกฯ 1 1

Page 38: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ความสมพนธแบบหนงตอกลม (One to Many Relationship)

• เปนความสมพนธทพบบอยทสดในฐานขอมล • เปนความสมพนธของขอมลใน 1 เรคอรดในตารางหนงม

ความสมพนธกบขอมลมากกวาหนงขอมลกบอกเรคอรดในอกตารางหนงเทานนในลกษณะทเปนหนงตอหนง – นกศกษาแตละคนสามารถลงทะเบยนเรยนไดมากกวา 1 วชา

นกศกษา รายวชา ลงทะเบยน 1 M

Page 39: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ความสมพนธแบบกลมตอกลม (Many to Many Relationship)

• เปนความสมพนธทพบไมบอยนก • เปนความสมพนธของขอมลในเรคอรดใดๆ ของตารางหนง

มคาตรงกบขอมลของหลายๆ เรคอรดในตารางอนๆ – รายวชา 1 รายวชามอาจารยสอนไดมากกวา 1 คน – การสงซอสนคาในแตละครงสามารถสงซอสนคาไดมากกวา 1 ชนด

รายวชา อาจารย สอนโดย M N

Page 40: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ขอดของฐานขอมลเชงสมพนธ

1. ผใชงานเหนภาพของขอมลไดงาย 2. ผใชไมตองรวาขอมลจดเกบจรงอยางไร รวมถงการเขาถง

วธการเรยกใชขอมล 3. ภาษาทใชในการเรยกดขอมล มลกษณะคลายภาษาองกฤษ

และไมจ าเปนตองเขยนเปนล าดบขนตอน

4. การเรยกใชหรอเชอมโยงขอมลท าไดงาย

Page 41: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Microsoft Access

Page 42: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ขนตอนการออกแบบฐานขอมล

• วเคราะหตวงาน พจารณาวาตองการเกบขอมลใดในฐานขอมล – สอบถามจากผใชงาน

• ขอมลทจะจดเกบ • ตองการรายงาน / แบบฟอรมอยางไร ขอมลทใหแสดงมอะไรบาง

– ดแบบฟอรม / รายงานทใชงานในขณะนน

Page 43: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ขนตอนการออกแบบฐานขอมล

• จดขอมลใหเปนหมวดหม / กลม – พจารณาจากลกษณะของขอมล – พจารณาจากความสมพนธของขอมล

• พจารณาขอมลแตละกลมมาประกอบดวยขอมลใดบาง (โดยละเอยด) – ขอมลนกศกษา : รหสประจ าตว, ค าน าหนา, ชอ, นามสกล, เพศ, สาขาวชา เปนตน

Page 44: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ขนตอนการออกแบบฐานขอมล

• แปลงขอมลแตละตวใหเปนชอฟลด (Field Name) – ชอฟลดควรเปนภาษาองกฤษ – ความยาวไมควรเกน 64 ตวอกษร

• ก าหนดชนดของขอมล (Data Type) ทจะจดเกบ • พจารณาเลอกฟลดทเหมาะสมเปนคยหลก (PK) • ก าหนดความสมพนธ (Relationship) ระหวางตาราง

Page 45: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ชนดของขอมล (Data Type) ชนด ขนาด ความหมาย

Text สงสด 255 ตวอกษร ตวอกษร ตวเลข หรอเครองหมายตางๆ ทไมไดใชในการค านวณ

Memo สงสด 65,635 ตวอกษร ตวหนงสอ หรอตวเลขทเปนค าอธบาย หรอบกทกทมความยาวมากๆ

Number 1 – 8 ไบท

ขอมลตวเลขทงจ านวนเตม หรอทศนยม ทตองใชในการค านวณ

Page 46: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ชนด ขนาด ความหมาย

Date/Time 8 ไบท วนทและเวลาซงมรปแบบการแสดงผลหลายแบบ และสามารถก าหนดแบบของการแสดงผลเองได

Currency 8 ไบท เกบขอมลทเปนจ านวนเงน เพอปองกนเรองการปดเศษทศนยม

Auto Number 4 Byte ก าหนดตวเลขทเรยงล าดบตอเนองกนโดยอตโนมต โดยโปรแกรม

ชนดของขอมล (Data Type)

Page 47: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ชนดของขอมล (Data Type) ชนด ขนาด ความหมาย

Yes/No 1 บท เกบขอมลในรปทเปนได 2 อยาง เชน จรง/เทจ ชาย/หญง ถก/ผด

OLE Object 1 GB เกบขอมลทถกสรางโดยโปรแกรมอน เชน รปภาพ เสยง หรอไฟลขอมล เปนตน

Hyperlink สงสด 2,048 ตวอกษร

จด Link ตางๆ

Lookup Wizard 4 ไบท ขอมลทเลอกจากตารางอนๆ ทสมพนธกน

Page 48: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล • ตองการสรางฐานขอมลนกศกษาสาขาวชาคอมพวเตอร

ธรกจ • ขอมลทจะเกบลงฐานขอมล ประกอบดวย

– รหสนกศกษา – ชอ-นามสกล – หลกสตร – เพศ – E-Mail

– ทอย – หมายเลขโทรศพท – วนเดอนปเกด – อาจารยทปรกษา

Page 49: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล

• แปลงขอมลแตละตวใหเปนชอฟลด (Field Name) – รหสนกศกษา StuID – ชอ-นามสกล StuName – หลกสตร StuMajor – เพศ StuSex – E-mail StuMail

Page 50: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล

• แปลงขอมลแตละตวใหเปนชอฟลด (Field Name) – ทอย StuAddr – หมายเลขโทรศพท StuTel – วนเดอนปเกด StuBirth – อาจารยทปรกษา StuAdvisor

Page 51: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล

• ก าหนดชนดของขอมล (Data Type) ทจะจดเกบ – รหสนกศกษา StuID Text / 8 ตวอกษร – ชอ-นามสกล StuName Text / 30 ตวอกษร – หลกสตร StuMajor Text / 20 ตวอกษร

– เพศ StuSex Text / 5 ตวอกษร

– E-Mail StuMail Text / 20 ตวอกษร

Page 52: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล

• ก าหนดชนดของขอมล (Data Type) ทจะจดเกบ – ทอย StuAddr Text / 20 ตวอกษร – หมายเลขโทรศพท StuTel Text / 9 ตวอกษร – วนเดอนปเกด StuBirthday Date / 8 ตวอกษร

– อาจารยทปรกษา StuAdvisor Text / 30 ตวอกษร

Page 53: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล

• เมอก าหนดประเภทและขนาดของขอมลแลว พบวา – คณะวทยาการจดการ ม 3 สาขาวชา – อาจารยทปรกษาของนกศกษาสาขาวชาคอมพวเตอรธรกจมนกศกษาในการดแลมากกวา 1 คน

Page 54: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล

• ดงนนฐานขอมลนกศกษาประกอบดวยตาราง – ตาราง Student

• เกบขอมลนกศกษา

– ตาราง Major • เกบขอมลสาขาวชา

– ตาราง Advisor • เกบขอมลอาจารยทปรกษา

Page 55: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล • ตาราง Student

– รหสนกศกษา StuID Text / 8 ตวอกษร – ชอ-นามสกล StuName Text / 30 ตวอกษร – หอ-หอง StuRoom Text / 7 ตวอกษร – หลกสตร MajID Text / 2 ตวอกษร – เพศ StuSex Text / 5 ตวอกษร – ทอย StuAddr Text / 20 ตวอกษร – E-mail StuMail Text / 20 ตวอกษร – หมายเลขโทรศพท StuTel Text / 9 ตวอกษร – วนเดอนปเกด StuBirthday Date / 8 ตวอกษร – อาจารยทปรกษา AdvID Text / 2 ตวอกษร

Page 56: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล • ตาราง Major

– รหสสาขาวชา MajID Text / 2 ตวอกษร – ชอหลสาขาวชา MajName Text / 30 ตวอกษร

• ตาราง Advisor

– รหสอาจารยทปรกษา AdvID Text / 2 ตวอกษร – ชออาจารยทปรกษา AdvName Text / 30 ตวอกษร

Page 57: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล

• พจารณาเลอกฟลดทเหมาะสมเปนคยหลก (PK) – ตาราง Student ก าหนดให StuID เปน PK – ตาราง Major ก าหนดให MajID เปน PK – ตาราง Advisor ก าหนดให AdvID เปน PK

Page 58: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ตวอยางการออกแบบฐานขอมล

• ก าหนดความสมพนธ (Relationship) ระหวางตาราง – ฟลด MajID ตาราง Major กบฟลด MajID ตาราง

Student • ความสมพนธแบบ 1 : M

– ฟลด AdvID ตาราง Advisor กบฟลด AdvID ตาราง Student • ความสมพนธแบบ 1 : M

Page 59: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

• คลกเลอกเมน Tools • เลอกค าสง

Relationships

การก าหนดความสมพนธระหวางตาราง

Page 60: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

การก าหนดความสมพนธระหวางตาราง

• ปรากฏหนาตาง Show Table

Page 61: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

การก าหนดความสมพนธระหวางตาราง

• คลกเลอกชอตารางทตองการ • คลกปม Add

Page 62: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

การก าหนดความสมพนธระหวางตาราง

• ปรากฏหนาตาง Relationship

Page 63: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

การก าหนดความสมพนธระหวางตาราง • การเชอมความสมพนธระหวางตาราง

– คลกเมาสทฟลด MajID ของตาราง Major – คลกเมาสคางไวแลวลากมายงฟลด MajID ของตาราง

Student – ปลอยเมาส

Page 64: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

การก าหนดความสมพนธระหวางตาราง

• ปรากฏหนาตาง Edit Relationship

Page 65: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Enforce Referential Integrity

• การตรวจสอบความถกตองของความสมพนธ – ปรากฏขอความเตอนเมอมการปอนขอมลทผดพลาดหรอไมสอดคลองกนระหวางตารางทเชอมความสมพนธ

• ม 2 ประเภทคอ – Cascade Update Related Fields – Cascade Delete Related Records

Page 66: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Cascade Update Related Fields • กรณทตารางหลกเกบฟลด ID ทเปนคยหลก ( PK) และ

ตารางสมพนธเกบ ID เปนคยนอก ( FK) – MajID ใน Major เปน PK – MajID ใน Student เปน FK

Page 67: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

• หากผใชแกไขขอมลในฟลด ID ในตารางหลก จะสงผลใหคา ID ในตารางสมพนธไมสามารถอางองขอมลในตารางหลกได

• เพราะโปรแกรม MS-Access ไมยอมใหแกไขขอมลใน ID ของตารางหลก

• ดงนนถาเลอกตวเลอก Cascade Update Related Fields แลว หากแกไขขอมลในฟลด ID ของตารางหลก คา ID ของตารางสมพนธกจะเปลยนใหเหมอนกนโดยอตโนมต

Cascade Update Related Fields

Page 68: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

Cascade Delete Related Records

• มลกษณะการท างานคลายคลงกบ Cascade Update Related Fields

• เมอลบระเบยบ (Record) ในตารางหลก ระเบยนในตารางความสมพนธทมความสมพนธกนดวย PK และ FK จะถกลบไปพรอมกน

Page 69: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

การก าหนดความสมพนธระหวางตาราง

• คลกเลอก Enforce Referential Integrity • คลกปม Create

Page 70: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

การก าหนดความสมพนธระหวางตาราง

• ปรากฏหนาตาง Relationship ทแสดงการเชอมความสมพนธระหวางตาราง

Page 71: ฐานข้อมูลเชิงสัมพันธ์ Relational Database...– ค าและ อบเ ต อง อ มล องแอททร บ วเร ย ว

ค าถามทายบท

• 1. โครงสรางขอมลเชงสมพนธประกอบดวยอะไรบาง จงอธบาย • 2. คณสมบตในการจดเกบขอมลของรเลชนมอะไรบาง • 3. รเลชนประกอบดวยคยประเภทตางๆ อะไรบาง จงอธบายพรอม

ยกตวอยางประกอบประเภทคยดงกลาว • 4. Null หมายถงอะไรใน Relational Database • 5. เหตใดจงตองมการน า Integrity rule มาใชในฐานขอมล • 6. ความสมพนธระหวางรเลชนมกประเภท อะไรบาง จงยกตวอยาง

ประกอบ (หามยกตวอยางซ ากบสไลดประกอบการเรยน)