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

ડેટાબેઝ મેનેજમેન્ટ (4331603) - ઉનાળો 2025 ઉકેલ

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

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

નીચેના શબ્દોની વ્યાખ્યા આપો. 1) મેટાડેટા 2) સ્કીમા 3) ડેટા ડિક્શનરી.

જવાબ:

ટેબલ:

શબ્દવ્યાખ્યા
મેટાડેટાડેટા વિશેનો ડેટા જે ડેટાબેઝની રચના અને વિશેષતાઓ વર્ણવે છે
સ્કીમાડેટાબેઝના સંગઠન અને સંબંધોને દર્શાવતી તાર્કિક રચના
ડેટા ડિક્શનરીડેટાબેઝના તત્વો વિશેની માહિતી સંગ્રહિત કરતો કેન્દ્રીય ભંડાર
  • મેટાડેટા: ડેટાની લાક્ષણિકતાઓ અને ગુણધર્મો વર્ણવતી માહિતી
  • સ્કીમા: ડેટાબેઝની રચના અને મર્યાદાઓ વ્યાખ્યાયિત કરતો બ્લુપ્રિન્ટ
  • ડેટા ડિક્શનરી: બધા ડેટાબેઝ ઓબ્જેક્ટ્સ અને તેમના ગુણધર્મોની કેટલોગ

મેમરી ટ્રીક: “MSD - My System Dictionary”

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

ડેટાબેઝ મેનેજમેન્ટ સિસ્ટમના ફાયદા લખો.

જવાબ:

ટેબલ:

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

મેમરી ટ્રીક: “DISC-RCDB - Database Is Super Cool”

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

DBA ની જવાબદારીઓ સમજાવો.

જવાબ:

ટેબલ:

જવાબદારીકાર્યો
ડેટાબેઝ ડિઝાઈનતાર્કિક અને ભૌતિક રચનાઓ બનાવવી
સુરક્ષા મેનેજમેન્ટવપરાશકર્તા પહોંચ અને પરવાનગીઓનું નિયંત્રણ
પર્ફોર્મન્સ ટ્યુનિંગક્વેરીઝ અને ડેટાબેઝ ઓપરેશન્સને ઓપ્ટિમાઈઝ કરવા
બેકઅપ પુનઃપ્રાપ્તિડેટા સુરક્ષા અને પુનઃસ્થાપન સુનિશ્ચિત કરવું
યુઝર મેનેજમેન્ટએકાઉન્ટ બનાવવા અને વિશેષાધિકારો અસાઇન કરવા
graph TD
    A[DBA જવાબદારીઓ] --> B[ડેટાબેઝ ડિઝાઈન]
    A --> C[સુરક્ષા મેનેજમેન્ટ]
    A --> D[પર્ફોર્મન્સ ટ્યુનિંગ]
    A --> E[બેકઅપ અને પુનઃપ્રાપ્તિ]
    A --> F[યુઝર મેનેજમેન્ટ]
    A --> G[સિસ્ટમ મોનિટરિંગ]
  • ડેટાબેઝ ઇન્સ્ટલેશન: DBMS સોફ્ટવેર સેટઅપ અને કોન્ફિગર કરવું
  • ડેટા માઇગ્રેશન: સિસ્ટમ્સ વચ્ચે ડેટાને સુરક્ષિત રીતે ટ્રાન્સફર કરવો
  • ડોક્યુમેન્ટેશન: ડેટાબેઝ સ્કીમા અને પ્રક્રિયાઓ જાળવવી
  • મોનિટરિંગ: સિસ્ટમ પર્ફોર્મન્સ અને રિસોર્સ વપરાશ ટ્રેક કરવું
  • ટ્રબલશૂટિંગ: ડેટાબેઝ સમસ્યાઓ અને ભૂલો ઉકેલવી

મેમરી ટ્રીક: “DSPBU-DMT - DBA Solves Problems By Understanding Database Management Tasks”

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

ડેટા એબ્સ્ટ્રેક્શન શું છે? ત્રણ સ્તરની ANSI SPARC આર્કિટેક્ચરને વિગતવાર સમજાવો.

જવાબ:

ડેટા એબ્સ્ટ્રેક્શન: વપરાશકર્તાઓથી જટિલ ડેટાબેઝ અમલીકરણ વિગતો છુપાવીને સરળ ઇન્ટરફેસ પ્રદાન કરવું.

graph TB
    A[એક્સટર્નલ લેવલ] --> B[કોન્સેપ્ચુઅલ લેવલ]
    B --> C[ઇન્ટર્નલ લેવલ]
    A1[યુઝર વ્યૂઝ] --> A
    B1[લોજિકલ સ્કીમા] --> B
    C1[ફિઝિકલ સ્ટોરેજ] --> C

ટેબલ:

સ્તરવર્ણનવપરાશકર્તાઓ
એક્સટર્નલ લેવલવ્યક્તિગત વપરાશકર્તા દૃશ્યો અને એપ્લિકેશન્સએન્ડ યુઝર્સ
કોન્સેપ્ચુઅલ લેવલસંપૂર્ણ તાર્કિક ડેટાબેઝ રચનાડેટાબેઝ ડિઝાઇનર્સ
ઇન્ટર્નલ લેવલભૌતિક સ્ટોરેજ અને એક્સેસ પદ્ધતિઓસિસ્ટમ પ્રોગ્રામર્સ
  • એક્સટર્નલ લેવલ: જટિલતા છુપાવતા અનેક વપરાશકર્તા દૃશ્યો
  • કોન્સેપ્ચુઅલ લેવલ: સ્ટોરેજ વિગતો વિના સંપૂર્ણ ડેટાબેઝ સ્કીમા
  • ઇન્ટર્નલ લેવલ: ભૌતિક ફાઇલ સંગઠન અને ઇન્ડેક્સિંગ
  • ડેટા સ્વતંત્રતા: એક સ્તરમાં ફેરફારો અન્યને અસર કરતા નથી

મેમરી ટ્રીક: “ECI - Every Computer Implements”

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

સ્કીમા અને ઇન્સ્ટન્સનો તફાવત સમજાવો

જવાબ:

ટેબલ:

પાસુંસ્કીમાઇન્સ્ટન્સ
વ્યાખ્યાડેટાબેઝ રચનાનો બ્લુપ્રિન્ટચોક્કસ સમયે વાસ્તવિક ડેટા
પ્રકૃતિસ્થિર તાર્કિક ડિઝાઇનડાયનામિક ડેટા સામગ્રી
ફેરફારોભાગ્યે જ સંશોધિતવારંવાર અપડેટ
  • સ્કીમા: ડેટાબેઝ સંગઠન અને મર્યાદાઓ વર્ણવે છે
  • ઇન્સ્ટન્સ: ચોક્કસ ક્ષણે ડેટાબેઝ સામગ્રીનો સ્નેપશોટ
  • સંબંધ: સ્કીમા રચના વ્યાખ્યાયિત કરે છે, ઇન્સ્ટન્સ ડેટા સમાવે છે

મેમરી ટ્રીક: “SI - Structure vs Information”

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

સ્પેશ્યલાઈઝેશન ઉદાહરણ સાથે સમજાવો.

જવાબ:

સ્પેશ્યલાઈઝેશન: ચોક્કસ લાક્ષણિકતાઓના આધારે સુપરક્લાસમાંથી સબક્લાસ બનાવવાની પ્રક્રિયા.

erDiagram
    EMPLOYEE {
        int emp_id
        string name
        float salary
    }
    MANAGER {
        string department
        int team_size
    }
    DEVELOPER {
        string programming_language
        string project
    }
    
    EMPLOYEE ||--|| MANAGER : specializes
    EMPLOYEE ||--|| DEVELOPER : specializes
  • ટોપ-ડાઉન અપ્રોચ: સામાન્ય એન્ટિટીથી ચોક્કસ એન્ટિટીઓ તરફ
  • ઇન્હેરિટન્સ: સબક્લાસેસ સુપરક્લાસના ગુણધર્મો વારસામાં લે છે
  • ડિસજોઇન્ટ: મેનેજર અને ડેવલપર અલગ કેટેગરી છે
  • ઉદાહરણ: એમ્પ્લોયી મેનેજર અને ડેવલપરમાં વિશેષીકૃત

મેમરી ટ્રીક: “STID - Specialization Takes Inheritance Down”

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

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

જવાબ:

ER ડાયાગ્રામ: ડેટાબેઝ ડિઝાઇનમાં એન્ટિટીઝ, એટ્રિબ્યુટ્સ અને સંબંધો દર્શાવતી ગ્રાફિકલ પ્રતિનિધિત્વ.

ટેબલ:

પ્રતીકઆકારહેતુઉદાહરણ
એન્ટિટીલંબચોરસવાસ્તવિક વિશ્વનો ઓબ્જેક્ટStudent, Course
એટ્રિબ્યુટઅંડાકારએન્ટિટીના ગુણધર્મોName, Age, ID
સંબંધહીરોએન્ટિટી કનેક્શન્સEnrolls, Takes
પ્રાઇમરી કીઅન્ડરલાઇન અંડાકારયુનિક આઇડેન્ટિફાયરStudent_ID
erDiagram
    STUDENT {
        int student_id PK
        string name
        string email
        date birth_date
    }
    COURSE {
        string course_id PK
        string course_name
        int credits
    }
    ENROLLMENT {
        date enrollment_date
        string grade
    }
    
    STUDENT ||--o{ ENROLLMENT : enrolls
    COURSE ||--o{ ENROLLMENT : includes
  • એન્ટિટી સેટ્સ: સમાન ગુણધર્મો ધરાવતી સમાન એન્ટિટીઝનો સંગ્રહ
  • વીક એન્ટિટી: ઓળખ માટે સ્ટ્રોંગ એન્ટિટી પર આધારિત
  • કાર્ડિનાલિટી: સંબંધ સહભાગિતા વ્યાખ્યાયિત કરે છે (1:1, 1:M, M:N)
  • પાર્ટિસિપેશન: ટોટલ (ડબલ લાઇન) અથવા પાર્શિયલ (સિંગલ લાઇન)

મેમરી ટ્રીક: “EARP - Entities And Relationships Program”

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

DA અને DBA નો તફાવત સમજાવો.

જવાબ:

ટેબલ:

પાસુંડેટા એડમિનિસ્ટ્રેટર (DA)ડેટાબેઝ એડમિનિસ્ટ્રેટર (DBA)
ફોકસડેટા પોલિસીઝ અને સ્ટાન્ડર્ડ્સતકનીકી ડેટાબેઝ ઓપરેશન્સ
સ્તરવ્યૂહાત્મક આયોજનઓપરેશનલ અમલીકરણ
સ્કોપસંસ્થા-વ્યાપી ડેટાચોક્કસ ડેટાબેઝ સિસ્ટમ્સ
  • DA: સંસ્થાકીય સંસાધન તરીકે ડેટાનું સંચાલન કરે છે
  • DBA: તકનીકી ડેટાબેઝ જાળવણી અને પર્ફોર્મન્સ સંભાળે છે
  • સહયોગ: DA નીતિઓ સેટ કરે છે, DBA તેમને અમલમાં મૂકે છે

મેમરી ટ્રીક: “DA-DBA: Design Authority - Database Builder Administrator”

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

જનરલાઈઝેશન ઉદાહરણ સાથે સમજાવો.

જવાબ:

જનરલાઈઝેશન: સમાન એન્ટિટીઝને સામાન્ય સુપરક્લાસમાં જોડવાની બોટમ-અપ પ્રક્રિયા.

erDiagram
    VEHICLE {
        string vehicle_id
        string brand
        int year
        string color
    }
    CAR {
        int doors
        string fuel_type
    }
    MOTORCYCLE {
        int engine_cc
        string bike_type
    }
    
    VEHICLE ||--|| CAR : generalizes
    VEHICLE ||--|| MOTORCYCLE : generalizes
  • બોટમ-અપ અપ્રોચ: ચોક્કસ એન્ટિટીઝથી સામાન્ય એન્ટિટી તરફ
  • કોમન એટ્રિબ્યુટ્સ: સહેજ ગુણધર્મો સુપરક્લાસમાં ખસેડાય છે
  • સ્પેશ્યલાઈઝેશન રિવર્સ: સ્પેશ્યલાઈઝેશન પ્રક્રિયાનું વિપરીત
  • ઉદાહરણ: કાર અને મોટરસાઇકલ વાહનમાં સામાન્યીકૃત

મેમરી ટ્રીક: “GBCS - Generalization Brings Common Superclass”

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

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

જવાબ:

એટ્રિબ્યુટ: એન્ટિટીનું વર્ણન કરતી ગુણવત્તા અથવા લાક્ષણિકતા.

ટેબલ:

એટ્રિબ્યુટ પ્રકારવર્ણનઉદાહરણ
સિમ્પલવધુ વિભાજિત કરી શકાતું નથીAge, Name
કોમ્પોઝિટઉપવિભાગ કરી શકાય છેAddress (Street, City, ZIP)
સિંગલ-વેલ્યુડએન્ટિટી દીઠ એક મૂલ્યStudent_ID
મલ્ટિ-વેલ્યુડઅનેક મૂલ્યો શક્યPhone_numbers
ડેરાઇવ્ડઅન્ય એટ્રિબ્યુટ્સમાંથી ગણાય છેAge from Birth_date
graph TD
    A[એટ્રિબ્યુટ્સ] --> B[સિમ્પલ]
    A --> C[કોમ્પોઝિટ]
    A --> D[સિંગલ-વેલ્યુડ]
    A --> E[મલ્ટિ-વેલ્યુડ]
    A --> F[ડેરાઇવ્ડ]
    A --> G[કી એટ્રિબ્યુટ્સ]
    
    C --> C1[Address: Street, City, ZIP]
    E --> E1[Phone: Mobile, Home, Work]
    F --> F1[Age calculated from DOB]
  • કી એટ્રિબ્યુટ: એન્ટિટી ઇન્સ્ટન્સેસને યુનિકલી ઓળખે છે
  • નલ વેલ્યુઝ: એટ્રિબ્યુટ્સ કે જેમાં કોઈ મૂલ્ય ન હોઈ શકે
  • ડિફોલ્ટ વેલ્યુઝ: નિર્દિષ્ટ ન હોય ત્યારે પૂર્વનિર્ધારિત મૂલ્યો
  • કન્સ્ટ્રેઇન્ટ્સ: એટ્રિબ્યુટ મૂલ્યોને સંચાલિત કરતા નિયમો

મેમરી ટ્રીક: “SCSMD-K - Simple Composite Single Multi Derived Key”

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

SQL માં GRANT અને REVOKE સ્ટેટમેન્ટ સમજાવો.

જવાબ:

ટેબલ:

સ્ટેટમેન્ટહેતુસિન્ટેક્સ ઉદાહરણ
GRANTવપરાશકર્તાઓને વિશેષાધિકારો પ્રદાન કરે છેGRANT SELECT ON table TO user
REVOKEવપરાશકર્તા વિશેષાધિકારો દૂર કરે છેREVOKE INSERT ON table FROM user
-- Grant privileges
GRANT SELECT, INSERT ON employees TO john;
GRANT ALL PRIVILEGES ON database TO admin;

-- Revoke privileges  
REVOKE DELETE ON employees FROM john;
REVOKE ALL ON database FROM user;
  • વિશેષાધિકારો: SELECT, INSERT, UPDATE, DELETE, ALL
  • ઓબ્જેક્ટ્સ: ટેબલ્સ, વ્યૂઝ, ડેટાબેઝિસ, પ્રોસીજર્સ
  • સુરક્ષા: ડેટા એક્સેસ અને મોડિફિકેશન રાઇટ્સનું નિયંત્રણ

મેમરી ટ્રીક: “GR - Grant Rights, Remove Rights”

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

નીચેના Character functions સમજાવો. 1) INITCAP 2) SUBSTR

જવાબ:

ટેબલ:

ફંક્શનહેતુસિન્ટેક્સઉદાહરણ
INITCAPદરેક શબ્દનો પહેલો અક્ષર મોટો કરે છેINITCAP(string)INITCAP(‘hello world’) = ‘Hello World’
SUBSTRસ્ટ્રિંગમાંથી સબસ્ટ્રિંગ કાઢે છેSUBSTR(string, start, length)SUBSTR(‘Database’, 1, 4) = ‘Data’
-- INITCAP examples
SELECT INITCAP('database management') FROM dual; -- Database Management
SELECT INITCAP('gtu university') FROM dual; -- Gtu University

-- SUBSTR examples  
SELECT SUBSTR('Programming', 1, 7) FROM dual; -- Program
SELECT SUBSTR('Database', 5) FROM dual;

-- base
  • INITCAP: સ્ટ્રિંગને યોગ્ય કેસ ફોર્મેટમાં કન્વર્ટ કરે છે
  • SUBSTR: પેરામીટર્સ છે સ્ટ્રિંગ, શરૂઆતની સ્થિતિ, વૈકલ્પિક લંબાઈ
  • વપરાશ: ટેક્સ્ટ ફોર્મેટિંગ અને સ્ટ્રિંગ મેનિપ્યુલેશન ઓપરેશન્સ

મેમરી ટ્રીક: “IS - Initialize String, Split String”

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

નીચે દશાવેલ ટેબલને ધ્યાનમાં લઈ આપેલ ક્વેરીઝના જવાબ લખો. stud_master (enroll_no, name, city, dept)

જવાબ:

-- 1. IT dept માં અભ્યાસ કરતા બધા વિદ્યાર્થીઓની વિગતો દર્શાવો
SELECT * FROM stud_master 
WHERE dept = 'IT';

-- 2. 'p' થી શરૂ થતા નામ વિશેની બધી માહિતી મેળવો
SELECT * FROM stud_master 
WHERE name LIKE 'p%';

-- 3. ટેબલમાં નવો વિદ્યાર્થી દાખલ કરો
INSERT INTO stud_master (enroll_no, name, city, dept) 
VALUES ('202501', 'John Smith', 'Mumbai', 'CS');

-- 4. stud_master ટેબલમાં gender નામનું નવું કૉલમ ઉમેરો
ALTER TABLE stud_master 
ADD gender VARCHAR(10);

-- 5. stud_master ટેબલની પંક્તિઓની સંખ્યા ગણો
SELECT COUNT(*) FROM stud_master;

-- 6. enroll_no ના અવરોહી ક્રમમાં બધી વિદ્યાર્થી વિગતો દર્શાવો
SELECT * FROM stud_master 
ORDER BY enroll_no DESC;

-- 7. ડેટા સાથે stud_master ટેબલનો નાશ કરો
DROP TABLE stud_master;

ટેબલ:

ક્વેરી પ્રકારSQL કમાન્ડહેતુ
SELECTડેટા મેળવે છેરેકોર્ડ્સ દર્શાવે છે
INSERTનવો ડેટા ઉમેરે છેરેકોર્ડ્સ બનાવે છે
ALTERરચના સંશોધિત કરે છેકૉલમ્સ ઉમેરે છે
COUNTએગ્રિગેટ ફંક્શનપંક્તિઓ ગણે છે

મેમરી ટ્રીક: “SIAC-DOC - SQL Is A Complete Database Operations Collection”

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

SQL માં equi join ઉદાહરણ સાથે સમજાવો.

જવાબ:

Equi Join: સમાન કૉલમ્સના આધારે ટેબલ્સને જોડવા માટે સમાનતા શરતનો ઉપયોગ કરતું જોઇન ઓપરેશન.

-- Equi Join ઉદાહરણ
SELECT s.name, c.course_name
FROM students s, courses c
WHERE s.course_id = c.course_id;

-- JOIN સિન્ટેક્સનો ઉપયોગ
SELECT s.name, c.course_name  
FROM students s
JOIN courses c ON s.course_id = c.course_id;
  • સમાનતા ઓપરેટર: કૉલમ મૂલ્યો મેચ કરવા માટે = નો ઉપયોગ
  • કોમન કૉલમ્સ: ટેબલ્સમાં સંબંધિત એટ્રિબ્યુટ્સ હોવા જોઈએ
  • પરિણામ: મેચના આધારે અનેક ટેબલ્સમાંથી સંયુક્ત ડેટા

મેમરી ટ્રીક: “EJ - Equal Join”

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

નીચેના Aggregate functions સમજાવો. 1) MAX 2) SUM

જવાબ:

ટેબલ:

ફંક્શનહેતુસિન્ટેક્સઉદાહરણ
MAXમહત્તમ મૂલ્ય પરત કરે છેMAX(column)MAX(salary) = 50000
SUMમૂલ્યોનો કુલ સરવાળો પરત કરે છેSUM(column)SUM(marks) = 450
-- MAX ઉદાહરણો
SELECT MAX(salary) FROM employees; -- સૌથી વધુ પગાર
SELECT MAX(age) FROM students; -- સૌથી જૂના વિદ્યાર્થીની ઉંમર

-- SUM ઉદાહરણો
SELECT SUM(credits) FROM courses; -- કુલ ક્રેડિટ્સ
SELECT SUM(price * quantity) FROM orders; -- કુલ ઓર્ડર મૂલ્ય
  • એગ્રિગેટ ફંક્શન્સ: અનેક પંક્તિઓ પર કામ કરે છે, એક મૂલ્ય પરત કરે છે
  • NULL હેન્ડલિંગ: ગણતરીમાં NULL મૂલ્યોને અવગણે છે
  • GROUP BY: કેટેગરી-વાઇઝ પરિણામો માટે ગ્રુપિંગ સાથે ઉપયોગ કરી શકાય છે

મેમરી ટ્રીક: “MS - Maximum Sum”

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

નીચે દશાવેલ ટેબલ માટે SQL ક્વેરીઝ લખો: PRODUCT_Master: (prod_no, prod_name, profit, quantity, sell_price, cost_price)

જવાબ:

-- 1. PRODUCT_Master ટેબલ બનાવો
CREATE TABLE PRODUCT_Master (
    prod_no VARCHAR(10) PRIMARY KEY,
    prod_name VARCHAR(50),
    profit NUMBER(10,2),
    quantity NUMBER,
    sell_price NUMBER(10,2),
    cost_price NUMBER(10,2)
);

-- 2. આ ટેબલમાં એક રેકોર્ડ દાખલ કરો
INSERT INTO PRODUCT_Master VALUES 
('P001', 'Laptop', 15000, 10, 45000, 30000);

-- 3. 20000 થી વધુ નફો ધરાવતા પ્રોડક્ટ શોધો
SELECT * FROM PRODUCT_Master 
WHERE profit > 20000;

-- 4. 5 થી ઓછી quantity ધરાવતા પ્રોડક્ટ ડિલીટ કરો
DELETE FROM PRODUCT_Master 
WHERE quantity < 5;

-- 5. 5000 થી વધુ sell_price ધરાવતા પ્રોડક્ટમાં 2% નફો ઉમેરો
UPDATE PRODUCT_Master 
SET profit = profit * 1.02 
WHERE sell_price > 5000;

-- 6. PRODUCT_Master માં total_price નામનું નવું ફીલ્ડ ઉમેરો
ALTER TABLE PRODUCT_Master 
ADD total_price NUMBER(10,2);

-- 7. કોઈ ડુપ્લિકેટ ડેટા વગર પ્રોડક્ટ નામ શોધો
SELECT DISTINCT prod_name FROM PRODUCT_Master;

મેમરી ટ્રીક: “CIDFAUD - Create Insert Delete Find Add Update Distinct”

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

fully functional dependency ઉદાહરણ સાથે સમજાવો.

જવાબ:

Fully Functional Dependency: એટ્રિબ્યુટ સંપૂર્ણ રીતે ફંક્શનલ ડિપેન્ડન્ટ છે જો તે સંપૂર્ણ પ્રાઇમરી કી પર આધારિત હોય, આંશિક કી પર નહીં.

ટેબલ:

ડિપેન્ડન્સી પ્રકારવ્યાખ્યાઉદાહરણ
Full FDસંપૂર્ણ કી પર આધારિત(Student_ID, Course_ID) → Grade
Partial FDકીના ભાગ પર આધારિત(Student_ID, Course_ID) → Student_Name
ઉદાહરણ: Student_Course(Student_ID, Course_ID, Student_Name, Grade)

Full FD: (Student_ID, Course_ID) → Grade
Partial FD: Student_ID → Student_Name
  • સંપૂર્ણ કી: કોમ્પોઝિટ પ્રાઇમરી કીના બધા એટ્રિબ્યુટ્સ જરૂરી
  • નોન-કી એટ્રિબ્યુટ: સંપૂર્ણ પ્રાઇમરી કી કોમ્બિનેશન પર આધારિત
  • 2NF જરૂરિયાત: આંશિક ડિપેન્ડન્સીઝ દૂર કરે છે

મેમરી ટ્રીક: “FFD - Full Function Dependency”

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

નીચે દશાવેલ રિલેશનલ સ્કીમાને ધ્યાનમાં લઈ રિલેશનલ અલજીબ્રા એક્સપ્રેશન આપો: Employee (Emp_name, Emp_id, birth_date, Post, salary)

જવાબ:

(i) Post="Clerk" ધરાવતા બધા કર્મચારીઓની યાદી બનાવો
σ(Post='Clerk')(Employee)

(ii) salary > 2000 અને post='Manager' ધરાવતા Emp_id અને Emp_name શોધો
π(Emp_id, Emp_name)(σ(salary>2000 ∧ Post='Manager')(Employee))

ટેબલ:

પ્રતીકઓપરેશનહેતુ
σસિલેક્શનશરત આધારિત પંક્તિઓ ફિલ્ટર કરે છે
πપ્રોજેક્શનચોક્કસ કૉલમ્સ પસંદ કરે છે
ANDતાર્કિક સંયોજન
  • સિલેક્શન (σ): નિર્દિષ્ટ શરતો પૂરી કરતી પંક્તિઓ પસંદ કરે છે
  • પ્રોજેક્શન (π): પરિણામમાંથી જરૂરી કૉલમ્સ પસંદ કરે છે
  • સંયુક્ત ઓપરેશન્સ: અનેક ઓપરેશન્સનો એકસાથે ઉપયોગ કરી શકાય છે

મેમરી ટ્રીક: “SPA - Select Project And”

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

2NF ના ક્રાઇટેરિયા શું છે? આપેલ રિલેશનમાં વિવિધ ફંક્શનલ ડિપેન્ડન્સીઝ શોધો અને તેને 2NF માં નોર્મલાઈઝ કરો.

જવાબ:

2NF ક્રાઇટેરિયા:

  • 1NF માં હોવું જોઈએ
  • પ્રાઇમરી કી પર કોઈ આંશિક ફંક્શનલ ડિપેન્ડન્સીઝ ન હોવી જોઈએ

આપેલ ટેબલ: Student_Course(Student_ID, Course_ID, Student_Name, Course_Name)

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

Student_ID → Student_Name (Partial FD)
Course_ID → Course_Name (Partial FD)
(Student_ID, Course_ID) → (Student_Name, Course_Name) (Full FD)

2NF નોર્મલાઈઝેશન:

-- ટેબલ 1: Students
Students(Student_ID, Student_Name)

-- ટેબલ 2: Courses  
Courses(Course_ID, Course_Name)

-- ટેબલ 3: Enrollment
Enrollment(Student_ID, Course_ID)
erDiagram
    STUDENTS {
        string Student_ID PK
        string Student_Name
    }
    COURSES {
        string Course_ID PK
        string Course_Name
    }
    ENROLLMENT {
        string Student_ID PK,FK
        string Course_ID PK,FK
    }
    
    STUDENTS ||--o{ ENROLLMENT : enrolls
    COURSES ||--o{ ENROLLMENT : includes

મેમરી ટ્રીક: “2NF - Two Normal Form removes partial dependencies”

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

3NF ઉદાહરણ સાથે સમજાવો.

જવાબ:

3NF (Third Normal Form): 2NF માં હોય અને પ્રાઇમરી કી પર કોઈ ટ્રાન્ઝિટિવ ડિપેન્ડન્સીઝ ન હોય તેવું ટેબલ.

ટેબલ:

નોર્મલ ફોર્મજરૂરિયાતનાબૂદ કરે છે
3NF2NF માં + કોઈ ટ્રાન્ઝિટિવ ડિપેન્ડન્સીઝ નહીંટ્રાન્ઝિટિવ FD
ઉદાહરણ: Employee(Emp_ID, Dept_ID, Dept_Name)

ટ્રાન્ઝિટિવ ડિપેન્ડન્સી: Emp_ID → Dept_ID → Dept_Name

3NF ઉકેલ:
Employee(Emp_ID, Dept_ID)
Department(Dept_ID, Dept_Name)
  • ટ્રાન્ઝિટિવ ડિપેન્ડન્સી: A → B → C જ્યાં A પ્રાઇમરી કી છે
  • નોન-કી ટુ નોન-કી: નોન-કી એટ્રિબ્યુટ્સ વચ્ચે ડિપેન્ડન્સી
  • ડિકમ્પોઝિશન: ટ્રાન્ઝિટિવ ડિપેન્ડન્સીઝ દૂર કરવા માટે ટેબલ વિભાજિત કરવું

મેમરી ટ્રીક: “3NF - Third Normal Form removes Transitive dependencies”

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

નીચે દશાવેલ રિલેશનલ સ્કીમાને ધ્યાનમાં લઈ રિલેશનલ અલજીબ્રા એક્સપ્રેશન આપો: Students (Name, SPI, DOB, Enrollment No)

જવાબ:

(i) SPI 7.0 થી વધુ હોય તેવા બધા વિદ્યાર્થીઓની યાદી બનાવો
σ(SPI > 7.0)(Students)

(ii) enrollment number 007 હોય તેવા વિદ્યાર્થીનું name, DOB દર્શાવો
π(Name, DOB)(σ(Enrollment_No = '007')(Students))

ટેબલ:

ક્વેરીરિલેશનલ અલજીબ્રાહેતુ
ફિલ્ટરσ(condition)પંક્તિઓ પસંદ કરે છે
પ્રોજેક્ટπ(attributes)કૉલમ્સ પસંદ કરે છે
  • પહેલા સિલેક્શન: પ્રોજેક્શન પહેલાં શરતો લાગુ કરો
  • ચોક્કસ મૂલ્ય: સ્ટ્રિંગ લિટરલ્સ માટે ક્વોટ્સનો ઉપયોગ કરો
  • કૉલમ નામો: ચોક્કસ એટ્રિબ્યુટ નામો જરૂરી

મેમરી ટ્રીક: “SPI-DOB: Select Project Information - Display Output Better”

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

1NF ના ક્રાઇટેરિયા શું છે? આપેલ ટેબલને બે અલગ અલગ પદ્ધતિથી 1NF માં નોર્મલાઇઝ કરો.

જવાબ:

1NF ક્રાઇટેરિયા:

  • દરેક સેલમાં એક જ અણુ મૂલ્ય હોવું જોઈએ
  • કોઈ પુનરાવર્તિત જૂથો અથવા એરેઝ નહીં
  • દરેક પંક્તિ અનન્ય હોવી જોઈએ

આપેલ ટેબલ:

EnrollmentNoNameSubjects
001DEFMaths,Physics,Chemistry
002XYZHistory,Biology,English

પદ્ધતિ 1 - અલગ પંક્તિઓ:

EnrollmentNoNameSubject
001DEFMaths
001DEFPhysics
001DEFChemistry
002XYZHistory
002XYZBiology
002XYZEnglish

પદ્ધતિ 2 - અલગ ટેબલ્સ:

-- Students ટેબલ
Students(EnrollmentNo, Name)

-- Subjects ટેબલ  
Subjects(SubjectID, SubjectName)

-- Student_Subjects ટેબલ
Student_Subjects(EnrollmentNo, SubjectID)

મેમરી ટ્રીક: “1NF - One Normal Form creates Atomic values”

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

ટ્રાન્ઝેક્શનની ACID પ્રોપર્ટીઝ સમજાવો.

જવાબ:

ટેબલ:

પ્રોપર્ટીવર્ણનહેતુ
Atomicityસંપૂર્ણ અથવા કંઈ જ એક્ઝિક્યુશનટ્રાન્ઝેક્શન સંપૂર્ણતા
Consistencyડેટાબેઝ માન્ય રહે છેડેટા અખંડિતતા
Isolationસમવર્તી ટ્રાન્ઝેક્શન્સ સ્વતંત્રહસ્તક્ષેપ ટાળવો
Durabilityકમિટ થયેલા ફેરફારો કાયમીડેટા સ્થિરતા
  • Atomicity: ટ્રાન્ઝેક્શન સંપૂર્ણ રીતે એક્ઝિક્યુટ થાય અથવા બિલકુલ નહીં
  • Consistency: ટ્રાન્ઝેક્શન પહેલાં/પછી ડેટાબેઝ કન્સ્ટ્રેઇન્ટ્સ જાળવાય છે
  • Isolation: ટ્રાન્ઝેક્શન્સ એકબીજા સાથે હસ્તક્ષેપ કરતા નથી
  • Durability: એકવાર કમિટ થયા પછી, ફેરફારો સિસ્ટમ ફેઇલ્યુર્સમાં ટકી રહે છે

મેમરી ટ્રીક: “ACID - All Consistent Isolated Durable”

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

નીચે દશાવેલ સ્પેસિફિકેશન મુજબ ટેબલ બનાવો: STUDENT: (stu_id, stu_name, Address, City, contact_no, Branch_name)

જવાબ:

CREATE TABLE STUDENT (
    stu_id VARCHAR(10) PRIMARY KEY,
    stu_name VARCHAR(50) NOT NULL,
    Address VARCHAR(100),
    City VARCHAR(30),
    contact_no NUMBER(10),
    Branch_name VARCHAR(20) CHECK (Branch_name IN ('IT', 'Computer', 'Electrical', 'Civil'))
);

ટેબલ:

કન્સ્ટ્રેઇન્ટહેતુઅમલીકરણ
NOT NULLફરજિયાત ફીલ્ડstu_name NOT NULL
CHECKવેલ્યુ વેલિડેશનBranch_name IN (…)
  • પ્રાઇમરી કી: stu_id દરેક વિદ્યાર્થીને અનન્ય રીતે ઓળખે છે
  • NOT NULL: stu_name ખાલી હોઈ શકે નહીં
  • CHECK કન્સ્ટ્રેઇન્ટ: Branch_name નિર્દિષ્ટ મૂલ્યો સુધી મર્યાદિત
  • ડેટા ટાઇપ્સ: દરેક ફીલ્ડ માટે યોગ્ય સાઇઝ

મેમરી ટ્રીક: “CNPD - Constraints Names Primary Datatypes”

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

ટ્રિગર શું છે? Oracle માં ટ્રિગર બનાવવા માટે સિન્ટેક્સ લખો. સિમ્પલ ટ્રિગર બનાવો.

જવાબ:

ટ્રિગર: વિશેષ સ્ટોર્ડ પ્રોસીજર જે ડેટાબેઝ ઇવેન્ટ્સના પ્રતિભાવમાં આપોઆપ એક્ઝિક્યુટ થાય છે.

Oracle ટ્રિગર સિન્ટેક્સ:

CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE | DELETE}
ON table_name
[FOR EACH ROW]
[WHEN condition]
DECLARE
    -- Variable declarations
BEGIN
    -- Trigger logic
END;

સિમ્પલ ટ્રિગર ઉદાહરણ:

CREATE OR REPLACE TRIGGER display_student_trigger
BEFORE INSERT ON STUDENT
FOR EACH ROW
BEGIN
    DBMS_OUTPUT.PUT_LINE('Inserting student: ' || :NEW.stu_name || 
                        ' with ID: ' || :NEW.stu_id);
END;

ટેબલ:

ટ્રિગર પ્રકારક્યારે એક્ઝિક્યુટ થાયહેતુ
BEFOREDML ઓપરેશન પહેલાંવેલિડેશન, મોડિફિકેશન
AFTERDML ઓપરેશન પછીલોગિંગ, ઓડિટિંગ
FOR EACH ROWરો-લેવલ ટ્રિગરપ્રતિ પંક્તિ એક્ઝિક્યુશન
  • :NEW: દાખલ/અપડેટ કરવામાં આવતા નવા મૂલ્યોનો સંદર્ભ
  • :OLD: ડિલીટ/અપડેટ કરવામાં આવતા જૂના મૂલ્યોનો સંદર્ભ
  • આપોઆપ એક્ઝિક્યુશન: નિર્દિષ્ષ્ટ ઇવેન્ટ્સ પર આપોઆપ ફાયર થાય છે
  • બિઝનેસ લોજિક: જટિલ બિઝનેસ નિયમો લાગુ કરે છે

મેમરી ટ્રીક: “TBA-FEN - Triggers Before After For Each New”

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

ટ્રાન્ઝેક્શનમાં કન્કરન્સી કંટ્રોલના પ્રોબ્લેમ્સ સમજાવો.

જવાબ:

ટેબલ:

સમસ્યાવર્ણનઉદાહરણ
Lost Updateએક ટ્રાન્ઝેક્શન બીજાના ફેરફારો પર લખે છેT1, T2 સમાન રેકોર્ડ અપડેટ કરે છે
Dirty Readઅનકમિટ ડેટા વાંચવોT1 T2 ના અનકમિટ ફેરફારો વાંચે છે
Unrepeatable Readસમાન ક્વેરી અલગ પરિણામો આપે છેT1 વાંચે, T2 અપડેટ કરે, T1 ફરી વાંચે
  • Phantom Read: સમાન ટ્રાન્ઝેક્શનમાં ક્વેરીઝ વચ્ચે નવી પંક્તિઓ દેખાય છે
  • Deadlock: બે ટ્રાન્ઝેક્શન્સ એકબીજાના લોક્સની રાહ જુએ છે
  • Inconsistent Analysis: ડેટા સંશોધિત થતો હોય ત્યારે વાંચવો

મેમરી ટ્રીક: “LDU-PID - Lost Dirty Unrepeatable Phantom Inconsistent Deadlock”

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

નીચે દશાવેલ સ્પેસિફિકેશન મુજબ ટેબલ બનાવો: STUDENT: (stu_id, stu_name, Address, City, contact_no, Branch_name)

જવાબ:

CREATE TABLE STUDENT (
    stu_id VARCHAR(10) PRIMARY KEY CHECK (stu_id LIKE 'S%'),
    stu_name VARCHAR(50),
    Address VARCHAR(100),
    City VARCHAR(30),
    contact_no NUMBER(10),
    Branch_name VARCHAR(20)
);

ટેબલ:

કન્સ્ટ્રેઇન્ટઅમલીકરણહેતુ
PRIMARY KEYstu_id PRIMARY KEYઅનન્ય ઓળખ
CHECKstu_id LIKE ‘S%’‘S’ થી શરૂ થવું જોઈએ
  • પ્રાઇમરી કી: stu_id અનન્ય આઇડેન્ટિફાયર તરીકે કામ કરે છે
  • પેટર્ન ચેક: stu_id અક્ષર ‘S’ થી શરૂ થવું જોઈએ
  • ડેટા ટાઇપ્સ: યોગ્ય ફીલ્ડ સાઇઝ અને ટાઇપ્સ
  • કન્સ્ટ્રેઇન્ટ વેલિડેશન: ડેટાબેઝ આપોઆપ નિયમો લાગુ કરે છે

મેમરી ટ્રીક: “PKC-ST - Primary Key Check Starts”

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

એક્સપ્લિસિટ કર્સર શું છે? એક્સપ્લિસિટ કર્સર ઉદાહરણ સાથે સમજાવો.

જવાબ:

એક્સપ્લિસિટ કર્સર: અનેક પંક્તિઓ પરત કરતા SELECT સ્ટેટમેન્ટ્સ હેન્ડલ કરવા માટે પ્રોગ્રામેટિક કંટ્રોલ સાથે વપરાશકર્તા-વ્યાખ્યાયિત કર્સર.

કર્સર ઓપરેશન્સ:

-- ડિક્લેરેશન
DECLARE
    CURSOR student_cursor IS
        SELECT stu_id, stu_name FROM STUDENT WHERE city = 'Ahmedabad';
    v_id STUDENT.stu_id%TYPE;
    v_name STUDENT.stu_name%TYPE;
BEGIN
    -- કર્સર ઓપન કરો
    OPEN student_cursor;
    
    -- ડેટા ફેચ કરો
    LOOP
        FETCH student_cursor INTO v_id, v_name;
        EXIT WHEN student_cursor%NOTFOUND;
        
        DBMS_OUTPUT.PUT_LINE('ID: ' || v_id || ', Name: ' || v_name);
    END LOOP;
    
    -- કર્સર બંધ કરો
    CLOSE student_cursor;
END;

ટેબલ:

ઓપરેશનહેતુસિન્ટેક્સ
DECLAREકર્સર ડિફાઇન કરવુંCURSOR name IS SELECT…
OPENકર્સર ઇનિશિયલાઇઝ કરવુંOPEN cursor_name
FETCHડેટા મેળવવોFETCH cursor INTO variables
CLOSEરિસોર્સ છોડવાCLOSE cursor_name
graph TD
    A[DECLARE Cursor] --> B[OPEN Cursor]
    B --> C[FETCH Data]
    C --> D{વધુ Rows?}
    D -->|હા| C
    D -->|ના| E[CLOSE Cursor]
  • મેન્યુઅલ કંટ્રોલ: પ્રોગ્રામર કર્સર ઓપરેશન્સને નિયંત્રિત કરે છે
  • મેમરી મેનેજમેન્ટ: સ્પષ્ટ રીતે ઓપન અને ક્લોઝ કરવું જોઈએ
  • લૂપ પ્રોસેસિંગ: સામાન્ય રીતે અનેક પંક્તિઓ માટે લૂપ્સ સાથે ઉપયોગ થાય છે
  • કર્સર એટ્રિબ્યુટ્સ: %FOUND, %NOTFOUND, %ROWCOUNT

મેમરી ટ્રીક: “DOFC - Declare Open Fetch Close”

સંબંધિત

પર્યાવરણ અને ટકાઉપણું (4300003) - ઉનાળો 2022 ઉકેલ
અભ્યાસ-સામગ્રી ઉકેલો પર્યાવરણ 4300003 2022 ઉનાળો ગુજરાતી
ઔદ્યોગિક ઇલેક્ટ્રોનિક્સ (4331103) - ઉનાળું 2025 સોલ્યુશન
અભ્યાસ-સામગ્રી સોલ્યુશન ઔદ્યોગિક-ઇલેક્ટ્રોનિક્સ 4331103 2025 ઉનાળું
ઇલેક્ટ્રોનિક સર્કિટ અને નેટવર્ક્સ (4331101) - ઉનાળુ 2025 ઉકેલ
અભ્યાસ-સામગ્રી ઉકેલ ઇલેક્ટ્રોનિક-સર્કિટ 4331101 2025 ઉનાળુ
માહિતી પ્રણાલીનો પરિચય (4311602) - શિયાળો 2024 ઉકેલ
અભ્યાસ-સામગ્રી ઉકેલો આઈટી-સિસ્ટમ્સ 4311602 2024 શિયાળો
સાયબર સિક્યુરિટી અને ડિજિટલ ફોરેન્સિક્સ (4361601) - શિયાળા 2024 ઉકેલ
અભ્યાસ-સામગ્રી ઉકેલો સાયબર-સિક્યુરિટી 4361601 2024 શિયાળા
સોફ્ટવેર ડેવલપમેન્ટના મૂળભૂત સિદ્ધાંતો (4331604) - ઉનાળો 2024 સોલ્યુશન
અભ્યાસ-સામગ્રી સોલ્યુશન સોફ્ટવેર-ડેવલપમેન્ટ 4331604 2024 ઉનાળો