Database Management System (1333204) - Summer 2024 Solution Gujarati

Solution guide for Database Management System (1333204) Summer 2024 exam

પ્રશ્ન 1(અ) [3 માર્ક્સ]

વ્યાખ્યા આપો: DBMS, ઈન્સટન્સ, મેટાડેટા

જવાબ:

  • DBMS (ડેટાબેઝ મેનેજમેન્ટ સિસ્ટમ): એક સોફ્ટવેર જે વપરાશકર્તાઓને ડેટાબેઝ બનાવવા, જાળવવા, અને ઍક્સેસ કરવા સક્ષમ બનાવે છે. જે ડેટા ઑર્ગેનાઈઝેશન, સ્ટોરેજ, પુનઃપ્રાપ્તિ, સુરક્ષા, અને અખંડતાનું નિયંત્રણ કરે છે.
  • ઈન્સટન્સ: કોઈ ચોક્કસ સમયે ડેટાબેઝમાં સંગ્રહિત વાસ્તવિક ડેટા. તે ડેટાબેઝની વર્તમાન સ્થિતિ અથવા સ્નેપશોટ છે.
  • મેટાડેટા: ડેટા વિશેનો ડેટા, જે ડેટાબેઝ સ્ટ્રક્ચરનું વર્ણન કરે છે, જેમાં ટેબલ્સ, ફીલ્ડ્સ, સંબંધો, કન્સ્ટ્રેઈન્ટ્સ, અને ઇન્ડેક્સનો સમાવેશ થાય છે.

મેમરી ટ્રીક: "DIM દૃશ્ય" - ડેટાબેઝ સિસ્ટમ, ઈન્સટન્સ સ્નેપશોટ, મેટાડેટા વર્ણન

પ્રશ્ન 1(બ) [4 માર્ક્સ]

વ્યાખ્યા આપો અને ઉદાહરણ સાથે સમજાવો: 1.Entity 2. Attribute

જવાબ:

કોષ્ટક: Entity અને Attribute વચ્ચેનો તફાવત

કોન્સેપ્ટવ્યાખ્યાઉદાહરણ
એન્ટિટીએક વાસ્તવિક દુનિયાની વસ્તુ અથવા ખ્યાલ જેને સ્પષ્ટપણે ઓળખી શકાય છેવિદ્યાર્થી (જોન), પુસ્તક (હેરી પોટર), કાર (ટોયોટા કેમરી)
એટ્રિબ્યુટએક લક્ષણ અથવા ગુણધર્મ જે એન્ટિટીનું વર્ણન કરે છેવિદ્યાર્થી: રોલ_નં, નામ, સરનામું
પુસ્તક: ISBN, શીર્ષક, લેખક

આકૃતિ:

મેમરી ટ્રીક: "EA-PC" - એન્ટિટીઝ આર ફિઝિકલ/કોન્સેપ્ચ્યુઅલ, એટ્રિબ્યુટ્સ પ્રોવાઇડ કેરેક્ટરિસ્ટિક્સ

પ્રશ્ન 1(ક) [7 માર્ક્સ]

DBA નું પૂર્ણ નામ લખો. DBAની ભૂમિકા અને જવાબદારીઓ સમજાવો.

જવાબ:

DBA એટલે ડેટાબેઝ એડમિનિસ્ટ્રેટર.

કોષ્ટક: DBA જવાબદારીઓ

ભૂમિકાવર્ણન
ડેટાબેઝ ડિઝાઇનલોજિકલ/ફિઝિકલ ડેટાબેઝ સ્ટ્રક્ચર અને સ્કીમા બનાવે છે
સિક્યોરિટી મેનેજમેન્ટયુઝર એકાઉન્ટ્સ અને પરમિશન્સ દ્વારા ઍક્સેસ નિયંત્રિત કરે છે
પરફોર્મન્સ ટ્યુનિંગઝડપી ડેટા પુનઃપ્રાપ્તિ માટે ક્વેરીઝ, ઇન્ડેક્સ ઓપ્ટિમાઇઝ કરે છે
બેકઅપ & રિકવરીડેટા નુકસાન રોકવા માટેની વ્યૂહરચના અમલમાં મૂકે છે
મેઇન્ટેનન્સસોફ્ટવેર અપડેટ કરે છે, પેચિસ લાગુ કરે છે, સ્પેસનું મોનિટરિંગ કરે છે

આકૃતિ:

મેમરી ટ્રીક: "SPMBU" - સિક્યોરિટી, પરફોર્મન્સ, મેઇન્ટેનન્સ, બેકઅપ, અપડેટ્સ

પ્રશ્ન 1(ક) OR [7 માર્ક્સ]

રીલેશનલ અને નેટવર્ક ડેટા મોડેલ વિસ્તારથી સમજાવો.

જવાબ:

કોષ્ટક: રીલેશનલ અને નેટવર્ક ડેટા મોડેલની તુલના

લક્ષણરીલેશનલ મોડેલનેટવર્ક મોડેલ
સ્ટ્રક્ચરટેબલ્સ (રીલેશન્સ) - રો અને કોલમ્સ સાથેરેકોર્ડ્સ પોઇન્ટર્સ દ્વારા જોડાયેલા જટિલ નેટવર્ક બનાવે છે
સંબંધપ્રાઇમરી અને ફોરેન કી દ્વારા જોડાયેલાપેરન્ટ-ચાઇલ્ડ રેકોર્ડ્સ વચ્ચે ડાયરેક્ટ લિંક્સ
ફ્લેક્સિબિલિટીઉચ્ચ - ટેબલ્સ જરૂરિયાત મુજબ જોઈન કરી શકાય છેસીમિત - પૂર્વનિર્ધારિત ફિઝિકલ કનેક્શન
ઉદાહરણોMySQL, Oracle, SQL ServerIDS, IDMS
ક્વેરી લેંગ્વેજSQL (સ્ટ્રક્ચર્ડ ક્વેરી લેંગ્વેજ)પ્રોસીજરલ લેંગ્વેજ

આકૃતિ:

મેમરી ટ્રીક: "RSPEN" - રીલેશનલ યુઝિસ સેટ્સ, પોઇન્ટર્સ એનેબલ નેટવર્ક્સ

પ્રશ્ન 2(અ) [3 માર્ક્સ]

Generalization આકૃતિ સાથે સમજાવો.

જવાબ:

Generalization: બે કે વધુ એન્ટિટીઓમાંથી સામાન્ય લક્ષણો કાઢીને નવી ઉચ્ચ સ્તરની એન્ટિટી બનાવવાની પ્રક્રિયા.

આકૃતિ:

મેમરી ટ્રીક: "BUSH" - બોટમ-અપ શેર્ડ હાયરાર્કી

પ્રશ્ન 2(બ) [4 માર્ક્સ]

Primary કી અને Foreign કી Constraints સમજાઓ.

જવાબ:

કોષ્ટક: પ્રાઇમરી કી વિ. ફોરેન કી

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

આકૃતિ:

મેમરી ટ્રીક: "PURE FIRE" - પ્રાઇમરી યુનિકલી રેફરન્સિસ એન્ટિટીઝ, ફોરેન ઇમ્પોર્ટ્સ રેફરન્સ્ડ એન્ટિટીઝ

પ્રશ્ન 2(ક) [7 માર્ક્સ]

હોસ્પિટલ મેનેજમેન્ટ સિસ્ટમ માટે E-R ડાયાગ્રામ બનાવો

જવાબ:

હોસ્પિટલ મેનેજમેન્ટ સિસ્ટમ માટે E-R ડાયાગ્રામ:

મેમરી ટ્રીક: "PADRE" - પેશન્ટ અપોઇન્ટમેન્ટ ડોક્ટર રૂમ એન્ટિટીઝ

પ્રશ્ન 2(અ) OR [3 માર્ક્સ]

Specialization આકૃતિ સાથે સમજાવો.

જવાબ:

Specialization: હાલની એન્ટિટીમાંથી તેમને અલગ ઓળખવા માટે અનન્ય લક્ષણો ઉમેરીને નવી એન્ટિટીઓ બનાવવાની પ્રક્રિયા.

આકૃતિ:

મેમરી ટ્રીક: "TDSB" - ટોપ-ડાઉન સ્પેશલાઇઝ્ડ બ્રેકડાઉન

પ્રશ્ન 2(બ) OR [4 માર્ક્સ]

યોગ્ય ઉદાહરણ સાથે સિંગલ વેલ્યુડ અને મલ્ટીવેલ્યુડ એટ્રીબ્યુટ વચ્ચેનો તફાવત સમજાવો.

જવાબ:

કોષ્ટક: સિંગલ-વેલ્યુડ અને મલ્ટી-વેલ્યુડ એટ્રીબ્યુટ્સ

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

આકૃતિ:

મેમરી ટ્રીક: "SOME" - સિંગલ વન, મલ્ટિપલ એન્ટ્રીઝ

પ્રશ્ન 2(ક) OR [7 માર્ક્સ]

બેન્કિંગ મેનેજમેન્ટ સિસ્ટમ માટે E-R ડાયાગ્રામ બનાવો

જવાબ:

બેન્કિંગ મેનેજમેન્ટ સિસ્ટમ માટે E-R ડાયાગ્રામ:

મેમરી ટ્રીક: "CABLE" - કસ્ટમર્સ અકાઉન્ટ્સ બ્રાન્ચિસ લોન્સ એમ્પ્લોયીઝ

પ્રશ્ન 3(અ) [3 માર્ક્સ]

WHERE અને DESC ક્લોઝ ઉદાહરણ સાથે સમજાવો.

જવાબ:

કોષ્ટક: WHERE અને DESC ક્લોઝનો ઉપયોગ

ક્લોઝહેતુસિન્ટેક્સઉદાહરણ
WHEREચોક્કસ શરત પર આધારિત રો ફિલ્ટર કરે છેSELECT columns FROM table WHERE conditionSELECT * FROM employees WHERE salary > 50000
DESCપરિણામોને ઉતરતા ક્રમમાં ગોઠવે છેSELECT columns FROM table ORDER BY column DESCSELECT * FROM products ORDER BY price DESC

આકૃતિ:

SQL

મેમરી ટ્રીક: "WDF" - Where ડેટા ફિલ્ટર કરે છે, DESC ઉચ્ચતમ પહેલા ક્રમ આપે છે

પ્રશ્ન 3(બ) [4 માર્ક્સ]

DDL કમાન્ડની યાદી બનાવો. કોઈ પણ ૨ DDL કમાન્ડ ઉદાહરણ સાથે સમજાવો.

જવાબ:

DDL (ડેટા ડેફિનિશન લેંગ્વેજ) કમાન્ડ્સ:

  1. CREATE
  2. ALTER
  3. DROP
  4. TRUNCATE
  5. RENAME

કોષ્ટક: CREATE અને ALTER કમાન્ડ્સ

કમાન્ડહેતુસિન્ટેક્સઉદાહરણ
CREATEટેબલ, વ્યૂ, ઇન્ડેક્સ જેવા ડેટાબેઝ ઑબ્જેક્ટ્સ બનાવે છેCREATE TABLE table_name (column definitions)CREATE TABLE students (id INT PRIMARY KEY, name VARCHAR(50))
ALTERહાલના ડેટાબેઝ ઑબ્જેક્ટની સ્ટ્રક્ચર સુધારે છેALTER TABLE table_name actionALTER TABLE students ADD COLUMN email VARCHAR(100)

કોડબ્લોક:

SQL

મેમરી ટ્રીક: "CADTR" - Create Alter Drop Truncate Rename

પ્રશ્ન 3(ક) [7 માર્ક્સ]

eno, ename, salary, dept ફિલ્ડ ધરાવતા Company ટેબલ પર નીચેની Query perform કરો. ૧. Company ટેબલના તમામ રેકોર્ડ ડિસ્પ્લે કરો. ૨. ડુપ્લિકેટ વેલ્યુ સિવાય માત્ર dept ડિસ્પ્લે કરો. ૩. ename ના ઉતરતા ક્રમમાં તમામ રેકોર્ડ ડિસ્પ્લે કરો. ૪. શહેરનું નામ સ્ટોર કરવા માટે "cityname" નામથી નવી કોલમ ઉમેરો. ૫. "Mumbai" શહેરમાં ન રહેતા હોય તેવા તમામ કર્મચારીઓનાં નામ ડિસ્પ્લે કરો. ૬. ૧૦૦૦૦ કરતા ઓછું પગાર ધરાવતા તમામ કર્મચારીઓને ડીલીટ કરો. ૭. "A" થી શરુ થતા તમામ કર્મચારીઓના નામ ડિસ્પ્લે કરો.

જવાબ:

કોડબ્લોક:

SQL

કોષ્ટક: SQL ઓપરેશન્સ

ઓપરેશનSQL કમાન્ડહેતુ
SELECTSELECT * FROM Companyબધો ડેટા મેળવે છે
DISTINCTSELECT DISTINCT deptડુપ્લિકેટ દૂર કરે છે
ORDER BYORDER BY ename DESCઉતરતા ક્રમમાં ગોઠવે છે
ALTERALTER TABLE ADD COLUMNનવી કોલમ ઉમેરે છે
WHEREWHERE cityname != 'Mumbai'ફિલ્ટર શરત
DELETEDELETE FROM WHEREરેકોર્ડ દૂર કરે છે
LIKEWHERE ename LIKE 'A%'પેટર્ન મેચિંગ

મેમરી ટ્રીક: "SODA-WDL" - Select Order Distinct Alter - Where Delete Like

પ્રશ્ન 3(અ) OR [3 માર્ક્સ]

SELECT અને DISTINCT ક્લોઝ ઉદાહરણ સાથે સમજાવો.

જવાબ:

કોષ્ટક: SELECT અને DISTINCT ક્લોઝનો ઉપયોગ

ક્લોઝહેતુસિન્ટેક્સઉદાહરણ
SELECTડેટાબેઝમાંથી ડેટા મેળવે છેSELECT columns FROM tableSELECT name, age FROM students
DISTINCTડુપ્લિકેટ મૂલ્યો દૂર કરે છેSELECT DISTINCT columns FROM tableSELECT DISTINCT department FROM employees

આકૃતિ:

SQL

મેમરી ટ્રીક: "SUD" - Select Unique with Distinct

પ્રશ્ન 3(બ) OR [4 માર્ક્સ]

DML કમાન્ડની યાદી બનાવો. કોઈ પણ ૨ DML કમાન્ડ ઉદાહરણ સાથે સમજાવો.

જવાબ:

DML (ડેટા મેનિપ્યુલેશન લેંગ્વેજ) કમાન્ડ્સ:

  1. INSERT
  2. UPDATE
  3. DELETE
  4. SELECT

કોષ્ટક: INSERT અને UPDATE કમાન્ડ્સ

કમાન્ડહેતુસિન્ટેક્સઉદાહરણ
INSERTટેબલમાં નવા રેકોર્ડ ઉમેરે છેINSERT INTO table_name VALUES (values)INSERT INTO students VALUES (1, 'John', 85)
UPDATEહાલના રેકોર્ડમાં ફેરફાર કરે છેUPDATE table_name SET column=value WHERE conditionUPDATE students SET marks=90 WHERE id=1

કોડબ્લોક:

SQL

મેમરી ટ્રીક: "IUDS" - Insert Update Delete Select

પ્રશ્ન 3(ક) OR [7 માર્ક્સ]

નીચેની Query ના આઉટપુટ લખો. 1. ABS(-34),ABS(16) 2. SQRT(16),SQRT(64) 3. POWER(5,2), POWER(2,4) 4. MOD(15,3), MOD(13,3) 5. ROUND(123.456,1), ROUND(123.456,2) 6. CEIL(122.6), CEIL(-122.6) 7. FLOOR(-157.5),FLOOR(157.5)

જવાબ:

કોષ્ટક: SQL ફંક્શન આઉટપુટ

ફંક્શનવર્ણનઆઉટપુટ
ABS(-34),ABS(16)નિરપેક્ષ મૂલ્ય34, 16
SQRT(16),SQRT(64)વર્ગમૂળ4, 8
POWER(5,2), POWER(2,4)પાવર ફંક્શન25, 16
MOD(15,3), MOD(13,3)મોડ્યુલસ (બાકી)0, 1
ROUND(123.456,1), ROUND(123.456,2)દશાંશ સ્થાન સુધી રાઉન્ડ123.5, 123.46
CEIL(122.6), CEIL(-122.6)પૂર્ણાંક સુધી ઉપર રાઉન્ડ123, -122
FLOOR(-157.5),FLOOR(157.5)પૂર્ણાંક સુધી નીચે રાઉન્ડ-158, 157

આકૃતિ:

મેમરી ટ્રીક: "ASPRCF" - Absolute Square Power Remainder Ceiling Floor

પ્રશ્ન 4(અ) [3 માર્ક્સ]

SQLમાં ડેટા ટાઈપની યાદી બનાવો. 1.VARCHAR() અને 2.INT() ડેટા ટાઈપ ઉદાહરણ સાથે સમજાવો.

જવાબ:

SQL ડેટા ટાઈપ કેટેગરીઝ:

  1. ન્યુમેરિક (INT, FLOAT, DECIMAL)
  2. કેરેક્ટર (CHAR, VARCHAR)
  3. ડેટ/ટાઈમ (DATE, TIME, DATETIME)
  4. બાઈનરી (BLOB, BINARY)
  5. બૂલિયન (BOOL)

કોષ્ટક: VARCHAR અને INT ડેટા ટાઈપ્સ

ડેટા ટાઈપવર્ણનસાઈઝઉદાહરણ
VARCHAR(n)વેરિએબલ-લેન્થ કેરેક્ટર સ્ટ્રિંગn કેરેક્ટર સુધી, માત્ર જરૂરી જગ્યાનો ઉપયોગનામ, ઈમેલ માટે VARCHAR(50)
INTઇન્ટિજર ન્યુમેરિક ડેટાસામાન્ય રીતે 4 બાઈટ્સ, -2,147,483,648 થી 2,147,483,647ID, કાઉન્ટ, ઉંમર માટે INT

કોડબ્લોક:

SQL

મેમરી ટ્રીક: "VIA" - Variable strings, Integers for Ages

પ્રશ્ન 4(બ) [4 માર્ક્સ]

2NF (સેકન્ડ નોર્મલ ફોર્મ) ઉદાહરણ અને ઉકેલ સાથે સમજાવો.

જવાબ:

2NF વ્યાખ્યા: એક સંબંધ 2NF માં છે જો તે 1NF માં હોય અને કોઈપણ નોન-પ્રાઈમ એટ્રિબ્યુટ કોઈપણ કેન્ડિડેટ કીના સબસેટ પર આધારિત ન હોય.

કોષ્ટક: 2NF પહેલાં

student_idcourse_idcourse_nameinstructor
S1C1DatabaseProf. Smith
S1C2NetworkingProf. Jones
S2C1DatabaseProf. Smith
S3C3ProgrammingProf. Wilson

સમસ્યા: નોન-પ્રાઈમ એટ્રિબ્યુટ્સ (course_name, instructor) માત્ર course_id પર આધારિત છે, સંપૂર્ણ કી (student_id, course_id) પર નહીં.

આકૃતિ: 2NF ઉકેલ

કોષ્ટક: 2NF પછી Enrollment ટેબલ:

student_idcourse_id
S1C1
S1C2
S2C1
S3C3

Course ટેબલ:

course_idcourse_nameinstructor
C1DatabaseProf. Smith
C2NetworkingProf. Jones
C3ProgrammingProf. Wilson

મેમરી ટ્રીક: "PFPK" - Partial Functional dependency on Primary Key

પ્રશ્ન 4(ક) [7 માર્ક્સ]

Function dependency સમજાવો. Partial function dependency ઉદાહરણ સાથે સમજાવો.

જવાબ:

Functional Dependency: એટ્રિબ્યુટ્સ વચ્ચેનો સંબંધ જ્યાં એક એટ્રિબ્યુટનું મૂલ્ય બીજા એટ્રિબ્યુટના મૂલ્યને નક્કી કરે છે.

નોટેશન: X → Y (X Y ને નક્કી કરે છે)

Partial Functional Dependency: જ્યારે નોન-પ્રાઈમ એટ્રિબ્યુટ કંપોઝિટ કીના સંપૂર્ણ કરતાં ભાગ પર આધારિત હોય.

કોષ્ટક: Order Details (નોર્મલાઈઝેશન પહેલાં)

order_idproduct_idquantityproduct_nameprice
O1P15Keyboard50
O1P22Mouse25
O2P11Keyboard50
O3P33Monitor200

Functional Dependencies:

  • (order_id, product_id) → quantity
  • product_id → product_name
  • product_id → price

આકૃતિ:

ઉકેલ (નોર્મલાઈઝ્ડ ટેબલ્સ): Orders ટેબલ:

order_idproduct_idquantity
O1P15
O1P22
O2P11
O3P33

Products ટેબલ:

product_idproduct_nameprice
P1Keyboard50
P2Mouse25
P3Monitor200

મેમરી ટ્રીક: "PDPK" - Partial Dependency on Part of Key

પ્રશ્ન 4(અ) OR [3 માર્ક્સ]

કમાન્ડ સમજાવવો: 1) To_Char() 2) To_Date()

જવાબ:

કોષ્ટક: કન્વર્ઝન ફંક્શન્સ

ફંક્શનહેતુસિન્ટેક્સઉદાહરણ
TO_CHAR()ડેટ/નંબરને ફોર્મેટ મોડેલનો ઉપયોગ કરીને કેરેક્ટર સ્ટ્રિંગમાં રૂપાંતરિત કરે છેTO_CHAR(value, [format])TO_CHAR(SYSDATE, 'DD-MON-YYYY') → '14-JUN-2024'
TO_DATE()કેરેક્ટર સ્ટ્રિંગને ફોર્મેટ મોડેલનો ઉપયોગ કરીને ડેટમાં રૂપાંતરિત કરે છેTO_DATE(string, [format])TO_DATE('14-JUN-2024', 'DD-MON-YYYY') → ડેટ વેલ્યુ

કોડબ્લોક:

SQL

મેમરી ટ્રીક: "DCS" - Date Conversion Strings

પ્રશ્ન 4(બ) OR [4 માર્ક્સ]

Full function dependency ઉદાહરણ સાથે સમજાવો.

જવાબ:

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

કોષ્ટક: Exam Results

student_idcourse_idexam_datescore
S1C12024-05-1085
S1C22024-05-1592
S2C12024-05-1078
S2C22024-05-1588

Full Functional Dependency:

  • (student_id, course_id) → score (સ્કોર વિદ્યાર્થી અને કોર્સ બંને પર આધારિત છે)

આકૃતિ:

સમજૂતી: સ્કોર એટ્રિબ્યુટ સંપૂર્ણ રીતે કંપોઝિટ કી (student_id, course_id) પર આધારિત છે કારણ કે:

  • અલગ અલગ વિદ્યાર્થીઓના એક જ કોર્સ માટે અલગ અલગ સ્કોર હોઈ શકે છે
  • એક જ વિદ્યાર્થીના અલગ અલગ કોર્સ માટે અલગ અલગ સ્કોર હોઈ શકે છે
  • ચોક્કસ સ્કોર જાણવા માટે આપણને student_id અને course_id બંનેની જરૂર પડે છે

મેમરી ટ્રીક: "FCEK" - Fully dependent on Complete/Entire Key

પ્રશ્ન 4(ક) OR [7 માર્ક્સ]

નોર્મલાઇઝેશનની વ્યાખ્યા આપો. 1NF (ફર્સ્ટ નોર્મલ ફોર્મ) ઉદાહરણ અને ઉકેલ સાથે સમજાવો.

જવાબ:

નોર્મલાઇઝેશન: ડેટા રિડન્ડન્સી ઘટાડવા, ડેટા અખંડતા સુધારવા અને એનોમલીઓને દૂર કરવા માટે મોટા ટેબલને નાના સંબંધિત ટેબલમાં વિભાજિત કરીને ડેટાને વ્યવસ્થિત કરવાની પ્રક્રિયા.

1NF વ્યાખ્યા: એક સંબંધ 1NF માં છે જો તેના બધા એટ્રિબ્યુટ્સ માત્ર અવિભાજ્ય (એટોમિક) મૂલ્યો ધરાવતા હોય.

કોષ્ટક: 1NF પહેલાં

student_idnamecourses
S1JohnMath, Physics
S2MaryChemistry, Biology, Physics
S3TimComputer Science

સમસ્યાઓ:

  • નોન-એટોમિક મૂલ્યો (એક સેલમાં અનેક કોર્સ)
  • ચોક્કસ કોર્સને ક્વેરી કે અપડેટ કરવું સરળ નથી

આકૃતિ:

કોષ્ટક: 1NF પછી

student_idnamecourse
S1JohnMath
S1JohnPhysics
S2MaryChemistry
S2MaryBiology
S2MaryPhysics
S3TimComputer Science

મેમરી ટ્રીક: "ASAV" - Atomic Single-value Attributes only Valid

પ્રશ્ન 5(અ) [3 માર્ક્સ]

Transaction નો concept ઉદાહરણ સાથે સમજાવો.

જવાબ:

Transaction: એક લૉજિકલ કાર્ય એકમ જે સંપૂર્ણપણે અમલમાં મૂકવામાં આવે અથવા સંપૂર્ણપણે રદ કરવામાં આવે.

કોષ્ટક: Transaction ગુણધર્મો

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

ઉદાહરણ:

SQL

મેમરી ટ્રીક: "ACID" - Atomicity Consistency Isolation Durability

પ્રશ્ન 5(બ) [4 માર્ક્સ]

equi join સિન્ટેક્સ અને ઉદાહરણ સાથે સમજાવો.

જવાબ:

Equi Join: એક જોઈન જે સામાન્ય ફીલ્ડના આધારે બે કે વધુ ટેબલના રેકોર્ડને મેચ કરવા માટે સમાનતા તુલના ઓપરેટરનો ઉપયોગ કરે છે.

સિન્ટેક્સ:

SQL

ટેબલ ઉદાહરણ: Employees ટેબલ:

emp_idnamedept_id
101Alice1
102Bob2
103Carol1

Departments ટેબલ:

dept_iddept_namelocation
1HRNew York
2ITChicago
3FinanceBoston

કોડબ્લોક:

SQL

પરિણામ:

namedept_namelocation
AliceHRNew York
BobITChicago
CarolHRNew York

આકૃતિ:

મેમરી ટ્રીક: "MEET" - Match Equal Elements Every Table

પ્રશ્ન 5(ક) [7 માર્ક્સ]

Conflict serializability વિસ્તારથી સમજાવો.

જવાબ:

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

કોષ્ટક: Conflict Serializability ના મુખ્ય ખ્યાલો

ખ્યાલવર્ણન
Conflicting Operationsબે ઓપરેશન કોન્ફ્લિક્ટ કરે છે જો તેઓ એક જ ડેટા આઇટમ ઍક્સેસ કરે અને ઓછામાં ઓછું એક રાઇટ હોય
Precedence Graphસંઘર્ષો દર્શાવતો ડાયરેક્ટેડ ગ્રાફ
Conflict Serializableશેડ્યૂલ conflict serializable છે જો તેનો precedence graph એસાઇક્લિક હોય

આકૃતિ:

ઉદાહરણ: ટ્રાન્ઝેક્શન T1 અને T2 ધ્યાનમાં લો:

  • T1: Read(A), Write(A)
  • T2: Read(A), Write(A)

શેડ્યૂલ S1: R1(A), W1(A), R2(A), W2(A) - Serializable (T1→T2 સમકક્ષ) શેડ્યૂલ S2: R1(A), R2(A), W1(A), W2(A) - Not serializable (precedence ગ્રાફમાં સાયકલ છે)

Conflict Serializability નક્કી કરવાના પગલાં:

  1. બધા કોન્ફ્લિક્ટિંગ ઓપરેશન જોડીઓ ઓળખો
  2. precedence ગ્રાફ બનાવો
  3. ચેક કરો કે ગ્રાફમાં સાયકલ છે કે નહીં
  4. જો સાયકલ ન હોય, તો શેડ્યૂલ conflict serializable છે

મેમરી ટ્રીક: "COPS" - Conflicts, Operations, Precedence, Serializability

પ્રશ્ન 5(અ) OR [3 માર્ક્સ]

Transaction નાં ગુણધર્મો ઉદાહરણ સાથે સમજાવો.

જવાબ:

ટ્રાન્ઝેક્શનના ACID ગુણધર્મો:

કોષ્ટક: ACID ગુણધર્મો

ગુણધર્મવર્ણનઉદાહરણ
Atomicityબધા ઓપરેશન સફળતાપૂર્વક પૂર્ણ થાય અથવા કોઈ નહીંબેંક ટ્રાન્સફર - ડેબિટ અને ક્રેડિટ બંને એકસાથે સફળ થવા જોઈએ અથવા નિષ્ફળ થવા જોઈએ
Consistencyટ્રાન્ઝેક્શન પહેલાં અને પછી ડેટાબેઝ સુસંગત સ્થિતિમાં રહે$100 ટ્રાન્સફર કર્યા પછી, સિસ્ટમમાં કુલ પૈસા અપરિવર્તિત રહે
Isolationસમાંતર ટ્રાન્ઝેક્શન એકબીજામાં દખલ ન કરેટ્રાન્ઝેક્શન A ટ્રાન્ઝેક્શન B ના આંશિક પરિણામો જોતું નથી
Durabilityએકવાર કમિટ થયા પછી, ફેરફારો કાયમી છેપાવર ફેલ્યોર પણ કમિટેડ ટ્રાન્ઝેક્શનને ખોવાતું નથી

આકૃતિ:

ઉદાહરણ:

SQL

મેમરી ટ્રીક: "ACID" - Atomicity Consistency Isolation Durability

પ્રશ્ન 5(બ) OR [4 માર્ક્સ]

ઉપર Q.5 (b) માં આપેલ "Faculty" અને "CT" ટેબલનો ઉપયોગ કરીને સેટ ઓપરેટર દ્વારા નીચેની Query લખો. ૧. Faculty અથવા CT હોય તેવા વ્યક્તિઓની યાદી બનાવો. ૨. Faculty અને CT હોય તેવા વ્યક્તિઓની યાદી બનાવો. ૩. માત્ર Faculty હોય તેવા વ્યક્તિઓની યાદી બનાવો. ૪. માત્ર CT હોય તેવા વ્યક્તિઓની યાદી બનાવો.

જવાબ:

ટેબલ ડેટા: Faculty ટેબલ:

FacultyNameErNoDept
PrakashFC01ICT
RonakFC02IT
RakeshFC03EC
KinjalFC04ICT

CT (ક્લાસ ટીચર) ટેબલ:

DeptCTName
ECRakesh
CEJigar
ICTPrakash
ITGunjan

કોડબ્લોક:

SQL

આકૃતિ:

પરિણામો:

  1. UNION: Prakash, Ronak, Rakesh, Kinjal, Jigar, Gunjan
  2. INTERSECT: Prakash, Rakesh
  3. MINUS (Faculty - CT): Ronak, Kinjal
  4. MINUS (CT - Faculty): Jigar, Gunjan

મેમરી ટ્રીક: "UIMM" - Union Intersect Minus Minus

પ્રશ્ન 5(ક) OR [7 માર્ક્સ]

View serializability વિસ્તારથી સમજાવો.

જવાબ:

View Serializability: એક શેડ્યૂલ view serializable છે જો તે કોઈ સીરિયલ શેડ્યૂલના view equivalent હોય, એટલે કે તે ડેટાબેઝની એક જ "દૃશ્ય" (અથવા અંતિમ સ્થિતિ) ઉત્પન્ન કરે.

કોષ્ટક: Conflict Serializability સાથે તુલના

પાસુંView SerializabilityConflict Serializability
વ્યાખ્યારીડ અને રાઇટના અંતિમ પરિણામો પર આધારિતઓપરેશન વચ્ચેના કોન્ફ્લિક્ટ પર આધારિત
શરતપ્રારંભિક રીડ, અંતિમ લખાણ, અને રીડ-રાઇટ ડિપેન્ડન્સી જાળવે છેઓપરેશન વચ્ચેના બધા કોન્ફ્લિક્ટ જાળવે છે
સ્કોપશેડ્યૂલનો વ્યાપક વર્ગview serializable શેડ્યૂલનો સબસેટ
ટેસ્ટિંગપરીક્ષણ વધુ જટિલprecedence ગ્રાફ વડે ટેસ્ટ કરી શકાય

આકૃતિ:

View Equivalence શરતો:

  1. પ્રારંભિક રીડ: જો T1 શેડ્યૂલ S1 માં ડેટા આઇટમ A ની પ્રારંભિક વેલ્યુ વાંચે છે, તો તેણે S2 માં પણ પ્રારંભિક વેલ્યુ વાંચવી જોઈએ.
  2. અંતિમ રાઇટ: જો T1 શેડ્યૂલ S1 માં ડેટા આઇટમ A પર અંતિમ લખાણ કરે છે, તો તેણે S2 માં પણ અંતિમ લખાણ કરવું જોઈએ.
  3. રીડ-રાઇટ ડિપેન્ડન્સી: જો T1 શેડ્યૂલ S1 માં T2 દ્વારા લખાયેલ A ની વેલ્યુ વાંચે છે, તો તેણે S2 માં પણ T2 દ્વારા લખાયેલ વેલ્યુ વાંચવી જોઈએ.

ઉદાહરણ - View Serializable પરંતુ Conflict Serializable નહીં: બ્લાઇન્ડ રાઇટ (વાંચ્યા વિના લખાણ) ધરાવતા ટ્રાન્ઝેક્શન ધ્યાનમાં લો:

  • T1: W1(A)
  • T2: W2(A)

શેડ્યૂલ S: W1(A), W2(A) - T1→T2 અને T2→T1 બંને માટે view serializable છે (અંતિમ લખાણ હંમેશા T2 દ્વારા થાય છે) પરંતુ W1(A) અને W2(A) કોન્ફ્લિક્ટ કરે છે, એટલે કોન્ફ્લિક્ટ ગ્રાફમાં બંને દિશામાં એજ હશે.

મેમરી ટ્રીક: "IRF" - Initial reads, Result writes, Final view