59
Chapter 04 ฐานข้อมูลเช งสัมพันธ์ Relational Database

ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

Page 2: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 3: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

เปนฐานขอมลซงใหภาพของขอมลในระดบภายนอก (External Level) และระดบแนวคด(Conceptual Level) Relations ตางๆ ในฐานขอมลจะประกอบดวย attributes ตางๆ ทถกออกแบบเพอลดความซ าซอนของขอมลและสามารถเรยกใชขอมลไดอยางมประสทธภาพ โดยมระบบจดการฐานขอมลเปนผจดการฐานขอมล (RDBMS) ตามทฐานขอมลไดออกแบบไว

Relation และ Table ทงสองค าสามารถใชรวมกนเพอใชแทน ความหมายเดยวกนไดในเรองของฐานขอมล

Page 4: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

ความเปนมาของ Relational Database

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

Codd สราง Relational Model ขนโดยมทฤษฎเซต ทางคณตศาสตรมารองรบ

สามารถแกไขปญหา Data Redundancy, Data Inconsistency, Data Independence, Security

น าเสนอวธเรยกใชขอมลทงาย ไมจ าเปนตองรเลยวาขอมลถกเกบอยางไร

แนวคดของ Codd ถกน ามาพฒนาเปน DBMS ตวแรกคอ Oracle

Page 5: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

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

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

Page 6: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

2. ผใชไมจ าเปนตองรวาขอมลถกจดเกบจรงอยางไร รวมถงวธการเรยกใชขอมล (Access Approach)

3. การเรยกใชหรอเชอมโยงขอมลสามารถท าไดงาย 4. ภาษาทใชในการเรยกดขอมลเปนลกษณะคลายภาษาองกฤษ และไมจ าเปนตองเขยนเปนล าดบขนตอน เชน ภาษา SQL

Page 7: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

มการใชโครงสรางขอมลในเชงตรรกะเพยงรปแบบเดยวเทานน คอ รเลชน โดยทรเลชนจะถกมองเหนในลกษณะของตาราง (table) ทมคณสมบต ดงน 1. แตละแถวใชแทน Tuple หรอ Record ใน Relation 2. ล าดบของ Tuple ไมส าคญ 3. ล าดบของ Column ไมมความส าคญ 4. ขอมลในแตละ Tuple ตองไมซ ากน

Page 8: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

เปนฐานขอมลทมโครงสรางขอมลแบบ Relational Model คอฐานขอมลจะประกอบดวยตาราง (Relation) ทมความสมพนธกน

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

Page 9: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

Relation เปนตารางสองมต ทประกอบดวย Tuple และ Attribute เพอจดเกบขอมลตาง ๆ รปแบบของ Relation สามารถเขยนแทนดวยสญลกษณดงน

Page 10: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

Attribute หมายถง คณลกษณะเฉพาะของแตละ Entity เปนคอลมนใน Relation จากภาพประกอบดวย 4 Attribute

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

Page 11: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

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

Page 12: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

Domain เซตของคาทเปนไปไดในแอตทรบวตนน แตละโดเมนจะถกก าหนดดวย ชอ, ชนดขอมล(data type) และ รปแบบ (Format) ซงเปนการก าหนดขอบเขตคาขอมลและชนดขอมลของแตละ Attribute ทสามารถเปนไปได จากภาพ Domain ของ SEX คอกลมของเพศทงหมดทเปนไปไดคอ M และ F เทานน

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

Page 13: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

Degree เปนจ านวนของ Attribute (คอลมน) ใน Relation นน คาของดกรมกจะไมมการเปลยนแปลง จากภาพ ประกอบดวย 4 Degree

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

Page 14: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 15: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

จากตาราง STAFF และ DEPARTMENT จะมความสมพนธระหวางกนกลาวคอ ในแตละแผนกจะประกอบดวยพนกงานหลายคน ดงนนความสมพนธระหวาง Relation ทงสองจะม Cardinality เทากบ 1:M

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

Page 16: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 17: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

เปรยบเทยบศพททเกยวของทวไป

ศพทเทคนค ศพททวไป รเลชน(Relation) ตาราง(Table)

ทเพล(Tuple) แถว(Row) หรอ เรคคอรด(Record)

แอททรบวต(Attribute) คอลมน(Column) หรอ ฟลด(Field)

คารดนาลลต(Cardinality) จ านวนแถว(Number of rows)

ดกร(Degree) จ านวนคอลมน(Number of columns)

โดเมน(Domain) ขอบเขตคาของขอมล

Page 18: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

18

ประเภทของ Relation

1. รเลชนหลก (Base Relation) เปนตารางทใชในการเกบขอมลจรงเพอน าขอมลไปใช ถกสรางดวยภาษาส าหรบนยามขอมล(DDL) เชน ภาษา SQL ค าสง Create Table เปนการสราง Relation หลก

2. วว (View) เปนตารางทถกสรางขนตามความตองการของผใชแตละคน โดยท าการววจากรเลชนหลก ชวยใหการรกษาความปลอดภยของฐานขอมลท าไดโดยงาย เพราะฉะนนววจงเปนตารางสมมตหรอตารางทแปลคามา (Virtual Table หรอ Derives Table) จะไมถกจดเกบจรง ๆ ในระบบ

Page 19: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

19

Relation Operators หมายถง Operators ทสามารถด าเนนการหรอใชไดในฐานขอมลเชงสมพนธ การใช Relational Operators จะใหผลลพธทไดเปน Relatioเสมอไมวาจะเปน Operators ทการกระท ากบ 1 หรอ 2 Relation และผลลพธดงกลาวสามารถใชเปนโอเปอแรนดของกจกรรมทจะเกดขนในภายหลงไดอกดวย

Page 20: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

20

Relation Operators

ชนดของ Operator 1. โอเปอเรเตอรในการจดการขอมล (mainpulative operators) ไดแก Insert, Delete, Update

2. โอเปอเรเตอรพนฐาน (basic operators) เปนโอเปอเรเตอรทมาจากพชคณตเชงสมพนธ (Relational algebra) ไดแก Selection, Projection, Join, Division, Union, Intersection, Difference, Cartesian, Product

Page 21: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

Relation Operators

กฎ 12 ขอของ Codd 1. กฎสารสนเทศ (The information rule) : สารสนเทศทงหมดในฐานขอมลตองแสดงอยในรปแบบเดยวเทานน คอ Relation ซงถอวาเปนหลกการพนฐานของแบบจ าลองเชงสมพนธ 2. กฎการรบประกนการเขาถง (The quaranteed access rule) : คาทกคาทถกจดเกบไวในฐานขอมล ตองสามารถอางองไดในทางตรรกะโดยการใช ชอตาราง ชอคอลมน และคาของคยหลก 3. การจดการคา Null อยางเปนระบบ (Systematic treatment of null values) ระบบจดการฐานขอมลตองมการใชคา Null แทน “สารสนเทศทขาดหายไป (missing information) หรอไมมคาสารสนเทศทเหมาะสม (in applicable information)” อยางเปนระบบ

Page 22: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

22

Relation Operators

4. แอคทพออนไลนแคททาลอคทอยบนพนฐานของแบบจ าลองเชงสมพนธ (Active online catalog based on the relational model) ระบบตองสนบสนนRelationแบบOnlineทสามารถเขาถงไดโดยผใชทมสทธผานทางภาษาควร

5. กฎภาษาขอมล (The Comprehensive data sublanguage rule) ระบบตองสนบสนนภาษาทเปน Relation อยางนอย 1 ภาษา ทสามารถใชไดทงแบบโตตอบและผานทางโปรแกรมสนบสนนการนยามขอมลรวมทงการจดการขอมล ความมนคงและเงอนไข Integrity การจดการ Transaction

6. กฎการแกไขวว (The view update rule) ววทกววสามารถเปลยนแปลงแกไขไดทางทฤษฎตองสามารถเปลยนแปลงแกไขโดยระบบ

Page 23: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

23

Relation Operators

7. การแทรก แกไข และลบในระดบสง (High-level insert, update and

delete) ระบบตองสนบสนนการแทรก แกไข และลบขอมลในลกษณะของเซต

8. ความเปนอสระของขอมลเชงกายภาพ (Physical data independence)

การเปลยนแปลงใดๆ ในระดบ Schema ทางกายภาพจะไมมผลกระทบตอ

Schema ทางตรรกะ

9. ความเปนอสระของขอมลเชงตรรกะ (Logical data independence) การ

เปลยนแปลงใดๆ ใน Schema ทางตรรกะจะไมมผลกระทบตอโปรแกรมประยกต

Page 24: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

24

Relation Operators

10. ความเปนอสระของอนทกรต (Integrity independence) เงอนไขของ

Integrity ตองมการก าหนดแยกตางหากจากโปรแกรมประยกต และจดเกบไวใน

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

Integrity โดยไมมผลกระทบตอโปรแกรมประยกตทมอย

11. ความเปนอสระของการกระจาย (Distribution independence) โปรแกรม

ทมอยแลวสามารถท างานตอไปได เมอ Version การกระจายเรมถกท ามาใช

12. กฎการไมมเวอรชนยอย (The nonsubversion rule) ถาระบบอนญาตใหม

การตดตอไดในระดบต าสด คอ ครงละ Record และการตดตอนตองไมถกใชเพอ

เปนทางลดโดยไมผานระบบความมนคงหรอเงอนไข Integrity

Page 25: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

1. Relation ตองมชอก ากบ แตละชอตองแตกตางกน ซ ากนไมได 2. Attribute ของ Relation มไดเพยงคาเดยว (Single Value) 3. ชอใน Attribute ตองแตกตางกน ซ ากนไมได 4. คาของขอมลใน Attribute เปนไปตามขอก าหนดของ Domain ใน

Attribute นน ๆ 5. การเรยงล าดบของ Attribute ไมมความส าคญใดๆ 6. Tuple ตองมความแตกตางกน จะไมม Tuple ทซ ากน 7. การเรยงล าดบของ Tuple ไมมความส าคญใด ๆ

Page 26: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 27: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 28: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 29: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 30: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 31: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

คย (Keys)

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

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

Page 32: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

คย (Keys)

คยหลก (Primary Key: PK) Key ทใชในการอางถง Entity ในฐานขอมล โดยท Key นนจะตองไดมาจาก

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

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

Page 33: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational
Page 34: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

คยรอง (Secondary Key) หมายถง Attribute ทไมใช Primary Key แตสามารถใชในการสบคนขอมล จดเรยงขอมล จาก Relation โดยท Secondary Key ไมจ าเปนตองมคาเปนเอกลกษณ

คย (Keys)

Page 35: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

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

เนองจากหากใชฟลดใดฟลดหนงเปน PK จะสงผลใหขอมลในแตละเรคอรดซ าซอนได

คย (Keys)

Page 36: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

คย (Keys) คยผสม (Composite Key)

Page 37: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

คยคแขง (Candidate Key) หมายถง Attribute ทมคณสมบตทสามารถน ามาเปนคยหลกได ซงสามารถ

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

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

คย (Keys)

Page 38: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

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

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

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

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

คย (Keys)

Page 39: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

ชนเรยน สาขา

คยคแขง Candidate Key

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

คย (Keys)

Page 40: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

คยนอก (Foreign Key) หมายถง Attribute ใน Relation หนงทใชอางองไปยง Attribute ทท าหนาทเปน Primary Key ของอก Relation หนงทมความสมพนธกน

คย (Keys)

Page 41: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

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

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

คย (Keys)

Page 42: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational
Page 43: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

ตวอยาง Key แบบตาง ๆ

Page 44: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

ชอ

นามสกล

อาย

3501552150054

สมชาย

แซตง

25

3210077565107

สมศร

แซอง

42

4110597520235

สมฤทย

แซตง

23

2156800512473

สมปอง

แซแต

16

7812350453784

สมชย

แซเอง

50

Primary Key ?

Page 45: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

ID

ชอ

นามสกล

อาย

เพศ 1

สมชาย

แซตง

25

ชาย 2

สมศร

แซอง

42

หญง 3

สมฤทย

แซตง

23

ชาย 4

สมปอง

แซแต

16

ชาย 5

สมชย

แซเลง

50

ชาย

Primary Key ?

ID เพศ

Page 46: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

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

ตารางยอดขาย

Page 47: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

เพอใหการเลอกขอมลจากฐานขอมลมความถกตองประเภทของเงอนไข

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

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

Page 48: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

Page 49: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

4900222 E182

4900123 M117 C

4900125 P210 B+

4900236 E182 A

Page 50: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

กฎการควบคมความถกตองของขอมล (Data Integrity) ฐานขอมลไมสามารถรไดเองวาขอมลทเกบอยนนสอดคลองกบความเปนจรงหรอไม เราจงตองบอกใหฐานขอมลรดวยสงทเรยกวา กฎการควบคมความถกตองของขอมล หรอ เปนกฎเกณฑทก าหนดขนเพอใชควบคมความถกตองใหกบขอมลในฐานขอมลใดฐานขอมลหนงโดยเฉพาะ

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

เปนตน

Page 51: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

กฎความคงสภาพ (Integrity Rule) หมายถงกฎเกณฑทก าหนดขนมาส าหรบรกษาคณสมบตของความเปนตาราง และความสมพนธระหวางตาราง แบงออกเปน 2 แบบคอ

1. กฎความคงสภาพของ Entity (Entity Integrity Rule) Attribute ใดทจะเปนคยหลก(PK) ขอมลใน Attribute นนจะเปนคาเอกลกษณ

และเปนคาวาง(Null) ไมได

Page 52: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

คาของคยหลก(PK)ได จงจะเชอมโยงหรออางองขอมลระหวาง 2 Relation ได Foreign Key จะตองสามารถอางองใหตรงกบคาของ Primary Key ได จงจะ

อางองขอมลระหวางสอง Relation ได คาของ Foreign Key ตองมาจากคาของ Primary Key จากตารางทเกยวของ

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

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

Page 53: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

Page 54: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

bk00198 เสอยด 100

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

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

HY001 bk00198 80

HY002 cd00034 200

ตารางยอดขาย

ตารางสนคา

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

Page 55: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

การรกษากฎความคงสภาพ แบงออกเปน 3 ประเภทคอ 1. กระท าแบบเปนทอด ๆ (Cascade)

เปนการอนญาตให ลบ หรอแกไขขอมลของ Primary Key ในตารางทถกอางองจากตารางอน ซง DBMS จะอนญาตใหท าการลบ หรอแกไขขอมลนนได แต DBMS จะท าการแกไข หรอลบขอมลในตารางทมความสมพนธทงหมด

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

Page 56: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

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

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

Page 57: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

2. ยอมแบบมเงอนไข (Restricted) การอนญาตให ลบ หรอแกไขขอมลจะท าไดกตอเมอ ขอมลของ Primary Key ใน Relation หนงไมมขอมลทถกอางองในอก Relation หนง

เชน รหสแผนกจะถกแกไขหรอลบไดกตอเมอไมมพนกงานคนใดสงกดแผนกนน

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

Page 58: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

3. เปลยนเปนคาวาง (Nullify) ถาตองการลบ หรอแกไขขอมลของ Primary Key ตว DBMS เปลยนแปลงคา

Foreign Key ของตารางทอางอง ใหกลายเปนคาวาง เชน พนกงานทสงกดแผนกขายจะถกเปลยนคาเปนคาวางกอน หลงจากนน

การลบขอมลของแผนกขายจงจะถกลบหรอแกไข

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

Page 59: ฐานข้อมูลเชิงสัมพันธ์ Relational Databasepumiphat.weebly.com/uploads/2/9/3/6/29364553/db-chapter...ความเป นมาของ Relational

ค าถามทายบท 1. โครงสรางขอมลเชงสมพนธประกอบดวยอะไรบาง จงอธบาย 2. คณสมบตในการจดเกบขอมลของรเลชนมอะไรบาง 3. รเลชนประกอบดวยคยประเภทตางๆ อะไรบาง จงอธบายพรอมยกตวอยางประกอบประเภทคยดงกลาว 4. Null หมายถงอะไรใน Relational Database 5. เหตใดจงตองมการน า Integrity rule มาใชในฐานขอมล 6. ความสมพนธระหวางรเลชนมกประเภท อะไรบาง จงยกตวอยางประกอบ (หามยกตวอยางซ ากบสไลดประกอบการเรยน)