SlideShare ist ein Scribd-Unternehmen logo
1 von 91
Downloaden Sie, um offline zu lesen
‫ﺖ‬�‫ﻮ‬�‫آ‬‫�ت‬��‫را‬‫ﺟﺎن‬‫ﻪ‬�‫ﻧ‬‫آ‬‫�م‬�
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫اﻣﯿﻨﯽ‬ ‫ﻣﺮﺗﻀﯽ‬
‫ﻧﯿﻤﺴﺎل‬
‫دوم‬
94
-
95
)
‫ﯾﺎدداﺷﺖ‬ ‫از‬ ‫ﺑﺮﮔﺮﻓﺘﻪ‬ ‫اﺳﻼﯾﺪﻫﺎ‬ ‫ﻣﺤﺘﻮﯾﺎت‬
‫ﮐﻼﺳﯽ‬ ‫ﻫﺎي‬
‫راﻧﮑﻮﻫﯽ‬ ‫روﺣﺎﻧﯽ‬ ‫ﻣﺤﻤﺪﺗﻘﯽ‬ ‫اﺳﺘﺎد‬
‫اﺳﺖ‬
(.
2
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬

‫در‬
‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫ﻫﺎي‬
‫راﺑﻄﻪ‬
‫اي‬
‫ﻧﻤﻮد‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ ‫زﯾﺮ‬ ‫ﻣﻮارد‬ ‫ﺑﺎﯾﺪ‬
:

‫ﻣﺠﻤﻮﻋﻪ‬
‫راﺑﻄﻪ‬ ‫از‬ ‫اي‬
‫ﻫﺎ‬

‫ﮐﻠﯿﺪ‬
)
‫ﻫﺎي‬
(
‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫ﮐﺎﻧﺪﯾﺪ‬

‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬

‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫ﺧﺎرﺟﯽ‬ ‫ﮐﻠﯿﺪﻫﺎي‬
)
‫وﺟﻮد‬ ‫ﺻﻮرت‬ ‫در‬
(

‫ﻣﺤﺪودﯾﺖ‬
‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫ﺑﺮ‬ ‫ﻧﺎﻇﺮ‬ ‫ﺟﺎﻣﻌﯿﺘﯽ‬ ‫ﻫﺎي‬
‫ﭘﺎﯾﯿﻦ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫روش‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬
)
Top-Down
(

‫ﻃﺮاﺣﯽ‬ ‫روﺷﻬﺎي‬
RDB
:
‫ﺳﻨﺘﺰ‬ ‫روش‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬
]
‫ﻧﺮﻣﺎل‬
‫راﺑﻄﻪ‬ ‫ﺗﺮﺳﺎزي‬
‫ﻫﺎ‬
[
3
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
)
‫اداﻣﻪ‬
(

‫ﭘﺎﯾﯿﻦ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ﻃﺮاﺣﯽ‬ ‫روش‬

‫داده‬ ‫ﻣﺪﻟﺴﺎزي‬ ‫اﺑﺘﺪا‬
‫را‬ ‫ﻫﺎ‬
)
‫روش‬ ‫ﺑﺎ‬
[E]ER
‫ﯾﺎ‬
UML
(
‫ﻣﯽ‬ ‫اﻧﺠﺎم‬
‫ﺑﻪ‬ ‫را‬ ‫ﻣﺪﻟﺴﺎزي‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫دﻫﯿﻢ‬
‫ﻣﺠﻤﻮﻋﻪ‬
‫راﺑﻄﻪ‬ ‫از‬ ‫اي‬
‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﻫﺎ‬
‫ﮐﻨﯿﻢ‬
.

‫راﺑﻄﻪ‬ ‫ﺳﻨﺘﺰ‬ ‫ﻃﺮاﺣﯽ‬ ‫روش‬
‫اي‬
)
‫ﻧﺮﻣﺎل‬
‫ﺗﺮﺳﺎزي‬
(

‫ﻣﯽ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ ‫واﻗﻊ‬ ‫ﺟﻬﺎن‬ ‫ﺧﺮد‬ ‫ﺻﻔﺎت‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﺑﺘﺪا‬
‫ﮐﻨﯿﻢ‬
.
‫ﻣﺤﺪودﯾﺖ‬ ‫و‬ ‫ﻗﻮاﻋﺪ‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﺑﺎ‬ ‫ﺳﭙﺲ‬
‫ﻧﺎﻇﺮ‬ ‫ﻫﺎي‬
‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺸﺨﯿﺺ‬ ‫و‬ ‫ﺻﻔﺎت‬ ‫ﺑﻪ‬
‫ﻣﯽ‬ ‫ﺳﻨﺘﺰ‬ ‫ﻫﻢ‬ ‫ﺑﺎ‬ ً‫ﺎ‬‫ﻣﺘﻨﺎﺳﺒ‬ ‫را‬ ‫ﺻﻔﺎت‬ ،‫آﻧﻬﺎ‬ ‫ﺑﯿﻦ‬ ‫ﻫﺎي‬
‫ﮐﻨﯿﻢ‬
)
‫ﮔﺮوه‬ ‫ﻧﻮﻋﯽ‬
‫ﺑﻨﺪي‬
(
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﺗﺎ‬
‫راﺑﻄﻪ‬ ‫از‬ ‫اي‬
‫ﯾﺎﺑﯿﻢ‬ ‫دﺳﺖ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
.

‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺗﺮﮐﯿﺒﯽ‬ ‫روش‬ ‫ﻋﻤﻞ‬ ‫در‬
‫ﻧﺮﻣﺎل‬ ‫ﺳﭙﺲ‬ ،‫ﭘﺎﯾﯿﻦ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫روش‬ ‫اﺑﺘﺪا‬ ‫ﯾﻌﻨﯽ‬ ،‫ﺷﻮد‬
‫ﺗﺮﺳﺎزي‬
.
4
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫وﯾﮋﮔﯽ‬
‫ﺧﻮب‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻫﺎي‬

‫ﺑﺎﺷﺪ‬ ‫واﻗﻊ‬ ‫ﺧﺮدﺟﻬﺎن‬ ‫از‬ ‫واﺿﺢ‬ ‫و‬ ‫ﺻﺤﯿﺢ‬ ‫ﻧﻤﺎﯾﺶ‬
.

‫داده‬ ‫ﺗﻤﺎم‬
‫ﻣﺤﺪودﯾﺖ‬ ‫ﻫﻤﻪ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﻧﻤﺎﯾﺶ‬ ‫ﻗﺎﺑﻞ‬ ‫ﮐﺎرﺑﺮان‬ ‫ﻫﺎي‬
‫ﻫﺎي‬
)
‫ﻗﻮاﻋﺪ‬
(
‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬ ‫ﻣﻨﻈﻮر‬ ‫ﺟﺎﻣﻌﯿﺘﯽ‬
.

‫اﻓﺰوﻧﮕﯽ‬ ‫ﮐﻤﺘﺮﯾﻦ‬

‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﮐﻤﺘﺮﯾﻦ‬

‫ذﺧﯿﺮه‬ ‫ﻋﻤﻠﯿﺎت‬ ‫در‬ ‫ﻣﺸﮑﻞ‬ ‫ﮐﻤﺘﺮﯾﻦ‬
‫ﺳﺎزي‬

‫ﺑﺎزﯾﺎﺑﯽ‬ ‫در‬ ‫ﮐﺎراﯾﯽ‬ ‫ﺑﯿﺸﺘﺮﯾﻦ‬
‫اﺳﺖ‬ ‫ﻧﺎﻣﻤﮑﻦ‬ ‫ﻋﻤﻞ‬ ‫در‬ ،‫ﻫﻤﺰﻣﺎن‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫آﺧﺮ‬ ‫وﯾﮋﮔﯽ‬ ‫ﭼﻬﺎر‬ ‫ﺗﺎﻣﯿﻦ‬
!
5
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﭘﺎﯾﯿﻦ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ﻃﺮاﺣﯽ‬

‫ﻧﻤﻮدار‬ ‫ﺗﺒﺪﯾﻞ‬
[E]ER
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬
‫راﺑﻄﻪ‬ ‫از‬ ‫اي‬
‫ﻫﺎي‬
‫ﻧﺮﻣﺎل‬
)
‫ﻧﺮﻣﺎل‬ ‫در‬ ً‫ﺎ‬‫ﻟﺰوﻣ‬ ‫ﻧﻪ‬ ‫و‬
‫ﺻﻮرت‬ ‫ﺗﺮﯾﻦ‬
(
‫ﻃﺮاﺣﯽ‬ ‫در‬
RDB
،
‫ﻣﯽ‬ ‫ﺗﺼﻤﯿﻢ‬ ‫ﻃﺮاح‬ ً‫ﺎ‬‫ﻧﻬﺎﯾﺘ‬
‫ﻋﻨﻮان‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫راﺑﻄﻪ‬ ‫ﭼﻨﺪ‬ ‫ﮔﯿﺮد‬
)
Heading
(
‫ﺑﺎﺷﺪ‬ ‫ﭼﻪ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺮ‬
.

‫داده‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻣﺪﻟﺴﺎزي‬ ‫ﻧﻤﻮدار‬ ‫در‬
‫ﻣﯽ‬ ‫آﻧﻬﺎ‬ ‫ﺑﻪ‬ ‫اداﻣﻪ‬ ‫در‬ ‫ﮐﻪ‬ ،‫دارﯾﻢ‬ ‫ﻣﺘﻌﺪد‬ ‫ﺣﺎﻻت‬ ،‫ﻫﺎ‬
‫ﭘﺮدازﯾﻢ‬
.

‫ﻓﺮض‬
:
‫ﺳﺎده‬ ‫ﺻﻔﺎت‬ ‫ﻫﻤﻪ‬ ،‫ﺛﺎﻧﻮي‬ ‫اﻃﻼع‬ ‫ﺗﺎ‬
‫ﻣﻮﺟﻮدﯾﺖ‬ ‫و‬ ‫اﻧﺪ‬
‫ﻧﯿﺴﺘﻨﺪ‬ ‫ﺿﻌﯿﻒ‬ ‫ﻫﺎ‬
.
6
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
1
:
‫ﻃﺮاﺣﯽ‬
‫ارﺗﺒﺎط‬
‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﭼﻨﺪ‬

‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬
:
n=2

‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬
:
M:N
‫اﺳﺖ‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫ﺳﻪ‬
.

‫ﻫﯿﭻ‬ ‫و‬ ‫اﻓﺰوﻧﮕﯽ‬ ،‫راﺑﻄﻪ‬ ‫ﺳﻪ‬ ‫از‬ ‫ﮐﻤﺘﺮ‬ ‫ﺑﺎ‬ ‫ﺣﺎﻟﺖ‬ ‫اﯾﻦ‬ ‫در‬ ‫ﻃﺮاﺣﯽ‬
‫ﻣﯽ‬ ‫ﭘﺪﯾﺪ‬ ‫زﯾﺎدي‬ ‫ﻣﻘﺪاري‬
‫آورد‬
.
‫ﺣﺎﻟﺖ‬
1
M N
‫داﻧﺸﺠﻮ‬ ‫درس‬
‫اﻧﺘﺨﺎب‬
‫ﻧﻤﺮه‬
‫ﺷﻤﺎره‬
⋮
‫ﺷﻤﺎره‬
⋮
STUD (STID, .…)
COR (COID, ….)
SCR (STID, COID, GR)
7
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
1
:
‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
‫ﭼﻨﺪ‬
‫ﺑﻪ‬
‫ﭼﻨﺪ‬
)
‫اداﻣﻪ‬
(

‫درﺟﻪ‬
:
n>2

‫ﻣﯽ‬ ‫ﻓﺮض‬ ‫اﺑﺘﺪا‬
‫راﺑﻄﻪ‬ ‫ﭼﻨﺪي‬ ‫ﮐﻨﯿﻢ‬
M:N:P:…
‫اﺳﺖ‬
.

n+1
‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬
‫ﮐﻨﯿﻢ‬
.

‫ﻣﯽ‬ ‫ﺑﺮرﺳﯽ‬ ‫ﺳﭙﺲ‬
‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﺑﻌﺾ‬ ‫ﺑﯿﻦ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ ‫روي‬ ‫ﺧﺎﺻﯽ‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫آﯾﺎ‬ ‫ﮐﻪ‬ ‫ﮐﻨﯿﻢ‬
‫دارد‬ ‫وﺟﻮد‬ ‫ﻫﺎ‬
.

‫ﻣﯽ‬ ‫دﺧﺎﻟﺖ‬ ‫ﻧﺮﻣﺎﻟﺘﺮﺳﺎزي‬ ‫ﻣﺮﺣﻠﻪ‬ ‫در‬ ‫را‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫اﯾﻦ‬ ،‫ﺑﻠﻪ‬ ‫اﮔﺮ‬
‫دﻫﯿﻢ‬
.
‫راﺑﻄﻪ‬ ‫ﺗﻌﺪاد‬
‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ ‫ﻫﺎ‬
‫از‬ ‫ﺑﯿﺶ‬
n+1
‫ﺷﻮد‬
.
‫ﺣﺎﻟﺖ‬ ‫ﺗﻌﻤﯿﻢ‬
1
8
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
1
:
‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
‫ﭼﻨﺪ‬
‫ﭼﻨﺪ‬ ‫ﺑﻪ‬
)
‫اداﻣﻪ‬
(

‫ﻣﺤﺪودﯾﺖ‬ ‫ﺑﺮاي‬ ‫ﻓﺮض‬
:
‫ﻣﯽ‬ ‫ﺗﺪرﯾﺲ‬ ‫را‬ ‫درس‬ ‫ﯾﮏ‬ ‫ﻓﻘﻂ‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬
‫ﮐﻨﺪ‬
)
‫دﻗﯿﻖ‬ ‫راﺑﻄﻪ‬ ‫ﭼﻨﺪي‬ ،‫ﻣﻮرد‬ ‫اﯾﻦ‬ ‫در‬ ‫اﻟﺒﺘﻪ‬
‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫ﻟﺤﺎظ‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫ﻧﺸﺪه‬ ‫ﻣﺪل‬
.(

‫راﺑﻄﻪ‬ ‫ﺑﺎﯾﺪ‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬ ‫در‬
SCP
‫راﺑﻄﻪ‬ ‫دو‬ ‫ﺑﻪ‬ ‫را‬
)
‫ﺑﯿﺸﺘﺮ‬ ‫ﯾﺎ‬
(
‫ﮐﻨﯿﻢ‬ ‫ﻋﻤﻮدي‬ ‫ﺗﺠﺰﯾﻪ‬
.

‫ﻃﺮاﺣﯽ‬ ‫دوم‬ ‫ﻣﺮﺣﻠﻪ‬ ‫در‬ ‫را‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫اﯾﻦ‬
)
‫آﺗﯽ‬ ‫ﻣﺒﺎﺣﺚ‬ ‫در‬
(
‫ﻣﯽ‬ ‫دﺧﺎﻟﺖ‬
‫دﻫﯿﻢ‬
.
STUD (STID, .…)
COR (COID, ….)
PROF (PRID, ….)
SCP (STID, COID, PRID, GR)
‫اﺳﺘﺎد‬
‫داﻧﺸﺠﻮ‬ ‫درس‬
‫اﻧﺘﺨﺎب‬
M N
‫ﻧﻤﺮه‬
P
9
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
2
:
‫ﻃﺮاﺣﯽ‬
‫ارﺗﺒﺎط‬
‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﯾﮏ‬

‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬
:
n=2

‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬
:
1:N
‫اﺳﺖ‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫دو‬
.
‫ﺳﻤﺖ‬ ‫راﺑﻄﻪ‬
1
‫ﺳﻤﺖ‬ ‫راﺑﻄﻪ‬ ‫ﺑﻪ‬
N
،
FK
‫ﻣﯽ‬
‫دﻫﺪ‬
)
‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫از‬ ‫ﺑﯿﺮون‬
.(
‫ﺣﺎﻟﺖ‬
2
1 N
‫آﻣﻮزﺷﯽ‬ ‫ﮔﺮوه‬ ‫اﺳﺘﺎد‬
‫اﻧﺘﺨﺎب‬
‫از‬
‫ﺷﻤﺎره‬
⋮
‫ﺷﻤﺎره‬
⋮
DEPT (DEID, DTID, .…, DPHONE)
PROF (PRID, PRNAME, …., PRANK, DEID, FROM)
10
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
2
:
‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
‫ﭼﻨﺪ‬
)
‫اداﻣﻪ‬
(

‫اﺳﺖ؟‬ ‫ﺗﻮﺟﯿﻪ‬ ‫ﻗﺎﺑﻞ‬ ‫راﺑﻄﻪ‬ ‫ﺳﻪ‬ ‫ﺑﺎ‬ ‫ﺣﺎﻟﺖ‬ ‫اﯾﻦ‬ ‫ﻃﺮاﺣﯽ‬ ‫وﺿﻌﯽ‬ ‫ﭼﻪ‬ ‫در‬
1
-
‫ﺳﻤﺖ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫ﮐﻪ‬ ‫وﻗﺘﯽ‬
N
‫ﺑﺎﺷﺪ‬ ‫ﻏﯿﺮاﻟﺰاﻣﯽ‬ ‫ارﺗﺒﺎط‬ ‫در‬
)
‫از‬ ‫ﮐﻤﺘﺮ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫درﺻﺪ‬
30
‫درﺻﺪ‬
(
‫ﺗﻌﺪاد‬ ‫و‬
‫ﻣﻘﺪار‬ ‫ﮐﺎﻫﺶ‬ ‫ﺑﺮاي‬ ،‫ﺑﺎﺷﺪ‬ ‫زﯾﺎد‬ ‫اﺳﺘﺎد‬
Null
‫ﻣﯽ‬ ‫ﺟﺪا‬ ‫را‬ ‫ارﺗﺒﺎط‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ،
‫ﮐﻨﯿﻢ‬
.
2
-
‫ﭘﺎﯾﯿﻦ‬ ‫ﻓﺮﮐﺎﻧﺲ‬ ‫ﺑﺎ‬ ‫دﯾﮕﺮ‬ ‫ﺻﻔﺎت‬ ‫ﺑﻪ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﺑﺎﻻ‬ ‫ارﺗﺒﺎط‬ ‫د‬‫ﺧﻮ‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﻓﺮﮐﺎﻧﺲ‬
‫ﺑﺎﺷﺪ‬ ‫اﺣﺘﯿﺎج‬ ‫ﺗﺮي‬
.
3
-
‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬ ‫ﺷﺪن‬ ‫زﯾﺎد‬ ‫ﺑﺎﻋﺚ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫زﯾﺎد‬ ‫ارﺗﺒﺎط‬ ‫د‬‫ﺧﻮ‬ ‫ﺻﻔﺎت‬ ‫ﺗﻌﺪاد‬
PROF
‫ﺷﻮد‬
.

‫ﺳﻤﺖ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫اﮔﺮ‬
N
‫ﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﺑﻮدن‬ ‫ﻫﯿﭽﻤﻘﺪارﻧﺎﭘﺬﯾﺮ‬ ‫ﻃﺮﯾﻖ‬ ‫از‬ ‫را‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫اﯾﻦ‬ ‫ﺑﺎﯾﺪ‬ ،‫ﺑﺎﺷﺪ‬ ‫اﻟﺰاﻣﯽ‬
‫ﺧﺎرﺟﯽ‬
)
‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬
NOT NULL
(
‫ﺳﻤﺖ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﻧﻤﺎﯾﺎﻧﮕﺮ‬ ‫راﺑﻄﻪ‬ ‫در‬
N
‫ﮐﺮد‬ ‫اﻋﻼم‬ ،
.
11
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
3
:
‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬

‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬
:
n=2

‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬
:
1:1
‫دو‬ ‫ﺑﺎ‬
/
‫ﺳﻪ‬ ‫ﯾﺎ‬
/
‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﯾﺎ‬
‫ﮐﻨﯿﻢ‬
.

‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﺻﻮرت‬ ‫در‬
‫دو‬
،‫اﻟﺰاﻣﯽ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫ﺑﺎ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫راﺑﻄﻪ‬ ،‫راﺑﻄﻪ‬
FK
‫ﻣﯽ‬
‫ﮔﯿﺮد‬
.
‫ﺣﺎﻟﺖ‬
3
1 1
‫درس‬ ‫ﮐﺘﺎب‬
‫ﻣﻨﺒﻊ‬
‫اﺻﻠﯽ‬
‫ﺷﻤﺎره‬
⋮
‫ﺷﻤﺎره‬
⋮
COUR (COID, ..…, BKID)
BOOK (BKID, .…., BKPRICE)
12
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
3
:
‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
‫ﯾﮏ‬
)
‫اداﻣﻪ‬
(

‫ﺑﺎ‬ ‫وﻗﺘﯽ‬
‫ﺳﻪ‬
‫ﺷﺮﮐﺖ‬ ‫ﺗﻌﺪاد‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻏﯿﺮاﻟﺰاﻣﯽ‬ ‫ﻃﺮﻓﯿﻦ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫ﮐﻪ‬ ‫دارد‬ ‫ﺗﻮﺟﯿﻪ‬ ‫راﺑﻄﻪ‬
‫ﮐﻨﻨﺪﮔﺎن‬
)
‫ﻧﻤﻮﻧﻪ‬
‫ﻫﺎ‬
(
‫در‬
‫ﺿﻌﯿﻒ‬ ‫راﺑﻄﻪ‬ ‫در‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫درﺻﺪ‬ ،‫ﺑﺎﺷﺪ‬ ‫زﯾﺎد‬ ‫ارﺗﺒﺎط‬
)
‫از‬ ‫ﮐﻤﺘﺮ‬
30
(%
‫ﻓﺮﮐﺎﻧﺲ‬ ‫ﻣﻮرد‬ ‫در‬ ‫ﻣﻼﺣﻈﺎﺗﯽ‬ ‫ﻧﯿﺰ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬
‫ارﺟﺎع‬
.

‫ﺑﺎ‬ ‫وﻗﺘﯽ‬
‫ﯾﮏ‬
‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﺻﻔﺎت‬ ‫ﺗﻌﺪاد‬ ‫ﮐﻪ‬ ‫دارد‬ ‫ﺗﻮﺟﯿﻪ‬ ‫راﺑﻄﻪ‬
‫و‬ ‫ﺑﺎﺷﺪ‬ ‫اﻟﺰاﻣﯽ‬ ‫ﻃﺮﻓﯿﻦ‬ ‫ﻣﺸﺎرﮐﺖ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﮐﻢ‬ ‫ﻫﺎ‬
‫ﺑﺎﺷﺪ‬ ‫ﮐﻢ‬ ‫ارﺗﺒﺎط‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﻓﺮﮐﺎﻧﺲ‬
.
13
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
4
:
‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﭼﻨﺪ‬ ‫ارﺟﺎع‬ ‫ﺧﻮد‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬

‫اول‬ ‫ﺣﺎﻟﺖ‬ ‫ﺧﺎص‬ ‫ﺣﺎﻟﺖ‬

‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬
:
n=1

‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬
:
M:N
‫اﺳﺖ‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫دو‬
.

‫ارﺟﺎع‬ ‫ﮔﺮاف‬
:
COPRECO
COUR

‫ﻧﺘﯿﺠﻪ‬
:
‫ﻧﻤﯽ‬ ‫اﯾﺠﺎد‬ ‫ارﺟﺎع‬ ‫ﭼﺮﺧﻪ‬ ،‫ﺧﻮد‬ ‫ﺑﺎ‬ ‫ارﺗﺒﺎط‬ ‫وﺟﻮد‬ ‫ﺻﺮف‬
‫ﺷﻮد‬
.
‫ﮐﻨﯿﻢ‬ ‫ﺗﻮﺟﻪ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ ‫ﺑﻪ‬ ‫ﺑﺎﯾﺪ‬
.
‫ﺣﺎﻟﺖ‬
4
‫درس‬
‫ﭘﯿﺸﻨﯿﺎزي‬
N M
‫ﺷﻤﺎره‬
⋮
COUR (COID, .…)
COPRECO (COID, PRECOID) ‫ﻫﺴﺘﻨﺪ‬ ‫داﻣﻨﻪ‬ ‫ﯾﮏ‬ ‫از‬ ،‫راﺑﻄﻪ‬ ‫از‬ ‫ﺻﻔﺖ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬
.
14
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
5
:
‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺟﺎع‬ ‫ﺧﻮد‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬

‫دوم‬ ‫ﺣﺎﻟﺖ‬ ‫ﺧﺎص‬ ‫ﺣﺎﻟﺖ‬

‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬
:
n=1

‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬
:
1:N
‫اﺳﺖ‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
.

‫در‬
‫دارد‬ ‫وﺟﻮد‬ ‫ﻧﮑﺎﺗﯽ‬ ‫ﭼﻪ‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬
‫؟‬

‫ﮔﺮاف‬
‫ارﺟﺎع‬
:
EMPL

‫ﺑﺮﻧﺎﻣﻪ‬
‫در‬ ‫اي‬
SQL
‫ﺳﻄﺢ‬ ‫ﮐﻪ‬ ‫ﺑﺪﻫﯿﺪ‬
)
‫ﻣﺪﯾﺮﯾﺘﯽ‬
(
‫ﺑﺪﻫﺪ‬ ‫را‬ ‫ﻣﺪﯾﺮﯾﺖ‬ ‫ﺳﻠﺴﻠﻪ‬ ‫در‬ ‫ﻣﺪﯾﺮان‬ ‫ﺗﻤﺎم‬
)
‫ﺗﮑﻨﯿﮏ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬
Recursion
(
‫ﺣﺎﻟﺖ‬
5
‫ﮐﺎرﻣﻨﺪ‬
‫ﻣﺪﯾﺮﯾﺖ‬
1 N
‫ﺷﻤﺎره‬
⋮
EMPL (EMID, ENAME, …., EPHONE, EMGRID)
15
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
6
:
‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺟﺎع‬ ‫ﺧﻮد‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬

‫ﺳﻮم‬ ‫ﺣﺎﻟﺖ‬ ‫ﺧﺎص‬ ‫ﺣﺎﻟﺖ‬

‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬
:
n=1

‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬
:
1:1
‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ‫دو‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬
‫ﮐﻨﯿﻢ‬
.

‫ﻫﻢ‬ ‫در‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫اﮔﺮ‬
‫ﻣﺪل‬ ‫از‬ ،‫ﻧﺒﺎﺷﺪ‬ ‫زﯾﺎد‬ ‫ﭘﺮوژﮔﯽ‬
II
‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬
‫ﮐﻨﯿﻢ‬
.

‫در‬
STJST
‫ﻣﯽ‬ ‫ﺻﻔﺎت‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬
‫ﺑﺎﺷﻨﺪ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺗﻮاﻧﻨﺪ‬
.

‫دارد؟‬ ‫وﺟﻮد‬ ‫ﻃﺮاﺣﯽ‬ ‫ﺑﺮاي‬ ‫ﻫﻢ‬ ‫دﯾﮕﺮي‬ ‫ﻃﺮز‬ ‫آﯾﺎ‬
‫ﺣﺎﻟﺖ‬
6
‫داﻧﺸﺠﻮ‬
‫ﻫﻢ‬
‫ﮔﺮوﻫﯽ‬
1
1
‫ﺷﻤﺎره‬
⋮
(I) STPROJST (STID, STNAME, …., JSTID )
(II) STUD (STID, STNAME, .…)
STJST (STID, JSTID)
P.K.
C.K.
C.K.
C.K.
16
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
7
:
‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻃﺮاﺣﯽ‬

‫دارﯾﻢ‬ ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬
.
‫ﺷﻨﺎﺳﺎ‬ ‫ارﺗﺒﺎط‬ ‫و‬ ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺑﺮاي‬ ‫ﯾﮑﯽ‬ ،‫ﻗﻮي‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺑﺮاي‬ ‫ﯾﮑﯽ‬ ‫اﺳﺖ؛‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫دو‬
.
‫ﻗﻮي‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫از‬ ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدت‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬
FK
‫ﻣﯽ‬
‫ﻣﯽ‬ ‫ﻣﻤﯿﺰه‬ ‫ﺻﻔﺖ‬ ‫ﺑﺎ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﮔﯿﺮد‬
‫ﺷﻮد‬
PK
.
‫ﺣﺎﻟﺖ‬
7
PROF (PRID, PRNAME, ….)
PRPUB (PRID, PTITLE, PTYPE, ….)
‫اﺳﺘﺎد‬ ‫دارد‬
‫اﺛﺮ‬
‫ﻣﻨﺘﺸﺮه‬
‫ﻋﻨﻮان‬
‫ﺗﺎرﯾﺦ‬
‫ﺷﻤﺎره‬
17
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
7
:
‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻃﺮاﺣﯽ‬
‫ﺿﻌﯿﻒ‬
)
‫اداﻣﻪ‬
(

‫ﺗﻤﺮﯾﻦ‬
:
‫راﺑﻄﻪ‬
‫ﻣﺪل‬ ‫ﺑﺮاي‬ ‫ﻻزم‬ ‫ﻫﺎي‬
‫داده‬ ‫ﻫﺎي‬
‫ﺷﻮد‬ ‫ﻃﺮاﺣﯽ‬ ‫زﯾﺮ‬ ‫اي‬
.
‫راﺑﻄﻪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺣﺎﻟﺖ‬ ‫اﯾﻦ‬ ‫در‬
G
‫راﺑﻄﻪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫از‬
‫ﻫﺎي‬
E
‫و‬
F
)
‫ﻣﻤﯿﺰه‬ ‫ﺻﻔﺖ‬ ‫وﺟﻮد‬ ‫ﺻﻮرت‬ ‫در‬ ‫و‬
G
(
‫ﺣﺎﺻﻞ‬
‫ﻣﯽ‬
‫ﮔﺮدد‬
.
F
R
G
E
R2
G
F
R1
E
18
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
8
:
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻃﺮاﺣﯽ‬

‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﯾﮏ‬ ‫ﺑﺮاي‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﯾﮏ‬ ‫وﺟﻮد‬
.

‫دارد‬ ‫ﺗﮑﻨﯿﮏ‬ ‫ﺳﻪ‬
:
1
-
]
‫ﻋﻤﻮﻣﯽ‬ ‫ﺗﮑﻨﯿﮏ‬
[
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫و‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
.
)
‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫اﮔﺮ‬ ‫ﺑﻨﺎﺑﺮاﯾﻦ‬
E
،
m
،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬
m+1
‫دارﯾﻢ‬ ‫راﺑﻄﻪ‬
.

‫ﻧﻮع‬ ‫از‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬
‫اﺻﻠﯽ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬
FK
‫ﻣﯽ‬
‫ﮔﯿﺮد‬
‫ﮐﻠﯿﺪ‬ ‫داﺧﻞ‬
.
‫ﺣﺎﻟﺖ‬
8
‫اﺳﺘﺎد‬ ‫ﺗﺤﺼﯿﻠﯽ‬ ‫ﺳﺎﺑﻘﻪ‬
‫ﺷﻤﺎره‬
‫از‬
‫ﺗﺎ‬
‫ﻣﻮﺳﺴﻪ‬
‫ﻋﻨﻮان‬
‫دوره‬
‫ﺗﻠﻔﻦ‬
PROF (PRID, PRNAME, ….)
PRTEL (PRID, PHONE)
19
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
8
:
‫ﺻﻔﺖ‬ ‫ﻃﺮاﺣﯽ‬
‫ﭼﻨﺪﻣﻘﺪاري‬
)
‫اداﻣﻪ‬
(

‫آﻧﻬﺎ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻋﻤﻮﻣﯽ‬ ‫ﺗﮑﻨﯿﮏ‬ ‫وﻟﯽ‬ ‫دارد‬ ‫ارﺟﺤﯿﺖ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﺑﻪ‬ ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ،‫ﻣﺪﻟﺴﺎزي‬ ‫در‬
‫اﺳﺖ‬ ‫ﻫﻢ‬ ‫ﻣﺜﻞ‬
.

‫ﻋﻤﻮﻣﯽ‬ ‫ﺗﮑﻨﯿﮏ‬ ‫اﺷﮑﺎل‬
:
‫ﻋﻤﻞ‬ ‫ﺑﺎﯾﺪ‬ ،‫ﺑﺨﻮاﻫﯿﻢ‬ ‫ﮐﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ‫اﺻﻠﯽ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺑﺮاي‬ ‫اﮔﺮ‬
JOIN
‫اﻧﺠﺎم‬
‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫دﻫﯿﻢ‬
‫ﺑﺎﺷﺪ‬ ‫زﻣﺎﻧﮕﯿﺮ‬ ‫ﺗﻮاﻧﺪ‬
.
PRHIS (PRID, TTL, FROM, TO, INSTNAME, ….)
20
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
8
:
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻃﺮاﺣﯽ‬
)
‫اداﻣﻪ‬
(
2
-
]
‫ﺧﺎص‬ ‫ﺷﺮاﯾﻂ‬ ‫در‬
[
‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬
)
‫ﻓﺮض‬
:
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﯾﮏ‬
:(
‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫و‬ ‫ﻣﻮﺟﻮدﯾﺖ‬
.

‫ﺑﻮدن‬ ‫ﻣﺸﺨﺺ‬ ‫ﻓﺮض‬ ‫ﺑﺎ‬
‫ﺣﺪاﮐﺜﺮ‬
‫ﻣﯽ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﮐﻪ‬ ‫ﻣﻘﺪاري‬ ‫ﺗﻌﺪاد‬
‫در‬ ‫ﺻﻔﺖ‬ ‫ﺗﻌﺪاد‬ ‫ﻫﻤﺎن‬ ‫ﺑﻪ‬ ،‫ﮔﯿﺮد‬
‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫راﺑﻄﻪ‬
‫ﮔﯿﺮﯾﻢ‬
.
‫ﻓﺮض‬
:
‫دارد‬ ‫ﺗﻠﻔﻦ‬ ‫ﺷﻤﺎره‬ ‫ﺳﻪ‬ ‫ﺣﺪاﮐﺜﺮ‬ ‫اﺳﺘﺎد‬ ‫ﻫﺮ‬
.

‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻣﺰﯾﺖ‬
:
JOIN
‫ﻧﺪارد‬ ‫ﻻزم‬
.

‫ﻋﯿﺐ‬
‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬
:
‫ﻫﯿﭽﻤﻘﺪار‬
)
Null
(
‫ﺗﻠﻔﻦ‬ ‫ﺷﻤﺎره‬ ‫ﺳﻪ‬ ،‫اﺳﺘﺎدان‬ ‫از‬ ‫ﮐﻤﯽ‬ ‫ﺗﻌﺪاد‬ ‫اﮔﺮ‬ ،‫اﺳﺖ‬ ‫زﯾﺎد‬ ‫آن‬ ‫در‬
‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬
.
PRTELTEL (PRID, PRNAME, PRRANK, PHONE1, PHONE2, PHONE3)
21
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
8
:
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻃﺮاﺣﯽ‬
)
‫اداﻣﻪ‬
(
3
-
]
‫ﺧﺎص‬ ‫ﺷﺮاﯾﻂ‬ ‫در‬
[
‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬
)
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﯾﮏ‬ ‫و‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
(
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫و‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺻﻔﺎت‬ ‫ﺗﻤﺎم‬ ‫ﺷﺎﻣﻞ‬
.

‫اﺳﺘﻔﺎده‬ ‫اﺻﻠﯽ‬ ‫ﺷﺮط‬
:
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻠﻔﻦ‬ ‫ﯾﮏ‬ ‫ﺣﺪاﻗﻞ‬ ‫اﺳﺘﺎد‬ ‫ﻫﺮ‬
.

‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻗﺮار‬ ‫اﺳﺖ‬ ‫ﺑﻬﺘﺮ‬ ‫ﮐﻪ‬ ‫دﯾﮕﺮي‬ ‫ﺷﺮاﯾﻂ‬
:
‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻠﻔﻦ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ ‫اﺳﺘﺎدﻫﺎ‬ ‫از‬ ‫ﮐﻤﯽ‬ ‫ﺗﻌﺪاد‬
)
‫ﺑﻪ‬
‫اﻓﺰوﻧﮕﯽ‬ ‫دﻟﯿﻞ‬
(
‫ﺣﺘﯽ‬ ‫و‬
‫ﺑﺎﺷﺪ‬ ‫ﮐﻢ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺻﻔﺎت‬ ‫ﺗﻌﺪاد‬ ‫اﻻﻣﮑﺎن‬
)
‫اﻓﺰوﻧﮕﯽ‬ ‫دﻟﯿﻞ‬ ‫ﺑﻪ‬
.(
PRTELTEL (PRID, PHONE, PRNAME, PRNAK, …)
‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺻﻔﺎت‬ ‫دﯾﮕﺮ‬
22
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
9
:
‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
IS-A

‫ارﺗﺒﺎط‬ ‫وﺟﻮد‬
IS-A
‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫دو‬ ‫ﺑﯿﻦ‬
.

‫دارد‬ ‫ﺗﮑﻨﯿﮏ‬ ‫ﭼﻬﺎر‬
:
1
-
‫ﻓﺮض‬
:
‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬
E
،
n
‫دارد‬ ‫زﯾﺮﻧﻮع‬
.
n+1
‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬
‫ﮐﻨﯿﻢ‬
.
‫زﯾﺮﻧﻮع‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫و‬ ‫زﺑﺮﻧﻮع‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
‫ﻫﺎ‬
.
‫ﺣﺎﻟﺖ‬
9
E
E1
EID
D
C
E2 En
…
F
M
N
L
‫ﮐﺎرﻣﻨﺪ‬
‫ﻣﺪﯾﺮ‬ ‫ﻣﻨﺸﯽ‬ ‫ﻣﺸﺎور‬
E (EID, X, Y)
E1 (EID, A, B)
E2 (EID, F)
…
En (EID, L, M, N)
X
Y
23
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
9
:
‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
IS-A
)
‫اداﻣﻪ‬
(

‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻣﺰﯾﺖ‬
:
‫ﻧﺪارد‬ ‫ﺗﺨﺼﯿﺺ‬ ‫ﻧﻮع‬ ‫ﻧﻈﺮ‬ ‫از‬ ‫ﺧﺎﺻﯽ‬ ‫ﺷﺮط‬
)
‫ﺗﮑﻨﯿﮏ‬
‫ﻣﯽ‬ ‫ﻣﻄﺮح‬ ‫ﮐﻪ‬ ‫دﯾﮕﺮي‬ ‫ﻫﺎي‬
‫ﻫﻤﮕﯽ‬ ،‫ﺷﻮد‬
‫ﻫﺴﺘﻨﺪ‬ ‫ﺧﺎص‬ ‫ﺷﺮاﯾﻂ‬ ‫ﺑﺮاي‬
.(

‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻋﯿﺐ‬
:
‫ﺑﺎﯾﺪ‬ ،‫آورﯾﻢ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﮐﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ،‫زﯾﺮﻧﻮع‬ ‫ﯾﮏ‬ ‫ﻣﻮرد‬ ‫در‬ ‫ﺑﺨﻮاﻫﯿﻢ‬ ‫اﮔﺮ‬
JOIN
‫ﮐﻨﯿﻢ‬
.
24
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
9
:
‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
IS-A
)
‫اداﻣﻪ‬
(
2
-
‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬
n
‫راﺑﻄﻪ‬
:
‫ﺑﺮاي‬
‫زﺑﺮﻧﻮع‬
‫راﺑﻄﻪ‬ ،
‫ﻧﻤﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬
‫ﮐﻨﯿﻢ‬
.
‫ﺻﻔﺎت‬ ‫ﺑﻨﺎﺑﺮاﯾﻦ‬
‫ﻣﺸﺘﺮك‬
‫راﺑﻄﻪ‬ ‫در‬ ‫ﺑﺎﯾﺪ‬
‫ﻫﺮ‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬
‫زﯾﺮﻧﻮع‬
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬
.

‫ﻻزم‬ ‫ﺷﺮط‬
:
‫ﺑﺎﺷﺪ‬ ‫ﮐﺎﻣﻞ‬ ‫ﺗﺨﺼﯿﺺ‬ ‫ﺑﺎﯾﺪ‬
.
‫داده‬ ‫از‬ ‫ﺑﺨﺸﯽ‬ ،‫ﻧﺒﺎﺷﺪ‬ ‫اﮔﺮ‬
‫ﻧﯿﺴﺘﻨﺪ‬ ‫ﻧﻤﺎﯾﺶ‬ ‫ﻗﺎﺑﻞ‬ ‫ﻣﺤﯿﻂ‬ ‫ﻫﺎي‬
.

‫اول‬ ‫ﺗﮑﻨﯿﮏ‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ‫ﻣﺰﯾﺖ‬
:
‫زﯾﺮﻧﻮع‬ ‫ﮐﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ‫آوردن‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﺑﺮاي‬
‫ﺑﻪ‬ ‫ﻧﯿﺎزي‬ ‫ﻫﺎ‬
JOIN
‫ﻧﯿﺴﺖ‬
.

‫ﻧﮑﺘﻪ‬
:
‫ﻧﻤﯽ‬ ‫ﭘﯿﺶ‬ ‫اﻓﺰوﻧﮕﯽ‬ ً‫ﺎ‬‫ﻟﺰوﻣ‬ ،‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫در‬
‫آﯾﺪ‬
.
‫ﻫﻢ‬ ‫ﺗﺨﺼﯿﺺ‬ ‫اﮔﺮ‬
‫ﭘﯿﺶ‬ ‫اﻓﺰوﻧﮕﯽ‬ ‫ﻣﯿﺰاﻧﯽ‬ ‫ﺑﺎﺷﺪ‬ ‫ﭘﻮﺷﺎ‬
‫ﻣﯽ‬
‫آﯾﺪ‬
.
E1 (EID, X, Y, A, B)
E2 (EID, X, Y, F)
…
En (EID, X, Y, L, M, N)
25
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
9
:
‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
IS-A
)
‫اداﻣﻪ‬
(
3
-
‫ﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫ﺻﻔﺖ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ،‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻓﻘﻂ‬ ‫ﻃﺮاﺣﯽ‬
‫زﯾﺮﻧﻮع‬
‫ﻫﺎ‬

‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺷﺮط‬
‫ﺗﮑﻨﯿﮏ‬
:
‫ﻧﻤﻮﻧﻪ‬ ‫ﺟﺰء‬ ،‫ﮐﺎرﻣﻨﺪ‬ ‫ﻧﻤﻮﻧﻪ‬ ‫ﯾﮏ‬ ‫ﯾﻌﻨﯽ‬ ‫ﺑﺎﺷﺪ؛‬ ‫ﻣﺠﺰا‬ ‫ﺗﺨﺼﯿﺺ‬
‫ﯾﮏ‬ ‫ﺣﺪاﮐﺜﺮ‬ ‫ﻫﺎي‬
‫زﯾﺮﻧﻮع‬
‫ﺑﺎﺷﺪ‬
.

‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻣﺰﯾﺖ‬
:
‫زﯾﺮﻧﻮع‬ ‫ﮐﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ‫آوردن‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﺑﺮاي‬
‫ﺑﻪ‬ ‫ﻧﯿﺎزي‬ ‫ﻫﺎ‬
JOIN
‫ﻧﯿﺴﺖ‬
.

‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻋﯿﺐ‬
:
‫ﻫﯿﭽﻤﻘﺪار‬
)
Null
(
‫اﺳﺖ‬ ‫زﯾﺎد‬ ‫راﺑﻄﻪ‬ ‫درﺟﻪ‬ ‫و‬ ‫دارد‬ ‫زﯾﺎد‬
.
E (EID, X, Y, A, B, F, L, M, N, TYPE)
100 x1 y1 a1 b1 ? ? ? ? ‫ﻣﺪﯾﺮ‬
200 x2 y2 ? ? ? l2 m2 n2 ‫ﻣﺸﺎور‬
26
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
9
:
‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
IS-A
)
‫اداﻣﻪ‬
(
4
-
،‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻓﻘﻂ‬ ‫ﻃﺮاﺣﯽ‬
‫ﯾﮏ‬ ‫ﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫ﺑﯿﺖ‬ ‫ﻫﺮ‬ ‫ﺑﯿﺘﯽ؛‬ ‫آراﯾﻪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬
‫زﯾﺮﻧﻮع‬
.
‫ﺑﺮاي‬ ‫واﻗﻊ‬ ‫در‬
‫ﻧﻤﻮﻧﻪ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬ ‫اﯾﻨﮑﻪ‬ ‫ﺑﻪ‬ ‫ﺑﺴﺘﻪ‬ ،‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻤﻮﻧﻪ‬ ‫ﻫﺮ‬ ‫ﻧﻤﺎﯾﺶ‬
‫ﻣﺮﺑﻮﻃﻪ‬ ‫ﺑﯿﺖ‬ ،‫ﺑﺎﺷﺪ‬ ‫زﯾﺮﻧﻮع‬ ‫ﮐﺪام‬ ‫ﻫﺎي‬
‫را‬ ‫اش‬
1
‫ﻣﯽ‬
‫ﮐﻨﯿﻢ‬
.

‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺷﺮط‬
:
‫ﻫﻢ‬ ‫ﺗﺨﺼﯿﺺ‬ ‫وﻗﺘﯽ‬
‫ﺑﺎﺷﺪ‬ ‫ﭘﻮﺷﺎ‬
)
‫ﺗﮑﻨﯿﮏ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﻤﺎﻧﻬﺎ‬ ‫ﺷﺮاﯾﻂ‬ ‫ﺳﺎﯾﺮ‬
3
‫ﮔﻔﺘﻪ‬
‫ﺷﺪ‬
.(
E (EID, X, Y, A, B, F, L, M, N, TB1, TB2, …,TBn)
100 x1 y1 1 0 0
200 x2 y2 0 1 0
‫ﺑﯿﺘﯽ‬ ‫آراﯾﻪ‬
‫ﻣﺪﯾﺮ‬ ‫ﻣﻨﺸﯽ‬ ‫ﻣﺸﺎور‬
27
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
10
:
‫ارث‬ ‫ﻃﺮاﺣﯽ‬
‫ﭼﻨﺪﮔﺎﻧﻪ‬ ‫ﺑﺮي‬

‫ارث‬ ‫وﺟﻮد‬
‫ﭼﻨﺪزﺑﺮﻧﻮع‬ ‫ﺑﺎ‬ ‫زﯾﺮﻧﻮع‬ ‫ﯾﮏ‬ ‫ﺑﯿﻦ‬ ‫ﭼﻨﺪﮔﺎﻧﻪ‬ ‫ﺑﺮي‬

،‫زﯾـﺮﻧﻮع‬ ‫اﮔﺮ‬
n
‫ﺣﺪاﻗﻞ‬ ‫زﯾـﺮﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫زﺑﺮﻧﻮع‬
n
‫دارد‬ ‫ﮐﺎﻧﺪﯾﺪ‬ ‫ﮐﻠﯿﺪ‬
.
‫ارﺟﺎع‬ ‫ﺑﺎ‬ ‫ﮐﺎﻧﺪﯾﺪ‬ ‫ﮐﻠﯿﺪ‬
‫ﻣﯽ‬ ‫اﻧﺘﺨﺎب‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﯿﺸﺘﺮ‬
‫ﺷﻮد‬
.
‫ﻧﮑﻨﯿﻢ؟‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ً‫ﻼ‬‫اﺻ‬ ‫زﯾﺮﻧﻮع‬ ‫ﺑﺮاي‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ ‫آﯾﺎ‬
‫ﺣﺎﻟﺖ‬
10
STUD (STID, STNAME, …)
EMPL (EID, ENAME, …)
STEM (STID, EID, MAXW)
‫داﻧﺸﺠﻮ‬
-
‫ﮐﺎرﻣﻨﺪ‬
‫ﮐﺎرﻣﻨﺪ‬ ‫داﻧﺸﺠﻮ‬
‫ﻧﺎم‬
‫داﻧﺸﺠﻮﯾﯽ‬ ‫ﺷﻤﺎره‬
‫ورود‬ ‫ﺳﺎل‬
‫ﻧﺎم‬
‫ﮐﺎرﮔﺰﯾﻨﯽ‬ ‫ﺷﻤﺎره‬
‫اﺳﺘﺨﺪام‬ ‫ﺳﺎل‬
⋮
⋮
‫ﺳﺎﻋﺎت‬ ‫ﺳﻘﻒ‬
‫ﮐﺎري‬
28
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
11
:
‫اﺟﺘﻤﺎع‬ ‫زﯾﺮﻧﻮع‬ ‫ﻃﺮاﺣﯽ‬
)
U-Type
(

‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬
E
‫زﯾﺮﻧﻮع‬ ،
U-Type
)
‫ﯾﺎ‬ ‫دﺳﺘﻪ‬
Category
(
n
‫اﺳﺖ‬ ‫زﺑﺮﻧﻮع‬
.
n+1
‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬
‫ﮐﻨﯿﻢ‬
.
‫ﺣﺎﻟﺖ‬
11
U
‫ﻣﺎﻟﮏ‬
‫ﺷﺨﺺ‬ ‫ﺷﺮﮐﺖ‬ ‫ﺑﺎﻧﮏ‬
BID
⋮
CID
⋮
PID
⋮
OID
⋮
‫ﻣﺎﻟﮑﯿﺖ‬
U
‫ﻧﻘﻠﯿﻪ‬ ‫وﺳﯿﻠﻪ‬
‫ﺳﻮاري‬ ‫ﺑﺎري‬
VID
⋮
VID
⋮
VID
⋮
‫از‬
‫ﺗﺎ‬
M N
29
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
11
:
‫اﺟﺘﻤﺎع‬ ‫زﯾﺮﻧﻮع‬ ‫ﻃﺮاﺣﯽ‬
)
‫اداﻣﻪ‬
(

n+1
‫راﺑﻄﻪ‬

‫زﺑﺮﻧﻮع‬ ‫ﺷﻨﺎﺳﻪ‬ ‫اﮔﺮ‬
‫داﻣﻨﻪ‬ ‫از‬ ‫ﻫﺎ‬
،‫زﯾﺮﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻣﺘﻔﺎوت‬ ‫ﻫﺎي‬
FK
‫ﻣﯽ‬
‫راﺑﻄﻪ‬ ‫ﺑﻪ‬ ‫دﻫﺪ‬
‫ﻫﺎي‬
‫زﺑﺮﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬
،‫ﻫﺎ‬
‫ﮐﻠﯿﺪ‬ ‫از‬ ‫ﺧﺎرج‬
.

‫زﺑﺮﻧﻮع‬ ‫ﺷﻨﺎﺳﻪ‬ ‫اﮔﺮ‬
،‫ﺑﺎﺷﺪ‬ ‫داﻣﻨﻪ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﻫﺎ‬
‫راﺑﻄﻪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻫﻤﺎن‬ ،‫زﯾﺮﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ‫ﮐﻠﯿﺪ‬
‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫ﻫﺎي‬
‫زﺑﺮﻧﻮع‬
‫ﻫﺎ‬
‫اﺳﺖ‬
.
‫دارد‬ ‫وﺟﻮد‬ ‫دﯾﮕﺮي‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻃﺮز‬ ‫آﯾﺎ‬
.
PERS (PID, …., OID)
COMP (CID, …., OID)
BANK (BID, …., OID)
OWNER (OID,….)
VEHIC (VID, ….)
OWNS (OID, VID, F, T, ….)
SAVARY (VID, N, ….)
BARY (VID, T, ….)
‫زﺑﺮﻧﻮع‬ ‫ﮐﻠﯿﺪﻫﺎي‬ ‫داﻣﻨﻪ‬ ‫ﭼﻮن‬
‫ﻣﯽ‬ ‫ﺳﺎﺧﺘﮕﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺧﻮدﻣﺎن‬ ،‫ﻧﯿﺴﺖ‬ ‫ﯾﮑﺴﺎن‬ ‫ﻫﺎ‬
‫ﮔﺬارﯾﻢ‬
.
30
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
12
:
‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬
IS-A-PART-OF

‫ارﺗﺒﺎط‬ ‫وﺟﻮد‬
IS-A-PART-OF

‫اﮔﺮ‬
،‫ﮐﻞ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬
n
‫ﺗﻌﺪاد‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺟﺰء‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬
n+1
‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬
‫ﮐﻨﯿﻢ‬
.

‫دارد‬ ‫ﺷﻨﺎﺳﻪ‬ ‫ﺧﻮد‬ ‫از‬ ‫ﺟﺰء‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﮐﻪ‬ ‫دارﯾﻢ‬ ‫ﺗﻮﺟﻪ‬
.
‫ﺷﺮاﯾﻄﯽ؟‬ ‫ﭼﻪ‬ ‫در‬ ‫دارد؟‬ ‫وﺟﻮد‬ ‫دﯾﮕﺮي‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻃﺮز‬ ‫آﯾﺎ‬
‫ﺣﺎﻟﺖ‬
12
E
EID
E1
E1ID
En
EnID
…
E (EID, ….)
E1 (E1ID, EID, ….)
….
En (EnID, EID, ….)
31
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
13
:
‫ﻃﺮاﺣﯽ‬
‫ﺗﮑﻨﯿﮏ‬
Aggregation

‫ﺗﮑﻨﯿﮏ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬
Aggregation
‫ﻣﺪﻟﺴﺎزي‬ ‫در‬

‫اﻧﺘﺰاﻋﯽ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫اﺑﺘﺪا‬
)
‫ﺧﻂ‬ ‫ﻣﺴﺘﻄﯿﻞ‬ ‫درون‬ ‫ﺑﺨﺶ‬
‫ﭼﯿﻦ‬
(
‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫را‬
‫ﮐﻨﯿﻢ‬
)
‫و‬ ‫درﺟﻪ‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬
‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬
.(
‫را‬ ‫آن‬ ‫ﺑﯿﺮون‬ ‫ﺑﺨﺶ‬ ‫ﺳﭙﺲ‬
)
‫آن‬ ‫درﺟﻪ‬ ‫و‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫ﻫﻢ‬ ‫ﺑﺎز‬
.(
‫ﺣﺎﻟﺖ‬
13
STUD (STID, ….)
COUR (COID, ….)
SCR (STID, COID, GR)
PROF (PRID, ….)
OFFERING (STID, COID, PROFID, GR#, CLASS)
‫اﺳﺘﺎد‬
‫اراﯾﻪ‬
‫ﺷﻤﺎره‬
‫ﮔﺮوه‬
‫داﻧﺸﺠﻮ‬ ‫درس‬
‫اﻧﺘﺨﺎب‬
M N
‫ﻧﻤﺮه‬
N
M
‫ﺷﻤﺎره‬
‫ﮐﻼس‬
32
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
13
:
‫ﺗﮑﻨﯿﮏ‬ ‫ﻃﺮاﺣﯽ‬
Aggregation
)
‫اداﻣﻪ‬
(

‫ﻣﯽ‬ ‫اﻓﺰاﯾﺶ‬ ‫را‬ ‫ﺳﯿﺴﺘﻢ‬ ‫ﮐﺎراﯾﯽ‬ ‫ﭼﮕﻮﻧﻪ‬ ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬
‫دﻫﺪ‬
)
‫ﺳﻪ‬ ‫ارﺗﺒﺎط‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬
-
‫ﺗﺎﯾﯽ‬
(
‫؟‬

‫ارﺗﺒﺎط‬ ‫ﺑﻪ‬ ‫ﻣﺮاﺟﻌﻪ‬ ‫اﮔﺮ‬
»
‫اﻧﺘﺨﺎب‬
«
‫ارﺗﺒﺎط‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﻓﺮﮐﺎﻧﺲ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﺑﺎﻻ‬
»
‫اراﺋﻪ‬
«
‫اﯾﻦ‬ ‫ﺑﺎ‬ ‫ﺳﯿﺴﺘﻢ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﭘﺎﯾﯿﻦ‬
‫ﻣﯽ‬ ‫ﻋﻤﻞ‬ ‫ﮐﺎراﺗﺮ‬ ‫ﻃﺮاﺣﯽ‬
‫ﮐﻨﺪ‬
.
33
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
14
:
‫ﻃﺮاﺣﯽ‬
‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪ‬ ‫وﺟﻮد‬ ‫ﺑﺎ‬

‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻗﺮار‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫دو‬ ‫ﺑﯿﻦ‬ ً‫ﻼ‬‫ﻣﺜ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪ‬ ‫ﺻﻮرﺗﯿﮑﻪ‬ ‫در‬
.

‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ ‫و‬ ‫درﺟﻪ‬ ‫ﻧﻈﺮ‬ ‫از‬ ‫آن‬ ‫وﺿﻊ‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫را‬ ‫ارﺗﺒﺎط‬ ‫ﻫﺮ‬
‫ﮐﻨﯿﻢ‬
.
‫اﺣﺘﻤﺎل‬ ‫ﮐﺎﻫﺶ‬ ‫ﺑﺮاي‬ ‫اﻣﺎ‬
‫ﻣﯽ‬ ‫ﺗﻮﺻﯿﻪ‬ ‫ﻃﺮاﺣﯽ‬ ‫در‬ ‫اﺷﺘﺒﺎه‬
‫ارﺗﺒﺎﻃﻬﺎي‬ ‫اول‬ ‫ﺷﻮد‬
M:N
‫ﺳﭙﺲ‬ ،
1:N
‫آﺧﺮ‬ ‫در‬ ‫و‬
1:1
‫ﻧﻤﺎﯾﯿﻢ‬ ‫ﻃﺮاﺣﯽ‬ ‫را‬
.
‫ﺣﺎﻟﺖ‬
14
‫آﻣﻮزﺷﯽ‬ ‫ﮔﺮوه‬
‫ﻋﻀﻮﯾﺖ‬
‫ﻣﺪﯾﺮﯾﺖ‬ ‫ﻣﺪﻋﻮ‬
‫زﻣﯿﻨﻪ‬
‫از‬
‫ﺗﺮم‬
-
‫ﺳﺎل‬
‫درس‬
1
1 N
1
M
N
1
N
1
N
‫اﺳﺘﺎد‬
‫ﻣﺎﻣﻮرﯾﺖ‬
‫ﻣﺸﺎور‬
34
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺣﺎﻟﺖ‬
14
:
‫ﭼﻨﺪ‬ ‫وﺟﻮد‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬
‫ارﺗﺒﺎط‬
)
‫اداﻣﻪ‬
(

‫اﺳﺖ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻗﺎﺑﻞ‬ ‫ﻧﯿﺰ‬ ‫راﺑﻄﻪ‬ ‫ﻫﻔﺖ‬ ‫ﺑﺎ‬ ‫ﺣﺪاﮐﺜﺮ‬ ‫ﺳﯿﺴﺘﻢ‬ ‫ﻫﻤﯿﻦ‬
.
DEPT (DEID, …., DPHONE, PRID)
PROF (PRID, …., PRRANK, MDEID, SUB, MEMDEID, FROM, CDEID, INT)
INVITED (DEID, PRID, YR, TR)
‫ﻣﺎﻣﻮرﯾﺖ‬ ‫ﻋﻀﻮﯾﺖ‬
‫ﻣﻮﺿﻮع‬ ‫ﻣﺸﺎور‬ ‫زﻣﯿﻨﻪ‬
‫از‬
‫داﻣﻨﻪ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺧﺎرﺟﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺳﻪ‬
35
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻃﺮاﺣﯽ‬
RDB
-
‫ﻧﺮﻣﺎل‬ ‫ﯾﺎ‬ ‫ﺳﻨﺘﺰ‬ ‫روش‬
‫راﺑﻄﻪ‬ ‫ﺳﺎزي‬ ‫ﺗﺮ‬
‫ﻫﺎ‬

‫اﺻﻠﯽ‬ ‫اﯾﺪه‬
:
‫ﻧﺮﻣﺎل‬ ‫ﭼﻨﺪ‬ ‫ﻫﺮ‬ ،‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
)
‫دﯾﺪﯾﻢ‬ ً‫ﻼ‬‫ﻗﺒ‬ ‫ﮐﻪ‬ ‫ﺗﻌﺮﯾﻔﯽ‬ ‫ﺑﺎ‬
(
‫آﻧﻮﻣﺎﻟﯽ‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬
)
‫ﻣﺸﮑﻞ‬
(
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬
‫ذﺧﯿﺮه‬ ‫ﻋﻤﻠﯿﺎت‬ ‫در‬
‫ﺳﺎزي‬
)
‫ﺑﻬﻨﮕﺎم‬ ‫ﯾﺎ‬ ‫ﺣﺬف‬ ،‫درج‬ ‫در‬
‫ﺳﺎزي‬
.(

‫درج‬ ‫در‬ ‫آﻧﻮﻣﺎﻟﯽ‬
:
‫ﺑﺎﺷﺪ‬ ‫درج‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﺎﯾﺪ‬ ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫ﮐﻪ‬ ‫اﻃﻼع‬ ‫ﻓﻘﺮه‬ ‫ﯾﮏ‬ ‫درج‬ ‫اﻣﮑﺎن‬ ‫ﻋﺪم‬
.

‫ﺣﺬف‬ ‫در‬ ‫آﻧﻮﻣﺎﻟﯽ‬
:
‫ﺧﻮاﺳﺘﻪ‬ ‫اﻃﻼع‬ ‫ﺣﺬف‬ ‫ﭘﯽ‬ ‫در‬ ‫ﻧﺎﺧﻮاﺳﺘﻪ‬ ‫اﻃﻼع‬ ‫ﯾﮏ‬ ‫ﺣﺬف‬
.

‫ﺑﻬﻨﮕﺎم‬ ‫در‬ ‫آﻧﻮﻣﺎﻟﯽ‬
‫ﺳﺎزي‬
:
‫ﻓﺰون‬ ‫ﺑﺮوز‬
‫ﮐﺎري‬
.

‫ﻧﺮﻣﺎل‬ ‫را‬ ‫راﺑﻄﻪ‬ ‫ﺑﺎﯾﺪ‬ ‫ﭘﺲ‬
‫ﮐﺮد‬ ‫ﺗﺮ‬
.
36
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬

‫راﺑﻄﻪ‬ ‫ﺑﻮدن‬ ‫ﻧﺮﻣﺎل‬
)
‫ﻧﺮﻣﺎﻟﯿﺘﯽ‬
(
‫ﻓﺮم‬ ،
‫ﻫﺎ‬
)
‫ﺻﻮرت‬
‫ﻫﺎ‬
/
‫ﺳﻄﻮح‬
/
‫درﺟﺎت‬
] (
NF: Normal Forms
[
‫دارد‬ ‫ﻣﺨﺘﻠﻔﯽ‬
.

‫ﻓﺮم‬
‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
:

1NF

2NF

3NF

BCNF
(Boyce-Codd Normal Form)

4NF

5NF
‫ﯾﺎ‬
PJNF
)
Projection Join Normal Form
(

6NF

DKNF
(Domain Key Normal Form)
‫ﺗﺌﻮري؛‬
‫در‬
‫ﺳﻄﻮح‬
‫ﻧﺪارﻧﺪ‬
‫ﻋﻤﻠﯽ‬
‫ﮐﺎرﺑﺮد‬
‫ﭼﻨﺪان‬
.
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻫﺎي‬
)
Codd
(
‫ﻧﺮﻣﺎل‬
‫راﺑﻄﻪ‬
‫ﺗﺮ‬
/
‫ﮐﻤﺘﺮ‬
‫آﻧﻮﻣﺎﻟﯽ‬
37
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬ ‫ﺑﯿﻦ‬ ‫راﺑﻄﻪ‬
‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬

5NFÌ 4NF Ì BCNF Ì 3NF Ì2NF Ì 1NF

‫راﺑﻄﻪ‬ ،‫ﻣﺜﺎل‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﯾﻌﻨﯽ‬
‫ﮐﻪ‬ ‫اي‬
BCNF
،‫ﺑﺎﺷﺪ‬
3NF
‫ﻫﺴﺖ‬ ‫ﻫﻢ‬
.
?
1NF
2NF
3NF
BCNF
4NF
5NF
All Relations
38
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺌﻮري‬

‫ﻓﺮم‬ ‫ﺑﺮرﺳﯽ‬ ‫ﺑﺮاي‬
‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺌﻮري‬ ‫از‬ ‫دارﯾﻢ‬ ‫ﻣﻔﺎﻫﯿﻤﯽ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎز‬ ،‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
Dependency Theory
.(

‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺌﻮري‬ ‫از‬ ‫ﻣﻔﺎﻫﯿﻤﯽ‬
:

‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
)
Functional Dependency
(

‫ﮐﺎﻣﻞ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
]
‫ﺗﺎم‬
) [
Fully Functional Dependency
(

‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
)
Transitive Functional Dependency
(
39
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫واﺑﺴﺘﮕﯽ‬
‫ﺗﺎﺑﻌﯽ‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
)
FD
:(
‫ﺻﻔﺖ‬
R.B
‫ﺻﻔﺖ‬ ‫ﺑﻪ‬
R.A
‫ﯾﮏ‬ ‫ازاي‬ ‫ﺑﻪ‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫دارد‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
‫از‬ ‫ﻣﻘﺪار‬
A
‫از‬ ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬
B
‫ﺑﺎﺷﺪ‬ ‫ﻣﺘﻨﺎﻇﺮ‬
.
‫اﮔﺮ‬ ‫دﯾﮕﺮ‬ ‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬
t1
‫و‬
t2
‫از‬ ‫ﺗﺎﭘﻞ‬ ‫دو‬
R
‫ﺻﻮرت‬ ‫اﯾﻦ‬ ‫در‬ ،‫ﺑﺎﺷﻨﺪ‬
:
IF t1.A = t2.A THEN t1.B = t2.B
‫دارﯾﻢ‬ ‫آﯾﺎ‬ ،‫ﺑﺎﺷﺪ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫راﺑﻄﻪ‬ ‫ﺗﺎﭘﻠﻬﺎي‬ ‫ﮐﻞ‬ ‫اﯾﻨﮑﻪ‬ ‫ﻓﺮض‬ ‫ﺑﺎ‬
:
A→B
‫ﺑﻠﻪ‬ ‫؟‬
A→C
‫ﺧﯿﺮ‬ ‫؟‬
B→A
‫ﺧﯿﺮ‬ ‫؟‬
B→C
‫ﺧﯿﺮ‬ ‫؟‬
R (A, B, C)
a1, b1, c1,
a1 b1 c2
a2 b2 c2
a3 b3 c3
a4 b2 c3
a1→b1
a1
c1
c2
40
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
)
‫اداﻣﻪ‬
(

‫ﻧﮑﺎت‬
:
)
1
(
‫ﻃﺮﻓﯿﻦ‬ ‫ﺻﻔﺎت‬
FD
‫ﻣﯽ‬
‫ﺑﺎﺷﻨﺪ‬ ‫ﻣﺮﮐﺐ‬ ‫ﯾﺎ‬ ‫ﺳﺎده‬ ‫ﺗﻮاﻧﻨﺪ‬
.
)
2
(
‫اﮔﺮ‬
A→B
‫ﻧﺪارﯾﻢ‬ ً‫ﺎ‬‫ﻟﺰوﻣ‬ ،
:
B→A
.
)
3
(
‫اﮔﺮ‬
B⊆A
‫ﺑﻪ‬ ،
A→B
،
FD
‫ﺑﺪﯾﻬﯽ‬ ‫ﯾﺎ‬ ‫ﻧﺎﻣﻬﻢ‬
)
Trivial
(
‫ﮔﻮﯾﯿﻢ‬
.
)
4
(
‫اﮔﺮ‬
K
‫راﺑﻄﻪ‬ ‫در‬
R
،
SK
‫ﯾﺎ‬
CK
‫و‬ ‫ﺑﺎﺷﺪ‬
G⊆HR
‫دارﯾﻢ‬ ‫آﻧﮕﺎه‬
:
K→G
.
41
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
)
‫اداﻣﻪ‬
(
)
5
(
‫ﻧﻤﺎﯾﺶ‬
FD
‫راﺑﻄﻪ‬ ‫ﻫﺎي‬
R
‫ﻣﺨﺘﻠﻒ‬ ‫روﺷﻬﺎي‬ ‫ﺑﻪ‬
:
-
‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬
:
-
‫ﻧﻤﻮدار‬ ‫ﺑﺎ‬
FD
‫ﻫﺎ‬
:
-
‫ﻓﻠﺶ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫راﺑﻄﻪ‬ ‫ﻋﻨﻮان‬ ‫ﺧﻮد‬ ‫روي‬
‫ﻫﺎﯾﯽ‬
:
F={A→B, B→C, A→D}
A
D
B C
R (A, B, C, D)
42
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
)
‫اداﻣﻪ‬
(
)
6
(
‫ﺗﻔﺴﯿﺮ‬
FD
:
‫ﻫﺮ‬
FD
‫اﺳﺖ‬ ‫ﻣﺤﯿﻂ‬ ‫از‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫ﯾﮏ‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬
:
‫ﺟﺎﻣﻌﯿﺘﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫ﻧﻮﻋﯽ‬
)
‫ﻧﺤﻮي‬ ‫ﺑﻪ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬
‫ﺷﻮد‬ ‫داده‬ ‫ﺳﯿﺴﺘﻢ‬ ‫ﺑﻪ‬
.
‫ﻣﯽ‬ ‫ﺳﯿﺴﺘﻢ‬ ‫ﺑﻪ‬ ‫ﺧﻮب‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻃﺮﯾﻖ‬ ‫از‬ ،‫ﻃﺮاﺣﯽ‬ ‫ﺑﺤﺚ‬ ‫در‬ ‫ﮐﻪ‬ ‫دﯾﺪ‬ ‫ﺧﻮاﻫﯿﻢ‬
‫دﻫﯿﻢ‬
.(

‫ﺗﻤﺮﯾﻦ‬
:
‫راﺑﻄﻪ‬ ‫در‬
R(X, Y, Z)
‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫ﮐﻪ‬ ‫ﺑﻨﻮﯾﺴﯿﺪ‬ ‫ﻇﻬﺎر‬‫ا‬ ‫ﯾﮏ‬ ،
X→Y
‫ﭘﯿﺎده‬ ‫را‬
‫ﻧﻤﺎﯾﺪ‬ ‫ﺳﺎزي‬
.
)
‫ﻣﯽ‬ ‫ﻣﺜﺎل‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬
‫از‬ ‫ﺗﻮان‬
EXISTS
‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬
(
CREATE ASSERTION XTOYFD
CHECK ( NOT EXISTS (SELECT X FROM R GROUP BY X HAVING MAX(Y)!=MIN(Y)))
‫راﺑﻄﻪ‬ ‫ﺣﺴﺎب‬
‫اي‬
:
CONSTRAINT XTOYFD FORALL R1 (FORALL R2 IF R1.X=R2.X THEN R1.Y=R2.Y)
STID→STJ
:
‫ﻣﯽ‬ ‫ﻓﻘﻂ‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬
‫ﮐﻨﺪ‬ ‫ﺗﺤﺼﯿﻞ‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬ ‫در‬ ‫ﺗﻮاﻧﺪ‬
.
STJ→STD
:
‫ﻣﯽ‬ ‫اراﺋﻪ‬ ‫داﻧﺸﮑﺪه‬ ‫ﯾﮏ‬ ‫در‬ ‫ﻓﻘﻂ‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬
‫ﺷﻮد‬
.
STID→STD
:
‫ﻣﯽ‬ ‫ﺗﺤﺼﯿﻞ‬ ‫داﻧﺸﮑﺪه‬ ‫ﯾﮏ‬ ‫در‬ ‫ﻓﻘﻂ‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬
‫ﮐﻨﺪ‬
.
43
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
-
‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬

‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫اﺳﺘﻨﺘﺎج‬ ‫ﻗﻮاﻋﺪ‬
1- if B⊆A then A→B ⇒ A→A (‫اﻧﻌﮑﺎﺳﯽ‬ ‫ﻗﺎﻋﺪه‬)
2- if A→B and B→C then A→C (‫ﺗﺮاﮔﺬاري‬ ‫ﯾﺎ‬ ‫ﺗﻌﺪي‬ ‫ﻗﺎﻋﺪه‬)
3- if A→B then (A,C)→(B,C) (‫اﻓﺰاﯾﺶ‬ ‫ﻗﺎﻋﺪه‬)
4- if A→(B,C) then A→B and A→C (‫ﺗﺠﺰﯾﻪ‬ ‫ﻗﺎﻋﺪه‬)
5- if A→B and C→D then (A,C)→(B,D) (‫ﺗﺮﮐﯿﺐ‬ ‫ﻗﺎﻋﺪه‬)
6- if A→B and A→C then A→(B,C) (‫اﺟﺘﻤﺎع‬ ‫ﻗﺎﻋﺪه‬)
7- if A→B and (B,C)→D then (A,C)→D ( ‫ﺷﺒﻪ‬ ‫ﻗﺎﻋﺪه‬
‫ﺗﻌﺪي‬ )
44
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
-
‫ﻗﻮاﻋﺪ‬
‫آرﻣﺴﺘﺮاﻧﮓ‬
)
‫اداﻣﻪ‬
(

‫ﻗﺎﻋﺪه‬ ‫ﺳﻪ‬
‫اول‬
‫درﺳﺖ‬
‫و‬
‫ﮐﺎﻣﻞ‬
‫واﺑﺴﺘﮕﯽ‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫داﺷﺘﻦ‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﻣﻌﻨﺎ‬ ‫ﺑﺪﯾﻦ‬ ،‫ﻫﺴﺘﻨﺪ‬
‫ﺗﺎﺑﻌﯽ‬ ‫ﻫﺎي‬
F
،
‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﻤﺎم‬
‫از‬ ‫اﺳﺘﻨﺘﺎج‬ ‫ﻗﺎﺑﻞ‬ ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫ﻫﺎي‬
F
‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻗﺎﻋﺪه‬ ‫ﺳﻪ‬ ‫ﻫﻤﯿﻦ‬ ‫ﺑﺎ‬ ،
‫ﻫﯿﭻ‬ ‫و‬ ‫آﯾﻨﺪ‬
‫دﯾﮕﺮ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
)
‫از‬ ‫ﮐﻪ‬
F
‫اﺳﺘﻨﺘﺎج‬ ‫ﻗﺎﺑﻞ‬
‫ﻧﺒﺎﺷﺪ‬
(
‫ﻧﻤﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺰ‬
‫آﯾﺪ‬
.

‫ﺗﻮﺟﻪ‬
:
‫اﺛﺒﺎت‬ ‫ﻗﺎﺑﻞ‬ ‫آﺳﺎﻧﯽ‬ ‫ﺑﻪ‬ ‫اول‬ ‫ﻗﺎﻋﺪه‬ ‫ﺳﻪ‬
‫ﻣﯽ‬ ‫اﺛﺒﺎت‬ ‫ﻫﻤﺎﻧﻬﺎ‬ ‫روي‬ ‫از‬ ‫دﯾﮕﺮ‬ ‫ﻗﻮاﻋﺪ‬ ‫و‬ ‫ﻫﺴﺘﻨﺪ‬
‫ﺷﻮﻧﺪ‬
.
45
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
-
‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬
)
‫اداﻣﻪ‬
(

‫ﺗﻤﺮﯾﻦ‬
:
‫ﻗﺎﻋﺪه‬
2
‫ﮐﻨﯿﺪ‬ ‫اﺛﺒﺎت‬ ‫را‬
)
‫ﺧﻠﻒ‬ ‫ﺑﺮﻫﺎن‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬
.(

‫اﺛﺒﺎت‬
:
‫ﺧﻠﻒ‬ ‫ﻓﺮض‬
:
‫ﮐﻪ‬ ‫ﮔﯿﺮﯾﻢ‬
A→C
.
‫راﺑﻄﻪ‬ ‫در‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬ ‫در‬
R
‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ازاي‬ ‫ﺑﻪ‬ ،‫ﺗﺎﭘﻞ‬ ‫دو‬ ‫ﺣﺪاﻗﻞ‬ ‫در‬
A
‫از‬ ‫ﻣﺘﻤﺎﯾﺰ‬ ‫ﻣﻘﺪار‬ ‫دو‬ ،
C
‫دارﯾﻢ‬
.

‫ﻣﺘﻤﺎﯾﺰ‬ ‫دوﻣﻘﺪار‬ ‫ازاي‬ ‫ﺑﻪ‬ ‫اﻣﺎ‬
C
‫ﻣﻘﺪار‬ ،
B
‫ﺑﺎﺷﺪ‬ ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻣﺘﻤﺎﯾﺰ‬ ‫ﻣﻘﺪار‬ ‫دو‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬
.

‫ﻓﺮض‬ ،‫اول‬ ‫ﺣﺎﻟﺖ‬ ‫در‬
A→B
‫ﻓﺮض‬ ،‫دوم‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ ‫و‬
B→C
‫ﻣﯽ‬ ‫ﻧﻘﺾ‬
‫ﺷﻮد‬
.
‫و‬ ‫اﺳﺖ‬ ‫ﺑﺎﻃﻞ‬ ‫ﺧﻠﻒ‬ ‫ﻓﺮض‬ ‫ﭘﺲ‬
‫اﺳﺖ‬ ‫ﺑﺮﻗﺮار‬ ‫ﺣﮑﻢ‬
.
R (A, B, C) R (A, B, C) R (A, B, C)
a1 … c1
. . . . .
a1 … c2
a1 b1 c1
. . . . .
a1 b2 c2
a1 b1 c1
. . . . .
a1 b1 c2
‫دوم‬ ‫ﺣﺎﻟﺖ‬
‫اول‬ ‫ﺣﺎﻟﺖ‬
/
46
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
-
‫ﻗﻮاﻋﺪ‬
‫آرﻣﺴﺘﺮاﻧﮓ‬
)
‫اداﻣﻪ‬
(

‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬ ‫ﮐﺎرﺑﺮدﻫﺎي‬
1
-
‫ﺻﻔﺖ‬ ‫ﺑﺴﺘﺎر‬ ‫ﻣﺤﺎﺳﺒﻪ‬
A
:
A+
‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﺻﻔﺎﺗﯽ‬ ‫ﺗﻤﺎم‬ ‫ﻣﺠﻤﻮﻋﻪ‬
A
‫دارﻧﺪ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ،
.
‫ﻧﮑﺘﻪ‬
:
‫اﮔﺮ‬
A+=HR
⇐
A
‫ﺳﻮﭘﺮﮐﻠﯿﺪ‬
)
‫ﮐﺎﻧﺪﯾﺪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻧﻪ‬ ‫و‬ ‫ﺳﻮﭘﺮﮐﻠﯿﺪ‬ ‫ﺗﺸﺨﯿﺺ‬ ‫اﻟﮕﻮرﯾﺘﻢ‬
(
2
-
‫واﺑﺴﺘﮕﯽ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﺴﺘﺎر‬ ‫ﻣﺤﺎﺳﺒﻪ‬
‫ﺗﺎﺑﻌﯽ‬ ‫ﻫﺎي‬
‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
:
F+
‫ﺗﻤﺎم‬ ‫ﻣﺠﻤﻮﻋﻪ‬
FD
‫از‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬
F
‫ﻣﯽ‬ ‫اﺳﺘﻨﺘﺎج‬ ً‫ﺎ‬‫ﻣﻨﻄﻘ‬
‫ﺷﻮﻧﺪ‬
:
F={A→B, B→C} ⇒ F+={A→B, B→C, A→C, (A,C)→(B,C), …}
47
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫واﺑﺴﺘﮕﯽ‬
‫ﺗﺎﺑﻌﯽ‬
)
‫اداﻣﻪ‬
(

‫ﻣﻬﻢ‬ ‫ﮐﺎرﺑﺮدﻫﺎي‬
F+
:
1
-
‫ﺑﻮدن‬ ‫ﻣﻌﺎدل‬ ‫ﺗﺸﺨﯿﺺ‬
‫از‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬
FD
‫راﺑﻄﻪ‬ ‫ﻫﺎي‬
‫اي‬
R
:
‫ﻧﻤﻮﻧﻪ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬
F
‫و‬
G

‫ﺑﻮدن‬ ‫ﻣﻌﺎدل‬ ‫ﺷﺮط‬
:
F+=G+
‫ﻫﺮ‬
FD
‫از‬ ‫ﮐﻪ‬
F
‫از‬ ،‫آﯾﺪ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬
G
‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻫﻢ‬
‫آﯾﺪ‬
.
2
-
‫ﺗﺸﺨﯿﺺ‬
FD
‫اﻓﺰوﻧﻪ‬

‫ﺗﺸﺨﯿﺺ‬ ‫ﺿﺎﺑﻄﻪ‬
:
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
f∈F
‫ﻫﺮﮔﺎه‬ ،‫ﮔﻮﯾﯿﻢ‬ ‫اﻓﺰوﻧﻪ‬ ‫را‬
:
(F-f)+=F+

‫ﻧﺒﻮد‬ ‫و‬ ‫ﺑﻮد‬ ‫ﯾﻌﻨﯽ‬
f
‫ﻣﺤﺎﺳﺒﻪ‬ ‫در‬
F+
‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﺗﺎﺛﯿﺮي‬
.
48
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
-
‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬
)
‫اداﻣﻪ‬
(
3
-
‫ﮐﺎﻫﺶ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻣﺤﺎﺳﺒﻪ‬
‫ﻧﺎﭘﺬﯾﺮ‬
FD
‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎي‬
‫دارد‬ ‫ﺷﺮط‬ ‫ﺳﻪ‬
:
1
-
‫ﻫﯿﭻ‬
FD
‫ﻧﺒﺎﺷﺪ‬ ‫اﻓﺰوﻧﻪ‬ ‫آن‬ ‫در‬
.
2
-
‫ﺳﻤﺖ‬
‫راﺳﺖ‬
‫ﻫﺮ‬
FD
‫ﺻﻔﺖ‬ ،
‫ﺳﺎده‬
‫ﺑﺎﺷﺪ‬
.
3
-
‫ﺳﻤﺖ‬
‫ﭼﭗ‬
‫ﻫﺮ‬
FD
‫ﮐﺎﻫﺶ‬ ‫ﺧﻮد‬ ،
‫ﺑﺎﺷﺪ‬ ‫ﻧﺎﭘﺬﯾﺮ‬
:
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ‫در‬
X→Y
،
X
‫ﮐﺎﻫﺶ‬ ‫را‬
‫ﻧﺎﭘﺬﯾﺮ‬
)
‫و‬
‫واﺑﺴﺘﮕﯽ‬
X→Y
‫را‬
‫ﮐﺎﻣﻞ‬
(
‫ﻫﺮﮔﺎه‬ ،‫ﮔﻮﯾﯿﻢ‬
Y
‫از‬ ‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﯿﭻ‬ ‫ﺑﺎ‬
X
)
‫ﺧﻮد‬ ‫از‬ ‫ﻏﯿﺮ‬
X
(
،
FD
‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬
.
‫اﯾﻨﺼﻮرت‬ ‫ﻏﯿﺮ‬ ‫در‬
X
‫ﮐﺎﻫﺶ‬ ‫را‬
‫واﺑﺴﺘﮕﯽ‬ ‫و‬ ‫ﮔﻮﯾﯿﻢ‬ ‫ﭘﺬﯾﺮ‬
X→Y
‫را‬
‫ﻧﺎﮐﺎﻣﻞ‬
‫ﮔﻮﯾﯿﻢ‬
.
B
A
Y
‫آﻧﮕﺎه‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫اﮔﺮ‬
X
‫ﮐﺎﻫﺶ‬
‫و‬ ‫ﭘﺬﯾﺮ‬
X→Y
‫ﯾﮏ‬
FD
‫اﺳﺖ‬ ‫ﻧﺎﮐﺎﻣﻞ‬
.
(A, B) → Y
⇒ ‫ﻧﺎﮐﺎﻣﻞ‬ FD
A → Y
X
49
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫واﺑﺴﺘﮕﯽ‬
‫ﺗﺎﺑﻌﯽ‬
)
‫اداﻣﻪ‬
(

‫ﺗﻤﺮﯾﻦ‬
:
‫ﯾﮏ‬ ‫اﮔﺮ‬
FD
‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮐﺎﻣﻞ‬
A→Y
‫آﻧﮕﺎه‬ ،‫ﺑﺎﺷﯿﻢ‬ ‫داﺷﺘﻪ‬
FD
‫ﻧﺎﮐﺎﻣﻞ‬
(A,B)→Y
‫ﻗﺎﺑﻞ‬ ‫آن‬ ‫از‬
‫اﺳﺖ‬ ‫اﺳﺘﻨﺘﺎج‬
.

‫اﺛﺒﺎت‬
:
‫از‬ ‫اﻓﺰاﯾﺶ‬ ‫ﻗﺎﻋﺪه‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬
A→Y
‫ﻣﯽ‬ ‫ﻧﺘﯿﺠﻪ‬
‫ﮔﯿﺮﯾﻢ‬
(A,B)→(Y,B)
‫دارﯾﻢ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻗﺎﻋﺪه‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬
:
(A,B)→B
‫ﯾﮏ‬ ‫ﮐﻪ‬
FD
‫و‬ ‫اﺳﺖ‬ ‫ﺑﺪﯾﻬﯽ‬
(A,B)→Y
‫ﮐﻪ‬
‫اﺳﺖ‬ ‫ﺣﮑﻢ‬ ‫ﻫﻤﺎن‬
.
‫ﮐﺎﻫﺶ‬ ‫ﻣﺠﻤﻮﻋﻪ‬
‫دارد؟‬ ‫ﮐﺎرﺑﺮدي‬ ‫ﭼﻪ‬ ‫ﻧﺎﭘﺬﯾﺮ‬
‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
)
TFD
:(
‫اﮔﺮ‬
A→B
،
B→C
‫و‬
B→A
‫ﻣﯽ‬ ،
‫ﮔﻮﯾﯿﻢ‬
C
‫ﺑﺎ‬
A
،
FD
‫از‬ ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬
‫ﻃﺮﯾﻖ‬
B
‫دارد‬
.
‫اﮔﺮ‬
B→A
‫آن‬ ‫آﻧﮕﺎه‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻗﺮار‬ ‫ﻫﻢ‬
FD
،‫واﺳﻄﻪ‬ ‫ﺑﺎ‬
‫ﺑﺪﯾﻬﯽ‬
)
‫ﻧﺎﻣﻬﻢ‬
(
‫اﺳﺖ‬
.
/
50
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬

‫ﺗﻮﺟﻪ‬
:
‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻣﻔﻬﻮم‬ ‫ﺑﺎ‬ ‫ﻓﻘﻂ‬ ،‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻓﺮم‬ ‫ﺳﻪ‬ ‫در‬
)
PK
(
‫ﻣﯽ‬ ‫ﮐﺎر‬
‫ﻫﺮ‬ ‫ﻧﻪ‬ ‫و‬ ‫ﮐﻨﯿﻢ‬
CK
.
1NF
:
‫راﺑﻄﻪ‬
R
‫در‬
1NF
‫ﺗﮏ‬ ‫آن‬ ‫ﺻﻔﺎت‬ ‫ﺗﻤﺎم‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬
‫ﺑﺎﺷﺪ‬ ‫ﻣﻘﺪاري‬
.

‫ﻣﯽ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫اﯾﻦ‬
‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫ﮔﻮﯾﺪ‬
‫ﻧﺮﻣﺎل‬
‫در‬
1NF
‫اﺳﺖ‬
.
2NF
:
‫راﺑﻄﻪ‬
R
‫در‬
2NF
‫در‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬
1NF
‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬
‫ﻧﺎﮐﻠﯿﺪ‬
)
‫ﺧﻮد‬ ‫ﮐﻪ‬
PK
‫ﯾﺎ‬
CK
‫ﺟﺰء‬ ‫و‬ ‫ﻧﺒﺎﺷﺪ‬
PK
‫ﯾﺎ‬
CK
‫ﻧﺒﺎﺷﺪ‬ ‫ﻫﻢ‬
(
‫ﺑﺎ‬ ،‫آن‬ ‫در‬
‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬
،‫راﺑﻄﻪ‬
FD
‫ﮐﺎﻣﻞ‬
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬
.

‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫دﯾﮕﺮ‬ ‫ﺑﯿﺎن‬ ‫ﺑﻪ‬
FD
‫ﺑﺎﺷﯿﻢ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﺎﻣﻞ‬
.

‫ﺗﺒﺪﯾﻞ‬ ‫اﻟﮕﻮرﯾﺘﻢ‬
NF
1
‫ﺑﻪ‬
NF
2
:
‫ﺣﺬف‬
FD
‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬
‫ﻣﻨﺎﺳﺐ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫راﺑﻄﻪ‬ ‫ﻋﻤﻮدي‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻃﺮﯾﻖ‬ ‫از‬
.
3NF
:
‫راﺑﻄﻪ‬
R
‫در‬
3NF
‫در‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬
2NF
‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬
‫ﻧﺎﮐﻠﯿﺪ‬
‫ﺑﺎ‬
‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬
‫ﻓﻘﻂ‬ ،‫راﺑﻄﻪ‬
FD
‫ﺑﯽ‬
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫واﺳﻄﻪ‬
)
FD
‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﺑﺎواﺳﻄﻪ‬
.(

‫ﺗﺒﺪﯾﻞ‬ ‫اﻟﮕﻮرﯾﺘﻢ‬
2NF
‫ﺑﻪ‬
3NF
:
‫ﺣﺬف‬
FD
‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎي‬
.
51
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
‫ﮐﺎدي‬
)
‫اداﻣﻪ‬
(
‫ﻣﯽ‬ ‫ﻗﯿﺪ‬ ‫ﻣﺜﺎﻟﯽ‬
‫ﺗﺎ‬ ‫آن‬ ‫در‬ ‫و‬ ‫ﮐﻨﯿﻢ‬
3NF
‫ﻣﯽ‬ ‫ﭘﯿﺶ‬
‫روﯾﻢ‬
.

‫ﻣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫در‬ ‫اﻧﺘﺨﺎب‬ ‫و‬ ‫درس‬ ،‫داﻧﺸﺠﻮ‬ ‫ﺻﻔﺎت‬ ‫ﺗﻤﺎم‬ ،‫ﮐﻠﯽ‬ ‫ﺣﺎﻟﺖ‬ ‫در‬
‫ﺑﺎﺷﻨﺪ‬ ‫ﺗﻮاﻧﻨﺪ‬
.

‫ﻣﺤﯿﻂ‬ ‫ﻗﻮاﻋﺪ‬
:
1
-
‫ﻣﯽ‬ ‫ﺗﺤﺼﯿﻞ‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬ ‫در‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬
‫ﮐﻨﺪ‬
.
2
-
‫ﻣﯽ‬ ‫ﺗﺤﺼﯿﻞ‬ ‫داﻧﺸﮑﺪه‬ ‫ﯾﮏ‬ ‫در‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬
‫ﮐﻨﺪ‬
.
3
-
‫ﻣﯽ‬ ‫اراﺋﻪ‬ ‫داﻧﺸﮑﺪه‬ ‫ﯾﮏ‬ ‫در‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬
‫ﺷﻮد‬
.
R (STID, COID, STJ, STD, GR)
777 CO1 Phys D11 19
777 CO2 Phys D11 16
777 CO3 Phys D11 11
888 CO1 Math D12 16
888 CO2 Math D12 18
444 CO1 Math D12 13
555 CO1 Phys D11 14
555 CO2 Phys D11 12
FD
‫از‬ ‫ﻧﺎﺷﯽ‬ ‫ﻫﺎي‬
PK
)
‫ﭼﭗ‬ ‫ﺳﻤﺖ‬
PK
(
GR
COID
STID
STJ
STD
1
2
3
52
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(

‫راﺑﻄﻪ‬
R
‫در‬
1NF
‫اﺳﺖ‬
)
‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﻘﺪاري‬ ‫ﺗﮏ‬ ‫ﺻﻔﺎت‬ ‫ﻫﻤﻪ‬ ‫ﭼﻮن‬
(
‫ﻧﺮﻣﺎل‬ ‫ﺑﺎﯾﺪ‬ ‫و‬ ‫دارد‬ ‫آﻧﻮﻣﺎﻟﯽ‬ ‫وﻟﯽ‬
‫ﺷﻮد‬ ‫ﺗﺮ‬
.

‫آﻧﻮﻣﺎﻟﯽ‬
‫راﺑﻄﻪ‬ ‫ﻫﺎي‬
R
:
1
-
‫درج‬ ‫در‬
:
‫را‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫درﻣﻮرد‬ ‫اﻃﻼع‬ ‫ﻓﻘﺮه‬ ‫اﯾﻦ‬ ‫ﮐﻦ‬ ‫درج‬
:
〈‘666’, ‘chem’, ‘D16’〉
‫ﻧﺎﻣﻤﮑﻦ‬ ‫درج‬
:
‫ﭼﯿﺴﺖ‬ ‫ﺷﺪه‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﮐﻪ‬ ‫درﺳﯽ‬ ‫ﯾﮏ‬ ‫ﺣﺪاﻗﻞ‬ ‫ﻧﺪاﻧﯿﻢ‬ ‫ﺗﺎ‬
.
2
-
‫ﺣﺬف‬ ‫در‬
:
‫ﻣﯽ‬ ‫ﻓﺮض‬
‫ﮐﻨﯿﻢ‬
‘444’
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫را‬ ‫درس‬ ‫ﺗﮏ‬ ‫ﻫﻤﯿﻦ‬ ‫ﻓﻘﻂ‬ ‫ﻟﺤﻈﻪ‬ ‫اﯾﻦ‬ ‫در‬
.
‫را‬ ‫اﻃﻼع‬ ‫اﯾﻦ‬ ‫ﻓﻘﻂ‬ ‫ﮐﻦ‬ ‫ﺣﺬف‬
:
〈’444’, ‘CO1’, 13〉
‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﺣﺬف‬
‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﻫﻢ‬ ‫ﻧﺎﺧﻮاﺳﺘﻪ‬ ‫اﻃﻼع‬ ‫اﻣﺎ‬ ‫ﺷﻮد‬
‫ﺷﻮد‬
.
3
-
‫ﺑﻬﻨﮕﺎم‬ ‫در‬
‫ﺳﺎزي‬
:
‫ﺷﻤﺎره‬ ‫ﺑﺎ‬ ‫داﻧﺸﺠﻮ‬ ‫ﺗﺤﺼﯿﻠﯽ‬ ‫رﺷﺘﻪ‬ ‫ﺗﻐﯿﯿﺮ‬
777
‫ﺑﻪ‬
Chem
.
‫اﻧﺠﺎم‬ ‫ﺑﺮاي‬
‫ﺑﻬﻨﮕﺎم‬ ‫دارﯾﻢ؛‬ ‫ﻓﺰوﻧﮑﺎري‬ ‫آن‬
‫ﻣﻨﺘﺸﺮﺷﻮﻧﺪه‬ ‫ﺳﺎزي‬
)
Propagating Update
.(
53
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(

‫آﻧﻮﻣﺎﻟﯽ‬ ‫دﻟﯿﻞ‬
‫راﺑﻄﻪ‬ ‫ﻫﺎي‬
R
:

‫ﻋﻤﻠﯽ‬ ‫دﯾﺪﮔﺎه‬ ‫از‬
:
‫در‬ ‫اﻃﻼﻋﺎت‬ ‫ﺑﺎ‬ ‫داﻧﺸﺠﻮ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﺧﻮد‬ ‫ﻣﻮرد‬ ‫در‬ ‫اﻃﻼﻋﺎت‬ ‫ﯾﻌﻨﯽ‬ ،‫اﻃﻼﻋﺎت‬ ‫اﺧﺘﻼط‬ ‫ﭘﺪﯾﺪه‬
‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻣﺨﻠﻮط‬ ‫درس‬ ‫اﻧﺘﺨﺎب‬ ‫ﻣﻮرد‬
.

‫ﺗﺌﻮري‬ ‫دﯾﺪﮔﺎه‬ ‫از‬
:
‫وﺟﻮد‬
FD
‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬

‫اﯾﻦ‬
FD
‫ﺑﺮوﻧﺪ‬ ‫ﺑﯿﻦ‬ ‫از‬ ‫ﺑﺎﯾﺪ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬
.
‫راﺑﻄﻪ‬ ‫ﻣﻨﻈﻮر‬ ‫اﯾﻦ‬ ‫ﺑﺮاي‬
R
‫ﮐﻪ‬ ‫ﮐﻨﯿﻢ‬ ‫ﻋﻤﻮدي‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﭼﻨﺎن‬ ‫ﺑﺎﯾﺪ‬ ‫را‬
‫راﺑﻄﻪ‬ ‫در‬
،‫ﺣﺎﺻﻞ‬ ‫ﻫﺎي‬
FD
‫ﻧﺒﺎﺷﺪ‬ ‫ﻧﺎﮐﺎﻣﻞ‬
.

‫ﻋﻤﻠﮕﺮ‬ ‫از‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮاي‬
‫ﭘﺮﺗﻮ‬
‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬
‫ﮐﻨﯿﻢ‬
.
‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ﻣﻨﺠﺮ‬ ‫ﮐﻪ‬ ‫ﭘﺮﺗﻮي‬
‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬
‫ﺷﻮد‬
.
(STID, COID) → STJ
STID → STJ
(STID, COID) → STD
STID → STD
54
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(
Π STID,COID,GR (R) Π STID,STJ,STD (R)
SCG (STID, COID, GR) ‫و‬ SSD (STID, STJ, STD)
777 CO1 19
777 CO2 16
777 CO3 11
888 CO1 16
888 CO2 18
444 CO1 13
555 CO1 14
555 CO2 12
777 Phys D11
888 Math D12
444 Math D12
555 Phys D11
GR
COID
STID
STJ
STD
SSD
SCG
55
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(

‫راﺑﻄﻪ‬
‫آﻧﻮﻣﺎﻟﯽ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻫﺎي‬
‫ﻫﺎي‬
R
‫ﻧﺪارﻧﺪ‬ ‫را‬
:
1
-
‫ﮐﻦ‬ ‫درج‬
:
〈’666’, ‘chem’, ‘D16’〉
‫در‬ ‫ﻣﺸﮑﻞ‬ ‫ﺑﺪون‬
SSD
‫ﻣﯽ‬ ‫درج‬
‫ﺷﻮد‬
.
2
-
‫ﮐﻦ‬ ‫ﺣﺬف‬
:
〈’444’, ‘CO1’, 13〉
‫از‬ ‫ﻣﺸﮑﻞ‬ ‫ﺑﺪون‬
SCG
‫ﻣﯽ‬ ‫ﺣﺬف‬
‫ﺷﻮد‬
.
3
-
‫ﺑﻬﻨﮕﺎم‬
‫ﮐﻦ‬ ‫ﺳﺎزي‬
:
‫داﻧﺸﺠﻮي‬ ‫رﺷﺘﻪ‬ ‫ﺗﻐﯿﯿﺮ‬
777
‫ﺑﻪ‬ ‫را‬
Chem
‫در‬ ‫ﻣﺸﮑﻞ‬ ‫ﺑﺪون‬
SSD
‫ﻣﯽ‬ ‫ﺑﺮوز‬
‫ﺷﻮد‬
.
GR
COID
STID
STID
STJ
STD
1
2
3
SSD
SCG
56
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(

،‫ﺟﺪﯾﺪ‬ ‫ﻃﺮاﺣﯽ‬ ‫در‬
FD
‫رﻓﺘﻨﺪ‬ ‫ﺑﯿﻦ‬ ‫از‬ ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬
.
‫ﺑﻨﺎﺑﺮاﯾﻦ‬
SSD
‫و‬
SCG
،
2NF
‫ﻫﺴﺘﻨﺪ‬
.

‫ﺗﺎﮐﯿﺪ‬
:
‫راﺑﻄﻪ‬
R
،
2NF
‫در‬ ً‫ﻻ‬‫او‬ ‫ﻫﺮﮔﺎه‬ ‫اﺳﺖ‬
1NF
،‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ً‫ﺎ‬‫ﺛﺎﻧﯿ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬
FD
‫ﮐﺎﻣﻞ‬
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬
)
،‫راﺑﻄﻪ‬
FD
‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﻧﺎﮐﺎﻣﻞ‬
.(

‫ﺗﻤﺮﯾﻦ‬
:
‫ﻫﻤﻪ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫آﯾﺎ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫ﺑﺮرﺳﯽ‬
FD
‫ﻣﯽ‬ ‫ﻣﺤﻔﻮظ‬ ‫ﻫﺎ‬
‫ﻣﺎﻧﻨﺪ؟‬

‫ﻧﮑﺘﻪ‬
:
،‫ﺗﺠﺰﯾﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﮐﻨﯿﻢ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎﯾﺪ‬
FD
‫ﻫﺮ‬ ‫ﭼﻮن‬ ،‫ﻧﺮود‬ ‫دﺳﺖ‬ ‫از‬ ‫اي‬
FD
‫اﺳﺖ‬ ‫ﻣﺤﯿﻂ‬ ‫در‬ ‫ﺟﺎﻣﻌﯿﺖ‬ ‫ﻗﺎﻋﺪه‬ ‫ﯾﮏ‬
.

‫ﻧﻤﯽ‬ ‫دﺳﺖ‬ ‫از‬ ‫اﻃﻼﻋﯽ‬ ‫ﻫﯿﭻ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬
‫رود‬
.
‫ﻫﺮ‬ ‫ﺑﻪ‬ ‫را‬ ‫اﺻﻠﯽ‬ ‫راﺑﻄﻪ‬ ‫ﮐﺎرﺑﺮ‬ ‫اﮔﺮ‬ ‫ﯾﻌﻨﯽ‬
‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﺟﺪﯾﺪ‬ ‫راﺑﻄﻪ‬ ‫دو‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﺑﺨﻮاﻫﺪ‬ ‫دﻟﯿﻠﯽ‬
‫آﯾﺪ‬
.
R = SCG ⋈ SSD
57
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(

‫در‬
‫اﮔﺮ‬ ‫ﮐﻠﯽ‬ ‫ﺣﺎﻟﺖ‬
R1
،
R2
،
....
‫و‬
Rn
‫از‬ ‫دﻟﺨﻮاه‬ ‫ﭘﺮﺗﻮﻫﺎي‬
R
‫ﺑﺎﺷﻨﺪ‬
‫دارﯾﻢ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫وﺟﻮد‬ ‫ﻋﺪم‬ ‫ﺷﺮط‬ ‫ﺑﻪ‬ ،
)
‫ﻣﻤﮑﻦ‬
‫ﺗﺎﭘﻞ‬ ‫اﺳﺖ‬
‫ﺑﺮوز‬ ‫اﻓﺰوﻧﻪ‬ ‫ﻫﺎي‬
‫ﮐﻨﺪ‬
:(
R ⊆ R1 ⋈ R2 ⋈ ⋯ ⋈ Rn

‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬
‫ﺣﺬف‬
:
‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫اﯾﻦ‬ ‫ﺷﺮﻃﺶ‬
‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺻﻔﺎت‬ ‫در‬
)
Null Value
(
‫ﺑﺎﺷﯿﻢ‬ ‫ﻧﺪاﺷﺘﻪ‬
.

‫ﻣﯽ‬ ‫ﭘﯿﺶ‬ ‫ﭼﻪ‬ ،‫ﺑﺎﺷﯿﻢ‬ ‫داﺷﺘﻪ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺻﻔﺎت‬ ‫در‬ ‫اﮔﺮ‬
‫آﯾﺪ؟‬
(B, C, D, E)
2
(A, B) T
1
T
⇒
, B, C, D, E)
A
T(
‫ﺗﺎﭘﻞ‬
‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫از‬ ‫ﭘﯿﻮﻧﺪ‬ ‫در‬ ‫ﻫﺎﯾﯽ‬
‫روﻧﺪ‬
.
‫ﺗﺎﭘﻞ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬
‫ﺗﺎﭘﻞ‬ ،‫ﻫﺎ‬
‫آوﻧﮕﺎن‬ ‫ﻫﺎي‬
]
‫ﻣﻌﻠﻖ‬
) [
Dangling
(
‫ﮔﻮﯾﯿﻢ‬
.

‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﻓﺮض‬ ‫ﻣﻌﻤﻮﻻ‬ ‫ﻧﺮﻣﺎﻟﺘﺮﺳﺎزي‬ ‫ﻣﺒﺎﺣﺚ‬ ‫در‬
‫ﺻﻔﺖ‬
)
‫ﺻﻔﺎت‬
(
‫ﻧﺪارﻧﺪ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﭘﯿﻮﻧﺪ‬
.
58
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(

‫راﺑﻄﻪ‬ ‫آﯾﺎ‬
‫ﺟﺪﯾﺪ‬ ‫ﻫﺎي‬
)
SSD
‫و‬
SCG
(
‫ﻧﺪارﻧﺪ؟‬ ‫آﻧﻮﻣﺎﻟﯽ‬

‫آﻧﻮﻣﺎﻟﯽ‬
‫ﻫﺎي‬
SSD
:
1
-
‫درج‬ ‫در‬
:
‫اﻃﻼع‬
:
»
‫رﺷﺘﻪ‬
IT
‫داﻧﺸﮑﺪه‬ ‫در‬
D20
‫ﻣﯽ‬ ‫اراﺋﻪ‬
‫ﺷﻮد‬
.
«
‫دﻟﯿﻞ‬ ‫ﺑﻪ‬
FD
‫ﺷﻤﺎره‬
3
‫درج‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﺎﯾﺪ‬ ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫اﻃﻼع‬ ‫اﯾﻦ‬ ،
‫اﺳﺖ‬ ‫ﻧﺎﻣﻤﮑﻦ‬ ‫درج‬ ‫اﻣﺎ‬ ،‫ﺑﺎﺷﺪ‬
.
‫ﺑﺸﻨﺎﺳﯿﻢ‬ ‫را‬ ‫رﺷﺘﻪ‬ ‫اﯾﻦ‬ ‫داﻧﺸﺠﻮي‬ ‫ﯾﮏ‬ ‫ﺣﺪاﻗﻞ‬ ‫ﺑﺎﯾﺪ‬ ،‫ﻧﺪارد‬ ‫ﮐﻠﯿﺪ‬ ‫ﭼﻮن‬
.
2
-
‫ﺣﺬف‬ ‫در‬
:
‫ﮐﻦ‬ ‫ﺣﺬف‬
〈’666’, ‘Chem’〉
‫رﺷﺘﻪ‬ ‫در‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫ﺗﻨﻬﺎ‬ ‫اﯾﻨﮑﻪ‬ ‫ﻓﺮض‬ ‫ﺑﺎ‬ ‫و‬
Chem
‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺛﺒﺖ‬
.
‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﺣﺬف‬
‫اﻃﻼع‬ ‫وﻟﯽ‬ ‫ﺷﻮد‬
»
‫در‬ ‫ﺷﯿﻤﯽ‬ ‫رﺷﺘﻪ‬
D16
‫ﻣﯽ‬ ‫اراﺋﻪ‬
‫ﺷﻮد‬
«
‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﻧﺎﺧﻮاﺳﺘﻪ‬ ،
‫ﺷﻮد‬
.
3
-
‫ﺑﻬﻨﮕﺎم‬ ‫در‬
‫ﺳﺎزي‬
:
»
‫ﮐﻨﯿﺪ‬ ‫ﻋﻮض‬ ‫را‬ ‫ﻓﯿﺰﯾﮏ‬ ‫رﺷﺘﻪ‬ ‫داﻧﺸﮑﺪه‬ ‫ﺷﻤﺎره‬
«
.
‫ﺑﻬﻨﮕﺎم‬ ‫ﺑﺎﯾﺪ‬ ‫رﺷﺘﻪ‬ ‫اﯾﻦ‬ ‫داﻧﺸﺠﻮﯾﺎن‬ ‫ﺗﻤﺎم‬ ‫ﺗﻌﺪاد‬ ‫ﺑﻪ‬
‫ﺷﻮد‬ ‫ﺳﺎزي‬
.
SSD
‫ﻧﺮﻣﺎل‬ ‫ﺑﺎﯾﺪ‬
‫ﺷﻮد‬ ‫ﺗﺮ‬
.
59
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(

‫آﻧﻮﻣﺎﻟﯽ‬ ‫دﻟﯿﻞ‬
‫ﻫﺎي‬
SSD
:

‫آﻧﻮﻣﺎﻟﯽ‬ ‫دﻟﯿﻞ‬
‫ﻫﺎي‬
SSD
‫وﺟﻮد‬ ،
FD
‫اﺳﺖ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﺑﯿﻦ‬ ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬
)
‫دﻟﯿﻞ‬ ‫ﺑﻪ‬
FD
‫ﺷﻤﺎره‬
3
.(

‫اﯾﻦ‬
FD
‫ﺑﺮود‬ ‫ﺑﯿﻦ‬ ‫از‬ ‫ﺑﺎﯾﺪ‬
.

‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬
SSD
‫ﮐﻨﯿﻢ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬
:

‫ﺷﺪ‬ ‫ﮐﻢ‬ ‫اﻓﺰوﻧﮕﯽ‬
!

‫ﺗﻤﺮﯾﻦ‬
:
‫راﺑﻄﻪ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫ﺑﺮرﺳﯽ‬
‫آﻧﻮﻣﺎﻟﯽ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻫﺎي‬
‫ﻫﺎي‬
SSD
‫ﻧﺪارﻧﺪ‬ ‫را‬
.
STID
STJ
STD
1
2
3
SSD
SJ (STID, STJ) ‫و‬ SD (STJ, STD)
Phys D11
Math D12
777 Phys
888 Math
444 Math
555 Phys
60
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻓﺮم‬
‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬
)
‫اداﻣﻪ‬
(

‫راﺑﻄﻪ‬ ‫اﯾﻦ‬
‫در‬ ‫ﻫﺎ‬
3NF
‫ﻫﺴﺘﻨﺪ‬
.

‫در‬ ً‫ﻻ‬‫او‬
2NF
‫ﻫﺴﺘﻨﺪ‬
.

ً‫ﺎ‬‫ﺛﺎﻧﯿ‬
FD
‫ﻧﺪارﯾﻢ‬ ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬
.

‫ﺗﻤﺮﯾﻦ‬
:
‫ﻧﻤﯽ‬ ‫دﺳﺖ‬ ‫از‬ ‫اﻃﻼﻋﯽ‬ ‫ﻫﯿﭻ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫ﺑﺮرﺳﯽ‬
‫و‬ ‫رود‬
FD
‫ﻣﯽ‬ ‫ﺣﻔﻆ‬ ‫ﻫﻢ‬ ‫ﻫﺎ‬
‫ﺷﻮﻧﺪ‬
.

‫ﺗﺎﮐﯿﺪ‬
:
‫راﺑﻄﻪ‬
R
‫در‬
3NF
‫در‬ ً‫ﻻ‬‫او‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬
2NF
‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ً‫ﺎ‬‫ﺛﺎﻧﯿ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬
FD
‫ﺑﯽ‬
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫واﺳﻄﻪ‬
)
‫ﺗﻤﺎم‬
FD
‫از‬ ‫ﻧﺎﺷﯽ‬ ً‫ﺎ‬‫ﻣﺴﺘﻘﯿﻤ‬ ‫ﻫﺎ‬
PK
‫ﺑﺎﺷﺪ‬
.(

‫ﻧﺘﯿﺠﻪ‬
:
FD
‫ﺑﺮوﻧﺪ‬ ‫ﺑﯿﻦ‬ ‫از‬ ‫ﺑﺎﯾﺪ‬ ‫و‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﺰاﺣﻢ‬ ‫ﺑﺎواﺳﻄﻪ‬ ‫و‬ ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬
.

‫راﺑﻄﻪ‬ ‫ﻋﻤﻞ‬ ‫در‬
‫ﺗﺎ‬ ‫ﺣﺪاﻗﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺎ‬
3NF
‫ﺣﺘﯽ‬ ‫دﯾﺪ‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫و‬ ‫ﺷﻮﻧﺪ‬ ‫ﻧﺮﻣﺎل‬
‫در‬ ‫اﻻﻣﮑﺎن‬
BCNF
‫ﺑﺎﺷﻨﺪ‬ ‫ﺑﯿﺸﺘﺮ‬ ‫ﯾﺎ‬
.

‫راﺑﻄﻪ‬ ‫در‬
3NF
‫ﮐﻪ‬ ‫دارﯾﻢ‬
»
‫ﺑﻮده‬ ‫ﯾﮏ‬
)
‫واﻗﻌﯿﺖ‬
(
:
‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
«
‫ﯾﺎ‬ ‫و‬
»
‫ﺷﯿﺊ‬ ‫ﯾﮏ‬
:
‫راﺑﻄﻪ‬ ‫ﯾﮏ‬
«
.
STID STJ
STD
STJ
SJ
SD
61
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
]
‫ﺗﮑﻤﯿﻠﯽ‬ ‫ﺑﺤﺚ‬
[
‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬

‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬
)
Nonloss/Lossness Decomposition
(
1
-
‫ﺑﯽ‬
‫ﺣﺸﻮ‬
:
‫ﺣﺸﻮ‬ ‫ﺗﺎﭘﻞ‬ ،‫ﭘﺮﺗﻮﻫﺎ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫در‬
]
‫اﻓﺰوﻧﻪ‬
[
‫ﻧﮑﻨﺪ‬ ‫ﺑﺮوز‬
.
2
-
‫ﺣﺎﻓﻆ‬
FD
‫ﻫﺎ‬
:
‫ﻫﯿﭻ‬
FD
‫ﻫﻤﻪ‬ ‫و‬ ‫ﻧﺮود‬ ‫دﺳﺖ‬ ‫از‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﺛﺮ‬ ‫در‬ ‫اي‬
FD
‫ﺷﻮﻧﺪ‬ ‫ﺣﻔﻆ‬ ‫اﺻﻠﯽ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺎي‬
.
3
-
‫ﺑﯽ‬
‫ﺣﺬف‬
:
‫ﻧﺸﻮد‬ ‫ﺣﺬف‬ ‫ﺗﺎﭘﻠﯽ‬ ‫ﻫﯿﭻ‬ ‫ﭘﺮﺗﻮﻫﺎ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫در‬
)
‫ﻧﺒﺎﺷﻨﺪ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺻﻔﺎت‬ ‫ﯾﺎ‬ ‫ﺻﻔﺖ‬
.(
4
-
‫ﺻﻔﺎت‬ ‫ﺣﺎﻓﻆ‬
:
⋃ HRi
= HR
i∈{1,…,n}

‫ﻋﻨﻮان‬ ‫ﺗﺤﺖ‬ ،‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺑﺤﺚ‬ ،‫ﮐﻼﺳﯿﮏ‬ ‫ﻣﺘﻮن‬ ‫ﺑﯿﺸﺘﺮ‬ ‫در‬
‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬
‫ﺑﯽ‬ ‫ﯾﺎ‬ ‫ﮐﺎﺳﺖ‬
‫ﮔﻤﺸﺪﮔﯽ‬
)
Nonloss/Lossless Decomposition
(
‫ﺑﯽ‬ ‫ﻫﻤﺎن‬ ‫ﻣﻨﻈﻮر‬ ‫ﮐﻪ‬ ،‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻣﻄﺮح‬
‫واﺑﺴﺘﮕﯽ‬ ‫ﺣﺎﻓﻆ‬ ‫و‬ ‫ﺣﺸﻮ‬
‫ﻫﺎي‬
‫اﺳﺖ‬ ‫ﺑﻮدن‬ ‫ﺗﺎﺑﻌﯽ‬
)
‫ﭘﯿﺶ‬ ‫را‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫دﯾﮕﺮ‬ ‫وﯾﮋﮔﯽ‬ ‫دو‬ ‫و‬
‫ﺑﺪاﻧﯿﻢ‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻓﺮض‬
.(

‫ﻣﯽ‬ ‫اﻃﻼﻋﺎت‬ ‫از‬ ‫ﺑﺨﺸﯽ‬ ‫رﻓﺘﻦ‬ ‫دﺳﺖ‬ ‫از‬ ‫ﺑﺎﻋﺚ‬ ‫اﻓﺰوﻧﻪ‬ ‫ﺗﺎﭘﻠﻬﺎي‬ ‫واﻗﻊ‬ ‫در‬
‫ﺷﻮﻧﺪ‬
.
‫ﭘﯿﺶ‬
‫ﺑﺪﯾﻬﯽ‬
‫ﯾﺎ‬
‫ﻓﺮض‬
62
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
]
‫ﺗﮑﻤﯿﻠﯽ‬ ‫ﺑﺤﺚ‬
[
‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬
)
‫اداﻣﻪ‬
(

‫ﻦ‬‫ﻧ‬‫رﯾﺴﺎ‬ ‫ﻗﻀﯿﻪ‬
)
Rissanen
:(

‫راﺑﻄﻪ‬
R
‫ﭘﺮﺗﻮش‬ ‫دو‬ ‫ﺑﻪ‬
)
R1
‫و‬
R2
(
‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬
‫ﻣﯽ‬
‫اﮔﺮ‬ ،‫ﺷﻮد‬
R1
‫و‬
R2
‫ﺑﺎﺷﻨﺪ‬ ‫ﻣﺴﺘﻘﻞ‬ ‫ﯾﮑﺪﯾﮕﺮ‬ ‫از‬
.

R1
‫و‬
R2
‫ﻣﺴﺘﻘﻞ‬
‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫ﯾﮑﺪﯾﮕﺮﻧﺪ‬ ‫از‬
:
-
‫آﻧﻬﺎ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫در‬ ‫ﺣﺪاﻗﻞ‬ ،‫ﻣﺸﺘﺮك‬ ‫ﺻﻔﺖ‬
CK
‫ﺑﺎﺷﺪ‬
⇐
‫ﺑﯽ‬
‫ﺑﻮدن‬ ‫ﺣﺸﻮ‬
-
‫ﺗﻤﺎم‬
FD
‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬ ‫ﯾﺎ‬ ‫اﺻﻠﯽ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺎي‬
FD
‫ﻫﺎي‬
R1
‫و‬
R2
ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫آﻧﻬﺎ‬ ‫از‬ ‫ﯾﺎ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬
‫ﺷﻮﻧﺪ‬ ‫اﺳﺘﻨﺘﺎج‬
⇐
‫ﺣﺎﻓﻆ‬
FD
‫ﻫﺎ‬

‫ﻧﮑﺘﻪ‬
:
‫راﺑﻄﻪ‬ ‫در‬ ‫اﮔﺮ‬ ،‫رﯾﺴﺎﻧﻦ‬ ‫ﺿﻮاﺑﻂ‬ ‫اﺳﺎس‬ ‫ﺑﺮ‬
R(A, B, C)
‫واﺑﺴﺘﮕﯽ‬ ،
‫ﻫﺎي‬
A→B
،
B→C
‫و‬
A→C
‫ﺑﺮﻗﺮار‬
‫اﺳﺖ‬ ‫ﭼﻨﯿﻦ‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻨﺼﻮرت‬ ‫در‬ ،‫ﺑﺎﺷﺪ‬
:
, B)
A
(
1
R
‫و‬
, C)
B
(
2
R
.

‫اﯾﻨﺠﺎ‬ ‫در‬
B
‫ﮐﺎﻫﺶ‬ ‫و‬ ‫دارﻧﺪ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ‫آن‬ ‫ﺑﻪ‬ ‫ﺻﻔﺎت‬ ‫ﻫﻤﻪ‬ ‫ﭼﻮن‬ ،‫اﺳﺖ‬ ‫ﮐﺎﻧﺪﯾﺪ‬ ‫ﮐﻠﯿﺪ‬ ‫دوم‬ ‫راﺑﻄﻪ‬ ‫در‬
‫ﭘﺬﯾﺮ‬
‫ﻧﯿﺴﺖ‬ ‫ﻫﻢ‬
.
63
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
]
‫ﺗﮑﻤﯿﻠﯽ‬ ‫ﺑﺤﺚ‬
[
‫ﺗﺠﺰﯾﻪ‬
‫ﺧﻮب‬
)
‫اداﻣﻪ‬
(

‫ﻣﺜﺎل‬
:
‫راﺑﻄﻪ‬
SSD
‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬
‫ﮔﯿﺮﯾﻢ‬
.
‫اﺳﺖ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻗﺎﺑﻞ‬ ‫دوﮔﺎﻧﯽ‬ ‫ﭘﺮﺗﻮﻫﺎي‬ ‫ﺑﻪ‬ ‫ﺷﮑﻞ‬ ‫ﺳﻪ‬ ‫ﺑﻪ‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬
.
, STD)
STJ
, STJ) SD (
STID
SS (
, STD)
STID
, STJ) SD (
STID
SS (
, STD)
STJ
, STD) SJ (
STID
SS(

‫ﺗﺠﺰﯾﻪ‬
I
‫دارد‬ ‫را‬ ‫ﻦ‬‫ﻧ‬‫رﯾﺴﺎ‬ ‫ﺷﺮط‬ ‫دو‬ ‫ﻫﺮ‬ ‫ﭼﻮن‬ ،‫اﺳﺖ‬ ‫ﺧﻮب‬
.

‫ﺗﺠﺰﯾﻪ‬
II
‫ﭼﻮن‬ ،‫ﻧﯿﺴﺖ‬ ‫ﺧﻮب‬
FD
‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫از‬
‫دﻫﺪ‬
.

‫ﺗﺤﺰﯾﻪ‬
III
‫ﭼﻮن‬ ،‫ﻧﯿﺴﺖ‬ ‫ﺧﻮب‬
FD
‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫از‬
‫دﻫﺪ‬
.
I
II
III
STID → STJ
STJ → STD
⇒ STID → STD
64
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
BCNF

‫اﺻﻄﻼح‬
:
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ‫در‬
A→B
)
A Determines B
(
‫ﺑﻪ‬
A
‫ﮔﻮﯾﻨﺪ‬ ‫دﺗﺮﻣﯿﻨﺎن‬
.
BCNF
:
‫راﺑﻄﻪ‬
R
‫در‬
BCNF
‫ﻫﺮ‬ ‫دﺗﺮﻣﯿﻨﺎن‬ ‫آن‬ ‫در‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬
FD
‫ﮐﺎﻫﺶ‬ ‫و‬ ‫ﻣﻬﻢ‬
،‫ﻧﺎﭘﺬﯾﺮ‬
CK
‫ﺑﺎﺷﺪ‬
.

‫در‬
3NF
‫راﺑﻄﻪ‬ ‫دﺗﺮﻣﯿﻨﺎن‬ ‫ﺑﺎﯾﺪ‬ ‫ﺗﻨﻬﺎ‬ ،
PK
‫ﺑﺎﺷﺪ‬
.

‫ﻣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﭼﻮن‬
‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ ‫ﺗﻮاﻧﺪ‬
CK
،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬
BCNF
‫از‬
3NF
‫ﻗﻮي‬
‫اﺳﺖ‬ ‫ﺗﺮ‬
.
‫راﺑﻄﻪ‬
‫در‬ ‫زﯾﺮ‬ ‫ﻫﺎي‬
BCNF
‫ﻫﺴﺘﻨﺪ‬
.
SCG(SID, COID, GR)
SCGJD SJ (STID, STJ)
SD (STJ, STD)
STID STJ
STD
STJ
SJ
SD
STID
GR
COID
SCG
C.K.
65
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
BCNF
)
‫اداﻣﻪ‬
(

BCNF
‫از‬
3NF
‫ﻗﻮي‬
‫اﺳﺖ‬ ‫ﺗﺮ‬
.
⇐
‫ﻣﯽ‬ ‫راﺑﻄﻪ‬
‫در‬ ‫ﺗﻮاﻧﺪ‬
3NF
‫در‬ ‫اﻣﺎ‬ ،‫ﺑﺎﺷﺪ‬
BCNF
‫ﻧﺒﺎﺷﺪ‬
.

‫ﺣﺎﻟﺖ‬
I
:
‫راﺑﻄﻪ‬
R
‫ﯾﮏ‬ ‫ﻓﻘﻂ‬
CK
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬
.
⇐
‫اﮔﺮ‬
R
‫در‬
3NF
‫در‬ ،‫ﺑﺎﺷﺪ‬
BCNF
‫ﻫﺴﺖ‬ ‫ﻫﻢ‬
)
‫دﯾﺪه‬ ‫ﻣﺜﺎل‬
‫ﺷﺪه‬
.(

‫ﺣﺎﻟﺖ‬
II
:
‫راﺑﻄﻪ‬
R
‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬
CK
‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬
.

II
-
1
(
CK
‫ﺑﺎﺷﻨﺪ‬ ‫ﻣﺠﺰا‬ ‫ﻫﺎ‬
)
‫ﺑﺎﺷﻨﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﻣﺸﺘﺮك‬ ‫ﺻﻔﺖ‬
.(
⇐
‫اﮔﺮ‬
R
‫در‬
3NF
‫در‬ ،‫ﺑﺎﺷﺪ‬
BCNF
‫ﻫﻢ‬
‫ﻫﺴﺖ‬
.

II
-
2
(
CK
‫ﻫﻢ‬ ‫ﻫﺎ‬
‫ﺑﺎﺷﻨﺪ‬ ‫ﭘﻮﺷﺎ‬
.
⇐
‫اﮔﺮ‬
R
‫در‬
3NF
‫در‬ ً‫ﺎ‬‫ﻟﺰوﻣ‬ ،‫ﺑﺎﺷﺪ‬
BCNF
‫ﻧﯿﺴﺖ‬
.
66
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
BCNF
)
‫اداﻣﻪ‬
(
‫ﺣﺎﻟﺖ‬ ‫ﺑﺮاي‬
II
-
1
‫ﻫﻢ‬ ‫دو‬ ‫ﻫﺮ‬ ،‫دﺗﺮﻣﯿﻨﺎن‬ ‫دو‬
CK
‫ﻫﺴﺘﻨﺪ‬
.
‫ﺣﺎﻟﺖ‬ ‫ﺑﺮاي‬
II
-
2
)
‫ﻓﺮض‬
:
‫ﻧﺪارﻧﺪ‬ ‫ﯾﮑﺴﺎن‬ ‫ﻧﺎم‬ ‫داﻧﺸﺠﻮﯾﯽ‬ ‫دو‬ ‫ﻫﯿﭻ‬
(.
ST (STID, STNAME, STNC, STJ, STL, …)
C.K. C.K.
STID STNAME
STJ
STNC STL
STID
STNAME
GR
COID
SCNG (STID, COID, STNAME, GR)
C.K.
C.K.
67
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
BCNF
)
‫اداﻣﻪ‬
(

‫ﮐﻪ‬ ‫ﮐﻨﯿﻢ‬ ‫ﭘﯿﺪا‬ ‫راﺑﻄﻪ‬ ‫در‬ ‫دﺗﺮﻣﯿﻨﺎن‬ ‫ﯾﮏ‬ ‫اﺳﺖ‬ ‫ﮐﺎﻓﯽ‬
CK
‫ﻧﺒﺎﺷﺪ‬
.
⇐
‫راﺑﻄﻪ‬
BCNF
‫ﻧﯿﺴﺖ‬
.

‫اﺳﺖ؟‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ ‫ﮐﺪام‬ ‫در‬ ‫ﭘﺲ‬

1NF
‫ﻫﺴﺖ‬
.
‫ﺻﻔﺖ‬ ‫ﭼﻮن‬
‫ﺗﮏ‬ ‫ﻫﺎ‬
‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﻘﺪاري‬
.

2NF
‫ﻫﺴﺖ‬
.
‫ﭼﻮن‬
FD
‫ﻧﺪارﯾﻢ‬ ‫ﻧﺎﮐﺎﻣﻞ‬
.
⇐
‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬
FD
‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﻧﺎﮐﺎﻣﻞ‬
.
⇐
‫اﯾﻨﺠﺎ‬ ‫در‬
STNAME
‫ﭘﺲ‬ ،‫ﻧﯿﺴﺖ‬ ‫ﻏﯿﺮﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬
FD
‫ﻧﯿﺴﺖ‬ ‫ﻧﺎﮐﺎﻣﻞ‬
.

3NF
‫ﻫﺴﺖ‬
.
‫ﭼﻮن‬
FD
‫ﻧﺪارﯾﻢ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﺑﺎواﺳﻄﻪ‬
.

‫ﻣﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫آﯾﺎ‬
‫ﺷﻮد؟‬
‫دو‬ ‫ﻫﺮ‬
BCNF
‫ﻫﺴﺘﻨﺪ‬
.
⇒

‫ﻣﯽ‬ ‫ﻫﻢ‬ ‫دﯾﮕﺮ‬ ‫ﻃﺮز‬ ‫آﯾﺎ‬
‫ﺟﺎي‬ ‫ﺑﻪ‬ ،‫ﺑﻠﻪ‬ ‫ﮐﺮد؟‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺷﻮد‬
STID
‫در‬
SCG
،
STNAME
‫ﺑﮕﺬارﯾﻢ‬
.
SCG(STID, COID, GR)
SSN (STID, STNAME)
C.K.
C.K.
C.K.
68
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
BCNF
)
‫اداﻣﻪ‬
(

‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫اﺻﻠﯽ‬ ‫راﺑﻄﻪ‬ ،‫ﭘﺮﺗﻮﻫﺎ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﯾﻌﻨﯽ‬ ‫اﺳﺖ؛‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫دﻫﯿﺪ‬ ‫ﻧﺸﺎن‬
‫ﻫﯿﭻ‬ ‫آﯾﺪو‬
FD
‫دﺳﺖ‬ ‫از‬
‫ﻧﻤﯽ‬
‫رود‬
.

‫ﭘﺪﯾﺪه‬ ‫ﭼﻪ‬
‫ﻣﯽ‬ ‫دﯾﺪه‬ ‫اﯾﻨﺠﺎ‬ ‫در‬ ‫اي‬
‫دارد‬ ‫اﻃﻼﻋﺎت‬ ‫اﺧﺘﻼط‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫ﺷﻮد؟‬
!
‫ﻫﻤﻪ‬ ‫اﯾﻦ‬ ‫ﺑﺎ‬
3NF
‫اﺳﺖ‬
.

‫ﻧﮑﺘﻪ‬
:
‫ﻣﯽ‬ ‫اﯾﺠﺎب‬ ‫اﻃﻼﻋﺎت‬ ‫اﺧﺘﻼط‬ ‫وﺟﻮد‬ ‫ﺻﺮف‬
‫ﺑﺎﺷﺪ‬ ‫ﺿﻌﯿﻔﯽ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ ‫در‬ ‫راﺑﻄﻪ‬ ‫ﮐﻪ‬ ‫ﮐﻨﺪ‬
.

‫ﺗﻤﺮﯾﻦ‬
:
‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﻮاﻋﺪ‬ ،‫داﻧﺸﮑﺪه‬ ‫ﻣﺤﯿﻂ‬
:
1
-
‫ﻣﯽ‬ ‫اﻧﺘﺨﺎب‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫را‬ ‫درس‬ ‫ﯾﮏ‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬
‫ﮐﻨﺪ‬
.
2
-
‫ﻣﯽ‬ ‫ﺗﺪرﯾﺲ‬ ‫درس‬ ‫ﯾﮏ‬ ‫ﻓﻘﻂ‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬
‫ﮐﻨﺪ‬
.
3
-
‫ﻣﯽ‬ ‫اراﺋﻪ‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ ‫ﺗﻮﺳﻂ‬ ‫درس‬ ‫ﯾﮏ‬
‫ﺷﻮد‬
.
SCNG (STID, COID, STNAME, GR)
C.K.
C.K.
69
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
BCNF
)
‫اداﻣﻪ‬
(

‫ﻣﯽ‬ ‫ﻓﺮض‬
‫اﺳﺖ‬ ‫ﮐﺮده‬ ‫ﻃﺮاﺣﯽ‬ ‫را‬ ‫زﯾﺮ‬ ‫راﺑﻄﻪ‬ ‫ﻃﺮاح‬ ‫ﮐﻨﯿﻢ‬
.

‫اﺳﺖ؟‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ ‫ﮐﺪام‬ ‫در‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬

،‫ﻗﻮاﻋﺪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺑﺎﯾﺪ‬ ‫اﺑﺘﺪا‬
CK
‫ﮐﻨﯿﻢ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ ‫ﻫﺎ‬
.
‫ﻧﻤﻮدار‬ ‫ﺳﭙﺲ‬
FD
‫ﮐﻨﯿﻢ‬ ‫رﺳﻢ‬ ‫را‬
.

‫دارد؟‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ،‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫آﯾﺎ‬

‫ﻧﮑﺘﻪ‬
:
ً‫ﻼ‬‫ﻣﺜ‬ ‫راﺑﻄﻪ‬ ‫اﮔﺮ‬
3NF
‫راﺑﻄﻪ‬ ‫ﺗﺎ‬ ‫ﮐﻨﯿﻢ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻧﺒﺎﯾﺪ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬
‫ﺣﺎﺻﻞ‬ ‫ﻫﺎي‬
BCNF
‫ﺑﺎﺷﺪ‬
.

‫در‬ ‫ﻓﻮق‬ ‫راﺑﻄﻪ‬
3NF
‫اﯾﻦ‬ ‫ﻓﻮق‬ ‫ﻧﮑﺘﻪ‬ ‫از‬ ‫و‬ ‫اﺳﺖ‬
‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻣﻬﻢ‬ ‫ﻧﺘﯿﺠﻪ‬
‫آﯾﺪ‬
‫ﻧﺪارد‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬
.
SCNG (ST#, CO#, PR#)
C.K.
C.K.
70
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺑﺮرﺳﯽ‬
‫ﮐﺎﺳﺖ‬
]
‫ﺗﮑﻤﯿﻠﯽ‬ ‫ﺑﺤﺚ‬
[
‫ﻫﯿﺚ‬ ‫ﻗﻀﯿﻪ‬
)
Heath
:(
‫راﺑﻄﻪ‬ ‫در‬
R(A, B, C)
‫آن‬ ‫در‬ ‫ﮐﻪ‬ ،
A
،
B
‫و‬
C
‫اﮔﺮ‬ ،‫ﻫﺴﺘﻨﺪ‬ ‫ﺻﻔﺎت‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺳﻪ‬
A→B
)
‫در‬
F+
‫ﺑﺎﺷﺪ‬
(
‫ﺗﺠﺰﯾﻪ‬ ‫آﻧﮕﺎه‬ ،
R
‫ﺑﻪ‬
‫دو‬
‫ﭘﺮﺗﻮ‬
R1(A, B)
‫و‬
R2(A, C)
،
‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬
‫ﮐﺎﺳﺖ‬
)
Nonloss
(
‫اﺳﺖ‬
.
‫ﺷﺮاﯾﻂ‬ ‫ﺑﺮﻗﺮاري‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫دﻗﺖ‬
‫ﻫﯿﺚ‬ ‫ﻗﻀﯿﻪ‬
‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﯾﮏ‬ ،
‫ﮐﺎﺳﺖ‬
)
‫ﺣﺎﻓﻆ‬ ‫ﮐﻪ‬ ‫ﺧﻮب‬ ‫ﻟﺰوﻣﺎ‬ ‫ﻧﻪ‬ ‫و‬
FD
‫ﺑﺎﺷﺪ‬
(
‫ﺗﻀﻤﯿﻦ‬ ‫را‬
‫ﻣﯽ‬
‫ﺷﺮاﯾﻂ‬ ‫ﺑﺮﻗﺮاري‬ ‫اﻣﺎ‬ ‫ﻧﻤﺎﯾﺪ‬
‫رﯾﺴﺎﻧﻦ‬ ‫ﻗﻀﯿﻪ‬
‫ﻣﯽ‬ ‫ﺗﻀﻤﯿﻦ‬ ‫را‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﯾﮏ‬ ،
‫ﻧﻤﺎﯾﺪ‬
.
‫رﯾﺴﺎﻧﻦ‬ ‫ﻗﻀﯿﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫واﺿﺢ‬
‫اﺳﺖ‬ ‫ﺑﺮﻗﺮار‬ ‫ﻧﯿﺰ‬ ‫ﻫﯿﺚ‬ ‫ﻗﻀﯿﻪ‬ ‫ﺷﺮاﯾﻂ‬
.
‫از‬ ‫دﯾﮕﺮ‬ ‫ﺑﯿﺎﻧﯽ‬
‫ﻫﯿﺚ‬ ‫ﻗﻀﯿﻪ‬
‫ﻋﻨﻮان‬ ‫ﺗﺤﺖ‬
‫ﺗﺴﺖ‬
NJB
‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬
.
‫ﺑﯽ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺗﺴﺖ‬
‫دودوﯾﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺑﺮاي‬ ‫ﺣﺸﻮ‬
)
NJB- Nonadditive Join Test for Binary Decompositions
:(
‫دودوﯾﯽ‬ ‫ﺗﺠﺰﯾﻪ‬
D={R1, R2}
‫راﺑﻄﻪ‬ ‫از‬
R
‫ﺑﯽ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺧﺎﺻﯿﺖ‬
‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫زﯾﺮ‬ ‫ﻣﻮارد‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫اﮔﺮ‬ ‫ﺗﻨﻬﺎ‬ ‫و‬ ‫اﮔﺮ‬ ‫دارد‬ ‫ﺣﺸﻮ‬
‫ﻣﺠﻤﻮﻋﻪ‬
FD
‫ﻫﺎي‬
F
‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻗﺮار‬
:
-
‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬
(R1∩R2) → (R1 – R2)
‫در‬
F+
‫ﯾﺎ‬ ‫ﺑﺎﺷﺪ‬
-
‫واﺑﺴﺘﮕﯽ‬
‫ﺗﺎﺑﻌﯽ‬
(R1∩R2) → (R2 – R1)
‫در‬
F+
‫ﺑﺎﺷﺪ‬
.
71
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
4NF
4NF
:
‫راﺑﻄﻪ‬
R
‫در‬
4NF
‫در‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬
BCNF
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫واﺑﺴﺘﮕﯽ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬
)
MVD
(
‫ﻣﻬﻢ‬
‫در‬
‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫آن‬
.
‫ﭼﻨﺪﻣﻘﺪاري‬ ‫واﺑﺴﺘﮕﯽ‬
)
MVD
:(
‫راﺑﻄﻪ‬ ‫در‬
R(A, B, C)
)
‫ﺻﻔﺖ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺳﻪ‬ ‫ﯾﺎ‬ ‫ﺻﻔﺖ‬ ‫ﺳﻪ‬ ‫ﺑﺎ‬ ‫راﺑﻄﻪ‬
(
،
‫ﺻﻔﺖ‬
B
‫ﺻﻔﺖ‬ ‫ﺑﺎ‬
A
،
MVD
‫دارد‬
)
A→→B
(
‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ازاي‬ ‫ﺑﻪ‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬
A
‫ﻣﺠﻤﻮﻋﻪ‬ ،
‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫اي‬
B
‫ﺑﺎﺷﺪ‬ ‫ﻣﺘﻨﺎﻇﺮ‬
.
]
‫ﯾﻌﻨﯽ‬
‫از‬ ‫ﻣﺸﺨﺺ‬ ‫ﺟﻔﺖ‬ ‫ﻫﺮ‬ ‫ازاي‬ ‫ﺑﻪ‬
)
A,C
(
‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ،
B
‫ﺗﻐﯿﯿﺮات‬ ‫ﺑﺎ‬ ‫ﻓﻘﻂ‬
A
‫ﮐﻨﺪ‬ ‫ﺗﻐﯿﯿﺮ‬
[.
R (A, B, C)
b1
a1 b2 c1
b3
b1
a1 b2 c2
b3
a2 b1 ci
b7
A →→B
72
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
4NF
)
‫اداﻣﻪ‬
(

‫ﻧﮑﺎت‬
:
1
-
‫اﮔﺮ‬
B⊆A
‫ﺑﻪ‬ ،‫ﺑﺎﺷﺪ‬
A→→B
‫ﻣﯽ‬
‫ﮔﻮﯾﯿﻢ‬
MVD
‫ﺑﺪﯾﻬﯽ‬
]
‫ﻧﺎﻣﻬﻢ‬
[
‫اﮔﺮ‬
A∪B=HR
‫ﺑﻪ‬ ،‫ﺑﺎﺷﺪ‬
A→→B
‫ﻣﯽ‬
‫ﮔﻮﯾﯿﻢ‬
MVD
‫ﺑﺪﯾﻬﯽ‬
]
‫ﻧﺎﻣﻬﻢ‬
[
2
-
MVD
‫راﺑﻄﻪ‬ ‫در‬
‫ﺻﻔﺖ‬ ‫ﺳﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎي‬
]
‫ﻣﺮﮐﺐ‬ ‫ﯾﺎ‬ ‫ﺳﺎده‬
[
‫ﻫﻤﯿﺸﻪ‬
‫ﺟﻔﺖ‬
‫اﺳﺖ‬
.
If A→→B then A→→(H-{A,B}) ‫ﯾﺎ‬ A→→C
‫از‬ ‫ﻣﻘﺪار‬ ‫ﺟﻔﺖ‬ ‫ﯾﮏ‬ ‫ﺟﺎي‬ ‫ﺑﻪ‬ ‫اﺳﺖ‬ ‫ﮐﺎﻓﯽ‬ ‫ﻧﮑﺘﻪ‬ ‫اﯾﻦ‬ ‫اﺛﺒﺎت‬ ‫ﺑﺮاي‬
(A, C)
‫ﺟﻔﺖ‬ ‫ﯾﮏ‬ ،
(A, B)
‫آن‬ ،‫ﺑﮕﯿﺮﯾﻢ‬ ‫را‬
‫ﺑﺮاي‬ ‫ﻣﺠﻤﻮﻋﻪ‬
C
‫ﻣﯽ‬ ‫ﺗﺸﮑﯿﻞ‬
‫ﺷﻮد‬
.
3
-
‫ﺑﺮاي‬
MVD
‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﻗﻮاﻋﺪ‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ ‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬ ‫ﻫﻢ‬
FD
‫اﺳﺖ‬ ‫ﻣﺘﻔﺎوت‬ ‫ﻫﺎ‬
.
73
‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬
:
‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬
‫اي‬
‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬
4NF
)
‫اداﻣﻪ‬
(
‫ﻣﯽ‬ ‫آزﻣﺎﯾﺸﮕﺎه‬ ‫ﮔﺰارش‬ ‫داﻧﺸﺠﻮ‬ ‫از‬ ‫اﺳﺘﺎد‬
‫ﮔﯿﺮد‬
.

‫دارد‬ ‫وﺟﻮد‬ ‫ﺧﺎص‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫ﯾﮏ‬ ‫ﻣﺤﯿﻂ‬ ‫اﯾﻦ‬ ‫در‬
:
‫ﻫﺮ‬ ،‫ﮔﺮوه‬ ‫ﯾﮏ‬ ‫داﻧﺸﺠﻮﯾﺎن‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫از‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬
‫ﮔﺰارش‬ ‫از‬ ‫ﯾﮏ‬
‫ﻣﯽ‬ ‫را‬ ‫ﮔﺰارش‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎي‬
‫ﮔﯿﺮد‬
.

‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﯾﻦ‬ ،‫ﻧﺒﺎﺷﺪ‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫اﯾﻦ‬ ‫اﮔﺮ‬
‫ﻧﻤﯽ‬ ‫ﺷﮑﻞ‬ ‫ﻫﺎ‬
‫ﮔﯿﺮد‬
.
NNPSR ( PR#, ST#, RE# )
777 R1
PR1 888 R2
444
PR2 777 R3
666
… … ...
‫ﺻﻔﺖ‬ ‫ﺑﺎ‬ ‫ﻏﯿﺮﻧﺮﻣﺎل‬ ‫راﺑﻄﻪ‬
‫ﭼﻨﺪﻣﻘﺪاري‬
NNPSR ( PR#, ST#, RE# )
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf
8-DB-RDBDesign.pdf

Weitere ähnliche Inhalte

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn
 

Empfohlen (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

8-DB-RDBDesign.pdf

  • 1. ‫ﺖ‬�‫ﻮ‬�‫آ‬‫�ت‬��‫را‬‫ﺟﺎن‬‫ﻪ‬�‫ﻧ‬‫آ‬‫�م‬� ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫اﻣﯿﻨﯽ‬ ‫ﻣﺮﺗﻀﯽ‬ ‫ﻧﯿﻤﺴﺎل‬ ‫دوم‬ 94 - 95 ) ‫ﯾﺎدداﺷﺖ‬ ‫از‬ ‫ﺑﺮﮔﺮﻓﺘﻪ‬ ‫اﺳﻼﯾﺪﻫﺎ‬ ‫ﻣﺤﺘﻮﯾﺎت‬ ‫ﮐﻼﺳﯽ‬ ‫ﻫﺎي‬ ‫راﻧﮑﻮﻫﯽ‬ ‫روﺣﺎﻧﯽ‬ ‫ﻣﺤﻤﺪﺗﻘﯽ‬ ‫اﺳﺘﺎد‬ ‫اﺳﺖ‬ (.
  • 2. 2 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬  ‫در‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻫﺎي‬ ‫راﺑﻄﻪ‬ ‫اي‬ ‫ﻧﻤﻮد‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ ‫زﯾﺮ‬ ‫ﻣﻮارد‬ ‫ﺑﺎﯾﺪ‬ :  ‫ﻣﺠﻤﻮﻋﻪ‬ ‫راﺑﻄﻪ‬ ‫از‬ ‫اي‬ ‫ﻫﺎ‬  ‫ﮐﻠﯿﺪ‬ ) ‫ﻫﺎي‬ ( ‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫ﮐﺎﻧﺪﯾﺪ‬  ‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬  ‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫ﺧﺎرﺟﯽ‬ ‫ﮐﻠﯿﺪﻫﺎي‬ ) ‫وﺟﻮد‬ ‫ﺻﻮرت‬ ‫در‬ (  ‫ﻣﺤﺪودﯾﺖ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫ﺑﺮ‬ ‫ﻧﺎﻇﺮ‬ ‫ﺟﺎﻣﻌﯿﺘﯽ‬ ‫ﻫﺎي‬ ‫ﭘﺎﯾﯿﻦ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫روش‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ) Top-Down (  ‫ﻃﺮاﺣﯽ‬ ‫روﺷﻬﺎي‬ RDB : ‫ﺳﻨﺘﺰ‬ ‫روش‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ] ‫ﻧﺮﻣﺎل‬ ‫راﺑﻄﻪ‬ ‫ﺗﺮﺳﺎزي‬ ‫ﻫﺎ‬ [
  • 3. 3 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ) ‫اداﻣﻪ‬ (  ‫ﭘﺎﯾﯿﻦ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ﻃﺮاﺣﯽ‬ ‫روش‬  ‫داده‬ ‫ﻣﺪﻟﺴﺎزي‬ ‫اﺑﺘﺪا‬ ‫را‬ ‫ﻫﺎ‬ ) ‫روش‬ ‫ﺑﺎ‬ [E]ER ‫ﯾﺎ‬ UML ( ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣﺪﻟﺴﺎزي‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫دﻫﯿﻢ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫راﺑﻄﻪ‬ ‫از‬ ‫اي‬ ‫ﻣﯽ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﻫﺎ‬ ‫ﮐﻨﯿﻢ‬ .  ‫راﺑﻄﻪ‬ ‫ﺳﻨﺘﺰ‬ ‫ﻃﺮاﺣﯽ‬ ‫روش‬ ‫اي‬ ) ‫ﻧﺮﻣﺎل‬ ‫ﺗﺮﺳﺎزي‬ (  ‫ﻣﯽ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ ‫واﻗﻊ‬ ‫ﺟﻬﺎن‬ ‫ﺧﺮد‬ ‫ﺻﻔﺎت‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﺑﺘﺪا‬ ‫ﮐﻨﯿﻢ‬ . ‫ﻣﺤﺪودﯾﺖ‬ ‫و‬ ‫ﻗﻮاﻋﺪ‬ ‫ﺗﺤﻠﯿﻞ‬ ‫ﺑﺎ‬ ‫ﺳﭙﺲ‬ ‫ﻧﺎﻇﺮ‬ ‫ﻫﺎي‬ ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺸﺨﯿﺺ‬ ‫و‬ ‫ﺻﻔﺎت‬ ‫ﺑﻪ‬ ‫ﻣﯽ‬ ‫ﺳﻨﺘﺰ‬ ‫ﻫﻢ‬ ‫ﺑﺎ‬ ً‫ﺎ‬‫ﻣﺘﻨﺎﺳﺒ‬ ‫را‬ ‫ﺻﻔﺎت‬ ،‫آﻧﻬﺎ‬ ‫ﺑﯿﻦ‬ ‫ﻫﺎي‬ ‫ﮐﻨﯿﻢ‬ ) ‫ﮔﺮوه‬ ‫ﻧﻮﻋﯽ‬ ‫ﺑﻨﺪي‬ ( ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫ﺗﺎ‬ ‫راﺑﻄﻪ‬ ‫از‬ ‫اي‬ ‫ﯾﺎﺑﯿﻢ‬ ‫دﺳﺖ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ .  ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺗﺮﮐﯿﺒﯽ‬ ‫روش‬ ‫ﻋﻤﻞ‬ ‫در‬ ‫ﻧﺮﻣﺎل‬ ‫ﺳﭙﺲ‬ ،‫ﭘﺎﯾﯿﻦ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫روش‬ ‫اﺑﺘﺪا‬ ‫ﯾﻌﻨﯽ‬ ،‫ﺷﻮد‬ ‫ﺗﺮﺳﺎزي‬ .
  • 4. 4 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫وﯾﮋﮔﯽ‬ ‫ﺧﻮب‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻫﺎي‬  ‫ﺑﺎﺷﺪ‬ ‫واﻗﻊ‬ ‫ﺧﺮدﺟﻬﺎن‬ ‫از‬ ‫واﺿﺢ‬ ‫و‬ ‫ﺻﺤﯿﺢ‬ ‫ﻧﻤﺎﯾﺶ‬ .  ‫داده‬ ‫ﺗﻤﺎم‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫ﻫﻤﻪ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﻧﻤﺎﯾﺶ‬ ‫ﻗﺎﺑﻞ‬ ‫ﮐﺎرﺑﺮان‬ ‫ﻫﺎي‬ ‫ﻫﺎي‬ ) ‫ﻗﻮاﻋﺪ‬ ( ‫ﺑﺎﺷﺪ‬ ‫ﺷﺪه‬ ‫ﻣﻨﻈﻮر‬ ‫ﺟﺎﻣﻌﯿﺘﯽ‬ .  ‫اﻓﺰوﻧﮕﯽ‬ ‫ﮐﻤﺘﺮﯾﻦ‬  ‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﮐﻤﺘﺮﯾﻦ‬  ‫ذﺧﯿﺮه‬ ‫ﻋﻤﻠﯿﺎت‬ ‫در‬ ‫ﻣﺸﮑﻞ‬ ‫ﮐﻤﺘﺮﯾﻦ‬ ‫ﺳﺎزي‬  ‫ﺑﺎزﯾﺎﺑﯽ‬ ‫در‬ ‫ﮐﺎراﯾﯽ‬ ‫ﺑﯿﺸﺘﺮﯾﻦ‬ ‫اﺳﺖ‬ ‫ﻧﺎﻣﻤﮑﻦ‬ ‫ﻋﻤﻞ‬ ‫در‬ ،‫ﻫﻤﺰﻣﺎن‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫آﺧﺮ‬ ‫وﯾﮋﮔﯽ‬ ‫ﭼﻬﺎر‬ ‫ﺗﺎﻣﯿﻦ‬ !
  • 5. 5 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﭘﺎﯾﯿﻦ‬ ‫ﺑﻪ‬ ‫ﺑﺎﻻ‬ ‫ﻃﺮاﺣﯽ‬  ‫ﻧﻤﻮدار‬ ‫ﺗﺒﺪﯾﻞ‬ [E]ER ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﻪ‬ ‫راﺑﻄﻪ‬ ‫از‬ ‫اي‬ ‫ﻫﺎي‬ ‫ﻧﺮﻣﺎل‬ ) ‫ﻧﺮﻣﺎل‬ ‫در‬ ً‫ﺎ‬‫ﻟﺰوﻣ‬ ‫ﻧﻪ‬ ‫و‬ ‫ﺻﻮرت‬ ‫ﺗﺮﯾﻦ‬ ( ‫ﻃﺮاﺣﯽ‬ ‫در‬ RDB ، ‫ﻣﯽ‬ ‫ﺗﺼﻤﯿﻢ‬ ‫ﻃﺮاح‬ ً‫ﺎ‬‫ﻧﻬﺎﯾﺘ‬ ‫ﻋﻨﻮان‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫راﺑﻄﻪ‬ ‫ﭼﻨﺪ‬ ‫ﮔﯿﺮد‬ ) Heading ( ‫ﺑﺎﺷﺪ‬ ‫ﭼﻪ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ .  ‫داده‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻣﺪﻟﺴﺎزي‬ ‫ﻧﻤﻮدار‬ ‫در‬ ‫ﻣﯽ‬ ‫آﻧﻬﺎ‬ ‫ﺑﻪ‬ ‫اداﻣﻪ‬ ‫در‬ ‫ﮐﻪ‬ ،‫دارﯾﻢ‬ ‫ﻣﺘﻌﺪد‬ ‫ﺣﺎﻻت‬ ،‫ﻫﺎ‬ ‫ﭘﺮدازﯾﻢ‬ .  ‫ﻓﺮض‬ : ‫ﺳﺎده‬ ‫ﺻﻔﺎت‬ ‫ﻫﻤﻪ‬ ،‫ﺛﺎﻧﻮي‬ ‫اﻃﻼع‬ ‫ﺗﺎ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫و‬ ‫اﻧﺪ‬ ‫ﻧﯿﺴﺘﻨﺪ‬ ‫ﺿﻌﯿﻒ‬ ‫ﻫﺎ‬ .
  • 6. 6 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 1 : ‫ﻃﺮاﺣﯽ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﭼﻨﺪ‬  ‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬ : n=2  ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ : M:N ‫اﺳﺖ‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫ﺳﻪ‬ .  ‫ﻫﯿﭻ‬ ‫و‬ ‫اﻓﺰوﻧﮕﯽ‬ ،‫راﺑﻄﻪ‬ ‫ﺳﻪ‬ ‫از‬ ‫ﮐﻤﺘﺮ‬ ‫ﺑﺎ‬ ‫ﺣﺎﻟﺖ‬ ‫اﯾﻦ‬ ‫در‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻣﯽ‬ ‫ﭘﺪﯾﺪ‬ ‫زﯾﺎدي‬ ‫ﻣﻘﺪاري‬ ‫آورد‬ . ‫ﺣﺎﻟﺖ‬ 1 M N ‫داﻧﺸﺠﻮ‬ ‫درس‬ ‫اﻧﺘﺨﺎب‬ ‫ﻧﻤﺮه‬ ‫ﺷﻤﺎره‬ ⋮ ‫ﺷﻤﺎره‬ ⋮ STUD (STID, .…) COR (COID, ….) SCR (STID, COID, GR)
  • 7. 7 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 1 : ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ ‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﭼﻨﺪ‬ ) ‫اداﻣﻪ‬ (  ‫درﺟﻪ‬ : n>2  ‫ﻣﯽ‬ ‫ﻓﺮض‬ ‫اﺑﺘﺪا‬ ‫راﺑﻄﻪ‬ ‫ﭼﻨﺪي‬ ‫ﮐﻨﯿﻢ‬ M:N:P:… ‫اﺳﺖ‬ .  n+1 ‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﮐﻨﯿﻢ‬ .  ‫ﻣﯽ‬ ‫ﺑﺮرﺳﯽ‬ ‫ﺳﭙﺲ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﺑﻌﺾ‬ ‫ﺑﯿﻦ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ ‫روي‬ ‫ﺧﺎﺻﯽ‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫آﯾﺎ‬ ‫ﮐﻪ‬ ‫ﮐﻨﯿﻢ‬ ‫دارد‬ ‫وﺟﻮد‬ ‫ﻫﺎ‬ .  ‫ﻣﯽ‬ ‫دﺧﺎﻟﺖ‬ ‫ﻧﺮﻣﺎﻟﺘﺮﺳﺎزي‬ ‫ﻣﺮﺣﻠﻪ‬ ‫در‬ ‫را‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫اﯾﻦ‬ ،‫ﺑﻠﻪ‬ ‫اﮔﺮ‬ ‫دﻫﯿﻢ‬ . ‫راﺑﻄﻪ‬ ‫ﺗﻌﺪاد‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ ‫ﻫﺎ‬ ‫از‬ ‫ﺑﯿﺶ‬ n+1 ‫ﺷﻮد‬ . ‫ﺣﺎﻟﺖ‬ ‫ﺗﻌﻤﯿﻢ‬ 1
  • 8. 8 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 1 : ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ ‫ﭼﻨﺪ‬ ‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ) ‫اداﻣﻪ‬ (  ‫ﻣﺤﺪودﯾﺖ‬ ‫ﺑﺮاي‬ ‫ﻓﺮض‬ : ‫ﻣﯽ‬ ‫ﺗﺪرﯾﺲ‬ ‫را‬ ‫درس‬ ‫ﯾﮏ‬ ‫ﻓﻘﻂ‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬ ‫ﮐﻨﺪ‬ ) ‫دﻗﯿﻖ‬ ‫راﺑﻄﻪ‬ ‫ﭼﻨﺪي‬ ،‫ﻣﻮرد‬ ‫اﯾﻦ‬ ‫در‬ ‫اﻟﺒﺘﻪ‬ ‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫ﻟﺤﺎظ‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫ﻧﺸﺪه‬ ‫ﻣﺪل‬ .(  ‫راﺑﻄﻪ‬ ‫ﺑﺎﯾﺪ‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬ ‫در‬ SCP ‫راﺑﻄﻪ‬ ‫دو‬ ‫ﺑﻪ‬ ‫را‬ ) ‫ﺑﯿﺸﺘﺮ‬ ‫ﯾﺎ‬ ( ‫ﮐﻨﯿﻢ‬ ‫ﻋﻤﻮدي‬ ‫ﺗﺠﺰﯾﻪ‬ .  ‫ﻃﺮاﺣﯽ‬ ‫دوم‬ ‫ﻣﺮﺣﻠﻪ‬ ‫در‬ ‫را‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫اﯾﻦ‬ ) ‫آﺗﯽ‬ ‫ﻣﺒﺎﺣﺚ‬ ‫در‬ ( ‫ﻣﯽ‬ ‫دﺧﺎﻟﺖ‬ ‫دﻫﯿﻢ‬ . STUD (STID, .…) COR (COID, ….) PROF (PRID, ….) SCP (STID, COID, PRID, GR) ‫اﺳﺘﺎد‬ ‫داﻧﺸﺠﻮ‬ ‫درس‬ ‫اﻧﺘﺨﺎب‬ M N ‫ﻧﻤﺮه‬ P
  • 9. 9 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 2 : ‫ﻃﺮاﺣﯽ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﯾﮏ‬  ‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬ : n=2  ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ : 1:N ‫اﺳﺖ‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫دو‬ . ‫ﺳﻤﺖ‬ ‫راﺑﻄﻪ‬ 1 ‫ﺳﻤﺖ‬ ‫راﺑﻄﻪ‬ ‫ﺑﻪ‬ N ، FK ‫ﻣﯽ‬ ‫دﻫﺪ‬ ) ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫از‬ ‫ﺑﯿﺮون‬ .( ‫ﺣﺎﻟﺖ‬ 2 1 N ‫آﻣﻮزﺷﯽ‬ ‫ﮔﺮوه‬ ‫اﺳﺘﺎد‬ ‫اﻧﺘﺨﺎب‬ ‫از‬ ‫ﺷﻤﺎره‬ ⋮ ‫ﺷﻤﺎره‬ ⋮ DEPT (DEID, DTID, .…, DPHONE) PROF (PRID, PRNAME, …., PRANK, DEID, FROM)
  • 10. 10 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 2 : ‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ ‫ﭼﻨﺪ‬ ) ‫اداﻣﻪ‬ (  ‫اﺳﺖ؟‬ ‫ﺗﻮﺟﯿﻪ‬ ‫ﻗﺎﺑﻞ‬ ‫راﺑﻄﻪ‬ ‫ﺳﻪ‬ ‫ﺑﺎ‬ ‫ﺣﺎﻟﺖ‬ ‫اﯾﻦ‬ ‫ﻃﺮاﺣﯽ‬ ‫وﺿﻌﯽ‬ ‫ﭼﻪ‬ ‫در‬ 1 - ‫ﺳﻤﺖ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫ﮐﻪ‬ ‫وﻗﺘﯽ‬ N ‫ﺑﺎﺷﺪ‬ ‫ﻏﯿﺮاﻟﺰاﻣﯽ‬ ‫ارﺗﺒﺎط‬ ‫در‬ ) ‫از‬ ‫ﮐﻤﺘﺮ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫درﺻﺪ‬ 30 ‫درﺻﺪ‬ ( ‫ﺗﻌﺪاد‬ ‫و‬ ‫ﻣﻘﺪار‬ ‫ﮐﺎﻫﺶ‬ ‫ﺑﺮاي‬ ،‫ﺑﺎﺷﺪ‬ ‫زﯾﺎد‬ ‫اﺳﺘﺎد‬ Null ‫ﻣﯽ‬ ‫ﺟﺪا‬ ‫را‬ ‫ارﺗﺒﺎط‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ، ‫ﮐﻨﯿﻢ‬ . 2 - ‫ﭘﺎﯾﯿﻦ‬ ‫ﻓﺮﮐﺎﻧﺲ‬ ‫ﺑﺎ‬ ‫دﯾﮕﺮ‬ ‫ﺻﻔﺎت‬ ‫ﺑﻪ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﺑﺎﻻ‬ ‫ارﺗﺒﺎط‬ ‫د‬‫ﺧﻮ‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﻓﺮﮐﺎﻧﺲ‬ ‫ﺑﺎﺷﺪ‬ ‫اﺣﺘﯿﺎج‬ ‫ﺗﺮي‬ . 3 - ‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬ ‫ﺷﺪن‬ ‫زﯾﺎد‬ ‫ﺑﺎﻋﺚ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫زﯾﺎد‬ ‫ارﺗﺒﺎط‬ ‫د‬‫ﺧﻮ‬ ‫ﺻﻔﺎت‬ ‫ﺗﻌﺪاد‬ PROF ‫ﺷﻮد‬ .  ‫ﺳﻤﺖ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫اﮔﺮ‬ N ‫ﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﺑﻮدن‬ ‫ﻫﯿﭽﻤﻘﺪارﻧﺎﭘﺬﯾﺮ‬ ‫ﻃﺮﯾﻖ‬ ‫از‬ ‫را‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻣﺤﺪودﯾﺖ‬ ‫اﯾﻦ‬ ‫ﺑﺎﯾﺪ‬ ،‫ﺑﺎﺷﺪ‬ ‫اﻟﺰاﻣﯽ‬ ‫ﺧﺎرﺟﯽ‬ ) ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ NOT NULL ( ‫ﺳﻤﺖ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﻧﻤﺎﯾﺎﻧﮕﺮ‬ ‫راﺑﻄﻪ‬ ‫در‬ N ‫ﮐﺮد‬ ‫اﻋﻼم‬ ، .
  • 11. 11 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 3 : ‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬  ‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬ : n=2  ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ : 1:1 ‫دو‬ ‫ﺑﺎ‬ / ‫ﺳﻪ‬ ‫ﯾﺎ‬ / ‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﯾﺎ‬ ‫ﮐﻨﯿﻢ‬ .  ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﺻﻮرت‬ ‫در‬ ‫دو‬ ،‫اﻟﺰاﻣﯽ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫ﺑﺎ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫راﺑﻄﻪ‬ ،‫راﺑﻄﻪ‬ FK ‫ﻣﯽ‬ ‫ﮔﯿﺮد‬ . ‫ﺣﺎﻟﺖ‬ 3 1 1 ‫درس‬ ‫ﮐﺘﺎب‬ ‫ﻣﻨﺒﻊ‬ ‫اﺻﻠﯽ‬ ‫ﺷﻤﺎره‬ ⋮ ‫ﺷﻤﺎره‬ ⋮ COUR (COID, ..…, BKID) BOOK (BKID, .…., BKPRICE)
  • 12. 12 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 3 : ‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ ‫ﯾﮏ‬ ) ‫اداﻣﻪ‬ (  ‫ﺑﺎ‬ ‫وﻗﺘﯽ‬ ‫ﺳﻪ‬ ‫ﺷﺮﮐﺖ‬ ‫ﺗﻌﺪاد‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻏﯿﺮاﻟﺰاﻣﯽ‬ ‫ﻃﺮﻓﯿﻦ‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫ﮐﻪ‬ ‫دارد‬ ‫ﺗﻮﺟﯿﻪ‬ ‫راﺑﻄﻪ‬ ‫ﮐﻨﻨﺪﮔﺎن‬ ) ‫ﻧﻤﻮﻧﻪ‬ ‫ﻫﺎ‬ ( ‫در‬ ‫ﺿﻌﯿﻒ‬ ‫راﺑﻄﻪ‬ ‫در‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫درﺻﺪ‬ ،‫ﺑﺎﺷﺪ‬ ‫زﯾﺎد‬ ‫ارﺗﺒﺎط‬ ) ‫از‬ ‫ﮐﻤﺘﺮ‬ 30 (% ‫ﻓﺮﮐﺎﻧﺲ‬ ‫ﻣﻮرد‬ ‫در‬ ‫ﻣﻼﺣﻈﺎﺗﯽ‬ ‫ﻧﯿﺰ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ارﺟﺎع‬ .  ‫ﺑﺎ‬ ‫وﻗﺘﯽ‬ ‫ﯾﮏ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﺻﻔﺎت‬ ‫ﺗﻌﺪاد‬ ‫ﮐﻪ‬ ‫دارد‬ ‫ﺗﻮﺟﯿﻪ‬ ‫راﺑﻄﻪ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫اﻟﺰاﻣﯽ‬ ‫ﻃﺮﻓﯿﻦ‬ ‫ﻣﺸﺎرﮐﺖ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﮐﻢ‬ ‫ﻫﺎ‬ ‫ﺑﺎﺷﺪ‬ ‫ﮐﻢ‬ ‫ارﺗﺒﺎط‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﻓﺮﮐﺎﻧﺲ‬ .
  • 13. 13 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 4 : ‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﭼﻨﺪ‬ ‫ارﺟﺎع‬ ‫ﺧﻮد‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬  ‫اول‬ ‫ﺣﺎﻟﺖ‬ ‫ﺧﺎص‬ ‫ﺣﺎﻟﺖ‬  ‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬ : n=1  ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ : M:N ‫اﺳﺖ‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫دو‬ .  ‫ارﺟﺎع‬ ‫ﮔﺮاف‬ : COPRECO COUR  ‫ﻧﺘﯿﺠﻪ‬ : ‫ﻧﻤﯽ‬ ‫اﯾﺠﺎد‬ ‫ارﺟﺎع‬ ‫ﭼﺮﺧﻪ‬ ،‫ﺧﻮد‬ ‫ﺑﺎ‬ ‫ارﺗﺒﺎط‬ ‫وﺟﻮد‬ ‫ﺻﺮف‬ ‫ﺷﻮد‬ . ‫ﮐﻨﯿﻢ‬ ‫ﺗﻮﺟﻪ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ ‫ﺑﻪ‬ ‫ﺑﺎﯾﺪ‬ . ‫ﺣﺎﻟﺖ‬ 4 ‫درس‬ ‫ﭘﯿﺸﻨﯿﺎزي‬ N M ‫ﺷﻤﺎره‬ ⋮ COUR (COID, .…) COPRECO (COID, PRECOID) ‫ﻫﺴﺘﻨﺪ‬ ‫داﻣﻨﻪ‬ ‫ﯾﮏ‬ ‫از‬ ،‫راﺑﻄﻪ‬ ‫از‬ ‫ﺻﻔﺖ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ .
  • 14. 14 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 5 : ‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺟﺎع‬ ‫ﺧﻮد‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬  ‫دوم‬ ‫ﺣﺎﻟﺖ‬ ‫ﺧﺎص‬ ‫ﺣﺎﻟﺖ‬  ‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬ : n=1  ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ : 1:N ‫اﺳﺖ‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ .  ‫در‬ ‫دارد‬ ‫وﺟﻮد‬ ‫ﻧﮑﺎﺗﯽ‬ ‫ﭼﻪ‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫؟‬  ‫ﮔﺮاف‬ ‫ارﺟﺎع‬ : EMPL  ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫اي‬ SQL ‫ﺳﻄﺢ‬ ‫ﮐﻪ‬ ‫ﺑﺪﻫﯿﺪ‬ ) ‫ﻣﺪﯾﺮﯾﺘﯽ‬ ( ‫ﺑﺪﻫﺪ‬ ‫را‬ ‫ﻣﺪﯾﺮﯾﺖ‬ ‫ﺳﻠﺴﻠﻪ‬ ‫در‬ ‫ﻣﺪﯾﺮان‬ ‫ﺗﻤﺎم‬ ) ‫ﺗﮑﻨﯿﮏ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ Recursion ( ‫ﺣﺎﻟﺖ‬ 5 ‫ﮐﺎرﻣﻨﺪ‬ ‫ﻣﺪﯾﺮﯾﺖ‬ 1 N ‫ﺷﻤﺎره‬ ⋮ EMPL (EMID, ENAME, …., EPHONE, EMGRID)
  • 15. 15 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 6 : ‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ﯾﮏ‬ ‫ارﺟﺎع‬ ‫ﺧﻮد‬ ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬  ‫ﺳﻮم‬ ‫ﺣﺎﻟﺖ‬ ‫ﺧﺎص‬ ‫ﺣﺎﻟﺖ‬  ‫ارﺗﺒﺎط‬ ‫درﺟﻪ‬ : n=1  ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ : 1:1 ‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ‫دو‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﮐﻨﯿﻢ‬ .  ‫ﻫﻢ‬ ‫در‬ ‫ﻣﺸﺎرﮐﺖ‬ ‫اﮔﺮ‬ ‫ﻣﺪل‬ ‫از‬ ،‫ﻧﺒﺎﺷﺪ‬ ‫زﯾﺎد‬ ‫ﭘﺮوژﮔﯽ‬ II ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫ﮐﻨﯿﻢ‬ .  ‫در‬ STJST ‫ﻣﯽ‬ ‫ﺻﻔﺎت‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺗﻮاﻧﻨﺪ‬ .  ‫دارد؟‬ ‫وﺟﻮد‬ ‫ﻃﺮاﺣﯽ‬ ‫ﺑﺮاي‬ ‫ﻫﻢ‬ ‫دﯾﮕﺮي‬ ‫ﻃﺮز‬ ‫آﯾﺎ‬ ‫ﺣﺎﻟﺖ‬ 6 ‫داﻧﺸﺠﻮ‬ ‫ﻫﻢ‬ ‫ﮔﺮوﻫﯽ‬ 1 1 ‫ﺷﻤﺎره‬ ⋮ (I) STPROJST (STID, STNAME, …., JSTID ) (II) STUD (STID, STNAME, .…) STJST (STID, JSTID) P.K. C.K. C.K. C.K.
  • 16. 16 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 7 : ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻃﺮاﺣﯽ‬  ‫دارﯾﻢ‬ ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ . ‫ﺷﻨﺎﺳﺎ‬ ‫ارﺗﺒﺎط‬ ‫و‬ ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺑﺮاي‬ ‫ﯾﮑﯽ‬ ،‫ﻗﻮي‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺑﺮاي‬ ‫ﯾﮑﯽ‬ ‫اﺳﺖ؛‬ ‫ﻻزم‬ ‫راﺑﻄﻪ‬ ‫دو‬ . ‫ﻗﻮي‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫از‬ ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدت‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ FK ‫ﻣﯽ‬ ‫ﻣﯽ‬ ‫ﻣﻤﯿﺰه‬ ‫ﺻﻔﺖ‬ ‫ﺑﺎ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﮔﯿﺮد‬ ‫ﺷﻮد‬ PK . ‫ﺣﺎﻟﺖ‬ 7 PROF (PRID, PRNAME, ….) PRPUB (PRID, PTITLE, PTYPE, ….) ‫اﺳﺘﺎد‬ ‫دارد‬ ‫اﺛﺮ‬ ‫ﻣﻨﺘﺸﺮه‬ ‫ﻋﻨﻮان‬ ‫ﺗﺎرﯾﺦ‬ ‫ﺷﻤﺎره‬
  • 17. 17 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 7 : ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﺿﻌﯿﻒ‬ ) ‫اداﻣﻪ‬ (  ‫ﺗﻤﺮﯾﻦ‬ : ‫راﺑﻄﻪ‬ ‫ﻣﺪل‬ ‫ﺑﺮاي‬ ‫ﻻزم‬ ‫ﻫﺎي‬ ‫داده‬ ‫ﻫﺎي‬ ‫ﺷﻮد‬ ‫ﻃﺮاﺣﯽ‬ ‫زﯾﺮ‬ ‫اي‬ . ‫راﺑﻄﻪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺣﺎﻟﺖ‬ ‫اﯾﻦ‬ ‫در‬ G ‫راﺑﻄﻪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺗﺮﮐﯿﺐ‬ ‫از‬ ‫ﻫﺎي‬ E ‫و‬ F ) ‫ﻣﻤﯿﺰه‬ ‫ﺻﻔﺖ‬ ‫وﺟﻮد‬ ‫ﺻﻮرت‬ ‫در‬ ‫و‬ G ( ‫ﺣﺎﺻﻞ‬ ‫ﻣﯽ‬ ‫ﮔﺮدد‬ . F R G E R2 G F R1 E
  • 18. 18 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 8 : ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻃﺮاﺣﯽ‬  ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﯾﮏ‬ ‫ﺑﺮاي‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﯾﮏ‬ ‫وﺟﻮد‬ .  ‫دارد‬ ‫ﺗﮑﻨﯿﮏ‬ ‫ﺳﻪ‬ : 1 - ] ‫ﻋﻤﻮﻣﯽ‬ ‫ﺗﮑﻨﯿﮏ‬ [ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫و‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ . ) ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫اﮔﺮ‬ ‫ﺑﻨﺎﺑﺮاﯾﻦ‬ E ، m ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ m+1 ‫دارﯾﻢ‬ ‫راﺑﻄﻪ‬ .  ‫ﻧﻮع‬ ‫از‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ‫اﺻﻠﯽ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ FK ‫ﻣﯽ‬ ‫ﮔﯿﺮد‬ ‫ﮐﻠﯿﺪ‬ ‫داﺧﻞ‬ . ‫ﺣﺎﻟﺖ‬ 8 ‫اﺳﺘﺎد‬ ‫ﺗﺤﺼﯿﻠﯽ‬ ‫ﺳﺎﺑﻘﻪ‬ ‫ﺷﻤﺎره‬ ‫از‬ ‫ﺗﺎ‬ ‫ﻣﻮﺳﺴﻪ‬ ‫ﻋﻨﻮان‬ ‫دوره‬ ‫ﺗﻠﻔﻦ‬ PROF (PRID, PRNAME, ….) PRTEL (PRID, PHONE)
  • 19. 19 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 8 : ‫ﺻﻔﺖ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ) ‫اداﻣﻪ‬ (  ‫آﻧﻬﺎ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻋﻤﻮﻣﯽ‬ ‫ﺗﮑﻨﯿﮏ‬ ‫وﻟﯽ‬ ‫دارد‬ ‫ارﺟﺤﯿﺖ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﺑﻪ‬ ‫ﺿﻌﯿﻒ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ،‫ﻣﺪﻟﺴﺎزي‬ ‫در‬ ‫اﺳﺖ‬ ‫ﻫﻢ‬ ‫ﻣﺜﻞ‬ .  ‫ﻋﻤﻮﻣﯽ‬ ‫ﺗﮑﻨﯿﮏ‬ ‫اﺷﮑﺎل‬ : ‫ﻋﻤﻞ‬ ‫ﺑﺎﯾﺪ‬ ،‫ﺑﺨﻮاﻫﯿﻢ‬ ‫ﮐﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ‫اﺻﻠﯽ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺑﺮاي‬ ‫اﮔﺮ‬ JOIN ‫اﻧﺠﺎم‬ ‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫دﻫﯿﻢ‬ ‫ﺑﺎﺷﺪ‬ ‫زﻣﺎﻧﮕﯿﺮ‬ ‫ﺗﻮاﻧﺪ‬ . PRHIS (PRID, TTL, FROM, TO, INSTNAME, ….)
  • 20. 20 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 8 : ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻃﺮاﺣﯽ‬ ) ‫اداﻣﻪ‬ ( 2 - ] ‫ﺧﺎص‬ ‫ﺷﺮاﯾﻂ‬ ‫در‬ [ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ) ‫ﻓﺮض‬ : ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﯾﮏ‬ :( ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫و‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ .  ‫ﺑﻮدن‬ ‫ﻣﺸﺨﺺ‬ ‫ﻓﺮض‬ ‫ﺑﺎ‬ ‫ﺣﺪاﮐﺜﺮ‬ ‫ﻣﯽ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﮐﻪ‬ ‫ﻣﻘﺪاري‬ ‫ﺗﻌﺪاد‬ ‫در‬ ‫ﺻﻔﺖ‬ ‫ﺗﻌﺪاد‬ ‫ﻫﻤﺎن‬ ‫ﺑﻪ‬ ،‫ﮔﯿﺮد‬ ‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫راﺑﻄﻪ‬ ‫ﮔﯿﺮﯾﻢ‬ . ‫ﻓﺮض‬ : ‫دارد‬ ‫ﺗﻠﻔﻦ‬ ‫ﺷﻤﺎره‬ ‫ﺳﻪ‬ ‫ﺣﺪاﮐﺜﺮ‬ ‫اﺳﺘﺎد‬ ‫ﻫﺮ‬ .  ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻣﺰﯾﺖ‬ : JOIN ‫ﻧﺪارد‬ ‫ﻻزم‬ .  ‫ﻋﯿﺐ‬ ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ : ‫ﻫﯿﭽﻤﻘﺪار‬ ) Null ( ‫ﺗﻠﻔﻦ‬ ‫ﺷﻤﺎره‬ ‫ﺳﻪ‬ ،‫اﺳﺘﺎدان‬ ‫از‬ ‫ﮐﻤﯽ‬ ‫ﺗﻌﺪاد‬ ‫اﮔﺮ‬ ،‫اﺳﺖ‬ ‫زﯾﺎد‬ ‫آن‬ ‫در‬ ‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ . PRTELTEL (PRID, PRNAME, PRRANK, PHONE1, PHONE2, PHONE3)
  • 21. 21 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 8 : ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﻃﺮاﺣﯽ‬ ) ‫اداﻣﻪ‬ ( 3 - ] ‫ﺧﺎص‬ ‫ﺷﺮاﯾﻂ‬ ‫در‬ [ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ) ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫ﯾﮏ‬ ‫و‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ( ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫ﺻﻔﺖ‬ ‫و‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺻﻔﺎت‬ ‫ﺗﻤﺎم‬ ‫ﺷﺎﻣﻞ‬ .  ‫اﺳﺘﻔﺎده‬ ‫اﺻﻠﯽ‬ ‫ﺷﺮط‬ : ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻠﻔﻦ‬ ‫ﯾﮏ‬ ‫ﺣﺪاﻗﻞ‬ ‫اﺳﺘﺎد‬ ‫ﻫﺮ‬ .  ‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻗﺮار‬ ‫اﺳﺖ‬ ‫ﺑﻬﺘﺮ‬ ‫ﮐﻪ‬ ‫دﯾﮕﺮي‬ ‫ﺷﺮاﯾﻂ‬ : ‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻠﻔﻦ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ ‫اﺳﺘﺎدﻫﺎ‬ ‫از‬ ‫ﮐﻤﯽ‬ ‫ﺗﻌﺪاد‬ ) ‫ﺑﻪ‬ ‫اﻓﺰوﻧﮕﯽ‬ ‫دﻟﯿﻞ‬ ( ‫ﺣﺘﯽ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﮐﻢ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺻﻔﺎت‬ ‫ﺗﻌﺪاد‬ ‫اﻻﻣﮑﺎن‬ ) ‫اﻓﺰوﻧﮕﯽ‬ ‫دﻟﯿﻞ‬ ‫ﺑﻪ‬ .( PRTELTEL (PRID, PHONE, PRNAME, PRNAK, …) ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺻﻔﺎت‬ ‫دﯾﮕﺮ‬
  • 22. 22 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 9 : ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ IS-A  ‫ارﺗﺒﺎط‬ ‫وﺟﻮد‬ IS-A ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫دو‬ ‫ﺑﯿﻦ‬ .  ‫دارد‬ ‫ﺗﮑﻨﯿﮏ‬ ‫ﭼﻬﺎر‬ : 1 - ‫ﻓﺮض‬ : ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ E ، n ‫دارد‬ ‫زﯾﺮﻧﻮع‬ . n+1 ‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﮐﻨﯿﻢ‬ . ‫زﯾﺮﻧﻮع‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫و‬ ‫زﺑﺮﻧﻮع‬ ‫ﺑﺮاي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎ‬ . ‫ﺣﺎﻟﺖ‬ 9 E E1 EID D C E2 En … F M N L ‫ﮐﺎرﻣﻨﺪ‬ ‫ﻣﺪﯾﺮ‬ ‫ﻣﻨﺸﯽ‬ ‫ﻣﺸﺎور‬ E (EID, X, Y) E1 (EID, A, B) E2 (EID, F) … En (EID, L, M, N) X Y
  • 23. 23 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 9 : ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ IS-A ) ‫اداﻣﻪ‬ (  ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻣﺰﯾﺖ‬ : ‫ﻧﺪارد‬ ‫ﺗﺨﺼﯿﺺ‬ ‫ﻧﻮع‬ ‫ﻧﻈﺮ‬ ‫از‬ ‫ﺧﺎﺻﯽ‬ ‫ﺷﺮط‬ ) ‫ﺗﮑﻨﯿﮏ‬ ‫ﻣﯽ‬ ‫ﻣﻄﺮح‬ ‫ﮐﻪ‬ ‫دﯾﮕﺮي‬ ‫ﻫﺎي‬ ‫ﻫﻤﮕﯽ‬ ،‫ﺷﻮد‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﺧﺎص‬ ‫ﺷﺮاﯾﻂ‬ ‫ﺑﺮاي‬ .(  ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻋﯿﺐ‬ : ‫ﺑﺎﯾﺪ‬ ،‫آورﯾﻢ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﮐﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ،‫زﯾﺮﻧﻮع‬ ‫ﯾﮏ‬ ‫ﻣﻮرد‬ ‫در‬ ‫ﺑﺨﻮاﻫﯿﻢ‬ ‫اﮔﺮ‬ JOIN ‫ﮐﻨﯿﻢ‬ .
  • 24. 24 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 9 : ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ IS-A ) ‫اداﻣﻪ‬ ( 2 - ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ n ‫راﺑﻄﻪ‬ : ‫ﺑﺮاي‬ ‫زﺑﺮﻧﻮع‬ ‫راﺑﻄﻪ‬ ، ‫ﻧﻤﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﮐﻨﯿﻢ‬ . ‫ﺻﻔﺎت‬ ‫ﺑﻨﺎﺑﺮاﯾﻦ‬ ‫ﻣﺸﺘﺮك‬ ‫راﺑﻄﻪ‬ ‫در‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺮ‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫زﯾﺮﻧﻮع‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬ .  ‫ﻻزم‬ ‫ﺷﺮط‬ : ‫ﺑﺎﺷﺪ‬ ‫ﮐﺎﻣﻞ‬ ‫ﺗﺨﺼﯿﺺ‬ ‫ﺑﺎﯾﺪ‬ . ‫داده‬ ‫از‬ ‫ﺑﺨﺸﯽ‬ ،‫ﻧﺒﺎﺷﺪ‬ ‫اﮔﺮ‬ ‫ﻧﯿﺴﺘﻨﺪ‬ ‫ﻧﻤﺎﯾﺶ‬ ‫ﻗﺎﺑﻞ‬ ‫ﻣﺤﯿﻂ‬ ‫ﻫﺎي‬ .  ‫اول‬ ‫ﺗﮑﻨﯿﮏ‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ ‫ﻣﺰﯾﺖ‬ : ‫زﯾﺮﻧﻮع‬ ‫ﮐﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ‫آوردن‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﺑﺮاي‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎزي‬ ‫ﻫﺎ‬ JOIN ‫ﻧﯿﺴﺖ‬ .  ‫ﻧﮑﺘﻪ‬ : ‫ﻧﻤﯽ‬ ‫ﭘﯿﺶ‬ ‫اﻓﺰوﻧﮕﯽ‬ ً‫ﺎ‬‫ﻟﺰوﻣ‬ ،‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫در‬ ‫آﯾﺪ‬ . ‫ﻫﻢ‬ ‫ﺗﺨﺼﯿﺺ‬ ‫اﮔﺮ‬ ‫ﭘﯿﺶ‬ ‫اﻓﺰوﻧﮕﯽ‬ ‫ﻣﯿﺰاﻧﯽ‬ ‫ﺑﺎﺷﺪ‬ ‫ﭘﻮﺷﺎ‬ ‫ﻣﯽ‬ ‫آﯾﺪ‬ . E1 (EID, X, Y, A, B) E2 (EID, X, Y, F) … En (EID, X, Y, L, M, N)
  • 25. 25 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 9 : ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ IS-A ) ‫اداﻣﻪ‬ ( 3 - ‫ﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫ﺻﻔﺖ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ،‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻓﻘﻂ‬ ‫ﻃﺮاﺣﯽ‬ ‫زﯾﺮﻧﻮع‬ ‫ﻫﺎ‬  ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺷﺮط‬ ‫ﺗﮑﻨﯿﮏ‬ : ‫ﻧﻤﻮﻧﻪ‬ ‫ﺟﺰء‬ ،‫ﮐﺎرﻣﻨﺪ‬ ‫ﻧﻤﻮﻧﻪ‬ ‫ﯾﮏ‬ ‫ﯾﻌﻨﯽ‬ ‫ﺑﺎﺷﺪ؛‬ ‫ﻣﺠﺰا‬ ‫ﺗﺨﺼﯿﺺ‬ ‫ﯾﮏ‬ ‫ﺣﺪاﮐﺜﺮ‬ ‫ﻫﺎي‬ ‫زﯾﺮﻧﻮع‬ ‫ﺑﺎﺷﺪ‬ .  ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻣﺰﯾﺖ‬ : ‫زﯾﺮﻧﻮع‬ ‫ﮐﺎﻣﻞ‬ ‫اﻃﻼﻋﺎت‬ ‫آوردن‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﺑﺮاي‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎزي‬ ‫ﻫﺎ‬ JOIN ‫ﻧﯿﺴﺖ‬ .  ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫ﻋﯿﺐ‬ : ‫ﻫﯿﭽﻤﻘﺪار‬ ) Null ( ‫اﺳﺖ‬ ‫زﯾﺎد‬ ‫راﺑﻄﻪ‬ ‫درﺟﻪ‬ ‫و‬ ‫دارد‬ ‫زﯾﺎد‬ . E (EID, X, Y, A, B, F, L, M, N, TYPE) 100 x1 y1 a1 b1 ? ? ? ? ‫ﻣﺪﯾﺮ‬ 200 x2 y2 ? ? ? l2 m2 n2 ‫ﻣﺸﺎور‬
  • 26. 26 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 9 : ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ IS-A ) ‫اداﻣﻪ‬ ( 4 - ،‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻓﻘﻂ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﯾﮏ‬ ‫ﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫ﺑﯿﺖ‬ ‫ﻫﺮ‬ ‫ﺑﯿﺘﯽ؛‬ ‫آراﯾﻪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫زﯾﺮﻧﻮع‬ . ‫ﺑﺮاي‬ ‫واﻗﻊ‬ ‫در‬ ‫ﻧﻤﻮﻧﻪ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬ ‫اﯾﻨﮑﻪ‬ ‫ﺑﻪ‬ ‫ﺑﺴﺘﻪ‬ ،‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻤﻮﻧﻪ‬ ‫ﻫﺮ‬ ‫ﻧﻤﺎﯾﺶ‬ ‫ﻣﺮﺑﻮﻃﻪ‬ ‫ﺑﯿﺖ‬ ،‫ﺑﺎﺷﺪ‬ ‫زﯾﺮﻧﻮع‬ ‫ﮐﺪام‬ ‫ﻫﺎي‬ ‫را‬ ‫اش‬ 1 ‫ﻣﯽ‬ ‫ﮐﻨﯿﻢ‬ .  ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺷﺮط‬ : ‫ﻫﻢ‬ ‫ﺗﺨﺼﯿﺺ‬ ‫وﻗﺘﯽ‬ ‫ﺑﺎﺷﺪ‬ ‫ﭘﻮﺷﺎ‬ ) ‫ﺗﮑﻨﯿﮏ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﻫﻤﺎﻧﻬﺎ‬ ‫ﺷﺮاﯾﻂ‬ ‫ﺳﺎﯾﺮ‬ 3 ‫ﮔﻔﺘﻪ‬ ‫ﺷﺪ‬ .( E (EID, X, Y, A, B, F, L, M, N, TB1, TB2, …,TBn) 100 x1 y1 1 0 0 200 x2 y2 0 1 0 ‫ﺑﯿﺘﯽ‬ ‫آراﯾﻪ‬ ‫ﻣﺪﯾﺮ‬ ‫ﻣﻨﺸﯽ‬ ‫ﻣﺸﺎور‬
  • 27. 27 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 10 : ‫ارث‬ ‫ﻃﺮاﺣﯽ‬ ‫ﭼﻨﺪﮔﺎﻧﻪ‬ ‫ﺑﺮي‬  ‫ارث‬ ‫وﺟﻮد‬ ‫ﭼﻨﺪزﺑﺮﻧﻮع‬ ‫ﺑﺎ‬ ‫زﯾﺮﻧﻮع‬ ‫ﯾﮏ‬ ‫ﺑﯿﻦ‬ ‫ﭼﻨﺪﮔﺎﻧﻪ‬ ‫ﺑﺮي‬  ،‫زﯾـﺮﻧﻮع‬ ‫اﮔﺮ‬ n ‫ﺣﺪاﻗﻞ‬ ‫زﯾـﺮﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫زﺑﺮﻧﻮع‬ n ‫دارد‬ ‫ﮐﺎﻧﺪﯾﺪ‬ ‫ﮐﻠﯿﺪ‬ . ‫ارﺟﺎع‬ ‫ﺑﺎ‬ ‫ﮐﺎﻧﺪﯾﺪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻣﯽ‬ ‫اﻧﺘﺨﺎب‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﯿﺸﺘﺮ‬ ‫ﺷﻮد‬ . ‫ﻧﮑﻨﯿﻢ؟‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ً‫ﻼ‬‫اﺻ‬ ‫زﯾﺮﻧﻮع‬ ‫ﺑﺮاي‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ ‫آﯾﺎ‬ ‫ﺣﺎﻟﺖ‬ 10 STUD (STID, STNAME, …) EMPL (EID, ENAME, …) STEM (STID, EID, MAXW) ‫داﻧﺸﺠﻮ‬ - ‫ﮐﺎرﻣﻨﺪ‬ ‫ﮐﺎرﻣﻨﺪ‬ ‫داﻧﺸﺠﻮ‬ ‫ﻧﺎم‬ ‫داﻧﺸﺠﻮﯾﯽ‬ ‫ﺷﻤﺎره‬ ‫ورود‬ ‫ﺳﺎل‬ ‫ﻧﺎم‬ ‫ﮐﺎرﮔﺰﯾﻨﯽ‬ ‫ﺷﻤﺎره‬ ‫اﺳﺘﺨﺪام‬ ‫ﺳﺎل‬ ⋮ ⋮ ‫ﺳﺎﻋﺎت‬ ‫ﺳﻘﻒ‬ ‫ﮐﺎري‬
  • 28. 28 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 11 : ‫اﺟﺘﻤﺎع‬ ‫زﯾﺮﻧﻮع‬ ‫ﻃﺮاﺣﯽ‬ ) U-Type (  ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ E ‫زﯾﺮﻧﻮع‬ ، U-Type ) ‫ﯾﺎ‬ ‫دﺳﺘﻪ‬ Category ( n ‫اﺳﺖ‬ ‫زﺑﺮﻧﻮع‬ . n+1 ‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﮐﻨﯿﻢ‬ . ‫ﺣﺎﻟﺖ‬ 11 U ‫ﻣﺎﻟﮏ‬ ‫ﺷﺨﺺ‬ ‫ﺷﺮﮐﺖ‬ ‫ﺑﺎﻧﮏ‬ BID ⋮ CID ⋮ PID ⋮ OID ⋮ ‫ﻣﺎﻟﮑﯿﺖ‬ U ‫ﻧﻘﻠﯿﻪ‬ ‫وﺳﯿﻠﻪ‬ ‫ﺳﻮاري‬ ‫ﺑﺎري‬ VID ⋮ VID ⋮ VID ⋮ ‫از‬ ‫ﺗﺎ‬ M N
  • 29. 29 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 11 : ‫اﺟﺘﻤﺎع‬ ‫زﯾﺮﻧﻮع‬ ‫ﻃﺮاﺣﯽ‬ ) ‫اداﻣﻪ‬ (  n+1 ‫راﺑﻄﻪ‬  ‫زﺑﺮﻧﻮع‬ ‫ﺷﻨﺎﺳﻪ‬ ‫اﮔﺮ‬ ‫داﻣﻨﻪ‬ ‫از‬ ‫ﻫﺎ‬ ،‫زﯾﺮﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻣﺘﻔﺎوت‬ ‫ﻫﺎي‬ FK ‫ﻣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﺑﻪ‬ ‫دﻫﺪ‬ ‫ﻫﺎي‬ ‫زﺑﺮﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ،‫ﻫﺎ‬ ‫ﮐﻠﯿﺪ‬ ‫از‬ ‫ﺧﺎرج‬ .  ‫زﺑﺮﻧﻮع‬ ‫ﺷﻨﺎﺳﻪ‬ ‫اﮔﺮ‬ ،‫ﺑﺎﺷﺪ‬ ‫داﻣﻨﻪ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﻫﺎ‬ ‫راﺑﻄﻪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻫﻤﺎن‬ ،‫زﯾﺮﻧﻮع‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫راﺑﻄﻪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ ‫ﻫﺎي‬ ‫زﺑﺮﻧﻮع‬ ‫ﻫﺎ‬ ‫اﺳﺖ‬ . ‫دارد‬ ‫وﺟﻮد‬ ‫دﯾﮕﺮي‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻃﺮز‬ ‫آﯾﺎ‬ . PERS (PID, …., OID) COMP (CID, …., OID) BANK (BID, …., OID) OWNER (OID,….) VEHIC (VID, ….) OWNS (OID, VID, F, T, ….) SAVARY (VID, N, ….) BARY (VID, T, ….) ‫زﺑﺮﻧﻮع‬ ‫ﮐﻠﯿﺪﻫﺎي‬ ‫داﻣﻨﻪ‬ ‫ﭼﻮن‬ ‫ﻣﯽ‬ ‫ﺳﺎﺧﺘﮕﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺧﻮدﻣﺎن‬ ،‫ﻧﯿﺴﺖ‬ ‫ﯾﮑﺴﺎن‬ ‫ﻫﺎ‬ ‫ﮔﺬارﯾﻢ‬ .
  • 30. 30 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 12 : ‫ارﺗﺒﺎط‬ ‫ﻃﺮاﺣﯽ‬ IS-A-PART-OF  ‫ارﺗﺒﺎط‬ ‫وﺟﻮد‬ IS-A-PART-OF  ‫اﮔﺮ‬ ،‫ﮐﻞ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ n ‫ﺗﻌﺪاد‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺟﺰء‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ n+1 ‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﮐﻨﯿﻢ‬ .  ‫دارد‬ ‫ﺷﻨﺎﺳﻪ‬ ‫ﺧﻮد‬ ‫از‬ ‫ﺟﺰء‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫ﮐﻪ‬ ‫دارﯾﻢ‬ ‫ﺗﻮﺟﻪ‬ . ‫ﺷﺮاﯾﻄﯽ؟‬ ‫ﭼﻪ‬ ‫در‬ ‫دارد؟‬ ‫وﺟﻮد‬ ‫دﯾﮕﺮي‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻃﺮز‬ ‫آﯾﺎ‬ ‫ﺣﺎﻟﺖ‬ 12 E EID E1 E1ID En EnID … E (EID, ….) E1 (E1ID, EID, ….) …. En (EnID, EID, ….)
  • 31. 31 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 13 : ‫ﻃﺮاﺣﯽ‬ ‫ﺗﮑﻨﯿﮏ‬ Aggregation  ‫ﺗﮑﻨﯿﮏ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ Aggregation ‫ﻣﺪﻟﺴﺎزي‬ ‫در‬  ‫اﻧﺘﺰاﻋﯽ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫اﺑﺘﺪا‬ ) ‫ﺧﻂ‬ ‫ﻣﺴﺘﻄﯿﻞ‬ ‫درون‬ ‫ﺑﺨﺶ‬ ‫ﭼﯿﻦ‬ ( ‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫را‬ ‫ﮐﻨﯿﻢ‬ ) ‫و‬ ‫درﺟﻪ‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ .( ‫را‬ ‫آن‬ ‫ﺑﯿﺮون‬ ‫ﺑﺨﺶ‬ ‫ﺳﭙﺲ‬ ) ‫آن‬ ‫درﺟﻪ‬ ‫و‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫ﻫﻢ‬ ‫ﺑﺎز‬ .( ‫ﺣﺎﻟﺖ‬ 13 STUD (STID, ….) COUR (COID, ….) SCR (STID, COID, GR) PROF (PRID, ….) OFFERING (STID, COID, PROFID, GR#, CLASS) ‫اﺳﺘﺎد‬ ‫اراﯾﻪ‬ ‫ﺷﻤﺎره‬ ‫ﮔﺮوه‬ ‫داﻧﺸﺠﻮ‬ ‫درس‬ ‫اﻧﺘﺨﺎب‬ M N ‫ﻧﻤﺮه‬ N M ‫ﺷﻤﺎره‬ ‫ﮐﻼس‬
  • 32. 32 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 13 : ‫ﺗﮑﻨﯿﮏ‬ ‫ﻃﺮاﺣﯽ‬ Aggregation ) ‫اداﻣﻪ‬ (  ‫ﻣﯽ‬ ‫اﻓﺰاﯾﺶ‬ ‫را‬ ‫ﺳﯿﺴﺘﻢ‬ ‫ﮐﺎراﯾﯽ‬ ‫ﭼﮕﻮﻧﻪ‬ ‫ﺗﮑﻨﯿﮏ‬ ‫اﯾﻦ‬ ‫دﻫﺪ‬ ) ‫ﺳﻪ‬ ‫ارﺗﺒﺎط‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬ - ‫ﺗﺎﯾﯽ‬ ( ‫؟‬  ‫ارﺗﺒﺎط‬ ‫ﺑﻪ‬ ‫ﻣﺮاﺟﻌﻪ‬ ‫اﮔﺮ‬ » ‫اﻧﺘﺨﺎب‬ « ‫ارﺗﺒﺎط‬ ‫ﺑﻪ‬ ‫ارﺟﺎع‬ ‫ﻓﺮﮐﺎﻧﺲ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﺑﺎﻻ‬ » ‫اراﺋﻪ‬ « ‫اﯾﻦ‬ ‫ﺑﺎ‬ ‫ﺳﯿﺴﺘﻢ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﭘﺎﯾﯿﻦ‬ ‫ﻣﯽ‬ ‫ﻋﻤﻞ‬ ‫ﮐﺎراﺗﺮ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﮐﻨﺪ‬ .
  • 33. 33 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 14 : ‫ﻃﺮاﺣﯽ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪ‬ ‫وﺟﻮد‬ ‫ﺑﺎ‬  ‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻗﺮار‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﻧﻮع‬ ‫دو‬ ‫ﺑﯿﻦ‬ ً‫ﻼ‬‫ﻣﺜ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪ‬ ‫ﺻﻮرﺗﯿﮑﻪ‬ ‫در‬ .  ‫ﻣﯽ‬ ‫ﻃﺮاﺣﯽ‬ ‫ارﺗﺒﺎط‬ ‫ﭼﻨﺪي‬ ‫و‬ ‫درﺟﻪ‬ ‫ﻧﻈﺮ‬ ‫از‬ ‫آن‬ ‫وﺿﻊ‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫را‬ ‫ارﺗﺒﺎط‬ ‫ﻫﺮ‬ ‫ﮐﻨﯿﻢ‬ . ‫اﺣﺘﻤﺎل‬ ‫ﮐﺎﻫﺶ‬ ‫ﺑﺮاي‬ ‫اﻣﺎ‬ ‫ﻣﯽ‬ ‫ﺗﻮﺻﯿﻪ‬ ‫ﻃﺮاﺣﯽ‬ ‫در‬ ‫اﺷﺘﺒﺎه‬ ‫ارﺗﺒﺎﻃﻬﺎي‬ ‫اول‬ ‫ﺷﻮد‬ M:N ‫ﺳﭙﺲ‬ ، 1:N ‫آﺧﺮ‬ ‫در‬ ‫و‬ 1:1 ‫ﻧﻤﺎﯾﯿﻢ‬ ‫ﻃﺮاﺣﯽ‬ ‫را‬ . ‫ﺣﺎﻟﺖ‬ 14 ‫آﻣﻮزﺷﯽ‬ ‫ﮔﺮوه‬ ‫ﻋﻀﻮﯾﺖ‬ ‫ﻣﺪﯾﺮﯾﺖ‬ ‫ﻣﺪﻋﻮ‬ ‫زﻣﯿﻨﻪ‬ ‫از‬ ‫ﺗﺮم‬ - ‫ﺳﺎل‬ ‫درس‬ 1 1 N 1 M N 1 N 1 N ‫اﺳﺘﺎد‬ ‫ﻣﺎﻣﻮرﯾﺖ‬ ‫ﻣﺸﺎور‬
  • 34. 34 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺣﺎﻟﺖ‬ 14 : ‫ﭼﻨﺪ‬ ‫وﺟﻮد‬ ‫ﺑﺎ‬ ‫ﻃﺮاﺣﯽ‬ ‫ارﺗﺒﺎط‬ ) ‫اداﻣﻪ‬ (  ‫اﺳﺖ‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻗﺎﺑﻞ‬ ‫ﻧﯿﺰ‬ ‫راﺑﻄﻪ‬ ‫ﻫﻔﺖ‬ ‫ﺑﺎ‬ ‫ﺣﺪاﮐﺜﺮ‬ ‫ﺳﯿﺴﺘﻢ‬ ‫ﻫﻤﯿﻦ‬ . DEPT (DEID, …., DPHONE, PRID) PROF (PRID, …., PRRANK, MDEID, SUB, MEMDEID, FROM, CDEID, INT) INVITED (DEID, PRID, YR, TR) ‫ﻣﺎﻣﻮرﯾﺖ‬ ‫ﻋﻀﻮﯾﺖ‬ ‫ﻣﻮﺿﻮع‬ ‫ﻣﺸﺎور‬ ‫زﻣﯿﻨﻪ‬ ‫از‬ ‫داﻣﻨﻪ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺧﺎرﺟﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺳﻪ‬
  • 35. 35 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻃﺮاﺣﯽ‬ RDB - ‫ﻧﺮﻣﺎل‬ ‫ﯾﺎ‬ ‫ﺳﻨﺘﺰ‬ ‫روش‬ ‫راﺑﻄﻪ‬ ‫ﺳﺎزي‬ ‫ﺗﺮ‬ ‫ﻫﺎ‬  ‫اﺻﻠﯽ‬ ‫اﯾﺪه‬ : ‫ﻧﺮﻣﺎل‬ ‫ﭼﻨﺪ‬ ‫ﻫﺮ‬ ،‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ) ‫دﯾﺪﯾﻢ‬ ً‫ﻼ‬‫ﻗﺒ‬ ‫ﮐﻪ‬ ‫ﺗﻌﺮﯾﻔﯽ‬ ‫ﺑﺎ‬ ( ‫آﻧﻮﻣﺎﻟﯽ‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ ) ‫ﻣﺸﮑﻞ‬ ( ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫ذﺧﯿﺮه‬ ‫ﻋﻤﻠﯿﺎت‬ ‫در‬ ‫ﺳﺎزي‬ ) ‫ﺑﻬﻨﮕﺎم‬ ‫ﯾﺎ‬ ‫ﺣﺬف‬ ،‫درج‬ ‫در‬ ‫ﺳﺎزي‬ .(  ‫درج‬ ‫در‬ ‫آﻧﻮﻣﺎﻟﯽ‬ : ‫ﺑﺎﺷﺪ‬ ‫درج‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﺎﯾﺪ‬ ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫ﮐﻪ‬ ‫اﻃﻼع‬ ‫ﻓﻘﺮه‬ ‫ﯾﮏ‬ ‫درج‬ ‫اﻣﮑﺎن‬ ‫ﻋﺪم‬ .  ‫ﺣﺬف‬ ‫در‬ ‫آﻧﻮﻣﺎﻟﯽ‬ : ‫ﺧﻮاﺳﺘﻪ‬ ‫اﻃﻼع‬ ‫ﺣﺬف‬ ‫ﭘﯽ‬ ‫در‬ ‫ﻧﺎﺧﻮاﺳﺘﻪ‬ ‫اﻃﻼع‬ ‫ﯾﮏ‬ ‫ﺣﺬف‬ .  ‫ﺑﻬﻨﮕﺎم‬ ‫در‬ ‫آﻧﻮﻣﺎﻟﯽ‬ ‫ﺳﺎزي‬ : ‫ﻓﺰون‬ ‫ﺑﺮوز‬ ‫ﮐﺎري‬ .  ‫ﻧﺮﻣﺎل‬ ‫را‬ ‫راﺑﻄﻪ‬ ‫ﺑﺎﯾﺪ‬ ‫ﭘﺲ‬ ‫ﮐﺮد‬ ‫ﺗﺮ‬ .
  • 36. 36 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬  ‫راﺑﻄﻪ‬ ‫ﺑﻮدن‬ ‫ﻧﺮﻣﺎل‬ ) ‫ﻧﺮﻣﺎﻟﯿﺘﯽ‬ ( ‫ﻓﺮم‬ ، ‫ﻫﺎ‬ ) ‫ﺻﻮرت‬ ‫ﻫﺎ‬ / ‫ﺳﻄﻮح‬ / ‫درﺟﺎت‬ ] ( NF: Normal Forms [ ‫دارد‬ ‫ﻣﺨﺘﻠﻔﯽ‬ .  ‫ﻓﺮم‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ :  1NF  2NF  3NF  BCNF (Boyce-Codd Normal Form)  4NF  5NF ‫ﯾﺎ‬ PJNF ) Projection Join Normal Form (  6NF  DKNF (Domain Key Normal Form) ‫ﺗﺌﻮري؛‬ ‫در‬ ‫ﺳﻄﻮح‬ ‫ﻧﺪارﻧﺪ‬ ‫ﻋﻤﻠﯽ‬ ‫ﮐﺎرﺑﺮد‬ ‫ﭼﻨﺪان‬ . ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻫﺎي‬ ) Codd ( ‫ﻧﺮﻣﺎل‬ ‫راﺑﻄﻪ‬ ‫ﺗﺮ‬ / ‫ﮐﻤﺘﺮ‬ ‫آﻧﻮﻣﺎﻟﯽ‬
  • 37. 37 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﺑﯿﻦ‬ ‫راﺑﻄﻪ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬  5NFÌ 4NF Ì BCNF Ì 3NF Ì2NF Ì 1NF  ‫راﺑﻄﻪ‬ ،‫ﻣﺜﺎل‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫ﯾﻌﻨﯽ‬ ‫ﮐﻪ‬ ‫اي‬ BCNF ،‫ﺑﺎﺷﺪ‬ 3NF ‫ﻫﺴﺖ‬ ‫ﻫﻢ‬ . ? 1NF 2NF 3NF BCNF 4NF 5NF All Relations
  • 38. 38 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺌﻮري‬  ‫ﻓﺮم‬ ‫ﺑﺮرﺳﯽ‬ ‫ﺑﺮاي‬ ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺌﻮري‬ ‫از‬ ‫دارﯾﻢ‬ ‫ﻣﻔﺎﻫﯿﻤﯽ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎز‬ ،‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) Dependency Theory .(  ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺌﻮري‬ ‫از‬ ‫ﻣﻔﺎﻫﯿﻤﯽ‬ :  ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ) Functional Dependency (  ‫ﮐﺎﻣﻞ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ] ‫ﺗﺎم‬ ) [ Fully Functional Dependency (  ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ) Transitive Functional Dependency (
  • 39. 39 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ) FD :( ‫ﺻﻔﺖ‬ R.B ‫ﺻﻔﺖ‬ ‫ﺑﻪ‬ R.A ‫ﯾﮏ‬ ‫ازاي‬ ‫ﺑﻪ‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫دارد‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ‫از‬ ‫ﻣﻘﺪار‬ A ‫از‬ ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ B ‫ﺑﺎﺷﺪ‬ ‫ﻣﺘﻨﺎﻇﺮ‬ . ‫اﮔﺮ‬ ‫دﯾﮕﺮ‬ ‫ﻋﺒﺎرت‬ ‫ﺑﻪ‬ t1 ‫و‬ t2 ‫از‬ ‫ﺗﺎﭘﻞ‬ ‫دو‬ R ‫ﺻﻮرت‬ ‫اﯾﻦ‬ ‫در‬ ،‫ﺑﺎﺷﻨﺪ‬ : IF t1.A = t2.A THEN t1.B = t2.B ‫دارﯾﻢ‬ ‫آﯾﺎ‬ ،‫ﺑﺎﺷﺪ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫راﺑﻄﻪ‬ ‫ﺗﺎﭘﻠﻬﺎي‬ ‫ﮐﻞ‬ ‫اﯾﻨﮑﻪ‬ ‫ﻓﺮض‬ ‫ﺑﺎ‬ : A→B ‫ﺑﻠﻪ‬ ‫؟‬ A→C ‫ﺧﯿﺮ‬ ‫؟‬ B→A ‫ﺧﯿﺮ‬ ‫؟‬ B→C ‫ﺧﯿﺮ‬ ‫؟‬ R (A, B, C) a1, b1, c1, a1 b1 c2 a2 b2 c2 a3 b3 c3 a4 b2 c3 a1→b1 a1 c1 c2
  • 40. 40 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ) ‫اداﻣﻪ‬ (  ‫ﻧﮑﺎت‬ : ) 1 ( ‫ﻃﺮﻓﯿﻦ‬ ‫ﺻﻔﺎت‬ FD ‫ﻣﯽ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫ﻣﺮﮐﺐ‬ ‫ﯾﺎ‬ ‫ﺳﺎده‬ ‫ﺗﻮاﻧﻨﺪ‬ . ) 2 ( ‫اﮔﺮ‬ A→B ‫ﻧﺪارﯾﻢ‬ ً‫ﺎ‬‫ﻟﺰوﻣ‬ ، : B→A . ) 3 ( ‫اﮔﺮ‬ B⊆A ‫ﺑﻪ‬ ، A→B ، FD ‫ﺑﺪﯾﻬﯽ‬ ‫ﯾﺎ‬ ‫ﻧﺎﻣﻬﻢ‬ ) Trivial ( ‫ﮔﻮﯾﯿﻢ‬ . ) 4 ( ‫اﮔﺮ‬ K ‫راﺑﻄﻪ‬ ‫در‬ R ، SK ‫ﯾﺎ‬ CK ‫و‬ ‫ﺑﺎﺷﺪ‬ G⊆HR ‫دارﯾﻢ‬ ‫آﻧﮕﺎه‬ : K→G .
  • 41. 41 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ) ‫اداﻣﻪ‬ ( ) 5 ( ‫ﻧﻤﺎﯾﺶ‬ FD ‫راﺑﻄﻪ‬ ‫ﻫﺎي‬ R ‫ﻣﺨﺘﻠﻒ‬ ‫روﺷﻬﺎي‬ ‫ﺑﻪ‬ : - ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ : - ‫ﻧﻤﻮدار‬ ‫ﺑﺎ‬ FD ‫ﻫﺎ‬ : - ‫ﻓﻠﺶ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫راﺑﻄﻪ‬ ‫ﻋﻨﻮان‬ ‫ﺧﻮد‬ ‫روي‬ ‫ﻫﺎﯾﯽ‬ : F={A→B, B→C, A→D} A D B C R (A, B, C, D)
  • 42. 42 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ) ‫اداﻣﻪ‬ ( ) 6 ( ‫ﺗﻔﺴﯿﺮ‬ FD : ‫ﻫﺮ‬ FD ‫اﺳﺖ‬ ‫ﻣﺤﯿﻂ‬ ‫از‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫ﯾﮏ‬ ‫ﻧﻤﺎﯾﺸﮕﺮ‬ : ‫ﺟﺎﻣﻌﯿﺘﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫ﻧﻮﻋﯽ‬ ) ‫ﻧﺤﻮي‬ ‫ﺑﻪ‬ ‫ﺑﺎﯾﺪ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫داده‬ ‫ﺳﯿﺴﺘﻢ‬ ‫ﺑﻪ‬ . ‫ﻣﯽ‬ ‫ﺳﯿﺴﺘﻢ‬ ‫ﺑﻪ‬ ‫ﺧﻮب‬ ‫ﻃﺮاﺣﯽ‬ ‫ﻃﺮﯾﻖ‬ ‫از‬ ،‫ﻃﺮاﺣﯽ‬ ‫ﺑﺤﺚ‬ ‫در‬ ‫ﮐﻪ‬ ‫دﯾﺪ‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫دﻫﯿﻢ‬ .(  ‫ﺗﻤﺮﯾﻦ‬ : ‫راﺑﻄﻪ‬ ‫در‬ R(X, Y, Z) ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫ﮐﻪ‬ ‫ﺑﻨﻮﯾﺴﯿﺪ‬ ‫ﻇﻬﺎر‬‫ا‬ ‫ﯾﮏ‬ ، X→Y ‫ﭘﯿﺎده‬ ‫را‬ ‫ﻧﻤﺎﯾﺪ‬ ‫ﺳﺎزي‬ . ) ‫ﻣﯽ‬ ‫ﻣﺜﺎل‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫از‬ ‫ﺗﻮان‬ EXISTS ‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬ ( CREATE ASSERTION XTOYFD CHECK ( NOT EXISTS (SELECT X FROM R GROUP BY X HAVING MAX(Y)!=MIN(Y))) ‫راﺑﻄﻪ‬ ‫ﺣﺴﺎب‬ ‫اي‬ : CONSTRAINT XTOYFD FORALL R1 (FORALL R2 IF R1.X=R2.X THEN R1.Y=R2.Y) STID→STJ : ‫ﻣﯽ‬ ‫ﻓﻘﻂ‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫ﮐﻨﺪ‬ ‫ﺗﺤﺼﯿﻞ‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬ ‫در‬ ‫ﺗﻮاﻧﺪ‬ . STJ→STD : ‫ﻣﯽ‬ ‫اراﺋﻪ‬ ‫داﻧﺸﮑﺪه‬ ‫ﯾﮏ‬ ‫در‬ ‫ﻓﻘﻂ‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬ ‫ﺷﻮد‬ . STID→STD : ‫ﻣﯽ‬ ‫ﺗﺤﺼﯿﻞ‬ ‫داﻧﺸﮑﺪه‬ ‫ﯾﮏ‬ ‫در‬ ‫ﻓﻘﻂ‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫ﮐﻨﺪ‬ .
  • 43. 43 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ - ‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬  ‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫اﺳﺘﻨﺘﺎج‬ ‫ﻗﻮاﻋﺪ‬ 1- if B⊆A then A→B ⇒ A→A (‫اﻧﻌﮑﺎﺳﯽ‬ ‫ﻗﺎﻋﺪه‬) 2- if A→B and B→C then A→C (‫ﺗﺮاﮔﺬاري‬ ‫ﯾﺎ‬ ‫ﺗﻌﺪي‬ ‫ﻗﺎﻋﺪه‬) 3- if A→B then (A,C)→(B,C) (‫اﻓﺰاﯾﺶ‬ ‫ﻗﺎﻋﺪه‬) 4- if A→(B,C) then A→B and A→C (‫ﺗﺠﺰﯾﻪ‬ ‫ﻗﺎﻋﺪه‬) 5- if A→B and C→D then (A,C)→(B,D) (‫ﺗﺮﮐﯿﺐ‬ ‫ﻗﺎﻋﺪه‬) 6- if A→B and A→C then A→(B,C) (‫اﺟﺘﻤﺎع‬ ‫ﻗﺎﻋﺪه‬) 7- if A→B and (B,C)→D then (A,C)→D ( ‫ﺷﺒﻪ‬ ‫ﻗﺎﻋﺪه‬ ‫ﺗﻌﺪي‬ )
  • 44. 44 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ - ‫ﻗﻮاﻋﺪ‬ ‫آرﻣﺴﺘﺮاﻧﮓ‬ ) ‫اداﻣﻪ‬ (  ‫ﻗﺎﻋﺪه‬ ‫ﺳﻪ‬ ‫اول‬ ‫درﺳﺖ‬ ‫و‬ ‫ﮐﺎﻣﻞ‬ ‫واﺑﺴﺘﮕﯽ‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫داﺷﺘﻦ‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﻣﻌﻨﺎ‬ ‫ﺑﺪﯾﻦ‬ ،‫ﻫﺴﺘﻨﺪ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫ﻫﺎي‬ F ، ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﻤﺎم‬ ‫از‬ ‫اﺳﺘﻨﺘﺎج‬ ‫ﻗﺎﺑﻞ‬ ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫ﻫﺎي‬ F ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻗﺎﻋﺪه‬ ‫ﺳﻪ‬ ‫ﻫﻤﯿﻦ‬ ‫ﺑﺎ‬ ، ‫ﻫﯿﭻ‬ ‫و‬ ‫آﯾﻨﺪ‬ ‫دﯾﮕﺮ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ) ‫از‬ ‫ﮐﻪ‬ F ‫اﺳﺘﻨﺘﺎج‬ ‫ﻗﺎﺑﻞ‬ ‫ﻧﺒﺎﺷﺪ‬ ( ‫ﻧﻤﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺰ‬ ‫آﯾﺪ‬ .  ‫ﺗﻮﺟﻪ‬ : ‫اﺛﺒﺎت‬ ‫ﻗﺎﺑﻞ‬ ‫آﺳﺎﻧﯽ‬ ‫ﺑﻪ‬ ‫اول‬ ‫ﻗﺎﻋﺪه‬ ‫ﺳﻪ‬ ‫ﻣﯽ‬ ‫اﺛﺒﺎت‬ ‫ﻫﻤﺎﻧﻬﺎ‬ ‫روي‬ ‫از‬ ‫دﯾﮕﺮ‬ ‫ﻗﻮاﻋﺪ‬ ‫و‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﺷﻮﻧﺪ‬ .
  • 45. 45 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ - ‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬ ) ‫اداﻣﻪ‬ (  ‫ﺗﻤﺮﯾﻦ‬ : ‫ﻗﺎﻋﺪه‬ 2 ‫ﮐﻨﯿﺪ‬ ‫اﺛﺒﺎت‬ ‫را‬ ) ‫ﺧﻠﻒ‬ ‫ﺑﺮﻫﺎن‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ .(  ‫اﺛﺒﺎت‬ : ‫ﺧﻠﻒ‬ ‫ﻓﺮض‬ : ‫ﮐﻪ‬ ‫ﮔﯿﺮﯾﻢ‬ A→C . ‫راﺑﻄﻪ‬ ‫در‬ ‫ﺻﻮرت‬ ‫اﯾﻦ‬ ‫در‬ R ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ازاي‬ ‫ﺑﻪ‬ ،‫ﺗﺎﭘﻞ‬ ‫دو‬ ‫ﺣﺪاﻗﻞ‬ ‫در‬ A ‫از‬ ‫ﻣﺘﻤﺎﯾﺰ‬ ‫ﻣﻘﺪار‬ ‫دو‬ ، C ‫دارﯾﻢ‬ .  ‫ﻣﺘﻤﺎﯾﺰ‬ ‫دوﻣﻘﺪار‬ ‫ازاي‬ ‫ﺑﻪ‬ ‫اﻣﺎ‬ C ‫ﻣﻘﺪار‬ ، B ‫ﺑﺎﺷﺪ‬ ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﻣﺘﻤﺎﯾﺰ‬ ‫ﻣﻘﺪار‬ ‫دو‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ .  ‫ﻓﺮض‬ ،‫اول‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ A→B ‫ﻓﺮض‬ ،‫دوم‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ ‫و‬ B→C ‫ﻣﯽ‬ ‫ﻧﻘﺾ‬ ‫ﺷﻮد‬ . ‫و‬ ‫اﺳﺖ‬ ‫ﺑﺎﻃﻞ‬ ‫ﺧﻠﻒ‬ ‫ﻓﺮض‬ ‫ﭘﺲ‬ ‫اﺳﺖ‬ ‫ﺑﺮﻗﺮار‬ ‫ﺣﮑﻢ‬ . R (A, B, C) R (A, B, C) R (A, B, C) a1 … c1 . . . . . a1 … c2 a1 b1 c1 . . . . . a1 b2 c2 a1 b1 c1 . . . . . a1 b1 c2 ‫دوم‬ ‫ﺣﺎﻟﺖ‬ ‫اول‬ ‫ﺣﺎﻟﺖ‬ /
  • 46. 46 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ - ‫ﻗﻮاﻋﺪ‬ ‫آرﻣﺴﺘﺮاﻧﮓ‬ ) ‫اداﻣﻪ‬ (  ‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬ ‫ﮐﺎرﺑﺮدﻫﺎي‬ 1 - ‫ﺻﻔﺖ‬ ‫ﺑﺴﺘﺎر‬ ‫ﻣﺤﺎﺳﺒﻪ‬ A : A+ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﺻﻔﺎﺗﯽ‬ ‫ﺗﻤﺎم‬ ‫ﻣﺠﻤﻮﻋﻪ‬ A ‫دارﻧﺪ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ، . ‫ﻧﮑﺘﻪ‬ : ‫اﮔﺮ‬ A+=HR ⇐ A ‫ﺳﻮﭘﺮﮐﻠﯿﺪ‬ ) ‫ﮐﺎﻧﺪﯾﺪ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻧﻪ‬ ‫و‬ ‫ﺳﻮﭘﺮﮐﻠﯿﺪ‬ ‫ﺗﺸﺨﯿﺺ‬ ‫اﻟﮕﻮرﯾﺘﻢ‬ ( 2 - ‫واﺑﺴﺘﮕﯽ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﺴﺘﺎر‬ ‫ﻣﺤﺎﺳﺒﻪ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫ﻫﺎي‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ : F+ ‫ﺗﻤﺎم‬ ‫ﻣﺠﻤﻮﻋﻪ‬ FD ‫از‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬ F ‫ﻣﯽ‬ ‫اﺳﺘﻨﺘﺎج‬ ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫ﺷﻮﻧﺪ‬ : F={A→B, B→C} ⇒ F+={A→B, B→C, A→C, (A,C)→(B,C), …}
  • 47. 47 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺎﺑﻌﯽ‬ ) ‫اداﻣﻪ‬ (  ‫ﻣﻬﻢ‬ ‫ﮐﺎرﺑﺮدﻫﺎي‬ F+ : 1 - ‫ﺑﻮدن‬ ‫ﻣﻌﺎدل‬ ‫ﺗﺸﺨﯿﺺ‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫دو‬ FD ‫راﺑﻄﻪ‬ ‫ﻫﺎي‬ ‫اي‬ R : ‫ﻧﻤﻮﻧﻪ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ F ‫و‬ G  ‫ﺑﻮدن‬ ‫ﻣﻌﺎدل‬ ‫ﺷﺮط‬ : F+=G+ ‫ﻫﺮ‬ FD ‫از‬ ‫ﮐﻪ‬ F ‫از‬ ،‫آﯾﺪ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ G ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻫﻢ‬ ‫آﯾﺪ‬ . 2 - ‫ﺗﺸﺨﯿﺺ‬ FD ‫اﻓﺰوﻧﻪ‬  ‫ﺗﺸﺨﯿﺺ‬ ‫ﺿﺎﺑﻄﻪ‬ : ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ f∈F ‫ﻫﺮﮔﺎه‬ ،‫ﮔﻮﯾﯿﻢ‬ ‫اﻓﺰوﻧﻪ‬ ‫را‬ : (F-f)+=F+  ‫ﻧﺒﻮد‬ ‫و‬ ‫ﺑﻮد‬ ‫ﯾﻌﻨﯽ‬ f ‫ﻣﺤﺎﺳﺒﻪ‬ ‫در‬ F+ ‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﺗﺎﺛﯿﺮي‬ .
  • 48. 48 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ - ‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬ ) ‫اداﻣﻪ‬ ( 3 - ‫ﮐﺎﻫﺶ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻣﺤﺎﺳﺒﻪ‬ ‫ﻧﺎﭘﺬﯾﺮ‬ FD ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎي‬ ‫دارد‬ ‫ﺷﺮط‬ ‫ﺳﻪ‬ : 1 - ‫ﻫﯿﭻ‬ FD ‫ﻧﺒﺎﺷﺪ‬ ‫اﻓﺰوﻧﻪ‬ ‫آن‬ ‫در‬ . 2 - ‫ﺳﻤﺖ‬ ‫راﺳﺖ‬ ‫ﻫﺮ‬ FD ‫ﺻﻔﺖ‬ ، ‫ﺳﺎده‬ ‫ﺑﺎﺷﺪ‬ . 3 - ‫ﺳﻤﺖ‬ ‫ﭼﭗ‬ ‫ﻫﺮ‬ FD ‫ﮐﺎﻫﺶ‬ ‫ﺧﻮد‬ ، ‫ﺑﺎﺷﺪ‬ ‫ﻧﺎﭘﺬﯾﺮ‬ : ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ‫در‬ X→Y ، X ‫ﮐﺎﻫﺶ‬ ‫را‬ ‫ﻧﺎﭘﺬﯾﺮ‬ ) ‫و‬ ‫واﺑﺴﺘﮕﯽ‬ X→Y ‫را‬ ‫ﮐﺎﻣﻞ‬ ( ‫ﻫﺮﮔﺎه‬ ،‫ﮔﻮﯾﯿﻢ‬ Y ‫از‬ ‫زﯾﺮﻣﺠﻤﻮﻋﻪ‬ ‫ﻫﯿﭻ‬ ‫ﺑﺎ‬ X ) ‫ﺧﻮد‬ ‫از‬ ‫ﻏﯿﺮ‬ X ( ، FD ‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ . ‫اﯾﻨﺼﻮرت‬ ‫ﻏﯿﺮ‬ ‫در‬ X ‫ﮐﺎﻫﺶ‬ ‫را‬ ‫واﺑﺴﺘﮕﯽ‬ ‫و‬ ‫ﮔﻮﯾﯿﻢ‬ ‫ﭘﺬﯾﺮ‬ X→Y ‫را‬ ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﮔﻮﯾﯿﻢ‬ . B A Y ‫آﻧﮕﺎه‬ ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫اﮔﺮ‬ X ‫ﮐﺎﻫﺶ‬ ‫و‬ ‫ﭘﺬﯾﺮ‬ X→Y ‫ﯾﮏ‬ FD ‫اﺳﺖ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ . (A, B) → Y ⇒ ‫ﻧﺎﮐﺎﻣﻞ‬ FD A → Y X
  • 49. 49 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺎﺑﻌﯽ‬ ) ‫اداﻣﻪ‬ (  ‫ﺗﻤﺮﯾﻦ‬ : ‫ﯾﮏ‬ ‫اﮔﺮ‬ FD ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮐﺎﻣﻞ‬ A→Y ‫آﻧﮕﺎه‬ ،‫ﺑﺎﺷﯿﻢ‬ ‫داﺷﺘﻪ‬ FD ‫ﻧﺎﮐﺎﻣﻞ‬ (A,B)→Y ‫ﻗﺎﺑﻞ‬ ‫آن‬ ‫از‬ ‫اﺳﺖ‬ ‫اﺳﺘﻨﺘﺎج‬ .  ‫اﺛﺒﺎت‬ : ‫از‬ ‫اﻓﺰاﯾﺶ‬ ‫ﻗﺎﻋﺪه‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ A→Y ‫ﻣﯽ‬ ‫ﻧﺘﯿﺠﻪ‬ ‫ﮔﯿﺮﯾﻢ‬ (A,B)→(Y,B) ‫دارﯾﻢ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻗﺎﻋﺪه‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ : (A,B)→B ‫ﯾﮏ‬ ‫ﮐﻪ‬ FD ‫و‬ ‫اﺳﺖ‬ ‫ﺑﺪﯾﻬﯽ‬ (A,B)→Y ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﺣﮑﻢ‬ ‫ﻫﻤﺎن‬ . ‫ﮐﺎﻫﺶ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫دارد؟‬ ‫ﮐﺎرﺑﺮدي‬ ‫ﭼﻪ‬ ‫ﻧﺎﭘﺬﯾﺮ‬ ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ) TFD :( ‫اﮔﺮ‬ A→B ، B→C ‫و‬ B→A ‫ﻣﯽ‬ ، ‫ﮔﻮﯾﯿﻢ‬ C ‫ﺑﺎ‬ A ، FD ‫از‬ ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ‫ﻃﺮﯾﻖ‬ B ‫دارد‬ . ‫اﮔﺮ‬ B→A ‫آن‬ ‫آﻧﮕﺎه‬ ،‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻗﺮار‬ ‫ﻫﻢ‬ FD ،‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ‫ﺑﺪﯾﻬﯽ‬ ) ‫ﻧﺎﻣﻬﻢ‬ ( ‫اﺳﺖ‬ . /
  • 50. 50 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬  ‫ﺗﻮﺟﻪ‬ : ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻣﻔﻬﻮم‬ ‫ﺑﺎ‬ ‫ﻓﻘﻂ‬ ،‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻓﺮم‬ ‫ﺳﻪ‬ ‫در‬ ) PK ( ‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﻫﺮ‬ ‫ﻧﻪ‬ ‫و‬ ‫ﮐﻨﯿﻢ‬ CK . 1NF : ‫راﺑﻄﻪ‬ R ‫در‬ 1NF ‫ﺗﮏ‬ ‫آن‬ ‫ﺻﻔﺎت‬ ‫ﺗﻤﺎم‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ ‫ﺑﺎﺷﺪ‬ ‫ﻣﻘﺪاري‬ .  ‫ﻣﯽ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫اﯾﻦ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺮ‬ ‫ﮔﻮﯾﺪ‬ ‫ﻧﺮﻣﺎل‬ ‫در‬ 1NF ‫اﺳﺖ‬ . 2NF : ‫راﺑﻄﻪ‬ R ‫در‬ 2NF ‫در‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ 1NF ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ) ‫ﺧﻮد‬ ‫ﮐﻪ‬ PK ‫ﯾﺎ‬ CK ‫ﺟﺰء‬ ‫و‬ ‫ﻧﺒﺎﺷﺪ‬ PK ‫ﯾﺎ‬ CK ‫ﻧﺒﺎﺷﺪ‬ ‫ﻫﻢ‬ ( ‫ﺑﺎ‬ ،‫آن‬ ‫در‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ،‫راﺑﻄﻪ‬ FD ‫ﮐﺎﻣﻞ‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ .  ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫دﯾﮕﺮ‬ ‫ﺑﯿﺎن‬ ‫ﺑﻪ‬ FD ‫ﺑﺎﺷﯿﻢ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ .  ‫ﺗﺒﺪﯾﻞ‬ ‫اﻟﮕﻮرﯾﺘﻢ‬ NF 1 ‫ﺑﻪ‬ NF 2 : ‫ﺣﺬف‬ FD ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬ ‫ﻣﻨﺎﺳﺐ‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫راﺑﻄﻪ‬ ‫ﻋﻤﻮدي‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻃﺮﯾﻖ‬ ‫از‬ . 3NF : ‫راﺑﻄﻪ‬ R ‫در‬ 3NF ‫در‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ 2NF ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﻓﻘﻂ‬ ،‫راﺑﻄﻪ‬ FD ‫ﺑﯽ‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫واﺳﻄﻪ‬ ) FD ‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﺑﺎواﺳﻄﻪ‬ .(  ‫ﺗﺒﺪﯾﻞ‬ ‫اﻟﮕﻮرﯾﺘﻢ‬ 2NF ‫ﺑﻪ‬ 3NF : ‫ﺣﺬف‬ FD ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎي‬ .
  • 51. 51 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ‫ﮐﺎدي‬ ) ‫اداﻣﻪ‬ ( ‫ﻣﯽ‬ ‫ﻗﯿﺪ‬ ‫ﻣﺜﺎﻟﯽ‬ ‫ﺗﺎ‬ ‫آن‬ ‫در‬ ‫و‬ ‫ﮐﻨﯿﻢ‬ 3NF ‫ﻣﯽ‬ ‫ﭘﯿﺶ‬ ‫روﯾﻢ‬ .  ‫ﻣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ ‫در‬ ‫اﻧﺘﺨﺎب‬ ‫و‬ ‫درس‬ ،‫داﻧﺸﺠﻮ‬ ‫ﺻﻔﺎت‬ ‫ﺗﻤﺎم‬ ،‫ﮐﻠﯽ‬ ‫ﺣﺎﻟﺖ‬ ‫در‬ ‫ﺑﺎﺷﻨﺪ‬ ‫ﺗﻮاﻧﻨﺪ‬ .  ‫ﻣﺤﯿﻂ‬ ‫ﻗﻮاﻋﺪ‬ : 1 - ‫ﻣﯽ‬ ‫ﺗﺤﺼﯿﻞ‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬ ‫در‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫ﮐﻨﺪ‬ . 2 - ‫ﻣﯽ‬ ‫ﺗﺤﺼﯿﻞ‬ ‫داﻧﺸﮑﺪه‬ ‫ﯾﮏ‬ ‫در‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫ﮐﻨﺪ‬ . 3 - ‫ﻣﯽ‬ ‫اراﺋﻪ‬ ‫داﻧﺸﮑﺪه‬ ‫ﯾﮏ‬ ‫در‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬ ‫ﺷﻮد‬ . R (STID, COID, STJ, STD, GR) 777 CO1 Phys D11 19 777 CO2 Phys D11 16 777 CO3 Phys D11 11 888 CO1 Math D12 16 888 CO2 Math D12 18 444 CO1 Math D12 13 555 CO1 Phys D11 14 555 CO2 Phys D11 12 FD ‫از‬ ‫ﻧﺎﺷﯽ‬ ‫ﻫﺎي‬ PK ) ‫ﭼﭗ‬ ‫ﺳﻤﺖ‬ PK ( GR COID STID STJ STD 1 2 3
  • 52. 52 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ (  ‫راﺑﻄﻪ‬ R ‫در‬ 1NF ‫اﺳﺖ‬ ) ‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﻘﺪاري‬ ‫ﺗﮏ‬ ‫ﺻﻔﺎت‬ ‫ﻫﻤﻪ‬ ‫ﭼﻮن‬ ( ‫ﻧﺮﻣﺎل‬ ‫ﺑﺎﯾﺪ‬ ‫و‬ ‫دارد‬ ‫آﻧﻮﻣﺎﻟﯽ‬ ‫وﻟﯽ‬ ‫ﺷﻮد‬ ‫ﺗﺮ‬ .  ‫آﻧﻮﻣﺎﻟﯽ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺎي‬ R : 1 - ‫درج‬ ‫در‬ : ‫را‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫درﻣﻮرد‬ ‫اﻃﻼع‬ ‫ﻓﻘﺮه‬ ‫اﯾﻦ‬ ‫ﮐﻦ‬ ‫درج‬ : 〈‘666’, ‘chem’, ‘D16’〉 ‫ﻧﺎﻣﻤﮑﻦ‬ ‫درج‬ : ‫ﭼﯿﺴﺖ‬ ‫ﺷﺪه‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﮐﻪ‬ ‫درﺳﯽ‬ ‫ﯾﮏ‬ ‫ﺣﺪاﻗﻞ‬ ‫ﻧﺪاﻧﯿﻢ‬ ‫ﺗﺎ‬ . 2 - ‫ﺣﺬف‬ ‫در‬ : ‫ﻣﯽ‬ ‫ﻓﺮض‬ ‫ﮐﻨﯿﻢ‬ ‘444’ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫را‬ ‫درس‬ ‫ﺗﮏ‬ ‫ﻫﻤﯿﻦ‬ ‫ﻓﻘﻂ‬ ‫ﻟﺤﻈﻪ‬ ‫اﯾﻦ‬ ‫در‬ . ‫را‬ ‫اﻃﻼع‬ ‫اﯾﻦ‬ ‫ﻓﻘﻂ‬ ‫ﮐﻦ‬ ‫ﺣﺬف‬ : 〈’444’, ‘CO1’, 13〉 ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﺣﺬف‬ ‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﻫﻢ‬ ‫ﻧﺎﺧﻮاﺳﺘﻪ‬ ‫اﻃﻼع‬ ‫اﻣﺎ‬ ‫ﺷﻮد‬ ‫ﺷﻮد‬ . 3 - ‫ﺑﻬﻨﮕﺎم‬ ‫در‬ ‫ﺳﺎزي‬ : ‫ﺷﻤﺎره‬ ‫ﺑﺎ‬ ‫داﻧﺸﺠﻮ‬ ‫ﺗﺤﺼﯿﻠﯽ‬ ‫رﺷﺘﻪ‬ ‫ﺗﻐﯿﯿﺮ‬ 777 ‫ﺑﻪ‬ Chem . ‫اﻧﺠﺎم‬ ‫ﺑﺮاي‬ ‫ﺑﻬﻨﮕﺎم‬ ‫دارﯾﻢ؛‬ ‫ﻓﺰوﻧﮑﺎري‬ ‫آن‬ ‫ﻣﻨﺘﺸﺮﺷﻮﻧﺪه‬ ‫ﺳﺎزي‬ ) Propagating Update .(
  • 53. 53 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ (  ‫آﻧﻮﻣﺎﻟﯽ‬ ‫دﻟﯿﻞ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺎي‬ R :  ‫ﻋﻤﻠﯽ‬ ‫دﯾﺪﮔﺎه‬ ‫از‬ : ‫در‬ ‫اﻃﻼﻋﺎت‬ ‫ﺑﺎ‬ ‫داﻧﺸﺠﻮ‬ ‫ﻣﻮﺟﻮدﯾﺖ‬ ‫ﺧﻮد‬ ‫ﻣﻮرد‬ ‫در‬ ‫اﻃﻼﻋﺎت‬ ‫ﯾﻌﻨﯽ‬ ،‫اﻃﻼﻋﺎت‬ ‫اﺧﺘﻼط‬ ‫ﭘﺪﯾﺪه‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻣﺨﻠﻮط‬ ‫درس‬ ‫اﻧﺘﺨﺎب‬ ‫ﻣﻮرد‬ .  ‫ﺗﺌﻮري‬ ‫دﯾﺪﮔﺎه‬ ‫از‬ : ‫وﺟﻮد‬ FD ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬  ‫اﯾﻦ‬ FD ‫ﺑﺮوﻧﺪ‬ ‫ﺑﯿﻦ‬ ‫از‬ ‫ﺑﺎﯾﺪ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬ . ‫راﺑﻄﻪ‬ ‫ﻣﻨﻈﻮر‬ ‫اﯾﻦ‬ ‫ﺑﺮاي‬ R ‫ﮐﻪ‬ ‫ﮐﻨﯿﻢ‬ ‫ﻋﻤﻮدي‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﭼﻨﺎن‬ ‫ﺑﺎﯾﺪ‬ ‫را‬ ‫راﺑﻄﻪ‬ ‫در‬ ،‫ﺣﺎﺻﻞ‬ ‫ﻫﺎي‬ FD ‫ﻧﺒﺎﺷﺪ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ .  ‫ﻋﻤﻠﮕﺮ‬ ‫از‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮاي‬ ‫ﭘﺮﺗﻮ‬ ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫ﮐﻨﯿﻢ‬ . ‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ﻣﻨﺠﺮ‬ ‫ﮐﻪ‬ ‫ﭘﺮﺗﻮي‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺷﻮد‬ . (STID, COID) → STJ STID → STJ (STID, COID) → STD STID → STD
  • 54. 54 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ ( Π STID,COID,GR (R) Π STID,STJ,STD (R) SCG (STID, COID, GR) ‫و‬ SSD (STID, STJ, STD) 777 CO1 19 777 CO2 16 777 CO3 11 888 CO1 16 888 CO2 18 444 CO1 13 555 CO1 14 555 CO2 12 777 Phys D11 888 Math D12 444 Math D12 555 Phys D11 GR COID STID STJ STD SSD SCG
  • 55. 55 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ (  ‫راﺑﻄﻪ‬ ‫آﻧﻮﻣﺎﻟﯽ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻫﺎي‬ ‫ﻫﺎي‬ R ‫ﻧﺪارﻧﺪ‬ ‫را‬ : 1 - ‫ﮐﻦ‬ ‫درج‬ : 〈’666’, ‘chem’, ‘D16’〉 ‫در‬ ‫ﻣﺸﮑﻞ‬ ‫ﺑﺪون‬ SSD ‫ﻣﯽ‬ ‫درج‬ ‫ﺷﻮد‬ . 2 - ‫ﮐﻦ‬ ‫ﺣﺬف‬ : 〈’444’, ‘CO1’, 13〉 ‫از‬ ‫ﻣﺸﮑﻞ‬ ‫ﺑﺪون‬ SCG ‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﺷﻮد‬ . 3 - ‫ﺑﻬﻨﮕﺎم‬ ‫ﮐﻦ‬ ‫ﺳﺎزي‬ : ‫داﻧﺸﺠﻮي‬ ‫رﺷﺘﻪ‬ ‫ﺗﻐﯿﯿﺮ‬ 777 ‫ﺑﻪ‬ ‫را‬ Chem ‫در‬ ‫ﻣﺸﮑﻞ‬ ‫ﺑﺪون‬ SSD ‫ﻣﯽ‬ ‫ﺑﺮوز‬ ‫ﺷﻮد‬ . GR COID STID STID STJ STD 1 2 3 SSD SCG
  • 56. 56 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ (  ،‫ﺟﺪﯾﺪ‬ ‫ﻃﺮاﺣﯽ‬ ‫در‬ FD ‫رﻓﺘﻨﺪ‬ ‫ﺑﯿﻦ‬ ‫از‬ ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬ . ‫ﺑﻨﺎﺑﺮاﯾﻦ‬ SSD ‫و‬ SCG ، 2NF ‫ﻫﺴﺘﻨﺪ‬ .  ‫ﺗﺎﮐﯿﺪ‬ : ‫راﺑﻄﻪ‬ R ، 2NF ‫در‬ ً‫ﻻ‬‫او‬ ‫ﻫﺮﮔﺎه‬ ‫اﺳﺖ‬ 1NF ،‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ً‫ﺎ‬‫ﺛﺎﻧﯿ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ FD ‫ﮐﺎﻣﻞ‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ) ،‫راﺑﻄﻪ‬ FD ‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ .(  ‫ﺗﻤﺮﯾﻦ‬ : ‫ﻫﻤﻪ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫آﯾﺎ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫ﺑﺮرﺳﯽ‬ FD ‫ﻣﯽ‬ ‫ﻣﺤﻔﻮظ‬ ‫ﻫﺎ‬ ‫ﻣﺎﻧﻨﺪ؟‬  ‫ﻧﮑﺘﻪ‬ : ،‫ﺗﺠﺰﯾﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﮐﻨﯿﻢ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎﯾﺪ‬ FD ‫ﻫﺮ‬ ‫ﭼﻮن‬ ،‫ﻧﺮود‬ ‫دﺳﺖ‬ ‫از‬ ‫اي‬ FD ‫اﺳﺖ‬ ‫ﻣﺤﯿﻂ‬ ‫در‬ ‫ﺟﺎﻣﻌﯿﺖ‬ ‫ﻗﺎﻋﺪه‬ ‫ﯾﮏ‬ .  ‫ﻧﻤﯽ‬ ‫دﺳﺖ‬ ‫از‬ ‫اﻃﻼﻋﯽ‬ ‫ﻫﯿﭻ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫رود‬ . ‫ﻫﺮ‬ ‫ﺑﻪ‬ ‫را‬ ‫اﺻﻠﯽ‬ ‫راﺑﻄﻪ‬ ‫ﮐﺎرﺑﺮ‬ ‫اﮔﺮ‬ ‫ﯾﻌﻨﯽ‬ ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﺟﺪﯾﺪ‬ ‫راﺑﻄﻪ‬ ‫دو‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﺑﺨﻮاﻫﺪ‬ ‫دﻟﯿﻠﯽ‬ ‫آﯾﺪ‬ . R = SCG ⋈ SSD
  • 57. 57 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ (  ‫در‬ ‫اﮔﺮ‬ ‫ﮐﻠﯽ‬ ‫ﺣﺎﻟﺖ‬ R1 ، R2 ، .... ‫و‬ Rn ‫از‬ ‫دﻟﺨﻮاه‬ ‫ﭘﺮﺗﻮﻫﺎي‬ R ‫ﺑﺎﺷﻨﺪ‬ ‫دارﯾﻢ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫وﺟﻮد‬ ‫ﻋﺪم‬ ‫ﺷﺮط‬ ‫ﺑﻪ‬ ، ) ‫ﻣﻤﮑﻦ‬ ‫ﺗﺎﭘﻞ‬ ‫اﺳﺖ‬ ‫ﺑﺮوز‬ ‫اﻓﺰوﻧﻪ‬ ‫ﻫﺎي‬ ‫ﮐﻨﺪ‬ :( R ⊆ R1 ⋈ R2 ⋈ ⋯ ⋈ Rn  ‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺣﺬف‬ : ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫اﯾﻦ‬ ‫ﺷﺮﻃﺶ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺻﻔﺎت‬ ‫در‬ ) Null Value ( ‫ﺑﺎﺷﯿﻢ‬ ‫ﻧﺪاﺷﺘﻪ‬ .  ‫ﻣﯽ‬ ‫ﭘﯿﺶ‬ ‫ﭼﻪ‬ ،‫ﺑﺎﺷﯿﻢ‬ ‫داﺷﺘﻪ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺻﻔﺎت‬ ‫در‬ ‫اﮔﺮ‬ ‫آﯾﺪ؟‬ (B, C, D, E) 2 (A, B) T 1 T ⇒ , B, C, D, E) A T( ‫ﺗﺎﭘﻞ‬ ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫از‬ ‫ﭘﯿﻮﻧﺪ‬ ‫در‬ ‫ﻫﺎﯾﯽ‬ ‫روﻧﺪ‬ . ‫ﺗﺎﭘﻞ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ‫ﺗﺎﭘﻞ‬ ،‫ﻫﺎ‬ ‫آوﻧﮕﺎن‬ ‫ﻫﺎي‬ ] ‫ﻣﻌﻠﻖ‬ ) [ Dangling ( ‫ﮔﻮﯾﯿﻢ‬ .  ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫اﯾﻦ‬ ‫ﺑﺮ‬ ‫ﻓﺮض‬ ‫ﻣﻌﻤﻮﻻ‬ ‫ﻧﺮﻣﺎﻟﺘﺮﺳﺎزي‬ ‫ﻣﺒﺎﺣﺚ‬ ‫در‬ ‫ﺻﻔﺖ‬ ) ‫ﺻﻔﺎت‬ ( ‫ﻧﺪارﻧﺪ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﭘﯿﻮﻧﺪ‬ .
  • 58. 58 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ (  ‫راﺑﻄﻪ‬ ‫آﯾﺎ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻫﺎي‬ ) SSD ‫و‬ SCG ( ‫ﻧﺪارﻧﺪ؟‬ ‫آﻧﻮﻣﺎﻟﯽ‬  ‫آﻧﻮﻣﺎﻟﯽ‬ ‫ﻫﺎي‬ SSD : 1 - ‫درج‬ ‫در‬ : ‫اﻃﻼع‬ : » ‫رﺷﺘﻪ‬ IT ‫داﻧﺸﮑﺪه‬ ‫در‬ D20 ‫ﻣﯽ‬ ‫اراﺋﻪ‬ ‫ﺷﻮد‬ . « ‫دﻟﯿﻞ‬ ‫ﺑﻪ‬ FD ‫ﺷﻤﺎره‬ 3 ‫درج‬ ‫ﻗﺎﺑﻞ‬ ‫ﺑﺎﯾﺪ‬ ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫اﻃﻼع‬ ‫اﯾﻦ‬ ، ‫اﺳﺖ‬ ‫ﻧﺎﻣﻤﮑﻦ‬ ‫درج‬ ‫اﻣﺎ‬ ،‫ﺑﺎﺷﺪ‬ . ‫ﺑﺸﻨﺎﺳﯿﻢ‬ ‫را‬ ‫رﺷﺘﻪ‬ ‫اﯾﻦ‬ ‫داﻧﺸﺠﻮي‬ ‫ﯾﮏ‬ ‫ﺣﺪاﻗﻞ‬ ‫ﺑﺎﯾﺪ‬ ،‫ﻧﺪارد‬ ‫ﮐﻠﯿﺪ‬ ‫ﭼﻮن‬ . 2 - ‫ﺣﺬف‬ ‫در‬ : ‫ﮐﻦ‬ ‫ﺣﺬف‬ 〈’666’, ‘Chem’〉 ‫رﺷﺘﻪ‬ ‫در‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫ﺗﻨﻬﺎ‬ ‫اﯾﻨﮑﻪ‬ ‫ﻓﺮض‬ ‫ﺑﺎ‬ ‫و‬ Chem ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺛﺒﺖ‬ . ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫ﺣﺬف‬ ‫اﻃﻼع‬ ‫وﻟﯽ‬ ‫ﺷﻮد‬ » ‫در‬ ‫ﺷﯿﻤﯽ‬ ‫رﺷﺘﻪ‬ D16 ‫ﻣﯽ‬ ‫اراﺋﻪ‬ ‫ﺷﻮد‬ « ‫ﻣﯽ‬ ‫ﺣﺬف‬ ‫ﻧﺎﺧﻮاﺳﺘﻪ‬ ، ‫ﺷﻮد‬ . 3 - ‫ﺑﻬﻨﮕﺎم‬ ‫در‬ ‫ﺳﺎزي‬ : » ‫ﮐﻨﯿﺪ‬ ‫ﻋﻮض‬ ‫را‬ ‫ﻓﯿﺰﯾﮏ‬ ‫رﺷﺘﻪ‬ ‫داﻧﺸﮑﺪه‬ ‫ﺷﻤﺎره‬ « . ‫ﺑﻬﻨﮕﺎم‬ ‫ﺑﺎﯾﺪ‬ ‫رﺷﺘﻪ‬ ‫اﯾﻦ‬ ‫داﻧﺸﺠﻮﯾﺎن‬ ‫ﺗﻤﺎم‬ ‫ﺗﻌﺪاد‬ ‫ﺑﻪ‬ ‫ﺷﻮد‬ ‫ﺳﺎزي‬ . SSD ‫ﻧﺮﻣﺎل‬ ‫ﺑﺎﯾﺪ‬ ‫ﺷﻮد‬ ‫ﺗﺮ‬ .
  • 59. 59 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ (  ‫آﻧﻮﻣﺎﻟﯽ‬ ‫دﻟﯿﻞ‬ ‫ﻫﺎي‬ SSD :  ‫آﻧﻮﻣﺎﻟﯽ‬ ‫دﻟﯿﻞ‬ ‫ﻫﺎي‬ SSD ‫وﺟﻮد‬ ، FD ‫اﺳﺖ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﺑﯿﻦ‬ ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ ) ‫دﻟﯿﻞ‬ ‫ﺑﻪ‬ FD ‫ﺷﻤﺎره‬ 3 .(  ‫اﯾﻦ‬ FD ‫ﺑﺮود‬ ‫ﺑﯿﻦ‬ ‫از‬ ‫ﺑﺎﯾﺪ‬ .  ‫ﮐﻨﯿﺪ‬ ‫ﻓﺮض‬ SSD ‫ﮐﻨﯿﻢ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ :  ‫ﺷﺪ‬ ‫ﮐﻢ‬ ‫اﻓﺰوﻧﮕﯽ‬ !  ‫ﺗﻤﺮﯾﻦ‬ : ‫راﺑﻄﻪ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫ﺑﺮرﺳﯽ‬ ‫آﻧﻮﻣﺎﻟﯽ‬ ‫ﺟﺪﯾﺪ‬ ‫ﻫﺎي‬ ‫ﻫﺎي‬ SSD ‫ﻧﺪارﻧﺪ‬ ‫را‬ . STID STJ STD 1 2 3 SSD SJ (STID, STJ) ‫و‬ SD (STJ, STD) Phys D11 Math D12 777 Phys 888 Math 444 Math 555 Phys
  • 60. 60 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻓﺮم‬ ‫ﮐﺎدي‬ ‫ﮐﻼﺳﯿﮏ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻫﺎي‬ ) ‫اداﻣﻪ‬ (  ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫ﻫﺎ‬ 3NF ‫ﻫﺴﺘﻨﺪ‬ .  ‫در‬ ً‫ﻻ‬‫او‬ 2NF ‫ﻫﺴﺘﻨﺪ‬ .  ً‫ﺎ‬‫ﺛﺎﻧﯿ‬ FD ‫ﻧﺪارﯾﻢ‬ ‫واﺳﻄﻪ‬ ‫ﺑﺎ‬ .  ‫ﺗﻤﺮﯾﻦ‬ : ‫ﻧﻤﯽ‬ ‫دﺳﺖ‬ ‫از‬ ‫اﻃﻼﻋﯽ‬ ‫ﻫﯿﭻ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻦ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫ﺑﺮرﺳﯽ‬ ‫و‬ ‫رود‬ FD ‫ﻣﯽ‬ ‫ﺣﻔﻆ‬ ‫ﻫﻢ‬ ‫ﻫﺎ‬ ‫ﺷﻮﻧﺪ‬ .  ‫ﺗﺎﮐﯿﺪ‬ : ‫راﺑﻄﻪ‬ R ‫در‬ 3NF ‫در‬ ً‫ﻻ‬‫او‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ 2NF ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ ً‫ﺎ‬‫ﺛﺎﻧﯿ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ FD ‫ﺑﯽ‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫واﺳﻄﻪ‬ ) ‫ﺗﻤﺎم‬ FD ‫از‬ ‫ﻧﺎﺷﯽ‬ ً‫ﺎ‬‫ﻣﺴﺘﻘﯿﻤ‬ ‫ﻫﺎ‬ PK ‫ﺑﺎﺷﺪ‬ .(  ‫ﻧﺘﯿﺠﻪ‬ : FD ‫ﺑﺮوﻧﺪ‬ ‫ﺑﯿﻦ‬ ‫از‬ ‫ﺑﺎﯾﺪ‬ ‫و‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﺰاﺣﻢ‬ ‫ﺑﺎواﺳﻄﻪ‬ ‫و‬ ‫ﻧﺎﮐﺎﻣﻞ‬ ‫ﻫﺎي‬ .  ‫راﺑﻄﻪ‬ ‫ﻋﻤﻞ‬ ‫در‬ ‫ﺗﺎ‬ ‫ﺣﺪاﻗﻞ‬ ‫ﺑﺎﯾﺪ‬ ‫ﻫﺎ‬ 3NF ‫ﺣﺘﯽ‬ ‫دﯾﺪ‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫و‬ ‫ﺷﻮﻧﺪ‬ ‫ﻧﺮﻣﺎل‬ ‫در‬ ‫اﻻﻣﮑﺎن‬ BCNF ‫ﺑﺎﺷﻨﺪ‬ ‫ﺑﯿﺸﺘﺮ‬ ‫ﯾﺎ‬ .  ‫راﺑﻄﻪ‬ ‫در‬ 3NF ‫ﮐﻪ‬ ‫دارﯾﻢ‬ » ‫ﺑﻮده‬ ‫ﯾﮏ‬ ) ‫واﻗﻌﯿﺖ‬ ( : ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ « ‫ﯾﺎ‬ ‫و‬ » ‫ﺷﯿﺊ‬ ‫ﯾﮏ‬ : ‫راﺑﻄﻪ‬ ‫ﯾﮏ‬ « . STID STJ STD STJ SJ SD
  • 61. 61 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ] ‫ﺗﮑﻤﯿﻠﯽ‬ ‫ﺑﺤﺚ‬ [ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬  ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ) Nonloss/Lossness Decomposition ( 1 - ‫ﺑﯽ‬ ‫ﺣﺸﻮ‬ : ‫ﺣﺸﻮ‬ ‫ﺗﺎﭘﻞ‬ ،‫ﭘﺮﺗﻮﻫﺎ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫در‬ ] ‫اﻓﺰوﻧﻪ‬ [ ‫ﻧﮑﻨﺪ‬ ‫ﺑﺮوز‬ . 2 - ‫ﺣﺎﻓﻆ‬ FD ‫ﻫﺎ‬ : ‫ﻫﯿﭻ‬ FD ‫ﻫﻤﻪ‬ ‫و‬ ‫ﻧﺮود‬ ‫دﺳﺖ‬ ‫از‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﺛﺮ‬ ‫در‬ ‫اي‬ FD ‫ﺷﻮﻧﺪ‬ ‫ﺣﻔﻆ‬ ‫اﺻﻠﯽ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺎي‬ . 3 - ‫ﺑﯽ‬ ‫ﺣﺬف‬ : ‫ﻧﺸﻮد‬ ‫ﺣﺬف‬ ‫ﺗﺎﭘﻠﯽ‬ ‫ﻫﯿﭻ‬ ‫ﭘﺮﺗﻮﻫﺎ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫در‬ ) ‫ﻧﺒﺎﺷﻨﺪ‬ ‫ﻫﯿﭽﻤﻘﺪار‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺻﻔﺎت‬ ‫ﯾﺎ‬ ‫ﺻﻔﺖ‬ .( 4 - ‫ﺻﻔﺎت‬ ‫ﺣﺎﻓﻆ‬ : ⋃ HRi = HR i∈{1,…,n}  ‫ﻋﻨﻮان‬ ‫ﺗﺤﺖ‬ ،‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺑﺤﺚ‬ ،‫ﮐﻼﺳﯿﮏ‬ ‫ﻣﺘﻮن‬ ‫ﺑﯿﺸﺘﺮ‬ ‫در‬ ‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺑﯽ‬ ‫ﯾﺎ‬ ‫ﮐﺎﺳﺖ‬ ‫ﮔﻤﺸﺪﮔﯽ‬ ) Nonloss/Lossless Decomposition ( ‫ﺑﯽ‬ ‫ﻫﻤﺎن‬ ‫ﻣﻨﻈﻮر‬ ‫ﮐﻪ‬ ،‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﻣﻄﺮح‬ ‫واﺑﺴﺘﮕﯽ‬ ‫ﺣﺎﻓﻆ‬ ‫و‬ ‫ﺣﺸﻮ‬ ‫ﻫﺎي‬ ‫اﺳﺖ‬ ‫ﺑﻮدن‬ ‫ﺗﺎﺑﻌﯽ‬ ) ‫ﭘﯿﺶ‬ ‫را‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫دﯾﮕﺮ‬ ‫وﯾﮋﮔﯽ‬ ‫دو‬ ‫و‬ ‫ﺑﺪاﻧﯿﻢ‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻓﺮض‬ .(  ‫ﻣﯽ‬ ‫اﻃﻼﻋﺎت‬ ‫از‬ ‫ﺑﺨﺸﯽ‬ ‫رﻓﺘﻦ‬ ‫دﺳﺖ‬ ‫از‬ ‫ﺑﺎﻋﺚ‬ ‫اﻓﺰوﻧﻪ‬ ‫ﺗﺎﭘﻠﻬﺎي‬ ‫واﻗﻊ‬ ‫در‬ ‫ﺷﻮﻧﺪ‬ . ‫ﭘﯿﺶ‬ ‫ﺑﺪﯾﻬﯽ‬ ‫ﯾﺎ‬ ‫ﻓﺮض‬
  • 62. 62 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ] ‫ﺗﮑﻤﯿﻠﯽ‬ ‫ﺑﺤﺚ‬ [ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ) ‫اداﻣﻪ‬ (  ‫ﻦ‬‫ﻧ‬‫رﯾﺴﺎ‬ ‫ﻗﻀﯿﻪ‬ ) Rissanen :(  ‫راﺑﻄﻪ‬ R ‫ﭘﺮﺗﻮش‬ ‫دو‬ ‫ﺑﻪ‬ ) R1 ‫و‬ R2 ( ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻣﯽ‬ ‫اﮔﺮ‬ ،‫ﺷﻮد‬ R1 ‫و‬ R2 ‫ﺑﺎﺷﻨﺪ‬ ‫ﻣﺴﺘﻘﻞ‬ ‫ﯾﮑﺪﯾﮕﺮ‬ ‫از‬ .  R1 ‫و‬ R2 ‫ﻣﺴﺘﻘﻞ‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫ﯾﮑﺪﯾﮕﺮﻧﺪ‬ ‫از‬ : - ‫آﻧﻬﺎ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫در‬ ‫ﺣﺪاﻗﻞ‬ ،‫ﻣﺸﺘﺮك‬ ‫ﺻﻔﺖ‬ CK ‫ﺑﺎﺷﺪ‬ ⇐ ‫ﺑﯽ‬ ‫ﺑﻮدن‬ ‫ﺣﺸﻮ‬ - ‫ﺗﻤﺎم‬ FD ‫ﻣﺠﻤﻮﻋﻪ‬ ‫در‬ ‫ﯾﺎ‬ ‫اﺻﻠﯽ‬ ‫راﺑﻄﻪ‬ ‫ﻫﺎي‬ FD ‫ﻫﺎي‬ R1 ‫و‬ R2 ً‫ﺎ‬‫ﻣﻨﻄﻘ‬ ‫آﻧﻬﺎ‬ ‫از‬ ‫ﯾﺎ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫ﺷﻮﻧﺪ‬ ‫اﺳﺘﻨﺘﺎج‬ ⇐ ‫ﺣﺎﻓﻆ‬ FD ‫ﻫﺎ‬  ‫ﻧﮑﺘﻪ‬ : ‫راﺑﻄﻪ‬ ‫در‬ ‫اﮔﺮ‬ ،‫رﯾﺴﺎﻧﻦ‬ ‫ﺿﻮاﺑﻂ‬ ‫اﺳﺎس‬ ‫ﺑﺮ‬ R(A, B, C) ‫واﺑﺴﺘﮕﯽ‬ ، ‫ﻫﺎي‬ A→B ، B→C ‫و‬ A→C ‫ﺑﺮﻗﺮار‬ ‫اﺳﺖ‬ ‫ﭼﻨﯿﻦ‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻨﺼﻮرت‬ ‫در‬ ،‫ﺑﺎﺷﺪ‬ : , B) A ( 1 R ‫و‬ , C) B ( 2 R .  ‫اﯾﻨﺠﺎ‬ ‫در‬ B ‫ﮐﺎﻫﺶ‬ ‫و‬ ‫دارﻧﺪ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ‫آن‬ ‫ﺑﻪ‬ ‫ﺻﻔﺎت‬ ‫ﻫﻤﻪ‬ ‫ﭼﻮن‬ ،‫اﺳﺖ‬ ‫ﮐﺎﻧﺪﯾﺪ‬ ‫ﮐﻠﯿﺪ‬ ‫دوم‬ ‫راﺑﻄﻪ‬ ‫در‬ ‫ﭘﺬﯾﺮ‬ ‫ﻧﯿﺴﺖ‬ ‫ﻫﻢ‬ .
  • 63. 63 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ] ‫ﺗﮑﻤﯿﻠﯽ‬ ‫ﺑﺤﺚ‬ [ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺧﻮب‬ ) ‫اداﻣﻪ‬ (  ‫ﻣﺜﺎل‬ : ‫راﺑﻄﻪ‬ SSD ‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫ﮔﯿﺮﯾﻢ‬ . ‫اﺳﺖ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻗﺎﺑﻞ‬ ‫دوﮔﺎﻧﯽ‬ ‫ﭘﺮﺗﻮﻫﺎي‬ ‫ﺑﻪ‬ ‫ﺷﮑﻞ‬ ‫ﺳﻪ‬ ‫ﺑﻪ‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ . , STD) STJ , STJ) SD ( STID SS ( , STD) STID , STJ) SD ( STID SS ( , STD) STJ , STD) SJ ( STID SS(  ‫ﺗﺠﺰﯾﻪ‬ I ‫دارد‬ ‫را‬ ‫ﻦ‬‫ﻧ‬‫رﯾﺴﺎ‬ ‫ﺷﺮط‬ ‫دو‬ ‫ﻫﺮ‬ ‫ﭼﻮن‬ ،‫اﺳﺖ‬ ‫ﺧﻮب‬ .  ‫ﺗﺠﺰﯾﻪ‬ II ‫ﭼﻮن‬ ،‫ﻧﯿﺴﺖ‬ ‫ﺧﻮب‬ FD ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫از‬ ‫دﻫﺪ‬ .  ‫ﺗﺤﺰﯾﻪ‬ III ‫ﭼﻮن‬ ،‫ﻧﯿﺴﺖ‬ ‫ﺧﻮب‬ FD ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫از‬ ‫دﻫﺪ‬ . I II III STID → STJ STJ → STD ⇒ STID → STD
  • 64. 64 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ BCNF  ‫اﺻﻄﻼح‬ : ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ ‫در‬ A→B ) A Determines B ( ‫ﺑﻪ‬ A ‫ﮔﻮﯾﻨﺪ‬ ‫دﺗﺮﻣﯿﻨﺎن‬ . BCNF : ‫راﺑﻄﻪ‬ R ‫در‬ BCNF ‫ﻫﺮ‬ ‫دﺗﺮﻣﯿﻨﺎن‬ ‫آن‬ ‫در‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ FD ‫ﮐﺎﻫﺶ‬ ‫و‬ ‫ﻣﻬﻢ‬ ،‫ﻧﺎﭘﺬﯾﺮ‬ CK ‫ﺑﺎﺷﺪ‬ .  ‫در‬ 3NF ‫راﺑﻄﻪ‬ ‫دﺗﺮﻣﯿﻨﺎن‬ ‫ﺑﺎﯾﺪ‬ ‫ﺗﻨﻬﺎ‬ ، PK ‫ﺑﺎﺷﺪ‬ .  ‫ﻣﯽ‬ ‫راﺑﻄﻪ‬ ‫ﭼﻮن‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ ‫ﺗﻮاﻧﺪ‬ CK ،‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ BCNF ‫از‬ 3NF ‫ﻗﻮي‬ ‫اﺳﺖ‬ ‫ﺗﺮ‬ . ‫راﺑﻄﻪ‬ ‫در‬ ‫زﯾﺮ‬ ‫ﻫﺎي‬ BCNF ‫ﻫﺴﺘﻨﺪ‬ . SCG(SID, COID, GR) SCGJD SJ (STID, STJ) SD (STJ, STD) STID STJ STD STJ SJ SD STID GR COID SCG C.K.
  • 65. 65 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ BCNF ) ‫اداﻣﻪ‬ (  BCNF ‫از‬ 3NF ‫ﻗﻮي‬ ‫اﺳﺖ‬ ‫ﺗﺮ‬ . ⇐ ‫ﻣﯽ‬ ‫راﺑﻄﻪ‬ ‫در‬ ‫ﺗﻮاﻧﺪ‬ 3NF ‫در‬ ‫اﻣﺎ‬ ،‫ﺑﺎﺷﺪ‬ BCNF ‫ﻧﺒﺎﺷﺪ‬ .  ‫ﺣﺎﻟﺖ‬ I : ‫راﺑﻄﻪ‬ R ‫ﯾﮏ‬ ‫ﻓﻘﻂ‬ CK ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ . ⇐ ‫اﮔﺮ‬ R ‫در‬ 3NF ‫در‬ ،‫ﺑﺎﺷﺪ‬ BCNF ‫ﻫﺴﺖ‬ ‫ﻫﻢ‬ ) ‫دﯾﺪه‬ ‫ﻣﺜﺎل‬ ‫ﺷﺪه‬ .(  ‫ﺣﺎﻟﺖ‬ II : ‫راﺑﻄﻪ‬ R ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ CK ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ .  II - 1 ( CK ‫ﺑﺎﺷﻨﺪ‬ ‫ﻣﺠﺰا‬ ‫ﻫﺎ‬ ) ‫ﺑﺎﺷﻨﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﻣﺸﺘﺮك‬ ‫ﺻﻔﺖ‬ .( ⇐ ‫اﮔﺮ‬ R ‫در‬ 3NF ‫در‬ ،‫ﺑﺎﺷﺪ‬ BCNF ‫ﻫﻢ‬ ‫ﻫﺴﺖ‬ .  II - 2 ( CK ‫ﻫﻢ‬ ‫ﻫﺎ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫ﭘﻮﺷﺎ‬ . ⇐ ‫اﮔﺮ‬ R ‫در‬ 3NF ‫در‬ ً‫ﺎ‬‫ﻟﺰوﻣ‬ ،‫ﺑﺎﺷﺪ‬ BCNF ‫ﻧﯿﺴﺖ‬ .
  • 66. 66 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ BCNF ) ‫اداﻣﻪ‬ ( ‫ﺣﺎﻟﺖ‬ ‫ﺑﺮاي‬ II - 1 ‫ﻫﻢ‬ ‫دو‬ ‫ﻫﺮ‬ ،‫دﺗﺮﻣﯿﻨﺎن‬ ‫دو‬ CK ‫ﻫﺴﺘﻨﺪ‬ . ‫ﺣﺎﻟﺖ‬ ‫ﺑﺮاي‬ II - 2 ) ‫ﻓﺮض‬ : ‫ﻧﺪارﻧﺪ‬ ‫ﯾﮑﺴﺎن‬ ‫ﻧﺎم‬ ‫داﻧﺸﺠﻮﯾﯽ‬ ‫دو‬ ‫ﻫﯿﭻ‬ (. ST (STID, STNAME, STNC, STJ, STL, …) C.K. C.K. STID STNAME STJ STNC STL STID STNAME GR COID SCNG (STID, COID, STNAME, GR) C.K. C.K.
  • 67. 67 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ BCNF ) ‫اداﻣﻪ‬ (  ‫ﮐﻪ‬ ‫ﮐﻨﯿﻢ‬ ‫ﭘﯿﺪا‬ ‫راﺑﻄﻪ‬ ‫در‬ ‫دﺗﺮﻣﯿﻨﺎن‬ ‫ﯾﮏ‬ ‫اﺳﺖ‬ ‫ﮐﺎﻓﯽ‬ CK ‫ﻧﺒﺎﺷﺪ‬ . ⇐ ‫راﺑﻄﻪ‬ BCNF ‫ﻧﯿﺴﺖ‬ .  ‫اﺳﺖ؟‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ ‫ﮐﺪام‬ ‫در‬ ‫ﭘﺲ‬  1NF ‫ﻫﺴﺖ‬ . ‫ﺻﻔﺖ‬ ‫ﭼﻮن‬ ‫ﺗﮏ‬ ‫ﻫﺎ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﻣﻘﺪاري‬ .  2NF ‫ﻫﺴﺖ‬ . ‫ﭼﻮن‬ FD ‫ﻧﺪارﯾﻢ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ . ⇐ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﻧﺎﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ ‫ﻫﺮ‬ FD ‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ . ⇐ ‫اﯾﻨﺠﺎ‬ ‫در‬ STNAME ‫ﭘﺲ‬ ،‫ﻧﯿﺴﺖ‬ ‫ﻏﯿﺮﮐﻠﯿﺪ‬ ‫ﺻﻔﺖ‬ FD ‫ﻧﯿﺴﺖ‬ ‫ﻧﺎﮐﺎﻣﻞ‬ .  3NF ‫ﻫﺴﺖ‬ . ‫ﭼﻮن‬ FD ‫ﻧﺪارﯾﻢ‬ ‫اﺻﻠﯽ‬ ‫ﮐﻠﯿﺪ‬ ‫ﺑﺎ‬ ‫ﺑﺎواﺳﻄﻪ‬ .  ‫ﻣﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫آﯾﺎ‬ ‫ﺷﻮد؟‬ ‫دو‬ ‫ﻫﺮ‬ BCNF ‫ﻫﺴﺘﻨﺪ‬ . ⇒  ‫ﻣﯽ‬ ‫ﻫﻢ‬ ‫دﯾﮕﺮ‬ ‫ﻃﺮز‬ ‫آﯾﺎ‬ ‫ﺟﺎي‬ ‫ﺑﻪ‬ ،‫ﺑﻠﻪ‬ ‫ﮐﺮد؟‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺷﻮد‬ STID ‫در‬ SCG ، STNAME ‫ﺑﮕﺬارﯾﻢ‬ . SCG(STID, COID, GR) SSN (STID, STNAME) C.K. C.K. C.K.
  • 68. 68 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ BCNF ) ‫اداﻣﻪ‬ (  ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫اﺻﻠﯽ‬ ‫راﺑﻄﻪ‬ ،‫ﭘﺮﺗﻮﻫﺎ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺑﺎ‬ ‫ﯾﻌﻨﯽ‬ ‫اﺳﺖ؛‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫دﻫﯿﺪ‬ ‫ﻧﺸﺎن‬ ‫ﻫﯿﭻ‬ ‫آﯾﺪو‬ FD ‫دﺳﺖ‬ ‫از‬ ‫ﻧﻤﯽ‬ ‫رود‬ .  ‫ﭘﺪﯾﺪه‬ ‫ﭼﻪ‬ ‫ﻣﯽ‬ ‫دﯾﺪه‬ ‫اﯾﻨﺠﺎ‬ ‫در‬ ‫اي‬ ‫دارد‬ ‫اﻃﻼﻋﺎت‬ ‫اﺧﺘﻼط‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫ﺷﻮد؟‬ ! ‫ﻫﻤﻪ‬ ‫اﯾﻦ‬ ‫ﺑﺎ‬ 3NF ‫اﺳﺖ‬ .  ‫ﻧﮑﺘﻪ‬ : ‫ﻣﯽ‬ ‫اﯾﺠﺎب‬ ‫اﻃﻼﻋﺎت‬ ‫اﺧﺘﻼط‬ ‫وﺟﻮد‬ ‫ﺻﺮف‬ ‫ﺑﺎﺷﺪ‬ ‫ﺿﻌﯿﻔﯽ‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ ‫در‬ ‫راﺑﻄﻪ‬ ‫ﮐﻪ‬ ‫ﮐﻨﺪ‬ .  ‫ﺗﻤﺮﯾﻦ‬ : ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﻮاﻋﺪ‬ ،‫داﻧﺸﮑﺪه‬ ‫ﻣﺤﯿﻂ‬ : 1 - ‫ﻣﯽ‬ ‫اﻧﺘﺨﺎب‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫را‬ ‫درس‬ ‫ﯾﮏ‬ ‫داﻧﺸﺠﻮ‬ ‫ﯾﮏ‬ ‫ﮐﻨﺪ‬ . 2 - ‫ﻣﯽ‬ ‫ﺗﺪرﯾﺲ‬ ‫درس‬ ‫ﯾﮏ‬ ‫ﻓﻘﻂ‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬ ‫ﮐﻨﺪ‬ . 3 - ‫ﻣﯽ‬ ‫اراﺋﻪ‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﯿﺶ‬ ‫ﺗﻮﺳﻂ‬ ‫درس‬ ‫ﯾﮏ‬ ‫ﺷﻮد‬ . SCNG (STID, COID, STNAME, GR) C.K. C.K.
  • 69. 69 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ BCNF ) ‫اداﻣﻪ‬ (  ‫ﻣﯽ‬ ‫ﻓﺮض‬ ‫اﺳﺖ‬ ‫ﮐﺮده‬ ‫ﻃﺮاﺣﯽ‬ ‫را‬ ‫زﯾﺮ‬ ‫راﺑﻄﻪ‬ ‫ﻃﺮاح‬ ‫ﮐﻨﯿﻢ‬ .  ‫اﺳﺖ؟‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ ‫ﮐﺪام‬ ‫در‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬  ،‫ﻗﻮاﻋﺪ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ ‫ﺑﺎﯾﺪ‬ ‫اﺑﺘﺪا‬ CK ‫ﮐﻨﯿﻢ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬ ‫ﻫﺎ‬ . ‫ﻧﻤﻮدار‬ ‫ﺳﭙﺲ‬ FD ‫ﮐﻨﯿﻢ‬ ‫رﺳﻢ‬ ‫را‬ .  ‫دارد؟‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ،‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫آﯾﺎ‬  ‫ﻧﮑﺘﻪ‬ : ً‫ﻼ‬‫ﻣﺜ‬ ‫راﺑﻄﻪ‬ ‫اﮔﺮ‬ 3NF ‫راﺑﻄﻪ‬ ‫ﺗﺎ‬ ‫ﮐﻨﯿﻢ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﻧﺒﺎﯾﺪ‬ ،‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ‫ﺣﺎﺻﻞ‬ ‫ﻫﺎي‬ BCNF ‫ﺑﺎﺷﺪ‬ .  ‫در‬ ‫ﻓﻮق‬ ‫راﺑﻄﻪ‬ 3NF ‫اﯾﻦ‬ ‫ﻓﻮق‬ ‫ﻧﮑﺘﻪ‬ ‫از‬ ‫و‬ ‫اﺳﺖ‬ ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻣﻬﻢ‬ ‫ﻧﺘﯿﺠﻪ‬ ‫آﯾﺪ‬ ‫ﻧﺪارد‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫راﺑﻄﻪ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ . SCNG (ST#, CO#, PR#) C.K. C.K.
  • 70. 70 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺑﺮرﺳﯽ‬ ‫ﮐﺎﺳﺖ‬ ] ‫ﺗﮑﻤﯿﻠﯽ‬ ‫ﺑﺤﺚ‬ [ ‫ﻫﯿﺚ‬ ‫ﻗﻀﯿﻪ‬ ) Heath :( ‫راﺑﻄﻪ‬ ‫در‬ R(A, B, C) ‫آن‬ ‫در‬ ‫ﮐﻪ‬ ، A ، B ‫و‬ C ‫اﮔﺮ‬ ،‫ﻫﺴﺘﻨﺪ‬ ‫ﺻﻔﺎت‬ ‫از‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺳﻪ‬ A→B ) ‫در‬ F+ ‫ﺑﺎﺷﺪ‬ ( ‫ﺗﺠﺰﯾﻪ‬ ‫آﻧﮕﺎه‬ ، R ‫ﺑﻪ‬ ‫دو‬ ‫ﭘﺮﺗﻮ‬ R1(A, B) ‫و‬ R2(A, C) ، ‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﮐﺎﺳﺖ‬ ) Nonloss ( ‫اﺳﺖ‬ . ‫ﺷﺮاﯾﻂ‬ ‫ﺑﺮﻗﺮاري‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫دﻗﺖ‬ ‫ﻫﯿﺚ‬ ‫ﻗﻀﯿﻪ‬ ‫ﺑﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﯾﮏ‬ ، ‫ﮐﺎﺳﺖ‬ ) ‫ﺣﺎﻓﻆ‬ ‫ﮐﻪ‬ ‫ﺧﻮب‬ ‫ﻟﺰوﻣﺎ‬ ‫ﻧﻪ‬ ‫و‬ FD ‫ﺑﺎﺷﺪ‬ ( ‫ﺗﻀﻤﯿﻦ‬ ‫را‬ ‫ﻣﯽ‬ ‫ﺷﺮاﯾﻂ‬ ‫ﺑﺮﻗﺮاري‬ ‫اﻣﺎ‬ ‫ﻧﻤﺎﯾﺪ‬ ‫رﯾﺴﺎﻧﻦ‬ ‫ﻗﻀﯿﻪ‬ ‫ﻣﯽ‬ ‫ﺗﻀﻤﯿﻦ‬ ‫را‬ ‫ﺧﻮب‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﯾﮏ‬ ، ‫ﻧﻤﺎﯾﺪ‬ . ‫رﯾﺴﺎﻧﻦ‬ ‫ﻗﻀﯿﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫واﺿﺢ‬ ‫اﺳﺖ‬ ‫ﺑﺮﻗﺮار‬ ‫ﻧﯿﺰ‬ ‫ﻫﯿﺚ‬ ‫ﻗﻀﯿﻪ‬ ‫ﺷﺮاﯾﻂ‬ . ‫از‬ ‫دﯾﮕﺮ‬ ‫ﺑﯿﺎﻧﯽ‬ ‫ﻫﯿﺚ‬ ‫ﻗﻀﯿﻪ‬ ‫ﻋﻨﻮان‬ ‫ﺗﺤﺖ‬ ‫ﺗﺴﺖ‬ NJB ‫اﺳﺖ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ . ‫ﺑﯽ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺗﺴﺖ‬ ‫دودوﯾﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ ‫ﺑﺮاي‬ ‫ﺣﺸﻮ‬ ) NJB- Nonadditive Join Test for Binary Decompositions :( ‫دودوﯾﯽ‬ ‫ﺗﺠﺰﯾﻪ‬ D={R1, R2} ‫راﺑﻄﻪ‬ ‫از‬ R ‫ﺑﯽ‬ ‫ﭘﯿﻮﻧﺪ‬ ‫ﺧﺎﺻﯿﺖ‬ ‫ﺑﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎ‬ ‫زﯾﺮ‬ ‫ﻣﻮارد‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫اﮔﺮ‬ ‫ﺗﻨﻬﺎ‬ ‫و‬ ‫اﮔﺮ‬ ‫دارد‬ ‫ﺣﺸﻮ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ FD ‫ﻫﺎي‬ F ‫ﺑﺎﺷﺪ‬ ‫ﺑﺮﻗﺮار‬ : - ‫ﺗﺎﺑﻌﯽ‬ ‫واﺑﺴﺘﮕﯽ‬ (R1∩R2) → (R1 – R2) ‫در‬ F+ ‫ﯾﺎ‬ ‫ﺑﺎﺷﺪ‬ - ‫واﺑﺴﺘﮕﯽ‬ ‫ﺗﺎﺑﻌﯽ‬ (R1∩R2) → (R2 – R1) ‫در‬ F+ ‫ﺑﺎﺷﺪ‬ .
  • 71. 71 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ 4NF 4NF : ‫راﺑﻄﻪ‬ R ‫در‬ 4NF ‫در‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ ‫اﺳﺖ‬ BCNF ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫واﺑﺴﺘﮕﯽ‬ ‫و‬ ‫ﺑﺎﺷﺪ‬ ) MVD ( ‫ﻣﻬﻢ‬ ‫در‬ ‫ﺑﺎﺷﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫آن‬ . ‫ﭼﻨﺪﻣﻘﺪاري‬ ‫واﺑﺴﺘﮕﯽ‬ ) MVD :( ‫راﺑﻄﻪ‬ ‫در‬ R(A, B, C) ) ‫ﺻﻔﺖ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺳﻪ‬ ‫ﯾﺎ‬ ‫ﺻﻔﺖ‬ ‫ﺳﻪ‬ ‫ﺑﺎ‬ ‫راﺑﻄﻪ‬ ( ، ‫ﺻﻔﺖ‬ B ‫ﺻﻔﺖ‬ ‫ﺑﺎ‬ A ، MVD ‫دارد‬ ) A→→B ( ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ازاي‬ ‫ﺑﻪ‬ ‫اﮔﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫اﮔﺮ‬ A ‫ﻣﺠﻤﻮﻋﻪ‬ ، ‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫اي‬ B ‫ﺑﺎﺷﺪ‬ ‫ﻣﺘﻨﺎﻇﺮ‬ . ] ‫ﯾﻌﻨﯽ‬ ‫از‬ ‫ﻣﺸﺨﺺ‬ ‫ﺟﻔﺖ‬ ‫ﻫﺮ‬ ‫ازاي‬ ‫ﺑﻪ‬ ) A,C ( ‫ﻣﻘﺎدﯾﺮ‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ، B ‫ﺗﻐﯿﯿﺮات‬ ‫ﺑﺎ‬ ‫ﻓﻘﻂ‬ A ‫ﮐﻨﺪ‬ ‫ﺗﻐﯿﯿﺮ‬ [. R (A, B, C) b1 a1 b2 c1 b3 b1 a1 b2 c2 b3 a2 b1 ci b7 A →→B
  • 72. 72 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ 4NF ) ‫اداﻣﻪ‬ (  ‫ﻧﮑﺎت‬ : 1 - ‫اﮔﺮ‬ B⊆A ‫ﺑﻪ‬ ،‫ﺑﺎﺷﺪ‬ A→→B ‫ﻣﯽ‬ ‫ﮔﻮﯾﯿﻢ‬ MVD ‫ﺑﺪﯾﻬﯽ‬ ] ‫ﻧﺎﻣﻬﻢ‬ [ ‫اﮔﺮ‬ A∪B=HR ‫ﺑﻪ‬ ،‫ﺑﺎﺷﺪ‬ A→→B ‫ﻣﯽ‬ ‫ﮔﻮﯾﯿﻢ‬ MVD ‫ﺑﺪﯾﻬﯽ‬ ] ‫ﻧﺎﻣﻬﻢ‬ [ 2 - MVD ‫راﺑﻄﻪ‬ ‫در‬ ‫ﺻﻔﺖ‬ ‫ﺳﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎي‬ ] ‫ﻣﺮﮐﺐ‬ ‫ﯾﺎ‬ ‫ﺳﺎده‬ [ ‫ﻫﻤﯿﺸﻪ‬ ‫ﺟﻔﺖ‬ ‫اﺳﺖ‬ . If A→→B then A→→(H-{A,B}) ‫ﯾﺎ‬ A→→C ‫از‬ ‫ﻣﻘﺪار‬ ‫ﺟﻔﺖ‬ ‫ﯾﮏ‬ ‫ﺟﺎي‬ ‫ﺑﻪ‬ ‫اﺳﺖ‬ ‫ﮐﺎﻓﯽ‬ ‫ﻧﮑﺘﻪ‬ ‫اﯾﻦ‬ ‫اﺛﺒﺎت‬ ‫ﺑﺮاي‬ (A, C) ‫ﺟﻔﺖ‬ ‫ﯾﮏ‬ ، (A, B) ‫آن‬ ،‫ﺑﮕﯿﺮﯾﻢ‬ ‫را‬ ‫ﺑﺮاي‬ ‫ﻣﺠﻤﻮﻋﻪ‬ C ‫ﻣﯽ‬ ‫ﺗﺸﮑﯿﻞ‬ ‫ﺷﻮد‬ . 3 - ‫ﺑﺮاي‬ MVD ‫ﺑﻪ‬ ‫ﻣﺮﺑﻮط‬ ‫ﻗﻮاﻋﺪ‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ ‫آرﻣﺴﺘﺮاﻧﮓ‬ ‫ﻗﻮاﻋﺪ‬ ‫ﻫﻢ‬ FD ‫اﺳﺖ‬ ‫ﻣﺘﻔﺎوت‬ ‫ﻫﺎ‬ .
  • 73. 73 ‫ﻫﺸﺘﻢ‬ ‫ﺑﺨﺶ‬ : ‫راﺑﻄﻪ‬ ‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﻃﺮاﺣﯽ‬ ‫اي‬ ‫ﻧﺮﻣﺎل‬ ‫ﻓﺮم‬ 4NF ) ‫اداﻣﻪ‬ ( ‫ﻣﯽ‬ ‫آزﻣﺎﯾﺸﮕﺎه‬ ‫ﮔﺰارش‬ ‫داﻧﺸﺠﻮ‬ ‫از‬ ‫اﺳﺘﺎد‬ ‫ﮔﯿﺮد‬ .  ‫دارد‬ ‫وﺟﻮد‬ ‫ﺧﺎص‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫ﯾﮏ‬ ‫ﻣﺤﯿﻂ‬ ‫اﯾﻦ‬ ‫در‬ : ‫ﻫﺮ‬ ،‫ﮔﺮوه‬ ‫ﯾﮏ‬ ‫داﻧﺸﺠﻮﯾﺎن‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫از‬ ‫اﺳﺘﺎد‬ ‫ﯾﮏ‬ ‫ﮔﺰارش‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻣﯽ‬ ‫را‬ ‫ﮔﺰارش‬ ‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﯾﮏ‬ ‫ﻫﺎي‬ ‫ﮔﯿﺮد‬ .  ‫ﻣﺠﻤﻮﻋﻪ‬ ‫اﯾﻦ‬ ،‫ﻧﺒﺎﺷﺪ‬ ‫ﻣﻌﻨﺎﯾﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫اﯾﻦ‬ ‫اﮔﺮ‬ ‫ﻧﻤﯽ‬ ‫ﺷﮑﻞ‬ ‫ﻫﺎ‬ ‫ﮔﯿﺮد‬ . NNPSR ( PR#, ST#, RE# ) 777 R1 PR1 888 R2 444 PR2 777 R3 666 … … ... ‫ﺻﻔﺖ‬ ‫ﺑﺎ‬ ‫ﻏﯿﺮﻧﺮﻣﺎل‬ ‫راﺑﻄﻪ‬ ‫ﭼﻨﺪﻣﻘﺪاري‬ NNPSR ( PR#, ST#, RE# )