Top Banner
ฐฐฐฐฐฐฐฐฐฐฐฐฐ ฐฐฐฐฐฐฐฐ Relation Data Model
34

ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Dec 31, 2015

Download

Documents

kalia-houston

ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model. เนื้อหา. Key Rule Algebra Rule Constraints Cartesian Rule. Key Rule. แนวคิดเรื่องโมเดลเชิงสัมพันธ์ คีย์ พื้นฐาน Relational Algebra. Key Rule. แนวคิดเรื่องโมเดลเชิงสัมพันธ์ ความสัมพันธ์ของฐานข้อมูลจะอยู่ในรูปแบบของตาราง - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

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

Relation Data Model

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

เน��อหาKey RuleKey RuleAlgebra RuleAlgebra RuleConstraintsConstraintsCartesian RuleCartesian Rule

Page 3: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Key Ruleแนวคิ�ดเรื่��องโมูเดลเชิ�งแนวคิ�ดเรื่��องโมูเดลเชิ�ง

สั�มูพั�นธ์�สั�มูพั�นธ์�คิ�ย์�คิ�ย์�พั��นฐาน พั��นฐาน Relational Relational AlgebraAlgebra

Page 4: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Key Rule แนวคิ�ดเรื่องโมเดลเชิ�งสั�มพั�นธ์�แนวคิ�ดเรื่องโมเดลเชิ�งสั�มพั�นธ์�

คิวามสั�มพั�นธ์�ของฐานข�อม�ลจะอยู่��ในรื่�ปแบบของตารื่างคิวามสั�มพั�นธ์�ของฐานข�อม�ลจะอยู่��ในรื่�ปแบบของตารื่าง ชิอของตารื่างคิอ ชิอของคิวามสั�มพั�นธ์�ชิอของตารื่างคิอ ชิอของคิวามสั�มพั�นธ์� แต�ละคิอล�มน�ของตารื่างคิวามสั�มพั�นธ์� เรื่$ยู่กว�า แอททรื่�แต�ละคิอล�มน�ของตารื่างคิวามสั�มพั�นธ์� เรื่$ยู่กว�า แอททรื่�

บ�วบ�ว (attribute) (attribute) ของคิวามสั�มพั�นธ์�ของคิวามสั�มพั�นธ์� คิ�าและขอบเขตของข�อม�ลของแอททรื่�บ�วเรื่$ยู่กว�า โดเมน คิ�าและขอบเขตของข�อม�ลของแอททรื่�บ�วเรื่$ยู่กว�า โดเมน

(Domain)(Domain) แต�ละแถวของตารื่างคิวามสั�มพั�นธ์� เรื่$ยู่กว�า แถว หรื่อ ท�แต�ละแถวของตารื่างคิวามสั�มพั�นธ์� เรื่$ยู่กว�า แถว หรื่อ ท�

เพั�ลเพั�ล (tuple) (tuple) ของคิวามสั�มพั�นธ์�ของคิวามสั�มพั�นธ์�

Page 5: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Key Rule

คิ ณสัมูบั�ติ�ข้องคิวามูสั�มูพั�นธ์�คิ ณสัมูบั�ติ�ข้องคิวามูสั�มูพั�นธ์�ล)าด�บของแถวและคิอล�มน�ไม�ท)าให�ข�อม�ลล)าด�บของแถวและคิอล�มน�ไม�ท)าให�ข�อม�ล

เปล$ยู่นไปเปล$ยู่นไปจะไม�ม$สัองแถวท$ซ้ำ),าก�นจะไม�ม$สัองแถวท$ซ้ำ),าก�นแอททรื่�บ�วต�ท-กต�วจะเป.น แอททรื่�บ�วต�ท-กต�วจะเป.น atomic atomic เท�าน�,นเท�าน�,นด$กรื่$ของคิวามสั�มพั�นธ์� คิอ จ)านวนแอททรื่�ด$กรื่$ของคิวามสั�มพั�นธ์� คิอ จ)านวนแอททรื่�

บ�วต�ท$ม$ในคิวามสั�มพั�นธ์�น�,นบ�วต�ท$ม$ในคิวามสั�มพั�นธ์�น�,น

Page 6: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Key Rule

คิ�ย์�คิ�ย์� คิ$ยู่� คิอ สั�งท$ใชิ�ในการื่ก)าหนดคิวามเป.น คิ$ยู่� คิอ สั�งท$ใชิ�ในการื่ก)าหนดคิวามเป.น

เอกล�กษณ์�ของแถวในคิวามสั�มพั�นธ์� เอกล�กษณ์�ของแถวในคิวามสั�มพั�นธ์� ท)าให�การื่เข�าถ1งข�อม�ลบนฐานข�อม�ลเป.นไปได�ท)าให�การื่เข�าถ1งข�อม�ลบนฐานข�อม�ลเป.นไปได�

อยู่�างรื่วดเรื่2วอยู่�างรื่วดเรื่2ว ท)าให�สัามารื่ถแยู่กแยู่ะข�อม�ลในฐานข�อม�ลให�เป.นท)าให�สัามารื่ถแยู่กแยู่ะข�อม�ลในฐานข�อม�ลให�เป.น

ไปอยู่�างถ�กต�องไปอยู่�างถ�กต�อง

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

Key Rule

ปรื่ะเภทข้องคิ�ย์�ปรื่ะเภทข้องคิ�ย์� คิ$ยู่�หล�ก คิ$ยู่�หล�ก (Primary Key) (Primary Key) คิอ คิอ คิ$ยู่�ท$ใชิ�ในการื่อ�างถ1ง คิ$ยู่�ท$ใชิ�ในการื่อ�างถ1ง Entity Entity

ในฐานข�อม�ลและในฐานข�อม�ลและไม�ม$โอกาสัไม�ม$โอกาสัซ้ำ),าซ้ำ),าซ้ำ�อนก�นบนฐานข�อม�ลน�,นซ้ำ�อนก�นบนฐานข�อม�ลน�,น คิ$ยู่�รื่อง คิ$ยู่�รื่อง (Secondary Key)(Secondary Key) คิอคิอ คิ$ยู่�เด$ยู่วหรื่อคิ$ยู่�ผสัม เมอ คิ$ยู่�เด$ยู่วหรื่อคิ$ยู่�ผสัม เมอ

ใชิ�ในการื่คิ�นหาข�อม�ลของคิวามสั�มพั�นธ์�จะได�มากกว�าหน1งใชิ�ในการื่คิ�นหาข�อม�ลของคิวามสั�มพั�นธ์�จะได�มากกว�าหน1งเรื่คิคิอรื่�ดเรื่คิคิอรื่�ด

คิ$ยู่�นอก คิ$ยู่�นอก (Foreign Key)(Foreign Key) คิอ คิอ คิ$ยู่�เด$ยู่วหรื่อคิ$ยู่�ผสัม ซ้ำ1งเป.นคิ$ยู่�เด$ยู่วหรื่อคิ$ยู่�ผสัม ซ้ำ1งเป.นคิ$ยู่�ท� วไปของคิวามสั�มพั�นธ์�หน1ง แต�เป.นคิ$ยู่�หล�กของอ$กคิวามคิ$ยู่�ท�วไปของคิวามสั�มพั�นธ์�หน1ง แต�เป.นคิ$ยู่�หล�กของอ$กคิวามสั�มพั�นธ์�หน1ง เป.นต�วท$ใชิ�ในการื่เชิอมต�อรื่ะหว�างคิวามสั�มพั�นธ์�สั�มพั�นธ์�หน1ง เป.นต�วท$ใชิ�ในการื่เชิอมต�อรื่ะหว�างคิวามสั�มพั�นธ์�

Page 8: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Key Rule

ซ้ำ-ปเปอรื่�คิ$ยู่� ซ้ำ-ปเปอรื่�คิ$ยู่� (Super key) (Super key) คิอ กล-�มของแอทคิอ กล-�มของแอททรื่�บ�วต�ท$สัามารื่ถน)าไปคิ�นหาข�อม�ลท$เป.นทรื่�บ�วต�ท$สัามารื่ถน)าไปคิ�นหาข�อม�ลท$เป.นเอกล�กษณ์�ได�เอกล�กษณ์�ได�

คิ$ยู่�แข�งข�น คิ$ยู่�แข�งข�น (Candidate key) (Candidate key) คิอ ซ้ำ-ปเปอรื่�คิอ ซ้ำ-ปเปอรื่�คิ$ยู่�และไม�ม$กล-�มยู่�อยู่ของคิ$ยู่�ใดในคิ$ยู่�แข�งข�นท$คิ$ยู่�และไม�ม$กล-�มยู่�อยู่ของคิ$ยู่�ใดในคิ$ยู่�แข�งข�นท$สัามารื่ถเป.นซ้ำ-ปเปอรื่�คิ$ยู่�ได�สัามารื่ถเป.นซ้ำ-ปเปอรื่�คิ$ยู่�ได�

Page 9: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Key Rule

โคิรื่งสัรื่�างของ Keyโคิรื่งสัรื่�างของ Key

Page 10: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

ติ�วอย์(าง

จากตารื่างข�างบน : จงบอกปรื่ะเภทของคิ$ยู่�จากตารื่างข�างบน : จงบอกปรื่ะเภทของคิ$ยู่�

Page 11: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule

พั,นฐาน พั,นฐาน Relational AlgebraRelational AlgebraRelational Algebra Relational Algebra

Operations Operations ข�,นพั,นฐานข�,นพั,นฐานRelational CalculusRelational Calculus

Page 12: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule

พั,นฐาน พั,นฐาน Relational AlgebraRelational Algebra Relational Algebra Relational Algebra เรื่$ยู่กอ$กอยู่�างว�า เรื่$ยู่กอ$กอยู่�างว�า

Relational query languageRelational query language ใชิ�ในการื่จ�ดการื่ข�อม�ลโดยู่การื่รื่ะบ-ต�วกรื่ะท)า ใชิ�ในการื่จ�ดการื่ข�อม�ลโดยู่การื่รื่ะบ-ต�วกรื่ะท)า

ก�บคิวามสั�มพั�นธ์�ท$ต�องการื่จ�ดการื่ ผลล�พัธ์�ท$ก�บคิวามสั�มพั�นธ์�ท$ต�องการื่จ�ดการื่ ผลล�พัธ์�ท$ได�คิอคิวามสั�มพั�นธ์�ใหม�ได�คิอคิวามสั�มพั�นธ์�ใหม�

Page 13: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Ruleปรื่ะเภทการื่ใชิ�งานของต�วกรื่ะท)าก�บคิวามสั�มพั�นธ์� ปรื่ะเภทการื่ใชิ�งานของต�วกรื่ะท)าก�บคิวามสั�มพั�นธ์� 1. 1. การื่ใชิ�งานข�,นพั,นฐานการื่ใชิ�งานข�,นพั,นฐาน

Selection Selection เลอกแถวจากคิวามสั�มพั�นธ์�เลอกแถวจากคิวามสั�มพั�นธ์� Projection Projection เลอกเฉพัาะคิอล�มน�ท$ต�องการื่จากคิวามเลอกเฉพัาะคิอล�มน�ท$ต�องการื่จากคิวาม

สั�มพั�นธ์�สั�มพั�นธ์� Cross Product Cross Product สัามารื่ถรื่วมคิวามสั�มพั�นธ์�ได�สัามารื่ถรื่วมคิวามสั�มพั�นธ์�ได� Set DifferenceSet Difference หาคิวามแตกต�างรื่ะหว�าง หาคิวามแตกต�างรื่ะหว�าง 2 2 คิวามคิวาม

สั�มพั�นธ์�สั�มพั�นธ์� UnionUnion เชิอม เชิอม 2 2 คิวามสั�มพั�นธ์�เข�าด�วยู่ก�นคิวามสั�มพั�นธ์�เข�าด�วยู่ก�น

Page 14: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule Selection (Selection (σσ) )

การื่รื่ะบ-เงอนไขสัามารื่ถท)าไดการื่รื่ะบ-เงอนไขสัามารื่ถท)าได โดยู่ ใชิ โดยู่ ใชิเคิรื่องหมายู่ในการื่เปรื่$ยู่บเท$ยู่บและเคิรื่องหมายู่ในการื่เปรื่$ยู่บเท$ยู่บและต�วกรื่ะท)าทางตรื่รื่กะรื่ต�วกรื่ะท)าทางตรื่รื่กะรื่วมก�นไดวมก�นได

= (= (เทเทาก�บาก�บ), ), ≠≠ ( (ไมไมเทเทาก�บาก�บ), < (), < (นนอยู่กวอยู่กวาา), ), ≤≤ ( (นนอยู่กวอยู่กวาหรื่อเทาหรื่อเทาก�บาก�บ), > (), > (มากกวมากกวาา), > (), > (มากกวมากกวาาหรื่อเทหรื่อเทาก�บาก�บ))

- - ต�วกรื่ะท)าทางตรื่รื่กะ ได ต�วกรื่ะท)าทางตรื่รื่กะ ไดแกแก (and) , (or) (and) , (or) และ และ (not)(not)

ต�วอยู่�างต�วอยู่�าง σσ heightheight > 178 > 178 Player Player

SELECT name, position, age, height, weightSELECT name, position, age, height, weight

FROM PlayerFROM Player

WHERE height > 178WHERE height > 178NameName PositionPosition AgeAge HeightHeight weightweight

สั-เมธ์สั-เมธ์ กองหน�ากองหน�า 2828 180180 8080

Page 15: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule Projection operator Projection operator (¶ (¶))

การื่เลอกเฉพัาะบางคิอล�มน�ของคิวามการื่เลอกเฉพัาะบางคิอล�มน�ของคิวามสั�มพั�นธ์�ท$สันใจข1,นมาแสัดง เข$ยู่นในรื่�ปแบบสั�มพั�นธ์�ท$สันใจข1,นมาแสัดง เข$ยู่นในรื่�ปแบบของ ของ ¶¶ attributesattributes r r

ต�วอยู่�าง ต�วอยู่�าง ¶¶ weight, height weight, height Player Player

SELECTSELECT weight, height weight, height

FROMFROM Player Player

WeightWeight HeightHeight

8080 178178

6565 170170

7171 169169

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

Algebra Ruleการื่ใชิ� การื่ใชิ� Selection (Selection (σσ)) รื่�วมก�บ รื่�วมก�บ

Projection operator Projection operator (¶ (¶))ต�วอยู่�างต�วอยู่�าง ¶¶ name, position name, position ( (σσ height > 178 height > 178 PlayerPlayer))

SELECTSELECT name, position name, position

FROMFROM Player Player

WHEREWHERE height > 178 height > 178

NameName PositionPosition

สั-เมธ์สั-เมธ์ กองหน�ากองหน�า

ก�องเก$ยู่รื่ต�ก�องเก$ยู่รื่ต� กองกลางกองกลาง

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

Algebra Rule

Union Union ((⋃⋃)) เชิอม เชิอม 2 2 คิวามสั�มพั�นธ์�เข�าด�วยู่ก�นคิวามสั�มพั�นธ์�เข�าด�วยู่ก�น ต�วอยู่�าง ต�วอยู่�าง Player 2000 Player 2000 ⋃ ⋃ Player Player 20012001

SELECTSELECT name, position, age, height, weight name, position, age, height, weight

FROM FROMPlayer2000Player2000

UNIONUNION

SELECTSELECT name, position,age, height, weight name, position,age, height, weight

FROM FROM2001Player2001Player

NameName PositionPosition AgAgee

WeighWeightt

HeightHeight

สั-เมธ์สั-เมธ์ กองหน�ากองหน�า 2626 7070 175175

ผลด$ผลด$ ป6กซ้ำ�ายู่ป6กซ้ำ�ายู่ 2121 6969 168168

ก�องก�องเก$ยู่รื่ต�เก$ยู่รื่ต�

กองกลางกองกลาง 2424 7575 180180

พั�เชิษฐ�พั�เชิษฐ� ป6กซ้ำ�ายู่ป6กซ้ำ�ายู่ 2222 7171 169169

ชิาต�ชิายู่ชิาต�ชิายู่ กองหล�งกองหล�ง 2929 8080 185185

Page 18: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule

Difference Difference (-) (-) คิคิวามสั�มพั�นธ์�ท$ม$คิวามแตกต�างวามสั�มพั�นธ์�ท$ม$คิวามแตกต�างติ�วอย์(าง ติ�วอย์(าง Player2000 − Player2001 Player2000 − Player2001 ((อยู่��ใน อยู่��ใน player player

2000 2000 แต�ไม�อยู่��ใน แต�ไม�อยู่��ใน 20012001))

SELECTSELECT name, position, age, name, position, age, height, weight height, weight

FROMFROM 2000Player 2000Player

MINUSMINUS

SELECTSELECT name, position, age, height, weight name, position, age, height, weight FROMFROM 2001Player 2001Player

NameName PositionPosition AgAgee

WeighWeightt

HeightHeight

ผลด$ผลด$ ป6กซ้ำ�ายู่ป6กซ้ำ�ายู่ 2121 6969 168168

ก�องก�องเก$ยู่รื่ต�เก$ยู่รื่ต�

กองกลางกองกลาง 2424 7575 180180

Page 19: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

NameName PositionPosition AgAgee

WeigWeightht

HeightHeight

สั-เมธ์สั-เมธ์ กองหน�ากองหน�า 2626 7070 175175

ผลด$ผลด$ ป6กซ้ำ�ายู่ป6กซ้ำ�ายู่ 2121 6969 168168

ก�องก�องเก$ยู่รื่ต�เก$ยู่รื่ต�

กองกลางกองกลาง 2424 7575 180180

NameName PositionPosition AgeAge WeightWeight HeightHeight

สั-เมธ์สั-เมธ์ กองหน�ากองหน�า 2626 7070 175175

พั�เชิษฐ�พั�เชิษฐ� ป6กซ้ำ�ายู่ป6กซ้ำ�ายู่ 2222 7171 169169

ชิาต�ชิายู่ชิาต�ชิายู่ กองหล�งกองหล�ง 2929 8080 185185

Player 2000Player 2000

Player 2001Player 2001

ติ�วอย์(าง

Page 20: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule

2. 2. การื่ใชิ�งานข�,นสั�งการื่ใชิ�งานข�,นสั�งIntersection Intersection การื่เลอกสั�งท$ซ้ำ),าการื่เลอกสั�งท$ซ้ำ),าJoin Join การื่รื่วมตารื่างการื่รื่วมตารื่าง

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

Algebra Rule IntersectionIntersection (∩) (∩) คิวามสั�มพั�นธ์�ท$เก�ดจากแถวท$คิวามสั�มพั�นธ์�ท$เก�ดจากแถวท$

ซ้ำ),าก�นซ้ำ),าก�น ต�วอยู่�าง ต�วอยู่�าง Player2000 Player2000 ∩∩ Player2001 Player2001

SELECTSELECT name, position, age, height, weight name, position, age, height, weight

FROMFROM Player2000 Player2000

INTERSECTINTERSECT

SELECTSELECT name, position, age, height, weight name, position, age, height, weight

NameName PositionPosition AgeAge WeightWeight HeightHeight

สั-เมธ์สั-เมธ์ กองหน�ากองหน�า 2626 7070 175175

Page 22: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule

ปรื่ะเภทการื่กรื่ะท)าก�บคิวามสั�มพั�นธ์� ม$ ปรื่ะเภทการื่กรื่ะท)าก�บคิวามสั�มพั�นธ์� ม$ 2 2 รื่�ปแบบ คิอรื่�ปแบบ คิอ Unary Operators Unary Operators คิอ ต�วกรื่ะท)าท$ต�องการื่เพั$ยู่งคิอ ต�วกรื่ะท)าท$ต�องการื่เพั$ยู่ง

คิวามสั�มพั�นธ์�เด$ยู่ว เชิ�น คิวามสั�มพั�นธ์�เด$ยู่ว เชิ�น select, project (select, project (เลอกเลอกจากตารื่างเด$ยู่วจากตารื่างเด$ยู่ว))

Binary Operators Binary Operators คิอ ต�วกรื่ะท)าท$ต�องการื่ คิอ ต�วกรื่ะท)าท$ต�องการื่ 2 2คิวามสั�มพั�นธ์� เชิ�น คิวามสั�มพั�นธ์� เชิ�น union, intersection, union, intersection, difference difference และ และ Cartesian productCartesian product ( (เลอกเลอกต�,งแต�ต�,งแต� 2 2 ตารื่างตารื่าง))

Page 23: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule Relational Algebra Operations Relational Algebra Operations ข�,นพั,นฐาน ข�,นพั,นฐาน

ได�แก�ได�แก� Selection operator Selection operator คิอ การื่เลอกข�อม�ลคิวามสั�มพั�นธ์�คิอ การื่เลอกข�อม�ลคิวามสั�มพั�นธ์�

จากเงอนไขท$ก)าหนด เท$ยู่บได�ก�บ จากเงอนไขท$ก)าหนด เท$ยู่บได�ก�บ SELECT...FROM...WHERE SELECT...FROM...WHERE ในคิ)าสั�ง ในคิ)าสั�ง SQLSQL

Projection Operator Projection Operator คิอ การื่เลอกเฉพัาะบางคิอล�มน�คิอ การื่เลอกเฉพัาะบางคิอล�มน�ของคิวามสั�มพั�นธ์�ข1,นมาแสัดง ของคิวามสั�มพั�นธ์�ข1,นมาแสัดง

Union Union คิวามสั�มพั�นธ์�ท$จะน)ามาท)า คิวามสั�มพั�นธ์�ท$จะน)ามาท)า Union Union ก�นได� ก2ต�อเมอรื่�ปก�นได� ก2ต�อเมอรื่�ปแบบของคิวามสั�มพั�นธ์�เหมอนก�น เท$ยู่บได�ก�บ แบบของคิวามสั�มพั�นธ์�เหมอนก�น เท$ยู่บได�ก�บ SELECT…SELECT…FROM…WHERE…UNION SELECT…FROM…FROM…WHERE…UNION SELECT…FROM…WHERE…WHERE…

Page 24: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule Difference Difference คิอ คิวามสั�มพั�นธ์�ท$ม$คิวามแตกคิอ คิวามสั�มพั�นธ์�ท$ม$คิวามแตก

ต�างก�น โดยู่ม$ รื่�ปแบบคิวามสั�มพั�นธ์�ท$เหมอนต�างก�น โดยู่ม$ รื่�ปแบบคิวามสั�มพั�นธ์�ท$เหมอนก�น เท$ยู่บได�ก�บ ก�น เท$ยู่บได�ก�บ SELECT…FROM…SELECT…FROM…WHERE…MINUS SELECT…FROM…WHERE…MINUS SELECT…FROM…WHEREWHERE

Intersection Intersection คิอ คิวามสั�มพั�นธ์�ท$เก�ดจากคิอ คิวามสั�มพั�นธ์�ท$เก�ดจากแถวท$ซ้ำ),าก�น เท$ยู่บได�ก�บ แถวท$ซ้ำ),าก�น เท$ยู่บได�ก�บ SELECT…SELECT…FROM…WHERE…INTERSECTION FROM…WHERE…INTERSECTION SELECT…FROM…WHERESELECT…FROM…WHERE

Page 25: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Algebra Rule Relational CalculusRelational Calculus

เป.นการื่ใชิ�คิณ์�ตศาสัตรื่�ของตรื่รื่กะเข�ามาชิ�วยู่ในการื่เป.นการื่ใชิ�คิณ์�ตศาสัตรื่�ของตรื่รื่กะเข�ามาชิ�วยู่ในการื่คิ�นหาข�อม�ลคิ�นหาข�อม�ล

คิ)าตอบท$ได�คิอแถวของข�อม�ลจากคิวามสั�มพั�นธ์�ท$ท)าให�คิ)าตอบท$ได�คิอแถวของข�อม�ลจากคิวามสั�มพั�นธ์�ท$ท)าให�คิ�าของสัมการื่คิณ์�ตศาสัตรื่�ม$คิ�าเป.น คิ�าของสัมการื่คิณ์�ตศาสัตรื่�ม$คิ�าเป.น จรื่�งจรื่�ง

Page 26: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Constraints คิอ ข�อบ�งคิ�บหรื่อเงอนไขในการื่อน-ญาตให�เก2บคิอ ข�อบ�งคิ�บหรื่อเงอนไขในการื่อน-ญาตให�เก2บ

เฉพัาะข�อม�ลท$เหมาะสัมลงในฐานข�อม�ล เพัอให�การื่เฉพัาะข�อม�ลท$เหมาะสัมลงในฐานข�อม�ล เพัอให�การื่เลอกข�อม�ลจากฐานข�อม�ลม$คิวามถ�กต�อง ได�แก�เลอกข�อม�ลจากฐานข�อม�ลม$คิวามถ�กต�อง ได�แก� Key constraintKey constraint Not Null constraintNot Null constraint Referential Integrity constraintReferential Integrity constraint CheckCheck Assertion constraintAssertion constraint

Page 27: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Constraintsปรื่ะเภทของเงอนไขปรื่ะเภทของเงอนไขKey constraintKey constraint ม$ ม$ 2 2 รื่�ปแบบ คิอ รื่�ปแบบ คิอ

คิ$ยู่�หล�ก คิ�าจะไม�เป.น คิ$ยู่�หล�ก คิ�าจะไม�เป.น NULL NULL และถ�กใชิ�เป.นด�ชิน$ในการื่เรื่$ยู่งและถ�กใชิ�เป.นด�ชิน$ในการื่เรื่$ยู่งล)าด�บเสัมอล)าด�บเสัมอ

Unique Unique เป.น เป.น key key เอกล�กษณ์�อาจม$เพั�ม นอกเหนอจาก เอกล�กษณ์�อาจม$เพั�ม นอกเหนอจาก คิ$ยู่�หล�กโดยู่จะถ�กใชิ�เป.นด�ชิน$ในการื่เรื่$ยู่งรื่ายู่การื่ต�อจากคิ$ยู่�คิ$ยู่�หล�กโดยู่จะถ�กใชิ�เป.นด�ชิน$ในการื่เรื่$ยู่งรื่ายู่การื่ต�อจากคิ$ยู่�หล�ก โดยู่อ�ตโนม�ต�หล�ก โดยู่อ�ตโนม�ต�

Referential IntegrityReferential Integrity เป.นการื่อ�างอ�งข�อม�ลจากคิวามสั�มพั�นธ์�อนเป.นการื่อ�างอ�งข�อม�ลจากคิวามสั�มพั�นธ์�อน

Page 28: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Constraints

Check Check เป.นการื่ตรื่วจสัอบคิ�าของเป.นการื่ตรื่วจสัอบคิ�าของข�อม�ลข�อม�ลในคิวามสั�มพั�นธ์�ในคิวามสั�มพั�นธ์�ให�เป.นไปตามให�เป.นไปตาม

เงอนไข เพัอกรื่องเฉพัาะข�อม�ลท$เหมาะ เงอนไข เพัอกรื่องเฉพัาะข�อม�ลท$เหมาะสัมลงไปในฐานข�อม�ลสัมลงไปในฐานข�อม�ล

AssertionAssertion เป.นการื่ตรื่วจสัอบคิ�าของเป.นการื่ตรื่วจสัอบคิ�าของข�อม�ลโดยู่รื่วมของท-กข�อม�ลโดยู่รื่วมของท-กคิวามสั�มพั�นธ์�คิวามสั�มพั�นธ์�ให�ให�เป.นไปตามเงอนไขเป.นไปตามเงอนไข

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

Cartesian RuleCartesian Rule

Cartesian Cartesian ProductProduct

JoinJoin

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

Cartesian Rule

Cartesian Product Cartesian Product คิอ การื่น)าแถวคิอ การื่น)าแถวจากคิวามสั�มพั�นธ์�ท$ จากคิวามสั�มพั�นธ์�ท$ 1 1 มาต�อก�บแถวมาต�อก�บแถวจากคิวามสั�มพั�นธ์�ท$ จากคิวามสั�มพั�นธ์�ท$ 22 จ)านวนแถวของคิวามสั�มพั�นธ์�ผลล�พัธ์� จะจ)านวนแถวของคิวามสั�มพั�นธ์�ผลล�พัธ์� จะ

เท�าก�บจ)านวนแถวของคิวามสั�มพั�นธ์�ท$ เท�าก�บจ)านวนแถวของคิวามสั�มพั�นธ์�ท$ 1 1คิ�ณ์จ)านวนแถวของคิวามสั�มพั�นธ์�ท$ คิ�ณ์จ)านวนแถวของคิวามสั�มพั�นธ์�ท$ 22

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

FirstFirst LastLast AgeAge

ด)าด)า สัน�ทสัน�ท 2222

แดงแดง แจ9แจ9 3535

ม�วงม�วง เข�มเข�ม 2828

DinnerDinner DessertDessert

สัเต:ก สัเต:ก ผลไม�ผลไม�อาหารื่ทะเลอาหารื่ทะเล รื่วมม�ตรื่รื่วมม�ตรื่

Cartesian Rule

FirstFirst LastLast AgeAge DinnerDinner DessertDessert

ด)าด)า สัน�ทสัน�ท 2222 สัเต:ก สัเต:ก ผลไม�ผลไม�ด)าด)า สัน�ทสัน�ท 2222 อาหารื่ทะเลอาหารื่ทะเล รื่วมม�ตรื่รื่วมม�ตรื่แดงแดง แจ9แจ9 3535 สัเต:ก สัเต:ก ผลไม�ผลไม�แดงแดง แจ9แจ9 3535 อาหารื่ทะเลอาหารื่ทะเล รื่วมม�ตรื่รื่วมม�ตรื่ม�วงม�วง เข�มเข�ม 2828 สัเต:ก สัเต:ก ผลไม�ผลไม�ม�วงม�วง เข�มเข�ม 2828 อาหารื่ทะเลอาหารื่ทะเล รื่วมม�ตรื่รื่วมม�ตรื่

RR SS

R X SR X S

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

Cartesian Rule Join Join คิอ การื่รื่วมข�อม�ลจากหลายู่คิวามสั�มพั�นธ์�คิอ การื่รื่วมข�อม�ลจากหลายู่คิวามสั�มพั�นธ์�

เข�าด�วยู่ก�น ม$หลายู่แบบด�งน$,เข�าด�วยู่ก�น ม$หลายู่แบบด�งน$, Theta-Join Theta-Join คิอ การื่ คิอ การื่ join join แบบปกต�ซ้ำ1งท)าให�เก�ดชิอแบบปกต�ซ้ำ1งท)าให�เก�ดชิอ

คิอล�มน�ท$ซ้ำ),าก�นคิอล�มน�ท$ซ้ำ),าก�น Equi-Join Equi-Join คิอ การื่ คิอ การื่ join join แบบม$เงอนไข แบบม$เงอนไข ““เท�าก�บเท�าก�บ” ”

(=) (=) เท�าน�,น และคิอล�มน�ท$ซ้ำ),าก�นจะถ�กแสัดงเพั$ยู่งคิรื่�,งเท�าน�,น และคิอล�มน�ท$ซ้ำ),าก�นจะถ�กแสัดงเพั$ยู่งคิรื่�,งเด$ยู่วเด$ยู่ว

Natural-Join Natural-Join คิอ คิอ Equi-Join Equi-Join ท$ ท$ join join ท-กคิอล�มน�ท$ท-กคิอล�มน�ท$ซ้ำ),าก�นซ้ำ),าก�น

Page 33: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Cartesian Rule

EMPEMP

DEPTDEPT

EMPEMPEMPEMP

ผลล�พัธ์จากการื่ Join คิวามูสั�มูพั�นธ์ EMP และ DEPTINFO โดย์ใชิเง��อนไข้ DEPT=DEPTผลล�พัธ์จากการื่ Join คิวามูสั�มูพั�นธ์ EMP และ DEPTINFO โดย์ใชิเง��อนไข้ DEPT=DEPT

ใชิ� Join เพัอคินหารื่ายู่ละเอ$ยู่ดเก$ยู่วก�บท$ท)างานของพัน�กงานท-กคินใชิ� Join เพัอคินหารื่ายู่ละเอ$ยู่ดเก$ยู่วก�บท$ท)างานของพัน�กงานท-กคิน

Page 34: ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model

Question… Question…