Kwa ujumla, mifumo ya hifadhidata imewekwa kwa lugha ya kuuliza ambayo inaweza kuwasaidia watumiaji wake kuuliza matukio. Kuna aina mbili kama hizo - aljebra ya uhusiano na calculus ya uhusiano. Ya kwanza ni lugha ya kiutaratibu ambayo inachukua hali za uhusiano kama ingizo na matokeo ya uhusiano kama matokeo. Hutumia calculus unary au binary kwa hili. Aljebra ya uhusiano inatekelezwa kwa kujirudia na matokeo ya kati yanachukuliwa kama mahusiano.
Bidhaa ya Cartesian (Χ)
Inachanganya taarifa kutoka kwa mahusiano mawili tofauti hadi moja.
Notation – r Χ s, ambapo r na s ni uwiano na matokeo yake yatafafanuliwa kama
r Χ s={qt | q ∈ r na t ∈ s}.
Hitimisho. Huweka uhusiano unaoonyesha vitabu na makala yote yaliyoandikwa kwa mafunzo.
Badilisha jina la operesheni (ρ).
Uhusiano wa aljebra ya uhusiano ni matokeo, lakini bila jina lolote. Operesheni ya kubadilisha jina hukuruhusu kubadilisha thamani ya pato, inayoonyeshwa na herufi ndogo ya Kigiriki ρ.
Designation – ρ x (E), ambapo tokeo la usemi E limehifadhiwa na jinax.
Shughuli za ziada:
- weka makutano;
- kazi;
- muunganisho wa asili.
Hesabu ya uhusiano
Hii ni lugha ya ulizo isiyo ya kiutaratibu, kumaanisha kwamba inakuambia la kufanya lakini haielezi jinsi ya kuitekeleza. Hesabu ya uhusiano ipo katika aina mbili:
- hesabu ya uwiano wa tuple;
- kuchuja masafa tofauti.
Notation - T/State: Hurejesha nakala T zote zinazokidhi hali fulani. Matokeo. Hurejesha nakala zilizo na jina. TRC inaweza kuhesabiwa. Unaweza kutumia vibainishi vilivyopo (∃) na vya jumla (∀). Hitimisho. Hoja iliyo hapo juu itatoa matokeo sawa na ya awali.
Hesabu ya uhusiano wa kikoa DRC
Kigezo cha kichujio hutumia kikoa cha sifa badala ya nambari kamili za tuple (kama inavyofanywa katika TRC iliyotajwa hapo juu).
Notation – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a )}, ambapo a1, a2 ni sifa na P inaashiria fomula zilizoundwa kwa thamani za ndani.
Hitimisho. Huweka makala, ukurasa, na mada kutoka kwa uhusiano wa TutorialsPoint, ambapo mada ni hifadhidata.
Kama TRC, DRC pia inaweza kuandikwa kwa kutumia vibainishi vilivyopo na vya wote. DRC pia inajumuisha waendeshaji aljebra kimahusiano. Nguvu ya usemi wa hesabu, calculus na uwiano wa mahusiano kati ya pointi ni sawa.
Anuwai na mifumo ya kalkulasi ya uhusiano na aljebra
Muundo wa ER, unapobainishwa katika michoro, hutoa muhtasari mzuri wa mahusiano muhimu ambayo ni rahisi kuelewa. Uwakilishi wa kimkakati unaweza kuchorwa kwa schema ya uhusiano, i.e. zinaweza kuundwa pamoja. Haiwezekani kuleta vikwazo vyote vya ER katika muundo wa uhusiano, lakini muundo wa takriban unaweza kuzalishwa. Kuna michakato na kanuni kadhaa zinazopatikana za kubadilisha chati hadi mfumo huu. Baadhi yao ni otomatiki, wakati wengine huundwa kwa mikono. Chati za ER huwa na vigezo vifuatavyo:
- chombo na sifa zake;
- kiungo, ambacho ni uhusiano kati ya thamani zilizo hapo juu.
Ulinganisho wa vitu na mahusiano hutokea kwa njia na mipango tofauti. Kwa mfano, huluki ni kitu cha ulimwengu halisi chenye sifa fulani. Mchakato wa kulinganisha, algorithm ni kama ifuatavyo:
- unda jedwali kwa kila kitu;
- sifa zinapaswa kuwa sehemu za jedwali zenye aina za data zinazolingana;
- tangaza ufunguo msingi.
Uhusiano ni uhusiano kati ya huluki. Mchakato wa ujumuishaji ni kama ifuatavyo:
- unda jedwali la mahusiano;
- ongeza funguo msingi za huluki zote zinazoshiriki kama sehemu za jedwali zilizo na aina zinazofaa za data;
- kama uhusiano una sifa yoyote, weka kila sifa kama sehemu ya jedwali;
- changanya ufunguo msingi unaounda kila kituiliyobaki kwa vitu vinavyoshiriki;
- taja vizuizi vyote vya funguo za kigeni.
Onyesho la seti dhaifu na vitu vya daraja hutokea kulingana na mfumo fulani. Kwanza kabisa, ni muhimu kuelewa misingi muhimu na ufafanuzi wa maadili haya. Seti dhaifu ya kipengele ni ile ambayo haina ufunguo wowote msingi unaohusishwa nayo. Mchakato wa kuonyesha ni kama ifuatavyo:
- unda jedwali la seti dhaifu ya vitu;
- ongeza sifa zote kwenye mpangilio kama sehemu;
- taja ufunguo msingi wa kitambulisho;
- weka vizuizi vyote vya funguo za kigeni.
Onyesho la vitu vya daraja kulingana na utaalamu au ujumla wa lugha ya aljebra ya uhusiano hutokea katika muundo wa huluki zinazofuatana. Algorithm ni kama ifuatavyo:
- unda majedwali ya vitu vyote vya kiwango cha juu zaidi;
- ongeza funguo msingi;
- katika kiwango cha chini tekeleza sifa nyingine zote za vitu vya kiwango cha chini;
- tangaza funguo msingi za jedwali;
- weka vizuizi vya vitufe vya kigeni.
Chaguo zilizopo za kuelezea, kuhifadhi, kubadilisha maelezo
SQL ni lugha ya programu kwa hifadhidata za uhusiano. Imetengenezwa juu ya aljebra na calculus ya uunganisho wa tuples. SQL inakuja kama kifurushi kilicho na usambazaji wote kuu wa DBMS. Ina data na lugha zote mbili za kuzibadilisha. Kwa kutumia sifa za ufafanuzi wa data za aljebra SQL, unaweza kubuni na kurekebisha schema ya hifadhidata,wakati mali ya usimamizi na marekebisho, pamoja na mabadiliko ya data, inakuwezesha kuhifadhi na kurejesha taarifa zilizowekwa kwenye mfumo. Hutumia seti ifuatayo ya amri kufafanua muundo na mfumo:
- huunda hifadhidata mpya, majedwali na mionekano kutoka kwa DBMS.
- kutupa amri.
- hubadilisha utaratibu wa hifadhidata.
- amri hii huongeza sifa kwa kitu cha mfuatano.
SQL ina vifaa vya Lugha ya Kubadilisha Data (DML). Inarekebisha mfano wa hifadhidata kwa kuingiza, kusasisha, na kufuta habari. DML ina jukumu la kubadilisha data zote. SQL ina seti ifuatayo ya amri katika sehemu ya DML:
- CHAGUA ni mojawapo ya amri kuu za hoja. Ni sawa na utendakazi wa makadirio ya aljebra ya uhusiano. Huchagua sifa kulingana na hali iliyofafanuliwa katika kifungu cha WHERE.
- FROM - Sehemu hii inachukua jina kama hoja ambayo sifa hizo zitachaguliwa/kutarajiwa. Ikiwa zaidi ya jina moja litatolewa, kipengee hiki kinalingana na bidhaa ya Cartesian.
- WAPI - Sehemu hii inabainisha kiima au masharti ambayo ni lazima yatimizwe ili kuhitimu sifa inayotarajiwa.
Pia kuna amri:
- ingiza;
- kubadilisha maadili;
- futa.
Kuunda Maswali ya Aljebra ya Uhusiano
Wakati wa kuunda utafutaji, kazi ni kutafuta muundo wa uendeshaji ambao utaleta matokeo sahihi. Shughuli za kimsingi za aljebra ya uhusiano ni rahisishughuli na uhusiano mmoja au wawili kama uendeshaji. Madhara ya pamoja ya mlolongo huamua matokeo ya mwisho. Kwa kuwa mfumo wa aljebra ya uhusiano katika hifadhidata ni rahisi sana, matokeo mengi ya kati yanaweza kupatikana kabla ya kufikia matokeo ya mwisho, pia hutumika kama uendeshaji ambao hutoa data mpya iliyopokelewa.
Kwa waendeshaji wengi, mpangilio wa hoja na utekelezaji wake haijalishi, kumaanisha kuwa matokeo sawa yanaweza kupatikana kwa kuunda na kuchanganya data ya kati kwa njia tofauti. Kwa mazoezi, utafutaji wa hifadhidata ni rahisi sana. Mfumo wa kufanya shughuli na matokeo ya kati hutambuliwa na optimizer ya swala. Unapounda maswali, mahitaji, unahitaji
kwanza uchague ni mahusiano gani yanahitajika ili kupata jibu, kisha ubainishe utendakazi na matokeo ya kati. Muundo wa hoja ya aljebra ya uhusiano katika hifadhidata ya matokeo inaweza kuwakilishwa kama mchoro. Viboreshaji vya mahitaji hujaribu kupanga utekelezaji kwa ufanisi iwezekanavyo. Kwa mazoezi, hii ina maana kwamba wanajaribu kupunguza matokeo ya kati haraka iwezekanavyo. Mifano ya kawaida ya aljebra ya uhusiano itasaidia katika hili.
Mfano 1.
Haja ya Taarifa: Taarifa kuhusu magari ya kielelezo ya mwaka wa 1996 ambapo mapungufu yalipatikana wakati wa ukaguzi wa 1999.
Kwanza, maelezo kuhusu magari yanaonyeshwa ili kuelewa maadili ya sifa zote za uhusiano. Taarifa kuhusu ukaguzi huhifadhiwa kwenye meza ya "Ukaguzi", na ikiwa imegunduliwamakosa, yameandikwa kwenye meza ya "Tatizo". Hivyo, majedwali haya matatu yanahitajika ili kupata taarifa zinazohitajika.
Magari 1996 pekee ndiyo yanavutia. Aina ya aina ya gari inawakilishwa kama thamani ya sifa iliyowekwa kwenye safu mlalo ya jedwali la maelezo ya gari. Matokeo ya kwanza ya kati yanajumuisha nakala zinazowakilisha vibadala vya 1996.
Kwa hivyo ni safu mlalo zinazoshughulikia kipindi hiki pekee zinazohitajika. Unahitaji kutumia uteuzi ili kuzitoa. Sasa kuna magari na ukaguzi ambao ulihitajika. Kisha kamba huunganishwa kwa kutumia operesheni ya kuunganisha. Lazima ziunganishwe na nambari ya rejista ya kawaida, kwa kuwa ndiyo safu wima pekee ya kawaida, kiunganishi cha asili kinatumika.
Ili kujua kama kulikuwa na matatizo wakati wa ukaguzi, unahitaji kuhusisha mistari ya matatizo na tiki. Baada ya kuunganisha safu za udhibiti kwa magari, unaweza kuunganisha matokeo haya kwenye jedwali la makosa. Ushirikiano lazima uzingatie nambari ya kawaida ya usajili na tarehe iliyothibitishwa. Hizi ndizo safu wima pekee za kawaida katika majedwali, kwa hivyo kiunganishi asili kinatumika.
Chaguo za hesabu bila matokeo ya kati
Mfano 2.
Maelezo Yanayohitajika: Jina la udereva kwa mfano wa mwaka wa 1995 au magari ya awali ambayo hayajajaribiwa kwa 2000. Jina liko kwenye jedwali la "Dereva". Mashirika ya utekelezaji wa sheria yanaelezwa katika meza "Ukaguzi na magari katika gari la canteen". Kwa hiyoKwa hivyo, meza hizi tatu zinahitajika. Kwanza, unahitaji kujua magari ambayo hayakukaguliwa kwa mwaka wa 2000. Haiwezekani kutatua tatizo hili kwa kutumia tu ukaguzi ulioorodheshwa kwenye meza, kwa kuwa ina data kuhusu ukaguzi huo ambao ulifanywa, na sio wale ambao hawakutekelezwa. Tatizo hili linatatuliwa kwa kutafuta magari ya ziada ambayo yamekaguliwa kabla ya mwaka wa 2000. Kwa kweli, nambari zao za usajili pekee ndizo zinazohitajika.
Kuna mifano mingine kando na hiyo hapo juu inayoonyesha jinsi ya kubadilisha au kupata taarifa. Vibadala vya hoja vinaweza kuboreshwa kwa kutumia utendakazi maalum. Kwa hakika, ili kufanya utafutaji na kutafuta data iwe rahisi na rahisi iwezekanavyo, kuna muundo wa calculus wa uhusiano.
Maelezo yanapohifadhiwa na kulindwa
Muundo wa data wa uhusiano wa aljebra ya uhusiano huhifadhiwa katika miundo ya faili iliyo na rekodi. Katika kiwango cha kimwili, taarifa halisi imewekwa katika umbizo la sumakuumeme kwenye kifaa fulani. Vifaa hivi vya kuhifadhi vinaweza kugawanywa katika makundi matatu:
- Msingi. Aina hii inajumuisha kumbukumbu ambayo inaweza kufikiwa moja kwa moja na CPU. Daftari, kumbukumbu ya haraka (cache) na kumbukumbu kuu (RAM) zinapatikana moja kwa moja katikati, kwa kuwa zote ziko kwenye ubao wa mama au chipset. Hifadhi hii kwa kawaida ni ndogo sana, ni ya haraka sana, na si thabiti. Ugavi wa umeme wa mara kwa mara unahitajika ili kudumisha hali. Ikishindikana, data yake yote itapotea.
- Sekondari. Inatumika kuhifadhi habari kwa siku zijazotumia au chelezo. Inajumuisha vifaa vya kumbukumbu ambavyo si sehemu ya chipset ya kichakataji au ubao mama, kama vile diski za sumaku, diski za macho (DVD, CD, n.k.), diski kuu, viendeshi, na tepu za sumaku.
- Chuo cha Juu. Inatumika kuhifadhi idadi kubwa ya data. Kwa kuwa vifaa vile vya uhifadhi viko nje ya mfumo wa kompyuta, ni polepole zaidi kwa suala la kasi. Vifaa hivi vya uhifadhi hutumiwa hasa kucheleza mfumo mzima. Diski za macho na kanda za sumaku hutumiwa sana kama hifadhi ya juu.
Operesheni maalum za uhusiano wa aljebra ni muhimu kwa ufanisi wa hoja.
Muundo wa hifadhi
Mfumo wa kompyuta una safu ya kumbukumbu iliyofafanuliwa vyema. CPU ina ufikiaji wa moja kwa moja kwa mfumo mkuu pamoja na rejista zilizojengwa. Wakati kuu wa ufikiaji wa kumbukumbu ni dhahiri chini ya kasi ya kichakataji. Ili kupunguza utofauti huu, kashe huletwa. Akiba hutoa nyakati za ufikiaji wa haraka zaidi na ina data ambayo inafikiwa mara kwa mara na CPU.
Kumbukumbu yenye ufikiaji wa haraka zaidi ndiyo ya gharama kubwa zaidi. Vifaa vikubwa vya kuhifadhi hutoa kasi ndogo na ni nafuu, lakini vinaweza kuhifadhi kiasi kikubwa cha data ikilinganishwa na rejista ya kichakataji au kache.
Hifadhi za sumaku na diski kuu ndizo vifaa vya uhifadhi vya upili vya kawaida katika mifumo ya kisasa ya kompyuta. Wanaitwa magneticmsingi wa chuma. Disks hizi zimewekwa kwa wima kwenye spindle. Kichwa cha kusoma/kuandika husogea kati yao na hutumika kutoa sumaku au kuondoa sehemu kama hiyo chini. Inaweza kutambuliwa kama 0 (sifuri) au 1 (moja).
Hifadhi ngumu zimeumbizwa kwa mpangilio uliobainishwa ili kuhifadhi data kwa ufanisi. Ina miduara mingi inayoitwa njia. Kila wimbo umegawanywa katika sekta, kwa kawaida huhifadhi data baiti 512.
Shughuli za faili
Operesheni kwenye mfumo wa lugha ya aljebra ya uhusiano na hifadhidata yake inaweza kuainishwa kwa upana katika kategoria mbili:
- sasisha;
- tafuta.
Aina ya kwanza hubadilisha thamani za data kwa kuingiza, kufuta au kusasisha. Kwa upande mwingine, shughuli za utafutaji hazihariri taarifa, lakini zitoe baada ya kuchuja kwa hiari kwa masharti. Katika aina zote mbili za shughuli, uteuzi una jukumu muhimu. Mbali na kuunda na kufuta faili, kunaweza kuwa na shughuli kadhaa zinazoweza kufanywa juu yake:
- Fungua - inapatikana katika mojawapo ya hali mbili za kusoma au kuandika. Katika kesi ya kwanza, mfumo wa uendeshaji hauruhusu mtu yeyote kubadilisha data. Kwa maneno mengine, data inasomwa tu. Faili zilizofunguliwa katika hali ya kusoma zinaweza kushirikiwa kati ya vitu vingi. Hali ya kuandika inakuwezesha kubadilisha data. Faili zinaweza kusomwa lakini haziwezi kushirikiwa.
- Close ndio operesheni muhimu zaidi kutoka kwa mtazamo wa mfumo wa uendeshaji kwani huondoa kufuli zote(ikiwa iko katika hali iliyoshirikiwa), huhifadhi data (ikiwa imerekebishwa) kwa midia ya pili, na kutoa bafa na vidhibiti vyote vinavyohusishwa na faili.
- Kufahamisha ni mbinu ya muundo wa taarifa kwa ajili ya kupata rekodi kwa ufanisi kutoka kwa faili za mfumo kulingana na baadhi ya sifa ambapo mfumo ulitekelezwa. Inafafanuliwa kulingana na sifa.
Kuweka faharasa kunaweza kuwa kwa aina ifuatayo:
- Msingi umefafanuliwa katika faili ya data iliyoagizwa. Faili ya taarifa imepangwa katika sehemu muhimu.
- Faharasa ya pili inayotokana na sehemu ambayo ni ufunguo wa mgombea na ina thamani ya kipekee katika kila rekodi au si ufunguo wenye thamani rudufu.
- Kuunganisha kunafafanuliwa katika faili ya data iliyopangwa, katika sehemu isiyo ya ufunguo.
Mfumo wa usimamizi wa hifadhidata au DBMS hurejelea teknolojia ya kuhifadhi na kurejesha taarifa za mtumiaji kwa ufanisi wa hali ya juu pamoja na hatua zinazofaa za usalama. Uchunguzi wa kina wa suala hili unapelekea hitimisho kwamba aljebra ya uhusiano ni lugha ya waendeshaji ambao huchukua mahusiano kama hoja na kuyarudisha kama matokeo.