00:00:03
ડેટાબેઝ મેનેજમેન્ટ
સિસ્ટમ્સના વિશે
00:00:04
ચર્ચા કરી રહ્યા
છીએ. અને આ ચોથો ભાગ
00:00:08
છે. તે શ્રેણીમાં
ચોથું મોડ્યુલ છે.
00:00:11
છેલ્લા મોડ્યુલમાં,
આપણે ફંક્શનલ ડિપેન્ડન્સીસ
00:00:14
લોસલેસ વિશે ચર્ચા
કરી છે. તેથી, આ પાયાના
00:00:18
એલ્ગોરિધમ્સ અને
વિભાવનાઓ પર આધારિત
00:00:20
છે.
00:00:21
આપણે આજના મોડ્યુલમાં
રિલેશનલ ડેટાબેઝના
00:00:23
કોર ડિઝાઇન પાસાઓને
સમજીશું. તે એક સામાન્ય
00:00:27
સ્વરૂપ છે. અને તે
રિલેશનલ ડિઝાઇનના
00:00:30
સંદર્ભમાં કેટલા
મહત્વપૂર્ણ છે. આપણે
00:00:32
ખાસ કરીને રિલેશનલ
સ્કીમાના ત્રીજા
00:00:35
સામાન્ય સ્વરૂપમાં
અને બોયસ કોડ વિશે
00:00:38
શીખીશું.
00:00:39
તેથી, આપણા વિષયો
3NF અને BCNF માં ત્રીજા
00:00:42
સામાન્ય સ્વરૂપનું
ડિકમ્પોઝિશન હશે.
00:00:44
તેથી, સામાન્ય સ્વરૂપોથી
શરૂ થાય છે.
00:00:47
તેથી, સામાન્ય સ્વરૂપો
અથવા સ્કીમાનું સામાન્યકરણ
00:00:50
એ ડેટાબેઝમાં ડેટાને
ગોઠવવા માટે શુદ્ધિકરણની
00:00:53
એક ટેક્નીક છે. તેથી,
સ્વાભાવિક રીતે પ્રશ્ન
00:00:57
ઊભો થાય છે કે આપણે
સંભવતઃ E-R ડાયાગ્રામ
00:01:01
આધારિત અભિગમ પર
આધારિત ડિઝાઇન કર્યા
00:01:04
પછી શા માટે આ શુદ્ધિકરણ
કરવાની જરૂર છે કે
00:01:08
જેની આપણે વાત કરી
હતી. આપણે એકમોને
00:01:12
ઓળખી કાઢ્યા હતા.
અને આપણે તેમની એન્ટીટીઝ
00:01:15
માટેના લક્ષણો ઓળખી
કાઢ્યા હતા. તો પછી
00:01:19
આપણે શા માટે સામાન્ય
કરવાની જરૂર છે?
00:01:22
આ પ્રશ્નનો જવાબ
એ હકીકતમાં રહેલો
00:01:25
છે કે રિલેશનલ સ્કીમા
માટેની ડિઝાઇન ડેટાના
00:01:29
સંદર્ભમાં વિવિધ
વિસંગતતાઓને જન્મ
00:01:31
આપી શકે છે. આ સામાન્ય
રીતે ત્રણ વિસંગતતાઓ
00:01:35
છે જે અમને સૌથી વધુ
નિવેશ, અપડેટ અને
00:01:39
કાઢી નાખવાની વિસંગતતાની
ચિંતા કરે છે. તેથી,
00:01:42
જ્યારે સ્કીમાના
સંદર્ભમાં ડેટામાં
00:01:44
રીડન્ડન્સી હોય ત્યારે
વિસંગતતાઓ થાય છે.
00:01:47
અને ત્યાં રીડન્ડન્ટ
ડેટા હશે કે કેમ, અને
00:01:51
કેટલો રીડન્ડન્ટ
ડેટા હશે તે ડેટાબેઝ
00:01:54
સ્કીમાની ડિઝાઇન
પર આધાર રાખે છે, જે
00:01:58
આપણે તેના માટે ઉપયોગ
કરી રહ્યા છીએ, તે
00:02:02
સામાન્ય ફોર્મની
ડિઝાઇન પર આધારિત
00:02:04
છે.
પરંતુ જો આપણી પાસે
00:02:07
રીડન્ડન્સી હોય તો
તેમાં વિસંગતતાઓ
00:02:09
થવાની સંભાવના છે.
અને તેથી, આપણે રીડન્ડન્સી
00:02:13
ઘટાડવા અને આ વિસંગતતામાંથી
છુટકારો મેળવવા માંગીએ
00:02:16
છીએ.
00:02:17
તેથી, આપણે ઝડપથી
વિસંગતતાઓ પર એક
00:02:20
નજર નાખીશું. જે એ
છે કે આપણે પ્રથમ
00:02:24
જેની વાત કરી રહ્યા
છીએ. તેને અપડેટ વિસંગતતા
00:02:28
કહેવામાં આવે છે.
તેથી, આપણે તમને ડેટાબેઝના
00:02:31
એક ઉદાહરણનો સ્નેપશોટ
બતાવી રહ્યા છીએ.
00:02:34
જેમાં ત્રણ એટ્રીબ્યૂટ્સ
છે. અને તમે કર્મચારી
00:02:38
કોડ 519 માટે છેલ્લી
બે રોઝમાં બે અલગ-અલગ
00:02:42
સરનામાંઓ છે. તેથી,
જો આપણે જાણીએ છીએ
00:02:45
કે કર્મચારી પાસે
અનન્ય સરનામું હશે.
00:02:48
અથવા બીજા શબ્દોમાં
કહીએ તો કર્મચારી
00:02:51
ID → કર્મચારીનું સરનામું
હશે. તો આ પરિસ્થિતિ
00:02:55
શક્ય નથી.
તેથી, પરંતુ જ્યારે
00:02:57
આપણે અપડેટ કરવાનો
પ્રયાસ કરીએ છીએ.
00:03:00
ત્યારે તે ઉદાહરણ
તરીકે છે, કર્મચારીઓનું
00:03:03
સરનામું બદલાઈ ગયું
છે. અને તે ફેરફાર
00:03:07
કરતી વખતે આ ફેરફારને
સમાન ID ધરાવતા તમામ
00:03:11
રેકોર્ડ્સમાં સામેલ
કરવાની જરૂર પડશે.
00:03:13
અને જો કોઈ કોડિંગ
ભૂલ અથવા કંઈકને
00:03:17
કારણે આપણે સરનામાં
ફીલ્ડમાંથી કોઈપણ
00:03:19
અપડેટ કરવાનું ચૂકી
જઈએ તો અમને મુશ્કેલી
00:03:23
પડશે. અને તે મુશ્કેલી
આ કિસ્સામાં અસંગત
00:03:26
સરનામા ડેટાની છે.
તેથી, આ અપડેટ વિસંગતતા
00:03:30
તરીકે ઓળખાય છે. તેવી
જ રીતે મારી પાસે
00:03:34
નિવેશ વિસંગતતા હોઈ
શકે છે. જે હું અહીં
00:03:38
અન્ય ડેટાબેઝ સ્કીમાના
સંદર્ભમાં દર્શાવી
00:03:40
રહ્યો છું. જેમાં
ચાર એટ્રીબ્યૂટ્સ
00:03:43
છે. અને આપણી પાસે
ફેકલ્ટી id, નામ, ભરતીની
00:03:47
તારીખ અને કોર્સનું
નામ નૅચરલી ફેકલ્ટી
00:03:50
id આપેલ છે, ફેકલ્ટીનું
નામ અને હાયર તારીખ
00:03:54
અનન્ય હોવી જોઈએ.
હવે ધારો કે નવી ફેકલ્ટી
00:03:58
જોડાય છે. અને ફેકલ્ટી
જોડાય કે તરત જ તેની
00:04:02
પાસે અસાઇન કરેલ
કોર્સ ન હોય.
00:04:05
તેથી, જો આપણે તે રેકોર્ડ
અહીં દાખલ કરવા માંગીએ
00:04:10
છીએ. તો આપણે તે કરી
શકીશું નહીં. કારણ
00:04:14
કે આપણી પાસે કોર્સ
કોડ માટે કોઈ મૂલ્ય
00:04:18
નથી. તેથી, કાં તો
આપણે નલ મૂલ્યનો
00:04:21
ઉપયોગ કરીએ છીએ. અથવા
આપણે ખરેખર આ મૂલ્ય
00:04:25
દાખલ કરી શકતા નથી.
આ પ્રકારની પરિસ્થિતિને
00:04:29
નિવેશ વિસંગતતા તરીકે
ઓળખવામાં આવે છે.
00:04:32
એવી જ રીતે મારી પાસે
એ જ કોષ્ટકમાં કાઢી
00:04:36
નાખવાની વિસંગતતા
હોઈ શકે છે, જે આપણે
00:04:40
બતાવી રહ્યા છીએ
કે કોષ્ટકમાં પ્રથમ
00:04:43
પ્રકાશિત રો, ફેકલ્ટી
ID 389 માટે જો તે ફેકલ્ટી
00:04:47
હાલમાં કોઈ કોર્સ
લેવાનું બંધ કરે.
00:04:50
તેથી, 389 અને અનુરૂપ
કોર્સ કોડ વચ્ચેનું
00:04:54
જોડાણ દૂર કરવામાં
આવશે. અને એકવાર તમે
00:04:57
કાઢી નાખો કે, તમે
પ્રક્રિયામાં આ આખો
00:05:01
રેકોર્ડ કાઢી નાખો
તો, તમે ખરેખર ફેકલ્ટીની
00:05:04
સંપૂર્ણ માહિતી ID,
નામ અને ભાડાની તારીખ
00:05:08
ગુમાવશો. તેથી, આ રિલેશનલ
સ્કીમોમાં આ મુશ્કેલીઓ
00:05:12
છે. અને તે ઘણી બધી
સમસ્યાઓ તરફ દોરી
00:05:16
જાય છે.
તેથી, સ્કીમાને વિઘટિત
00:05:18
કરવાના સંદર્ભમાં
આ અસત્યનો ઠરાવ છે,
00:05:21
કે એક સંબંધ રાખવાને
બદલે, હું આ ગુણોના
00:05:25
સમૂહને મલ્ટીપલ વિવિધ
સંબંધોમાં વિઘટિત
00:05:28
કરીશ. તેથી, ઉદાહરણ
તરીકે, જો આપણી પાસે
00:05:32
બે અલગ અલગ કોષ્ટકો
હોય તો, અપડેટની વિસંગતતા
00:05:36
દૂર કરી શકાય છે; એક
કે જે એડ્રેસ સાથે
00:05:40
ID જાળવે છે, અને એક
કે જે કુશળતા સાથે
00:05:44
ID જાળવી રાખે છે. તેથી,
તે કિસ્સામાં શું
00:05:48
થશે જો દરેક ID માટે
સરનામું પુનરાવર્તન
00:05:51
કરવામાં આવશે નહીં.
તેથી, જો સરનામું
00:05:54
અપડેટ કરવામાં આવે
છે; તે માત્ર એક જગ્યાએ
00:05:58
અપડેટ કરવામાં આવશે.
અને તે અન્ય કોષ્ટકમાં
00:06:01
દર્શાવવામાં આવશે
નહીં. એવી જ રીતે,
00:06:04
વિસંગતતા દાખલ કરવા,
અથવા કાઢી નાખવાનું
00:06:07
ટાળવા માટે અન્ય
ટેબલ સ્કીમાને ID,
00:06:10
નામ અને ભાડાની તારીખમાં
એક ટેબલ તરીકે અને
00:06:14
ID અને કોડ, રોઝ કોડમાં
બીજા ટેબલ તરીકે
00:06:18
વિભાજિત કરી શકાય
છે. અને તમે સરળતાથી
00:06:21
સમજી શકો છો કે, જો
આ આ રીતે વિભાજિત
00:06:25
કરવામાં આવે તો તમારી
પાસે ઇન્સર્ટ વિસંગતતા
00:06:29
હોઈ શકે નહીં. કારણ
કે તમે તેને કોર્સ
00:06:33
સોંપ્યા વિના નવી
ફેકલ્ટી દાખલ કરી
00:06:36
શકો છો. કારણ કે તે
એક અલગ ટેબલમાં અલગ
00:06:40
રેકોર્ડ તરીકે દર્શાવશે.
એવી જ રીતે કાઢી નાખવાની
00:06:44
વિસંગતતા પણ અદૃશ્ય
થઈ જાય છે.
00:06:47
તેથી, આ વિસંગતતાઓ
આપણી પાસે રહેલા
00:06:50
બિનજરૂરી ડેટાના
પરિણામે છે. અને ડિકમ્પોઝિશનની
00:06:53
પ્રક્રિયાની કાળજી
લઈને તેને દૂર કરી
00:06:56
શકાય છે.
00:06:57
હવે, જ્યારે આપણે
વિઘટિત થઈએ છીએ. ત્યારે
00:07:00
આપણે ઈચ્છીએ છીએ
કે અમુક પ્રોપર્ટીઝને
00:07:03
પકડી રાખવામાં આવે,
અને આપણે આ વિશે અગાઉ
00:07:07
પણ ઢીલી વાત કરી હતી.
આપણે લોસલેસ જોડાણ
00:07:11
ડિકમ્પોઝિશન ગુણધર્મની
જરૂર પડશે કે, બે અથવા
00:07:15
વધુ વિઘટિત સંબંધોનો
કોઈપણ દાખલો લેવાનું
00:07:18
શક્ય હોવું જોઈએ.
અને લક્ષણોના સામાન્ય
00:07:21
સમૂહનો ઉપયોગ કરીને
કુદરતી જોડાણ દ્વારા
00:07:24
તેમને જોડવાનું શક્ય
હોવું જોઈએ. અને જો
00:07:27
એવું ન થાય તો સંબંધનો
મૂળ દાખલો પાછો મેળવો.
00:07:31
સંબંધ હાનિકારક છે.
આપણે છેલ્લા મોડ્યુલમાં
00:07:34
તેની વિસ્તૃત ચર્ચા
કરી છે. તે જ સમયે
00:07:38
આપણે ઈચ્છીએ છીએ
કે, તમામ ફંક્શનલ
00:07:41
ડિપેન્ડન્સીઓ હોવી
જોઈએ, જે ધરાવે છે;
00:07:44
સંબંધના વિઘટિત સમૂહમાં
પરીક્ષણ કરી શકાય
00:07:47
તેવું હોવું જોઈએ.
તેથી, તમામ ફંક્શનલ
00:07:50
ડિપેન્ડન્સીસ જ્યારે
તેઓ સંબંધોના વિઘટિત
00:07:53
સમૂહના સંદર્ભમાં
અંદાજવામાં આવે છે,
00:07:55
તેઓ તેમની અંદર પરીક્ષણ
કરવા યોગ્ય હોવા
00:07:59
જોઈએ. તેથી, ડિપેન્ડન્સી
માટે ચકાસવા માટે
00:08:02
મારે જોડાવાની જરૂર
નથી. આ એક મુદ્દો છે.
00:08:05
જેની આપણે છેલ્લા
મોડ્યુલમાં પણ ચર્ચા
00:08:08
કરી છે. તેથી, તેના
આધારે, એકવાર તમે
00:08:12
મૂળ સ્કીમા સાથે
પ્રારંભ કરો. પછી,
00:08:15
તમે તપાસ કરી શકો
છો કે રીડન્ડન્સીની
00:08:18
વિવિધ શક્યતાઓ અથવા
સ્ત્રોતો શું છે.
00:08:21
તેના આધારે અને તબક્કાવાર
અવરોધો વ્યાખ્યાયિત
00:08:24
કરે છે. તમે સ્કીમાને
એક સામાન્ય સ્વરૂપમાં
00:08:28
રૂપાંતરિત કરી શકો
છો, તેના પર વધુ અવરોધો
00:08:32
મૂકવામાં આવે છે,
તેને બે સામાન્ય
00:08:35
સ્વરૂપમાં રૂપાંતરિત
કરો, વધુ અવરોધો તેને
00:08:38
ત્રીજા સામાન્ય સ્વરૂપમાં
વિઘટિત કરી શકે છે,
00:08:41
અને તેથી આગળ.
00:08:42
તેથી, નોર્મલાઇઝેશન
એ એક પ્રક્રિયા છે.
00:08:45
જેના દ્વારા આપણે
આ પ્રકારનું ડિકમ્પોઝિશન
00:08:48
કરીએ છીએ. અને ખાતરી
કરીએ છીએ કે એકવાર
00:08:52
રીલેશનલ સ્કીમા સામાન્ય
સ્વરૂપની દ્રષ્ટિએ
00:08:55
વ્યક્ત થાય છે. તે
આપેલ ગુણધર્મોના
00:08:58
સમૂહને સંતુષ્ટ કરે
છે કે, જે સામાન્ય
00:09:01
સ્વરૂપનું પાલન કરવું
જોઈએ. અને સામાન્ય
00:09:04
સામાન્ય સ્વરૂપો
1 NF, 2 NF અને 3 NF છે, અને
00:09:10
ઢીલી રીતે કહીએ તો
જ્યારે આપણે કહીએ,
00:09:13
કે ડેટાબેઝ સ્કીમા
નોર્મલાઇઝ્ડ છે.
00:09:15
આપણું સામાન્ય અર્થ
એ છે કે તે 3 NF સ્વરૂપમાં
00:09:20
ત્રીજા સામાન્ય સ્વરૂપમાં
છે. અને મોટા ભાગના
00:09:24
ત્રીજા નંબરના ફોર્મ
સંબંધો દાખલ કરવા,
00:09:27
કાઢી નાખવા અથવા
અપડેટ કરવાની વિસંગતતાઓથી
00:09:30
મુક્ત છે. તેથી, તેઓ
ડિઝાઇનમાં સારા હકારાત્મક
00:09:33
છે.
00:09:34
એટલે કે, આ એક માત્ર
સામાન્ય સ્વરૂપો
00:09:37
નથી. કારણ કે તમે જોઈ
શકો છો કે સામાન્ય
00:09:42
સ્વરૂપોની વિવિધતાઓની
સંપૂર્ણ સૂચિ છે.
00:09:44
આપણે તે બધાનો અભ્યાસ
કરીશું નહીં. આપણે
00:09:48
આગળના મોડ્યુલમાં
અન્ય બે હાઇલાઇટ
00:09:50
કરેલા મોડ્યુલમાં
વધુ અભ્યાસ કરીશું.
00:09:52
.
પરંતુ પહેલા આપણે
00:09:54
પ્રથમ સામાન્ય સ્વરૂપ
સાથે પ્રારંભ કરીએ.
00:09:57
જેના વિશે આપણે અગાઉ
પણ વાત કરી હતી; તે
00:10:01
પ્રથમ સામાન્ય સ્વરૂપ
તે છે. જ્યાં બહુમૂલ્ય
00:10:05
ધરાવતા લક્ષણોની
મંજૂરી નથી. તેથી,
00:10:07
જો તમે એવા સંબંધ
વિશે વિચારો કે, જ્યાં
00:10:11
તમે વિદ્યાર્થીના
નામ અને વિદ્યાર્થી
00:10:14
દ્વારા લીધેલા અભ્યાસક્રમો
વચ્ચે વિદ્યાર્થી
00:10:16
સંબંધ ધરાવતા હોવ
તો, વિદ્યાર્થીઓ
00:10:19
મલ્ટીપલ અભ્યાસક્રમો
લે છે. આ કિસ્સામાં
00:10:22
C નામ મલ્ટીપલ મૂલ્યો
લઈ શકે છે. તેથી, આપણે
00:10:26
તેને અલગ-અલગ રોઝમાં
વિસ્તૃત કરવાની મંજૂરી
00:10:29
આપતા નથી, અને એકવાર
આપણે કરી લીધા પછી
00:10:33
આપણે કહીએ છીએ કે
સંબંધ એક સામાન્ય
00:10:36
સ્વરૂપમાં છે.
00:10:37
પરંતુ એક સામાન્ય
સ્વરૂપ વિવિધ પ્રકારની
00:10:40
નિરર્થકતાઓને જન્મ
આપી શકે છે. અને તેથી,
00:10:44
વિસંગતતાઓ. તેથી,
આ બીજો દાખલો છે, વાસ્તવમાં,
00:10:47
અગાઉના દાખલાઓ કે
જે તમે તે બધાને જોયા
00:10:51
તે પણ એક સામાન્ય
સ્વરૂપમાં હતા, પરંતુ
00:10:55
તેમાં કાઢી નાખવાની
નિવેશ અને અપડેટ
00:10:57
વિસંગતતા હતી. તેથી,
અહીં એક બીજું ઉદાહરણ
00:11:01
છે જ્યાં આપણે તેને
સમજાવી રહ્યા છીએ.
00:11:04
તેથી, તે શક્ય છે કે
જો મારી પાસે ફંક્શનલ
00:11:09
ડિપેન્ડન્સીસ X → Y
છે. જે લક્ષણોના સમૂહ
00:11:11
પર નોન-ટ્રિવીઅલ
ફંક્શનલ ડિપેન્ડન્સી
00:11:12
છે. અને X એ સુપર કી
નથી. પછી X અને Y એટ્રિબ્યુટ
00:11:19
સેટ વચ્ચે રીડન્ડન્સી
અસ્તિત્વમાં છે.
00:11:22
તેથી, ડાબી બાજુએ
આપણે ફક્ત X અને Y એટ્રીબ્યૂટ્સ
00:11:28
પર આ સંબંધનો દાખલો
બતાવ્યો છે. અને તમે
00:11:30
જોઈ શકો છો. કારણ કે
X એ કી નથી. મારી પાસે
00:11:34
X માં મૂલ્ય 1 ધરાવતી
બે રોઝ હોઈ શકે છે.
00:11:41
અને મૂલ્ય X માં 1 હોવાથી
મૂલ્ય Y આ બે રોઝ માટે
00:11:47
સમાન હશે. અને આપણી
પાસે તે રીડન્ડન્સી
00:11:50
છે. બધા કૃપા કરીને
યાદ રાખો કે X એ સુપર
00:11:54
કી નથી. તેથી, અન્ય
એટ્રીબ્યૂટ્સ છે
00:11:58
જે ખરેખર સુપર કી
બનાવે છે. અને તેથી,
00:12:02
આવા ઉદાહરણો શક્ય
છે.
00:12:04
જ્યારે તમે જમણી
બાજુની કોલમ જુઓ.
00:12:07
જ્યાં ડાબી બાજુ
X સુપર કી છે. તો આવી
00:12:10
ઘટનાઓ બનશે નહીં.
00:12:12
બીજા સામાન્ય સ્વરૂપ
પર આગળ વધવું જે દેખીતી
00:12:15
રીતે છે, સંબંધ બીજા
સામાન્ય સ્વરૂપમાં
00:12:18
હોય છે. જો તે પ્રથમ
સામાન્ય સ્વરૂપમાં
00:12:21
હોય, અને તેમાં કોઈ
આંશિક ડિપેન્ડન્સીસ
00:12:24
ન હોય. તો, આંશિક ડિપેન્ડન્સી
શું છે? મેં અહીં આંશિક
00:12:28
ડિપેન્ડન્સીની વ્યાખ્યા
આપી છે કે, શા માટે
00:12:31
ફંક્શનલ રીતે A નક્કી
કરે છે કે, જો તે ફંક્શનલ
00:12:36
ડિપેન્ડન્સીના સમૂહમાં
પકડી શકે તો, મારી
00:12:39
પાસે હોય કે Y એ ઉમેદવાર
કીનો યોગ્ય સબસેટ
00:12:43
છે. અને નોનપ્રાઈમ
એટ્રિબ્યુટમાં A
00:12:45
નોનપ્રાઈમ એટ્રિબ્યુટ
છે તે એક છે. નોનપ્રાઈમ
00:12:48
એટ્રીબ્યુટ જે આપણે
છેલ્લા મોડ્યુલમાં
00:12:50
વ્યાખ્યાયિત કર્યું
છે તે એટ્રીબ્યુટ
00:12:52
છે. જે કોઈપણ ઉમેદવાર
કીમાં દર્શાવતું
00:12:55
નથી.
તેથી, જો Y ઉમેદવાર
00:12:57
કીનો યોગ્ય સબસેટ
છે. જે ફંક્શનલ રીતે
00:13:00
નોન-પ્રાઈમ એટ્રિબ્યુટ
નક્કી કરે છે. પછી
00:13:03
તેને આંશિક ડિપેન્ડન્સીસ
તરીકે ઓળખવામાં આવે
00:13:06
છે. અને જો આંશિક ડિપેન્ડન્સી
હોય તો સંબંધ બીજા
00:13:10
સામાન્ય સ્વરૂપમાં
નથી. તેથી, બીજા સામાન્ય
00:13:13
સ્વરૂપ માટે જરૂરી
છે કે સંબંધ 1 NF માં
00:13:18
છે. અને ત્યાં કોઈ
આંશિક ડિપેન્ડન્સી
00:13:20
નથી.
00:13:21
તેથી, અહીં હું એક
ઉદાહરણ બતાવી રહ્યો
00:13:24
હતો. જ્યાં તમે ડાબી
બાજુ જોઈ શકો છો. કે
00:13:28
SID અને Cname એકસાથે કી
અને SID → Sname બનાવે છે.
00:13:33
તેથી, માં જોઈ શકો
છો, કે Snameનું પુનરાવર્તન
00:13:36
થાય છે.
તેથી, ત્યાં નિરર્થકતા
00:13:38
છે. અને તેથી, પરિણામે
આપણી પાસે વિસંગતતાઓ
00:13:40
હશે. જેની આપણે વાત
કરી છે, પરંતુ આપણે
00:13:43
તેને સામાન્ય કરી
શકીએ છીએ. આપણે તેને
00:13:45
બે અલગ-અલગ સંબંધો
R1 અને R2 માં વિઘટિત
00:13:48
કરી શકીએ છીએ. કારણ
કે હું જમણી બાજુએ
00:13:51
બતાવી રહ્યો છું.
જ્યાં તમે એક કોષ્ટકમાં
00:13:53
SID અને Sname અને અન્ય
કોષ્ટકમાં SID અને
00:13:55
Cname ને સાંકળશો. સ્વાભાવિક
રીતે પછી તમે જે આંશિક
00:14:01
ડિપેન્ડન્સીસ ધરાવતા
હતા. તે ડિપેન્ડન્સી
00:14:04
અદૃશ્ય થઈ જાય છે.
કારણ કે R1 માં SID → Sname
00:14:10
હવે બને છે. તે આંશિક
ડિપેન્ડન્સી નથી.
00:14:13
કારણ કે તે કોષ્ટકમાં
SID પ્રાઈમરી કી બની
00:14:16
જાય છે. તેથી, તે આંશિક
ડિપેન્ડન્સી તરીકે
00:14:19
લાયક નથી.
તેથી, R1 અને R2 બંને
00:14:23
બીજા સામાન્ય સ્વરૂપમાં
છે. અને તમે જોયેલી
00:14:26
નિરર્થકતામાંથી
છૂટકારો મેળવશો.
00:14:27
અને આ ડિકમ્પોઝિશન
એ સુનિશ્ચિત કરે
00:14:30
છે. તેની પાસે આકસ્મિક
રીતે લોસલેસ જોડાવાની
00:14:34
સૂચિ છે. આ આપણે બાંહેધરી
આપી નથી. તે બીજા સામાન્ય
00:14:38
સ્વરૂપમાં છે. અને
તેમાં ડિપેન્ડન્સીસ
00:14:41
જાળવણી પણ છે.
00:14:42
પરંતુ તે ફરીથી બીજા
સામાન્ય સ્વરૂપમાં
00:14:45
શક્ય છે. એક સંબંધ
બીજા સામાન્ય સ્વરૂપમાં
00:14:48
હોઈ શકે છે. છતાં તેમાં
કેટલીક સંભવિત રીડન્ડન્સી
00:14:52
હોઈ શકે છે. તેથી,
એક ડિઝાઇન ઉદાહરણ
00:14:56
છે. જે હું સપ્લાયર
ID, SID સ્ટેટસ કી સાથે
00:15:00
બતાવી રહ્યો છું.
જે SID અને ઉત્પાદન
00:15:03
અને જથ્થાના મૂલ્યો
દ્વારા ફંક્શનલ રીતે
00:15:05
નક્કી કરવામાં આવે
છે.
00:15:06
તેથી, કે ટેબલ સપ્લાયરમાં
SID અને PID એકસાથે કી
00:15:10
બનાવે છે, અને તે થાય
છે. તેમ તમે સ્પષ્ટપણે
00:15:15
જોઈ શકો છો કે ત્યાં
ઘણી બધી નિરર્થકતા
00:15:19
છે. તમે થઈ રહેલી સ્થિતિના
સંદર્ભમાં જોઈ શકો
00:15:24
છો. અને જે તમને વિવિધ
વિસંગતતાઓનું કારણ
00:15:27
બનશે. તેથી, જો હું
જમણી બાજુના બીજા
00:15:31
સામાન્ય સ્વરૂપમાં
સામાન્ય કરીશ. તો
00:15:34
મારી પાસે SID, સ્ટેટસ
અને સિટી એમ ત્રણ
00:15:38
એટ્રીબ્યૂટ્સ સાથેનું
એક સપ્લાયર શહેર
00:15:41
હશે. અને અન્ય સપ્લાયર
જથ્થો કે જેમાં SID,
00:15:45
PID અને પ્રમાણ છે. તે
સ્વાભાવિક રીતે આમાં
00:15:49
હવે આંશિક ડિપેન્ડન્સી
નથી. .
00:15:52
અગાઉ આપણી પાસે આંશિક
ડિપેન્ડન્સી તરીકે
00:15:55
SID → સ્થિતિ હતી. કારણ
કે SID એ યોગ્ય છે. એ
00:15:57
પ્રાઈમરી કીનો યોગ્ય
સબસેટ હતો. જે SID CID
00:16:01
છે, પરંતુ હું સામાન્ય
કર્યા પછી આ ડિપેન્ડન્સી
00:16:04
અસ્તિત્વમાં નથી,
પરંતુ તેમ છતાં આ
00:16:07
સંબંધમાં નિરર્થકતા
હશે. અને ત્યાં સ્થિતિ
00:16:09
નિરર્થક બની રહેશે.
00:16:11
અને તે કારણસર આપણે
આગલા પ્રકારના સામાન્ય
00:16:14
સ્વરૂપ તરફ આગળ વધવું
પડશે. તેથી, આ હું
00:16:17
ફક્ત અહીં સમજાવી
રહ્યો છું કે, સંભવિત
00:16:20
રીડન્ડન્સીના સંભવિત
રીડન્ડન્સી સ્ત્રોતો
00:16:22
શું છે. જે તમારી પાસે
2 NF માં હોઈ શકે છે.
00:16:26
.
3 NF માં ત્રીજું સામાન્ય
00:16:29
સ્વરૂપ તમે જે વ્યાખ્યાયિત
કરો છો તે છે તમારો
00:16:32
સંબંધ સૌ પ્રથમ 2 NF
માં હોવો જોઈએ. તેથી,
00:16:36
આપણે પ્રથમ વ્યાખ્યા
જોઈ રહ્યા છીએ. આ વ્યાખ્યાના
00:16:40
ત્રણ સ્વરૂપો આપેલ
છે. તે તમામ વાસ્તવમાં
00:16:43
સમકક્ષ છે, તમારે
ચિંતા કરવાની જરૂર
00:16:46
નથી કે, તેઓ શા માટે
અને કેવી રીતે સમકક્ષ
00:16:50
છે, ધીમે ધીમે તમે
સમજવા લાગશો.
00:16:53
પરંતુ આપણે તેને
ત્રણ અલગ-અલગ સ્વરૂપોમાં
00:16:55
લઈએ છીએ. કારણ કે વ્યાખ્યાના
દરેક સ્વરૂપ આપણને
00:16:59
ત્રણ સામાન્ય સ્વરૂપના
ચોક્કસ પાસાને સમજવાની
00:17:02
મંજૂરી આપે છે. તેથી,
પ્રથમ વસ્તુ જે દરેક
00:17:05
વસ્તુ માટે સાચી
છે તે એ છે કે તે બીજા
00:17:10
સામાન્ય સ્વરૂપમાં
હોવી જોઈએ. અને તેમાં
00:17:13
કોઈ પણ સંક્રમિત
ડિપેન્ડન્સીસ ન હોવું
00:17:15
જોઈએ. જેનો અર્થ એ
છે કે જો મારી પાસે
00:17:19
X → Y અને Y → Z હોય, તો
મારે તે ન હોવું જોઈએ.
00:17:26
તો પછી મારી પાસે
X → Z ન હોવો જોઈએ. જેનું
00:17:32
અનુમાન સંક્રમિત
રીતે કરી શકાય છે.
00:17:36
જેમ તમે એંગસ્ટ્રોમ
સ્વયંસિદ્ધ દ્વારા
00:17:39
જાણો છો.
વૈકલ્પિક રીતે, ઝાનિલો
00:17:43
દ્વારા પાછળથી એક
વૈકલ્પિક વ્યાખ્યા
00:17:46
આપવામાં આવી હતી.
અને મેં તળિયે તેનું
00:17:51
એક સરળ સરળ સંસ્કરણ
જણાવ્યું છે. તેથી,
00:17:55
આપણે કહીશું કે રિલેશનલ
સ્કીમા 3 NF માં છે.
00:18:01
જો દરેક ફંક્શનલ
ડિપેન્ડન્સી X → A
00:18:05
માટે જે આ સ્કીમા
પર ધરાવે છે. કાં તો
00:18:10
તે એક ટ્રિવીઅલ ડિપેન્ડન્સી
છે. જે A એ X નો સબસેટ
00:18:16
છે અથવા X એ સુપર કી
છે.
00:18:19
તેથી, આ એક પ્રકારની
સ્થિતિ પણ છે. જે તમે
00:18:24
પહેલા જોઈ હતી આ પણ
બોયસ કોડ સામાન્ય
00:18:28
સ્વરૂપમાં હોવાની
સ્થિતિ છે. તેથી, તમે
00:18:31
સરળતાથી સમજી શકો
છો કે 3 NF એ કોઈપણ સંબંધ
00:18:36
છે. જે 3 NF માં છે. તે
બોયસ કોડ સામાન્ય
00:18:41
સ્વરૂપમાં પણ છે,
પરંતુ આપણે ચોથી
00:18:44
ત્રીજી શરત ઉમેરીએ
છીએ. જ્યાં તમે કહો
00:18:47
કે આપણે કહીશું કે
આ 3 NF માં છે. ભલે પ્રથમ
00:18:53
બે શરતો સંતુષ્ટ
ન હોય, પરંતુ a એ અમુક
00:18:56
કીનો એક ભાગ છે. માત્ર
નોંધ લો કે શબ્દરચના
00:19:01
અમુક કીનો એક ભાગ
છે. માત્ર સુપર કીનો
00:19:04
જ નહીં.
તેથી, જો A એ અમુક કીનો
00:19:08
એક ભાગ હોય, અને પ્રથમ
બે શરતો પણ સંતુષ્ટ
00:19:13
ન હોય, તો પણ આપણે
કહીશું કે સંબંધ
00:19:17
ત્રીજા સામાન્ય સ્વરૂપમાં
છે. તેથી, ત્રીજા સામાન્ય
00:19:21
સ્વરૂપમાં સંબંધ
છે. તે તપાસવા માટે
00:19:24
આપણે વાસ્તવમાં તપાસ
કરીશું, કે ત્રણમાંથી
00:19:28
કોઈ એક સ્થિતિ ધરાવે
છે કે કેમ.
00:19:31
તેથી, આ સંક્રમિત
ડિપેન્ડન્સીસની
00:19:34
વ્યાખ્યા છે, જે મેં
હમણાં જ તમને ઢીલી
00:19:38
રીતે કહી છે. તેથી,
હું આને છોડી દઈશ.
00:19:42
તમે સમજી શકો છો, તેમ
એક ખૂબ જ અલગ પ્રકારની
00:19:48
રિલેશનશિપ બુક, લેખક
અને લેખકની રાષ્ટ્રીયતાનું
00:19:51
બીજું ઉદાહરણ આપવામાં
આવ્યું છે. જો તમે
00:19:55
લેખકને જાણો છો તે
પુસ્તકને જોતાં,
00:19:58
લેખકને આપેલ ફંક્શનલ
ડિપેન્ડન્સીસ છે,
00:20:01
શું તમે લેખકની રાષ્ટ્રીયતા
અને તે જાણો છો, પરંતુ
00:20:06
લેખક ખરેખર પુસ્તક
નક્કી કરતા નથી. કારણ
00:20:09
કે લેખકે મલ્ટીપલ
પુસ્તકો લખ્યા હોઈ
00:20:13
શકે છે. પરંતુ તે પુસ્તક
→ લેખક અને લેખક → લેખક
00:20:18
રાષ્ટ્રીયતા જોતાં
આપણી પાસે તે પુસ્તક
00:20:21
→ લેખકની રાષ્ટ્રીયતા
છે. અને તેથી, આપણી
00:20:24
પાસે અહીં રીડન્ડન્સીની
શક્યતા છે, જે આપણી
00:20:28
પાસે રહેલી આ સંક્રમિત
ડિપેન્ડન્સીસને
00:20:31
કારણે સંક્રમિત રીડન્ડન્સી
છે.
00:20:33
તેથી, અહીં એક પહેલાનું
ઉદાહરણ છે, જ્યાં
00:20:37
તમે આ ડાયગ્રામમાં
સ્પષ્ટપણે જોઈ શકો
00:20:40
છો, જો તમે આ ડાયગ્રામને
નોંધો, તો તમે તે SID
00:20:45
→ શહેર અને શહેર → સ્થિતિ
જોઈ શકો છો. તેથી,
00:20:50
આ તે સંક્રમિત ડિપેન્ડન્સીસ
છે જે SID → સ્થિતિ છે.
00:20:55
તેથી, જો તે થાય અને
સ્થિતિ નિરર્થક બની
00:20:59
જાય. અને તેથી, ત્યાં
વિસંગતતાઓ હોઈ શકે
00:21:03
છે. અને આપણે તેમને
SID અને શહેર અને શહેર
00:21:08
અને સ્થિતિ બનાવીને
સરળતાથી સામાન્ય
00:21:10
કરી શકીએ છીએ. અને
તે સ્વાભાવિક રીતે
00:21:14
કે તે નિરર્થકતા
દૂર થઈ જાય છે. કારણ
00:21:19
કે તમારી પાસે સંબંધમાં
સંક્રમિત ડિપેન્ડન્સીસ
00:21:22
નથી. તમારી પાસે ફક્ત
SID → શહેર કે જે SC માં
00:21:27
પ્રાઈમરી કી છે. અને
શહેર → સ્થિતિ જે
00:21:31
CS માં પ્રાઈમરી કી
છે.
00:21:34
તેથી, આ અન્ય ઉદાહરણો
છે. તમે જ્યાં જઈ શકો
00:21:39
છો, ત્યાં મેં વિદ્યાર્થી
ID , i_ID અને સેક્શનના
00:21:43
નામનું ઉદાહરણ લીધું
છે. અને બતાવ્યું
00:21:47
છે કે તમને આમાં કેવા
પ્રકારની સમસ્યાઓ
00:21:51
આવી શકે છે. આ કિસ્સામાં
તમે જોઈ શકો છો કે
00:21:56
સંબંધ ખરેખર ત્યાં
છે. કારણ કે ત્યાં
00:22:00
બે ઉમેદવાર કીઓ છે.
અને તેથી, આ s_ID સેક્શનનું
00:22:05
નામ સુપર કી છે. અને
આ સંબંધ ત્રીજા સામાન્ય
00:22:10
સ્વરૂપમાં છે. કારણ
કે i_ID → સેક્શનનું
00:22:14
નામ ઉમેદવાર કીમાં
સમાયેલ છે. તેથી, આપણે
00:22:18
બતાવેલ ત્રીજી શરતને
કારણે તે 3 NF માં છે.
00:22:23
તેથી, જ્યારે આ તે
છે જ્યાં તમે કરી
00:22:27
શકો છો, ત્યાં આ સ્કીમામાં
કેટલીક રીડન્ડન્સી
00:22:31
છે. જે તમે અવલોકન
કરી શકો છો. તેથી,
00:22:36
આ ફક્ત બાંધવામાં
આવ્યું છે. અને તમે
00:22:40
આ નિરર્થકતાને કારણે
તમે સક્ષમ થયા છો,
00:22:43
આપણે આ કિસ્સામાં
નલ મૂલ્યોનો ઉપયોગ
00:22:47
કરવો પડ્યો છે.
00:22:49
.
તેથી, ત્રીજા સામાન્ય
00:22:50
સ્વરૂપમાં સંભવિત
રીડન્ડન્સી આવી શકે
00:22:53
છે. અને આ એવા અલગ-અલગ
કિસ્સાઓ છે. જેને
00:22:58
આપણે તપાસવાના છે.
00:22:59
તેથી, આગળ શું છે.
તેથી, આપણે જુદા જુદા
00:23:04
સામાન્ય સ્વરૂપો
જોયા છે. પ્રથમ સામાન્ય
00:23:07
સ્વરૂપ કોઈ બહુમૂલ્ય
એટ્રીબ્યૂટ નથી.
00:23:10
પછી બીજું સામાન્ય
સ્વરૂપ કોઈ આંશિક
00:23:13
ડિપેન્ડન્સી નથી.
પછી ત્રીજું સામાન્ય
00:23:16
સ્વરૂપ જ્યાં તમારી
પાસે કોઈ સંક્રમિત
00:23:19
ડિપેન્ડન્સીસ નથી.
તેથી, આ બધી કાસ્કેડીંગ
00:23:23
વ્યાખ્યાઓ છે. તેથી,
ત્રીજા સામાન્ય સ્વરૂપમાં
00:23:26
તમારી પાસે કોઈ બહુમૂલ્ય
એટ્રીબ્યૂટ નથી,
00:23:30
કોઈ આંશિક ડિપેન્ડન્સી
નથી, અને કોઈ સંક્રમિત
00:23:34
ડિપેન્ડન્સીસ નથી.
તેથી, હવે શું જોવામાં
00:23:37
આવશે કે જો મને રિલેશનલ
સ્કીમા આપવામાં આવે
00:23:41
છે. અને જો તે આમાંથી
કોઈ એક અથવા વધુ શરતનું
00:23:47
ઉલ્લંઘન કરી રહ્યું
હોય, તો કેવી રીતે
00:23:51
સ્કીમા ત્રણ સામાન્ય
સ્વરૂપમાં નથી, ત્રીજા
00:23:54
સામાન્ય સ્વરૂપમાં
હોય તો પછી આપણે તેને
00:23:58
ત્રીજા સામાન્ય સ્વરૂપમાં
કેવી રીતે વિઘટિત
00:24:02
કરી શકીએ?
00:24:03
તેથી, પ્રશ્ન સ્વાભાવિક
રીતે ચોક્કસપણે છે
00:24:06
કે શું તે હંમેશા
કરી શકાય છે. તે મૂળભૂત
00:24:11
પ્રશ્ન છે કે શું
હું હંમેશા સ્કીમાને
00:24:15
ત્રીજા સામાન્ય સ્વરૂપમાં
વિઘટિત કરી શકું
00:24:18
છું. તેનો જવાબ હા
છે, તમે કરી શકો છો
00:24:24
અને તે હંમેશા ડિકમ્પોઝિશનને
ત્રીજા સામાન્ય સ્વરૂપમાં
00:24:27
સાચવી રાખવાનું નુકસાન
રહિત જોડાણ અને ડિપેન્ડન્સી
00:24:31
છે. જે ખૂબ મૂલ્યવાન
છે.
00:24:34
કારણ કે આપણે કહ્યું
છે કે તે આપણા ડિકમ્પોઝિશનના
00:24:39
ઇચ્છનીય ગુણધર્મો
છે, અને જો તમે રિલેશનલ
00:24:43
ડિઝાઇન મોડ્યુલોના
પહેલા ભાગમાં આપણી
00:24:46
ચર્ચાઓ યાદ કરો છો,
તો તમને યાદ હશે કે
00:24:51
બોયસ કોડ સામાન્ય
સ્વરૂપની પણ આપણે
00:24:54
શરૂઆતના તબક્કામાં
ચર્ચા કરી હતી. અને
00:24:58
તે તમને ડિકમ્પોઝિશન
આપે છે, જે લોસલેસ
00:25:02
જોડાય છે, પરંતુ તે
ડિપેન્ડન્સીની જાળવણીની
00:25:05
ખાતરી આપતું નથી.
જ્યાં ત્રીજું સામાન્ય
00:25:09
સ્વરૂપ તે કરે છે.
00:25:11
તેથી, સ્વાભાવિક
રીતે ત્યાં અલગ અલગ
00:25:14
એલ્ગોરિધમ્સ છે,
પ્રથમ પ્રશ્ન એ છે
00:25:18
કે તમે ચકાસી શકો
છો કે શું સંબંધ ત્રીજા
00:25:23
સામાન્ય સ્વરૂપમાં
છે. હું તેની વિગતોમાં
00:25:26
જઈશ નહીં, અને અહીં
કોમ્પ્યુટર સાયન્સનું
00:25:29
પરિણામ ત્રીજા સામાન્ય
સ્વરૂપ માટે પરીક્ષણ
00:25:33
કરી રહ્યું છે. તે
NP હાર્ડ સમસ્યા છે.
00:25:37
તેથી, તેના માટે કોઈ
જાણીતું બહુપદી સમય
00:25:41
અલ્ગોરિધમ નથી, પરંતુ
રસપ્રદ બાબત એ છે
00:25:45
કે વાસ્તવમાં બહુપદી
સમયમાં ડિકમ્પોઝિશન
00:25:48
ખૂબ જ સરળ રીતે કરી
શકાય છે.
00:25:52
તેથી, તમારી પાસે
શું છે, તે ડિકમ્પોઝિશન
00:25:56
અલ્ગોરિધમ શું છે,
તે ખૂબ જ સરળ શબ્દોમાં
00:26:00
લખાયેલ છે, જે તમે
ઇચ્છો છો કે તમે એક
00:26:05
સંબંધ R અને ફંક્શનલ
ડિપેન્ડન્સીનો સમૂહ
00:26:09
આપ્યો છે. જે તમારા
પર છે. તેથી, તમે સૌપ્રથમ
00:26:13
કેનોનિકલ કવરની ગણતરી
કરો. તમે જાણો છો કે
00:26:17
કેનોનિકલ કવર શું
છે. તેથી, તમે એક કેનોનિકલ
00:26:22
કવરની ગણતરી કરો
છો. જે તમે બહારની
00:26:25
એટ્રીબ્યૂટ્સને
દૂર કરીને બિનજરૂરી
00:26:27
FD ને દૂર કરો છો. અને
તમારી પાસે F માંથી
00:26:33
કેનોનિકલ કવર Fc છે.
પછી તમે કેનોનિકલ
00:26:36
કવરમાં અસ્તિત્વમાં
છે. તે દરેક ફંક્શનલ
00:26:39
ડિપેન્ડન્સી X → Y
માટે બનાવો છો.
00:26:42
તમે ગણતરી કરો છો
કે તમે X U Y લેતા ith સંબંધને
00:26:49
કહો છો. તેથી, તમે
તેને XY સંબંધ કહો
00:26:53
છો. અને તમે તે કવરમાં
તમામ ફંક્શનલ ડિપેન્ડન્સીઓ
00:26:57
માટે કરો છો. અને તે
પછી જો તમને લાગે
00:27:02
કે આમાંના કોઈપણ
વિઘટિત સંબંધોમાં
00:27:04
કી ઉત્પન્ન થતી નથી,
તો તમે કીને રજૂ કરવા
00:27:08
માટે એક અલગ સંબંધ
જનરેટ કરો છો.
00:27:12
તે ખૂબ જ સરળ અલ્ગોરિધમ
છે. અને મેં તેને સરળ
00:27:17
હાથમાં લખ્યું છે.
તેથી, તમે તેને સરળતાથી
00:27:20
સમજી શકો છો, પરંતુ
અહીં ફોર્મલ અલ્ગોરિધમ
00:27:24
છે. તેથી, જો તમને
કઠોરતામાં રસ હોય
00:27:27
તો, મારો મતલબ એ છે
કે 3 NF ડિકમ્પોઝિશન
00:27:31
કેવી રીતે થશે. તેની
કઠોરતામાં અહીં અલ્ગોરિધમ
00:27:34
છે, પરંતુ હું આમાંથી
સ્ટેપ્સમાં જઈશ નહીં.
00:27:37
તેથી, તે સુનિશ્ચિત
કરે છે કે દરેક રિલેશન
00:27:41
કે જે મેં વિઘટિત
અને જનરેટ કર્યું
00:27:44
છે. તે ખરેખર ત્રીજા
સામાન્ય સ્વરૂપમાં
00:27:46
છે. અને આ ડિકમ્પોઝિશન
ડિપેન્ડન્સીની જાળવણી
00:27:49
છે. અને લોસલેસ જોડાઈ
છે. આપણે તે સાબિત
00:27:52
નથી કરી રહ્યા, પરંતુ
આપણે ફક્ત તે પરિણામનો
00:27:55
ઉપયોગ કરી રહ્યા
છીએ.
00:27:57
તેથી, અહીં સ્કીમાનું
ઉદાહરણ છે. તેથી, આપણી
00:28:00
પાસે ગ્રાહક_બેંકર_શાખા
છે. તેથી, આ ચાર એટ્રીબ્યૂટ્સ
00:28:03
છે. અને આ વિવિધ ફંક્શનલ
ડિપેન્ડન્સીસ છે.
00:28:06
જે અસ્તિત્વમાં છે.
હવે સ્વાભાવિક રીતે
00:28:09
આપેલ આ પ્રથમ વસ્તુ
જે તમારે કરવાની
00:28:11
રહેશે, તે છે કેનોનિકલ
કવરને ન્યૂનતમ કવરમાં
00:28:14
લેવા માટે અલગ અલગ
જોવાનું છે.
00:28:17
તેથી, જો તમે ગણતરી
કરો છો, તો ન્યૂનતમ
00:28:20
કવરની ગણતરી કરવાનો
પ્રયાસ કરો. તમે જોશો
00:28:23
કે શાખાનું નામ વાસ્તવમાં
પ્રથમ ડિપેન્ડન્સીમાં
00:28:26
બહારનું છે. તેથી,
તમે તેને દૂર કરી
00:28:29
શકો છો, અને બીજું
કંઈ નથી.
00:28:31
તેથી, તમારું પ્રમાણભૂત
કવર ડિપેન્ડન્સીનો
00:28:33
આ સમૂહ હોવાનું બહાર
આવ્યું છે. અને પછી
00:28:37
તમે તેમાંથી દરેક
માટે આગળ વધો છો. તેથી,
00:28:40
તમે દરેકને પ્રથમ
લો → પ્રકાર. તેથી,
00:28:43
તેના માટે તમે સ્કીમા
ગ્રાહક ID, કર્મચારી
00:28:46
ID જનરેટ કરો. અને ફરીથી
ટાઇપ કરો તમે બીજું
00:28:49
ફંક્શનલ ડિપેન્ડન્સી
કર્મચારી ID → શાખાનું
00:28:50
નામ લો. તેથી, કર્મચારી
ID અને શાખાનું નામ
00:28:53
અલગ સ્કીમા તરીકે
બનાવો. અને આ રીતે
00:28:55
તમે ત્રીજા સામાન્ય
સ્વરૂપમાં ત્રણ વિઘટિત
00:28:57
સ્કીમા જનરેટ કરશો.
હવે, એકવાર તમે તે
00:28:59
કરી લો, પછી તમે જોશો
કે જો તમે મૂળ કીમાં
00:29:02
તપાસ કરો છો, તો તે
ગ્રાહક ID અને કર્મચારી
00:29:05
ID હતી. અને તમને તે
અહીં ત્રીજામાં જોવા
00:29:07
મળે છે. બીજું અને
ત્રીજું તમારી પાસે
00:29:09
પહેલેથી જ છે. તેથી,
તમારે કી અને ત્રીજા
00:29:12
સંબંધને સમાવવા માટે
અલગ સંબંધ ઉમેરવાની
00:29:13
જરૂર નથી. તેથી, આપણે
હવે જાહેર કરી શકીએ
00:29:16
છીએ કે, વધુ કી ઉમેરવાની
જરૂર નથી. અને આપણી
00:29:19
પાસે અંતિમ 3 NF ડિકમ્પોઝિશન
છે.
00:29:21
તેથી, ખામીના અંતે
શોધો અને કાઢી નાખો.
00:29:23
તેથી, આ વિગતવાર અલ્ગોરિધમના
સંદર્ભમાં જણાવ્યું
00:29:25
છે, પરંતુ આ તમે કહી
શકો છો કે કર્મચારી
00:29:27
ID અને શાખાનું નામ
ડિકમ્પોઝિશનમાં
00:29:28
બીજો સંબંધ વાસ્તવમાં
ત્રીજા સંબંધનો સબસેટ
00:29:29
છે. તેથી, તમે તેને
પણ દૂર કરી શકો છો.
00:29:30
તેથી, આ ડિકમ્પોઝિશન
યોજનામાં તમારી પાસે
00:29:31
ફક્ત બે સંબંધો જ
રહેશે, જે બંને ત્રીજા
00:29:32
સામાન્ય સ્વરૂપમાં
છે. અને આ ડિકમ્પોઝિશન
00:29:33
તમને લોસલેસ જોડાવા
અને ડિપેન્ડન્સીની
00:29:34
જાળવણીની ખાતરી આપે
છે.
00:29:35
તેથી, મેં તમારા માટે
કેટલીક પ્રેક્ટિસ
00:29:36
સમસ્યાઓ આપી છે, મેં
ઉકેલ પણ આપ્યો છે,
00:29:37
પરંતુ ઉકેલ પ્રસ્તુતિના
હમણાંના રનમાં નથી.
00:29:38
તમે તેમને પ્રસ્તુતિમાં
છુપાયેલી સ્લાઇડ્સ
00:29:39
તરીકે જોશો. તેથી,
તમે પહેલા તેમને
00:29:40
હલ કરવાનો પ્રયાસ
કરો. અને એકવાર તમે
00:29:41
તેમને ઉકેલી લો. પછી
તમે સ્લાઇડમાં ઉકેલ
00:29:42
જુઓ.
00:29:43
તેથી, ત્યાં બે સમસ્યાઓ
છે. તેથી, આ એક બીજું
00:29:44
છે. અને તમે તેને તે
રીતે સોલ્વ કરી શકો
00:29:45
છો.
00:29:46
આગળ આપણે BCNF બોયસ કોડના
સામાન્ય સ્વરૂપના
00:29:47
ડિકમ્પોઝિશન પર ઝડપથી
રીકેપ કરીશું. જે
00:29:48
આપણે અગાઉ જોયું
હતું.
00:29:49
અને આપણે જાણીએ છીએ
કે બોયસ કોડ સામાન્ય
00:29:50
સ્વરૂપ ખાતરી આપે
છે કે, અસ્તિત્વમાં
00:29:51
રહેલી દરેક ડિપેન્ડન્સી
હશે કાં તો ટ્રિવીઅલ
00:29:52
હોવી જોઈએ, અથવા ડાબી
બાજુ સુપર કી હોવી
00:29:53
જોઈએ. તેથી, એલ્ગોરિધમ્સનો
ઉપયોગ કરીને તમે
00:29:54
બોયસ કોડ સામાન્ય
સ્વરૂપ માટે પરીક્ષણ
00:29:55
કરી શકો છો. જેનું
વર્ણન અહીં કરવામાં
00:29:56
આવ્યું છે, હું સ્ટેપ્સમાં
નથી જઈ રહ્યો.
00:29:57
અને બોયસ કોડ સામાન્ય
સ્વરૂપ વિઘટિત સ્વરૂપમાં
00:29:58
છે, કે કેમ તે નિર્ધારિત
કરવા માટે અહીં વધુ
00:29:59
વિગતવાર ફોર્મલ અલ્ગોરિધમ
બોયસ કોડમાં છે.
00:30:00
તેથી, હું એલ્ગોરિધમ
પર ઝડપથી રીકેપ કરીશ,
00:30:01
કે નૅચરલી તે તમામ
ડિપેન્ડન્સીઓ માટે
00:30:02
તમે પહેલા સુપર કી
નક્કી કરો. અને તપાસો
00:30:03
કે A → B સુપર કી છે
કે નહીં. અને તે તમે
00:30:04
સરળતાથી એટ્રીબ્યુટ
કવરનો ઉપયોગ કરીને
00:30:05
કરી શકો છો. જો તે
સુપર કી નથી, તો પછી
00:30:06
તમે ડિપેન્ડન્સી
A → B પસંદ કરો છો, જે
00:30:07
ઉલ્લંઘન કરે છે. અને
તમે બોયસ કોડ દ્વારા
00:30:08
રચાય છે. દરેક સ્ટેપ્સમાં
તે એક સંબંધને બે
00:30:09
અલગ-અલગ સંબંધમાં
વિઘટિત કરે છે.
00:30:10
તેથી, એક કે જે તમે
A અને B ના લક્ષણોમાંથી
00:30:11
U લઈને લો છો. અને બીજું
જ્યાં તમે B માઈનસ
00:30:12
A લો છો. આ એટ્રીબ્યુટ
આ તફાવત એટ્રીબ્યુટ
00:30:13
તમે Rમાંથી કાઢો છો.
અને પછી તમે A ઉમેરો
00:30:14
છો. અને અન્ય સંબંધ
બનાવો છો. સ્વાભાવિક
00:30:15
રીતે આ બે વચ્ચે A
એ એક સામાન્ય લક્ષણ
00:30:16
છે. અને ત્યારથી અને
તે A B નક્કી કરશે કારણ
00:30:17
કે A → B છે.
તેથી, A → A B છે જે સમગ્ર
00:30:20
R1 છે. તેથી, સ્વાભાવિક
રીતે લોસલેસ જોઈનની
00:30:21
ખાતરી આપવામાં આવે
છે. અને તમે પુનરાવર્તન
00:30:22
કરો છો કે તમને જે
પરિણામી સંબંધો મળ્યા
00:30:23
છે. તેના માટે તે કરવાનું
ચાલુ રાખો. તેમને
00:30:24
ડિકમ્પોઝિશન કરવાનું
ચાલુ રાખો જ્યાં
00:30:25
સુધી તમે છેલ્લે,
બંધ કરો અને તમારી
00:30:26
પાસે વધુ કોઈ ડિપેન્ડન્સીસનું
ઉલ્લંઘન ન થાય. અને
00:30:27
તમારું ડિકમ્પોઝિશન
બોયસ કોડ સામાન્ય
00:30:28
સ્વરૂપમાં થઈ જશે.
00:30:29
જો તમને રુચિ હોય
તો તમારા માટે સ્ટેપ્સ
00:30:30
દ્વારા આગળ વધવા
માટે અહીં ફરીથી
00:30:31
ફોર્મલ અલ્ગોરિધમ
છે.
00:30:32
અન્યથા તમે જાણો
છો કે આ કેવી રીતે
00:30:33
કરવું. ફરીથી મેં
અહીં બીજું ઉદાહરણ
00:30:34
બતાવ્યું છે, જે દર્શાવે
છે કે BCNF માં કેવી
00:30:35
રીતે ડિકમ્પોઝિશન
કરવું. તેથી, તમારે
00:30:36
આની પ્રેક્ટિસ કરવી
જોઈએ. તેથી જ મેં તેને
00:30:37
અહીં સ્ટેપ્સમાં
બહાર પાડ્યું છે.
00:30:38
તેથી, અહીં A → B; B → C
નૅચરલી A એ કી છે. R
00:30:39
BCNF માં નથી. કારણ કે
B → C એ ફંક્શનલ ડિપેન્ડન્સીસ
00:30:40
છે જ્યાં B સુપર કી
નથી.
00:30:41
તેથી, તમે તેમને દ્રષ્ટિએ
ડિકમ્પોઝિશન કરી
00:30:42
શકો છો. તેથી, તમે
BC ના સંદર્ભમાં એક
00:30:43
સંબંધ તરીકે અને
AB ને બીજા સંબંધ તરીકે
00:30:44
વિઘટિત કરી શકો છો.
અહીં એક વર્ગ સંબંધનું
00:30:45
વધુ વિગતવાર ઉદાહરણ
છે. જેમાં એટ્રીબ્યૂટ્સનો
00:30:46
સંપૂર્ણ સમૂહ અને
આ ફંક્શનલ ડિપેન્ડન્સીઓ
00:30:47
છે. અને તેના આધારે
ઉમેદવાર કી કોર્સ
00:30:48
ID, સેક્શન ID, સેમેસ્ટર
અને વર્ષ છે. અને તમે
00:30:49
BCNF ડિકમ્પોઝિશન સાથે
આગળ વધી શકો છો. પ્રથમ
00:30:50
ફંક્શનલ ડિપેન્ડન્સીસ
કે જે ધરાવે છે, પરંતુ
00:30:54
ડાબી બાજુએ કોર્સ
ID સુપર કી નથી. તેથી,
00:30:57
તમે તેને એક સંબંધ
દ્વારા બદલશો. જે
00:31:01
કહે છે નવો કોર્સ
સંબંધ અને નવો વર્ગ
00:31:05
સંબંધ જે બાકીના
લક્ષણો છે.
00:31:07
અને પછી તમને ખાતરી
થશે કે કોર્સ BCNF માં
00:31:11
છે, પરંતુ બીજો એક
વર્ગ નથી. કારણ કે
00:31:15
→ ક્ષમતા જ્યાં રૂમ
નંબર એકસાથે બનાવવો
00:31:18
એ સુપર કી નથી. તેથી,
તમે તેને ફરીથી વિભાજિત
00:31:22
કરો છો. અને તમે વર્ગ
1 ને બે નવા રિલેશનશીપ
00:31:26
ક્લાસ રૂમ અને સેક્શનના
સંદર્ભમાં બદલો છો.
00:31:30
અને તે બંને BCNF માં
છે અને તમારું આ થઈ
00:31:34
ગયું છે.
00:31:35
પરંતુ BCNF જેમ કે હું
તમને ફરીથી ચેતવણી
00:31:38
આપું છું કે BCNF પરાધીનતાને
સાચવતું નથી. તે તમને
00:31:42
લોસલેસ જોઇન આપે
છે, પરંતુ તે ડિપેન્ડન્સીને
00:31:45
સાચવતું નથી. તેથી,
ડિપેન્ડન્સી જાળવણી
00:31:47
સાથે BCNF માં ડિકમ્પોઝિશન
કરવું હંમેશા શક્ય
00:31:49
નથી. તેથી, અહીં એક
ઉદાહરણ છે જે આપણે
00:31:52
થોડું અગાઉ જોયું
છે. અને બે ઉમેદવાર
00:31:54
કી છે જે R BCNF માં નથી,
તમે સ્પષ્ટપણે જોઈ
00:31:59
શકો છો. અને કોઈપણ
ડિકમ્પોઝિશન JK → L
00:32:02
નિષ્ફળ જશે. અને તેને
જોડવાની જરૂર પડશે.
00:32:05
તેથી, આ ડિકમ્પોઝિશનના
સંદર્ભમાં ડિપેન્ડન્સીને
00:32:08
સાચવશે નહીં.
00:32:09
ફરીથી, મેં અહીં પ્રેક્ટિસ
સમસ્યાઓનો સમૂહ આપ્યો
00:32:12
છે. જેનો તમારે પ્રયાસ
કરવો જોઈએ. અને બોયસ
00:32:16
કોડના સામાન્ય સ્વરૂપના
સામાન્યકરણથી વિશ્વાસ
00:32:18
મેળવવો જોઈએ.
00:32:19
હવે, 3 NF માં સંબંધના
સમૂહમાં સંબંધનું
00:32:22
ડિકમ્પોઝિશન કરવું
હંમેશા શક્ય છે. જો
00:32:25
ડિકમ્પોઝિશન લોસલેસ
હોય, અને ડિપેન્ડન્સીસ
00:32:27
સચવાય. જ્યારે, BCNF
ના કિસ્સામાં તે
00:32:30
શક્ય નથી. તેથી, અહીં
એક કોષ્ટક છે, જે બોયસ
00:32:34
કોડ અને ત્રીજા સામાન્ય
સ્વરૂપ વચ્ચેની તુલનાત્મક
00:32:37
તુલનાનો સારાંશ આપે
છે. કારણ કે તે સામાન્ય
00:32:41
છે જ્યારે બોયસ કોડ
નૅચરલી વધુ કડક હોય,
00:32:44
તો તે તમને ઓછા નિર્ભર
ઓછા રિડન્ડન્સી આપે
00:32:48
છે. પરંતુ તે ખાતરી
આપી શકતું નથી, કે
00:32:52
તમારી ડિપેન્ડન્સી
સાચવવામાં આવશે.
00:32:53
તેથી, વધુ વખત આપણે
3 NF ને સ્વીકાર્ય સામાન્યકૃત
00:32:57
ડિકમ્પોઝિશન તરીકે
સ્વીકારીશું, જેમાં
00:32:59
કેટલીક નિરર્થકતા
હજી પણ અસ્તિત્વમાં
00:33:02
છે. તે શક્ય છે અને
આપણે તેમાંથી છૂટકારો
00:33:05
મેળવી શકતા નથી.
00:33:07
તેથી, આપણે સામાન્ય
સ્વરૂપો અને તેમના
00:33:09
મહત્વ વિશે અભ્યાસ
કર્યો છે. અને સ્કીમામાં
00:33:13
નિરર્થકતાને ઘટાડવા
માટે આપણે કેવી રીતે
00:33:15
ક્રમશઃ અવરોધો વધારી
શકીએ છીએ. અને સ્કીમાને
00:33:18
ત્રીજા સામાન્ય સ્વરૂપમાં
અને બોયસ કોડ સામાન્ય
00:33:22
સ્વરૂપમાં કેવી રીતે
વિઘટિત કરવું તે
00:33:24
શીખ્યા છીએ.