er model (entity-relationship model) · web viewแผนภาพแสดงความส...

Post on 06-Feb-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

แบบจำ�ลองขอมล ( 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

มหาวทยาลยราชภฏสราษฎรธาน

top related