Përdoruesi:Tringa Krasniqi/Relational database management system
Një bazë të dhënash relacionale ( RDB ) është një bazë të dhënash e bazuar në modelin relacional të të dhënave, siç u propozua nga EF Codd në 1970. [1]
Një sistem i menaxhimit të bazës së të dhënave që përdoret për të mbajtur bazat e të dhënave relacionale është një sistem i menaxhimit të bazës së të dhënave relacionale ( RDBMS ).
Shumë sisteme të bazës së të dhënave relacionale janë të pajisura me opsionin e përdorimit të SQL (Structured Query Language) për kërkimin dhe përditësimin e bazës së të dhënave.
Historia
[Redakto | Redakto nëpërmjet kodit]Koncepti i bazës së të dhënave relacionale u përcaktua nga EF Codd në IBM në 1970Codd prezantoi termin "relacional" në punimin e tij kërkimor "Një model relacional i të dhënave për bankat e mëdha të përbashkëta të të dhënave". Në këtë punim dhe në letrat e tij të mëvonshme, ai sqaroi kuptimin e termit "relacion". Një përkufizim i njohur i asaj që përbën një sistem të dhënash relacionale është i bazuar në 12 rregullat e Codd-it.
Megjithatë, asnjë zbatim komercial i modelit relacional nuk përputhet plotësisht me të gjitha rregullat e Codd-it, kështu që termi ka evoluar për të përshkruar një klasë më të gjerë të sistemeve të bazës së të dhënave, të cilat së paku:
- Paraqisni të dhënat tek përdoruesi si relacione (një paraqitje në formë tabelare, dmth. si një koleksion tabelash me secilën tabelë të përbërë nga një grup rreshtash dhe kolonash );
- Siguroni operatorë relacionalë për të manipuluar të dhënat në formë tabelare.
Në vitin 1974, IBM filloi zhvillimin e System R, një projekt kërkimor për të zhvilluar një prototip RDBMS. [2] [3] Sistemi i parë i shitur si një RDBMS ishte Multics Relational Data Store (qershor 1976). </link>[ Citimi i nevojshëm ] Oracle u lëshua në 1979 nga Relational Software, tani Oracle Corporation . [4] Ingres dhe IBM BS12 pasuan. Shembuj të tjerë të një RDBMS përfshijnë IBM Db2, SAP Sybase ASE dhe Informix . Në 1984, filloi të zhvillohej RDBMS e parë për Macintosh, me emrin e koduar Silver Surfer, dhe u lëshua në 1987 si Dimensioni 4 dhe i njohur sot si 4D. [5]
Sistemet e para që ishin zbatime relativisht besnike të modelit relacional ishin nga:
- Universiteti i Miçiganit – Micro DBMS (1969) [6]
- Massachusetts Institute of Technology (1971) [7]
- Qendra Shkencore e IBM UK në Peterlee – IS1 (1970–72), [8] dhe pasardhësi i saj, PRTV (1973–79). [9]
Përkufizimi më i zakonshëm i një RDBMS është një produkt që paraqet të dhënat si një koleksion rreshtash dhe kolonash, edhe nëse nuk është zbatuar rreptësisht teoria relacionale. Sipas këtij përkufizimi, produktet RDBMS zakonisht zbatojnë disa, por jo të gjitha, nga 12 rregullat e Codd-it.
Një shkollë e dytë e mendimit argumenton se nëse një bazë të dhënash nuk zbatohet plotësisht me të gjitha rregullat e Codd-it (ose me kuptimin aktual të modelit relacional, siç shprehet nga...), atëherë ajo nuk mund të konsiderohet një sistem relacional në sensin e plotë të termit. Christopher J. Date, Hugh Darwen Disa të tjerë argumentojnë se nëse një bazë të dhënash nuk zbatohet plotësisht me të gjitha rregullat e Codd-it (ose me kuptimin aktual të modelit relacional, siç shprehet nga teoricienët e tjerë), atëherë ajo nuk mund të konsiderohet relacionale. Kjo pikëpamje, e ndarë nga shumë teoricienë dhe ndjekës të tjerë të parimeve të Codd-it, do të skualifikonte shumicën e DBMS-ve si jo relacionale. Për sqarim, ata shpesh i referohen disa RDBMS si sisteme të menaxhimit të bazës së të dhënave të vërteta relacionale (TRDBMS), ndërsa të tjerët i emërtojnë si sisteme të menaxhimit të bazës së të dhënave pseudo-relacionale (PRDBMS). [ citim i nevojshëm ]
Që nga viti 2009, shumica e DBMS-ve relacionale komerciale përdorin SQL si gjuhën e tyre të pyetjeve . [10]
Gjuhët alternative të pyetjeve janë propozuar dhe zbatuar, veçanërisht zbatimi i Ingres QUEL para vitit 1996.
Modeli relacional
[Redakto | Redakto nëpërmjet kodit]Një model relacional organizon të dhënat në një ose më shumë tabela (ose "marrëdhënie") kolonash dhe rreshtash, me një çelës unik që identifikon çdo rresht. Rreshtat quhen gjithashtu rekorde ose tuple . [11] Kolonat quhen gjithashtu atribute. Në përgjithësi, çdo tabelë/lidhje përfaqëson një "lloj entiteti" (siç është klienti ose produkti). Rreshtat përfaqësojnë shembuj të atij lloji entiteti (të tilla si "Lee" ose "karrige") dhe kolonat përfaqësojnë vlerat që i atribuohen atij shembulli (si adresa ose çmimi).
Për shembull, çdo rresht i një tabele klase korrespondon me një klasë, dhe një klasë korrespondon me shumë studentë, kështu që marrëdhënia midis tabelës së klasës dhe tabelës së studentëve është "një me shumë" [12]
Çelësat
[Redakto | Redakto nëpërmjet kodit]Çdo rresht në një tabelë ka një çelës unik të vetin. Rreshtat në një tabelë mund të lidhen me rreshtat në tabela të tjera duke shtuar një kolonë për çelësin unik të rreshtit të lidhur (këto kolona njihen si çelësa të huaj). Codd tregoi se marrëdhëniet e të dhënave, pavarësisht nga kompleksiteti i tyre, mund të përfaqësohen përmes një grupi të thjeshtë konceptesh.[1]
Një pjesë e këtij përpunimi përfshin aftësinë për të zgjedhur ose modifikuar një rresht të vetëm në një tabelë. Për këtë arsye, shumica e implementimeve fizike kanë një çelës primar unik (PK) për çdo rresht në tabelë. Kur një rresht i ri shtohet në tabelë, krijohet një vlerë e re dhe unike për çelësin primar; ky është çelësi që sistemi përdor kryesisht për të hyrë në tabelë, dhe performanca e sistemit është optimizuar për PK. Çelësat e tjerë, që mund të identifikohen më natyrshëm, mund të përcaktohen gjithashtu si çelësa alternativë (AK). Shpesh, nevojiten disa kolona për të formuar një AK (kjo është një arsye pse një kolonë e vetme, si një numër i plotë, zakonisht përdoret si PK). Të dy PK-të dhe AK-të kanë aftësinë për të identifikuar në mënyrë unike një rresht brenda një tabele. Për më tepër, mund të aplikohet teknologji shtesë për të siguruar një ID unike globale, kur kërkesa e sistemit kërkon një identifikues unik global.
Çelësat kryesorë brenda një baze të dhënash përdoren për të përcaktuar marrëdhëniet midis tabelave. Kur një PK (çelës primar) migron në një tabelë tjetër, ai bëhet një çelës i huaj (FK) në atë tabelë. Kur secila qelizë mund të përmbajë vetëm një vlerë dhe PK migron në një tabelë të rregullt entiteti, ky model dizajni mund të përfaqësojë një marrëdhënie mes entiteteve, duke lidhur rreshtat e tabelave në mënyrë të qartë dhe të strukturuar. një-me-një ose një-me-shumë . Shumica e modeleve të bazës së të dhënave relacionale zgjidhin marrëdhënie shumë-me-shumë Duke krijuar një tabelë shtesë që përmban PK-të nga të dyja tabelat e entiteteve të tjera, marrëdhënia bëhet një entitet. Pas kësaj, tabela e rezolucionit emërtohet në mënyrë të përshtatshme dhe dy FK-të (çelësa të huaj) kombinohen për të formuar një PK (çelës primar). Migrimi i PK-ve në tabela të tjera është arsyeja e dytë kryesore pse numrat e plotë të caktuar nga sistemi përdoren zakonisht si PK; kjo është për shkak se shpesh nuk ka as efikasitet dhe as qartësi në migrimin e një grupi kolonash të llojeve të tjera. Kjo praktikë ndihmon në thjeshtimin dhe optimizimin e strukturës së të dhënave, duke siguruar një mënyrë të shpejtë dhe të qartë për lidhjen e tabelave.
Marrëdhëniet
[Redakto | Redakto nëpërmjet kodit]Marrëdhëniet janë një lidhje logjike midis tabelave (entiteteve) të ndryshme, të krijuara në bazë të ndërveprimit midis këtyre tabelave. Këto marrëdhënie mund të modelohen si një model i marrëdhënieve entitet, ku entitetet përfaqësojnë objektet ose njësitë e të dhënave, dhe marrëdhëniet përshkruajnë se si ato janë të lidhura mes tyre. Në këtë model, mund të shfaqen marrëdhënie të ndryshme, si një për një (one-to-one), një për shumë (one-to-many), ose shumë për shumë (many-to-many), të cilat mund të ndihmojnë në organizimin dhe lidhjen e të dhënave në mënyrë të strukturuar.
Transaksionet
[Redakto | Redakto nëpërmjet kodit]Në mënyrë që një sistem i menaxhimit të bazës së të dhënave (DBMS) të funksionojë me efikasitet dhe saktësi, ai duhet të përdorë transaksionet ACID . [13]
Procedurat e ruajtura
[Redakto | Redakto nëpërmjet kodit]Një pjesë e programimit brenda një RDBMS realizohet duke përdorur procedurat e ruajtura (SP). Për të minimizuar ndjeshëm sasinë e informacionit që transferohet brenda dhe jashtë një sistemi, shpesh përdoren procedura të ruajtura. Këto procedura mund të ofrojnë siguri shtesë, pasi dizajni i sistemit mund të kufizojë aksesin e drejtpërdrejtë në tabela dhe të lejojë vetëm përdorimin e procedurave të ruajtura. Procedurat bazë të ruajtura përmbajnë logjikën e nevojshme për të futur të dhëna të reja dhe për të përditësuar ato ekzistuese. Gjithashtu, mund të krijohen procedura më të avancuara për të zbatuar rregulla dhe logjikë shtesë në lidhje me përpunimin dhe përzgjedhjen e të dhënave.
Terminologjia
[Redakto | Redakto nëpërmjet kodit]Baza e të dhënave relacionale u përcaktua për herë të parë në qershor 1970 nga Edgar Codd, nga Laboratori Kërkimor San Jose i IBM. [1] Pikëpamja e Codd-it për atë që kualifikohet si RDBMS përmblidhet në 12 rregullat e Codd-it . Një bazë të dhënash relacionale është bërë lloji mbizotërues i bazës së të dhënave. Modele të tjera përveç modelit relacional përfshijnë modelin hierarkik të bazës së të dhënave dhe modelin e rrjetit .
Tabela më poshtë përmbledh disa nga termat më të rëndësishëm të bazës së të dhënave relacionale dhe termin përkatës SQL :
Termi SQL | Termi i bazës së të dhënave relacionale | Përshkrimi |
---|---|---|
<i id="mwqw"><b id="mwrA">Rreshti</b></i> | Tuple ose <i id="mwsg"><b id="mwsw">rekord</b></i> | Një grup të dhënash që përfaqëson një artikull të vetëm |
<i id="mwuA"><b id="mwuQ">Kolona</b></i> | Atribut ose fushë | Një element i etiketuar i një tupi, p.sh. "Adresa" ose "Data e lindjes" |
<i id="mwww"><b id="mwxA">Tabela</b></i> | <i id="mwxw"><b id="mwyA">Relacioni</b></i> ose <i id="mwyg"><b id="mwyw">Bazë relvar</b></i> | Një grup tuplesh që ndajnë të njëjtat atribute; një grup kolonash dhe rreshtash |
<i id="mw0A"><b id="mw0Q">Shiko</b></i> ose grup rezultatesh | Relvar i prejardhur | Çdo grup tuplesh; një raport të dhënash nga RDBMS në përgjigje të një pyetjeje |
Marrëdhëniet ose tabelat
[Redakto | Redakto nëpërmjet kodit]Në një bazë të dhënash relacionale, një relacion është një grup tuplesh që kanë të njëjtat atribute . Një tuple zakonisht përfaqëson një objekt dhe informacion rreth atij objekti. Objektet janë zakonisht objekte ose koncepte fizike. Një relacion zakonisht përshkruhet si një tabelë, e cila është e organizuar në rreshta dhe kolona . Të gjitha të dhënat e referuara nga një atribut janë në të njëjtin domen dhe janë në përputhje me të njëjtat kufizime.
Modeli relacional specifikon që tupat e një relacioni nuk kanë rend të caktuar dhe se tupat gjithashtu nuk imponojnë rend mbi atributet. Aplikacionet aksesojnë të dhënat duke formuluar pyetje, të cilat përdorin operacione të tilla si përzgjedhja për të identifikuar tupat, projektimi për të identifikuar atributet dhe bashkimi për të kombinuar marrëdhëniet. Marrëdhëniet mund të modifikohen duke përdorur operatorët e futjes, fshirjes dhe përditësimit. Tupat e rinj mund të ofrojnë vlera të qarta ose mund të rrjedhin nga një pyetje. Gjithashtu, pyetjet mund të identifikojnë tupat që duhen përditësuar ose fshirë.
Tuples sipas definicionit janë unike. Nëse tuple përmban një kandidat ose çelës primar, atëherë padyshim që është unik; megjithatë, një çelës primar nuk ka nevojë të përcaktohet që një rresht ose rekord të jetë një tuple. Përkufizimi i një tuple kërkon që ai të jetë unik, por nuk kërkon që të përcaktohet një çelës primar. Për shkak se një tuple është unik, atributet e tij sipas përkufizimit përbëjnë një superçelës .
Marrëdhëniet bazë dhe të prejardhura
[Redakto | Redakto nëpërmjet kodit]Të gjitha të dhënat ruhen dhe arrihen përmes marrëdhënieve . Marrëdhëniet që ruajnë të dhënat quhen "marrëdhënie bazë", dhe në zbatime quhen "tabela". Marrëdhëniet e tjera nuk ruajnë të dhëna, por llogariten duke aplikuar operacione relacionale në marrëdhënie të tjera. Këto marrëdhënie quhen ndonjëherë "marrëdhënie të prejardhura". Në zbatime këto quhen " pamje " ose "pyetje". Marrëdhëniet e prejardhura janë të përshtatshme në atë që ato veprojnë si një lidhje e vetme, edhe pse ato mund të marrin informacion nga disa marrëdhënie. Gjithashtu, marrëdhëniet e prejardhura mund të përdoren si një shtresë abstraksioni .
Domeni
[Redakto | Redakto nëpërmjet kodit]Një domen përshkruan grupin e vlerave të mundshme që mund të ketë një atribut i caktuar dhe mund të shihet si një kufizim mbi vlerat që mund të merrë ky atribut. Në terma matematikorë, lidhja e një domeni me një atribut do të thotë që çdo vlerë e atribuait duhet të jetë pjesë e këtij grupi të specifikuar. Për shembull, vargu i karaktereve "ABC" nuk është pjesë e domenit të numrave të plotë, ndërsa vlera 123 është. Një shembull tjetër i domenit mund të përshkruajë vlerat e mundshme për atributin "CoinFace" si ("Heads", "Tails"). Kështu, ky atribut nuk do të pranojë vlera si (0,1) ose (H,T).
Kufizimet
[Redakto | Redakto nëpërmjet kodit]Kufizimet përdoren shpesh për të bërë të mundur kufizimin e mëtejshëm të domenit të një atributi. Për shembull, një kufizim mund të kufizojë një atribut numër të plotë të dhënë në vlerat midis 1 dhe 10. Kufizimet ofrojnë një metodë të zbatimit të rregullave të biznesit në bazën e të dhënave dhe mbështesin përdorimin e mëvonshëm të të dhënave brenda shtresës së aplikacionit. SQL zbaton funksionalitetin e kufizimeve në formën e kufizimeve të kontrollit . Kufizimet kufizojnë të dhënat që mund të ruhen në marrëdhënie . Këto zakonisht përcaktohen duke përdorur shprehje që rezultojnë në një vlerë Boolean, duke treguar nëse të dhënat plotësojnë ose jo kufizimin. Kufizimet mund të zbatohen për atribute të vetme, për një tuple (kombinime kufizuese të atributeve) ose për një lidhje të tërë. Meqenëse çdo atribut ka një domen të lidhur, ka kufizime ( kufizimet e domenit ). Dy rregullat kryesore për modelin relacional njihen si integriteti i entitetit dhe integriteti referencial .
Çelësi primar
[Redakto | Redakto nëpërmjet kodit]Çdo relacion /tabela ka një çelës primar, ky është pasojë e faktit se një lidhje është një grup . [14] Një çelës primar specifikon në mënyrë unike një tuple brenda një tabele. Ndërsa atributet natyrore (atributet e përdorura për të përshkruar të dhënat që futen) ndonjëherë janë çelësa kryesorë të mirë, çelësat zëvendësues shpesh përdoren në vend të tyre. Një çelës zëvendësues është një atribut artificial që i është caktuar një objekti që e identifikon atë në mënyrë unike (për shembull, në një tabelë informacioni rreth nxënësve në një shkollë, të gjithëve mund t'u caktohet një ID studentore për t'i dalluar ata). Çelësi zëvendësues nuk ka kuptim të brendshëm (të qenësishëm), por është i dobishëm nëpërmjet aftësisë së tij për të identifikuar në mënyrë unike një tufë. Një tjetër dukuri e zakonshme, veçanërisht në lidhje me kardinalitetin N:M është çelësi i përbërë . Një çelës i përbërë është një çelës i përbërë nga dy ose më shumë atribute brenda një tabele që (së bashku) identifikojnë në mënyrë unike një rekord. [15]
Çelësi i huaj
[Redakto | Redakto nëpërmjet kodit]Çelësi i huaj është një fushë në një tabelë relacionale që lidhet me kolonën e çelësit kryesor të një tabele tjetër. Çelësat e huaj nuk kërkohet të kenë vlera unike në relacionin që i referohet, pasi ato mund të përmbajnë vlera të përsëritura. Ky çelës mund të përdoret për të lidhur dy tabela dhe për të kufizuar vlerat e atributeve në relacionin që referohet, duke siguruar që ato të përputhen me vlerat përkatëse në relacionin që i referohet. Ky koncept është përshkruar zyrtarisht si: "Për të gjitha tupat në relacionin e referencës, të projektuara mbi atributet e referencës, duhet të ekzistojë një tup në relacionin e referuar, i projektuar mbi të njëjtat atribute, në mënyrë që vlerat në secilin prej atributeve referuese të përputhen me ato të atributëve të referuar."
Procedurat e ruajtura
[Redakto | Redakto nëpërmjet kodit]Një procedurë e ruajtur është kod i ekzekutueshëm që lidhet dhe ruhet përgjithësisht në bazën e të dhënave. Procedurat e ruajtura zakonisht mbledhin dhe personalizojnë operacionet e zakonshme, si futja e një tupleje në një lidhje, mbledhja e informacionit statistikor rreth modeleve të përdorimit ose përmbledhja e logjikës dhe llogaritjeve komplekse të biznesit . Shpesh ato përdoren si një ndërfaqe programimi aplikacioni (API) për siguri ose thjeshtësi. Zbatimet e procedurave të ruajtura në SQL RDBMS shpesh i lejojnë zhvilluesit të përfitojnë nga zgjerimet procedurale (shpesh specifike për shitësin) në sintaksën standarde deklarative SQL. Procedurat e ruajtura nuk janë pjesë e modelit të bazës së të dhënave relacionale, por të gjitha implementimet komerciale i përfshijnë ato.
Indeksi
[Redakto | Redakto nëpërmjet kodit]Një indeks është një mekanizëm që siguron akses më të shpejtë në të dhëna. Indekset mund të krijohen në çdo kombinim të atributeve të një relacioni, dhe pyetjet që përdorin këto atribute për filtrimin e të dhënave mund të gjejnë tupat që përputhen direkt përmes indeksit (ngjashëm me kërkimin në një tabelë hash), pa pasur nevojë të kontrollojnë çdo tup në rendin e tabelës. Ky koncept është i ngjashëm me përdorimin e indeksit të një libri, i cili ju drejton menjëherë në faqen ku ndodhet informacioni që kërkoni, duke eliminuar nevojën për të lexuar të gjithë librin.
Bazat e të dhënave relacionale zakonisht ofrojnë teknika të ndryshme indekse, secila prej të cilave është më e përshtatshme për disa lloje shpërndarjesh të të dhënave, madhësish të lidhjeve dhe modeleve të aksesit të zakonshëm. Indekset zakonisht krijohen përmes strukturave të tilla si pemët B+, pemët R dhe bitmapet. Pavarësisht se indekset janë një detaj implementimi dhe shpesh nuk konsiderohen si pjesë e drejtpërdrejtë e bazës së të dhënave, ato ruhen nga po i njëjti grup që mban pjesët e tjera të bazës së të dhënave.
Përdorimi efikas i indekseve në çelësat kryesorë dhe të huaj mund të përmirësojë ndjeshëm performancën e pyetjeve, pasi indekset e pemëve B mund të rezultojnë në kohë kërkimi në përpjesëtim me log(n), ku "n" është numri i rreshtave në një tabelë, dhe indekset hash mund të ofrojnë pyetje me kohë konstante, pa varësi nga madhësia, për sa kohë që pjesa përkatëse e indeksit mund të ruhet në kujtesë.
Operacionet relacionale
[Redakto | Redakto nëpërmjet kodit]Pyetjet e bëra kundër bazës së të dhënave relacionale dhe relvarët e prejardhur në bazën e të dhënave shprehen në një llogaritje relacionale ose një algjebër relacionale . Në algjebrën e tij origjinale relacionale, Codd prezantoi tetë operatorë relacionalë në dy grupe me nga katër operatorë secili. Katër operatorët e parë u bazuan në operacionet tradicionale të grupit matematikor:
- Operatori i bashkimit (υ) kombinon tuplet e dy relacioneve dhe heq të gjitha tuplet dublikatë nga rezultati. Operatori i bashkimit relacional është i barabartë me operatorin SQL UNION .
- Operatori i kryqëzimit (∩) prodhon grupin e tupave që dy relacione kanë të përbashkëta. Ndërprerja zbatohet në SQL në formën e operatorit INTERSECT .
- Operatori i diferencës së grupeve (-) vepron në dy relacione dhe prodhon grupin e tupave nga relacioni i parë që nuk ekzistojnë në relacionin e dytë. Diferenca zbatohet në SQL në formën e operatorit EXCEPT ose MINUS.
- Produkti kartezian (X) i dy marrëdhënieve është një bashkim që nuk kufizohet nga asnjë kriter, duke rezultuar që çdo tufë e relacionit të parë të përputhet me çdo tufë të relacionit të dytë. Produkti kartezian zbatohet në SQL si operatori Cross join .
Operatorët e mbetur të propozuar nga Codd përfshijnë operacione speciale specifike për bazat e të dhënave relacionale:
- Zgjedhja, ose kufizimi, operacioni (σ) nxjerr tuples nga një relacion, duke i kufizuar rezultatet vetëm në ato që plotësojnë një kriter specifik, dmth një nëngrup për sa i përket teorisë së grupeve. Ekuivalenti SQL i përzgjedhjes është deklarata e pyetjes SELECT me një klauzolë WHERE .
- Operacioni i projeksionit (π) nxjerr vetëm atributet e specifikuara nga një tufë ose grup tuplesh.
- Operacioni i bashkimit i përcaktuar për bazat e të dhënave relacionale shpesh referohet si një bashkim natyror (⋈). Në këtë lloj bashkimi, dy marrëdhënie lidhen me atributet e tyre të përbashkëta. Përafrimi i MySQL për një lidhje natyrale është operatori i bashkimit të brendshëm . Në SQL, një JOIN INNER parandalon që një produkt kartezian të ndodhë kur ka dy tabela në një pyetje. Për çdo tabelë të shtuar në një pyetje SQL, shtohet një BASHKIM INTERNET shtesë për të parandaluar një produkt kartezian. Kështu, për N tabela në një pyetje SQL, duhet të ketë N−1 NJOHJE TË BRENDSHME për të parandaluar një produkt kartezian.
- Operacioni i ndarjes relacionale (÷) është një operacion pak më i ndërlikuar dhe në thelb përfshin përdorimin e tupave të një relacioni (dividend) për të ndarë një relacion të dytë (pjesëtuesin). Operatori i ndarjes relacionale është efektivisht e kundërta e operatorit të produktit kartezian (pra emri).
Pasi Codd prezantoi tetë operatorët origjinalë, janë propozuar dhe prezantuar operatorë të tjerë, duke përfshirë operatorët e krahasimit relacional dhe zgjerime që ofrojnë mbështetje për të dhënat e foleve dhe hierarkike, ndër të tjera..
Normalizimi
[Redakto | Redakto nëpërmjet kodit]Normalizimi u propozua fillimisht nga Codd si një komponent kyç i modelit relacional. Ky proces përfshin një sërë procedurash të dizajnuara për të eliminuar domenet e ndërlikuara (vlerat joatomike) dhe tepricën (dyfishimin) e të dhënave, e cila, nga ana tjetër, parandalon anomalitë në manipulimin e të dhënave dhe humbjen e integritetit të tyre. Format më të përdorura të normalizimit të aplikuara në bazat e të dhënave quhen forma normale .
RDBMS
[Redakto | Redakto nëpërmjet kodit]Connolly dhe Begg e përkufizojnë sistemin e menaxhimit të bazës së të dhënave (DBMS) si një "sistem softueri që mundëson përdoruesve të përcaktojnë, krijojnë, mirëmbajnë dhe kontrollojnë aksesin në bazën e të dhënave". RDBMS është një zgjerim i këtij koncepti, që përdoret shpesh për të përshkruar sistemet e menaxhimit të bazave të të dhënave që janë relacionale.
Një përkufizim alternativ për një sistem të menaxhimit të bazës së të dhënave relacionale është një sistem i menaxhimit të bazës së të dhënave (DBMS) i bazuar në modelin relacional . Shumica e bazave të të dhënave në përdorim të gjerë sot bazohen në këtë model.
Një përkufizim alternativ për një sistem të menaxhimit të bazës së të dhënave relacionale është një sistem i menaxhimit të bazës së të dhënave (DBMS) që përdor modelin relacional. Shumica e bazave të të dhënave që përdoren gjerësisht sot janë të bazuara në këtë model.
RDBMS-të kanë qenë një opsion i zakonshëm për ruajtjen e informacionit në bazat e të dhënave të përdorura për të dhënat financiare, informacionin prodhues dhe logjistik, të dhënat e personelit dhe aplikacione të tjera që nga vitet 1980. Bazat e të dhënave relacionale shpesh kanë zëvendësuar bazat e të dhënave hierarkike të trashëgimisë dhe bazat e të dhënave të rrjetit, sepse RDBMS ishin më të lehta për t'u zbatuar dhe administruar. Megjithatë, të dhënat e ruajtura relacionale të marra vazhduan, sfidat e pasuksesshme nga sistemet e menaxhimit të bazës së të dhënave të objekteve në vitet 1980 dhe 1990, (të cilat u prezantuan në një përpjekje për të adresuar të ashtuquajturën mospërputhje të impedancës relacionale midis bazave të të dhënave relacionale dhe programeve aplikative të orientuara nga objekti). si dhe nga sistemet e menaxhimit të bazës së të dhënave XML në vitet 1990. [17] Megjithatë, për shkak të shtrirjes së teknologjive, të tilla si shkallëzimi horizontal i grupimeve kompjuterike, bazat e të dhënave NoSQL kohët e fundit janë bërë të njohura si një alternativë ndaj bazave të të dhënave RDBMS. [18]
Baza e të dhënave relacionale të shpërndara
[Redakto | Redakto nëpërmjet kodit]Arkitektura e Bazës së të Dhënave të Shpërndara Relacionale (DRDA) është projektuar nga një grup pune brenda IBM në periudhën 1988-1994. DRDA mundëson që bazat e të dhënave relacionale të lidhura me rrjetin të bashkëpunojnë për të përmbushur kërkesat SQL. [19] [20] Mesazhet, protokollet dhe komponentët strukturorë të DRDA përcaktohen nga Arkitektura e Menaxhimit të të Dhënave të Shpërndara .
Lista e motorëve të bazës së të dhënave
[Redakto | Redakto nëpërmjet kodit]Sipas DB-Engines, në dhjetor 2024 sistemet më të njohura në faqen e internetit db-engines.com ishin: [21]
- Baza e të dhënave Oracle
- MySQL
- Microsoft SQL Server
- PostgreSQL
- Flokë dëbore
- IBM Db2
- SQLite
- Microsoft Access
- Tulla të dhënash
- MariaDB
Sipas kompanisë hulumtuese Gartner, në vitin 2011, pesë shitësit kryesorë të pronarit të bazës së të dhënave të bazës së të dhënave të softuerit sipas të ardhurave ishin Oracle (48.8%), IBM (20.2%), Microsoft (17.0%), SAP duke përfshirë Sybase (4.6%) dhe Teradata (3.7). %). [22]
Shihni gjithashtu
[Redakto | Redakto nëpërmjet kodit]- Krahasimi i sistemeve të menaxhimit të bazës së të dhënave relacionale
- Datalog
- Magazina e të dhënave
- Lista e sistemeve të menaxhimit të bazës së të dhënave relacionale
- Baza e të dhënave të objekteve (OODBMS)
- Përpunimi analitik në internet (OLAP) dhe ROLAP (Përpunimi analitik në linjë relacionale)
- Transduktor relacional
- Skema e flokeve të borës
- SQL
- Skema e yjeve
Referencat
[Redakto | Redakto nëpërmjet kodit]- ^ a b c Codd, E. F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM. 13: 377–387. doi:10.1145/362384.362685.
{{cite journal}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) Gabim referencash: Invalid<ref>
tag; name "codd" defined multiple times with different content - ^
Funding a Revolution: Government Support for Computing Research. National Academies Press. 8 jan 1999. ISBN 0309062780.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ Sumathi, S.; Esakkirajan, S. (13 shk 2008). Fundamentals of Relational Database Management Systems. Springer. ISBN 978-3540483977.
The product was called SQL/DS (Structured Query Language/Data Store) and ran under the DOS/VSE operating system environment
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ "Oracle Timeline" (PDF). Profit Magazine. Oracle. 12 (2): 26. maj 2007. Marrë më 2013-05-16.
{{cite journal}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ "New Database Software Program Moves Macintosh Into The Big Leagues". tribunedigital-chicagotribune. 28 qershor 1987. Marrë më 2016-03-17.
{{cite web}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ Hershey, W.R.; Easthope, C.H. (1 dhjetor 1972). "A set theoretic data structure and retrieval language". ACM SIGIR Forum. Association for Computing Machinery. 7 (4): 45–55. doi:10.1145/1095495.1095500. Marrë më 4 janar 2024.
{{cite journal}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ SIGFIDET '74: Proceedings of the 1974 ACM SIGFIDET (Now SIGMOD) Workshop on Data Description, Access and Control: Data Models: Data-Structure-Set versus Relational. Association for Computing Machinery. 1 janar 1975. doi:10.1145/800297. ISBN 978-1-4503-7418-7. Marrë më 4 janar 2024.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ Notley, M.G. (1972). The Peterlee IS/1 System. IBM United Kingdom Scientific Centre. Marrë më 4 janar 2024.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ Todd, Stephen (1976). "The Peterlee Relational Test Vehicle - A System Overview". IBM Systems Journal. 15 (4): 285–308. doi:10.1147/sj.154.0285.
{{cite journal}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ Ramakrishnan, Raghu; Donjerkovic, Donko; Ranganathan, Arvind; Beyer, Kevin S.; Krishnaprasad, Muralidhar (1998). "SRQL: Sorted Relational Query Language" (PDF). E Proceedings of SSDBM.
{{cite journal}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ "A Relational Database Overview". oracle.com.
{{cite web}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ "A universal relation model for a nested database", The Nested Universal Relation Database Model, Lecture Notes in Computer Science, Berlin, Heidelberg: Springer Berlin Heidelberg, vëll. 595, fq. 109–135, 1992, doi:10.1007/3-540-55493-9_5, ISBN 978-3-540-55493-6, marrë më 2020-11-01
{{citation}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ "Gray to be Honored With A. M. Turing Award This Spring". Microsoft PressPass. 1998-11-23. Arkivuar nga origjinali më 6 shkurt 2009. Marrë më 2009-01-16.
{{cite web}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ Date (1984).
- ^ Connolly, Thomas M; Begg, Carolyn E (2015). Database systems: a practical approach to design, implementation, and management (bot. global). Boston Columbus Indianapolis: Pearson. fq. 416. ISBN 978-1-292-06118-4.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ Pratt, Philip J.; Last, Mary Z. (2014-09-08). Concepts of Database Management (bot. 8). Course Technology. fq. 29. ISBN 9781285427102.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ Feuerlich, George (21 prill 2010). Dateso 10; Database Trends and Directions: Current Challenges and Opportunities (bot. 1st). Prague, Sokolovsk: MATFYZPRESS. fq. 163–174. ISBN 978-80-7378-116-3.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ "NoSQL databases eat into the relational database market". 4 mars 2015. Marrë më 2018-03-14.
{{cite web}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja) - ^ Reinsch, R. (1988). "Distributed database for SAA". IBM Systems Journal. 27 (3): 362–389. doi:10.1147/sj.273.0362.
{{cite journal}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ Distributed Relational Database Architecture Reference. IBM Corp. SC26-4651-0. 1990.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ "DB-Engines Ranking of Relational DBMS". DB-Engines. Marrë më 2024-12-01.
{{cite web}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - ^ "Oracle the clear leader in $24 billion RDBMS market". 2012-04-12. Marrë më 2013-03-01.
{{cite web}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)
Burimet
[Redakto | Redakto nëpërmjet kodit]- Date, C. J. (1984). A Guide to DB2 (bot. student). Addison-Wesley. ISBN 0201113171. OCLC 256383726. OL 2838595M.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)
[[Kategoria:Sistemi i menaxhimit të Database]]
[[Kategoria:Shpikje angleze]]
[[Kategoria:Teoria e Database]]