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

Post on 03-Jan-2016

41 views 0 download

description

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

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

1

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

2

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

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

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

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

3

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

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

4

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

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

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

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

5

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

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

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

ใชิ�

6

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

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

7

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

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

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

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

8

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

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

ส#วันส�ง

น�)หน�ก

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

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

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

ท��อย่�#

9

ร�นอหรสข้

ท��ต�)ง

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

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

10

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

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

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

11

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

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

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

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

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

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

12

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

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

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

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

13

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

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

14

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

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

15

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

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

16

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

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

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

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

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)

18

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

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

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

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

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

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

model)

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

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).

21

Hierarchical d atabasemodel

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

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

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

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

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

22

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

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

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

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

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

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

23

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

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

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

24

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

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

25

Network Database

Customer

OrderItems

Ordered

Items

Entry point

Entry point

26

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

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

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

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

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

27

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

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

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

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

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

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)

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)

30

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

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

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

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

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

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

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

31

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

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

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

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

32

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

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

Model)

33

Object Class 1

Methods

AttributesObject Class 2 Object Class 3

AttributesAttributesMethods Methods

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

34

Object-Oriented DBMSCustomer

CustomerIDName… Add CustomerDrop CustomerChange Address

OrderOrderIDCustomerID… NewOrderDeleteOrder…

OrderItemOrderIDItemID… OrderItemDropOrderItem…

ItemItemIDDescription… New ItemSell ItemBuy Item …

GovernmentCustomer

ContactNameContactPhoneDiscount, …

NewContact

CommercialCustomer

ContactNameContactPhone…

NewContact

35

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

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

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

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

Model)

36

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

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

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

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

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

Model)

37

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

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

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

38

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

Database Model)•ข้�อด�

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

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

39

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

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

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

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

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

40

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

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

Structure)

41

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

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

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

Structure)

42

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

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

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

Structure)

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

44

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

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

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

Structure)

45

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

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

Structure)

46

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

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

Structure)

47

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

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

Structure)

48

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

Tuple Row Record

Attribute Column Field

49

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

203025193007

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

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

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

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

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

340003800035000

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

Unix

Tuplesท�พัเป็Cล

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

Relationร"เลชิ�น

Attributeแอททรบ�วท�

Degreeด"กร"

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

50

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

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

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

51

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

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

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

52

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

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

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

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

53

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

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

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

54

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

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

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

55

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

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

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

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

56

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

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

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

57

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

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

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

58

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

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

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

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

59

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

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

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

60

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

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

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

61

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

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

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

62

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

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

63

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

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

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

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

64

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

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

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

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

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

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

65

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

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

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

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

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

66

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

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

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 อ�างถุ+ง

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 ต�ว

69

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

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

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

1252534581111

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

4700002

วาย) ร�กด" 5552223334444

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

4700003

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

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

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

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

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

71

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

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

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

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

บ�ญชิ� 002

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

บ�ญชิ� NULL

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

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

Foreign Key + Null