Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
การออกแบบฐานขอมล (Database Design)
1
แบบจ าลองขอมล (Data Model)
ใชอธบายขอมลทสนบสนนกระบวนการทางธรกจ
น าเสนอในรปของ logical คอ ไมจ าเปนตองทราบวามการจดเกบขอมลอยางไร มการสรางหรอปรบปรงขอมลอยางไร
ตองการทราบวามขอมลอะไรบางในกระบวนการทางธรกจ
เมอไดขอมลในรป logical แลวจะน าไปสการออกแบบเชง physical
2
แผนภาพกระแสขอมลมงเนนน าเสนอใหเหนถงความสมพนธระหวางกระบวนการ (Process) กบขอมล
แบบจ าลองขอมลจะแสดงใหเหนถงความสมพนธระหวางขอมลในระบบ มกน าเสนอในรปของแผนภาพทเรยกวา แผนภาพออาร หรอ ออารไดอะแกรม (ERD:Entity Relationship Diagram)
3
ฐานขอมล (Database)
ฐานขอมล (Database) หมายถง กลมของแฟมขอมลทมความสมพนธกนและถกน ามารวมกน
ฐานขอมลทจดท าขนเพอสนบสนนการด าเนนงานอยางใดอยางหนงนนวา “ระบบฐานขอมล (Database System)”
4
องคประกอบของระบบฐานขอมล
องคประกอบของระบบฐานขอมล 1. ขอมล (Data) 2. ฮารดแวร (Hardware) 3. ซอฟตแวร (Software) 4. ผใช (User) ◦ Application Programmer ◦ End User ◦ Database Administrator (DBA)
5
ระบบจดการฐานขอมล (Database Management System :DBMS)
คอ ซอฟตแวรส าหรบบรหารและจดการฐานขอมล ซงจะเปนเสมอนตวกลางระหวางผใชกบฐานขอมล ท าหนาทในการสราง เรยกใชขอมล หรอปรบปรงฐานขอมลในการท างานกบฐานขอมลจะตองผาน DBMS ทกครง โดยผใชจะท าหนาทออกค าสงกบ DBMS แลว DBMS จะมหนาทไปจดการตามค าสงนน
6
หนาทของระบบจดการฐานขอมล
การจดเตรยมมมมองของผใช (User View) การสรางและการแกไขฐานขอมล การจดเกบและเรยกใชขอมล การด าเนนการกบขอมลและการสรางรายงาน
7
ขอดในการจดการฐานขอมล 1. ลดความยงยากของขอมลภายในองคการโดยรวมขอมลไวทจดหนง
และผควบคมดแลการใชขอมล การเขาถงขอมล การน าขอมลไปใชประโยชนและดแลความปลอดภย 2. ลดการซ าซอนของขอมล (Redundancy) ในกรณทขอมลอยเปนเอกเทศ 3. ลดความสบสน (Confusion) ของขอมลภายในองคการ 4. คาใชจายในการพฒนาโปรแกรมและการบ ารงรกษาภายหลงจากระบบสมบรณแลวจะลดลงเมอเทยบกบแบบเกา 5. มความยดหยนในการขยายฐานขอมล การปรบปรงแกไขท าไดงายกวา 6. การเขาถงขอมลและความสะดวกในการใชสารสนเทศมเพมขน
8
ชนดของฐานขอมล
รปแบบของฐานขอมลจะขนอยกบมมมองหรอความสนใจของผพฒนาฐานขอมล จนเกดเปนแบบจ าลอง (Model)
ในการพฒนาเปนฐานขอมลหลายรปแบบโดยทวไปแบงเปน 3 รปแบบ ไดแก
ฐานขอมลแบบล าดบชน (Hierarchical Database) ฐานขอมลแบบเครอขาย (Network Database) ฐานขอมลเชงสมพนธ (Relational Database)
9
ฐานขอมลเชงสมพนธ (Relational Database)
สมพนธเปนฐานขอมลทไดรบความนยมมากทสดในปจบน เปนฐานขอมลทงายตอการท าความเขาใจโครงสรางขอมล แมวาฐานขอมลชนดนจะท างานชาและตองการเครองคอมพวเตอรทมประสทธภาพสง
ประกอบดวยกลมของตาราง (Tables) แบบ 2 มต โดยแบงเปน ◦ แถว (Row) แตละแถวจะใชเกบขอมล 1 เรคคอรด ◦ คอลมน (Column) แตละคอลมนจะใชเกบคาของฟลดตาง ๆ ของขอมลภายในตาราง
มการสรางรเลชน (Relation) ระหวางตารางทมความสมพนธกน
10
11
ค าศพททมกใชในฐานขอมลเชงสมพนธ
Entity หมายถง องคประกอบสวนหนงของขอมลแตละรายการทมคณสมบตรวมกนภายใตขอบเขตของระบบหนงทก าลงสนใจ เชน ระบบโรงเรยน ซงจะประกอบไปดวย Entity นกเรยน (STUDENT) Entity อาจารย (TEACHER) เปนตน
Attribute (Property/Element/Field) หมายถง คณสมบตหรอลกษณะของ Entity ทสนใจ เชน Entity นกเรยนอาจม Attribute ดงนนามสกล เพศ อาย ระดบชน เปนตน
12
คยแตละประเภท
คยหลก ( Primary Key ) เปนคยคแขงทถกเลอกมาเปนคยของรเลชน หรอ เปนคยทใชในการอางองขอมล สามารถใชเจาะจงถงแถวของขอมลใดขอมลหนงโดยมคณสมบตดงน ◦ ขอมลของแอททรบวทมความเปนหนงเดยว(Uniqueness) คอ ทกแถวของตารางจะตองไมมขอมลของแอททรบวททเปนคยหลกซ ากนเลย ◦ ตองประกอบดวยจ านวนแอททรบวททนอยทสดทจะสามารถใชเจาะจงหรออางองถงแถวใดแถวหนงในรเลชนได
คยคแขง (Candidate Key) คอ กลมของแอททรบวททมคณสมบตทสามารถเลอกขนมาใหเปนคยหลกของรเลชนได
13
คยนอก (Foreign Key) เปนคยทใชในการอางองตางรเลชนกนได หรอเปนคยทใชแสดงความสมพนธระหวางรเลชน โดยมคณลกษณะดงน ◦ เปนแอททรบวทหรอกลมของแอททรบวททอยในรเลชนหนง ๆ ทคาของแอททรบวทนนไปปรากฎเปนคยหลกในอกรเลชน (หรออาจเปนรเลชนเดมกได) ◦ เปรยบเสมอนกาวเชอมขอมลในรเลชนหนงกบอกรเลชนหนง ซงเปนการสรางความสมพนธระหวางรเลชน ◦ คยนอกและคยหลกของอกรเลชนทมความสมพนธกนจะตองอยภายใตโดเมนเดยวกน และคยนอกไมจ าเปนตองมชอเหมอนกบคยหลกของอกรเลชนทมความสมพนธกน ◦ รเลชนหนง ๆ อาจจะมคยนอกอยหรอจะไมมกได
14
แบบจ าลองอ-อาร (ER-Model)
แบบจ าลองอ-อาร (Entity-Relationship Model) เปนเครองมอทชวยในการออกแบบเพออธบายขอมลตาง ๆ ในรปแบบของเอนทตและความสมพนธระหวางเอนทต
แบบจ าลองอ-อาร มองคประกอบหลกอย 3 ประการ คอ ◦ เอนทต ◦ แอตทบวต ◦ ความสมพนธ
15
เอนทต (Entity) คอสงทสนใจสามารถระบไดในความเปนจรง และตองการเกบรวบรวมขอมลทเกยวของไวในฐานขอมล
ตวอยางของเอนทตประเภทตาง ๆ เชน ◦ บคคล ไดแก พนกงาน ลกคา นกศกษา เปนตน ◦ สถานท ไดแก จงหวด ทอย ประเทศ เปนตน ◦ วตถ ไดแก เครองจกร สนคา เปนตน ◦ เหตการณ ไดแก การซอสนคา การลงทะเบยน เปนตน
16
เอนทตสามารถแบงเปน 2 ประเภท คอ ◦ เอนทตปกต (Strong Entity) - เอนทตทสนใจและตองการจดเกบขอมลทเกยวของไวในระบบฐานขอมล การคงอยของเอนทตนไมเกยวของกบเอนทตอน มคณสมบต Identity ไดดวยตวเอง ◦ เอนทตออนแอ (Weak Entity) - เอนทตทมการคงอยเกยวของกบเอนทตอนในระบบฐานขอมล ซงเรยกวา Parent Entity เอนทตออนแอจะไมสามารถปรากฎในฐานขอมลได หากปราศจาก Parent Entity ทมความสมพนธเกยวของกน สามาชกของเอนทตออนแอจะสามารถมคณสมบต Identity ไดกตอเมออาศย Property ใด Property หนง ของเอนทตปกตมาประกอบกบ Property ของเอนทตนน ๆ
17
แอตทบวต (Attribute) คอคณสมบตหรอคณลกษณะเฉพาะของแตละเอนทต เชน แอตทบวตของเอนทตพนกงานประกอบดวย รหสพนกงาน ชอ-นามสกล ทอย เพศ อาย เปนตน
18
แอตทบวตสามารถแบงเปน 6 ประเภท คอ
◦ Atomic Attribute - แอตทบวตทไมสามารถแบงแยกยอยลงไปไดอก ◦ Composite Attribute - แอตทบวตทสามารถแบงแยกยอยลงไปไดอก ◦ Key Attribute - แอตทบวตหรอกลมของแอตทบวตทมคาของขอมลในแตละสมาชกของเอนทตไมซ ากนท าใหสามารถระบความแตกตางของแตละสมาชกในแตละเอนทตได
◦ Single - Valued Attribute - แอตทบวตทมคาของขอมลในแตละสมาชกของเอนทตไดเพยงคาเดยว
◦ Multi -Valued Attribute - แอตทบวตทสามารถมคาของขอมลในแตละสมาชกของเอนทตไดหลายคา
◦ Derived Attribute - แอตทบวตทมคาของขอมลไดมาจากการน าคาขอมลของแอตทบวตอนมาประมวลผลหรอท าการค านวณ โดยทวไปไมจ าเปนตองจดเกบแอตทบวตนไวในระบบฐานขอมล เนองจากแอตทบวตนจะมการเปลยนแปลงคาทกครงเมอมการค านวณ
19
ความสมพนธ (Relationship)
คอความสมพนธระหวางเอนทต ความสมพนธแตละอนจะถกระบดวยชอทใชอธบายความสมพนธนน ๆ การตงชอความสมพนธโดยทวไปจะใชค ากรยาทแสดงการกระท า
20
ลกษณะความสมพนธของขอมลแบงไดเปน 3 ลกษณะ ◦ ความสมพนธแบบหนงตอหนง ( 1:1 ) ◦ ความสมพนธแบบหนงตอกลม ( 1:N ) ◦ ความสมพนธแบบกลมตอกลม (N:M )
21
ความสมพนธแบบหนงตอหนง
คอความสมพนธทแตละสมาชกในเอนทตหนงมความสมพนธกบสมาชกในอกหนงเอนทตเพยงสมาชกเดยว
ใชสญลกษณ 1 : 1 ก ากบเหนอเสนทเชอมตอระหวางความสมพนธและเอนทตทเกยวของกบความสมพนธ
เชน นกศกษา 1 คน สามารถสงกดไดเพยง 1 คณะ
22
ความสมพนธแบบหนงตอกลม
คอความสมพนธทแตละสมาชกในเอนทตหนงมความสมพนธกบสมาชกในอกหนงเอนทตมากกวาหนงสมาชก
ใชสญลกษณ 1: N ก ากบเหนอเสนทเชอมตอระหวางความสมพนธและเอนทตทเกยวของกบความสมพนธนน
เชน คณะเรยน 1 คณะสามารถมนกศกษาไดหลายคน
23
ความสมพนธแบบกลมตอกลม
ความสมพนธทสมาชกมากกวาหนงสมาชกในเอนทตหนง มความสมพนธกบสมาชกในอกหนงเอนทตมากกวาหนงสมาชก
ใชสญลกษณะ N:M ก ากบเหนอเสนทเชอมตอระหวางความสมพนธและเอนทตทเกยวของกบความสมพนธนน
เชน นกศกษา 1 คนสามารถเรยนไดหลายวชา และ วชา 1 วชากสามารถมนกศกษาเรยนไดหลายคน
24
อ-อาร ไดอะแกรม (ER-Diagram)
Entity Relationship Diagram เปนแผนภาพทใชแสดงโครงสรางของฐานขอมล สามารถท าความเขาใจภาพรวมของฐานขอมลไดงายขน
สวนประกอบของ ER-Diagram คอ ◦ Entity ◦ Attribute ◦ Relation ◦ เสนเชอมความสมพนธ
25
สญลกษณทใชใน ER-Diagram
Entity ใชสญลกษณรปสเหลยมผนผาแทน 1 เอนทต โดยมชอของเอนทตก ากบอยภายใน ◦ Strong Entity
◦Weak Entity
26
นกศกษา
วชาทเรยน
Attribute ใชสญลกษณใชรปวงรแทน 1 แอตทบวต โดยมชอของแอตทบวตก ากบอยภายในและเชอมตอกบเอนทตดวยเสนตรง
27
รหสนกศกษา
ชอ เพศ
เบอรโทรศพท
อาย
1. Atomic Attribute
3. Key Attribute
4. Single - Valued Attribute
5. Multi -Valued Attribute
6. Derived Attribute
ชอ- นามสกล 2.Composite Attribute
นามสกล ชอ
Relation ใชสญลกษณรปสเหลยมขนมเปยกปนแทน 1 ความสมพนธ โดยมชอของความสมพนธนน ๆ ก ากบอยภายใน และเชอมตอกบเอนทตทเกยวของกบความสมพนธนนดวยเสนตรง
28
นกศกษา คณะ สงกด 1 1
คณะ นกศกษา ม 1 N
นกศกษา วชา เรยน N M
ตวอยางภาพ ER-Diagram
29
กระบวนการ Normalization
กระบวนการ Normalization หรอการท าใหตารางขอมล(relation) อยในรปแบบบรรทดฐาน เปนขนตอนในการสรางฐานขอมลเชงสมพนธจะตองผานกระบวนการ Normalization ในระหวางการออกแบบเพอลดความซ าซอน และเพอใหการจดการฐานขอมลเปนไปอยางมประสทธภาพมากขน
30
รปแบบบรรทดฐานขนท 1 : First Normal Form (1NF) คณสมบตของรปแบบทเปนบรรทดฐานขนท 1
Entity ทจะมคณสมบตเปน 1 NF ในแตละ Attribute จะตองมขอมลเพยงขอมลเดยว
31
รปแบบทเปนบรรทดฐานขนท 2 (Second Normal Form : 2NF) คณสมบตของรปแบบทเปนบรรทดฐานขนท 2
1. Entity น นจะตองมคณสมบตของ 1 NF 2. จะตองไมม Attribute ใดเกดความสมพนธแบบ
Partial Dependency
32
รปแบบทเปนบรรทดฐานขนท 3 (Third Normal Form : 3NF) คณสมบตของรปแบบทเปนบรรทดฐานขนท 3 1. รเลชนน นมคณสมบตอยในรปแบบทเปนบรรทดฐานข นท 2 แลว
2. รเลชนน นตองไมมความสมพนธระหวางแอททรบวตแบบ Transitive เกดข น
(ทกแอททรบวตทไมใชคยหลกไมมคณสมบตในการก าหนดคาของแอททรบวตอนทไมใช คยหลก )
33
รปแบบทเปนบรรทดฐานของบอยสและคอดด (Boyce/Codd Normal Form : BCNF)
คณสมบตของรปแบบทเปนบรรทดฐานของบอยสและคอดด
1. ทกแอททรบวตทเปนตวระบคา หรอ Determinant ในรเลชนนนตองเปนคยคแขง
2. ไมมแอททรบวตใดในรเลชนทสามารถระบคาของแอททรบวตทเปนคยหลก หรอสวนใดสวนหนงของแอททรบวตทประกอบกนเปนคยหลกได
34
รปแบบทเปนบรรทดฐานขนท 4 (Fourth Normal Form : 4NF) คณสมบตของรปแบบทเปนบรรทดฐานข นท 4 1. รเลชนนนมคณสมบตอยในรปแบบทเปนบรรทดฐานของบอยสและคอดดแลว
2. รเลชนนนตองเปนรเลชนทไมมความสมพนธระหวางแอททรบวตแบบหลายคา
35
รปแบบทเปนบรรทดฐานขนท 5 (Fifth Normal Form : 5NF) คณสมบตของรปแบบทเปนบรรทดฐานข นท 5 1. รเลชนนน ๆ มความสมพนธระหวางแอททรบวตแบบ Join และรเลชนยอย ๆ ทจ าแนกออกมาตองมคยคแขงของรเลชนเดมอยดวยเสมอ หรอ
2. รเลชนนน ๆ ไมมความสมพนธระหวางแอททรบวตแบบ Join
36
พจนานกรมขอมล
พจนานกรมขอมลเปนเครองมอทชวยในการจดเกบรายละเอยดตาง ๆ เกยวกบขอมลใหเปนหมวดหม ท าใหสามารถคนหารายละเอยดทตองการไดโดยสะดวก
เปนเอกสารทใชอธบายรายละเอยดของโครงสรางแฟมขอมล
37
รายละเอยดพนฐานทวไปทพจนานกรมขอมลควรมประกอบดวย 5 สวน ◦ ชอตาราง(relation name) ◦ ชอขอมล (name and aliases of the data item) ◦ ค าอธบายชอขอมล (description of the data item) ◦ ชนดของขอมล (data type) ◦ ขนาดของขอมล (length of item) ◦ รายละเอยดอน ๆ (other additional information)
38
ตวอยาง พจนานกรมขอมล ชอตาราง ชอขอมล ค าอธบายชอขอมล ชนดของขอมล ขนาดของขอมล อน ๆ
ลกคา Cus_id รหสลกคา Text 5 PK
Cus_name ชอลกคา Text 30 -
Address ทอย Text 50 -
…
สนคา Pro_ID รหสสนคา Text 12 PK
Pro_name ชอสนคา Text 20 -
Pro_Type ประเภทสนคา Text 20 -
…
39
ข นตอนการออกแบบฐานขอมลเชงสมพนธ
1. การรวบรวมและวเคราะหความตองการในการใชขอมล 2. การเลอกระบบจดการฐานขอมล 3. การออกแบบฐานขอมลในระดบแนวคด 4. การน าฐานขอมลทออกแบบในระดบแนวคดเขาสระบบจดการ
ฐานขอมล 5. การออกแบบฐานขอมลในระดบกายภาพ 6. การน าฐานขอมลไปใชและการประเมนผล
40
1. การรวบรวมและวเคราะหความตองการในการใชขอมล การศกษาและวเคราะหองคกร เปนการศกษานโยบาย วตถประสงค
การศกษาและวเคราะหระบบการจดการขอมลเดม การก าหนดวตถประสงคและขอบเขตของฐานขอมล
41
2. การเลอกระบบจดการฐานขอมล
โดยตองค านงถงสงตางๆ ดงน คาใชจายและผลประโยชนทจะไดรบจากระบบการจดการ
ฐานขอมล ผลประโยชนทคาดวาองคกรจะไดรบ คณสมบตของซอฟตแวรระบบจดการฐานขอมล โครงสรางของฐานขอมล
42
3. การออกแบบฐานขอมลในระดบแนวคด
การออกแบบฐานขอมลในระดบแนวคดอาจจ าแนกได 5 ขนตอนตามล าดบ คอ ◦ การก าหนดรเลชนและความสมพนธระหวางรเลชน ◦ การก าหนดแอททรบวต คยหลก และคยนอกในแตละรเลชน ◦ การท าใหรเลชนมคณสมบตอยในรปแบบทเปนบรรทดฐาน ◦ ลกษณะและขอบเขตของขอมล รวมทงขอจ ากดและกฎเกณฑตาง ๆ
ทควรค านง ◦ การรวบรวมและทบทวนการออกแบบฐานขอมลในระดบแนวคด
43
4. การน าฐานขอมลทออกแบบในระดบแนวคดเขาส ระบบจดการฐานขอมล
การก าหนดโครงสรางของฐานขอมล การก าหนดการอางองระหวางตารางขอมล
44
5. การออกแบบฐานขอมลในระดบกายภาพ
เปนการน าโครงสรางตารางขอมลทมการก าหนดคณสมบตหลกไวแลวมาก าหนดรายละเอยดคณสมบตของโครงสรางทใชในการจดเกบขอมลใหครบถวน
ก าหนดต าแหนงของฐานขอมลทจะบนทกลงบนสออเลกทรอนกส ก าหนดวธในการเขาถงขอมลในฐานขอมล
ก าหนดรายะเอยดอน ๆ
45
6. การน าฐานขอมลไปใชและการประเมนผล
การท างานในขนตอนนจะครอบคลมถงการทดสอบประสทธภาพในการท างานของฐานขอมล (performance) และการทดสอบการท างานของฐานขอมลทจดท าขนกอนน าไปใชงานจรง
46