แบบจำ�ลองขอมล ( Data Modeling )แ ผ น ภ � พ แ ส ด ง ค ว � ม ส ม พ น ธ ร ะ ห ว � ง ข อ ม ล ( Entity Relationship Diagram : E-R Diagram )
การสรางแผนภาพจำาลองขอมลและกระบวนการดำาเนนงานนนท บทบาทส ำาค ญในการพฒนาระบบ เน องจากสามารถแสดงโครงสรางของขอมลและการทำางานภายในระบบไดชดเจน ซงจะชวยใหทงนกวเคราะหระบบและผใชงานเกดความเขาใจในการทำางานของระบบอยางถกตอง แบบจำาลองขอมลทสรางขนในขนตอนการวเคราะหความตองการของระบบนเรยกวาเปน การออกแบบฐานขอมลในระดบแนวคด ( Conceptual Data Design )” ของขนตอนการออกแบบ ( Desing Phase ) ในกจกรรมการออกแบบฐานขอมลซงจะนำา Conception Data model ทไดจากกจกรรมยอยนไปทำาการปรบปรงและออกแบบฐานขอมลในระดบ Logical และ Physical ตอไปในทนเพอความสะดวกจะเรยกวา Conceptual Data Model วา “ Data Model “
แบบจำ�ลองขอมล ( Data Model ) หมายถง การจำาลองขอมลทเกดขนทงหมดในระบบ พรอมทง
จำาลองความสมพนธระหวางขอมลทเกดขน โดยใช แผนภาพ“แสดงความสมพนธระหวางขอมล ( Entity Relationship Diagram : E- R Diagram )”
แผนภ�พแสดงคว�มสมพนธระหว�ง ( E –R Diagram ) หมายถง แผนภาพทใชเปนเครองมอสำาหรบจำาลองขอมลซงจะประกอบไปดวย Entity
(แทนกลมของขอมลทเปนเรองเดยวกนทเกยวของกน ) และความสมพนธระหวางขอมล ( Relationship ) ทเกดขนทงหมดในระบบ
สญลกษณทใชใน E – R Diagramสญลกษณทใชในแผนภาพ E – R Diagram ทใชในการ
จำาลองแบบขอมลมหลายรปแบบ ในทนขอยกตวอยาง 2 รป ไดแก Chen Model และ Crow’s Foot Model
Chen Model Crow’s Foot Model
ความหมาย
ใชแสดง Entity
Relationship line เสนเชอมความส ม พ น ธ ร ะ ห ว า ง Entity
-Relationship line เสนเชอมความส ม พ น ธ ร ะ ห ว า ง Entity
ส ำา ห ร บ Crow’s Foot Modelใ ช ต ว อ ก ษ ร เ ข ย นแสดงความสมพนธ
Attribute ใชแสดง Attributeของ Entity
ใ ช แ ส ด ง ค ย ห ล ก ( Identifier )
Associative Entity
Weak Entity
ตวอยาง E – R Diagram ของรปแบบ Chen Model ดงรป
Entity name
Attribute 1Attribute 2………..
Entity NameIdentifierAttribute………….
ตวอยาง E – R Diagram ของรปแบบ Crow’s Foot Model ดงรป
Employee
Position
Employee
EMP_IDEMP_ NAMEEMP_SEX
POSITION
POS_NOPOS_DES
องคประกอบของ E – R Diagramการสรางแผนภาพแสดงความสมพนธระหวาง ( E –R Diagram ) นนมองคประกอบตางๆ ดงน
- Entities- Attributes- ความสมพนธระหวาง Entity ( Relationship )- ร ะด บควา มสม พนธ ร ะห ว า ง Entity ( Degree of
Relationship )- Cardinalities ใน Relationship- Associative Entities- Generalization Hierachy- Aggregation
Entities Entities หมายถง องคประกอบสวนหนงของ E – R
Diagram ทใชสำาหรบเกบขอมลรายการทมคณสมบตรวมกนภายใตขอบเขตของระบบหนงทก ำาลงสนใจ เชน ระบบโรงเรยนซ งป ร ะ ก อ บ ไ ป ด ว ย Entity น ก เ ร ย น ( student ) อ า จ า ร ย ( teacher ) หลกสตร ( course)หองเรยน ( room ) เปนตน โดยท Entity นกเรยนจะถกบรรยายดวยคณสมบตตางๆ เชน ชอ - สกล ( name – surname ) ระดบชน ( level ) เปนตน กลาวไดวา Entity สามารถเปนไดทงสงทจบตองไดและสงทจบตองไมไดในระบบ Entity ทรวบรวมไดจากระบบสามารถแยกแยะและจดเปนหมวดหมไดตามชนดของ Entity ไดเชน
1. หมวดบคคล ( Person ) :Employee , student , Patient , Customer , Department , Divition
2. หมวดสถานท ( Place ) :State , Region , Country , branch , Building , Room , Campus
3. หมวดเหตการณ ( Event ):Sale , Registration , Renewal , order , Invoice , flight , Cancellation
4. สงของ ( Object ): Machine , Building , Automobile , product
5. หมวดของแนวคด :Account , Course , Work , Center
ใน E- R Diagram สามารถจำาแนก Entity ได 2 ประเภท ดงน
1. Regular Entity : หรอบางคร งเรยกวา Strong Entity เปน Entity ทประกอบดวยสมาชกทมคณสมบต ซงบงบอกถงเอกลกษณของแตละสมาชกนน เชน Entity ประชากร ( population ) ซงสมาชกภายใน Entity นไดแก ประชากรแตละคนในประเทศไทยทมหมายเลขบตรประชาชนไมซ ำากนเลย เปนตน สำาหรบสญลกษณทใชแทน Entity ประเภทน คอ รปสเหลยมผนผา โดยมชอของ Entity นนอยใน ดงรป
2. Weak Entity : คอ Entity ทมลกษณะตรงกนขามกบ Regular Entity กลาวคอ สามชกของ Entity ประเภทน
POULATION
จะสามารถมคณสมบตทบงบอกถงเอกลกษณของแตละละสมาชกไดนน จะตองอาศยคณสมบตใดคณสมบตหนงของ Regular Entity มาประกอบกบคณสมบตของ Weak Entity เอง เชน “ Order_ Detail” ซงสมาชกของ Entity นไดแก รายละเอยดของสนคาทสงซอภายใตใบสงซอแตละใบ ซงเมอพจารณาดจะพบวา สนคา อาจถกสงซอในใบสงซอไดหลายใบ ดงนน ถาระบเพยงตองการทราบจำานวนของสนคา ก ไมสามารถทราบไดวาตองการทราบจำานวนสนคา ก ในใบสงซอใด แตถามระบเลขทใบสงซอประกอบกบสนคา ก แลว จะสามารถทราบไดทนทวาหมายถงจำานวนของสนคา ก ในใบสงซอใด ซงเลขทใบสงซอน คอ คณสมบตของ Regular Entityท น ำา ม า ป ร ะ ก อ บ ก บ ค ณ ส ม บ ต ข อ ง Weak Entity “ ORDER_DETAIL” เพ อท ำา ใหสมาชกของ Entity น สามาม คณสมบตทบงบอกถงเอกลกษณทใชแทน Entity ประเภทแสดงดงรป
Order _ Detail
AttributesAttributes ( Property / Element / Field )
หมายถง คณสมบตหรอลกษณะของ Entity หรอ Relationship ทนาสนใจ
ตวอยางท 1 Entity “ บตรประชาชน จะมคณสมบตหรอลกษณะ” ( Attributes ) ดงน
- หมายเลขบตรประชาชน- ชอ – สกล- วน เดอน ปเกด- ภมลำาเนา- วนทบตรออก- วนทบตรหมดอาย เปนตน
ตวอยางท 2 Entity “Employee” ม Attributes ททำาใหทราบวาถามสงเหลานแลวจงเรยกไดวา “ Employee” ไดแก
- Employee _ ID- Employee _ name - Address- Skill
สำาหรบ Attributes สามารถจำาแนกไดเปน 6 ประเภท ดงน1. Simple Attribute2. Composite Attribute3. Identifier / key4. single – Valued Attribute5. Multi – Valued Attribute6. Derived Attribute
Simple AttributeSimple Attribute ค อ Attribute ท ค า ภ า ย ใ น
Attribute นนมาสามารถแบงยอยไดอก เชน เพศ เงนเดอน อาย จงหวด เปนตน
สำาหรบสญลกษณทใชแทน Attribute ประเภทน ไดแก วงรทมเสนเชอมตอไปยง Entity ทเปนเจาของ Attribute นน โดยมชอของ Attribute นนอยภายใน เชน Attribute “EmpID” , “NAME” , “SEX” ,และ “SALARY” ของ Entity “EMPLOYEE”
Composite Attribute
EMPLOYEE
Composite Attribute ค อ Attribute ท ค าภาย ใน Attribute นน สามารถแยกเปน
Attribute ยอยได อ ก ซ งล กษณะตรงก นขามก บ Simple Attribute
ตวอยางท 1 Attribute “ ชอ ทสามารถบงยอยออกเปน คำานำา” “หนาชอ ” , “ ชอ และ” นามสกล“ ”
ตวอยางท 2 Attribute “ทอย ทสามารถแบงยอยออกเปน เลข” “ทบาน ” , “ซอย ” , “ถนน”, “แขวง/ตำาบล ” , “เขต/ อำาเภอ” ,”จงหวด เปนตนดงรป”
Identifier / keyIdentifier / key คอ Attribute หรอกลมของ
Attribute ททคาในแตละ Attribute ของ Entity ไมซำากนเลย ซงถกนำามาใชกำาหนาความเปนเอกลกษณใหกบแตละ Attribute ใน Entity
ตวอยางท Attribute “EmpID” ของ Entity “Employee” ทใชแทนรหสประจำาตวพนกงาน ซงโดยทวไปแลวการเกบรหสของ
Employee
CompositeAttribute
พนกงานในองคกรตางๆ คารหสพนกงานจะไมมรหสพนกงานคนใดทซำากนเลย
Identifier / key สามารถจำาแนกได 3 ประเภทดงน1. Candidata Key2. Primary Key3. Foreign Key
Candidata Keyคอ Attribute ใดๆ หรอ Attribute ทรวมกนแลว
ทำาใหคาของ Attribute ของ Entity นนไมซำากย
Primary Keyอ Candidata Key ทถกเลอกใหเปน Key หลกทม
คาของสามชกใน Attribute ไมซำากยเลยมาเปน Pamary key เพอจะให Pamary Key น สามารถไประบคาในอก Attribute เพอประโยชนในการคนหาขอมลไดโดยไมเกดขอมลซำาซอนกน
Foreign Keyคอ Pamary key ของ Entity หนงทสามารถ
ระบคาสามาชกของอก Entity หนงทมความสมพนธกนได
Single – Valued AttributeSingle – Valued Attribute หรอ Attribute ท ม ค า
ของขอมลภายใต Attribute ใด Attribute หนงเพยงคาเดยว เชน Attribute “Salary” ซงทใชเกบเงนเดอนของพนกงาน และ พนกงานแตละคนจะมเงนเดอนเพยงคาเดยว
Multi – Valued AttributeMulti – Valued Attribute คอ Attribute ทมคาของ
ขอมลไดหลายคาภายใตคาของ Attribute ใด Attribute หนงเช น Attribute “DEGREE” ท ใ ช ร ะบ ร ะด บน กศ กษ า ขอ งพนกงานแตละคน จะมระดบการศกษาไดหลายระดบ ส ำาหรบสญลกษณทใชแทน Attribute ประเภทน จะใชเสน 2 เสนเชอมระหวางรปภาพของ Attribute กบ Entity
ส ำาหรบกล มขอม ลท สามารถมหลายค า ได น Multi – Valued Attribute เร ยกอ กอย างหน งว า “Repeating Group”
Derived AttributeDerived Attribute คอ Attribute ทมคาของขอมลได
มาจากการนำาเอาคาของ Attribute อนมาทำาการคำานวณ ซงคาของ Attribute ประเภทนจะตองเปลยนแปลงทกคร ง เม อเปลยนแปลงคาของ Attribute ทถกคำานวณ
สำาหรบสญลกษณทใชแทน Attribute ประเภทนจะใช สญลกษณเสนปะเชอมตอ Entity และ Attribute คว�มสมพนธระหว�ง Entity (Relationship)
Relationship ค อ ความสมพนธ ระหว าง Entity 2 Entity ทท การเช อมโยงขอมลซ งก นและก นสมาชกของ
Relationship จงเก ดการจบค ก นระหวางสมาชกของ Entity ทมการรวมกนของ Relationship นน ส ำาหรบสญลกษณจะใชรปสเหลยมขาวหลามตดทมชอ Relationship นนอยภายในสญลกษณจะตองเช อมระหวาง Entity เสมอ
ER model (Entity-Relationship Model) เสนอคร งแรกโดย ป เตอร (Chen,1976 - 2519) เป น
เคร องมอน ำา เสนอโครงสรางของฐานขอม ลใน ระด บคว�มค ด (Conceptual level) อ อ ก ม า ใ น ล ก ษ ณ ะ ข อ งแผนภาพ(Diagram) ทง ายตอความเขาใจ เพอสอความหมายระหวางนกออกแบบฐานขอมล และผใช เกยวกบ ความสมพนธของเอนตต(Entity) กบเอนตต(Entity) และเอนตต(Entity) กบ แอททรบวท(Attibute)
สวนประกอบของ ER model - เอนตต (Entity) - แอททรบวท (Attribute) - ความสมพนธระหวางเอนตต (Relationship) - ดกรของความสมพนธ (Degree of a relation)
ประเภทของ Relationship ส�ม�รถจำ�แนกได 3 ประก�รดงน
1.One-to-One
DEPARTMENT
Employee
2.One-to-Many3. Many-to-One 4.Many-to-Many
ลกษณะคว�มสมพนธของแบบจำ�ลอง E-R Diagram
1.One-to-One One-to one คอ ความสมพนธ 1 ตอ 1 นนคอ ใน
ความสมพนธจาก Entity Set A ไปยง B สมาชกของ A แตละตวจบคกบ B ตวเดยวเทานน และ B หนงตวจบคกบ A เพยงตวเดยว เชน สมมตการมบญชเงนฝากของธนาคารแหงหนง กำาหนดใหลกคามบญชไดเพยง 1 เดยว และหนงบญชมเจาของเพยงคนเดยว ความสมพนธ " การเปนเจาของบญช " น จดเปนแบบ 1-to-1
A B
2. One – to – Many
A1
A2
A3
B1
B2
B3
One-to-Many คอ ความสมพนธ 1 ตอ หลาย นนคอ ในความสมพนธจาก Entity Set A ไปยง B สมาชกของ A แตละตวจบคกบ B ไดมากกวาหนง แต B หนงตวจบคกบ A เพยงตวเดยวเทานน เชน หากธนาคารกำาหนดใหลกคา (Entity A) หนงคนเปดบญช ไดมากกวาหนง แต บญชหนงๆ มเจาของเพยงหนงเดยว ความสมพนธ " การเปนเจาของบญช " น จดเปนแบบ 1-to-M
A B
3.Many – to – OneMany-to-One คอ ความสมพนธ หลายตอ 1 นนคอ
ในความสมพนธจาก Entity Set A ไปยง B สมาชกของ A แตละตวจบคกบ B ไดตวเดยว แตอาจซำากนได คอ B ตวเดยวกน จะจบคกบ A ไดมากกวาหนง เชน ในความสมพนธ การเปนแมลก แม(Entity B) คนหนงอาจมลกไดหลายคน แตลก (Entity A) แตละคน มแมเพยงหนงเดยว ซง ลก
A1
A2
A3
B1
B2B3
B4
หลายคนอาจมแมคนเดยวกนได ความสมพนธน จดเปน M-to-1
A B
4.Many – to – ManyMany-to-Many คอ ความสมพนธ หลายตอหลาย นน
คอ ในความสมพนธจาก Entity Set A ไปยง B สมาชกของ A แตละตวจบคกบ B ไดมากกวาหนง และ B กจบคกบ A ไดมากกวาหนง เชนกน เชน การลงทะเบยนเรยน ในเทอมหนงๆ นกศกคนหนงสามารถลงเรยนได มากกวาหนงวชา (course) และ แตละ course กมนกศกษามาเขาเรยนมากกวาหนงคน
A B
A1A2A3A4A5
B1
B2
B4
A1A2A3A4
A5
B1
B2
B4
ระดบคว�มสมพนธระหว�ง Entity ( Degree of a Relationship)
Entity คอสงทนาสนใจในระบบ ซงอาจจะเปนขอมล สงของ แผนก หรอสถานท ซงจะตองมความสมพนธกบอก Entity หนงเพอใหระบบเกดการทำางานเปนขนตอน ดงนน จงตองมสงทใชวดความเขมขนของความสมพนธระหวาง Entity วามความสมพนธกนลกษณะอยางไรและมความสมพนธทซบซอนเพยงใด ซงการวดจำานวน Entity ทมความสมพนธก นนนเอง ทเรยกวา Degree of a Relationship คอ ขนาดของความสมพนธ ระหวาง Entity สามารถจำาแนกได 4 ขนาดไดแก
1.Unary relationship คอความสมพนธภายใน entity เดยวกน เชนแตงงานของพนกงาน แตถามระดบแบบลกนอง หวหนาจะเรยก Recursive relationship(Unary) 2.Binary relationship คอความสมพนธแบบสอง entity
3.Ternary relationship คอความสมพนธแบบสาม entity 4.Quaternary relationship คอความสมพนธแบบส
entity
Unary Relationship / Recursive Relationship
เป นความสมพนธท เกดข นระหว างสมาชกภายใน Entity ของต ว เองซ ง เก ด ในกรณ ท Attribute ของ Entity นน สามารถสรางความสมพนธกบอก Attribute หนงภายใน Entity เดยวกน
Binary Relationshipคอ Relationship ทเก ดข นระหวาง 2 Entity
กรณเชนนเรยกไดวาม Degree ของความสมพนธเทากบ 2 เนองจากเปนความสมพนธระหวาง Entity 2 จำานวน
Trenary Relationshipค อ Relationship ท เก ดข น ร ะห ว า ง Entity
มากกวา 2 Entity ขนไป
Quaternary Relationship คอความสมพนธแบบส entity
Cardinalities ใน Relationship
Cardinalities หมายถ ง จ ำานวนสมาชกท เป นไปได ใน Entity หนงทมความสมพนธกบสมาชกของอก Entity หนง
Associative EntitiesAssociative Entity ห ม า ย ถ ง Relationship ท ม
Attribute นนเกดจากความสมพนธระหวาง Entity ตงแต 2 Entity ขนไปในสญลกษณสเหลยมขาวหลามตดทลอมรอบดวยสเหลยมผนผา
Generalization HierarchyGeneralization Hierarchy เปนการแสดงถงการจด
ลำาดบของ Entity ทมความสมพนธกน หรอ Relationship ทมความสมพนธ ไดถกนำามาใชกบ E – R Diagram เพอแสดงถง Entity หรอ Relationship ซงมสมาชกทสามารถแยกออกเปนกลมยอยๆภายใต Entity หรอ Relationship นน ดงนน Entity ห ร อ Relationship น จ ง เ ร ย ก ว า “Supertype Entity”
ขนตอนก�รเขยน ER model 1. สราง entity ขนมาจากความตองการของผใช
2. สรางความสมพนธ(Relation) ระหวาง entity 3. พจารณา key ของแตละ entity 4. พจารณาคณสมบตของ entity แตละตว
ขนตอนก�รเขยน ER model กำ�หนด Entity type โดยกำาหนดมาจากความตองการของ
ผใชระบบ วาจะใหม Entity สำาหรบเกบขอมลอะไรบาง เอนตต(Entity) อาจเรยกวา file หรอ table 1.Strong entity คอเกดขนดวยตนเองไมขนกบ entity ใด เชน นกศกษา หรออาจารย หรสนคา เปนตน 2.Weak entity คอขนโดยอาศย entity อน เชน เกรดเฉลย ทมาจากแฟมผลการเรยน หรอ แฟมลงทะเบยน หรอ แฟมสงซอ เปนตน สงตาง ๆ ทผใชงานฐานขอมลจะตองยงเกยวดวย เชน คน แผนก ประเภท การสงซอ ฯลฯ
Normalizationความหมายของรปแบบบรรทดฐาน
การทำาตารางขอมลใหอย ในรปแบบบรรทดฐาน (Normalization) หมายถง การออกแบบตาราง (Relation) ใหเปน รปแบบบรรทดฐาน คอมความเปนปรกตไมกอใหเกดปญหาขอมลขดแยง (Inconsistency) ในทเกบตาง ๆ ปญหาการเพม - ปรบปรง และลบขอมล (Insert,Updateand Delete Anomalies) ตลอดจน
ชวยลดเนอทในการจดเกบขอมลใหอยในระดบทยอมรบไดอกดวยแนวคดการทำาตารางใหอยในรปแบบบรรทดฐานน อ .เอฟ.คอดด เปฯผคดขนมาเปนคนแรกเมอประมาณป ค.ศ. 1917 กลาวคอ ไดคดคนรปแบบบรรทดฐานขนท 1,2 และ 3 แตตอมาพบวารปแบบบรรทดฐานขนท 3 มขอจำากดบางอยางจงรวมกนคดคนรปแบบบรรทดฐานขนท 3 ใหมขนมาในราว ป ค.ศ. 1974 กบบอยซ จงนยมเรยกวา รปแบบบรรทดฐาน บอยซ/คอดด (Boyce/codd Normal Form) สำาหรบรปแบบบรรทดฐานขนท 4 และ 5 นนคดคนโดย โรแนลด ฟาจน (Ronald Fagin) ในป ค.ศ.1977 และ 1979
Normalization คอ กระบวนการปรบปรงโครงสรางขอมลของฐานขอมลทมความซำาซอนใหอยในรปแบบทเปนบรรทดฐาน
Normal Form มอย 3 ระดบดวยกน คอ1. Normal Form ระดบท 1 หรอเรยกวา 1NF2. Normal Form ระดบท 2 หรอเรยกวา 2NF3. Normal Form ระดบท 3 หรอเรยกวา 3NF
นอกจากนยงมระดบททำาให Normal Form ระดบท 3 มความแขงแกรงขนกวาเดม เรยกวา BCNF ( Boyce-Codd Normal Form) ซงพฒนาขนโดย R.Boyce และ E.F.Codd โดย Normal Form ทกระดบตงอยบนพนฐานของฟงกชนการขนตอกนระหวางแอททรบวตของ Relation ( Functional Dependency )
Normal Form ในระดบทสงขนไปอกทอยถดจาก BCNF กไดถกพฒนาขน คอ Normal Form ระดบท 4 ( 4NF) และระดบท 5 (5NF) ซงพฒนาโดย Fagin(1977,1979) อยางไร
กตามรปแบบ 4NF และ 5NF ในทางปฏบตถอวาเกดขนไดยากมาก
ก�รทำ�ใหเปนรปแบบบรรทดฐ�นเพอลดความซำาซอนของขอมลทจดเกบในแตละรเลชน ทำาให
เกดประโยชนดงน1. ประหยดเนอทในการจดเกบขอมล2. ลดปญหาขาดความถกตองของขอมล3. ลดปญหาทเกดจากการปรบปรง เพมเตม และลบขอมล
รปแบบบรรทดฐ�นมต�ง ๆ ระดบดงน1. รปแบบบรรทดฐานขนท 1 (First Normal Form: 1NF)2. รปแบบบรรทดฐานขนท 2 (Second Normal Form: 2NF)3 รปแบบบรรทดฐานขนท 3(Third Normal Form: 2NF)4. รปแบบบรรทดฐานขนท 3 ใหม (Boyce/Codd Normal Form: 2NF)5. รปแบบบรรทดฐานขนท 4 Forth Normal Form: 2NF)6. รปแบบบรรทดฐานขนท 5 (FifthNormal Form: 2NF)โครงสรางของตาราง (Relvars) ซงประกอบดวยชอแอตทรบวตตาง ๆ ทอยในรปแบบบรรทดฐานในขนตาง ๆ มลกษณะบอกระดบไดนอกจากนยงมรปแบบบรรทดฐานอน ๆ ทมผคดคนขนมาอก ไดแก รปแบบบรรทดฐานโดเมน คย– และรปแบบบรรทดฐานรสตรกชน- ยเนยน ซงยงไมมงานศกษาวจดสนบสนนมากพอ ในปจจบนจงถอวา รปแบบบรรทดฐานขนท 5 นนบเปนขนสงสดแลว แตไมจำาเปนเสมอไปทตารางหนงในฐานขอมลของเราจะตองสามารทำาให
อยในรปแบบบรรทดฐานขนสงสดขนอยกลปปบลกษณะของขอมลในตาราง แบะปญหาทเตาตองการแกไขในระบบฐานขอมลของเราวามปญหาการปรบปรงขอมลในฐานขอมลนนหรอไม และการแกปญหาจะทำาไดดวยการทำาใหตารางขอมลอยในรปแบบบรรทดฐานขนถดไปหรอไมแตอยางไรกตาม ในการออกแบบฐานขอมล เราควรมงทำาใหแอตทรบวตในตาราง อยในรปแบบบรรทดฐานขนทสงทสดเทาทจะเปนไปได โดยทำาตามหลกเกณฑของรปแบบบรรทดฐานขนตาง ๆ ดงน
กระบวก�รของ Normalization
ฟงกชนก�รขนตรงตอกน (Functionally Dependent :FD) ใน Relation ใดๆ Attribute Y เปน FD กบ Attribute X กตอเมอ ถาทราบคา X จะตองทราบคาของ Y
สญลกษณ1.S.SID è S.SName2.S.SID è S.City3.S.SID è S.(SName,City
Normalization คอกระบวนการปรบเปลยนโครงสรางของ relation
schema ใหอยในรปแบบ "Normal Form" ในลำาดบตางๆ
Normal Form (NF) คอรปแบโครงสรางของ relation ทมคณสมบตเฉพาะ NF ม
หลายระดบ NF ระดบทสงกวา จะมการจดโครงสรางขอมลทดกวา และลดปญหาทอาจเกดขนใน NF ระดบทตำากวาได ประโยชนหลกๆของการทำา Normalization คอ การลดความซำาซอนของขอมล และขจดปญหาความผดปกตของขอมลทเกดจากการเพม/การลบหรอแกไขขอมล ( insertion/ deletion/ update anormalies )ในการทำา normalization หากมการเปลยนแปลง relation schema จะตองคำานงถง การคงความถกตองของขอมล คอ ตองรกษาคณสมบตเหลานไว คอ
Lossless/nonadditive join property คอ เมอมการแบงแยก relation ออกเปน relation ยอย แลว ถานำามารวมกน (join) ตองไดขอมลทครบถวน ถกตอง เหมอนเดม และไมมขอมลเกน
Dependency preservation property
คอ คณสมบตการรกษา dependency ทมอยเดม ใหคงอยตอไปใน Normal Form ลำาดบท 1-3 มการพจารณา key ของ Relation และ Functional Dependencies สวน NF ลำาดบทสงขนไปจะพจารณา dependency รปแบบอนๆ เพมเตม
First Normal Form (1NF)คณสมบตของ 1NF คอ ทก attribute ของ relation เกบ
คาขอมลเพยงคาเดยว นนคอแตละ tuple ในทก attribute จะมเพยงขอมลเดยว เรยกวา atomic หรอ indivisible value ดงนน attribute ของ relation ตองเปน simple และ single-valued attribute
ตวอย�ง relation ทเปน non-1NFDepartment DNUMBER
DNAME DMGRSSN
DLOCATIONS
5 Research
123425127
BL, SGL, HST
4 Administration
235142242
STF
1 Head Quarter
485935710
HST, BL
6 Production
859013450
STF, JFC
Relation น ไมอยใน 1NF เพราะ Attribute DLOCATIONS ไมเปน atomic เพราะเกบคาชอเมองทตงของ department หนง ไดมากกวาหนงคา
เทคนคก�รทำ� Relation ใหเปน 1NF ม 3 วธก�ร คอ1.Relation decomposition คอ การแบงออกเปน
relation ยอย นนคอเอา attribute ทไมเปน atomic ไปสราง relation ใหมพรอมดวย Primary Key ของ relation เดม เชน
Department แตกออกเปน Department1 และ Department2 ซงเปน 1NF ทงสอง relation ดงน
Department1 DNUMBER
DNAME DMGRSSN
5 Research
123425127
… … …
Department2DNUMBER
DLOCATIONS
5 BL 5 SGL5 HST4 STF… …
2.กำาหนดคา maximum ของจำานวนขอมลใน attribute ทไมเปน atomic แลวเพมเปน attribute ใหม เชน สมมต ใน relation Department แตละ department ม location ไมเกน 3 ท กเปลยนเปน attribute DLOCATION_1, DLOCATION_2 และ DLOCATION_3 แตขอเสยคอ ทำาใหมหลาย tuple ทมคาวาง (NULL) เกดขน และ ในบางกรณ ไมสามารถทราบคา maximum ของจำานวน attribute ได
Department_123 DNUMBER
DNAME DMGRSSN
DLOCATIONS_1
DLOCATIONS
DLOCATIONS
5 Research
123425127
BL SGL HST
4 Administration
235142242
STF NULL NULL
1 Head Quarter
485935710
HST BL NULL
6 Production
859013450
STF JFC NULL
3. เกบขอมลของ attribute ทไมเปน atomic แยกกนเปนแตละ tuple ซง key ของ relation กจะถกเพมดวย attribute นดวยเชน
Department3
DNUMBER
DNAME DMGRSSN
DLOCATIONS
5 Research
123425127
BL
5 Research
123425127
SGL
5 Research
123425127
HST
4 Administration
235142242
STF
… … … …ขอเสย คอเกดขอมลทซำาซอนกนมาก (data redundancy) ซงอาจกอใหเกดปญหา Anomaly ตามมา ซงม 3 ลกษณะ คอ
1.Insertion Anomaly เชน ถาตองการเพม location ใหมของ department หมายเลข 4 จำาเปนตองใส DNAME และ DMGRSSN ซงเปนขอมลทมอยแลว และตองใสขอมลใหถกตอง สอดคลองกบทมอยเดม ไมเชนนนกจะเกดความขดแยงกนของขอมลได
2.Deletion Anomaly เชน หากตองการ ลบ location หนงของ department หนง ซงเหลอเปน tuple สดทาย ขอมล อนของ department นนกจะหายไปหมด
1.Update Anomaly เชน หากมการเปลยนแปลง Manager ของ department หนง กตองตามไปแกไข ในทกๆ tuple ทเปน department เดยวกน หากแกไขไมครบถวน กจะเกดความขดแยงของขอมล
Second Normal Form (2NF)
ใน 2NF มการพจารณาถง Functional Dependency ระหวาง Primary key กบ attribute อนๆ ใน relation นน
Full Functional Dependency คอ FD ท ตว dependent ขนอยกบทก attribute ของ determinant ไมใชเพยงบางสวน นนคอ FD: X Y เปน full FD กตอเมอ ไมม Z ซเงปน subset แทของ X ( Z X ) ซงมคณสมบต Z Y FD ทไมใช Full FD เรยกวา Partial Functional Dependency
ขอสงเกต หาก X ประกอบดวย attribute เดยว X Y จะเปน Full FD เสมอ
ตวอยาง A XYZ full FDB XZ full FDAC XYZ partial FD (เพราะม A
XYZ)XY EF full FD ( หากไมม X EF
หรอ Y EF )Prime attribute คอ attribute ซงเปนสวนหนงของ
P.KNonprime attribute คอ attribute ซงไมเปนสวน
หนงของ P.K
Relation R อยใน Second Normal Form ถา R เปน 1NF และ ไมม nonprime attribute ใดใน R ท มความสมพนธ
แบบ Partial FD กบ Primary Key นนคอ Primary key ตองมความสมพนธแบบ Full FD กบทก nonprime attribute หรอ ไมม nonprime attribute ใดทขนอยกบบางสวนของ P.K
ตวอยางORDER1CustID
CustName
City ZoneSale
ProductID
OrderQTY
P.K. ของ ORDER1 คอ { CustID, ProductID }FD ของ ORDER1 คอ FD1: { CustID, ProductID } OrderQTY
FD2: CustID { CustName, City, ZoneSale }
ORDER1 เปน 1NF แตไมอยใน 2NF เพราะ FD2 ทำาใหเกด partial FD จาก P.K. ไปยง nonprime attribute
2NF Normalizationการทำา relation ใหอยใน 2NF ทำาไดโดยการแบงแยก R
ออกเปน relation ยอย ดวยการนำา nonprime attribute ทมปญหาออกไปสราง relation ใหม พรอมดวยสวนหนงของ P.K ทเปนตวกำาหนดคา attribute นน โดยใน relation เดม attribute
FDFD
สวนหนงของ P.K. นนกจะเปน Foreign key ทชไปยง relation ใหม ซงม attribute นนเปน P.K
เชน ORDER1 จะถกแบงเปน CUST กบ CustOrder ซงเปน 2NF ทงค
CUSTCustID
CustName
City ZoneSale
CustOrderCustID
ProductID
OrderQTY
Third Normal Form (3NF)ใน 3NF มการพจารณาถง Transitive Dependency
ระหวาง Primary key กบ attribute อนๆ ใน relation นน
FD
FD
Transitive Dependency FD: X Y เปน transitive dependency ถา ม Z ซง
X Z และ Z Y ตวอยาง A XYZ
YZ EA E เปน transitive
dependency
Relation R อยใน 3NF ถา R เปน 2NF และ R ตองไมม transitive dependency ระหวาง Primary กบ nonprime attribute นนคอ ไม nonprime attribute ใดทขนกบ nonprime attribute อน ( ไมม X Y โดยท ม X Z และ Z Y ซง X เปน P.K. และ Y,Z เปน nonprime attribute ทงค )
3NF Normalization
การทำา relation ใหอยใน 3NF ทำาไดโดยการแบงแยก R ออกเปน relation ยอย ดวยการนำา nonprime attribute ททำาใหเกด transitive dependency ออกไป สราง relation ใหม ( Y และ Z ) ซง relation ใหมจะม determinant attribute (Z) เปน P.K และ ท relation เดมยงคง Z ไวเพอเปน Foreign key เชน หาก relation CUST เกดมความสมพนธระหวาง City กบ ZoneSale คอ FD3 : City ZoneSale นนคอ เมองๆหนงสมพนธกบคา ZoneSale เพยงคาเดยว ทำาใหเกดเปน FD ระหวาง nonprime attribute จงทำาให relation
CUST ไมอยใน 3NF กใหแยกออกมาเปน CUST2 และ CityZone ดงน
CUSTCustID
CustName
City ZoneSale
CUST2CustID
CustName
City
CityZoneCity ZoneS
ale
สรปก�รทำ� Normalization ของ ORDER1
1NF
2NF
3NF
FD FD
FD
FD
ORDER
CustOr CUST
CustOr CUST2 CityZo
ตวอย�ง ก�รทำ� Normalization จ�ก 1NF ถง 3NF
General Definition of 2NF and 3NFสำาหรบ relation ทม candidate key มากกวาหนง รป
ทวไปของ 2NF และ 3NF จะนำาทก candidate key มารวมพจารณาดวย นนคอจะได prime attribute คอ attribute ท
เปนสวนหนงของ candidate key (ตวใดตวหนง รวมถง P.K) และ nonprime attribute คอ attribute ทไมไดเปนสวนหนงของ candidate key ตวใด
General 2NF relation อยใน 2NF ถา ไมม nonprime attribute ทขน
อยกบเพยงบางสวนของ candidate key
General 3NF relation อยใน 3NF ถา หากม FD: X A แลว X ตอง
เปน superkey ของ R หรอ A เปน prime attribute นนคอ ทกๆ nonprime attribute ตองขนอยกบทก candidate key โดยสมบรณ (Full FD) และตองไมม transitive dependency ในทกๆ candidate key ของ relation (หรอ ตองไมม nonprime attribute ทขนตรงตอกน)
ตวอย�ง ก�รทำ� Normalization จ�ก 1NF ถง 3NF โดยใช candidate key ทกตวของ Relation
Boyce-Codd Normal Form (BCNF)
BCNF เปนรปแบบหนงของ 3NF ทมเงอนไข หรอคณสมบตเพมเตม Relation R อยใน BCNF ถา หาก R ม FD: X A แลว X คอ superkey ของ R (หรอ หาก FD X A เปน minimal แลว X คอ candidate key )ใน BCNF ทก FD ของ relation R ตว determinant ตองมคณสมบตเปน key เทานนสวนใหญ relation ทเปน 3NF มกเปน BCNF ยกเวน relation ทม FD X A โดยท X ไมใช superkey แต A เปน prime attribute ซงใน 3NF ยอมรบได
รปแบบ relation ทอยใน 3NF แตไมใช BCNF
RA B C
Key ของ R คอ AB แตม FD2 : C B ซงม ตว determinant คอ C ทไมใช key ของ R ทำาให R ไมอยใน BCNF
FD
FD
ตวอย�ง ก�รทำ� BCNF Normalization
Fourth Normal Form (4NF)
ใน 4NF มการพจารณา dependency ลกษณะอน นอกเหนอจาก functional dependency นนคอ Multi-valued Dependency (MVD) Multi-valued Dependency มกเกดจาก multi-valued attributes ทเปนอสระตอกน อยรวมกนใน relation เดยว แลวในการทำา 1NF ตองกระจายคาตางๆออก จงตองมการเกบคาขอมล ซำาๆ เพอยงคง independence ของ attributes เดมไว
เชน EMP คอ relation เกบขอมลชอพนกงาน (ENAME) , ชอ Project ทพนกงานทำางานอย (PNAME) และ ชอลก (DNAME)
EMPENAME
PNAME DNAME
Smith PJX, PJY John, Anna
Jen PJZ Jim, Joe
EMP_1ENAME
PNAME DNAME
Smith PJX JohnSmith PJX AnnaSmith PJY JohnSmith PJY AnnaJen PJZ JimJen PJZ Jim
การทำา 1NF normalization ตองกระจาย multi-valued attribute ทกคาออกมาอยใน tuple แยกกน เนองจาก PNAME กบ DNAME เปนอสระตอกน จงตองจบค คาขอมลทงสอง attribute ใหครบทกกรณ (ทำา combination )
1NF
นย�ม Multi-valued Dependency
A, B, C คอ attribute ใน relation RMulti-valued Dependency จาก A ไป B เขยนแทน
ดวย A B ( A multi-determines B) กตอเมอ set ของคา B ทจบคกบคา (A,C) ขนอยกบคา A เทานน และเปนอสระตอ C หมายความวา คา A หนงๆ match กบคา B กลมหนง ไมวาคา C จะเปนอะไรกแลวแต คา B ท match กบ (A,C) ขนอยกบ A เทานน
ตวอย�ง ใน relation EMP_1 พบวา ENAME PNAME และ ENAME DNAME
โดยปกต ถา R ประกอบดวย attribute A, B, และ C (C = R - {AB} )
ถา A B แลว A C เสมอ มกเขยนใหมเปน A B | C ถา A B หรอ A B = R แลว MVD A B เรยกวาเปน Trivial MVD
หม�ยเหต แทจรงแลว Functional Dependency กเปน MVD รปแบบหนง ท A B โดยท คา A แตละคาจะ match กบคา B เพยงคาเดยวเทานน
นย�ม 4NF " relation R อยใน 4NF ถ� R อยใน BCNF และ ตองไมม nontrivial MVD ใน R "
จากตวอยางขางตน relation EMP_1 ซงเปน BCNF แลว ( ทก attribute เปน P.K จงไมมขอขดแยงใดๆ ตอคณสมบตของ 1NF, 2NF, 3NF และ BCNF) แต พบวาม MVD คอ ENAME PNAME | DNAME ซงขดแยงตอคณสมบตของ 4NF relation EMP_1 จงไมอยใน 4NF การทำาให relation EMP_1 เปน 4NF ทำาไดโดยการแยกเปน 2 relation ยอย EMP_11 กบ EMP_12 ดงน
EMP_11ENAME
PNAME
EMP_12ENAME
DNAME
ตวอย�ง ก�รทำ� 4NF Normalization
Fifth Normal Form (5NF) - Project-Join Normal Form
ใน 5NF มการพจารณาถง Dependency ทเรยกวา Join Dependency ซงเปนการตรวจสอบวา การแยก relation ออกเปน relation ยอย เมอนำามารวมกน ดวยวธการ join นน ได relation กลบมาเหมอนเดมทกประการหรอไม
Join Operation หรอ Natural Joinถาม R1(X,Y) และ R2(Y,Z) *(R1, R2) หรอ R1 JOIN R2 = R3(X, Y, Z) โดยท t(x, y, z) อยใน R3 กตอเมอ ม t1(x,y) อยใน
R1 และ t2(y,z) อยใน R2
เชน R1
A B C A
B1
C1
AB2
C1
AB2
C2
R2D C ED0
C1
E1D
1C1
E2D
6C3
E3
R2A B C D EA1
B1
C1
D0
E1A
1B2
C1
D0
E1A
1B1
C1
D1
E2A
1B2
C1
D1
E2
Join Dependency (JD)ในการแยก relation ออกเปนสวนยอย (decomposition
หรอ projection คอการเลอกบางสวน) R1, R2, R3, …, RnR1, R2, R3, …, Rn มคณสมบต Join Dependency กตอเมอ R1 JOIN R2 JOIN R3 … JOIN Rn = R นนคอเมอเอา relation ยอยมารวมกน กตองได relation ดงเดม ทใมมขอมลสญหาย ( nonlossl ) และไมม tuple ทเกนมา ทเรยกวา Spurious tuple
นย�ม 5NF " relation R อยใน 5NF ถ� R อยใน 4NF และ ก�รแบงแยก relation R มคณสมบต Join Dependency "
ในทางปฏบต relation ทตอง normalize จนถง 4NF และ 5NF มกไมพบพบมากนก เพราะมรปแบบทคอนขางเฉพาะเจาะจง โดยปกต อยางนอย relation ทด ควรจะทำาการ normalize BNCF
ตวอย�ง ก�รทำ� 5NF Normalization
Relation SP, PJ และ JS อยใน 5NF เพราะมคณสมบต Join Dependency แตแคเพยง 2 relation คใดกแลวแต จะไมใช 5NF เพราะ ขาด Join Dependency
สารบญ
เรอง หนา
Normulizationความหมาย 1
Normulization 1
การทำาใหเปนรปแบบบรรทดฐาน 2
รปแบบบรรทดฐาน 2กระบวนการ Normulization
3ฟงกชนการขนตรงตอกน
4สญลกษณ 4Normulization Form (NF)
4-5First Normullization (1NF) 6เทคนคการทำา Relatiion ใหเปน 1 NF
7-9 Secend Normal From ( 2NF)
9-11Third Normal From ( 3NF) 12-14General Definition of 2NF and 3 NF
14-16Boyee_Codd Normal Form ( BENF)
17-18Fourth Normal Form (4NF) 18-19นยาม 20-24
E –R Modelแบบจำาลองขอมล (Data modeling)
25-26สญลกษณทใชใน E-R Diagram 26-28องคประกอบของ E- R Diagram
28-35
ความสมพนธระหวาง Entity (Reslationship) 36สวนประกอบของ E –R Model
36-37ลกษณะความสมพนธ E- R Diagram
37-39ระดบความสมพนธ Entity ( Degree of a
Relationship) 40-42
คำานำา
รายงานเลมนเปนสวนหนงของรายวชา การออกแบและการพฒนาฐานขอมล ซงขาพเจาไดรบมอบหมายจากอาจารย ธนาวทย รคนเกยรตขจร ใหกลบไปคนควาและทำาการศกษาเกยวกบเรอง Normulization และ E- R Model
หากรายงานเลมนมขอผดพลาดประการใด กขออภย ณ. ทนดวย
จดโดย
ปณฑตา ยามา
(นางสาวปณฑตา ยามา)
เสนอ อาจารย ธนาวทย รตนเกยรตขจร
จดทำาโดย นางสาวปณฑตา ยามา
รหสนกศกษา 5104107001008 กลมเรยน 5139.041 โปรแกรม : เทคโนโลยสารสนเทศ ป 3
รายงายเลมนเปนสวนหนงของรายวชาการออกแบบและการพฒนาฐานขอมล ภาคเรยนท 1 ภาคปการศกษา 2553
มหาวทยาลยราชภฏสราษฎรธาน