006 - relational database · 2017. 6. 15. · chapter 3 - relational database 2 ฐานข...

Post on 09-Oct-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Relational Database

โอฬารก สรนตะ

Cs-Mis

Chapter 3 - Relational Database 2

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

ฐานขอมลเชงสมพนธเปนรปแบบของฐานขอมลทคดคนโดย อ เอฟ คอดด (E.F. Codd) เมอป 1970

ฐานขอมลเชงสมพนธเปนรปแบบฐานขอมลทเขาใจงายสาหรบผใช ไมซบซอน

เปนรปแบบฐานขอมลทมระบบจดการฐานขอมล (Database Management Systems: DBMS) สนบสนนในการจดการฐานขอมลมากมาย อาทเชน DB2, ORACLE, INFORMIX, Power-Builder, INGRES

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

Chapter 3 - Relational Database 3

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

โมเดลนมวตถประสงคเพอรกษาความเปนอสระของขอมล (Data Independence) และความเปนอสระของโครงสรางขอมลในแตละระดบ (Structural Independence)

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

มคณสมบตทชวยลดความซาซอน ตลอดจนปญหาทเกดจากการปรบปรง เพม ลบขอมล ดวยแนวคดในการทาใหเปนบรรทดฐาน (Normalization) มาใชในการออกแบบ

Chapter 3 - Relational Database 4

โครงสรางฐานขอมลเชงสมพนธ

เปนฐานขอมลทมโครงสรางขอมลแบบ Relational Model คอฐานขอมล

จะประกอบดวยตาราง (Relation) ทมความสมพนธกน

ภาพท 3.1 โครงสรางของตาราง

Chapter 3 - Relational Database 5

โครงสรางฐานขอมลเชงสมพนธ

Relation

เปนตารางสองมต ทประกอบดวย Tuple และ Attribute เพอจดเกบ

ขอมลตาง ๆ รปแบบของ Relation สามารถเขยนแทนดวย

สญลกษณดงน

Chapter 3 - Relational Database 6

โครงสรางฐานขอมลเชงสมพนธ

Attribute

เปนคอลมนใน Relation จากภาพท 5 ประกอบดวย 4 Attribute

Chapter 3 - Relational Database 7

โครงสรางฐานขอมลเชงสมพนธ

Tuple

เปนแถวในแตละ Relation จากภาพท 5 ประกอบดวย 5 Tuple

ประกอบดวยตวอยางขอมลดงน

Chapter 3 - Relational Database 8

โครงสรางฐานขอมลเชงสมพนธ

Domain

เปนการกาหนดขอบเขตคาขอมลและชนดขอมลของแตละ Attribute ทสามารถ

เปนไปได จากภาพท 5 Domain ของ SEX คอกลมของเพศทงหมดทเปนไปได

คอ M และ F เทานน

Chapter 3 - Relational Database 9

โครงสรางฐานขอมลเชงสมพนธ

Degree

เปนจานวนของ Attribute ใน Relation คาของดกรมกจะไมมการ

เปลยนแปลง จากภาพท 3.1 ประกอบดวย 4 Degree

Chapter 3 - Relational Database 10

โครงสรางฐานขอมลเชงสมพนธ

Cardinality

เปนจานวน Tuple ทบรรจอยใน Relation และมความสมพนธใน Tuple ของอก

Relation หนง

Chapter 3 - Relational Database 11

โครงสรางฐานขอมลเชงสมพนธ

จากตาราง STAFF และ DEPARTMENT จะมความสมพนธระหวางกน

กลาวคอ ในแตละแผนกจะประกอบดวยพนกงานหลายคน ดงนน

ความสมพนธระหวาง Relation ทงสองจะม Cardinality เทากบ 1:M

Chapter 3 - Relational Database 12

โครงสรางฐานขอมลเชงสมพนธ

ศพททางเทคนคในฐานขอมลจะมชอเรยกทแตกตางกน แตมความหมายเดยวกน ดงน

Chapter 3 - Relational Database 13

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

1. เปนโมเดลทสอดคลองกบหลกการของฐานขอมล คอผใชไมตองยงเกยว

ในเรองของโครงสรางทางกายภาพในระดบภายใน (Internal Level)

เพราะตารางเปนขอมลในระดบความคด

2. สามารถใชแบบสอบถาม (Query) ในลกษณะของการประมวลผลหลาย

รายการขอมล (Record) ไดในครงเดยว

3. ใชภาษาแบบสอบถามทเปนมาตรฐานคอ SQL (Structured Query

Language)

Chapter 3 - Relational Database 14

คณสมบตของ Relation (Properties of Relations)

1. Relation ตองมชอกากบ แตละชอตองแตกตางกน ซากนไมได

2. Attribute ของ Relation มไดเพยงคาเดยว (Single Value)

3. ชอใน Attribute ตองแตกตางกน ซากนไมได

4. คาของขอมลใน Attribute เปนไปตามขอกาหนดของ Domain ใน

Attribute นน ๆ

5. การเรยงลาดบของ Attribute ไมมความสาคญใดๆ

6. Tuple ตองมความแตกตางกน จะไมม Tuple ทซากน

7. การเรยงลาดบของ Tuple ไมมความสาคญใด ๆ

Chapter 3 - Relational Database 15

คย (Keys)

เมอฐานขอมลมขนาดใหญกจะมขอมลจานวนมากขน ขอมลเหลานอาจม

คาแตกตางกน คลายกน หรอแมกระทงเหมอนกน ทาใหการแยกแยะ

โดยอาศยเพยงตวขอมลอยางเดยวทาไดอยางยากลาบาก

ดงนนจงมการกาหนดคา Keys ประจาขอมลเพอทาใหการแยกแยะ

ขอมลในฐานขอมลเปนไปอยางถกตอง

คณสมบตหนงทสาคญของความสมพนธกคอ ความเปนเอกลกษณ

(Uniqueness property) สงทใชกาหนดความเปนเอกลกษณของแถวใน

ความสมพนธ เรยกวา Keys

Chapter 3 - Relational Database 16

คย (Keys)

คยหลก (Primary Key: PK)

Key ทใชในการอางถง Entity ในฐานขอมล โดยท Key นนจะตองไดมาจาก Attribute ทม

คณสมบตของขอมลทเปนคาเอกลกษณ (Unique) หรอมคาทไมซาซอนกน

Primary Key เปนขอมลสาคญทจะทาใหการเขาถงขอมลบนฐานขอมลเปนไปไดอยางรวดเรว

ดงนนผใชจงควรกาหนด Primary Key ใหชดเจนตงแตขนตอนออกแบบฐานขอมล

Chapter 3 - Relational Database 17

คย (Keys)

คยผสม (Composite Key)

ใน Relation อาจประกอบดวย Attribute ทมคณสมบตเปน Primary Key ไดมากกวา 1

Attribute ดงนนเมอนา Attribute มารวมกน จะทาให Attribute นนมคณสมบตทเปนเอกลกษณ

Chapter 3 - Relational Database 18

คย (Keys)

คยรอง (Secondary Key)

หมายถง Attribute ทไมใช Primary Key แตสามารถใชในการสบคนขอมล

จดเรยงขอมล จาก Relation โดยท Secondary Key ไมจาเปนตองมคาเปน

เอกลกษณ

Chapter 3 - Relational Database 19

คย (Keys)

คยคแขง (Candidate Key)

หมายถง Attribute ทมคณสมบตทสามารถนามาเปนคยหลกได ซงสามารถประกอบดวย

Attribute เดยว หรอมากกวา 1 Attribute กได

แตถาประกอบดวย Attribute มากกวา 1 Attribute จะเรยกวา Composite Key ดงนนจงไม

อนญาตใหสวนประกอบของ Key เปนคาวางได (Null Value)

Chapter 3 - Relational Database 20

คย (Keys)

คยนอก (Foreign Key)

หมายถง Attribute ใน Relation หนงทใชอางองไปยง Attribute ททาหนาทเปน Primary Key

ของอก Relation หนงทมความสมพนธกน

Chapter 3 - Relational Database 21

ภาพท 3.3 ตวอยาง Key แบบตาง ๆ

Chapter 3 - Relational Database 22

ความสมพนธระหวาง Entity (Entity Relationship)

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

แสดงความสมพนธของรายการขอมลในตารางหนง กบรายการขอมลใน

อกตารางหนง

รปแบบความสมพนธระหวาง Entity แบงออกเปน 3 รปแบบ

Chapter 3 - Relational Database 23

ความสมพนธระหวาง Entity (Entity Relationship)

ความสมพนธแบบหนงตอหนง (1:1)

ลกษณะความสมพนธทมเพยง 1 Tuple ใน Entity A มความสมพนธ หรออางองกบ Tuple

เพยง 1 Tuple ใน Entity B และในทางกลบกน มเพยง 1 Tuple ใน Entity B มความสนพนธ

กบ Tuple เพยง 1 Tuple ใน Entity A

Chapter 3 - Relational Database 24

ความสมพนธระหวาง Entity (Entity Relationship)

ภาพท 3.4 ความสมพนธแบบ 1:1

Chapter 3 - Relational Database 25

ความสมพนธระหวาง Entity (Entity Relationship)

ความสมพนธแบบหนงตอกลม (1:M)

ลกษณะความสมพนธท 1 Tuple ใน Entity A มความสมพนธ หรออางองกบ Tuple ใน Entity

B ไดมากกวา 1 Tuple และในทางกลบกน มเพยง 1 Tuple ใน Entity B มความสนพนธกบ

Tuple เพยง 1 Tuple ใน Entity A

Chapter 3 - Relational Database 26

ความสมพนธระหวาง Entity (Entity Relationship)

ภาพท 3.5 ความสมพนธแบบ 1:M

Chapter 3 - Relational Database 27

ความสมพนธระหวาง Entity (Entity Relationship)

ความสมพนธแบบกลมตอกลม (M:N)

ลกษณะความสมพนธท 1 Tuple ใน Entity A มความสมพนธ หรออางองกบ

Tuple ใน Entity B ไดมากกวา 1 Tuple และในทางกลบกน 1 Tuple ใน Entity

B มความสนพนธกบ Tuple มากกวา 1 Tuple ใน Entity A

Chapter 3 - Relational Database 28

Chapter 3 - Relational Database 29

ความสมพนธระหวาง Entity (Entity Relationship)

ภาพท 3.6 ความสมพนธแบบ M:N

Chapter 3 - Relational Database 30

กฎความคงสภาพ (Integrity Rule)

หมายถงกฎเกณฑทกาหนดขนมาสาหรบรกษาคณสมบตของความเปน

ตาราง และความสมพนธระหวางตาราง

แบงออกเปน 2 แบบคอ

กฎความคงสภาพของ Entity (Entity Integrity Rule)

กฎความคงภาพของการอางอง (Referential Integrity Rule)

Chapter 3 - Relational Database 31

กฎความคงสภาพ (Integrity Rule)

กฎความคงสภาพของ Entity (Entity Integrity Rule)

ใชสาหรบรกษาคณสมบตของความเปน Relation นนคอ Attribute ทเปน

Primary Key จะตองมคาทมความเปนเอกลกษณ และเปนคาวางไมได หมายถง

Primary Key จะไมมคาไมได

Chapter 3 - Relational Database 32

กฎความคงสภาพ (Integrity Rule)

กฎความคงภาพของการอางอง (Referential Integrity Rule)

ใชสาหรบรกษาความสมพนธระหวาง Relation

นนคอ ถา R1 เปน Relation ทม Foreign Key ทอางองถง Primary Key ใน

Relation R2 คาของ Foreign Key ใน R1 จะตองมคาเทากบ Primary Key ของ

Tuple ใด Tuple หนงใน R2

หมายถงคาของ Foreign Key จะตองสามารถอางองใหตรงกบคาของ Primary

Key ได จงจะอางองขอมลระหวางสอง Relation ได

Chapter 3 - Relational Database 33

กฎความคงสภาพ (Integrity Rule)

Chapter 3 - Relational Database 34

การรกษากฎความคงสภาพ

แบงออกเปน 3 ประเภทคอ

กระทาแบบเปนทอด ๆ (Cascade)

ยอมแบบมเงอนไข (Restricted)

เปลยนเปนคาวาง (Nullify)

Chapter 3 - Relational Database 35

การรกษากฎความคงสภาพ

กระทาแบบเปนทอด ๆ (Cascade)

เปนการอนญาตให ลบ หรอแกไขขอมลของ Primary Key ในตารางทถกอางองจากตารางอน

ซง DBMS จะอนญาตใหทาการลบ หรอแกไขขอมลนนได แต DBMS จะทาการแกไข หรอลบ

ขอมลในตารางทมความสมพนธทงหมด

Chapter 3 - Relational Database 36

การรกษากฎความคงสภาพ

ยอมแบบมเงอนไข (Restricted)

การอนญาตให ลบ หรอแกไขขอมลจะทาไดกตอเมอ ขอมลของ Primary Key ใน Relation

หนงไมมขอมลทถกอางองในอก Relation หนง

Chapter 3 - Relational Database 37

การรกษากฎความคงสภาพ

เปลยนเปนคาวาง (Nullify)

ถาตองการลบ หรอแกไขขอมลของ Primary Key ตว DBMS เปลยนแปลงคา Foreign Key

ของตารางทอางอง ใหกลายเปนคาวาง

top related