ฐานข้อมูลเชิงสัมพันธ์ relational database

71
ฐฐฐฐฐฐฐฐฐฐฐฐฐ ฐฐฐฐฐฐฐฐฐฐฐฐฐ ฐฐฐฐฐฐฐฐ ฐฐฐฐฐฐฐฐ Relational Relational Database Database 3204-2005 รรรรรรรรรรรรร ร.รรรรรรรรร รรรรรรรรรรรรร รรรรรรรรรรรรรรรรรรรรรรรรร

Upload: shelby-hensley

Post on 15-Mar-2016

101 views

Category:

Documents


2 download

DESCRIPTION

ฐานข้อมูลเชิงสัมพันธ์ Relational Database. 3204-2005 ระบบฐานข้อมูล อ.ภูมิพัฒน์ วนพิพัฒน์พงศ์ สาขาวิชาคอมพิวเตอร์ธุรกิจ. Today Topic. ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูลเชิงสัมพันธ์ การสร้างตาราง การสร้างความสัมพันธ์ระหว่างตาราง. ศัพท์เทคนิค. ศัพท์เทคนิค ศัพท์ทั่วไป - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

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

3204-2005 ระบบฐานขอมล

อ. ภมพฒน วนพพฒนพงศสาขาวชาคอมพวเตอรธรกจ

Page 2: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

Today Topic•ความรเบองตนเกยวกบฐานขอมล

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

ตาราง

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

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

• CardinalityCardinality ของความสมพนธคอ จำานวนแถวในตาราง

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

Page 7: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

A Sample RelationEmployeeNumber

FirstName LastName

100 Mary Abermany700 Jerry Caldera300 Alea Copley40 Murugan Jacksoni• Deegree = • Cardinality =

Attributes

34

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. 1. คยหลก คยหลก (Primary Key)(Primary Key)เปน Attribute ทมคณสมบต

ของขอมลทมคาเปนเอกลกษณ หรอไมมคาซำากน

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

Page 14: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database
Page 15: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

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

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

ใหขอมลในแตละเรคอรดซำาซอนได

Page 16: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

3. 3. คยคแขง คยคแขง ((Candidates Key)Candidates Key) ในแตละ Relation อาจม Attribute ททำาหนาทเปน

คยหลกไดมากกวาหนง Attribute โดยเรยก Attribute เหลานวา คยคแขง คยคแขง (Candidate Key)(Candidate Key)

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

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

ประเภทของคยประเภทของคย

Page 17: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

ประเภทของคยประเภทของคย

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

หลกวา “ คยสำารอง คยสำารอง (Alternate 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. 2. คยนอก คยนอก (Foreign Key)(Foreign Key)คอคยซงประกอบดวยแอทรบวต

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

Page 21: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

2. 2. คยนอก คยนอก (Foreign Key)(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 KeyPrimary Key เพราะจะไมสามารถนำา Primary Key มาใชเขาถงขอมลในแตละแถวได

Page 29: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

ตวอยางตารางทแสดงคา Nullรหสนกศกษา รหสวชา เกรดทได4900222 E1824900123 M117 C4900125 P210 B+4900236 E182 A

Page 30: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

Referential Integrity เปนการอางองขอมลจากความสมพนธอน คาของ Foreign Key ตองมาจากคาของ Primary Key จากตารางทเกยวของเทานน

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

รหสสนคา ชอสนคา จำานวนbk00198 เสอยด 100cd00034 กางเกงขา

ยาง250

รหสพนกงาน รหสสนคา ยอดขายHY001 bk00198 80HY002 cd00034 200

ตารางยอดขาย

ตารางสนคา

Page 31: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

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

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

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

Page 32: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

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

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

Relation ทถกกำาหนดขนเพอเกบขอมลเพอนำาไปใช

โดย Base Relation จะเปน relation ทเกบขอมลอยจรง

Page 33: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database
Page 34: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

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

2. 2. วว วว (View)(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 ตว

อกษร

ตวอกษร ตวเลข หรอเครองหมายตางๆ

ทไมไดใชในการคำานวณMem

oสงสด 6563,

5 ตวอกษร

ตวหนงสอ หรอตวเลขทเปนคำาอธบาย

หรอบกทกทมความยาวมากๆ

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

สงสด 204

8 ตวอกษร

จด 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

– รหสนกศกษา StuIDText 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 8 ตวอกษร– อาจารยทปรกษา AdvID Text 8 2 ตวอกษร

Page 56: ฐานข้อมูลเชิงสัมพันธ์ Relational  Database

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

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

อกษร

•ตาราง Advisor– รหสอาจารยทปรกษา AdvID Text 8 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 . ความสมพนธระหวางรเลชนมกประเภท อะไรบาง จงยก

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