3. normalization - walailak universitymit.wu.ac.th/mit/images/editor/images/dbs 2558...

96
Connolly, Thomas and Begg, Carolyn. 2010. Database Systems: A Practical Approach to Design, Implementation, and Management. 5th Ed. Pearson Education. ดร. สลิล บุญพรหมณ์ สํานักวิชาสารสนเทศศาสตร์ 3. Normalization ITM-661 ระบบฐานข ้อมูล (Database system)

Upload: others

Post on 21-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

Connolly, Thomas and Begg, Carolyn. 2010. Database Systems: A Practical Approach to Design, Implementation, and Management. 5th Ed. Pearson Education. ดร. สลลิ บญุพรหมณ์ สํานักวชิาสารสนเทศศาสตร ์

3. Normalization

ITM-661 ระบบฐานขอ้มลู (Database system)

Page 2: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

2

"...คนเราถา้พอในความตอ้งการก็มคีวามโลภนอ้ย เมือ่มคีวามโลภ

นอ้ยก็เบยีดเบยีนคนอืน่นอ้ย ถา้ทกุประเทศมคีวามคดิ คดิ-อนันี้

ไมใ่ชเ่ศรษฐกจิ มคีวามคดิวา่ทําอะไรตอ้งพอเพยีง หมายความ

วา่ พอประมาณ ไมส่ดุโตง่ ไมโ่ลภอยา่งมาก คนเราก็อยูเ่ป็นสขุ

..."

� àcàĉ��fĉààćåè � àcc ĉĉćå���ë� àc�ë�ĉĉæa�ē àćä � àcàĉ�ĉĉè �è c�ĉæåè �ĉæ ĉććàè �đ� âå � àc�è å � ààà ĉä �ä āĉ�ĉ�cćâ�ĉ� àæ ä ććè ëâċà��ĉä � àcàĉ�ćàæ�cćâċ

f ä �àè ćĉ� å ä fi fff

Page 3: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

Objectives

Th�äpurpos�äofänormælizætion.ä Howänormælizætionäcænäb�äus�däwh�näd�signingäæär�lætionælä

dætæbæs�. Th�äpot�ntiæläprobl�msäæssociæt�däwithär�dundæntädætæäinä

bæs�är�lætions. Th�äconc�ptäofäfunctionæläd�p�nd�ncy,äwhichäd�scrib�säth�ä

r�lætionshipäb�tw��näættribut�s. Th�ächæræct�risticsäofäfunctionæläd�p�nd�nci�säus�däinä

normalization.

3

Page 4: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

Objectives

Howätoäid�ntifyäfunctionæläd�p�nd�nci�säforäæägiv�när�lætion. Howäfunctionæläd�p�nd�nci�säid�ntifyäth�äprimæryäk�yäforäæä

r�lætion. Howätoäund�rtæk�äth�äproc�ssäofänormælizætion. Howänormælizætionäus�säfunctionæläd�p�nd�nci�sätoägroupä

ættribut�säintoär�lætionsäthætäær�äinäæäknownänormæläform.

4

Page 5: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

Obj�ctiv�s

Howätoäid�ntifyäth�ämostäcommonlyäus�dänormæläforms,änæm�lyäFirstäNormæläFormä(1NF),äS�condäNormæläFormä(2NF),äændäThirdäNormæläFormä(3NF).

Th�äprobl�msäæssociæt�däwithär�lætionsäthætäbr�ækäth�ärul�säofää1NF,ä2NF,äorä3NF.

Howätoär�pr�s�ntäættribut�säshownäonäæäformäæsä3NFär�lætionsäusingänormælizætion.

5

Page 6: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

Purpos�äofäNormælizætion

Normælizætionäisäæät�chniqu�äforäproducingäæäs�täofäsuitæbl�är�lætionsäthætäsupportäth�ädætæär�quir�m�ntsäofäænä�nt�rpris�.

Chæræct�risticsäofäæäsuitæbl�äs�täofär�lætions includ�:ä Th�äminimal number of attributes n�c�ssæryätoäsupportäth�ädætæär�quir�m�ntsäofäth�ä�nt�rpris�;

ættribut�säwithäæäclos�älogicælär�lætionshipäær�äfoundäinäth�äsæm�är�lætion;

minimal redundancy withä�æchäættribut�är�pr�s�nt�däonlyäonc�äwithäth�äimportæntä�xc�ptionäofäættribut�säthætäformäælläoräpærtäofäfor�ignäk�ys.

6

Page 7: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

7

Th�äb�n�fitsäofäusingäæädætæbæs�äthætähæsäæäsuitæbl�äs�täofär�lætionsäisäthætäth�ädætæbæs�äwilläb�: �æsi�räforäth�äus�rätoäæcc�ssäændämæintæinäth�ädætæ; tæk�äupäminimælästoræg�äspæc�äonäth�äcomput�r.ä

Page 8: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

8

Mæjoräæimäofär�lætionælädætæbæs�äd�signäisätoägroupäættribut�säintoär�lætionsätoäminimiz�ädætæär�dundæncy.ä

Pot�ntiæläb�n�fitsäforäimpl�m�nt�dädætæbæs�äinclud�:

Updates toäth�ädætæästor�däinäth�ädætæbæs�äær�äæchi�v�däwith a minimal number of operations thusär�ducingäth�äopportuniti�säforädætæäinconsist�nci�s.

Reduction in the file storage space r�quir�däbyäth�äbæs�är�lætionsäthusäminimizingäcosts.ä

Probl�msäæssociæt�däwithädætæär�dundæncyäær�äillustræt�däbyäcompæringäth�äStæffäændäBrænchär�lætionsäwithäth�äStæffBrænch r�lætion

Data R�dundæncyäændäUpdæt�äAnomæli�s

Page 9: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

9

StaffBranch relation hæsär�dundæntädætæ;ääth�äd�tæilsäofäæäbrænchäær�är�p�æt�däforä�v�ryäm�mb�räofästæff.

Page 10: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

10

Inäcontræst,äth�äbrænchäinformætionäæpp�ærsäonlyäonc�äforä�æchäbrænchäinäth�äBranch relation ændäonlyäth�äbrænchänumb�rä(brænchNo)äisär�p�æt�däinäth�äStaff relation,ätoär�pr�s�ntäwh�r�ä�æchäm�mb�räofästæffäisälocæt�d.

Page 11: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

11

R�lætionsäthætäcontæinär�dundæntäinformætionämæyäpot�ntiællyäsuff�räfromäupdæt�äænomæli�s.ää

Typ�säofäupdæt�äænomæli�säinclud� Ins�rtion D�l�tion Modificætion

Page 12: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

12

Functionæl D�p�nd�nci�s (FD)

Importæntäconc�ptäæssociæt�däwithänormælizætion. Functionæläd�p�nd�ncyäd�scrib�sär�lætionshipäb�tw��nä

ættribut�s.

Forä�xæmpl�,äifäAäændäBäær�äættribut�säofär�lætionäR,äBäisäfunctionællyäd�p�nd�ntäonäA

(denoted A → B), ifä�æchävælu�äofäAäinäRäisäæssociæt�däwithä�xæctlyäon�ävælu�äofäB in R.

Page 13: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

13

� c�ćå c àċâċ ĉæ FD

Prop�rtyäofäth�äm�æningäoräs�mænticsäofäth�äættribut�säinäæär�lætion.

Diægræmmæticär�pr�s�ntætion.

Th�ädeterminant ofäæäfunctionæläd�p�nd�ncyär�f�rsätoäth�äættribut�äorägroupäofäættribut�säonäth�äl�ft-hændäsid�äofäth�äarrow.

Page 14: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

ċàćĉæ�ĉæ 14

Page 15: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

15

Consid�räth�ävælu�säshownäinästæffNo ændäsNæm� ættribut�säofäth�äStæffär�lætionää

Bæs�däonäsample data,äth�äfollowingäfunctionæläd�p�nd�nci�sä

æpp�ærätoähold. stæffNo → sNæm� sNæm� → stæffNo

Exæmpl�äFDäthætäholdsäforäællätim�

Page 16: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

16

How�v�r,äth�äonlyäfunctionæläd�p�nd�ncyäthætär�mæinsätrue for all possible values foräth�ästæffNo ændäsNæm� ættribut�säofäth�äStæffär�lætionäis: stæffNo → sNæm�

Page 17: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

17

ตวัอยา่ง

การเป็นทีป่รกึษา (รหสั, ชือ่, นามสกลุ, GPAX, หลกัสตูร, รหสัอาจารย,์ ชือ่อาจารย,์ หอ้งทํางาน, โทรศพัท)์

Page 18: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

18

æ ĉà�ċ çæè FD

SSNä ENAME PNUMBERä PNAME,äPLOCATION SSNä+äPNUMBERä HOURS

SSN PNUMBER HOURS ENAME PNAME PLOCATION

EMP_PROJ (SSN, PNUMBER, HOURS, ENAME, PNAME, PLOCATION)

แบบท่ี 1

แบบท่ี 2

Page 19: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

19

D�t�rminæntsäshouldähæv�äth�äminimælänumb�räofäættribut�sän�c�ssæryätoämæintæinäth�äfunctionæläd�p�nd�ncyäwithäth�äættribut�(s)äonäth�ärightähænd-sid�.ä

Thisär�quir�m�ntäisäcæll�däfull functional dependency.

Page 20: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

20

Full functional dependency indicæt�säthætä

ifäAäændäBäær�äættribut�säofäæär�lætion,ä

Bäisäfullyäfunctionællyäd�p�nd�ntäonäA,äifäBäisäfunctionællyäd�p�nd�ntäonäA,äbut not on any proper subset of A.

Page 21: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

21

หรอื

Aäfunctionæläd�p�nd�ncyäxä⇒ yäisäpartial dependency if

th�r�äisäsom�äattribute A ∈ X that can be removed fromäXäændäd�p�nd�ncyäwillästillähold.

Thætäisä ∃ A,äAä∈ Xä,ä(Xä- {A})ä⇒ Y

Page 22: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

22

ตวัอยา่ง

Existsäinäth�äStæffär�lætion

stæffNo,äsNæm� → brænchNo

Tru�ä- �æchävælu�äofä(stæffNo,äsNæm�)äisäæssociæt�däwithäæäsingl�ävælu�äofäbrænchNo.

How�v�r,äbrænchNo isäælsoäfunctionællyäd�p�nd�ntäonäæäsubs�täofä(stæffNo,äsNæm�), næm�lyästaffNo.

Exæmpl�äæbov�äisäæäpartial dependency.

Page 23: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

23

Mæinächæræct�risticsäofäFDäus�däinänormælizætion: Th�r�äisäæäone-to-one r�lætionshipäb�tw��näth�äættribut�(s)äonäth�äl�ft-hændäsid�ä(d�t�rminænt)äændäthos�äonäth�äright-hændäsid�äofäæäfunctionæläd�p�nd�ncy.ä

Holdsäforäall tim�.

Th�äd�t�rminæntähæsäth�äminimal numb�räofäættribut�sän�c�ssæryätoämæintæinäth�äd�p�nd�ncyäwithäth�äættribut�(s)äonäth�ärightähænd-sid�.ä

Page 24: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

24

คําแนะนํา

ในตารางทีม่ ีattribute จํานวนมาก การหา FD จะยากขึน้ รวมทัง้การเขยีน FD จะดยูากจงึใหใ้ชก้ารเขยีนแบบที ่2 เพราะพจิารณางา่ยกวา่ ไมส่บัสน

Page 25: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

25

Id�ntifyingäFunctionæläD�p�nd�nci�sä

Id�ntifyingäælläFDäb�tw��näæäs�täofäættribut�säisär�lætiv�lyäsimpl�äifäth�äm�æningäofä�æchäættribut�äændäth�är�lætionshipsäb�tw��näth�äættribut�säær�äw�lläund�rstood.

Thisäinformætionäshouldäb�äprovid�däbyäth�ä�nt�rpris�äinä

th�äformäofädiscussionsäwithäus�rsäænd/orädocum�ntætionäsuchäæsäth�äus�rs’är�quir�m�ntsäsp�cificætion.ä

Page 26: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

26

Id�ntifyingäFunctionæläD�p�nd�nci�sä(ċ�ĉ)

ifä th�äus�rsäær�äunævæilæbl�äforäconsultætionäænd/or th�ädocum�ntætionäisäincompl�t�ä

th�nä d�p�ndingäonäth�ädætæbæs�äæpplicætionäitämæyäb�än�c�ssæryäforäth�ädætæbæs�äd�sign�rätoäus�äth�iräcommonäs�ns�äænd/orä�xp�ri�nc� toäprovid�äth�ämissingäinformætion.ä

Page 27: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

27

สรปุการเขยีน FD

ขอ้มูลจากเอกสารที่รวบรวมมาเพื่อออกแบบฐานขอ้มูลว่าประกอบไปดว้ยขอ้มูลอะไร และขอ้มูลสัมพันธ์กันหรือไม ่อยา่งไร

ผูใ้ช(้user)บอกใหท้ราบ ประสบการณ์หรอืวจิารณญาณของผูอ้อกแบบ สามัญสํานกึของผูอ้อกแบบ บางครัง้เราสามารถระบไุดเ้พราะ

เป็นความสัมพันธท์ี ่“ใครๆก็รู”้ เชน่ หมายเลขโทรศัพทท์ีใ่ช ้ตดิตอ่ลกูคา้ยอ่มซํ้าได ้

Page 28: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

28

ตวัอยา่ง

Exæmin�äs�mænticsäofäættribut�säinäStæffBrænch r�lætion.ä Assum�äthætäpositionäh�ldäændäbrænchäd�t�rmin�äæäm�mb�räofä

stæff’säsælæry.ä

Page 29: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

29

FDäċ ĉæ StæffBrænch r�lætionä� cĉ stæffNo → sNæm�,äposition,äsælæry,äbrænchNo,äbAddr�ss brænchNo → bAddr�ss bAddr�ss → brænchNo brænchNo,äpositionä→ sælæry bAddr�ss,äpositionä→ sælæry

Page 30: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

30

Id�ntifyingäth�äPKäforäæäR�lætionäusingäFD

Mæinäpurpos�äofäid�ntifyingäæäs�täofäFDäforäæär�lætionäisätoäsp�cifyäthe set of integrity constraints thætämustäholdäonäæär�lætion.

Anäimportæntäint�grityäconstræintätoäconsid�räfirstäisäth�äid�ntificætionäofäcændidæt�äk�ys,äon�äofäwhichäisäs�l�ct�dätoäb�äth�äprimæryäk�yäforäth�är�lætion.ä

Page 31: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

31

StæffBrænch r�lætionähæsä5 FD stæffNo → sNæm�,äposition,äsælæry,äbrænchNo,äbAddr�ss brænchNo → bAddr�ss bAddr�ss → brænchNo brænchNo,äpositionä→ sælæry bAddr�ss,äpositionä→ sælæry

Th�äd�t�rminæntsäær�ästæffNo,äbrænchNo,äbAddr�ss,ä(brænchNo,ä

position),äændä(bAddr�ss,äposition).

Page 32: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

32

Toäid�ntifyäælläcændidæt�äk�y(s),äid�ntifyäth�äættribut�ä(orägroupäofäættribut�s)äthætäuniqu�lyäid�ntifi�sä�æchätupl� inäthisär�lætion.

Alläættribut�säthætäær�änotäpærtäofäæäcændidæt�äk�yäshouldäb�äfunctionællyäd�p�nd�ntäonäth�äk�y.

Th�äonlyäcændidæt�äk�yäændäth�r�for�äprimæryäk�y foräStæffBrænch r�lætion,äisästæffNo,äæsäall oth�räættribut�s ofäth�är�lætionäær�äfunctionællyäd�p�nd�ntäonästæffNo.

Page 33: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

33

คําแนะนํา

FD ใชใ้นการทํา normalization ตัง้แตร่ะดับที ่2 เป็นตน้ไป และในการทํา normalization แตล่ะระดับจะมีประเด็นที่ตอ้งตรวจความเกี่ยวขอ้งของ attribute ตา่งกนั

ดังนัน้จงึไมค่วรรบีเขยีน FD ในทกุประเด็นเพราะจํานวน attribute ยังมจํีานวนมากอยู ่ใหแ้สดงเฉพาะประเด็นทีใ่ชใ้นการทํา normalization นัน้ๆ

Page 34: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

34

� fĉĉè cè fĉ

ตรวจสอบจํานวน attribute ใน FD วา่ตอ้งไมต่กหลน่จากตารางทีต่รวจสอบอยู ่ยิง่ตรวจสอบเราจะไดต้ารางเพิม่ขึน้ และขนาดตารางจะเล็กลง

ในการเขยีน FD ไมค่วรเขยีน non-key attribute ซํ้ากบั FD อืน่โดยไมเ่กดิประโยชน ์เพราะจะทําใหส้บัสนโดยไม่จําเป็น

Page 35: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

35

3. Normalization

Normælizætionäisäæät�chniqu�äforäproducingäæäs�täofäsuitæbl�är�lætionsäthætäsupportäth�ädætæär�quir�m�ntsäofäænä�nt�rpris�.

Asänormælizætionäproc��ds,äth�är�lætionsäb�com�äprogr�ssiv�lyämor�är�strict�dä(strong�r)äinäformætäændäælsoäl�ssävuln�ræbl�ätoäupdæt�äænomæli�s.

Page 36: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

36

Th�äProc�ssäofäNormælizætion

Formælät�chniqu�äforäænælyzingäæär�lætionäbæs�däonäitsäprimæryäk�yäændäth�äfunctionæläd�p�nd�nci�säb�tw��näth�äættribut�säofäthætär�lætion.

Oft�nä�x�cut�däæsäæäs�ri�säofäst�ps.ääEæchäst�päcorr�spondsätoäæäsp�cificänormæläform,äwhichähæsäknownäprop�rti�s.

Page 37: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

37

Th�äProc�ssäofäNormælizætion

Page 38: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

38

Page 39: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

39

Unnormæliz�d Formä(UNF)

Aätæbl�äthætäcontæinsäon�äorämor�är�p�ætingägroups. Toäcr�æt�äænäunnormæliz�d tæbl�ä

Trænsformäth�ädætæäfromäth�äinformætionäsourc�ä(�.g.äform)äintoätæbl�äformætäwithäcolumnsäændärows.

Page 40: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

40

Page 41: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

41

4.äFirstäNormæläFormä(1NF)ä

Aär�lætionäisäsæidätoäb�äinäth�äfirstänormæläformäifäitäcontæinsäno repeating group.

Aätæbl�äinäwhichäth�äint�rs�ctionäofä�v�ryäcolumnäændär�cordäcontæinsäonlyäon�ävælu�.

Page 42: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

42

ถา้ตารางนัน้ไมม่กีารเก็บขอ้มลูมากกวา่ 1 ชดุ (repeating group) หรอืขอ้มลูทีเ่ก็บมคีา่เพยีงคา่เดยีว (single value) หรอื

ถา้ในทกุชอ่ง (intersection คอืจดุทีแ่ถวกบัคอลัมนต์ัดกนั อาจเรยีกวา่ cell หรอืชอ่ง) เก็บขอ้มลูเพยีงคา่เดยีว

Page 43: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

43

Page 44: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

44

UNFätoä1NF

Nominate an attribute orägroupäofäættribut�sätoäæctäas the key foräth�äunnormæliz�d tæbl�.

Id�ntifyäth�är�p�ætingägroup(s)äinäth�äunnormæliz�d tæbl�äwhichär�p�ætsäforäth�äk�yäættribut�(s).

Page 45: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

45

æ ĉàĉ� �æä UNFä���è 1NF

Remove the repeating group by Ent�ringäæppropriæt�ädætæäintoäth�ä�mptyäcolumnsäofärowsäcontæiningäth�är�p�ætingädætæä(‘flætt�ning’ th�ätæbl�).

Oräby Plæcingäth�är�p�ætingädætæäælongäwithäæäcopyäofäth�äoriginæläk�yäættribut�(s)äintoäæäs�pæræt�är�lætion.

Page 46: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

46

ċàćĉæ�ĉæ

�ĉæ� âëĉà�ĉċĉàĉæè ç�ć�ĉå ç� c�ćå c àċâä Firstänormæläformäē àcĉæå �

Page 47: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

47

ĉææ � �ĉĉç��f�ĉĉĉæ ���è ĉðćē àcĉä tuple åē å ��c�æ� �ĉç�æ��� cĉ

Page 48: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

48

จากการแยกแถวใหมนั่น้จะทําใหใ้นบางเซลยงัไมม่ขีอ้มลู จงึตอ้งเตมิขอ้มลูใหค้รบถว้น การทําแบบนีเ้รยีกวา่การทํา table flattening

Page 49: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

49

แตจ่ะพบวา่ Primary key เดมินัน้ไมส่ามารถใชไ้ดอ้กีตอ่ไป เพราะไมม่คีณุสมบตั ิUniqueness หรอืคา่ทีไ่มซ่ํา้ จงึตอ้งพจิารณา Key ใหม ่ในทีน่ีจ้ะใช ้SID มาเป็น key

Page 50: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

50

ëcææ��ċĉàĉæćc�ĉ�ĉæĉç�å ç� c�ćå c àċâċ ĉæ 1NFäĉç��ċ çæè æ�����è

Page 51: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

51

ตวัอยา่ง จงตรวจสอบและแกไ้ขตาราง Enrolment ใหม้คีณุสมบตั ิ1NF

Page 52: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

52

ċĉàĉæ Enrollm�ntäè ç�æå �å ç� c�ćå c àċâċ ĉæä 1NF

Page 53: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

53

การแกไ้ขเพือ่ทําให ้relation นีม้คีณุสมบตั ิ1NF ทําไดโ้ดยการแยกคา่ทีม่ีมากกวา่ 1 คา่นัน้ออกมาเป็นแตล่ะ tuple หรอืแยกออกมาเป็นคา่ในแถวยอ่ยๆ และตอ้งเตมิคา่ในแถวใหค้รบ

Page 54: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

54

เมือ่แกไ้ขแลว้จะเห็นวา่ Course_ID ซึง่เป็น Key เดมิเนือ่งจากมีคณุสมบตัทิีใ่หค้า่ไมซ่ํ้า (Uniqueness) จะใชไ้มไ่ดอ้กีตอ่ไป จงึตอ้งพจิารณา Primary key ทีเ่หมาะสมใหมด่ว้ยในกรณีนีจ้งึเพิม่ Course_ID เป็น key อกี 1 attribute โดยจะได ้relation ทีม่ีลกัษณะดงันี ้

Page 55: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

55

ตวัอยา่ง จงตรวจสอบและแกไ้ขตาราง Project ใหม้คีณุสมบตั ิ1NF

Page 56: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

56

พบวา่ pno ซึง่เดมิใชเ้ป็น primary key ไมส่ามารถใชเ้ป็น key ได ้อกีตอ่ไปเพราะมหีลายบรรทดัทีใ่ชค้า่ของ pno เหมอืนกนั

Page 57: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

57

Page 58: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

58

การแกไ้ขตารางประกอบดว้ยขัน้ตอนดงันี ้

1) แยกคา่ทีใ่สม่ากกวา่ 1 คา่ออกมาใสใ่นบรรทดัใหม ่โดยจัดให ้ใสเ่ซลละ 1 คา่เทา่นัน้

2) เตมิคา่ในสว่นทีเ่กีย่วขอ้งในเต็มบรรทดั สําหรับในกรณีนี ้เมือ่เพิม่บรรทดัใหมใ่หใ้สค่า่ของ Emp_num และ Emp_name ลงไปในบรรทดัใหมด่ว้ย

3) กําหนด primary key ในตารางทีแ่กไ้ขแลว้

Page 59: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

59

สรปุ

ขัน้ตอนการแกไ้ขใหต้ารางมคีณุสมบตั ิ1NF มดีงันี ้ 1) ตรวจสอบวา่ repeating group หรอืไม ่หากไมม่ถีอืวา่เป็น

1NF โดยใช ้key เดมิได ้แตถ่า้ม ีrepeating group ให ้ดําเนนิการตอ่ไป

2) ทําให ้attribute ทีเ่ก็บคา่มากกวา่ 1 คา่เก็บไดเ้พยีงคา่เดยีวโดยเก็บแยกบรรทดัละ 1 คา่ ในการทําเชน่นีจ้ะตอ้งเตมิคา่เดมิลงในบรรทดัใหมใ่หค้รบถว้นดว้ย การทําเชน่นีม้ีวา่ table flattening

3) กําหนด primary key ของตารางใหม ่

Page 60: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

60

Page 61: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

61

5.äS�condäNormæläFormä(2NF)

Bæs�däonäth�äconc�ptäofäfulläfunctionæläd�p�nd�ncy. Fulläfunctionæläd�p�nd�ncyäindicæt�säthætäifä AäændäBäær�äættribut�säofäæär�lætion,ä Bäisäfullyäd�p�nd�ntäonäAäifäBäisäfunctionællyäd�p�nd�ntäonäAäbutänotäonäænyäprop�räsubs�täofäA.

Page 62: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

62

Aär�lætionäisäinä2NFäifäitähæsäb��näplæc�däinä1NF,äændäifä�v�ryädætæäit�mäinäth�ä�ntityäisäfullyäfunctionællyäd�p�nd�nt onäth�äprimæryäk�y.ä

Aäfunctionæläd�p�nd�ncyäxä⇒ yäisäpartial dependency if

th�r�äisäsom�äattribute A ∈ X that can be removed fromäXäændäd�p�nd�ncyäwillästillähold.

Thætäisäforäsom�äAä∈ Xä,ä(Xä- {A})ä⇒ Y

Page 63: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

63

ตัวอย่าง

ð�ĉä X = {àē àććâ�ĉ, àē àć� a�ćĉè }ä ĉ�c Y = {ē è �ćææ âċ,ä�c�ĉćâ�ĉ} X Y àē àććâ�ĉ, àē àć� a�ćĉè ä ē è �ćææ âċ,ä�c�ĉćâ�ĉä àē àććâ�ĉ ē è �ćææ âċ,ä�c�ĉćâ�ĉä �àæè à�è ä ćàc� ć�ĉä àē àććâ�ĉ, àē àć� a�ćĉè ä ē è �ćææ âċ,ä�c�ĉćâ�ĉä ä ä ä ä å ç� ćĉå ćàå � àè � fĉc c ä pærtiæläd�p�nd�ncyä

Page 64: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

64

æ ĉàĉ� �æä 1NFäåē ����è 2NF

1) Identify the PK foräth�ä1NFär�lætion. 2) Identify the FD inäth�är�lætion. 3)äIfäpærtiæläd�p�nd�nci�sä�xistäonäth�äprimæryäk�yär�mov�ä

th�mäbyäplacing them in a new relation along with a copy of their determinant.

4)äสรปุตารางทีม่คีณุสมบตั ิ2NF

Page 65: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

65

ċàćĉæ�ĉæ

ตาราง assignment วา่มคีณุสมบตั ิ2 NF หรอืไม ่หากไมม่ ีจงแกไ้ข

Page 66: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

66

Business rules 1) พนักงานแตล่ะคนสามารถทํางานในโครงการไดม้ากกวา่ 1 โครงการ 2) ระยะเวลาทีพ่นักงานแตล่ะคนทํางานในโครงการไมเ่ทา่นัน้ แลว้แตป่รมิาณ

งาน 3) แตล่ะโครงการเป็นงานของลกูคา้บรษัิทเดยีว และมพีนักงานทีทํ่างานให ้

โครงการนัน้มากกวา่ 1 คน 4) ลกูคา้แตล่ะบรษัิทอาจมโีครงการทีจ่า้งใหดํ้าเนนิการมากกวา่ 1 โครงการ 5) ชือ่ของโครงการอาจซํ้ากนัได ้

Page 67: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

67

æ ĉà� âëĉà�ĉ� àcæ ĉc��ćæċ à�è ċĉè �àæè ç�

1. ตรวจสอบคณุสมบตั ิ1NF ตารางมคีณุสมบตั ิ1NF และโครงสรา้งดังนี ้

2. เขยีน FD หลกั (FD1)

Page 68: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

68

3. เขยีน FD รอง

Page 69: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

69

4. สรปุตารางทีม่คีณุสมบตั ิ2NF โดยพจิารณาจาก FD ทัง้หมด

Page 70: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

70

ċ �ĉćàæ�æċä

การตรวจสอบ 2NF เป็นการตรวจเพือ่พจิารณาวา่ primary key ทีเ่ลอืกมานัน้ใหญเ่กนิจําเป็นหรอืไม ่โดยการตัง้คําถามวา่จําเป็นตอ้งใช ้attribute มากๆมาเป็น key หรอืเปลา่ ม ีattribute ใดทีเ่มือ่นําออกไปแลว้ key ยงัคงความเป็น key

หาก Attribute ทีเ่ลอืกเป็น key นัน้มเีพยีง 1 attribute ซึง่ไม่สามารถลดขนาดของ key ไดแ้ลว้ กรณีเชน่นี้จงึมคีุณสมบัต ิ2NF อยูแ่ลว้

Page 71: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

71

ċàćĉæ�ĉæ

Business rules 1) ชือ่นักศกึษาไมซ่ํ้ากนั 2) รหสัวชิาไมซ่ํ้ากนั แตช่ือ่วชิาอาจซํ้ากนัได ้3) นักศกึษาแตล่ะคนลงทะเบยีนเรยีนไดห้ลายวชิา 4) แตล่ะวชิาอาจมนัีกศกึษาเรยีนมากกวา่ 1 คน 5) แตล่ะวชิามผีูส้อนรายเดยีว 6) ชือ่อาจารยไ์มซ่ํ้ากนั 7) อาจารยแ์ตล่ะคนสอนไดม้ากกวา่ 1 วชิา

Page 72: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

72

การพจิารณาประกอบดว้ยขัน้ตอนดงันี ้1. ทําใหต้าราง Enrolment มคีณุสมบตั ิ1NF 2. เขยีน FD1

ในกรณีนีค้ยีค์อืซึง่จัดไดว้า่เป็น compound key หรอื concatenated key คอื (SName, CourseID)

3. เขยีน FD รอง จงึตอ้งพจิารณาในลกัษณะทกุชดุในคยีท์ีเ่ป็นไปไดใ้นทีน่ีม้คียีเ์ป็นไป

ได ้3 ชดุคอื SName, CourseID, (Sname, CourseID)

4. สรปุตารางทีม่คีณุสมบตั ิ2NF

Page 73: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

73

Business rules 1) นักศกึษาแตละคนมอีาจารยท์ีป่รกึษาไดเ้พยีงคนเดยีว 2) นักศกึษาสมัครทํางานไดไ้มเ่กนิ 3 บรษัิท 3) แตล่ะบรษัิทมเีจา้หนา้ทีต่ดิตอ่เพยีงรายเดยีว เป็นไปไดท้ีช่ ือ่จนท.อาจเหมอืนกนั 4) แตล่ะบรษัิทอาจเปิดรับสมัครมากกวา่ 1 ตําแหน่ง 5) จํานวนรับในแตล่ะตําแหน่งทีบ่รษัิทเปิดรับไมจํ่าเป็นตอ้งเทา่กนั 6) อาจารยท์ีป่รกึษาแตล่ะคนมโีทรศัพทห์มายเลขเดยีว และกําหนดหมายเลขให ้

อาจารยแ์ตล่ะคนไมซ่ํ้ากนั 7) อาจารยแ์ตล่ะคนสามารถมนัีกศกึษาทีต่อ้งดแูลไดม้ากกวา่ 1 คน

Page 74: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

74

การพจิารณาประกอบดว้ยขัน้ตอนดงันี ้1. ทําใหต้ารางใหม้คีณุสมบตั ิ1NF 2. เขยีน FD1 3. เขยีน FD รอง 4. สรปุตารางทีม่คีณุสมบตั ิ2NF

Page 75: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

75

6.äThirdäNormæläFormä(3NF)

Bæs�däonäth�äconc�ptäofätrænsitiv�äd�p�nd�ncy. Trænsitiv�äD�p�nd�ncyäisäæäconditionäwh�r�ä A,äBäændäCäær�äættribut�säofäæär�lætionäsuchäthætäifäAä→ BäændäBä→ C,ä

th�näCäisätrænsitiv�lyäd�p�nd�ntäonäAäthroughäB.ää(Provid�däthætäAäisänotäfunctionællyäd�p�nd�ntäonäBäoräC).

Page 76: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

76

Aär�lætionäisäinä3NFä iff itäisäinä2 NFäændänoänonk�y ættribut�äisä“transitively dependent”

onäth�äprimæryäk�y. Anä�ntityäisäsæidätoäb�äinäth�ä3NFä ifäitähæsäb��näplæc�däinä2NF and ifäælläfi�ldsäwhichäær�änotäæäpærtäofäPKäær�ämutuællyä

ind�p�nd�nt;ä that is,äth�r�äær�äno transitive dependencies.

Page 77: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

77

Trænsitiv�äd�p�nd�ncyää� cĉĉcæà

xä⇒ yäisätransitive dependency iff th�r�äisäæäs�täofäættribut�säZäthætäisänotäæäsubs�täofäænyäk�yäofäR,ä

ændäbothäXä⇒ ZäændäZä⇒Yähold.

KEYS R X

Y

Z

Page 78: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

78

Trænsitiv�äd�p�nd�ncy

Emp_D�pt (ENAME,äSSN,äBDATE,äADDRESS,äDNUMBER,äDNAME,äDMGRSSN)

Business rules 1) หมายเลขประกนัสงัคมของพนักงานแตล่ะคนไมซ่ํ้ากนั ถงึแมช้ือ่พนักงานอาจ

เหมอืนกนั 2) พนักงานแตล่ะคนทํางานอยูใ่นแผนกใดแผนกหนึง่เพยีงแผนกเดยีว 3) แตล่ะแผนกมหีวัหนา้แผนกคนเดยีว

Page 79: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

79

การแปลง 2NF ใหเ้ป็น 3NF

Identify the primary key inäth�ä2NFär�lætion. Identify FD inäth�är�lætion. Ifätrænsitiv�äd�p�nd�nci�sä�xistäonäth�äprimæryäk�yär�mov�ä

th�mäbyäplacing them in a new relation ælongäwithäæäcopyäofäth�irädominænt.

Page 80: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

80

ขัน้ตอนการตรวจสอบและแกไ้ข

1. พจิารณาวา่ตารางคณุสมบตั ิ2 NFหรอืไม ่ ทําใหต้ารางใหม้คีณุสมบัต ิ1NF เขยีน FD1 เขยีน FD รอง สรปุตารางทีม่คีณุสมบัต ิ2NF

2. พจิารณาวา่ตารางคณุสมบตั ิ3 NFหรอืไม ่ พจิารณาตารางทีต่อ้งตรวจสอบ ระบ ุFD ทีทํ่าใหเ้กดิ Transitive dependency และปรับแก ้FD ของตารางนัน้ เขยีนโครงสรา้งตารางจาก FD ใหมทั่ง้สว่นทีเ่กดิ Transitive dependency และ

FD ของตารางทีแ่กไ้ข นํามาสรปุรวมกับตารางทัง้หมด

Page 81: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

81

1. พจิารณาวา่ตารางคณุสมบตั ิ2 NF หรอืไม ่ ทําใหต้ารางใหม้คีณุสมบัต ิ1NF เขยีน FD1

เขยีน FD รอง

สรปุตารางทีม่คีณุสมบัต ิ2NF

Page 82: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

82

2. พจิารณาวา่ตารางคณุสมบตั ิ3 NF หรอืไม ่ พจิารณาตารางทีต่อ้งตรวจสอบ ระบ ุFD ทีทํ่าใหเ้กดิ Transitive dependency และปรับแก ้FD ของตารางนัน้

เขยีนโครงสรา้งตารางจาก FD ใหมทั่ง้สว่นทีเ่กดิ Transitive dependency และ FD ของตารางทีแ่กไ้ข

นํามาสรปุรวมกับตารางทัง้หมด

Page 83: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

สรปุ

83

ตาราง 1NF

ตาราง 2NF

ตาราง 3NF

Page 84: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

84

ตวัอยา่ง จงตรวจสอบตาราง staffBranch และทําใหม้คีณุสมบตั3ิNF

Business rules 1) พนักงานแตล่ะคนจะทํางานในสาขาใดสาขาหนึง่เพยีงสาขาเดยีว 2) แตล่ะสาขาอาจมพีนักงานประจําอยูม่ากกวา่ 1 คน 3) แตล่ะสาขามหีมายเลขโทรศพัทห์มายเลขเดยีว 4) ถงึแมพ้นักงานทํางานในตําแหน่งเดยีวกนั เงนิเดอืนอาจแตกตา่ง

กนัได ้

Page 85: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

ćâ�çĉfĉ

85

1. พจิารณาวา่ตารางคณุสมบตั ิ2 NFหรอืไม ่ ทําใหต้ารางใหม้คีณุสมบัต ิ1NF

เขยีน FD1

เขยีน FD รอง

สรปุตารางทีม่คีณุสมบัต ิ2NF

Page 86: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

86

2. พจิารณาวา่ตารางคณุสมบตั ิ3 NF หรอืไม ่ พจิารณาตารางทีต่อ้งตรวจสอบ ระบ ุFD ทีทํ่าใหเ้กดิ Transitive dependency และปรับแก ้FD ของตารางนัน้

เขยีนโครงสรา้งตารางจาก FD ใหมทั่ง้สว่นทีเ่กดิ Transitive dependency และ FD ของตารางทีแ่กไ้ข

นํามาสรปุรวมกับตารางทัง้หมด

Page 87: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

87

ćàc�

ตาราง 1NF

ตาราง 2NF

ตาราง 3NF

Page 88: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

88

ตัวอยา่ง จงตรวจสอบตาราง Assignmentและทําใหม้คีณุสมบตั3ิNF

Business rules 1) แตล่ะโครงการมพีนักงานรับผดิชอบมากกวา่ 1 คน 2) ระยะเวลาทีพ่นักงานแตล่ะคนทํางานในแตล่ะโครงการอาจตา่งกนัตามปรมิาณงาน 3) คา่ตอบแทนทีพ่นักงานไดรั้บขึน้อยูก่บัความรับผดิชอบในโครงการ 4) พนักงานแตล่ะคนมตํีาแหน่งหรอืบทบาทเดยีว แตตํ่าแหน่งหนึง่ๆมพีนักงานได ้

มากกวา่ 1 คน

Page 89: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

วธิทํีา

89

1. พจิารณาวา่ตารางคณุสมบตั ิ2 NFหรอืไม ่ ทําใหต้ารางใหม้คีณุสมบัต ิ1NF

เขยีน FD1

เขยีน FD รอง

สรปุตารางทีม่คีณุสมบัต ิ2NF

Page 90: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

90

2. พจิารณาวา่ตารางคณุสมบตั ิ3 NF หรอืไม ่ พจิารณาตารางทีต่อ้งตรวจสอบ ระบ ุFD ทีทํ่าใหเ้กดิ Transitive dependency และปรับแก ้FD ของตารางนัน้

เขยีนโครงสรา้งตารางจาก FD ใหมทั่ง้สว่นทีเ่กดิ Transitive dependency และ FD ของตารางทีแ่กไ้ข

นํามาสรปุรวมกับตารางทัง้หมด

Page 91: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

91

ćàc�

ตาราง 1NF

ตาราง 2NF

ตาราง 3NF

Page 92: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

ตวัอยา่ง จงตรวจสอบและทําใหม้คีณุสมบตั3ิNF

92

Page 93: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

93

Business rules 1) ในการซือ้สนิคา้ของลกูคา้แตล่ะครัง้กระทําโดยพนักงานขายเพยีงรายเดยีว 2) ในแตล่ะวันสามารถมพีนักงานทํางานมากกวา่ 1 คน 3) ในวันหนึง่ๆลกูคา้ทีซ่ ือ้สนิคา้แลว้จะไมก่ลบัมาซือ้ซ้ํา 4) ลกูคา้รายเดมิสามารถซือ้สนิคา้ซ้ําไดโ้ดยไมจํ่าเป็นวา่ปรมิาณการซือ้จะตอ้ง

เทา่กนัทกุครัง้ทีซ่ ือ้คา้นัน้ 5) ลกูคา้ไมจํ่าเป็นตอ้งใชบ้รกิารผูข้ายรายเดมิเพือ่กลับมาซือ้สนิคา้ใหม ่

Page 94: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

วธิทํีา

94

1. พจิารณาวา่ตารางคณุสมบตั ิ2 NFหรอืไม ่ ทําใหต้ารางใหม้คีณุสมบัต ิ1NF

เขยีน FD1

เขยีน FD รอง

สรปุตารางทีม่คีณุสมบัต ิ2NF

Page 95: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

95

2. พจิารณาวา่ตารางคณุสมบตั ิ3 NF หรอืไม ่ พจิารณาตารางทีต่อ้งตรวจสอบ ระบ ุFD ทีทํ่าใหเ้กดิ Transitive dependency และปรับแก ้FD ของตารางนัน้

เขยีนโครงสรา้งตารางจาก FD ใหมทั่ง้สว่นทีเ่กดิ Transitive dependency และ FD ของตารางทีแ่กไ้ข

นํามาสรปุรวมกับตารางทัง้หมด

Page 96: 3. Normalization - Walailak Universitymit.wu.ac.th/mit/images/editor/images/DBS 2558 3--Normalization.pdf · Normalization ITM-661 ระบบฐานข้อมูล (Database

96

ćàc�

ตาราง 1NF

ตาราง 2NF

ตาราง 3NF