Download - บทที่ 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