Theory
જે spreadsheet વધી શકતી નથી
Meera ની એક sheet એ એની સારી સેવા કરી છે, પણ એ તણાવમાં છે. Customers, orders, items, suppliers, બધું એકસાથે ઠાંસેલું. દર વખતે જ્યારે એનો ભત્રીજો નવી જરૂરિયાતો માટે columns ફરી ગોઠવે છે, દરેક formula અને chart તૂટી જાય છે અને ફરી બનાવવો પડે છે.
આ એ દીવાલ છે જેની સાથે spreadsheets ટકરાય છે: data અને એને વાપરતા programs એકસાથે જોડાયેલા છે, એક બદલો, બીજું તૂટે.
Databases એ જોડ ને તોડવા માટે બન્યા. જે ગુણ આ કરે છે એનું એક નામ છે: data independence. એટલે જ Unit 3 મોજૂદ છે.
Theory
જે ટપાલનું સરનામું ક્યારેય બદલાતું નથી
તમે એક દોસ્તને એમના સરનામે પત્રો મોકલો છો. પોતાના ઘરની અંદર એ ફર્નિચર ફરી ગોઠવી શકે (વસ્તુઓ કેવી રીતે store થાય એ બદલવું) કે અરે ઓરડા renovate કરી શકે (structure બદલવું), અને તમારા પત્રો તોય પહોંચે છે, તમે સરનામું ક્યારેય update કરતા નથી. Data independence એ જ સ્થિર સરનામું છે: applications કામ કરતાં રહે છે જ્યારે storage અને structure એમની નીચે બદલાય છે. Spreadsheet પાસે એવો કોઈ buffer નથી; layout ને અડો અને પત્રો પાછા આવે છે.
Theory
બે પ્રકાર
એક database, data કેવી રીતે store થાય છે અને programs એને કેવી રીતે જુએ છે, એમની વચ્ચે સ્તરો રાખે છે, તો એક સ્તરમાં ફેરફાર ઉપર સુધી ફેલાતો નથી. બે independences નીકળે છે:
- Physical data independence: data ભૌતિક રીતે કેવી રીતે store થાય છે એ બદલો (એક index ઉમેરો, ઝડપી disk પર જાઓ, files ફરી ગોઠવો) logical design કે programs બદલ્યા વગર. સહેલી વાળી.
- Logical data independence: logical structure બદલો (એક column ઉમેરો, એક table ને બે માં વહેંચો) users ના views અને applications તોડ્યા વગર. મેળવવું અઘરું, કારણ કે programs સીધા logical structure પર ટકે છે.
At a glance
બે independences
| Type | શું બદલી શકે | કોનાથી છુપું |
|---|---|---|
| Physical | Storage: indexes, files, disk | Logical design + programs |
| Logical | Structure: columns/tables ઉમેરવા/વહેંચવા | User views + programs |
Quiz
એક DBA database ને ઝડપી SSDs પર ખસેડે છે અને searches ઝડપી કરવા એક index ઉમેરે છે. કોઈ application code બદલાતો નથી. આ કઈ data independence છે?
- Physical data independence, storage બદલાયું પણ logical design અને programs અકબંધ
- Logical data independence, structure બદલાયું
- કોઈ નહીં, કોઈ પણ storage ફેરફાર programs તોડે છે
- બંને સરખા પ્રમાણમાં જરૂરી છે
Show the answer
Physical data independence, storage બદલાયું પણ logical design અને programs અકબંધ
Indexes, disks અને file organisation એ physical storage ના મામલા છે. એમને logical schema કે applications ને અડ્યા વગર બદલવું એ physical data independence છે, મેળવવાની સહેલી પ્રકાર કારણ કે storage સૌથી નીચેના સ્તરે બેસે છે, programs થી દૂર. Logical independence માં tables/columns પોતે બદલવા સામેલ હોત.
Think first
Logical અઘરું કેમ છે?
Physical independence સામાન્ય રીતે સહેલી છે; logical independence મેળવવું જાણીતી રીતે અઘરું છે. વિચારો કે એક program data વિશે ખરેખર શું 'જાણે' છે. storage બદલવા કરતાં structure બદલવું એને તોડવાની વધુ શક્યતા કેમ રાખે છે?
Show the answer
Programs સીધા logical structure ની સામે લખાય છે, એ ખાસ tables અને columns નું નામ લે છે ('items table માંથી price column વાંચો'). એ structure બદલો અને program ના references હવે મેળ ન ખાય. એનાથી ઉલટું, storage એ programs જે ક્યારેય જુએ છે એની નીચે છે, તો એ છૂટથી બદલી શકે. Programs એના પર નિર્ભર છે કે data શું છે (logical), એના પર નહીં કે એ ક્યાં બેસે છે (physical), બરાબર એ જ કારણ છે કે logical independence ને બચાવવું અઘરું છે.
Watch out
Marks ક્યાં કપાય છે
બંનેને બદલવા: physical storage ફેરફાર છુપાવે છે; logical structure ફેરફાર છુપાવે છે. એ ભૂલવું કે logical independence મેળવવું અઘરું છે (એક પ્રિય એક-mark મુદ્દો). અને એમ ન કહો કે એક spreadsheet માં data independence છે, એનો અભાવ જ બરાબર એ સમસ્યા છે જેને databases ઉકેલે છે. Exams એને 'data independence ના બે પ્રકાર દરેકના ઉદાહરણ સાથે વ્યાખ્યાયિત કરો' તરીકે પૂછે છે.
Theory
આખા unit નો વિષય
આગળનો દરેક topic, DBMS components, architecture, models, keys, normalization, ખરેખર એક સવાલનો જવાબ છે: આપણે data ને એવી રીતે કેવી રીતે store કરીએ કે એ વધતાં ભરોસાપાત્ર અને બદલવા લાયક રહે? Meera ની તૂટતી spreadsheet એ સમસ્યા-કથન છે; database એ ઉકેલ છે, topic-દર-topic ખૂલતો. આગળ: એ ચાર components જે કોઈ પણ database system ને બનાવે છે.
Summary
Key takeaways
- Data independence તમને storage કે structure બદલવા દે છે data વાપરતા programs ને તોડ્યા વગર.
- Physical data independence logical design અને programs થી STORAGE ફેરફાર (indexes, files, disk) છુપાવે છે.
- Logical data independence user views અને programs થી STRUCTURE ફેરફાર (columns/tables ઉમેરવા/વહેંચવા) છુપાવે છે.
- Logical independence અઘરું છે કારણ કે programs સીધા logical structure પર નિર્ભર છે.
- આ buffering એ spreadsheets/files પર databases નો એક મુખ્ય ફાયદો છે.
- યાદ રાખવાની યુક્તિ: ટપાલનું સરનામું સ્થિર રહે છે જ્યારે ઘર અંદરથી ફરી ગોઠવાય છે.