บทที่ 3 แบบจำลองข้อมูล data models

71
1 บบบบบ 3 บบบบบบบบบ บบบบบบ Data Models

Upload: cade-moon

Post on 03-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

บทที่ 3 แบบจำลองข้อมูล Data Models. แบบจำลองข้อมูล Data Models. เป็นแนวทางในการอธิบายแบบร่างเชิงตรรกะของข้อมูลและความสัมพันธ์ในส่วนต่าง ๆ ที่เกี่ยวข้องกัน เป็นแหล่งรวมของแนวคิดที่นำเสนอความเป็นจริงของวัตถุ ข้อมูล และเหตุการณ์ รวมถึงความสัมพันธ์ระหว่างข้อมูลที่มีความสอดคล้องตรงกัน - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: บทที่ 3 แบบจำลองข้อมูล Data Models

1

บทท�� 3แบบจำ�ลองข้�อมู�ลData Models

Page 2: บทที่ 3 แบบจำลองข้อมูล Data Models

2

แบบจำ�ลองข้�อมู�ลData Models

• เป็�นแนวทางในการอธิ�บายแบบร�างเชิ�งตรรกะของข�อมู�ลและความูสั�มูพั�นธิ�ในสั�วนต�าง ๆ ท"#เก"#ยวข�องก�น

• เป็�นแหล�งรวมูของแนวค�ดท"#น&าเสันอความูเป็�นจร�งของว�ตถุ) ข�อมู�ล และเหต)การณ์� รวมูถุ+งความูสั�มูพั�นธิ�ระหว�างข�อมู�ลท"#มู"ความูสัอดคล�องตรงก�น

• วั�ตถุ�ประสงค์�ข้องแบบจำ�ลองข้�อมู�ล ค,อ การน&าแนวค�ดต�างๆ มูาน&าเสันอให�เก�ดเป็�นร�ป็แบบจ&าลองข+-นมูา เพั,#อใชิ�ในการสั,#อสัารระหว�างผุ้)�ออกแบบฐานข�อมู�ลก�บผุ้��ใชิ�ให�เก�ดความูเข�าใจตรงก�น

Page 3: บทที่ 3 แบบจำลองข้อมูล Data Models

3

ประเภทข้องแบบจำ�ลองข้�อมู�ล

1.แบบจ&าลองเชิ�งแนวค�ด2.แบบจ&าลองเพั,#อการน&าไป็ใชิ�งาน

Page 4: บทที่ 3 แบบจำลองข้อมูล Data Models

4

1. แบบจำ�ลองเชิ�งแนวัค์�ด(Conceptual Data Models)

• ใชิ�สั&าหร�บแสัดงล�กษณ์ะโดยรวมูของข�อมู�ลท�-งหมูดในระบบ โดยน&าเสันอในล�กษณ์ะแผุ้นภาพัหร,อไดอะแกรมูท"#ป็ระกอบไป็ด�วยเอ4นต�ต"-ต�าง ๆ และความูสั�มูพั�นธิ�ระหว�างเอ4นต�ต"-ในระบบ

• จำ�ดประสงค์�ข้องแบบจำ�ลองเชิ�งแนวัค์�ด ค,อ ต�องน&าเสันอให�เก�ดความูเข�าใจตรงก�นระหว�างผุ้��ออกแบบและผุ้��ใชิ�งาน กล�าวค,อ เมู,#อเห4นแผุ้นภาพัแบบจ&าลองด�งกล�าว ก4จะท&าให�เข�าใจถุ+งความูสั�มูพั�นธิ�ของข�อมู�ลต�างๆ ในระบบ

• ต�วัอย่#งแบบจำ�ลองเชิ�งแนวัค์�ด เชิ�น แผุ้นภาพั E-R (Entity Relationship model

Page 5: บทที่ 3 แบบจำลองข้อมูล Data Models

5

2 . แบบจำ�ลองเพื่%�อกรน�ไปใชิ�งนImplementation Data

Models•เป็�นแบบจ&าลองท"#ใชิ�อธิ�บายถุ+งโครงสัร�าง

ข�อมู�ลและฐานข�อมู�ล ด�วยการแสัดงถุ+งร�ป็แบบท"#อ�งก�บระบบจ�ดการฐานข�อมู�ลท"#

ใชิ�

Page 6: บทที่ 3 แบบจำลองข้อมูล Data Models

6

พื่%)นฐนกรสร�งแบบจำ�ลองข้�อมู�ล

1 .เอนต�ต"-2. แอตตร�บ�วต�3. ความูสั�มูพั�นธิ�4. ข�อบ�งค�บ

Page 7: บทที่ 3 แบบจำลองข้อมูล Data Models

7

1. เอ+นต�ต�) (Entity)• ส��งต#ง ๆ ท��มู�เอกล�กษณ์�สมูรถุชิ�)เฉพื่ะเจำะจำง

ได� เป0นส��งท��สมูรถุน�ไปเก+บในฐนข้�อมู�ลได� อจำ เป0นส��งท��เป0นร�ปธรรมู หร%อนมูธรรมูก+ได� เชิ#น

บ�ค์ค์ล ส�ตวั� ส��งข้อง สถุนท�� ค์วัมูค์�ด เหต�กรณ์� เป0นต�น

บ�ค์ค์ล พัน�กงาน น�กศึ+กษา น�กฟุ)ตบอล แพัทย�ส��งข้อง สั�นค�า รถุยนต� หน�งสั,อสถุนท�� สันามูบ�น ร�านอาหาร โกด�งสั�นค�าค์วัมูค์�ด หล�กสั�ตร แผุ้นป็ระก�นชิ"ว�ตเหต�กรณ์� การแข�งข�นฟุ)ตบอล ข�าว การร�กษาโรค

Page 8: บทที่ 3 แบบจำลองข้อมูล Data Models

8

2. แอทตร�บ�วัท� (Attribute)• ค์�ณ์สมูบ�ต� ล�กษณ์ะหร%อรย่ละเอ�ย่ดข้องเอ+นต�ต�)

พื่น�กงน ชิ%�อ - นมูสก�ล

ส#วันส�ง

น�)หน�ก

วั�นเด%อนป3เก�ด

ประวั�ต�กรศึ5กษ

กร�6ปเล%อดหมูย่เลข้บ�ตรประจำ�ต�วัประชิชิน

ท��อย่�#

Page 9: บทที่ 3 แบบจำลองข้อมูล Data Models

9

ร�นอหรสข้

ท��ต�)ง

ผู้��จำ�ดกรร�นเบอร�โทรศึ�พื่ท�จำ�นวันโต6ะ

จำ�นวันบร�กร

Page 10: บทที่ 3 แบบจำลองข้อมูล Data Models

10

•แอทตร�บ�วัต� ค์%อ ค์�ณ์สมูบ�ต�ข้องร�เลชิ��น หร%อค์อล�มูน�ข้องตรงน��นเอง หร%ออจำเท�ย่บได�ก�บฟิ:ลด�ในแฟิ;มูข้�อมู�ล

• น�กศึ5กษ (รห�สน�กศึ5กษ , ชิ%�อ-นมูสก�ล , เพื่ศึ ,เบอร�ต�ดต#อ)

2. แอทตร�บ�วัท� (Attribute)

Page 11: บทที่ 3 แบบจำลองข้อมูล Data Models

11

3. ค์วัมูส�มูพื่�นธ� (Relationship)

•ค์วัมูส�มูพื่�นธ�ระหวั#งเอ+นต�ต�)ในฐนข้�อมู�ล

ล�กค์� ก�บ ส�นค์� ค์วัมูส�มูพื่�นธ� ค์%อ ส��งซื้%)อ

น�กศึ5กษ ก�บ แผู้นกรเร�ย่น

ค์วัมูส�มูพื่�นธ� ค์%อ ลงทะเบ�ย่น อจำรย่� ก�บ ค์ณ์ะ

ค์วัมูส�มูพื่�นธ� ค์%อ ส�งก�ด

Page 12: บทที่ 3 แบบจำลองข้อมูล Data Models

12

ชิน�ดข้องค์วัมูส�มูพื่�นธ�

1 .ความูสั�มูพั�นธิ�แบบว�น-ท�-ว�น (1:1)

2. ความูสั�มูพั�นธิ�แบบว�น-ท�-เมูนน" (1:M)

3. ความูสั�มูพั�นธิ�แบบเมูนน"-ท�-เมูนน" (M:N)

Page 13: บทที่ 3 แบบจำลองข้อมูล Data Models

13

ค์วัมูส�มูพื่�นธ� (Relationship)

• ความูสั�มูพั�นธิ�แบบหน5�งต#อหน5�ง (1:1 )เป็�นความูสั�มูพั�นธิ�ท"#แต�ละรายการของเอนต�ต"- X มู"ความูสั�มูพั�นธิ�ก�บข�อมู�ล Y เพั"ยงหน+#งรายการ – น�กศึ+กษามู"รห�สัป็ระจ&าต�วเพั"ยงหน+#งรห�สั– ผุ้��น&าป็ระเทศึ ป็ระเทศึ–

Page 14: บทที่ 3 แบบจำลองข้อมูล Data Models

14

ค์วัมูส�มูพื่�นธ� (Relationship)• ความูสั�มูพั�นธิ�แบบหน5�งต#อกล�#มู (1:M ) เป็�น

ความูสั�มูพั�นธิ�ท"#แต�ละรายการของเอ4นต�ต"- x มู"ความูสั�มูพั�นธิ�ก�บเอ4นต�ต"- y มูากกว�าหน+#งรายการ โดยแต�ละรายการของเอ4นต�ต"- y มู"ความูสั�มูพั�นธิ�ก�บเอ4นต�ต"- x ได�เพั"ยงหน+#งรายการเท�าน�-น – แมู� ล�ก–– อาจารย�ท"#ป็ร+กษา น�กศึ+กษา–– คณ์ะ-โป็รแกรมูว�ชิา

Page 15: บทที่ 3 แบบจำลองข้อมูล Data Models

15

ค์วัมูส�มูพื่�นธ� (Relationship)

• ความูสั�มูพั�นธิ�แบบกล�#มูต#อกล�#มู (M:N )เป็�นความูสั�มูพั�นธิ�ท"#แต�ละรายการของเอ4นต�ต"- x มู"ความูสั�มูพั�นธิ�ก�บเอ4นต�ต"- y มูากกว�าหน+#งรายการ โดยแต�ละรายการของเอ4นต�ต"- y มู"ความูสั�มูพั�นธิ�ก�บเอ4นต�ต"- x ได�มูากกว�าหน+#งรายการ– น�กศึ+กษา-รายว�ชิา– ล�กค�า สั�นค�า–

Page 16: บทที่ 3 แบบจำลองข้อมูล Data Models

16

4. ข้�อบ�งค์�บ (Constraints)

• กฏเกณ์ฑ์�เพั,#อการบรรจ)ข�อมู�ล ซึ่+#งมู"ความูสั&าค�ญมูาก เพัราะจะชิ�วยให�เก�ดความูมู�#นใจในความูเป็�นอ�นหน+#งอ�นเด"ยวก�น เพั,#อให�เก�ดความูสัอดคล�องตรงก�นของข�อมู�ล

• ต�วอย�าง เง�นเด,อนพัน�กงานจะต�องมู"ความูระหว�าง -600015, 000

• น�กศึ+กษาสัามูารถุลงทะเบ"ยนเร"ยนได�หลายหน�วยแต�รวมูแล�วต�องไมู�เก�น 21 หน�วยก�ต

Page 17: บทที่ 3 แบบจำลองข้อมูล Data Models

17

1. แบบจ&าลองฐานข�อมู�ลแบบล&าด�บชิ�-น (HierarchicalD atabase Model) 2. แบบจ&าลองฐานข�อมู�ลแบบเคร,อข�าย (Network D atabase Model) 3. แบบจ&าลองฐานข�อมู�ลเชิ�งสั�มูพั�นธิ� (RelationalD atabase Model) 4. แบบจ&าลองฐานข�อมู�ลเชิ�งว�ตถุ) - (Object Oriented

database Model) 5. แบบจ&าลองฐานข�อมู�ลแบบมู�ลต�ไดแมูนชิ�#น

(Multidimensional Database Model)

แบบจำ�ลองฐนข้�อมู�ล (Database Model)

Page 18: บทที่ 3 แบบจำลองข้อมูล Data Models

18

- เป็�นการจ�ดโครงสัร�างแบบบนลงล�าง -(Top down) - มู"ล�กษณ์ะคล�ายโครงสัร�างต�นไมู� (Tree Structure) เป็�น

ล&าด�บชิ�-น - ข�อมู�ลจะมู"ความูสั�มูพั�นธิ�แบบ - - one to many ระด�บสั�งสั)ด

เร"ยกว�า Root - มู"ความูสั�มูพั�นธิ�แบบ Parent / Child (พั�อ/ล�ก) - เป็�นสัถุาป็<ตยกรรมูฐานข�อมู�ลท"#เก�าแก�ท"#สั)ด ป็<จจ)บ�นไมู�น�ยมู

ใชิ�งานแล�ว - ยากต�อการพั�ฒนา Application

- การป็ร�บป็ร)งโครงสัร�างมู"ความูย,ดหย)�นน�อย - ไมู�สัามูารถุก&าหนดความูสั�มูพั�นธิ�แบบ man - -y to many 

1. แบบจำ�ลองฐนข้�อมู�ลแบบล�ด�บชิ�)น (Hierarchical d atabase

model)

Page 19: บทที่ 3 แบบจำลองข้อมูล Data Models

19

Hierarch ical Data Mode l

A 11 A 12

A 1

A 21 A 22

A 2

A

B 11 B 12

B 1

B 21 B 22

B 2

B

C 11 C 12

C 1

C 21 C 22

C 2

C

R o ot

Page 20: บทที่ 3 แบบจำลองข้อมูล Data Models

20

Hierarchical DatabaseCustomers

Orders

Item Description Quantity998 Dog Food 12764 Cat Food 11

Items

Customer

Order

Items Ordered

To retrieve data, you must start at the top (customer).

Page 21: บทที่ 3 แบบจำลองข้อมูล Data Models

21

Hierarchical d atabasemodel

•ข้�อด�–มู"ร�ป็แบบโครงสัร�างท"#เข�าใจง�าย ซึ่+#งเป็�นในล�กษณ์ะ

ต�นไมู�–มู"โครงสัร�างท"#ซึ่�บซึ่�อนน�อยท"#สั)ด เหมูาะก�บข�อมู�ลท"#มู"

ความูสั�มูพั�นธิ�แบบ one-to-many–ป็>องก�นความูป็ลอดภ�ยในข�อมู�ลท"#ด" เน,#องจากต�อง

อ�านข�อมู�ลท"#เป็�นต�นก&าเน�ดก�อนท&าให�ข�อมู�ลมู"ความูคงสัภาพั

– เหมูาะก�บข�อมู�ลท"#มู"การเร"ยงล&าด�บแบบต�อเน,#อง

Page 22: บทที่ 3 แบบจำลองข้อมูล Data Models

22

Hierarchical d atabasemodelข้�อเส�ย่

– ยากต�อการพั�ฒนา เพัราะต�องมู"ความูร� �ความูเข�าใจถุ+งโครงสัร�างทางกายภาพัของข�อมู�ลท"#จ�ดเก4บอย��ภายในฐานข�อมู�ล

– มู"ข�อจ&าก�ดด�านการน&าไป็ใชิ� โดยเฉพัาะไมู�รองร�บความูสั�มูพั�นธิ�แบบ many-to-many

– เมู,#อมู"การป็ร�บโครงสัร�าง แอป็พัล�เคชิ�#นโป็รแกรมูท�-งหมูดต�องเป็ล"#ยนแป็ลงตามู เน,#องจากขาดอ�สัระในโครงสัร�าง

– ในการเร"ยกใชิ�งานจ&าเป็�นต�องผุ้�าน Root เสัมูอ ด�งน�-นหากต�องการค�นหาข�อมู�ลซึ่+#งอย��ในระด�บล�าง ๆ ก4ต�องค�นหาท�-งแฟุ>มู

– ไมู�มู"ภาษาท"#ใชิ�สั&าหร�บการจ�ดการข�อมู�ล ใน DBMS– ขาดมูาตรฐานการรองร�บท"#ชิ�ดเจน

Page 23: บทที่ 3 แบบจำลองข้อมูล Data Models

23

มู"ล�กษณ์ะโครงสัร�างท"#คล�ายก�บโครงสัร�างแบบล&าด�บชิ�-น แต�แตกต�างก�นท"#ข�อมู�ลมู"ความูสั�มูพั�นธิ�ได�ท�-งแบบ - - one to one ,

- - one to many และ - - many to manyอ"กท�-งย�งสัามูารถุน&าเอาอ�ลกอร�ท+มูของการ Hashing มูาใชิ�ในการค�นหาข�อมู�ล 

2. แบบจำ�ลองข้�อมู�ลเค์ร%อข้#ย่ (Network Database Model)

Page 24: บทที่ 3 แบบจำลองข้อมูล Data Models

24

แบบจำ�ลองข้�อมู�ลเค์ร%อข้#ย่ (Network Database Model)

ส�นค์� ล�กค์�

Page 25: บทที่ 3 แบบจำลองข้อมูล Data Models

25

Network Database

Customer

OrderItems

Ordered

Items

Entry point

Entry point

Page 26: บทที่ 3 แบบจำลองข้อมูล Data Models

26

ข้�อด�1 .มู"หล�กการท"#ง�าย ซึ่+#งใกล�เค"ยงก�บแบบจ&าลองฐาน

ข�อมู�ลล&าด�บชิ�-น2. สัน�บสัน)นความูสั�มูพั�นธิ�แบบ many-to-many3. การเข�าถุ+งข�อมู�ลมู"ความูย,ดหย)�นสั�งกว�าแบบล&าด�บชิ�-น

และระบบแฟุ>มูข�อมู�ล4. ความูสั�มูพั�นธิ�แบบ Owner/Member

Relationship ท&าให�ข�อมู�ลมู"ความูคงสัภาพัท"#ด"5. มู"ภาษาน�ยามูข�อมู�ล ภาษาจ�ดการข�อมู�ลใน DBMS6. มู"มูาตรฐานเพั,#อการน&าไป็ป็ฏ�บ�ต�ชิ�ดเจน

แบบจำ�ลองข้�อมู�ลเค์ร%อข้#ย่ (Network Database Model)

Page 27: บทที่ 3 แบบจำลองข้อมูล Data Models

27

ข้�อเส�ย่1. ระบบโดยรวมูย�งมู"ความูซึ่�บซึ่�อน อ"กท�-งย�งมู"ข�อ

จ&าก�ดและป็ระสั�ทธิ�ภาพั2. ยากต�อการน&าไป็ใชิ� ท� -งในด�านการพั�ฒนาแอป็

พัล�เคชิ�#นและการจ�ดการ3. หากโครงสัร�างมู"การเป็ล"#ยนแป็ลง แอป็พัล�

เคชิ�#นโป็รแกรมูท�-งหมูดต�องเป็ล"#ยนตามูเน,#องจากขาดอ�สัระในโครงสัร�าง

แบบจำ�ลองข้�อมู�ลเค์ร%อข้#ย่ (Network Database Model)

Page 28: บทที่ 3 แบบจำลองข้อมูล Data Models

28

เป็�นแบบท"#คนใชิ�มูากท"#สั)ดในป็<จจ)บ�น เป็�นผุ้ลงานของ E.F.Codd(ค.ศึ .1 9 7 0 )น&าเสันอข�อมู�ลในร�ป็แบบตาราง ท&าให�สัามูารถุเข�าใจได�ง�าย ป็ระกอบด�วย Rowและ Columnสัามูารถุแสัดงความูสั�มูพั�นธิ�ได�ท� -งแบบ - - one to one , o

- - ne to many และ - - many to many และใชิ� Key ในการอ�างอ�งก�บตารางอ,#น (Primary key , SecondaryKey)

สัามูารถุใชิ�ค&าสั�#ง SQLในการจ�ดการก�บฐานข�อมู�ลชิน�ดน"- 

3 . แบบจำ�ลองข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relation Database Model)

Page 29: บทที่ 3 แบบจำลองข้อมูล Data Models

29

E-ID

NAME

ADDRESS

PHONE

001

Somchai

Bangkok

02-2322212

002

Somsak

Chonburi

053-34251

003

Somsri

Ranong

041-45632

004

Somjai

Nonthaburi

02-2322212

EmployeeR

ela

tion

Degree

Card

inalit

y

Attribute

TAX-ID

Salary

E-ID

Tax - Type

0012345

10,000

004

1

1234566

8,900

002

2

PayrollPrimary Key Foreign Key

แบบจำ�ลองข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relation Database Model)

Page 30: บทที่ 3 แบบจำลองข้อมูล Data Models

30

ข้�อด� 1 .มู"ความูเป็�นอ�สัระในโครงสัร�าง โดยหากมู"การ

เป็ล"#ยนแป็ลงโครงสัร�างตาราง จะไมู�สั�งผุ้ลต�อแอป็พัล�เคชิ�#นโป็รแกรมูใชิ�งาน

2. การน&าเสันอข�อมู�ลในร�ป็แบบของตาราง ก�อให�เก�ดมูโนภาพัถุ+งข�อมู�ลท"#จ�ดเก4บ ท&าให�ง�ายต�อการออกแบบฐานข�อมู�ล การน&าไป็ใชิ� และการจ�ดการ

3. การเร"ยกด�ข�อมู�ล สัามูารถุเร"ยกได�ด�วยชิ)ดค&าสั�#ง SQL4. มู"ระบบความูป็ลอดภ�ยท"#ด" เน,#องจากโครงสัร�างน"-ผุ้��ใชิ�งาน

จะไมู�ทราบถุ+งกระบวนการจ�ดเก4บข�อมู�ลภายในฐานข�อมู�ลแท�จร�งว�าเป็�นอย�างไร

5. DBMS ท"#พั�ฒนาในป็<จจ)บ�นล�วนรองร�บเทคโนโลย"ฐานข�อมู�ลเชิ�งสั�มูพั�นธิ�

แบบจำ�ลองข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relation Database Model)

Page 31: บทที่ 3 แบบจำลองข้อมูล Data Models

31

ข้�อเส�ย่1 .ต�องมู"การลงท)นสั�งเน,#องจากต�องใชิ�

Hardware และ Software ท"#มู"ความูสัามูารถุสั�ง 

2. แนวค�ดฐานข�อมู�ลเชิ�งสั�มูพั�นธิ�ในภาพัรวมูน�-นง�ายต�อการน&าไป็ใชิ�งาน ด�งน�-นบ)คลากรท"#ไมู�ได�ร�บการฝึAกอบรมูหร,อผุ้��ท"#มู"ความูร� �ไมู�ด"พัอ ได�น&าเคร,#องมู,อไป็ใชิ�งานท"#ผุ้�ด ท&าให�ระบบท"#ด"ต�องแย�ลง และหากไมู�ได�ร�บการตรวจสัอบ อาจท&าให�เก�ดข�อมู�ลซึ่&-าซึ่�อนได�เชิ�นเด"ยวก�บระบบแฟุ>มู

แบบจำ�ลองข้�อมู�ลเชิ�งส�มูพื่�นธ�(Relation Database Model)

Page 32: บทที่ 3 แบบจำลองข้อมูล Data Models

32

1. เก�ดจากแนวค�ดของการเข"ยนโป็รแกรมูเชิ�งว�ตถุ) (OOP Object Oriented Program)โดยการมูองของท)กสั�#งเป็�นว�ตถุ) โดยแต�ละว�ตถุ)จะเป็�นแหล�งรวมูของข�อมู�ลและการป็ฎิ�บ�ต�งาน (Data &Procedure)2. มู"คลาสัเป็�นต�วก&าหนดค)ณ์สัมูบ�ต�หร,อรายละเอ"ยดของว�ตถุ) รวมูท�-งค)ณ์สัมูบ�ต�การป็กป็Cดความูล�บของว�ตถุ) (Encapsulation) การ (Encapsulation) ค,อ การเข�าถุ+งข�อมู�ลต�องมู"การตอบร�บจาก Method ในว�ตถุ)น�-นว�าจะอน)ญาต ในการสั�งMessage เพั,#อการต�ดต�อหร,อไมู�

4 . แบบจำ�ลองฐนข้�อมู�ลเชิ�งวั�ตถุ� (Object Oriented Database

Model)

Page 33: บทที่ 3 แบบจำลองข้อมูล Data Models

33

Object Class 1

Methods

AttributesObject Class 2 Object Class 3

AttributesAttributesMethods Methods

แบบจำ�ลองฐนข้�อมู�ลเชิ�งวั�ตถุ� (Object Oriented Database Model)

Page 34: บทที่ 3 แบบจำลองข้อมูล Data Models

34

Object-Oriented DBMSCustomer

CustomerIDName… Add CustomerDrop CustomerChange Address

OrderOrderIDCustomerID… NewOrderDeleteOrder…

OrderItemOrderIDItemID… OrderItemDropOrderItem…

ItemItemIDDescription… New ItemSell ItemBuy Item …

GovernmentCustomer

ContactNameContactPhoneDiscount, …

NewContact

CommercialCustomer

ContactNameContactPhone…

NewContact

Page 35: บทที่ 3 แบบจำลองข้อมูล Data Models

35

ข้�อด�1 .ค)ณ์สัมูบ�ต�การสั,บทอด Inheritance

ท&าให�ข�อมู�ลมู"ความูคงสัภาพัสั�ง2. มู"ค)ณ์สัมูบ�ต�ในการกล�บมูาใชิ�ใหมู�3. การน&าเสันอเป็�นร�ป็แบบ Visual ท&าให�

อธิ�บายห�วข�อความูหมูายได�ด"

แบบจำ�ลองฐนข้�อมู�ลเชิ�งวั�ตถุ� (Object Oriented Database

Model)

Page 36: บทที่ 3 แบบจำลองข้อมูล Data Models

36

ข้�อเส�ย่1 .ต�องพั+#งพัาผุ้��เชิ"#ยวชิาญโดยเฉพัาะ และมู"ค�าใชิ�จ�ายระบบ

ค�อนข�างสั�ง2. ย�งไมู�มู"มูาตรฐานรองร�บท"#ชิ�ดเจนเมู,#อเท"ยบก�บแบบจ&าลอง

ฐานข�อมู�ลเชิ�งสั�มูพั�นธิ� อ"กท�-งผุ้ล�ตภ�ณ์ฑ์� DBMS ท"#ใชิ�งานบนแบบจ&าลองฐานข�อมู�ลสั�มูพั�นธิ�ได�พั�ฒนาข"ดความูสัามูารถุด�วยการรวมูเทคโนโลย"เชิ�งว�ตถุ)เข�าไป็ ท"#เร"ยกว�า Obiect-Relational Database

3. ผุ้��เชิ"#ยวชิาญสั�วนใหญ�ค)�นเคยก�บเทคโนโลย"เชิ�งฐานข�อมู�ลสั�มูพั�นธิ�

แบบจำ�ลองฐนข้�อมู�ลเชิ�งวั�ตถุ� (Object Oriented Database

Model)

Page 37: บทที่ 3 แบบจำลองข้อมูล Data Models

37

แบบจำ�ลองฐนข้�อมู�ลแบบมู�ลต�ไดแมูนชิ��น (Multidimensional

Database Model)• แบบจ&าลองชิน�ดน"-ใชิ�งานก�บคล�งข�อมู�ล โดย

น&าเสันอข�อมู�ลในล�กษณ์ะไดแมูนชิ�#นท&าให�ให�ว�วข�อมู�ลได� 2 ทาง เพั,#อให�สัามูารถุมูองเห4นป็<ญหาทางธิ)รก�จและสัร�างว�ธิ"การแก�ไขป็<ญหาได�ด"ย�#งข+-น

Page 38: บทที่ 3 แบบจำลองข้อมูล Data Models

38

แบบจำ�ลองฐนข้�อมู�ลแบบมู�ลต�ไดแมูนชิ��น (Multidimensional

Database Model)•ข้�อด�

–สัามูารถุน&ามูาป็ระย)กต�ใชิ�เพั,#อวางแผุ้นกลย)ทธิ�และสัร�างว�ธิ"แก�ไขป็<ญหาทางธิ)รก�จได�

–ข�อมู�ลท"#น&าเสันอสัามูารถุน&าเสันอมู)มูองได�หลายมู�ต�

Page 39: บทที่ 3 แบบจำลองข้อมูล Data Models

39

แบบจำ�ลองฐนข้�อมู�ลแบบมู�ลต�ไดแมูนชิ��น (Multidimensional

Database Model)•ข้�อเส�ย่

– ใชิ�เง�นลงท)นสั�ง ท�-งฮาร�แวร�และซึ่อฟุแวร�ท"#น&ามูาใชิ�เพั,#อการว�เคราะห�

–คล�งข�อมู�ลต�องได�ร�บการออกแบบท"#ด" มู�ฉะน�-นอาจไมู�สัามูารถุน&ามูาใชิ�ป็ระโยชิน�ค)�มูค�า

–ผุ้��เชิ"#ยวชิาญในป็<จจ)บ�นย�งมู"ไมู�มูาก– เหมูาะก�บธิ)รก�จขนาดใหญ�

Page 40: บทที่ 3 แบบจำลองข้อมูล Data Models

40

•Relation–ระบบจ�ดการฐานข�อมู�ลเชิ�งสั�มูพั�นธิ� Relational Database Management System : RDBMS จะน&าไป็ใชิ�บนฐานข�อมู�ลด�วยการให�ผุ้)�ใชิ�เห4นภาพัของข�อมู�ลในร�ป็แบบของตาราง โดยข�อมู�ลและโครงสัร�างข�อมู�ลมู"ความูอ�สัระจากต�วโป็รแกรมู

โค์รงสร�งข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relational Database

Structure)

Page 41: บทที่ 3 แบบจำลองข้อมูล Data Models

41

•แอตตร�บ�วัต� (Attribute)–ในแบบจ&าลองเชิ�งสั�มูพั�นธิ� ร"เลชิ�#นใชิ�

ค,อตาราง 2 มู�ต�ท"#ป็ระกอบไป็ด�วยแถุว ซึ่+#งก4ค,อเรคอร�ด คอล�มูน�ในตารางก4ค,อ แอตตร�บ�วต�

โค์รงสร�งข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relational Database

Structure)

Page 42: บทที่ 3 แบบจำลองข้อมูล Data Models

42

โดเมูน (Domain)เป็�นการน�ยามูขอบเขตของค�าท"#เป็�นไป็ได�ให�ก�บข�อมู�ลในแต�ละ Attribute เพั,#อป็>องก�นไมู�ให�เก�ดการป็>อนข�อมู�ลท"#เก�นขอบเขตท"#ก&าหนดเชิ�น การก&าหนดให�อาย)พัน�กงานมูากกว�า 18

ป็E , การก&าหนดให�จ&านวนเง�นเด,อนของพัน�กงานมูากกว�า 0, การก&าหนดให�เพัศึของพัน�กงานแต�ละคนต�องมู"ค�าเป็�นชิาย(M)หร,อหญ�ง(F)

โค์รงสร�งข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relational Database

Structure)

Page 43: บทที่ 3 แบบจำลองข้อมูล Data Models

43

โดเมูน (Domain)Example

EmpID Name SexAge Salary DeptIDE001 Peter M 24 55,000 D01

E002 Nicole F 30 12,000 D02

> 18 > 0M,FDomain

DeptID DNameD01 SaleD02 Marketing

Page 44: บทที่ 3 แบบจำลองข้อมูล Data Models

44

ท�พื่เพื่�ล (Tuple)

ค์%อ แถุวั หร%อระเบ�ย่น ในตรง หร%อ ร�เลชิ��น

โค์รงสร�งข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relational Database

Structure)

Page 45: บทที่ 3 แบบจำลองข้อมูล Data Models

45

ด�กร� (Degree)ค์%อ จำ�นวันแอทตร�บ�วัต�ในร�เลชิ��น ด�กร�อจำชิ�)ให�เห+นถุ5งค์วัมูละเอ�ย่ดข้องรย่กรข้�อมู�ลก+ได�

โค์รงสร�งข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relational Database

Structure)

Page 46: บทที่ 3 แบบจำลองข้อมูล Data Models

46

ค์ร�ด�น�ลล�ต�) (Cardinality)ค์%อจำ�นวันแถุวั หร%อจำ�นวันท�พื่เพื่�ล ภย่ในตรงหน5�ง ๆ ค์ร�ด�น�ลล�ต�)ชิ�)ให�เห+นถุ5งจำ�นวันรย่กรข้�อมู�ลในตรงหน5�ง ๆ

โค์รงสร�งข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relational Database

Structure)

Page 47: บทที่ 3 แบบจำลองข้อมูล Data Models

47

ฐนข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relational Database)ค์%อ กรรวัมูกล�#มูข้องร�เลชิ��นท��ผู้#นกรนอร�มู�ลไลเซื้ซื้��น โดย่แต#ละร�เลชิ��นจำะมู�กรก�หนดชิ%�อแตกต#งก�น

โค์รงสร�งข้�อมู�ลเชิ�งส�มูพื่�นธ� (Relational Database

Structure)

Page 48: บทที่ 3 แบบจำลองข้อมูล Data Models

48

ศึ�พื่ท�เทค์น�ค์ในฐนข้�อมู�ลRelation Table File

Tuple Row Record

Attribute Column Field

Page 49: บทที่ 3 แบบจำลองข้อมูล Data Models

49

แบบจำ�ลองข้�อมู�ลเชิ�งส�มูพื่�นธ�(Relational Database Model)

203025193007

รห�สัเจ�าหน�าท"# ชิ,#อ-สัก)ล แผุ้นก เง�นเด,อน ความูชิ&านาญ

จ�ตใสั ใจด" องอาจ สั)ภาพั

ใหมู� ร�กหมู��

คอมูพั�วเตอร�บ)คคล

คอมูพั�วเตอร�

340003800035000

ภาษา Cกฏหมูายแรงงาน

Unix

Tuplesท�พัเป็Cล

Cardinalityคาร�ด�นอลล�ต"-

Relationร"เลชิ�น

Attributeแอททรบ�วท�

Degreeด"กร"

ร�ป็ท"# 61. แสัดงองค�ป็ระกอบของร"เลชิ�น

Page 50: บทที่ 3 แบบจำลองข้อมูล Data Models

50

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

•กฎข้�อท�� 1 กฎข้#วัสร (The Information Rule) 

• ข้�อมู�ลต�าง ๆ ในระบบฐนข้�อมู�ลจะถุ�ก น&า เสันอและจ�ดการ ในร�ป็แบบตาราง โดยท"#อย�างน�อยจะ ต�องป็ระกอบด�วย ชิ,#อตาราง ชิ,#อคอล�มูน� คอล�มูน�ใดเป็�น index หร,อ key ชิน�ดของข้�อมู�ลในแต�ละคอล�มูน� ขอบเขตของค�าข้�อมู�ล ในแต�ละคอล�มูน� (domain)

Page 51: บทที่ 3 แบบจำลองข้อมูล Data Models

51

• กฎข้�อท�� 2 กฎกรกร�นต�กรเข้�ถุ5งข้�อมู�ล (Guaranteed Access Rule) 

• ผุ้��ใชิ�จะต�องสัามูารถุเข�าถุ+งข้�อมู�ลท)กต�ว ในตารางได�ด�วยการระบ)ชิ,#อตารางค�าของ primary key และ ชิ,#อคอล�มูน� (Column ) ท"#ต�องการ และถุ�าไมู�ได�มู"การเป็ล"#ยนแป็ลง ข้�อมู�ลในตารางแล�ว การเข�าถุ+ง และเร"ยกใชิ� ข้�อมู�ลจะได�ผุ้ลออกมูาเพั"ยงค�าเด"ยว และเหมู,อนเด�มูท)กคร�-ง

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 52: บทที่ 3 แบบจำลองข้อมูล Data Models

52

• กฎข้�อท�� 3 วั�ธ�แสดงวั#ข้�อมู�ลบงรย่กรย่�งไมู#พื่ร�อมูหร%อย่�งไมู#มู�ค์# ให�ใชิ�ค์# null เพั,#อแสัดงว�าระบบน"-ไมู�มู"ข้�อมู�ลในสั�วนน�-น 

ในหลายกรณ์"ท"# ข้�อมู�ลในสั�วนน�-นย�งไมู�มู"ท�นท" เราสัามูารถุแทนค�าน�-นด�วยค�า null ต�วอย�างเชิ�น – ใน ตาราง Employee ถุ�าเราร�บพัน�กงานเข�ามูาใหมู�

โดยย�งไมู�ได�ก&าหนดว�าพัน�กงานคนน"-จะให�สั�งก�ด แผุ้นกใด ค�าของข้�อมู�ลในคอล�มูน� Manager และ Dept ของเรคอร�ดจะมู"ค�า null

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 53: บทที่ 3 แบบจำลองข้อมูล Data Models

53

• กฎข้�อท�� 4 โค์รงสร�ง จำะต�องมู�สภพื่ โมูเดลแบบร�เลชิ��นนอล 

• กฎิข้�อน"-สัามูารถุให�ผุ้��ใชิ�เร"ยกด� และแก�ไขโครงสัร�างข้�อมู�ลต�าง ๆ ของระบบได�ด�วยภาษาและว�ธิ"เด"ยวก�บการเร"ยกด�ข้�อมู�ลของระบบ

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 54: บทที่ 3 แบบจำลองข้อมูล Data Models

54

• กฎข้�อท�� 5 กฎข้องภษ (Comprehensive data sublanguage rule) 

• ระบบ DBMS แบบร"เลชิ�#น ควร มู"ภาษาอย�างอย�างน�อย 1 ภาษา ท"#สัามูารถุกระท&า การต�อไป็น"-ได� 1 . น�ยามูโครงสัร�างระบบข้�อมู�ล 2 . น�ยามูว�ว 3 . เป็ล"#ยนแป็ลงแก�ไขข้�อมู�ล ท�-งด�วยว�ธิ"การใชิ�ค&า สั�#งแบบ interactive และ ด�วยการเข"ยนโป็รแกรมู 4 . ควบค)มู  integrity  ท�-ง integrity ของข้�อมู�ล (entity integrity ) ของการอ�างอ�งด�วย (referential integrity)

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 55: บทที่ 3 แบบจำลองข้อมูล Data Models

55

• กฎข้�อท�� 6 กฎกรแก�ไข้ข้�อมู�ลผู้#นทงวั�วั (View update rule) ผุ้��ใชิ�แต�ละคน เห4นระบบข้�อมู�ลในมู)มูมูอง หร,อ ว�ว ท"#แตกต�างก�น – ระบบฐนข้�อมู�ลต�อง สัามูารถุเป็ล"#ยนแป็ลงแก�ไขข้�อมู�ล

ตามู มู)มูมูอง หร,อ ว�วท"#แต�ต�างก�นได� ระบบฐนข้�อมู�ล ( DBMS ) จะต�อง สัามูารถุ ต�ดสั�นได�ว�าผุ้��ใชิ�สัามูารถุเพั�#มู

เต�มูท�พัเพั�ล (tuple หมูายถุ+ง แถุว หร,อ เรคอร�ดในตาราง ) ลบท�พัเพั�ล หร,อแก�ไขข้�อมู�ลในคอล�มูน�ใด ๆ โดยกระท&า ผุ้�านว�วได�

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 56: บทที่ 3 แบบจำลองข้อมูล Data Models

56

•กฎข้�อท�� 7 ค์วัมูสมูรถุในกรเพื่��มู ลด และแก�ไข้ข้�อมู�ล 

ระบบฐนข้�อมู�ล ( DBMS ) ควรจะมู"ภาษาท"#สัามูารถุให�ผุ้��ใชิ� เพั�#มู ลด หร,อแก�ไข ข้�อมู�ลในหลายๆ แถุว หร,อหลาย ๆ คอล�มูน� ได�ด�วยการออกค&า สั�#ง เพั"ยงค&า สั�#งเด"ยว  ซึ่+#งในป็<จจ)บ�น สั�วนใหญ�ระบบฐนข้�อมู�ล (DBMS ) จะมู"ภาษาท"#ชิ,#อ SQL เป็�นมูาตรฐาน

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 57: บทที่ 3 แบบจำลองข้อมูล Data Models

57

• กฎข้�อท�� 8 ค์วัมูเป0นอ�สระข้องข้�อมู�ลในระด�บกย่ภพื่ (Physical data independence) 

ผุ้��ใชิ�งาน ระบบฐนข้�อมู�ล ( DBMS ) ไมู�จ&าเป็�นจะต�องร�บร� �เก"#ยวก�บการจ�ดเก4บข้�อมู�ลจร�ง รวมูท�-ง  การเป็ล"#ยนแป็ลงว�ธิ"การจ�ดเก4บเหล�าน"- และการเข�าถุ+งข้�อมู�ล ด�วยการระบ)ค�าเชิ�นเด�มูน"-ก4จะได�ค&า ตอบเหมู,อนเด�มูเสัมูอ ไมู�ว�าระบบจะได�มู"การเป็ล"#ยนแป็ลง ทางด�านกายภาพัอย�างไร

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 58: บทที่ 3 แบบจำลองข้อมูล Data Models

58

• กฎข้�อท�� 9 ค์วัมูเป0นอ�สระข้องข้�อมู�ลในระด�บตรรก (Logical data independence) 

การเป็ล"#ยนแป็ลงข้�อมู�ล ในระด�บตรรก รวมูถุ+งการเป็ล"#ยนแป็ลงโครงสัร�างข้�อมู�ล เชิ�น เพั�#มูเต�มูคอล�มูน� เข�าไป็ในตาราง หร,อการสัร�างตารางใหมู� เป็�นต�น

•   การเป็ล"#ยนแป็ลง ในระด�บตรรก มู"ผุ้ลต�อค&าสั�#ง และโป็รแกรมูท"#เข"ยนไว�ก�อนได�มูากกว�าการเป็ล"#ยนแป็ลงทางกายภาพั เชิ�น ซึ่อฟุต�แวร� สั�วนใหญ�ยอมูให�เราแก�ไขโครงสัร�าง (schema ) ได�โดยไมู�ต�องพั�มูพั�ข้�อมู�ลลงในตารางใหมู�ก4จร�ง

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 59: บทที่ 3 แบบจำลองข้อมูล Data Models

59

• กฎข้�อ 10 ค์วัมูเป0นอ�สระข้องระบบฐนข้�อมู�ล ( DBMS )  

• ระบบฐนข้�อมู�ล ( DBMS ) ควรจะสัามูารถุจ�ดเก4บข้�อมู�ลเก"#ยวก�บการควบค)มูความูคงสัภาพั ( integrity ) ในท)กร"เลชิ�#น จะถุ�กก&าหนดด�วยภาษาเชิ�งสั�มูพั�นธิ�และจ�ดเก4บในแคตาล4อกของระบบ

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 60: บทที่ 3 แบบจำลองข้อมูล Data Models

60

• กฎข้�อ 11 ค์วัมูเป0นอ�สระข้องกรกระจำย่ 

• ผุ้��ใชิ�ระบบไมู�ต�องให�ความูสันใจว�า ข้�อมู�ลจะถุ�ก จ�ดเก4บอย�างไร แมู�แต�จะถุ�กโยกย�าย ไป็ย�งเคร,#องคอมูพั�วเตอร� เคร,#องอ,#นท"#เชิ,#อมูโยงไว�ก4ตามู

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 61: บทที่ 3 แบบจำลองข้อมูล Data Models

61

•กฎข้�อ 12 กรไมู#ย่อมูให�ภษอ%�นท� ลย่กฎ 

• กฎิเกณ์ฑ์�ต�าง ๆ โดยเฉพัาะกฎิเก"#ยวก�บ integrity จะต�องสัามูารถุใชิ�ควบค)มูความู ถุ�กต�องของข้�อมู�ลในระบบได�ตลอดเวลา ไมู�ว�าผุ้��ใชิ�จะเข�าถุ+งข้�อมู�ลด�วยเคร,#องมู,อใด ๆ (เชิ�น ) ระบบ 4th GL หร,อ 3nd GL ) ก4ตามู

กฎ 12 ข้�อบนฐนข้�อมู�ลเชิ�งส�มูพื่�นธ�ข้องค์อดด�

Page 62: บทที่ 3 แบบจำลองข้อมูล Data Models

62

ค์�ณ์สมูบ�ต�ข้องร�เลชิ��น (Properties of Relation)

1 .ร"เลชิ�#นต�องมู"ชิ,#อก&าก�บ แตกต�างก�น ห�ามูซึ่&-าก�น2. แต�ละ Attributeของร"เลชิ�#นบรรจ)ได�เพั"ยงค�าเด"ยว3. ชิ,#อในแต�ละ Attribute ต�องแตกต�างก�น ห�ามูซึ่&-าก�น4. ค�าของข�อมู�ลใน Attribute เป็�นไป็ตามู Domain5. การเร"ยงล&าด�บของแต�ละ Attribute ไมู�มู"ความูสั&าค�ญ6. แต�ละ Tuple ต�องแตกต�างก�น ห�ามูให� Tuple ซึ่&-าก�น7. การเร"ยงล&าด�บของแต�ละ Tuple ไมู�มู"ความูสั&าค�ญ

Page 63: บทที่ 3 แบบจำลองข้อมูล Data Models

63

ค"ย� (Key)•Key ค,อ สั�#งท"#ใชิ�ในการก&าหนดความู

เป็�นเอกล�กษณ์�ของแถุวในความูสั�มูพั�นธิ�

•ท&าให�การเข�าถุ+งข�อมู�ลบนฐานข�อมู�ลเป็�นไป็ได�อย�างรวดเร4ว

•ท&าให�สัามูารถุแยกแยะข�อมู�ลในฐานข�อมู�ลให�เป็�นไป็อย�างถุ�กต�อง

Page 64: บทที่ 3 แบบจำลองข้อมูล Data Models

64

ป็ระเภทของ Key1.Superkey ค,อ attribute หร,อเซึ่ตของ

attribute ซึ่+#งท&าให�สัามูารถุแยกความูแตกต�างของ tuples ใน relation ได�

2.Candidate Key (CK)– Attribute หร,อกล)�มูของ Attribute ท"#ท&าให�ข�อมู�ลใน

แต�ละแถุวไมู�ถุ�กเก4บซึ่&-าซึ่�อนก�น– การพั�จารณ์าว�า Attribute ใดเป็�น CK ต�องมู"

ค)ณ์สัมูบ�ต�ด�งน"-• Uniqueness ค�าของ CKไมู�ซึ่&-าก�นเลยในแต�ละแถุว• Minimally จ&านวน Attribute ท"#รวมูก�นเป็�น CK มู"

น�อยท"#สั)ด แต�เพั"ยงพัอท"#จะท&าให� CK น�-นมู"ค�าไมู�ซึ่&-าก�นในแต�ละแถุว

Page 65: บทที่ 3 แบบจำลองข้อมูล Data Models

65

ประเภทข้อง Key(ต#อ)•3. Primary Key (PK)

–แอตทร�บ�วหร,อกล)�มูของแอตทร�บ�วท"#มู"ค�า ไมู�ซึ่&-าก�น ในร"เลชิ�#นน�-น

• ค)ณ์สัมูบ�ต�ของ primary key –ต�องมู"ค�าเสัมูอ–ค�าซึ่&-าก�นไมู�ได�

– ในแต�ละร"เลชิ�#นมู" primary key ต�วเด"ยวเท�าน�-น

– ค�าของ primary key เป็�น Null ไมู�ได�

Page 66: บทที่ 3 แบบจำลองข้อมูล Data Models

66

Null Value– ค�า Null ค,อ ค�าท"#เท�าก�บ Null –น�ยมูใสั�ให�ข�อมู�ลท"#ย�งไมู�ทราบค�าหร,อไมู�ร� �ค�า

แน�ชิ�ด–Null ไมู�ใชิ� 0 , ไมู�ใชิ� space–สัามูารถุก&าหนดให�ค�าของคอล�มูน�ใดๆ เป็�น Null ได�ยกเว�น Primary Key

Page 67: บทที่ 3 แบบจำลองข้อมูล Data Models

67

ป็ระเภทของ Key(ต�อ)4. Secondary Key , Alternate Key

เมู,#อเล,อก candidate key ต�วหน+#งไป็เป็�น primary key แล�วcandidate key ต�วท"#เหล,อจะเร"ยกว�า Alternate key

5. Foreign Key (FK) เป็�นค"ย�เพั,#อสัร�างความูสั�มูพั�นธิ�ระหว�างร"เลชิ�#น เพั,#อก&าหนดให�ข�อมู�ลในร"

เลชิ�#นมู"ค�าตรงก�บ primary key ของอ"กร"เลชิ�#นหน+#งหร,อร"เลชิ�#นเด�มูได�

ค์�ณ์สมูบ�ต�ข้อง Foreign key- ร"เลชิ�#นหน+#งๆ จะมู" Foreign key หร,อไมู�ก4ได�และถุ�ามู"จะมู"ก"#ต�ว

ก4ได�- Foreign key จะจ�บค��ก�บข�อมู�ลของ primary key ในอ"กร"

เลชิ�#นหน+#งหร,อภายในร"เลชิ�#นเด"ยวก�นก4ได� - FK สัามูารถุมู"ค�าเป็�น Null ได� หร,อ ต�องมูาจากค�าของคอล�มูน�ท"#

เป็�น PK ซึ่+#ง FK อ�างถุ+ง

Page 68: บทที่ 3 แบบจำลองข้อมูล Data Models

68

รห�สั ชิ,#อ สัก)ล บ�ตรป็ระชิาชิน โป็รแกรมูว�ชิา คณ์ะ47

00

00

1

มูณ์"จ�นทร� เฉยพั�วง

12525

34581

111

คอมูธิ)รก�จ ว�ทยาการจ�ดการ

47

00

00

2

วาย) ร�กด" 55522

23334

444

การจ�ดการท�#วไป็ ว�ทยาการจ�ดการ

47

00

00

3

แสัง ร&#ารวย 88899

96665

555

จ�ตว�ทยา คร)ศึาสัตร�Primary Key Alternate Key

Candidate Key

•ในตารางหน+#งๆ อาจมู" CK ได�มูากกว�า 1 ต�ว

Page 69: บทที่ 3 แบบจำลองข้อมูล Data Models

69

ต�วัอย่#ง CK ท��มูจำก Attribute เพื่�ย่งต�วัเด�ย่วั

รห�สั ชิ,#อ สัก)ล บ�ตรป็ระชิาชิน โป็รแกรมูว�ชิา คณ์ะ4700001

มูณ์"จ�นทร� เฉยพั�วง

1252534581111

คอมูธิ)รก�จ ว�ทยาการจ�ดการ

4700002

วาย) ร�กด" 5552223334444

การจ�ดการท�#วไป็ ว�ทยาการจ�ดการ

4700003

วาย) ร&#ารวย 8889996665555

จ�ตว�ทยา คร)ศึาสัตร�

Primary Key แบบท"#เป็�น Simple Key

•โดย CK แบบน"-มู"ชิ,#อเร"ยกว�า Simple Key

Page 70: บทที่ 3 แบบจำลองข้อมูล Data Models

70

ต�วัอย่#ง CK ท��มูจำก Attribute หลย่ต�วั

รห�สั รห�สัว�ชิา เกรด คะแนน ภาคเร"ยน4700001

412001 B 60 1/2547

4700002

412008 C+ 45 1/2547

4700001

412008 A 82 1/2547

Primary Key แบบท"#เป็�น Composite Key

•โดย CK แบบน"-มู"ชิ,#อเร"ยกว�า Composite Key

Page 71: บทที่ 3 แบบจำลองข้อมูล Data Models

71

ตารางพัน�กงาน

รห�สพื่น�กงน

ชิ%�อ แผู้นก รห�สข้องห�วัหน�งน

001 สมูบ�ต� หวั�งด�

บ�ญชิ� 002

002 วั�ระชิต� งมูผู้�วั

บ�ญชิ� NULL

003 ปฐมูพื่ร ส�ข้ส� ตลด 007

007 สมูฤท�ย่ ใจำด� ตลด NULLPrimary Key

Foreign Key + Null