chapter 7

29
1 Chapter 7 Analysis: Component Data Model & Database M odel Aj. Khuanlux Mitsophonsiri CS.324 & CS.313 System Analysis and Design

Upload: gloria-barron

Post on 01-Jan-2016

18 views

Category:

Documents


0 download

DESCRIPTION

Chapter 7. Analysis: Component Data Model & Database Model. Aj. Khuanlux MitsophonsiriCS.324 & CS.313 System Analysis and Design. ส่วนประกอบของแบบจำลองข้อมูล Data Model - PowerPoint PPT Presentation

TRANSCRIPT

1

Chapter 7

Analysis: Component Data Model & Database Model

Aj. Khuanlux Mitsophonsiri CS.324 & CS.313 System Analysis and Design

2

ส่�วนประกอบของแบบจำ��ลองข�อมู�ล Data Model1. ส่�วนโครงส่ร��ง (Structural) ประกอบด้วยกลุ่ �มสั�ญลุ่�กษณ์�รวมทั้��ง

กฎระเบ�ยบทั้��เห็�นพ้องต้องก�น เพ้"�อใช้ในการสัรางฐานข้อม(ลุ่ เช้�นการจั�ด้เก�บข้อม(ลุ่ในร(ปแบบข้องต้าราง (Table)

(Column – Row)2. ส่�วนปร�บปร�ง (Manipulative) เป+นสั�วนทั้��ก,าห็นด้ช้น-ด้ข้องการปฏิ-บ�ต้-

การต้�างๆทั้��เก��ยวก�บข้อม(ลุ่ ประกอบด้วยการ Update , การเร�ยกด้(ข้อม(ลุ่จัากฐานข้อม(ลุ่ , การเปลุ่��ยนแปลุ่งโครงสัรางฐานข้อม(ลุ่ น-ยมใช้ SQL ในการจั�ด้การข้อม(ลุ่

3. ส่�วนกฎคว�มูคงส่ภ�พ (a set of integrity rules) เป+นกฎเกณ์ฑ์�ทั้��ใช้ในการควบค มความถู(กต้องข้องข้อม(ลุ่ เพ้"�อให็เก-ด้ความม��นใจัในความถู(กต้องก�อนการบ�นทั้4กข้อม(ลุ่ 

3

ค�ณส่มูบ�ติ�ของแบบจำ��ลองข�อมู�ลที่!"ดี!1. ง��ยติ�อคว�มูเข��ใจำ - ใช้กฎเกณ์ฑ์�ทั้��วไป โด้ยม�ข้อม(ลุ่ Attribute อธิ-บายในรายลุ่ะเอ�ยด้ข้องแต้�ลุ่ะ Entity2. มู!ส่�ระส่��ค�ญและไมู�ซ้ำ�*�ซ้ำ�อน - Attribute ในแต้�ลุ่ะ Entity ไม�ควรม�ข้อม(ลุ่ซ้ำ,�าซ้ำอนโด้ยบาง Attribute อาจัจัะเป+น Foreign Key เพ้"�อใช้ในการอางอ-งข้อม(ลุ่ในอ�ก Entity ห็น4�ง3. มู!คว�มูย+ดีหย��นและง��ยติ�อก�รปร�บปร�งในอน�คติ - ไม�ข้4�นก�บ Application Program , การเปลุ่��ยนแปลุ่งโครงสัรางไม�กระทั้บ ก�บโปรแกรม

4

1. แบบจั,าลุ่องฐานข้อม(ลุ่แบบลุ่,าด้�บช้��น (Hierarchical database Model) 2. แบบจั,าลุ่องฐานข้อม(ลุ่แบบเคร"อข้�าย (Network database Model) 3. แบบจั,าลุ่องฐานข้อม(ลุ่เช้-งสั�มพ้�นธิ� (Relational

database Model) 4. แบบจั,าลุ่องฐานข้อม(ลุ่เช้-งว�ต้ถู (Object- Oriented database Model) 

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

5

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

ช้��น - ข้อม(ลุ่จัะม�ความสั�มพ้�นธิ�แบบ - - one to many ระด้�บสั(งสั ด้เร�ยกว�า

Root - ม�ความสั�มพ้�นธิ�แบบ Parent / Child (พ้�อ/ลุ่(ก) - เป+นสัถูาป9ต้ยกรรมฐานข้อม(ลุ่ทั้��เก�าแก�ทั้��สั ด้ ป9จัจั บ�นไม�น-ยมใช้งาน

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

1. แบบจำ��ลองฐ�นข�อมู�ลแบบล��ดี�บชั้�*น (Hierarchicald atabase model)

6

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

7

Hierarchical Database

Customers

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

8

ข�อดี! 1. ม�โครงสัรางทั้��เข้าใจัง�าย - Tree Structure

2. โครงสัรางข้องฐานข้อม(ลุ่ซ้ำ�บซ้ำอนนอยทั้��สั ด้ เห็มาะก�บข้อม(ลุ่ทั้��ม�ความสั�มพ้�นธิ�

แบบ - -one to many 3. ม�การป;องก�นความปลุ่อด้ภั�ยข้องข้อม(ลุ่ทั้��ด้� เพ้ราะต้องอ�านข้อม(ลุ่ทั้��เป+น

ต้นก,าเน-ด้ก�อน 4. เห็มาะก�บข้อม(ลุ่ทั้��ม�การเร�ยงลุ่,าด้�บแบบต้�อเน"�อง

Hierarchical d atabase model

9

ข�อเส่!ย 1. ไม�สัามารถูรองร�บข้อม(ลุ่ทั้��ม�ความสั�มพ้�นธิ�แบบ

- - many to many ได้ 2 . ม�ความย"ด้ห็ย �นนอย แลุ่ะย �งยากในการปร�บ

เปลุ่��ยนโครงสัราง Tree 3 . การเร�ยกใช้ข้อม(ลุ่ต้องผ่�านจัาก Root เสัมอ

การคนห็าข้อม(ลุ่ในระด้�บลุ่�าง ต้องคนห็าทั้��งแฟ้;มข้อม(ลุ่

4 . การพ้�ฒนาโปรแกรมค�อนข้างยาก ต้องทั้ราบถู4งโครงสัรางใน การจั�ด้เก�บข้อม(ลุ่

Hierarchical d atabase model

10

ม�ลุ่�กษณ์ะโครงสัรางทั้��คลุ่ายก�บโครงสัรางแบบลุ่,าด้�บช้��น แต้�แต้กต้�างก�นทั้��ข้อม(ลุ่ม�ความสั�มพ้�นธิ�ได้ทั้��งแบบ - - - - one to one , one to manyแลุ่ะ - -many to many อ�กทั้��งย�งสัามารถูน,าเอาอ�ลุ่กอร-ทั้4มข้องการ Hashing มาใช้ในการคนห็าข้อม(ลุ่ 

2 . แบบจำ��ลองข�อมู�ลเคร+อข��ย (Network Database Model)

11

D

C

B

A

Mouse

Printer

CPU

Ram

แบบจำ��ลองข�อมู�ลเคร+อข��ย (Network Database Model)

ส่�นค�� ล�กค��

12

Network Database

Customer

OrderItems

Ordered

Items

Entry point

Entry point

13

ข�อดี! 1. สัน�บสัน นความสั�มพ้�นธิ�แบบ - -many to many

2. ความซ้ำ�บซ้ำอนในข้อม(ลุ่เก-ด้ข้4�นนอยกว�าแบบลุ่,าด้�บช้��น 3. สัามารถูเช้"�อมโยงข้อม(ลุ่แบบไปกลุ่�บได้ 4. ม�ความย"ด้ห็ย �นในการคนห็าข้อม(ลุ่ด้�กว�า โด้ยใช้ Pointer ใน

การเข้าถู4งข้อม(ลุ่ข�อเส่!ย1. เน"�องจัากสัามารถูเข้าถู4งข้อม(ลุ่ได้โด้ยต้รง ทั้,าให็การป;องก�น

ความปลุ่อด้ภั�ยข้อง ข้อม(ลุ่ม�นอยลุ่ง

2. สั-�นเปลุ่"องเน"�อทั้��ข้องห็น�วยความจั,าในการเก�บ Pointer 3. การเปลุ่��ยนแปลุ่งในโครงสัรางย�งม�ความย �งยากอย(� 

แบบจำ��ลองข�อมู�ลเคร+อข��ย (Network Database Model)

14

เป+นแบบทั้��คนใช้มากทั้��สั ด้ในป9จัจั บ�น เป+นผ่ลุ่งานข้อง E.F.Codd (ค.ศ . 1970) น,าเสันอข้อม(ลุ่ในร(ปแบบต้าราง

ทั้,าให็สัามารถูเข้าใจัได้ง�าย ประกอบด้วย Row แลุ่ะ Colum n สัามารถูแสัด้งความสั�มพ้�นธิ�ได้ทั้��งแบบ - - one to one ,

- - one to many แลุ่ะ - - many to many แลุ่ะใช้ Key ในการอางอ-งก�บต้ารางอ"�น (Primary key , Secondary

Key) สัามารถูใช้ค,าสั��ง SQLในการจั�ด้การก�บฐานข้อม(ลุ่ช้น-ด้น�� 

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

15

E-ID

NAME

ADDRESS

PHONE

001

Somchai

Bangkok

02-2322212

002

Sompon

Chonburi

085-3342518

003

Somsri

Ranong 084-1456321

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

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

16

Relational Database

Customer(CustomerID, Name, …

Order(OrderID, CustomerID, OrderDate, …

ItemsOrdered(OrderID, ItemID, Quantity, …

Items(ItemID, Description, Price, …

17

CustomerID Name LastName Address City1 สัมช้าย แซ้ำ�ต้��ง 333 ถู.วรจั�กร กร งเทั้พ้ฯ.2 อด้-สัรณ์� สัมใ จัน4ก 10 ซ้ำ. ลุ่าด้พ้ราว 108 กร งเทั้พ้ฯ.3 อ,านาจั ช้วนฝั9น 88/8 ถู. พ้ระ ราม 3 กร งเทั้พ้ฯ.4 อมรศร� ทั้ร�พ้ย�ม� 33 ถู.รามค,าแห็ง กร งเทั้พ้ฯ.5 อพ้-นยา งามช้ด้ช้อย 200/25 ถู.ว-ช้ายนนทั้� เช้�ยงใ ห็ม�6 ช้มพ้�ด้ ด้(ช้าต้-ช้าย 51/63 ถู.ประ ช้าราช้ นนทั้บ ร�7 ช้วนจั-ต้ น�าพ้-ศม�ย 34/88 ถู.สั เทั้พ้ เช้�ยงใ ห็ม�8 ด้อกไ ม พ้-นงามแทั้ 6/99 ถู.รามอ-นทั้รา กร งเทั้พ้ฯ.

RelationCustomer

18

OrderID CustomerID OrderDate1 2 31/1/19552 3 3/2/19553 1 28/2/19554 5 19/3/19555 4 21/3/19556 6 29/3/19557 6 1/4/19558 7 10/4/19559 8 30/12/1955

OrderId ItemID Quantity1 1 101 3 252 4 52 7 33 8 24 1 64 3 75 1 35 2 36 8 56 9 37 6 27 8 208 4 109 1 1

RelationOrder

RelationItems Ordered

19

ItemID Description Price1 ปากกาลุ่(กลุ่"�น 152 ปากกาห็ม4กซ้ำ4ม 1203 ด้-นสัอ 2 B 54 ด้-นสัอ 1.5 B 45 ยางลุ่บปากกา 156 ยางลุ่บด้-นสัอ 57 กระ ด้าษวาด้เข้�ยน 58 กระ ด้าษถู�ายเอกสัาร 29 กบเห็ลุ่าด้-นสัอ 3

RelationItems

20

Common Order SystemCustomer

Order

Salesperson

Item

OrderItem

1

m

1

m1

m1

m

Customer(CustomerID, Name, Address, City, Phone)

Salesperson(EmployeeID, Name, Commission, DateHired)

Order(OrderID, OrderDate, CustomerID, EmployeeID)

OrderItem(OrderID, ItemID, Quantity)

Item(ItemID, Description, ListPrice)

21

ข�อดี! 1. สัามารถูสั"�อสัารแลุ่ะเข้าใจัได้ง�าย

2. สัามารถูเลุ่"อกแสัด้งข้อม(ลุ่ต้ามเง"�อนไข้ได้ห็ลุ่าย Key Field 3. ความซ้ำ�บซ้ำอนข้องข้อม(ลุ่ม�นอยมาก 4. ม�ระบบร�กษาความปลุ่อด้ภั�ยทั้��ด้�ผ่(ใช้งานไม�ต้องทั้ราบโครงสัรางข้องการเก�บข้อม(ลุ่ภัายในฐานข้อม(ลุ่ 5. โครงสัรางข้องฐานข้อม(ลุ่ม�ความอ-สัระจัากโปรแกรม

ข�อเส่!ย 1. ต้องม�การลุ่งทั้ นสั(งเน"�องจัากต้องใช้ Hardware แลุ่ะ Software

ทั้��ม�ความสัามารถูสั(ง 

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

22

ส่�วนประกอบของโครงส่ร��งฐ�นข�อมู�ลเชั้�งส่�มูพ�นธ์1 (Relation Database Structure)Relation - ต้าราง 2 ม-ต้- ประกอบด้วย Row แลุ่ะ ColumnAttribute - ค ณ์สัมบ�ต้-ห็ร"อรายลุ่ะเอ�ยด้ข้อง Relation

Domain - เป+นการก,าห็นด้ข้อบเข้ต้ ค�าข้อม(ลุ่ แลุ่ะช้น-ด้ข้องข้อม(ลุ่ เช้�น Salary - ม�ค�าไม�เก-น 7 digits , เพ้ศ - 1 = ช้าย / 2 = ห็ญ-งTuple - ค"อแถูวแต้�ลุ่ะแถูวใน RelationDegree - ค"อจั,านวน Attribute ทั้��บรรจั อย(�ใน Relation

Cardinality - ค"อจั,านวน Tuple ห็น4�งทั้��บรรจั อย(�ใน Relation ห็น4�งทั้��ไปม�ความสั�มพ้�นธิ�ใน Tuple ข้องอ�ก Relation ห็น4�ง  

23

1. Relation ต้องม�ช้"�อก,าก�บ แลุ่ะช้"�อซ้ำ,�าก�นไม�ได้ 2. แต้�ลุ่ะ AAAAAAAAA ข้อง AAAAAAAA จัะบรรจั ค�าเพ้�ยงค�าเด้�ยว ( )

3. ช้"�อข้องแต้�ลุ่ะ Attribute ในแต้�ลุ่ะ AAAAAAAA จัะต้องไม�ซ้ำ,�าก�น 4. ค�าข้องข้อม(ลุ่ใน Attribute ต้องเป+นไปต้ามข้อก,าห็นด้ข้อง AAAAAA

ใน Attribute น��นๆ 5. การเร�ยงลุ่,าด้�บในแต้�ลุ่ะ Attribute ไม�ม�ความสั,าค�ญใด้ๆ 6. แต้�ลุ่ะ AAAAA ต้องไม�ม�ข้อม(ลุ่ทั้��ซ้ำ,�าก�น 7. การเร�ยงลุ่,าด้�บข้องแต้�ลุ่ะ Tuple ไม�ม�ความสั,าค�ญใด้ๆ 

ค�ณส่มูบ�ติ�ของ Relation (Properties of Relations)

24

ค"อการก,าห็นด้ Column ห็ร"อกลุ่ �มข้อง Column เพ้"�อใช้ในการระบ แถูว

ต้�างๆ โด้ยทั้,าให็แต้�ลุ่ะแถูวม�ความแต้กต้�างก�น ต้�วอย�างข้อง Keyม�ด้�งน��

1. Super Key ค"อ Attribute ห็ร"อกลุ่ �มข้อง Attribute ทั้��บ�งบอกถู4งความเป+นเอกลุ่�กษณ์�ข้องแต้�ลุ่ะ Tuple ใน

Relation น��น 2. Candidate Key ค"อ Key ค(�แข้�ง 3. Primary Key ค"อ Key ค(�แข้�งทั้��ผ่�านการค�ด้เลุ่"อกเพ้"�อให็เป+น Primary Key แลุ่ะใช้ในการอางอ-งรวมทั้��งแสัด้งความเป+นเอกลุ่�กษณ์�ข้อง Relation น��น

Keys

25

4. Secondary Key ห็ร"อ Alternate Key เป+น Key สั,ารอง ค"อ Key ค(�แข้�งทั้��ไม�ได้ถู(กเลุ่"อกเป+น Key ห็ลุ่�ก (Primary Key) 5. ( )Foreign Key FK ค"อ Key นอก ประกอบด้วย Attributeห็ร"อกลุ่ �มข้อง Attribute ใน Relation ทั้��ม�ค ณ์สัมบ�ต้-เป+น

Key ห็ลุ่�ก แลุ่ะไปปรากฏิในอ�ก Relation ห็น4�ง Keyนอก จั�ด้เป+น Key ทั้��ม�ความสั,าค�ญเพ้ราะเป+นต้�วเช้"�อม

ความสั�มพ้�นธิ�ใน Relation 6. Composite Key เป+น Key ค(�แข้�งทั้��ประกอบด้วยกลุ่ �มข้อง

Attribute ซ้ำ4�งอาจัเร�ยกเป+น Concatenated Key ห็ร"อ Compound Key

26

- เก-ด้จัากแนวค-ด้ข้องการเข้�ยนโปรแกรมเช้-งว�ต้ถู (OOP Object Oriented Program) โด้ยการมองข้อง

ทั้ กสั-�งเป+นว�ต้ถู โด้ยแต้�ลุ่ะว�ต้ถู จัะเป+นแห็ลุ่�งรวมข้องข้อม(ลุ่แลุ่ะการปฏิ-บ�ต้-งาน (Data & Procedure)- ม�คลุ่าสัเป+นต้�วก,าห็นด้ค ณ์สัมบ�ต้-ห็ร"อรายลุ่ะเอ�ยด้ข้องว�ต้ถู รวม

ทั้��งค ณ์สัมบ�ต้- การปกปCด้ความลุ่�บข้องว�ต้ถู (Encapsulation)- การเข้าถู4งข้อม(ลุ่ต้องม�การต้อบร�บจัาก Method ในว�ต้ถู น��นว�า

จัะอน ญาต้ ในการสั�งMessage เพ้"�อการต้-ด้ต้�อห็ร"อไม�

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

27

Object Class 1

Methods

AttributesObject Class 2 Object Class 3

AttributesAttributesMethods Methods

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

28

Object-Oriented DBMS

CustomerCustomerIDName… Add CustomerDrop CustomerChange Address

OrderOrderIDCustomerID… NewOrderDeleteOrder…

OrderItemOrderIDItemID… OrderItemDropOrderItem…

ItemItemIDDescription… New ItemSell ItemBuy Item …

GovernmentCustomer

ContactNameContactPhoneDiscount, …

NewContact

CommercialCustomer

ContactNameContactPhone…

NewContact

29

ข�อดี! 1. สัามารถูจั�ด้การก�บข้อม(ลุ่ทั้��ม�ความซ้ำ�บซ้ำอนได้เป+นอย�างด้�

(Graphic , VDO , Voice) 2 . สัน�บสัน นค ณ์สัมบ�ต้-ข้องการน,ากลุ่�บมาใช้ให็ม� (Reuseable)

ข�อเส่!ย1. ต้องอาศ�ยบ คลุ่ากรทั้��ม�ความร( แลุ่ะประสับการณ์�มากในการ

จั�ด้การก�บ ฐานข้อม(ลุ่ช้น-ด้น��

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