મુખ્ય સામગ્રી પર જાઓ
  1. સંસાધનો/
  2. અભ્યાસ સામગ્રી/
  3. ઇન્ફોર્મેશન ટેકનોલોજી એન્જિનિયરિંગ/
  4. આઈટી સેમેસ્ટર 3/
  5. ડેટાબેસ મેનેજમેન્ટ (4331603)/

ડેટાબેસ મેનેજમેન્ટ (4331603) - ઉનાળો 2024 સોલ્યુશન

·
અભ્યાસ-સામગ્રી સોલ્યુશન ડેટાબેસ-મેનેજમેન્ટ 4331603 2024 ઉનાળો
મિલવ ડબગર
લેખક
મિલવ ડબગર
ઇલેક્ટ્રિકલ અને ઇલેક્ટ્રોનિક મેન્યુફેક્ચરિંગ ઉદ્યોગમાં અનુભવી લેક્ચરર. એમ્બેડેડ સિસ્ટમ્સ, ઈમેજ પ્રોસેસિંગ, ડેટા સાયન્સ, મેટલેબ, પાયથન, STM32માં કુશળ. એલ.ડી. કોલેજ ઓફ એન્જિનિયરિંગ - અમદાવાદથી કમ્યુનિકેશન સિસ્ટમ્સ એન્જિનિયરિંગમાં માસ્ટર્સ ડિગ્રી ધરાવતા મજબૂત શિક્ષણ વ્યાવસાયિક.
અનુક્રમણિકા

પ્રશ્ન 1(અ) [3 ગુણ]
#

નીચેના શબ્દોને વ્યાખ્યાયિત કરો: 1. ડેટા 2. ઇન્ફોર્મેશન 3. મેટાડેટા

જવાબ:

ટેબલ: ડેટા વિ ઇન્ફોર્મેશન વિ મેટાડેટા

શબ્દવ્યાખ્યાઉદાહરણ
ડેટાકોઈ સંદર્ભ વગરના કાચા તથ્યો અને આંકડાઓ“25”, “જોન”, “મુંબઈ”
ઇન્ફોર્મેશનઅર્થ અને સંદર્ભ સાથે પ્રોસેસ કરેલા ડેટા“જોન 25 વર્ષનો છે અને મુંબઈમાં રહે છે”
મેટાડેટાડેટા વિશેનો ડેટા જે સ્ટ્રક્ચર અને પ્રોપર્ટીઝ વર્ણવે છે“ઉંમર ફીલ્ડ: Integer, મહત્તમ લંબાઈ: 3”
  • ડેટા: ઇન્ફોર્મેશન સિસ્ટમ્સના મૂળભૂત બિલ્ડિંગ બ્લોક્સ
  • ઇન્ફોર્મેશન: નિર્ણય લેવા માટે ડેટા પ્રોસેસિંગનું પરિણામ
  • મેટાડેટા: ડેટાબેસ ડિઝાઇન અને મેનેજમેન્ટ માટે જરૂરી

મેમરી ટ્રીક: “DIM - ડેટા મેટાડેટાનો ઉપયોગ કરીને ઇન્ફોર્મેશન આપે છે”


પ્રશ્ન 1(બ) [4 ગુણ]
#

ફાઇલ સિસ્ટમ વિ ડેટાબેસ સિસ્ટમની તુલના કરો

જવાબ:

ટેબલ: ફાઇલ સિસ્ટમ વિ ડેટાબેસ સિસ્ટમ તુલના

પાસુંફાઇલ સિસ્ટમડેટાબેસ સિસ્ટમ
ડેટા સ્ટોરેજદરેક એપ્લિકેશન માટે અલગ ફાઇલોકેન્દ્રીકૃત સ્ટોરેજ
ડેટા રિડન્ડન્સીઉચ્ચ રિડન્ડન્સીલઘુત્તમ રિડન્ડન્સી
ડેટા સુસંગતતાનબળી સુસંગતતાઉચ્ચ સુસંગતતા
ડેટા સિક્યોરિટીમર્યાદિત સિક્યોરિટીએડવાન્સ સિક્યોરિટી ફીચર્સ
એકસાથે એક્સેસમર્યાદિત સપોર્ટસંપૂર્ણ એકસાથે સપોર્ટ
ડેટા ઇન્ડિપેન્ડન્સકોઈ ઇન્ડિપેન્ડન્સ નથીફિઝિકલ અને લોજિકલ ઇન્ડિપેન્ડન્સ
  • ફાઇલ સિસ્ટમ: સરળ પણ ડેટા ડુપ્લિકેશનની સમસ્યાઓ સાથે
  • ડેટાબેસ સિસ્ટમ: જટિલ પણ કાર્યક્ષમ ડેટા મેનેજમેન્ટ
  • મુખ્ય ફાયદો: DBMS ડેટા રિડન્ડન્સી અને અસુસંગતતા દૂર કરે છે

મેમરી ટ્રીક: “DBMS = ડેટા બેટર મેનેજ્ડ સિસ્ટમેટિકલી”


પ્રશ્ન 1(ક) [7 ગુણ]
#

નેટવર્ક ડેટા મોડેલ દોરો અને સમજાવો

જવાબ:

ડાયાગ્રામ:

MSMeeemtmbbOSeTeweryrnt1p4eerTMMye2e1pmmebSbeee1rtr25TMyMepemembbe3err3S6etType4

ટેબલ: નેટવર્ક મોડેલના ઘટકો

ઘટકવર્ણનઉદાહરણ
રેકોર્ડ ટાઇપએન્ટિટીનું પ્રતિનિધિત્વકર્મચારી, વિભાગ
સેટ ટાઇપરેકોર્ડ્સ વચ્ચેનો સંબંધકામ-કરે, મેનેજ-કરે
ઓનરસંબંધમાં પેરેન્ટ રેકોર્ડવિભાગ (ઓનર)
મેમ્બરસંબંધમાં ચાઇલ્ડ રેકોર્ડકર્મચારી (મેમ્બર)
  • ઓનર રેકોર્ડ: સેટને નિયંત્રિત કરે છે અને અનેક મેમ્બર્સ હોઈ શકે છે
  • મેમ્બર રેકોર્ડ: એક અથવા વધુ સેટ્સનું સભ્ય છે
  • સેટ ઓકરન્સ: સેટ ટાઇપનું ઇન્સ્ટન્સ જે ઓનરને મેમ્બર્સ સાથે જોડે છે
  • નેવિગેશન: રેકોર્ડ એક્સેસ માટે પોઇન્ટર્સનો ઉપયોગ

મેમરી ટ્રીક: “નેટવર્ક = અનેક કનેક્શન્સ સાથેના નોડ્સ”


પ્રશ્ન 1(ક) અથવા [7 ગુણ]
#

સ્કીમા શું છે? ઉદાહરણ સાથે સ્કીમાના વિવિધ પ્રકારો સમજાવો

જવાબ:

વ્યાખ્યા: સ્કીમા એ ડેટાબેસનું લોજિકલ સ્ટ્રક્ચર અથવા બ્લુપ્રિન્ટ છે જે વ્યાખ્યાયિત કરે છે કે ડેટા કેવી રીતે ગોઠવાયેલો છે.

ડાયાગ્રામ:

graph TD
    A[External Schema] --> B[Conceptual Schema]
    B --> C[Internal Schema]
    A --> D[View 1]
    A --> E[View 2]
    B --> F[Logical Structure]
    C --> G[Physical Storage]

ટેબલ: સ્કીમાના પ્રકારો

સ્કીમા પ્રકારલેવલવર્ણનઉદાહરણ
એક્સટર્નલ સ્કીમાવ્યૂ લેવલડેટાબેસનો યુઝર-સ્પેસિફિક વ્યૂશિક્ષકો માટે વિદ્યાર્થીઓના ગ્રેડ્સનો વ્યૂ
કોન્સેપ્ચુઅલ સ્કીમાલોજિકલ લેવલસંપૂર્ણ લોજિકલ સ્ટ્રક્ચરબધા ટેબલ્સ, સંબંધો, કન્સ્ટ્રેન્ટ્સ
ઇન્ટર્નલ સ્કીમાફિઝિકલ લેવલફિઝિકલ સ્ટોરેજ સ્ટ્રક્ચરઇન્ડેક્સ ફાઇલો, સ્ટોરેજ એલોકેશન
  • એક્સટર્નલ સ્કીમા: યુઝર્સ માટે ડેટા ઇન્ડિપેન્ડન્સ પ્રદાન કરે છે
  • કોન્સેપ્ચુઅલ સ્કીમા: ડેટાબેસ ડિઝાઇનરનો સંપૂર્ણ વ્યૂ
  • ઇન્ટર્નલ સ્કીમા: ડેટાબેસ એડમિનિસ્ટ્રેટરનો ફિઝિકલ વ્યૂ

મેમરી ટ્રીક: “ECI - એક્સટર્નલ કોન્સેપ્ચુઅલ ઇન્ટર્નલ”


પ્રશ્ન 2(અ) [3 ગુણ]
#

નીચેના શબ્દોને વ્યાખ્યાયિત કરો: 1. એન્ટિટી 2. એટ્રિબ્યુટ્સ 3. રિલેશનશિપ

જવાબ:

ટેબલ: ER મોડેલની મૂળભૂત કોન્સેપ્ટ્સ

શબ્દવ્યાખ્યાઉદાહરણ
એન્ટિટીસ્વતંત્ર અસ્તિત્વ ધરાવતો વાસ્તવિક વિશ્વનો ઓબ્જેક્ટવિદ્યાર્થી, કોર્સ, શિક્ષક
એટ્રિબ્યુટ્સએન્ટિટીનું વર્ણન કરતા ગુણધર્મોવિદ્યાર્થી: ID, નામ, ઉંમર
રિલેશનશિપબે અથવા વધુ એન્ટિટી વચ્ચેનો સંબંધવિદ્યાર્થી કોર્સમાં નોંધણી કરે છે
  • એન્ટિટી: ER ડાયાગ્રામમાં લંબચોરસ દ્વારા રજૂ થાય છે
  • એટ્રિબ્યુટ્સ: એન્ટિટીઓ સાથે જોડાયેલા અંડાકાર દ્વારા રજૂ થાય છે
  • રિલેશનશિપ: એન્ટિટીઓને જોડતા હીરા દ્વારા રજૂ થાય છે

મેમરી ટ્રીક: “EAR - એન્ટિટીના એટ્રિબ્યુટ્સ અને રિલેશનશિપ્સ છે”


પ્રશ્ન 2(બ) [4 ગુણ]
#

ઉદાહરણ સાથે વીક એન્ટિટી સેટ્સનું વર્ણન કરો

જવાબ:

વ્યાખ્યા: વીક એન્ટિટી એ એવી એન્ટિટી છે જે પોતાના એટ્રિબ્યુટ્સ દ્વારા અનન્ય રીતે ઓળખાઈ શકતી નથી અને સ્ટ્રોંગ એન્ટિટી પર આધાર રાખે છે.

ડાયાગ્રામ:

Emp(el1mo)py_eied===D=(=e(=P=pW=a=ee=nr=na=at=dk=mi=e)=ea=n=l=t===Key)Pedr(esNpo)_nname

ટેબલ: વીક વિ સ્ટ્રોંગ એન્ટિટી

પાસુંસ્ટ્રોંગ એન્ટિટીવીક એન્ટિટી
પ્રાઇમરી કીપોતાની પ્રાઇમરી કી છેકોઈ પ્રાઇમરી કી નથી
અસ્તિત્વસ્વતંત્ર અસ્તિત્વસ્ટ્રોંગ એન્ટિટી પર આધાર
પ્રતિનિધિત્વએક લંબચોરસડબલ લંબચોરસ
ઉદાહરણકર્મચારીકર્મચારીનો આશ્રિત
  • પાર્શિયલ કી: એટ્રિબ્યુટ જે વીક એન્ટિટીને આંશિક રૂપે ઓળખે છે
  • આઇડેન્ટિફાઇંગ રિલેશનશિપ: વીક એન્ટિટીને સ્ટ્રોંગ એન્ટિટી સાથે જોડે છે
  • ટોટલ પાર્ટિસિપેશન: વીક એન્ટિટીએ સંબંધમાં સહભાગી થવું જ જોઈએ

મેમરી ટ્રીક: “વીક એન્ટિટીઓ આશ્રિત હોય છે”


પ્રશ્ન 2(ક) [7 ગુણ]
#

યુનિવર્સિટી મેનેજમેન્ટ સિસ્ટમ માટે ER ડાયાગ્રામ દોરો

જવાબ:

ડાયાગ્રામ:

erDiagram
    STUDENT {
        int student_id PK
        string name
        string email
        date birth_date
        string address
    }
    
    COURSE {
        int course_id PK
        string course_name
        int credits
        string department
    }
    
    TEACHER {
        int teacher_id PK
        string name
        string department
        string qualification
    }
    
    ENROLLMENT {
        int enrollment_id PK
        date enrollment_date
        char grade
    }
    
    STUDENT ||--o{ ENROLLMENT : enrolls
    COURSE ||--o{ ENROLLMENT : has
    TEACHER ||--o{ COURSE : teaches

ટેબલ: એન્ટિટી રિલેશનશિપ્સ

રિલેશનશિપકાર્ડિનાલિટીવર્ણન
વિદ્યાર્થી નોંધણી કરે કોર્સM:Nઅનેક વિદ્યાર્થીઓ અનેક કોર્સમાં નોંધણી કરી શકે
શિક્ષક શીખવે કોર્સ1:Nએક શિક્ષક અનેક કોર્સ શીખવે છે
કોર્સ છે નોંધણી1:Nએક કોર્સમાં અનેક નોંધણીઓ છે
  • પ્રાથમિક એન્ટિટીઓ: વિદ્યાર્થી, કોર્સ, શિક્ષક
  • એસોસિએટિવ એન્ટિટી: નોંધણી (M:N સંબંધ ઉકેલે છે)
  • કી એટ્રિબ્યુટ્સ: બધી એન્ટિટીઓમાં અનન્ય ઓળખકર્તા છે

મેમરી ટ્રીક: “યુનિવર્સિટી = વિદ્યાર્થીઓ શિક્ષકો પાસેથી કોર્સ લે છે”


પ્રશ્ન 2(અ) અથવા [3 ગુણ]
#

નીચેના શબ્દોને વ્યાખ્યાયિત કરો: 1. પ્રાઇમરી કી 2. ફોરેન કી 3. કેન્ડિડેટ કી

જવાબ:

ટેબલ: ડેટાબેસ કીઝ

કી પ્રકારવ્યાખ્યાઉદાહરણ
પ્રાઇમરી કીદરેક રેકોર્ડ માટે અનન્ય ઓળખકર્તાવિદ્યાર્થી ટેબલમાં Student_ID
ફોરેન કીબીજા ટેબલની પ્રાઇમરી કીનો સંદર્ભનોંધણી ટેબલમાં Student_ID
કેન્ડિડેટ કીસંભવિત પ્રાઇમરી કી એટ્રિબ્યુટવિદ્યાર્થી ટેબલમાં Email, ફોન
  • પ્રાઇમરી કી: NULL હોઈ શકે નહીં અને અનન્ય હોવી જોઈએ
  • ફોરેન કી: રેફરન્શિયલ ઇન્ટેગ્રિટી જાળવે છે
  • કેન્ડિડેટ કી: વૈકલ્પિક અનન્ય ઓળખકર્તાઓ

મેમરી ટ્રીક: “PFC - પ્રાઇમરી ફોરેન કેન્ડિડેટ”


પ્રશ્ન 2(બ) અથવા [4 ગુણ]
#

જનરલાઇઝેશન અને સ્પેશિયલાઇઝેશન પર ટૂંકી નોંધ લખો

જવાબ:

જનરલાઇઝેશન: અનેક એન્ટિટીઓમાંથી સામાન્ય એટ્રિબ્યુટ્સ કાઢીને સામાન્ય એન્ટિટી બનાવવાની પ્રક્રિયા.

સ્પેશિયલાઇઝેશન: વિશિષ્ટ લાક્ષણિકતાઓના આધારે એન્ટિટીના પેટા વર્ગો વ્યાખ્યાયિત કરવાની પ્રક્રિયા.

ડાયાગ્રામ:

graph TD
    A[વ્યક્તિ] --> B[વિદ્યાર્થી]
    A --> C[શિક્ષક]
    A --> D[સ્ટાફ]
    B --> E[અંડરગ્રેજ્યુએટ]
    B --> F[ગ્રેજ્યુએટ]

ટેબલ: જનરલાઇઝેશન વિ સ્પેશિયલાઇઝેશન

પાસુંજનરલાઇઝેશનસ્પેશિયલાઇઝેશન
દિશાબોટમ-અપ અપ્રોચટોપ-ડાઉન અપ્રોચ
હેતુરિડન્ડન્સી દૂર કરવીવિશિષ્ટ એટ્રિબ્યુટ્સ ઉમેરવા
પરિણામસુપરક્લાસ બનાવટસબક્લાસ બનાવટ
  • ISA રિલેશનશિપ: સુપરક્લાસ અને સબક્લાસ વચ્ચે “Is-A” સંબંધ
  • ઇન્હેરિટન્સ: સબક્લાસ સુપરક્લાસમાંથી એટ્રિબ્યુટ્સ વારસામાં લે છે

મેમરી ટ્રીક: “જનરલ ઉપર જાય, સ્પેશિયલ નીચે જાય”


પ્રશ્ન 2(ક) અથવા [7 ગુણ]
#

ઉદાહરણ સાથે વિવિધ રિલેશનલ એલ્જીબ્રા ઓપરેશન સમજાવો

જવાબ:

ટેબલ: રિલેશનલ એલ્જીબ્રા ઓપરેશન્સ

ઓપરેશનસિમ્બોલવર્ણનઉદાહરણ
સિલેક્ટσશરત આધારે પંક્તિઓ પસંદ કરેσ(age>20)(Student)
પ્રોજેક્ટπવિશિષ્ટ કૉલમ્સ પસંદ કરેπ(name,age)(Student)
યુનિયનબે રિલેશન્સને જોડેR ∪ S
ઇન્ટરસેક્શનરિલેશન્સમાંથી સામાન્ય ટ્યુપલ્સR ∩ S
ડિફરન્સ-R માં છે પણ S માં નથી તે ટ્યુપલ્સR - S
જોઇનસંબંધિત ટ્યુપલ્સને જોડેStudent ⋈ Enrollment

ઉદાહરણ રિલેશન્સ:

Student: (ID=1, Name=જોન, Age=20) Course: (CID=101, CName=DBMS, Credits=3)

  • સિલેક્શન: σ(Age>18)(Student) 18 વર્ષથી વધુ વયના વિદ્યાર્થીઓ રિટર્ન કરે
  • પ્રોજેક્શન: π(Name)(Student) માત્ર નામો રિટર્ન કરે
  • જોઇન: Student ⋈ Enrollment વિદ્યાર્થી અને નોંધણીનો ડેટા જોડે

મેમરી ટ્રીક: “SPUDIJ - સિલેક્ટ પ્રોજેક્ટ યુનિયન ડિફરન્સ ઇન્ટરસેક્શન જોઇન”


પ્રશ્ન 3(અ) [3 ગુણ]
#

SQL માં ન્યુમેરિક ફંક્શન્સની યાદી આપો. કોઈપણ બે સમજાવો

જવાબ:

ટેબલ: SQL ન્યુમેરિક ફંક્શન્સ

ફંક્શનહેતુઉદાહરણ
ABS()એબ્સોલ્યુટ વેલ્યુABS(-15) = 15
CEIL()વેલ્યુ ≥ ની સૌથી નાની પૂર્ણાંકCEIL(4.3) = 5
FLOOR()વેલ્યુ ≤ ની સૌથી મોટી પૂર્ણાંકFLOOR(4.7) = 4
ROUND()નિર્દિષ્ટ સ્થાને રાઉન્ડ કરેROUND(15.76, 1) = 15.8
SQRT()વર્ગમૂળSQRT(16) = 4
POWER()પાવર પર વધારોPOWER(2, 3) = 8

વિગતવાર ઉદાહરણો:

  • ABS(number): એબ્સોલ્યુટ વેલ્યુ રિટર્ન કરે, નેગેટિવ સાઇન દૂર કરે
  • ROUND(number, decimal_places): નિર્દિષ્ટ દશાંશ સ્થાને નંબર રાઉન્ડ કરે

મેમરી ટ્રીક: “ગણિત ફંક્શન્સ નંબર્સને સરસ બનાવે”


પ્રશ્ન 3(બ) [4 ગુણ]
#

ઉદાહરણ સાથે Having અને Order by Clause નું વર્ણન કરો

જવાબ:

HAVING Clause: GROUP BY સાથે એગ્રીગેટ કન્ડિશન્સ આધારે ગ્રુપ્સ ફિલ્ટર કરવા ઉપયોગ થાય.

ORDER BY Clause: પરિણામ સેટને ચડતા અથવા ઊતરતા ક્રમમાં સોર્ટ કરવા ઉપયોગ થાય.

ટેબલ: HAVING વિ WHERE

પાસુંWHEREHAVING
ઉપયોગવ્યક્તિગત પંક્તિઓ ફિલ્ટર કરેગ્રુપ કરેલા પરિણામો ફિલ્ટર કરે
એગ્રીગેટ્સ સાથેઉપયોગ કરી શકાતો નથીએગ્રીગેટ ફંક્શન્સ ઉપયોગ કરી શકે
સ્થિતિGROUP BY પહેલાંGROUP BY પછી

ઉદાહરણ:

SELECT department, COUNT(*) as emp_count
FROM employees 
WHERE salary > 30000
GROUP BY department 
HAVING COUNT(*) > 5
ORDER BY emp_count DESC;
  • WHERE: 30000 થી વધુ પગાર ધરાવતા કર્મચારીઓ ફિલ્ટર કરે
  • HAVING: માત્ર 5 થી વધુ કર્મચારીઓ ધરાવતા વિભાગો બતાવે
  • ORDER BY: કર્મચારીઓની ગણતરી આધારે ઉતરતા ક્રમમાં સોર્ટ કરે

મેમરી ટ્રીક: “WHERE પંક્તિઓ ફિલ્ટર કરે, HAVING ગ્રુપ્સ ફિલ્ટર કરે, ORDER BY પરિણામો સોર્ટ કરે”


પ્રશ્ન 3(ક) [7 ગુણ]
#

Student_ID, Stu_Name, Stu_Subject_ID, Stu_Marks, Stu_Age ફીલ્ડ્સ ધરાવતા student ટેબલ પર નીચેની queries perform કરો

જવાબ:

1. student ટેબલ બનાવવા માટે ક્વેરી:

CREATE TABLE student (
    Student_ID INT PRIMARY KEY,
    Stu_Name VARCHAR(50),
    Stu_Subject_ID INT,
    Stu_Marks INT,
    Stu_Age INT
);

2. student ટેબલમાં રેકોર્ડ દાખલ કરવા માટે ક્વેરી:

INSERT INTO student VALUES 
(1, 'જોન', 101, 85, 22),
(2, 'મેરી', 102, 90, 21);

3. લઘુત્તમ અને મહત્તમ ગુણ શોધો:

SELECT MIN(Stu_Marks) as Min_Marks, 
       MAX(Stu_Marks) as Max_Marks 
FROM student;

4. 82 થી વધુ ગુણ અને 22 વર્ષ વયના વિદ્યાર્થીઓ:

SELECT * FROM student 
WHERE Stu_Marks > 82 AND Stu_Age = 22;

5. નામ ’m’ અક્ષરથી શરૂ થતા વિદ્યાર્થીઓ:

SELECT * FROM student 
WHERE Stu_Name LIKE 'm%';

6. સરેરાશ ગુણ શોધો:

SELECT AVG(Stu_Marks) as Average_Marks 
FROM student;

7. Stu_address કૉલમ ઉમેરો:

ALTER TABLE student 
ADD Stu_address VARCHAR(100);

મેમરી ટ્રીક: “CRUD + એનાલિટિક્સ = સંપૂર્ણ ડેટાબેસ ઓપરેશન્સ”


પ્રશ્ન 3(અ) અથવા [3 ગુણ]
#

ઉદાહરણ સાથે SQL માં વિવિધ ડેટ ફંક્શન વર્ણવો

જવાબ:

ટેબલ: SQL ડેટ ફંક્શન્સ

ફંક્શનહેતુઉદાહરણ
SYSDATEવર્તમાન સિસ્ટમ ડેટSYSDATE ‘2024-06-12’ રિટર્ન કરે
ADD_MONTHS()ડેટમાં મહિનાઓ ઉમેરેADD_MONTHS(‘2024-01-15’, 3)
MONTHS_BETWEEN()ડેટ્સ વચ્ચેના મહિનાઓMONTHS_BETWEEN(‘2024-06-12’, ‘2024-01-12’)
LAST_DAY()મહિનાનો છેલ્લો દિવસLAST_DAY(‘2024-02-15’) = ‘2024-02-29’
NEXT_DAY()દિવસની આગલી ઘટનાNEXT_DAY(‘2024-06-12’, ‘FRIDAY’)

ઉદાહરણો:

  • SYSDATE: વર્તમાન સિસ્ટમ ડેટ અને ટાઇમ રિટર્ન કરે
  • ADD_MONTHS: લોન ડ્યુ ડેટ્સ જેવી ભવિષ્યની તારીખો ગણવા માટે ઉપયોગી

મેમરી ટ્રીક: “ડેટ ફંક્શન્સ ટાઇમ મેનેજમેન્ટમાં મદદ કરે”


પ્રશ્ન 3(બ) અથવા [4 ગુણ]
#

SQL માં કન્સ્ટ્રેન્ટ્સની સૂચિ બનાવો. ઉદાહરણ સાથે કોઈપણ બે સમજાવો

જવાબ:

ટેબલ: SQL કન્સ્ટ્રેન્ટ્સ

કન્સ્ટ્રેન્ટહેતુઉદાહરણ
PRIMARY KEYઅનન્ય ઓળખકર્તાStudent_ID INT PRIMARY KEY
FOREIGN KEYબીજા ટેબલનો સંદર્ભREFERENCES Student(Student_ID)
NOT NULLnull વેલ્યુઝ અટકાવેName VARCHAR(50) NOT NULL
UNIQUEઅનન્યતા સુનિશ્ચિત કરેEmail VARCHAR(100) UNIQUE
CHECKડેટા વેલિડેટ કરેAge INT CHECK (Age >= 18)
DEFAULTડિફોલ્ટ વેલ્યુStatus VARCHAR(10) DEFAULT ‘Active’

વિગતવાર ઉદાહરણો:

PRIMARY KEY કન્સ્ટ્રેન્ટ:

CREATE TABLE Student (
    Student_ID INT PRIMARY KEY,
    Name VARCHAR(50)
);

CHECK કન્સ્ટ્રેન્ટ:

CREATE TABLE Employee (
    Emp_ID INT,
    Salary INT CHECK (Salary > 0)
);
  • PRIMARY KEY: દરેક રેકોર્ડ અનન્ય ઓળખકર્તા છે તેની ખાતરી કરે
  • CHECK: ડેટા એન્ટ્રી દરમિયાન બિઝનેસ નિયમો વેલિડેટ કરે

મેમરી ટ્રીક: “કન્સ્ટ્રેન્ટ્સ ડેટા ક્વોલિટી કંટ્રોલ કરે”


પ્રશ્ન 3(ક) અથવા [7 ગુણ]
#

ઉદાહરણ સાથે SQL માં વિવિધ પ્રકારના joins સમજાવો

જવાબ:

ટેબલ: SQL Joins ના પ્રકારો

Join પ્રકારવર્ણનસિન્ટેક્સ
INNER JOINબંને ટેબલમાંથી મેચિંગ રેકોર્ડ્સ રિટર્ન કરેTable1 INNER JOIN Table2 ON condition
LEFT JOINડાબા ટેબલના બધા + જમણાના મેચિંગ રેકોર્ડ્સTable1 LEFT JOIN Table2 ON condition
RIGHT JOINજમણા ટેબલના બધા + ડાબાના મેચિંગ રેકોર્ડ્સTable1 RIGHT JOIN Table2 ON condition
FULL OUTER JOINબંને ટેબલના બધા રેકોર્ડ્સTable1 FULL OUTER JOIN Table2 ON condition

ઉદાહરણ ટેબલ્સ: Students: (ID=1, Name=જોન), (ID=2, Name=મેરી) Enrollments: (StudentID=1, Course=DBMS), (StudentID=3, Course=Java)

INNER JOIN ઉદાહરણ:

SELECT s.Name, e.Course 
FROM Students s 
INNER JOIN Enrollments e ON s.ID = e.StudentID;

પરિણામ: માત્ર જોન DBMS કોર્સ સાથે

LEFT JOIN ઉદાહરણ:

SELECT s.Name, e.Course 
FROM Students s 
LEFT JOIN Enrollments e ON s.ID = e.StudentID;

પરિણામ: જોન-DBMS, મેરી-NULL

મેમરી ટ્રીક: “JOIN સંબંધિત ટેબલ્સને જોડે છે”


પ્રશ્ન 4(અ) [3 ગુણ]
#

SQL માં Grant અને Revoke કમાન્ડનું ઉદાહરણ આપો

જવાબ:

GRANT કમાન્ડ: ડેટાબેસ ઓબ્જેક્ટ્સ પર યુઝર્સને વિશિષ્ટ વિશેષાધિકારો પ્રદાન કરે.

REVOKE કમાન્ડ: યુઝર્સમાંથી અગાઉ આપેલા વિશેષાધિકારો દૂર કરે.

ટેબલ: સામાન્ય વિશેષાધિકારો

વિશેષાધિકારવર્ણનઉદાહરણ
SELECTડેટા વાંચવોGRANT SELECT ON Student TO user1
INSERTનવા રેકોર્ડ્સ ઉમેરવાGRANT INSERT ON Student TO user1
UPDATEહાલના રેકોર્ડ્સ સુધારવાGRANT UPDATE ON Student TO user1
DELETEરેકોર્ડ્સ દૂર કરવાGRANT DELETE ON Student TO user1
ALLબધા વિશેષાધિકારોGRANT ALL ON Student TO user1

ઉદાહરણો:

-- SELECT વિશેષાધિકાર આપો
GRANT SELECT ON Student TO john;

-- INSERT વિશેષાધિકાર દૂર કરો  
REVOKE INSERT ON Student FROM john;
  • WITH GRANT OPTION: યુઝરને બીજાઓને વિશેષાધિકારો આપવાની મંજૂરી
  • CASCADE: જેમને આ વિશેષાધિકારો મળ્યા છે તે બધામાંથી વિશેષાધિકારો દૂર કરે

મેમરી ટ્રીક: “GRANT અધિકારો આપે, REVOKE અધિકારો દૂર કરે”


પ્રશ્ન 4(બ) [4 ગુણ]
#

SQL Views પર ટૂંકી નોંધ લખો

જવાબ:

વ્યાખ્યા: વ્યૂ એ SQL સ્ટેટમેન્ટના પરિણામ આધારિત વર્ચ્યુઅલ ટેબલ છે જેમાં વાસ્તવિક ટેબલની જેમ પંક્તિઓ અને કૉલમ્સ હોય છે.

ટેબલ: વ્યૂની લાક્ષણિકતાઓ

પાસુંવર્ણનઉદાહરણ
વર્ચ્યુઅલ ટેબલફિઝિકલ રીતે ડેટા સ્ટોર કરતું નથીCREATE VIEW student_view AS…
સિક્યોરિટીસંવેદનશીલ કૉલમ્સ છુપાવેકર્મચારીઓમાંથી પગાર કૉલમ છુપાવો
સરળીકરણજટિલ ક્વેરીઝ સરળ બનાવેએક વ્યૂમાં અનેક ટેબલ્સ જોડો
ડેટા ઇન્ડિપેન્ડન્સમૂળ ટેબલમાં ફેરફારો યુઝર્સને અસર કરતા નથીએપ્લિકેશન્સને અસર કર્યા વિના ટેબલ સ્ટ્રક્ચર સુધારો

ઉદાહરણ:

CREATE VIEW active_students AS
SELECT Student_ID, Name, Age 
FROM Student 
WHERE Status = 'Active';

-- વ્યૂનો ઉપયોગ
SELECT * FROM active_students;

ફાયદાઓ:

  • સિક્યોરિટી: સંવેદનશીલ ડેટાની એક્સેસ મર્યાદિત કરે
  • સરળતા: અંતિમ યુઝર્સમાંથી જટિલ joins છુપાવે
  • સુસંગતતા: પ્રમાણિત ડેટા એક્સેસ

મેમરી ટ્રીક: “વ્યૂઝ એ ડેટાની વર્ચ્યુઅલ વિન્ડોઝ છે”


પ્રશ્ન 4(ક) [7 ગુણ]
#

નોર્મલાઇઝેશન શું છે? ઉદાહરણ સાથે 2NF સમજાવો

જવાબ:

નોર્મલાઇઝેશન: રિડન્ડન્સી ઘટાડવા અને મોટા ટેબલ્સને નાના સંબંધિત ટેબલ્સમાં વિભાજિત કરીને ડેટા ઇન્ટેગ્રિટી સુધારવા માટે ડેટાબેસ ગોઠવવાની પ્રક્રિયા.

2NF (સેકન્ડ નોર્મલ ફોર્મ):

  • 1NF માં હોવું જોઈએ
  • પાર્શિયલ ફંક્શનલ ડિપેન્ડન્સીઝ દૂર કરવી
  • નોન-કી એટ્રિબ્યુટ્સ સંપૂર્ણ પ્રાઇમરી કી પર આધાર રાખવા જોઈએ

ઉદાહરણ - અનોર્મલાઇઝ્ડ ટેબલ:

Student_IDCourse_IDStudent_NameCourse_NameInstructor
101C1જોનDBMSડૉ. સ્મિથ
101C2જોનJavaડૉ. જોન્સ
102C1મેરીDBMSડૉ. સ્મિથ

સમસ્યાઓ:

  • Student_Name માત્ર Student_ID પર આધાર રાખે છે (પાર્શિયલ ડિપેન્ડન્સી)
  • Course_Name અને Instructor માત્ર Course_ID પર આધાર રાખે છે

2NF પછી:

Student ટેબલ:

Student_IDStudent_Name
101જોન
102મેરી

Course ટેબલ:

Course_IDCourse_NameInstructor
C1DBMSડૉ. સ્મિથ
C2Javaડૉ. જોન્સ

Enrollment ટેબલ:

Student_IDCourse_ID
101C1
101C2
102C1

ફાયદાઓ:

  • રિડન્ડન્સી દૂર કરે: વિદ્યાર્થીના નામ પુનરાવર્તન નથી
  • સ્ટોરેજ ઘટાડે: ઓછો ડુપ્લિકેટ ડેટા
  • સુસંગતતા સુધારે: વિદ્યાર્થીનું નામ એક જ જગ્યાએ અપડેટ કરો

મેમરી ટ્રીક: “2NF = કોઈ પાર્શિયલ ડિપેન્ડન્સીઝ નહીં”


પ્રશ્ન 4(અ) અથવા [3 ગુણ]
#

SQL માં Group By Clause નું ઉદાહરણ આપો

જવાબ:

GROUP BY Clause: નિર્દિષ્ટ કૉલમ્સમાં સમાન વેલ્યુઝ ધરાવતી પંક્તિઓને ગ્રુપ કરે છે અને દરેક ગ્રુપ પર એગ્રીગેટ ફંક્શન્સની મંજૂરી આપે છે.

ટેબલ: GROUP BY ઉપયોગ

હેતુફંક્શનઉદાહરણ
ગણતરીCOUNT()વિભાગ દીઠ વિદ્યાર્થીઓની ગણતરી
સરવાળોSUM()વિભાગ દીઠ કુલ પગાર
સરેરાશAVG()કોર્સ દીઠ સરેરાશ ગુણ
મિન/મેક્સ શોધવુંMIN()/MAX()વિભાગ દીઠ સર્વોચ્ચ પગાર

ઉદાહરણ:

SELECT Department, COUNT(*) as Total_Students, AVG(Marks) as Avg_Marks
FROM Student 
GROUP BY Department;

પરિણામ:

DepartmentTotal_StudentsAvg_Marks
IT2578.5
CS3082.1
  • ગ્રુપ્સ: દરેક વિભાગ માટે અલગ ગ્રુપ બનાવે
  • એગ્રીગેટ્સ: દરેક ગ્રુપ માટે કાઉન્ટ અને સરેરાશ ગણે

મેમરી ટ્રીક: “GROUP BY સમરી રિપોર્ટ્સ બનાવે”


પ્રશ્ન 4(બ) અથવા [4 ગુણ]
#

ઉદાહરણ સાથે SQL માં Set Operators નું વર્ણન કરો

જવાબ:

Set Operators: બે અથવા વધુ SELECT સ્ટેટમેન્ટ્સના પરિણામોને જોડે છે.

ટેબલ: SQL Set Operators

ઓપરેટરવર્ણનઆવશ્યકતાઉદાહરણ
UNIONપરિણામો જોડે, ડુપ્લિકેટ્સ દૂર કરેસમાન કૉલમ સ્ટ્રક્ચરSELECT name FROM students UNION SELECT name FROM teachers
UNION ALLપરિણામો જોડે, ડુપ્લિકેટ્સ રાખેસમાન કૉલમ સ્ટ્રક્ચરSELECT name FROM students UNION ALL SELECT name FROM alumni
INTERSECTસામાન્ય રેકોર્ડ્સ રિટર્ન કરેસમાન કૉલમ સ્ટ્રક્ચરSELECT course FROM current_courses INTERSECT SELECT course FROM popular_courses
MINUSપહેલી ક્વેરીમાં છે પણ બીજીમાં નથીસમાન કૉલમ સ્ટ્રક્ચરSELECT student_id FROM enrolled MINUS SELECT student_id FROM graduated

ઉદાહરણ:

-- વિદ્યાર્થીઓ જે શિક્ષકો પણ છે
SELECT name FROM students
INTERSECT
SELECT name FROM teachers;

-- યુનિવર્સિટીના બધા લોકો
SELECT name, 'Student' as type FROM students
UNION
SELECT name, 'Teacher' as type FROM teachers;

નિયમો:

  • કૉલમ કાઉન્ટ: બધી ક્વેરીઝમાં સમાન હોવી જોઈએ
  • ડેટા ટાઇપ્સ: અનુરૂપ કૉલમ્સમાં સુસંગત ટાઇપ્સ હોવા જોઈએ
  • ઓર્ડર: ORDER BY માત્ર અંતે ઉપયોગ કરી શકાય

મેમરી ટ્રીક: “Set operators ડેટાને યુનાઇટ, ઇન્ટરસેક્ટ અને સબ્ટ્રેક્ટ કરે”


પ્રશ્ન 4(ક) અથવા [7 ગુણ]
#

નોર્મલાઇઝેશનના મહત્વને ન્યાયી ઠેરવો. ઉદાહરણ સાથે 1NF સમજાવો

જવાબ:

નોર્મલાઇઝેશનનું મહત્વ:

ટેબલ: નોર્મલાઇઝેશનના ફાયદાઓ

ફાયદોવર્ણનઅસર
રિડન્ડન્સી દૂર કરેડુપ્લિકેટ ડેટા સ્ટોરેજ ઘટાડેસ્ટોરેજ સ્પેસ બચાવે
એનોમલીઝ અટકાવેઇન્સર્શન, ડિલીશન, અપડેટ સમસ્યાઓ ટાળેડેટા સુસંગતતા જાળવે
ઇન્ટેગ્રિટી સુધારેડેટાની સચોટતા સુનિશ્ચિત કરેવિશ્વસનીય ઇન્ફોર્મેશન સિસ્ટમ
લવચીક ડિઝાઇનસુધારવા અને વિસ્તારવામાં સરળબિઝનેસ ફેરફારોને અનુકૂળ

1NF (ફર્સ્ટ નોર્મલ ફોર્મ):

  • સમાન ટેબલમાંથી ડુપ્લિકેટ કૉલમ્સ દૂર કરો
  • સંબંધિત ડેટા માટે અલગ ટેબલ્સ બનાવો
  • દરેક સેલમાં એક વેલ્યુ હોય (એટોમિક વેલ્યુઝ)

ઉદાહરણ - અનોર્મલાઇઝ્ડ ટેબલ:

Student_IDNameSubjects
101જોનગણિત, વિજ્ઞાન, અંગ્રેજી
102મેરીવિજ્ઞાન, ઇતિહાસ

સમસ્યાઓ:

  • Subjects કૉલમમાં અનેક વેલ્યુઝ છે
  • વિશિષ્ટ વિષયો શોધવા મુશ્કેલ
  • વિષયો ઉમેરવા/દૂર કરવામાં અપડેટ એનોમલીઝ

1NF પછી:

Student ટેબલ:

Student_IDName
101જોન
102મેરી

Student_Subject ટેબલ:

Student_IDSubject
101ગણિત
101વિજ્ઞાન
101અંગ્રેજી
102વિજ્ઞાન
102ઇતિહાસ

ફાયદાઓ:

  • એટોમિક વેલ્યુઝ: દરેક સેલમાં એક વેલ્યુ
  • લવચીક ક્વેરીઝ: વિશિષ્ટ વિષયો અભ્યાસ કરતા વિદ્યાર્થીઓ સરળતાથી શોધો
  • સરળ અપડેટ્સ: બીજા ડેટાને અસર કર્યા વિના વિષયો ઉમેરો/દૂર કરો

મેમરી ટ્રીક: “1NF = એક સેલ દીઠ એક વેલ્યુ, કોઈ રિપીટિંગ ગ્રુપ્સ નહીં”


પ્રશ્ન 5(અ) [3 ગુણ]
#

ટ્રાન્ઝેક્શન મેનેજમેન્ટમાં Serializability સમજાવો

જવાબ:

Serializability: એ ગુણધર્મ છે જે સુનિશ્ચિત કરે છે કે ટ્રાન્ઝેક્શન્સનું એકસાથે એક્ઝિક્યુશન તે ટ્રાન્ઝેક્શન્સના કોઈ સીરિયલ એક્ઝિક્યુશન જેવું જ પરિણામ આપે.

ટેબલ: Serializability ના પ્રકારો

પ્રકારવર્ણનપદ્ધતિ
Conflict Serializabilityકોન્ફ્લિક્ટિંગ ઓપરેશન્સ આધારિતપ્રિસિડન્સ ગ્રાફ
View Serializabilityરીડ-રાઇટ પેટર્ન આધારિતવ્યૂ ઇક્વિવેલન્સ

ઉદાહરણ: Transaction T1: R(A), W(A), R(B), W(B) Transaction T2: R(A), W(A), R(B), W(B)

સીરિયલ શેડ્યુલ: T1 → T2 અથવા T2 → T1 કોન્કરન્ટ શેડ્યુલ: ઇન્ટરલીવ્ડ ઓપરેશન્સ

  • કોન્ફ્લિક્ટ ઓપરેશન્સ: સમાન ડેટા આઇટમ પરના ઓપરેશન્સ જ્યાં ઓછામાં ઓછું એક રાઇટ હોય
  • સીરિયલાઇઝેબલ શેડ્યુલ: કોઈ સીરિયલ શેડ્યુલ સમકક્ષ
  • નોન-સીરિયલાઇઝેબલ: અસુસંગત ડેટાબેસ સ્ટેટ તરફ દોરી શકે

મેમરી ટ્રીક: “Serializability ટ્રાન્ઝેક્શન કન્સિસ્ટન્સી સુનિશ્ચિત કરે”


પ્રશ્ન 5(બ) [4 ગુણ]
#

ઉદાહરણ સાથે પાર્શિયલ ફંક્શનલ ડિપેન્ડન્સી નું વર્ણન કરો

જવાબ:

પાર્શિયલ ફંક્શનલ ડિપેન્ડન્સી: જ્યારે કોઈ નોન-કી એટ્રિબ્યુટ કમ્પોઝિટ પ્રાઇમરી કીના માત્ર એક ભાગ પર ફંક્શનલી ડિપેન્ડન્ટ હોય.

ટેબલ: ફંક્શનલ ડિપેન્ડન્સીના પ્રકારો

પ્રકારવ્યાખ્યાઉદાહરણ
ફુલ ડિપેન્ડન્સીસંપૂર્ણ પ્રાઇમરી કી પર આધાર(Student_ID, Course_ID) → Grade
પાર્શિયલ ડિપેન્ડન્સીપ્રાઇમરી કીના ભાગ પર આધાર(Student_ID, Course_ID) → Student_Name

ઉદાહરણ: Enrollment ટેબલ: પ્રાઇમરી કી: (Student_ID, Course_ID)

Student_IDCourse_IDStudent_NameCourse_NameGrade
101C1જોનDBMSA
101C2જોનJavaB

પાર્શિયલ ડિપેન્ડન્સીઝ:

  • Student_ID → Student_Name (Student_Name માત્ર Student_ID પર આધાર રાખે)
  • Course_ID → Course_Name (Course_Name માત્ર Course_ID પર આધાર રાખે)

સમસ્યાઓ:

  • અપડેટ એનોમલી: વિદ્યાર્થીનું નામ બદલવા માટે અનેક અપડેટ્સ જરૂરી
  • ઇન્સર્શન એનોમલી: કોર્સમાં નોંધણી કર્યા વિના વિદ્યાર્થી ઉમેરી શકાતો નથી
  • ડિલીશન એનોમલી: નોંધણી ડિલીટ કરવાથી વિદ્યાર્થીની માહિતી ખોવાઈ શકે

સોલ્યુશન: પાર્શિયલ ડિપેન્ડન્સીઝ દૂર કરીને 2NF માં નોર્મલાઇઝ કરો

મેમરી ટ્રીક: “પાર્શિયલ ડિપેન્ડન્સી = કીનો ભાગ એટ્રિબ્યુટ નક્કી કરે”


પ્રશ્ન 5(ક) [7 ગુણ]
#

ટ્રાન્ઝેક્શન મેનેજમેન્ટમાં ઉદાહરણ સાથે Locking Mechanism પર ટૂંકી નોંધ લખો

જવાબ:

Locking Mechanism: કન્કરન્સી કંટ્રોલ ટેકનીક જે ટ્રાન્ઝેક્શન એક્ઝિક્યુશન દરમિયાન ડેટા આઇટમ્સની એકસાથે એક્સેસ અટકાવે છે.

ટેબલ: Locks ના પ્રકારો

Lock પ્રકારવર્ણનઉપયોગ
Shared Lock (S)અનેક ટ્રાન્ઝેક્શન્સ વાંચી શકેરીડ ઓપરેશન્સ
Exclusive Lock (X)માત્ર એક ટ્રાન્ઝેક્શન એક્સેસ કરી શકેરાઇટ ઓપરેશન્સ
Intention Lockનિચલા લેવલે lock કરવાનો ઇરાદો દર્શાવેહાયરાર્કિકલ લોકિંગ

Two-Phase Locking (2PL) પ્રોટોકોલ:

  1. ગ્રોઇંગ ફેઝ: locks એક્વાયર કરો, કોઈ lock રિલીઝ ન કરો
  2. શ્રિંકિંગ ફેઝ: locks રિલીઝ કરો, નવા locks એક્વાયર ન કરો

ઉદાહરણ:

Transaction T1: Read(A), Write(A), Read(B), Write(B)
Transaction T2: Read(A), Write(A), Read(C), Write(C)

T1: S-lock(A), Read(A), X-lock(A), Write(A), S-lock(B), Read(B), X-lock(B), Write(B), Unlock(A), Unlock(B)
T2: A માટે રાહ જુએ, S-lock(A), Read(A), X-lock(A), Write(A), S-lock(C), Read(C), X-lock(C), Write(C), Unlock(A), Unlock(C)

Lock Compatibility Matrix:

વર્તમાન/માંગેલSX
S
X

સમસ્યાઓ:

  • ડેડલોક: બે ટ્રાન્ઝેક્શન્સ એકબીજાના locks માટે રાહ જુએ
  • સ્ટાર્વેશન: ટ્રાન્ઝેક્શન lock માટે અનંત રાહ જુએ

સોલ્યુશન્સ:

  • ડેડલોક ડિટેક્શન: wait-for ગ્રાફનો ઉપયોગ
  • ડેડલોક પ્રિવેન્શન: ટાઇમસ્ટેમ્પ-આધારિત પ્રોટોકોલ્સ

મેમરી ટ્રીક: “Locking કોન્કરન્ટ કોન્ફ્લિક્ટ્સ અટકાવે”


પ્રશ્ન 5(અ) અથવા [3 ગુણ]
#

ટ્રાન્ઝેક્શન મેનેજમેન્ટમાં ડેડલોક સમજાવો

જવાબ:

ડેડલોક: એવી પરિસ્થિતિ જ્યાં બે અથવા વધુ ટ્રાન્ઝેક્શન્સ એકબીજાને locks રિલીઝ કરવા માટે અનંત રાહ જુએ છે, ચક્રાકાર રાહની સ્થિતિ બનાવે છે.

ટેબલ: ડેડલોકના ઘટકો

ઘટકવર્ણનઉદાહરણ
મ્યુચ્યુઅલ એક્સક્લુઝનરિસોર્સ શેર કરી શકાતા નથીએક્સક્લુઝિવ locks
હોલ્ડ એન્ડ વેઇટપ્રોસેસ રિસોર્સ પકડીને બીજાની રાહ જુએT1 A પકડે, B ની રાહ જુએ
નો પ્રીએમ્પ્શનરિસોર્સ બળજબરીથી છીનવી શકાતા નથીLocks રદ કરી શકાતા નથી
સર્ક્યુલર વેઇટપ્રોસેસોની ચક્રાકાર રાહની સાંકળT1→T2→T1

ઉદાહરણ:

Transaction T1: Lock(A), Lock(B)
Transaction T2: Lock(B), Lock(A)

સમય 1: T1 ને Lock(A) મળે
સમય 2: T2 ને Lock(B) મળે 
સમય 3: T1 Lock(B) ની રાહ જુએ - T2 પાસે છે
સમય 4: T2 Lock(A) ની રાહ જુએ - T1 પાસે છે
પરિણામ: ડેડલોક!

ડિટેક્શન: ચક્રો ઓળખવા માટે wait-for ગ્રાફનો ઉપયોગ પ્રિવેન્શન: ટાઇમસ્ટેમ્પ ઓર્ડરિંગ અથવા wound-wait પ્રોટોકોલ્સનો ઉપયોગ

મેમરી ટ્રીક: “ડેડલોક = રિસોર્સ માટે ચક્રાકાર રાહ”


પ્રશ્ન 5(બ) અથવા [4 ગુણ]
#

ઉદાહરણ સાથે ફુલ ફંક્શનલ ડિપેન્ડન્સી નું વર્ણન કરો

જવાબ:

ફુલ ફંક્શનલ ડિપેન્ડન્સી: જ્યારે કોઈ નોન-કી એટ્રિબ્યુટ સંપૂર્ણ પ્રાઇમરી કી પર ફંક્શનલી ડિપેન્ડન્ટ હોય (માત્ર તેના ભાગ પર નહીં).

ટેબલ: ડિપેન્ડન્સી તુલના

પ્રકારવ્યાખ્યાઉદાહરણ
ફુલ ડિપેન્ડન્સીસંપૂર્ણ પ્રાઇમરી કી પર આધાર(Student_ID, Course_ID) → Grade
પાર્શિયલ ડિપેન્ડન્સીપ્રાઇમરી કીના ભાગ પર આધાર(Student_ID, Course_ID) → Student_Name

ઉદાહરણ: Enrollment ટેબલ: પ્રાઇમરી કી: (Student_ID, Course_ID)

Student_IDCourse_IDGradeHours
101C1A4
101C2B3
102C1B4

ફુલ ફંક્શનલ ડિપેન્ડન્સીઝ:

  • (Student_ID, Course_ID) → Grade ✓
  • (Student_ID, Course_ID) → Hours ✓

સમજૂતી:

  • Grade Student_ID અને Course_ID બંને પર આધાર રાખે (વિશિષ્ટ વિદ્યાર્થી વિશિષ્ટ કોર્સમાં)
  • Hours પણ બંને પર આધાર રાખે (વિશિષ્ટ કોર્સમાં વિદ્યાર્થીના કલાકો)
  • માત્ર Student_ID થી Grade નક્કી કરી શકાતો નથી
  • માત્ર Course_ID થી Grade નક્કી કરી શકાતો નથી

ફાયદાઓ:

  • કોઈ અપડેટ એનોમલીઝ નહીં: ફેરફારો માત્ર સંબંધિત રેકોર્ડ્સને અસર કરે
  • યોગ્ય નોર્મલાઇઝેશન: 2NF આવશ્યકતાઓને સપોર્ટ કરે
  • ડેટા ઇન્ટેગ્રિટી: સચોટ સંબંધો સુનિશ્ચિત કરે

મેમરી ટ્રીક: “ફુલ ડિપેન્ડન્સીને સંપૂર્ણ કીની જરૂર”


પ્રશ્ન 5(ક) અથવા [7 ગુણ]
#

ઉદાહરણ સાથે ટ્રાન્ઝેક્શનના ACID ગુણધર્મો સમજાવો

જવાબ:

ACID ગુણધર્મો: ડેટાબેસ ટ્રાન્ઝેક્શનની વિશ્વસનીયતાની બાંયધરી આપતા ચાર મૂળભૂત ગુણધર્મો.

ટેબલ: ACID ગુણધર્મો

ગુણધર્મવર્ણનઉદાહરણ
Atomicityબધું અથવા કશું નહીં એક્ઝિક્યુશનબેંક ટ્રાન્સફર: ડેબિટ અને ક્રેડિટ બંને થવા જોઈએ
Consistencyડેટાબેસ વેલિડ સ્ટેટમાં રહેએકાઉન્ટ બેલેન્સ નેગેટિવ ન હોઈ શકે
Isolationટ્રાન્ઝેક્શન્સ એકબીજામાં દખલ ન કરેકોન્કરન્ટ ટ્રાન્ઝેક્શન્સ સીક્વન્શિયલ લાગે
Durabilityકમિટ થયેલા ફેરફારો કાયમી રહેસિસ્ટમ ક્રેશ પછી પણ ડેટા બચે

વિગતવાર ઉદાહરણો:

Atomicity ઉદાહરણ:

BEGIN TRANSACTION;
UPDATE Account SET Balance = Balance - 1000 WHERE AccNo = 'A001';
UPDATE Account SET Balance = Balance + 1000 WHERE AccNo = 'A002';
COMMIT;

જો કોઈ પણ અપડેટ નિષ્ફળ જાય તો સંપૂર્ણ ટ્રાન્ઝેક્શન રોલબેક થાય

Consistency ઉદાહરણ:

-- પહેલાં: A001 = 5000, A002 = 3000, કુલ = 8000
-- A001 થી A002 માં 1000 ટ્રાન્સફર
-- પછી: A001 = 4000, A002 = 4000, કુલ = 8000
-- સિસ્ટમમાં કુલ પૈસા સમાન રહે

Isolation ઉદાહરણ:

T1: Read(A=100), A=A+50, Write(A=150)
T2: Read(A=100), A=A*2, Write(A=200)
સીરિયલ પરિણામ: A=300 અથવા A=250
આઇસોલેટેડ એક્ઝિક્યુશન આમાંથી એક પરિણામ આપવો જોઈએ

Durability ઉદાહરણ:

COMMIT એક્ઝિક્યુટ થયા પછી, સિસ્ટમ ક્રેશ થયા છતાં,
ટ્રાન્સફર થયેલ રકમ ડેસ્ટિનેશન એકાઉન્ટમાં રહે

અમલીકરણ:

  • Atomicity: ટ્રાન્ઝેક્શન લોગ્સ અને રોલબેકનો ઉપયોગ
  • Consistency: કન્સ્ટ્રેન્ટ્સ અને ટ્રિગર્સનો ઉપયોગ
  • Isolation: લોકિંગ મેકેનિઝમ્સનો ઉપયોગ
  • Durability: રાઇટ-અહેડ લોગિંગનો ઉપયોગ

મેમરી ટ્રીક: “ACID ટ્રાન્ઝેક્શન્સને વિશ્વસનીય રાખે”

સંબંધિત

કમ્પ્યુટર નેટવર્કસ અને ડેટા કમ્યુનિકેશન (4361101) - ઉનાળો 2024 સોલ્યુશન
અભ્યાસ-સામગ્રી સોલ્યુશન કમ્પ્યુટર-નેટવર્કસ 4361101 2024 ઉનાળો
એડવાન્સ જાવા પ્રોગ્રામિંગ (4351603) - ઉનાળા 2024 સોલ્યુશન
અભ્યાસ-સામગ્રી સોલ્યુશન એડવાન્સ-જાવા 4351603 2024 ઉનાળા
ઇલેક્ટ્રોનિક સર્કિટ્સ એન્ડ એપ્લિકેશન્સ (4321103) - ઉનાળુ 2023 સોલ્યુશન
20 મિનિટ
અભ્યાસ-સામગ્રી સોલ્યુશન ઇલેક્ટ્રોનિક-સર્કિટ્સ 4321103 2023 ઉનાળુ
ડિજિટલ એન્ડ ડેટા કોમ્યુનિકેશન (4343201) - સમર 2024 સોલ્યુશન
18 મિનિટ
અભ્યાસ-સામગ્રી સોલ્યુશન ડિજિટલ-કોમ્યુનિકેશન ડેટા-કોમ્યુનિકેશન 4343201 2024 સમર
મોબાઇલ અને વાયરલેસ કમ્યુનિકેશન (4351104) - ઉનાળો 2024 સોલ્યૂશન
અભ્યાસ-સામગ્રી સોલ્યૂશન મોબાઇલ-કમ્યુનિકેશન 4351104 2024 ઉનાળો
સાયબર સિક્યુરિટી અને ડિજિટલ ફોરેન્સિક્સ (4361601) - ઉનાળુ 2024 સોલ્યુશન
અભ્યાસ-સામગ્રી સોલ્યુશન સાયબર-સિક્યુરિટી 4361601 2024 ઉનાળુ