Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Televizionet (Smart TV)
  • A janë të dënuara bazat e të dhënave relacionale? Bazat e të dhënave relacionale. Koncepti i bazës së të dhënave relacionale

A janë të dënuara bazat e të dhënave relacionale? Bazat e të dhënave relacionale. Koncepti i bazës së të dhënave relacionale

Baza e të dhënave relacionale - konceptet bazë

Shpesh, kur flasim për një bazë të dhënash, ata nënkuptojnë vetëm një lloj depoje të automatizuar të të dhënave. Kjo pikëpamje nuk është plotësisht e saktë. Pse është kështu do të tregohet më poshtë.

Në të vërtetë, në kuptimin e ngushtë të fjalës, një bazë të dhënash është një grup i caktuar i të dhënave të nevojshme për punë (të dhëna aktuale). Megjithatë, të dhënat janë një abstraksion; askush nuk ka parë kurrë "vetëm të dhëna"; ato nuk lindin dhe nuk ekzistojnë vetvetiu. Të dhënat janë një pasqyrim i objekteve në botën reale. Supozoni, për shembull, që dëshironi të ruani informacione rreth pjesëve të marra në magazinë. Si do të shfaqet një objekt i botës reale - një pjesë - në bazën e të dhënave? Për t'iu përgjigjur kësaj pyetjeje, duhet të dini se cilat shenja ose anët e pjesës do të jenë relevante, të nevojshme për punë. Midis tyre mund të jetë emri i pjesës, pesha e saj, dimensionet, ngjyra, data e prodhimit, materiali nga i cili është bërë, etj. Në terminologjinë tradicionale, objektet e botës reale, informacioni për të cilin ruhen në bazën e të dhënave, quhen entitete (edhe nëse kjo fjalë nuk e tremb lexuesin - ky është një term i pranuar përgjithësisht), dhe shenjat e tyre aktuale quhen atribute.

Çdo tipar i një objekti të caktuar është vlera e atributit. Për shembull, pjesa e motorit ka vlerën e atributit të peshës 50, gjë që pasqyron faktin se ky motor peshon 50 kilogramë.

Do të ishte gabim të mendohej se vetëm objektet fizike pasqyrohen në bazën e të dhënave. Ajo është në gjendje të thithë informacione rreth abstraksioneve, proceseve, fenomeneve - domethënë për gjithçka që një person has në aktivitetet e tij. Për shembull, një bazë të dhënash mund të ruajë informacione rreth porosive për furnizimin e pjesëve në një magazinë (edhe pse nuk është një objekt fizik, por një proces). Atributet e subjektit “porosi” do të jenë emri i pjesës së furnizuar, numri i pjesëve, emri i furnitorit, koha e dorëzimit, etj.

Objektet e botës reale janë të lidhura me njëri-tjetrin nga shumë varësi komplekse që duhet të merren parasysh në aktivitetet e informacionit. Për shembull, pjesët furnizohen në magazinë nga prodhuesit e tyre. Prandaj, atributi "emri i prodhuesit" duhet të përfshihet në atributet e pjesës. Sidoqoftë, kjo nuk mjafton, pasi mund t'ju duhet informacion shtesë në lidhje me prodhuesin e një pjese specifike - adresën e tij, numrin e telefonit, etj. Kjo do të thotë që baza e të dhënave duhet të përmbajë jo vetëm informacione për pjesët dhe porositë e blerjeve, por edhe informacione për prodhuesit e tyre. Për më tepër, baza e të dhënave duhet të pasqyrojë marrëdhëniet midis pjesëve dhe prodhuesve (secila pjesë prodhohet nga një prodhues specifik) dhe midis porosive dhe pjesëve (çdo porosi lëshohet për një pjesë specifike). Vini re se vetëm lidhjet përkatëse, domethënëse duhet të ruhen në bazën e të dhënave.

Kështu, në kuptimin e gjerë të fjalës, një bazë të dhënash është një koleksion i përshkrimeve të objekteve në botën reale dhe lidhjeve ndërmjet tyre, të rëndësishme për një zonë specifike të aplikuar. Në vijim do të vijojmë nga ky përkufizim, duke e përpunuar gjatë prezantimit.

Modeli i të dhënave relacionale

Pra, ne morëm një ide se çfarë ruhet në bazën e të dhënave. Tani ju duhet të kuptoni se si entitetet, atributet dhe marrëdhëniet janë hartuar në strukturat e të dhënave. Kjo përcaktohet nga modeli i të dhënave.

Tradicionalisht, të gjitha DBMS-të klasifikohen sipas modelit të të dhënave që qëndron në themel të tyre. Është zakon të dallohen modelet e të dhënave hierarkike, rrjetore dhe relacionale. Ndonjëherë atyre u shtohet një model i të dhënave i bazuar në lista të përmbysura. Prandaj, flitet për DBMS hierarkike, rrjetore, relacionale ose DBMS bazuar në listat e përmbysura.

Për sa i përket përhapjes dhe popullaritetit, DBMS-të relacionale janë jashtë konkurrencës sot. Ata janë bërë një standard industrial de fakto, dhe për këtë arsye një përdorues vendas do të duhet të përballet në praktikën e tyre pikërisht me një DBMS relacionale. Le të hedhim një vështrim të shpejtë në modelin e të dhënave relacionale pa hyrë në detajet e tij.

Ai u zhvillua nga Codd në vitet 1969-70 në bazë të teorisë matematikore të marrëdhënieve dhe bazohet në një sistem konceptesh, më të rëndësishmet prej të cilave janë tabela, relacioni, rreshti, kolona, ​​çelësi kryesor, çelësi i huaj.

Një bazë të dhënash relacionale është ajo në të cilën të gjitha të dhënat i paraqiten përdoruesit në formën e tabelave drejtkëndore të vlerave të të dhënave, dhe të gjitha operacionet në bazën e të dhënave reduktohen në tabela manipuluese. Tabela përbëhet nga rreshta dhe kolona dhe ka një emër që është unik brenda bazës së të dhënave. Tabela pasqyron llojin e objektit në botën reale (entitet), dhe secila prej rreshtave të saj është një objekt specifik. Për shembull, tabela e Pjesës përmban informacione për të gjitha pjesët e ruajtura në magazinë, dhe rreshtat e saj janë grupe vlerash atributesh për pjesë specifike. Çdo kolonë në një tabelë është një koleksion vlerash për një atribut të veçantë të një objekti. Për shembull, kolona Materiali është një grup vlerash "Çeliku", "Kallaji", "Zinku", "Nikeli" dhe kështu me radhë. Kolona Sasia përmban numra të plotë jo negativë. Vlerat në kolonën Pesha janë numra realë të barabartë me peshën e pjesës në kilogramë.

Këto vlera nuk shfaqen nga ajri i hollë. Ato zgjidhen nga grupi i të gjitha vlerave të mundshme për një atribut të një objekti, i cili quhet domen. Pra, vlerat në kolonën e materialit zgjidhen nga grupi i emrave të të gjitha materialeve të mundshme - plastika, druri, metalet, etj. Prandaj, në kolonën Materiali, është thelbësisht e pamundur që të shfaqet një vlerë që nuk është në domenin përkatës, për shembull, "ujë" ose "rërë".

Çdo kolonë ka një emër, i cili zakonisht shkruhet në krye të tabelës ( Oriz. një). Duhet të jetë unik në tabelë, megjithatë tabela të ndryshme mund të kenë kolona me të njëjtin emër. Çdo tabelë duhet të ketë të paktën një kolonë; kolonat janë renditur në tabelë sipas renditjes së emrave të tyre kur është krijuar. Ndryshe nga kolonat, rreshtat nuk kanë emra; radha e tyre në tabelë nuk është e përcaktuar, dhe numri nuk është i kufizuar logjikisht.

Figura 1. Konceptet bazë të bazës së të dhënave.

Meqenëse rreshtat në tabelë nuk janë të renditura, është e pamundur të zgjidhni një rresht sipas pozicionit të tij - nuk ka midis tyre "i pari", "i dyti", "i fundit". Çdo tabelë ka një ose më shumë kolona, ​​vlerat e të cilave identifikojnë në mënyrë unike secilën prej rreshtave të saj. Një kolonë e tillë (ose kombinim i kolonave) quhet çelës primar. Në tabelën Part, çelësi kryesor është kolona Numri i pjesës. Në shembullin tonë, çdo pjesë në magazinë ka një numër të vetëm, me anë të të cilit nxirret informacioni i nevojshëm nga tabela e Pjesës. Prandaj, në këtë tabelë, çelësi kryesor është kolona Numri i pjesës. Vlerat në këtë kolonë nuk mund të kopjohen - tabela e Pjesës nuk duhet të përmbajë rreshta që kanë të njëjtën vlerë në kolonën Numri i pjesës. Nëse një tabelë plotëson këtë kërkesë, ajo quhet relacion.

Marrëdhënia e tabelave është një element thelbësor i modelit të të dhënave relacionale. Ai mbështetet nga çelësat e huaj. Konsideroni një shembull në të cilin baza e të dhënave ruan informacione për punonjësit e zakonshëm (tabela e punonjësve) dhe menaxherët (tabela e menaxherit) në një organizatë ( Oriz. 2). Çelësi kryesor i tabelës së Mbikëqyrësit është kolona Numri (për shembull, numri i personelit). Kolona "Mbiemri" nuk mund të veprojë si çelës kryesor, pasi dy menaxherë me mbiemra të njëjtë mund të punojnë në të njëjtën organizatë. Çdo punonjës është në varësi të një menaxheri të vetëm, i cili duhet të pasqyrohet në bazën e të dhënave. Tabela e punonjësve përmban kolonën Numri i menaxherit dhe vlerat në këtë kolonë zgjidhen nga kolona Numri i tabelës së Menaxherit (shih Oriz. 2). Kolona Numri i Mbikëqyrësit është një çelës i huaj në tabelën e punonjësve.

Figura 2. Marrëdhënia ndërmjet tabelave të bazës së të dhënave.

Tabelat nuk mund të ruhen dhe përpunohen nëse baza e të dhënave nuk përmban "të dhëna rreth të dhënave", për shembull, përshkrues për tabela, kolona, ​​etj. Ato zakonisht quhen si meta të dhëna. Metadatat paraqiten gjithashtu në formë tabelare dhe ruhen në një fjalor të të dhënave.

Përveç tabelave, baza e të dhënave mund të ruajë objekte të tjera si ekrane, raporte, pamje, madje edhe aplikacione që punojnë me bazën e të dhënave.

Për përdoruesit e sistemit të informacionit nuk mjafton që baza e të dhënave thjesht të pasqyrojë objekte të botës reale. Është e rëndësishme që një reflektim i tillë të jetë i paqartë dhe i qëndrueshëm. Në këtë rast, baza e të dhënave thuhet se plotëson kushtin e integritetit.

Për të garantuar korrektësinë dhe konsistencën reciproke të të dhënave, në bazën e të dhënave vendosen disa kufizime, të cilat quhen kufizime të integritetit të të dhënave.

Ekzistojnë disa lloje të kufizimeve të integritetit. Kërkohet, për shembull, që vlerat në një kolonë tabele të zgjidhen vetëm nga domeni përkatës. Në praktikë, merren parasysh edhe kufizime më komplekse të integritetit, siç është integriteti referencial. Thelbi i tij qëndron në faktin se një çelës i huaj nuk mund të jetë një tregues për një rresht që nuk ekziston në një tabelë. Kufizimet e integritetit zbatohen duke përdorur mjete speciale, të cilat do të diskutohen në Sec.Serveri i bazës së të dhënave .

Gjuha SQL

Në vetvete, të dhënat në formë kompjuterike nuk janë me interes për përdoruesin nëse nuk ka mjete për të hyrë në to. Qasja e të dhënave kryhet në formën e pyetjeve të bazës së të dhënave, të cilat formulohen në një gjuhë standarde të pyetjeve. Sot, për shumicën e DBMS-ve, kjo gjuhë është SQL.

Shfaqja dhe zhvillimi i kësaj gjuhe si një mjet për të përshkruar aksesin në një bazë të dhënash shoqërohet me krijimin e teorisë së bazave të të dhënave relacionale. SQL filloi në 1970 si pjesë e projektit kërkimor System / R në laboratorin Santa Teresa të IBM. SQL tani është standardi për ndërfaqen me sistemet e menaxhimit të bazës së të dhënave relacionale. Popullariteti i tij është aq i madh sa zhvilluesit e DBMS jo-relacionale (për shembull, Adabas) furnizojnë sistemet e tyre me ndërfaqe SQL.

Gjuha SQL ka një standard zyrtar - ANSI / ISO. Shumica e zhvilluesve të DBMS-së i përmbahen këtij standardi, por shpesh e zgjerojnë atë për të zbatuar aftësi të reja të përpunimit të të dhënave. Mekanizmat e rinj të menaxhimit të të dhënave që do të përshkruhen në Sec.Serveri i bazës së të dhënave , mund të përdoret vetëm përmes deklaratave të veçanta SQL që përgjithësisht nuk përfshihen në standardin gjuhësor.

SQL nuk është një gjuhë tradicionale programimi. Në të nuk shkruhen programe, por pyetje në bazën e të dhënave. Prandaj SQL është një gjuhë deklarative. Kjo do të thotë se mund të përdoret për të formuluar atë që duhet të merret, por nuk mund të tregojë se si duhet bërë. Në veçanti, ndryshe nga gjuhët e programimit procedural (C, Pascal, Ada), gjuhës SQL i mungojnë operatorë të tillë si if-ather-else, for, while, etj.

Ne nuk do të hyjmë në detaje për sintaksën e gjuhës. Le ta prekim atë vetëm në masën e nevojshme për të kuptuar shembuj të thjeshtë. Me ndihmën e tyre do të ilustrohen mekanizmat më interesantë të përpunimit të të dhënave.

Një pyetje SQL përbëhet nga një ose më shumë deklarata, njëra pas tjetrës, të ndara me pikëpresje. Tabela 1 më poshtë rendit operatorët më të rëndësishëm që përfshihen në standardin ANSI / ISO SQL.

Tabela 1. Operatorët bazë të gjuhës SQL.

Pyetjet SQL përdorin emra që identifikojnë në mënyrë unike objektet e bazës së të dhënave. Në veçanti, ky është emri i tabelës (Detajet), emri i kolonës (Emri), si dhe emrat e objekteve të tjerë në bazën e të dhënave që i përkasin llojeve shtesë (për shembull, emrat e procedurave dhe rregullave) , e cila do të diskutohet në Sec.Serveri i bazës së të dhënave ... Përveç emrave të thjeshtë, përdoren edhe emra kompleksë - për shembull, emri i kolonës së kualifikuar përcakton emrin e kolonës dhe emrin e tabelës së cilës i përket (Pjesa. Pesha). Për thjeshtësi, në shembujt, emrat do të shkruhen në Rusisht, megjithëse në praktikë kjo nuk rekomandohet.

Çdo kolonë në çdo tabelë ruan të dhëna të llojeve të caktuara. Ekzistojnë lloje bazë të të dhënave - vargje karakteresh me gjatësi fikse, numra të plotë dhe numra realë, dhe lloje shtesë të të dhënave - vargje karakteresh me gjatësi të ndryshueshme, njësi të monedhës, datë dhe orë, të dhëna logjike (dy vlera - "E VËRTETË" dhe " I RREMË"). Në SQL, ju mund të përdorni konstante numerike, string, karaktere dhe datë dhe orë.

Le të shohim disa shembuj.

Pyetja "përcaktoni numrin e pjesëve në magazinë për të gjitha llojet e pjesëve" zbatohet si më poshtë:

SELECT Emri, Sasia

NGA Pjesa;

Rezultati i pyetjes do të jetë një tabelë me dy kolona - Emri dhe Sasia, të cilat janë marrë nga tabela origjinale e Pjesës. Në thelb, kjo pyetje ju lejon të merrni një projeksion vertikal të tabelës origjinale (më rreptësisht, një nëngrup vertikal i grupit të rreshtave të tabelës). Nga të gjitha rreshtat e tabelës Part, formohen rreshta që përfshijnë vlerat e marra nga dy kolona - Emri dhe Sasia.

Pyetja "cilat pjesë të bëra prej çeliku janë në magazinë?", Formuluar në SQL, duket kështu:

NGA Pjesa

WHERE Material = "Çeliku";

Rezultati i kësaj pyetjeje do të jetë gjithashtu një tabelë që përmban vetëm ato rreshta nga tabela burimore që kanë vlerën "Çeliku" në kolonën Material. Ky pyetje ju lejon të merrni një projeksion horizontal të tabelës Part (një yll në një deklaratë SELECT do të thotë që ju zgjidhni të gjitha kolonat nga tabela).

Kërkesa “për të përcaktuar emrin dhe sasinë e pjesëve në magazinë që janë prej plastike dhe peshojnë më pak se pesë kilogramë” do të shkruhet si më poshtë:

SELECT Emri, Sasia

NGA Pjesa

WHERE Material = "Plastike"

DHE Pesha< 5;

Rezultati i pyetjes është një tabelë me dy kolona - Emri, Sasia, e cila përmban emrin dhe numrin e pjesëve të bëra prej plastike dhe që peshojnë më pak se 5 kg. Në fakt, operacioni i përzgjedhjes është operacioni i formimit të një projeksioni horizontal fillimisht (gjeni të gjitha rreshtat e tabelës së pjesëve, për të cilat Materiali = "Plastike" dhe Pesha< 5), а затем вертикальной проекции (извлечь Название и Количество из выбранных ранее строк).

Indekset janë një nga mjetet që ofrojnë akses të shpejtë në tabela. Një indeks është një strukturë e bazës së të dhënave që është një tregues për një rresht specifik në një tabelë. Një indeks i bazës së të dhënave përdoret në të njëjtën mënyrë si një indeks indeks në një libër. Ai përmban vlera të marra nga një ose më shumë kolona të një rreshti të caktuar tabele dhe një lidhje me atë rresht. Vlerat në indeks janë të renditura, gjë që lejon DBMS të kryejë kërkime të shpejta në tabelë.

Le të supozojmë se një pyetje në bazën e të dhënave Warehouse është formuluar:

SELECT Emri Sasia, Materiali

NGA Pjesa

WHERE Numri = "T145-A8";

Nëse nuk ka indekse për këtë tabelë, atëherë për të ekzekutuar këtë pyetje, DBMS duhet të skanojë të gjithë tabelën Detail, duke zgjedhur në mënyrë sekuenciale rreshtat prej saj dhe duke kontrolluar gjendjen e përzgjedhjes për secilën prej tyre. Për tavolina të mëdha, një pyetje e tillë do të marrë një kohë shumë të gjatë.

Nëse një indeks është krijuar më parë në kolonën Pjesa Numri i tabelës, atëherë koha e kërkimit në tabelë do të reduktohet në minimum. Indeksi do të përmbajë vlera nga kolona Number dhe një lidhje me rreshtin me këtë vlerë në tabelën Part. Kur ekzekuton një pyetje, DBMS së pari do të gjejë vlerën "T145-A8" në indeks (dhe do ta bëjë atë shpejt, pasi indeksi është i renditur dhe rreshtat e tij janë të vegjël), dhe më pas, duke iu referuar indeksit, do të përcaktoni vendndodhjen fizike të rreshtit të kërkuar.

Indeksi krijohet me deklaratën SQL CREATE INDEX. Në këtë shembull, operatori

KRIJONI INDEKS UNIK Indeks i pjesës

ON Pjesa (Numri);

do të krijojë një indeks të quajtur Part Index në kolonën Numri i tabelës së pjesëve.

Për një përdorues të një DBMS, nuk janë deklarata individuale SQL ato që janë me interes, por një sekuencë e caktuar e tyre, e formuar si një e tërë e vetme dhe ka kuptim nga këndvështrimi i tij. Çdo sekuencë e tillë e deklaratave SQL zbaton një veprim specifik në bazën e të dhënave. Ai kryhet në disa hapa, në secilin prej të cilëve kryhen disa operacione në tabelat e bazës së të dhënave. Pra, në sistemin bankar kalimi i një shume të caktuar nga një llogari afatshkurtër në atë afatgjatë kryhet në disa operacione. Midis tyre - tërheqja e një shume nga një llogari afatshkurtër, kreditimi në një llogari afatgjatë.

Nëse gjatë ekzekutimit të këtij veprimi ndodh një dështim, për shembull, kur përfundon operacioni i parë, por i dyti jo, atëherë paratë do të humbasin. Prandaj, çdo veprim në bazën e të dhënave duhet të kryhet tërësisht, ose aspak. Ky veprim quhet transaksion.

Përpunimi i transaksioneve mbështetet në regjistrin, i cili përdoret për të rikthyer transaksionet dhe për të rivendosur gjendjen e bazës së të dhënave. Më shumë detaje rreth transaksioneve do të diskutohen në Sec.Përpunimi i transaksioneve .

Për të përfunduar diskutimin tonë për gjuhën SQL, le të theksojmë edhe një herë se ajo është një gjuhë pyetëse. Është e pamundur të shkruash në të ndonjë program aplikimi kompleks që funksionon me një bazë të dhënash. Për këtë qëllim, DBMS-të moderne përdorin gjuhën e gjeneratës së katërt (Gjuha e Gjeneratës së Katërt - 4GL), e cila ka të dyja aftësitë themelore të gjuhëve procedurale të gjeneratës së tretë (3GL), si C, Pascal, Ada, dhe aftësinë për të integruar Deklaratat SQL në tekstin e programit, si dhe kontrollet e ndërfaqes së përdoruesit (menytë, formularët, futja e përdoruesit, etj.). Sot 4GL është një nga standardet de facto për mjetet e zhvillimit të aplikacioneve të bazës së të dhënave.

Karakteristikat e tabelës relacionale

BAZAT THEMELORE TË TË DHËNAVE

Baza e të dhënave (DB)- një koleksion i emërtuar i të dhënave që pasqyron gjendjen e objekteve dhe marrëdhëniet e tyre në domenin e të dhënave të konsideruara.

Shembuj të fushave lëndore të të dhënave: magazina, dyqani, universiteti, spitali, procesi arsimor, etj. Është fusha lëndore që përcakton grupin e të dhënave që duhet të ruhen në bazën e të dhënave.

Sistemi i menaxhimit të bazës së të dhënave (DBMS)- një grup mjetesh gjuhësore dhe softuerësh të krijuar për krijimin, mirëmbajtjen dhe ndarjen e një baze të dhënash nga shumë përdorues.

Përkufizime të tjera që lidhen me DB dhe DBMS.

Banka e të dhënave (BnD)Është një sistem i të dhënave të organizuara posaçërisht - bazat e të dhënave, softuerët, mjetet teknike, gjuhësore, organizative dhe metodologjike, i krijuar për të siguruar akumulimin e centralizuar dhe përdorimin e të dhënave me shumë qëllime.

Sistemi i Informacionit (IS)- një grup i ndërlidhur mjetesh, metodash dhe personeli të përdorur për të ruajtur, përpunuar dhe lëshuar informacione për të arritur detyrën.

Baza e pothuajse çdo sistemi informacioni është baza e të dhënave.

Serveri- një kompjuter ose program që zotëron një burim të caktuar informacioni dhe është krijuar për të përpunuar kërkesat nga programet e klientit.

Modelet kryesore të të dhënave që përcaktojnë strukturën e bazës së të dhënave janë:

modeli hierarkik;

modeli i rrjetit;

modeli relacional.

MODEL TË TË DHËNAVE RELACIONALE

Baza teorike e këtij modeli është teoria e marrëdhënieve dhe struktura kryesore e të dhënave është marrëdhënia. Kjo është arsyeja pse modeli u emërua relacionale ( nga fjala angleze relacion - qëndrim) .

Qëndrimiështë një grup elementësh të quajtur tuples. Një formë vizuale e përfaqësimit të një marrëdhënieje është tabela dydimensionale ... Kuptimi semantik i disa elementeve të modelit relacional janë paraqitur në tabelën e mëposhtme.

Numri dërrmues i bazave të të dhënave të krijuara dhe të përdorura është relacionale... Krijimi dhe zhvillimi i tyre lidhet me punimet shkencore të matematikanit të famshëm amerikan, specialist në fushën e sistemeve të bazës së të dhënave E. Codd.

Karakteristikat e tabelës relacionale

Modeli relacional fokusohet në organizimin e të dhënave në formën e tabelave dydimensionale. Secili tabelë relacionaleështë një grup dydimensional dhe ka këto veti:

· Çdo element i tabelës është një element i të dhënave;

· Të gjitha kolonat (fushat, atributet) në tabelë janë homogjene, d.m.th. të gjithë elementët në një kolonë kanë të njëjtin lloj (numerik, karakter, etj.) dhe gjatësi;

· Çdo kolonë ka një emër unik;

· Nuk ka rreshta identike (rekord, tuples) në tabelë;

· Rendi i rreshtave dhe kolonave mund të jetë arbitrar.

Çdo fushë përmban një karakteristikë të një objekti të zonës së subjektit. Regjistrimi përmban informacion për një shembull të këtij objekti.

Çelësat

Një fushë, secila vlerë e së cilës identifikon në mënyrë unike rekordin përkatës, thirret çelës i thjeshtë (fusha kryesore). Një çelës i përbërë nga disa fusha quhet çelësi i përbërë . Në DBMS Access, çelësi mund të përdoret Kundër, i cili automatikisht rritet me një kur një rekord i ri futet në tabelë. Një çelës i tillë quhet artificial. Nuk lidhet semantikisht me asnjë fushë në tabelë. Për shkak të kësaj, ai lejon rihyrjen e të njëjtave rekorde. Por me ndihmën e tij, është e lehtë të vendosësh marrëdhënie midis tabelave. Prona kryesore e çelësit është unike, origjinalitet.

Llojet e marrëdhënieve ndërmjet tabelave

Struktura e bazës së të dhënave përcaktohet nga struktura e tabelave dhe marrëdhëniet ndërmjet tyre.

Ekzistojnë tre lloje të marrëdhënieve midis tabelave:

Një për një (1: 1)- një rekord në tabelën kryesore korrespondon me një rekord në tabelën vartëse,

Një me shumë (1: M)- një rekord në tabelën kryesore korrespondon me disa rekorde në tabelën vartëse,

Shumë-për-shumë (M: M)- disa rekorde në tabelën kryesore korrespondojnë me disa rekorde në tabelën vartëse. Ose, një rekord në tabelën e parë mund të korrespondojë me disa rekorde në tabelën e dytë. Dhe një rekord në tabelën e dytë mund të korrespondojë me disa rekorde në tabelën e parë.

Krijimi i marrëdhënieve ndërmjet tabelave

Marrëdhënia midis tabelave krijohet duke përdorur çelësat. Një tabelë kryesore është një tabelë, çelësi kryesor i së cilës përdoret për të krijuar një marrëdhënie me një tabelë tjetër, e cila në këtë rast quhet tabelë e varur.

Për të lidhur dy tabela relacionale, duhet të futni çelësin e tabelës kryesore në tabelën vartëse. Emri i çelësit mund të jetë i ndryshëm, por kërkohet lloji dhe madhësia e çelësit dytësor duhet të jetë i njëjtë me çelësin primar në tabelën e varur. Për lehtësi, është më mirë të mbani përcaktimin e çelësit dytësor të njëjtë me çelësin kryesor. Megjithatë, nëse zgjidhet çelësi Kundër, atëherë çelësi dytësor duhet të jetë i tipit Numerike - numër i plotë i gjatë(por jo Kundër!). Një çelës dytësor është ose një fushë e rregullt ose pjesë e një çelësi parësor në një tabelë vartëse.

Për të zbatuar një marrëdhënie shumë-me-shumë, Access DBMS kërkon që ju të krijoni një tabelë marrëdhëniesh dhe të futni në të si çelësa dytësorë çelësat kryesorë të dy tabelave që duhet të kenë një lidhje të tillë (M: M). Pas kësaj, krijohet një lidhje 1: M për secilën nga dy tabelat me tabelën e lidhjeve. Në këtë mënyrë realizohet marrëdhënia M: M ndërmjet dy tabelave. Nëse krijoni tabelat Librat dhe Autorët në bazën e të dhënave Biblioteka ime, atëherë lidhja ndërmjet tyre do të jetë e formës M: M, pasi një rekord në tabelën Librat (detajet e një libri) mund të korrespondojë me disa regjistrime në tabelën Autorët. . Sepse një libër mund të ketë disa autorë. Nga ana tjetër, një rekord në tabelën Autorët mund të korrespondojë me disa regjistrime në tabelën Librat, pasi një autor mund të shkruajë disa libra. Tabela e lidhjeve mund të quhet BooksAuthors, e cila do të përfshijë çelësat e të dy tabelave - Librat dhe Autorët. Fushat e tjera mund të përfshihen në tabelën e lidhjeve nëse kërkohet.

Midis bazave të të dhënave relacionale, duhet bërë një dallim midis bazave të të dhënave të korporatave dhe atyre të desktopit.

DBMS-të relacionale të korporatave më të zakonshme janë: Oracl, IBM DB2, Sybase, Microsoft SQL Server, Informix. Nga DBMS post-relacionale, dihet Cache DBMS e kompanisë InterSystems.

Bazat e mëposhtme të të dhënave të desktopit janë aktualisht më të njohura: Microsoft Access, Paradox (nga Borland), FoxPro (Microsoft), dBase IV (IBM), Clarion.

Këto DBMS përbëjnë mbi 90% të të gjithë tregut të DBMS.

Seksioni tjetër ofron një përshkrim të shkurtër të Microsoft Access DBMS.

Një model i të dhënave është një koleksion i strukturave të të dhënave dhe operacioneve për përpunimin e tyre. Duke përdorur modelin e të dhënave, ju mund të vizualizoni strukturën e objekteve dhe marrëdhëniet e vendosura midis tyre. Terminologjia e modeleve të të dhënave karakterizohet nga konceptet e "elementit të të dhënave" dhe "rregullave të detyrueshme". Një artikull i të dhënave përshkruan çdo grup të dhënash dhe rregullat detyruese përcaktojnë algoritmet për marrëdhënien e artikujve të të dhënave. Deri më sot, janë zhvilluar shumë modele të ndryshme të dhënash, por në praktikë përdoren tre nga ato kryesore. Alokimi i modeleve të të dhënave hierarkike, rrjetore dhe relacionale. Prandaj, ata flasin për DBMS hierarkike, rrjetore dhe relacionale.

О Modeli i të dhënave hierarkike. Të dhënat e organizuara në mënyrë hierarkike janë shumë të zakonshme në jetën e përditshme. Për shembull, struktura e një institucioni të arsimit të lartë është një strukturë hierarkike me shumë nivele. Një bazë të dhënash hierarkike (si pema) përbëhet nga një grup i renditur elementësh. Në këtë model, elementët origjinalë krijojnë elementë të tjerë, dhe këta elementë nga ana e tyre krijojnë elementët e ardhshëm. Çdo fëmijë ka vetëm një prind.

Grafikët organizativë, listat e materialeve, tabela e përmbajtjes në libra, planet e projektit dhe shumë koleksione të tjera të dhënash mund të paraqiten në mënyrë hierarkike. Integriteti i lidhjeve midis paraardhësve dhe pasardhësve ruhet automatikisht. Rregulli bazë: asnjë pasardhës nuk mund të ekzistojë pa prindin e tij.

Disavantazhi kryesor i këtij modeli është nevoja për të përdorur hierarkinë që u vendos në bazën e bazës së të dhënave gjatë projektimit. Nevoja për riorganizim të vazhdueshëm të të dhënave (dhe shpesh pamundësia e këtij riorganizimi) çoi në krijimin e një modeli më të përgjithshëm - rrjetit.

О Modeli i të dhënave të rrjetit. Qasja në rrjet për organizimin e të dhënave është një zgjerim i qasjes hierarkike. Ky model ndryshon nga ai hierakik në atë që çdo element i gjeneruar mund të ketë më shumë se një element prind. ■

Meqenëse baza e të dhënave të rrjetit mund të përfaqësojë drejtpërdrejt të gjitha llojet e marrëdhënieve të qenësishme në të dhënat e organizatës përkatëse, këto të dhëna mund të lundrohen, eksplorohen dhe kërkohen në të gjitha mënyrat, domethënë, modeli i rrjetit nuk është i lidhur vetëm nga një hierarki. Megjithatë, për të hartuar një pyetje në një bazë të dhënash të rrjetit, është e nevojshme të thellohet thellë në strukturën e saj (të kemi në dorë një diagram të kësaj baze të dhënash) dhe të zhvillohet një mekanizëm për navigimin në bazën e të dhënave, që është një pengesë e rëndësishme e kësaj. modeli i bazës së të dhënave.

Rreth modelit të të dhënave relacionale. Ideja bazë pas një modeli të të dhënave relacionale është të përfaqësojë çdo grup të dhënash si një tabelë dydimensionale. Në rastin më të thjeshtë, një model relacional përshkruan një tabelë të vetme dy-dimensionale, por më shpesh ky model përshkruan strukturën dhe marrëdhëniet midis disa tabelave të ndryshme.

Modeli i të dhënave relacionale

Pra, qëllimi i sistemit të informacionit është të përpunojë të dhëna rreth objektet botën reale, duke marrë parasysh lidhjet ndërmjet objekteve. Në teorinë e DB, të dhënat shpesh referohen si atributet, dhe objekte - subjektet. Objekti, atributi dhe lidhja janë koncepte themelore të I.S.

Nje objekt(ose entitet) është diçka që ekziston dhe e dallueshme, pra, një objekt mund të quhet ajo "diçka" për të cilën ka një emër dhe një mënyrë për të dalluar një objekt të ngjashëm nga një tjetër. Për shembull, çdo shkollë është një objekt. Objektet janë gjithashtu një person, një klasë në një shkollë, një firmë, një aliazh, një përbërje kimike, etj. Objektet mund të jenë jo vetëm objekte materiale, por edhe koncepte më abstrakte që pasqyrojnë botën reale. Për shembull, ngjarje, rajone, vepra arti; libra (jo si produkte të shtypura, por si vepra), shfaqje teatrale, filma; normat juridike, teoritë filozofike etj.

atribut(ose dhënë)- ky është një tregues që karakterizon një objekt të caktuar dhe merr një vlerë të caktuar numerike, tekstuale ose tjetër për një shembull specifik të objektit. Sistemi i informacionit operon me grupe objektesh të dizajnuara në lidhje me një fushë të caktuar lëndore, duke përdorur specifikë vlerat e atributeve(të dhëna) të objekteve të caktuara. Për shembull, le të marrim mësimet në një shkollë si një koleksion objektesh. Numri i nxënësve në një klasë është i dhënë, i cili merr një vlerë numerike (një klasë ka 28, një tjetër ka 32). Emri i klasës është një i dhënë që merr një kuptim tekstual (njëra ka 10A, tjetra ka 9B, etj.).

Zhvillimi i bazave të të dhënave relacionale filloi në fund të viteve 1960, kur u shfaqën punimet e para që diskutonin; mundësia e përdorimit në hartimin e bazave të të dhënave të mënyrave të zakonshme dhe të natyrshme të paraqitjes së të dhënave - të ashtuquajturat modele datalogjike tabelare.

Themeluesi i teorisë së bazave të të dhënave relacionale konsiderohet të jetë një punonjës i IBM, Dr. E. Codd, i cili botoi artikullin e 6 (qershor 1970 Një model relacional i të dhënave për bankat e të dhënave të përbashkëta(Një model i të dhënave relacionale për bankat e mëdha të të dhënave kolektive). Ky artikull ishte i pari që përdori termin "modeli i të dhënave relacionale". Teoria e bazave të të dhënave relacionale, e zhvilluar në vitet '70 në Shtetet e Bashkuara nga Dr. E. Codd, ka një bazë të fuqishme matematikore që përshkruan rregullat për organizimin efikas të të dhënave. Baza teorike e zhvilluar nga E. Codd u bë baza për zhvillimin e teorisë së dizajnit të bazës së të dhënave.

E. Codd, duke qenë një matematikan nga arsimi, sugjeroi përdorimin e aparatit të teorisë së grupeve (bashkimi, kryqëzimi, ndryshimi, prodhimi kartezian) për përpunimin e të dhënave. Ai vërtetoi se çdo grup të dhënash mund të përfaqësohet si tabela dydimensionale të një lloji të veçantë, të njohur në matematikë si "relacione".

Relacionale konsiderohet një bazë e tillë e të dhënave në të cilën të gjitha të dhënat i paraqiten përdoruesit në formën e tabelave drejtkëndore të vlerave të të dhënave, dhe të gjitha operacionet në bazën e të dhënave reduktohen në manipulimin e tabelave.

Tabela përbëhet nga kolonat (fushat) dhe linjat (regjistrat); ka një emër që është unik brenda bazës së të dhënave. tabela reflekton Lloji i objektit bota reale (esencë), dhe secila prej saj vargu është një objekt specifik.Çdo kolonë në një tabelë është një koleksion vlerash për një atribut të veçantë të një objekti. Vlerat zgjidhen nga grupi i të gjitha vlerave të mundshme të atributit të objektit, i cili quhet domain.

Në formën e tij më të përgjithshme, një domen përcaktohet duke specifikuar disa lloj të dhënash bazë, të cilave i përkasin elementet e domenit, dhe një shprehje logjike arbitrare të aplikuar për elementët e të dhënave. Nëse, kur vlerësoni një kusht logjik në një artikull të dhënash, rezultati është "i vërtetë", atëherë ky artikull i përket domenit. Në rastin më të thjeshtë, një domen përcaktohet si një grup potencial i vlefshëm vlerash të të njëjtit lloj. Për shembull, mbledhja e datave të lindjes së të gjithë punonjësve përbën "domenin e datës së lindjes" dhe emrat e të gjithë punonjësve përbëjnë "domenin e emrit të punonjësve". Domeni i datës së lindjes ka një tip të dhënash për të ruajtur informacionin rreth pikave në kohë dhe domeni i emrit të punonjësit duhet të jetë një tip i të dhënave karakteri.

Nëse dy vlera vijnë nga i njëjti domen, mund t'i krahasoni të dy vlerat. Për shembull, nëse dy vlera janë nga domeni i datës së lindjes, mund t'i krahasoni ato për të përcaktuar se cili punonjës është më i vjetër. Nëse vlerat merren nga fusha të ndryshme, atëherë krahasimi i tyre nuk lejohet, pasi, sipas të gjitha gjasave, nuk ka kuptim. Për shembull, asgjë e caktuar nuk do të dalë nga krahasimi i emrit dhe datës së lindjes së një punonjësi.

Çdo kolonë (fushë) ka një emër, i cili zakonisht shkruhet në krye të tabelës. Kur dizajnoni tabela brenda një DBMS specifike, është e mundur të zgjidhni për secilën fushë të saj një lloj, pra të përcaktojë një sërë rregullash për paraqitjen e tij, si dhe të përcaktojë ato operacione që mund të kryhen në të dhënat e ruajtura në këtë fushë. Grupet e llojeve mund të ndryshojnë nga DBMS në DBMS.

Emri i fushës duhet të jetë unik në tabelë, megjithatë tabela të ndryshme mund të kenë fusha me të njëjtin emër. Çdo tabelë duhet të ketë të paktën një fushë; fushat janë të renditura në tabelë në përputhje me radhën e emrave të tyre kur është krijuar. Ndryshe nga fushat, vargjet nuk kanë emra; radha e tyre në tabelë nuk është e përcaktuar, dhe numri nuk është i kufizuar logjikisht.

Meqenëse rreshtat në tabelë nuk janë të renditura, është e pamundur të zgjidhni një rresht sipas pozicionit të tij - nuk ka midis tyre "i pari", "i dyti", "i fundit". Çdo tabelë ka një ose më shumë kolona, ​​vlerat e të cilave identifikojnë në mënyrë unike secilën prej rreshtave të saj. Një kolonë e tillë (ose një kombinim i kolonave) quhet çelesi primar... Një fushë artificiale shpesh futet në regjistrimet e numrave në një tabelë. Një fushë e tillë, për shembull, mund të jetë rendorja e saj, e cila mund të sigurojë veçantinë e çdo regjistrimi në tabelë. Çelësi duhet të ketë vetitë e mëposhtme.

Unike. Në çdo moment në kohë, dy tuple të ndryshëm të relacionit nuk kanë të njëjtën vlerë për kombinimin e atributeve të përfshira në çelës. Kjo do të thotë, nuk mund të ketë dy rreshta në tabelë që kanë të njëjtin numër identifikimi ose numër pasaporte.

Minimaliteti. Asnjë nga atributet e përfshira në çelës nuk mund të përjashtohet nga çelësi pa shkelur veçantinë. Kjo do të thotë se nuk është e nevojshme të krijoni një çelës që përfshin numrin e pasaportës dhe numrin e identifikimit. Mjafton të përdoret ndonjë nga këto atribute për të identifikuar në mënyrë unike tuplenë. Ju gjithashtu nuk duhet të përfshini një atribut jo unik në çelës, domethënë, është e ndaluar të përdorni një kombinim të një numri identifikimi dhe emrit të një punonjësi si çelës. Duke përjashtuar emrin e punonjësit nga çelësi, ju ende mund të identifikoni në mënyrë unike çdo rresht.

Çdo relacion ka të paktën një çelës të mundshëm, pasi tërësia e të gjitha atributeve të saj plotëson kushtin e unike - kjo rrjedh nga vetë përkufizimi i relacionit.

Një nga çelësat e mundshëm zgjidhet rastësisht në si çelës primar. Pjesa tjetër e çelësave të mundshëm, nëse ka, merren si çelësat alternativë. Për shembull, nëse zgjidhni një numër identifikimi si çelës kryesor, atëherë numri i pasaportës do të jetë një çelës alternativ.

Marrëdhënia e tabelave është një element thelbësor i modelit të të dhënave relacionale. Ajo është e mbështetur çelësat e huaj.

Gjatë përshkrimit të një modeli të bazës së të dhënave relacionale, shpesh përdoren terma të ndryshëm për të njëjtin koncept, në varësi të nivelit të përshkrimit (teorisë ose praktikës) dhe sistemit (Access, SQL Server, dBase). Tabela 2.3 përmbledh termat e përdorur.

Tabela 2.3. Terminologjia e bazës së të dhënave

Teoria e bazës së të dhënave ____________ Bazat relacionale të të dhënave _________ SQL Server __________

Tabela e marrëdhënieve Tabela

Rreshti i regjistrimit të dyfishtë

Fusha e atributit _______________ Kolona

Bazat e të dhënave relacionale

Baza e të dhënave relacionaleështë një grup relacionesh që përmbajnë të gjithë informacionin që duhet të ruhet në bazën e të dhënave. Kjo do të thotë, baza e të dhënave përfaqëson grupin e tabelave të nevojshme për të ruajtur të gjitha të dhënat. Tabelat e bazës së të dhënave relacionale janë logjikisht të lidhura me njëra-tjetrën.Kërkesat e projektimit për një bazë të dhënash relacionale mund të përmblidhen në disa rregulla.

О Çdo tabelë ka një emër unik në bazën e të dhënave dhe përbëhet nga rreshta të të njëjtit lloj.

О Çdo tabelë përbëhet nga një numër fiks kolonash dhe vlerash. Më shumë se një vlerë nuk mund të ruhet në një kolonë të një rreshti. Për shembull, nëse ekziston një tabelë me të dhëna për autorin, datën e botimit, tirazhin etj., atëherë kolona me emrin e autorit nuk mund të përmbajë më shumë se një mbiemër. Nëse libri është shkruar nga dy ose më shumë autorë, do t'ju duhet të përdorni tabela shtesë.

О Në asnjë moment kohor nuk do të ketë dy rreshta në tabelë që kopjojnë njëra-tjetrën. Rreshtat duhet të ndryshojnë nga të paktën një vlerë në mënyrë që të mund të identifikoni në mënyrë unike çdo rresht në tabelë.

О Secilës kolonë i caktohet një emër që është unik brenda tabelës; është vendosur një lloj specifik i të dhënave për të në mënyrë që vlerat homogjene (datat, mbiemrat, numrat e telefonit, shumat e parave, etj.) të vendosen në këtë kolonë.

О Përmbajtja e plotë informative e bazës së të dhënave paraqitet në formën e vlerave eksplicite të vetë të dhënave, dhe kjo metodë e paraqitjes është e vetmja. Për shembull, marrëdhënia ndërmjet tabelave bazohet në të dhënat e ruajtura në kolonat përkatëse, dhe jo në bazë të ndonjë treguesi që përcaktojë artificialisht marrëdhënien.

О Kur përpunoni të dhënat, lirisht mund t'i referoheni çdo rreshti ose kolone të tabelës. Vlerat e ruajtura në tabelë nuk vendosin asnjë kufizim në rendin në të cilin aksesohen të dhënat. Përshkrimi i kolonës,

Bazat e të dhënave relacionale ju lejon të ruani informacionin në disa tabela "të sheshta" (dy-dimensionale), të lidhura përmes fushave të përbashkëta të të dhënave të quajtura çelësa. Bazat e të dhënave relacionale ofrojnë akses më të lehtë në raportet online (zakonisht përmes SQL) dhe ofrojnë besueshmëri dhe integritet të shtuar të të dhënave për shkak të mungesës së informacionit të tepërt

Të gjithë e dinë se çfarë është një bazë të dhënash e thjeshtë: drejtoritë telefonike, katalogët e produkteve dhe fjalorët janë të gjitha bazat e të dhënave. Ato mund të strukturohen ose organizohen në ndonjë mënyrë tjetër: si skedarë të sheshtë, si struktura hierarkike ose rrjeti, ose si tabela relacionale. Më shpesh, organizatat përdorin bazat e të dhënave relacionale për të ruajtur informacionin.

Një bazë të dhënash është një koleksion tabelash, i përbërë nga kolona dhe rreshta, të ngjashëm me një spreadsheet. Çdo rresht përmban një hyrje; çdo kolonë përmban të gjitha rastet e një pjese të caktuar të të dhënave për të gjitha rreshtat. Për shembull, një direktori telefonike tipike përbëhet nga kolona që përmbajnë numrat e telefonit, emrat e pajtimtarëve dhe adresat e pajtimtarëve. Çdo rresht përmban një numër, emër dhe adresë. Kjo formë e thjeshtë quhet skedar i sheshtë për shkak të natyrës së tij dydimensionale dhe faktit që të gjitha të dhënat ruhen në një skedar.

Në mënyrë ideale, çdo bazë të dhënash ka të paktën një kolonë me një identifikues ose çelës unik. Konsideroni një libër telefoni. Mund të përmbajë disa hyrje me pajtimtarin John Smith, por asnjë nga numrat e telefonit nuk përsëritet. Numri i telefonit shërben edhe si çelës.

Në fakt nuk është aq e thjeshtë. Dy ose më shumë njerëz që përdorin të njëjtin numër telefoni mund të renditen veçmas në librin e telefonit, gjë që bën që numri i telefonit të shfaqet në dy ose më shumë vende, kështu që ka shumë rreshta çelësash që nuk janë unik.

Të dhënat krijojnë probleme

Në bazat e të dhënave më të thjeshta, çdo regjistrim është një rresht, me fjalë të tjera, kompania telefonike duhet të mbajë një kolonë të veçantë për çdo pjesë të informacionit kontabël. Kjo do të thotë, një - për pajtimtarin e dytë të telefonit "të çiftuar", një më shumë - për të tretën, etj., Në varësi të numrit të abonentëve shtesë që nevojiten.

Kjo do të thotë që çdo regjistrim në bazën e të dhënave duhet të ketë të gjitha këto kolona shtesë, edhe nëse ato nuk përdoren askund tjetër. Kjo do të thotë gjithashtu se baza e të dhënave duhet të riorganizohet sa herë që një kompani ofron një shërbim të ri. Prezantohet shërbimi i telefonimit me tonik - dhe struktura e bazës ndryshon, pasi shtohet një kolonë e re. Prezantohet mbështetja për ID-në e telefonuesit, pritjen e thirrjeve, etj. dhe baza e të dhënave rindërtohet vazhdimisht.

Në vitet 1960, vetëm kompanitë më të mëdha mund të përballonin të blinin kompjuterë për të menaxhuar të dhënat e tyre. Për më tepër, bazat e të dhënave të ndërtuara mbi modele statike të të dhënave dhe duke përdorur gjuhë programimi procedurale si Cobol mund të jenë jashtëzakonisht të shtrenjta për t'u mirëmbajtur dhe jo gjithmonë të besueshme. Gjuhët procedurale përcaktojnë sekuencën e ngjarjeve që duhet të kalojë një kompjuter për të përfunduar një detyrë. Programimi i sekuencave të tilla ishte i vështirë, veçanërisht kur ishte e nevojshme të ndryshohej struktura e bazës së të dhënave ose të krijohej një lloj i ri raportesh.

Lidhje të fuqishme

Edgar Codd i Laboratorit Kërkimor IBM San Jose në thelb krijoi dhe përshkroi konceptin e bazave të të dhënave relacionale në punën e tij kryesore, Një Model Relacional i të Dhënave për bankat e mëdha të përbashkëta të të dhënave. Komunikimet e ACM, qershor 1970).

Codd propozoi një model që lejon zhvilluesit të ndajnë bazat e të dhënave të tyre në tabela të veçanta, por të ndërlidhura, gjë që përmirëson performancën, por pamja mbetet e njëjtë me bazën e të dhënave origjinale. Që atëherë, Codd është konsideruar si babai themelues i industrisë së bazës së të dhënave relacionale.

Ky model funksionon si më poshtë. Kompania telefonike mund të krijojë një tabelë kryesore duke përdorur një numër telefoni si çelës kryesor dhe ta ruajë atë me informacione të tjera bazë për klientët. Një kompani mund të përcaktojë një tabelë të veçantë me kolona për këtë çelës primar dhe për shërbime shtesë si mbështetja për ID-në e telefonuesit dhe pritja e thirrjeve. Ajo gjithashtu mund të krijojë një tabelë tjetër për të mbajtur gjurmët e faturimit për thirrjet, ku çdo regjistrim përbëhet nga një numër telefoni dhe të dhëna për tarifat e thirrjeve.

Përdoruesit e fundit mund të marrin lehtësisht informacionin që duan dhe formën në të cilën u nevojiten, megjithëse këto të dhëna ruhen në tabela të ndryshme. Prandaj, përfaqësuesi i shërbimit ndaj klientit të kompanisë telefonike mund të shfaqë në të njëjtin ekran informacione për faturat e pajtimtarit, si dhe statusin e shërbimeve speciale, ose kur është marrë pagesa e fundit.

Codd formuloi 12 rregulla për bazat e të dhënave relacionale, shumica e të cilave lidhen me integritetin e të dhënave, përditësimin dhe aksesin në të dhëna. Dy të parat janë mjaft të drejtpërdrejta, madje edhe për përdoruesit jo teknikë.

Rregulli 1, rregulli i informacionit, specifikon që të gjitha informacionet në një bazë të dhënash relacionale përfaqësohen si një grup vlerash të ruajtura në tabela.

Rregulli 2, Rregulli i Garancisë së Aksesit, specifikon se çdo element i të dhënave në një bazë të dhënash relacionale mund të aksesohet duke përdorur emrin e tabelës, çelësin kryesor dhe emrin e kolonës. Me fjalë të tjera, të gjitha të dhënat ruhen në tabela, dhe nëse e dini emrin e tabelës, çelësin primar dhe kolonën ku ndodhet artikulli i kërkuar i të dhënave, gjithmonë mund t'i rikuperoni ato.

Thelbi i punës së Codd ishte se u propozua të përdoreshin gjuhë programimi deklarative dhe jo procedurale me bazat e të dhënave relacionale. Gjuhët deklarative si gjuha e strukturuar e pyetjeve (SQL) u japin përdoruesve mundësinë që në thelb t'i thonë kompjuterit: "Unë dua të marr pjesët e mëposhtme të të dhënave nga të gjitha regjistrimet që plotësojnë një grup të caktuar kriteresh". Kompjuteri do të "kuptojë" vetë se cilat hapa duhet të ndërmerren për të marrë këtë informacion nga baza e të dhënave.

Për të punuar me një numër të madh të bazave të të dhënave të përdorura në mënyrë aktive, përdoren sisteme të menaxhimit të bazës së të dhënave relacionale të softuerit, të krijuar nga prodhues të tillë me reputacion si Oracle, Sybase, IBM, Informix dhe Microsoft.

Ndërsa shumica e implementimeve të SQL mund të quhen të ndërveprueshme vetëm në një farë mase, ky mekanizëm i pranuar ndërkombëtarisht lejon krijimin e sistemeve komplekse të bazuara në bazën e të dhënave. Një ndërfaqe programimi e lehtë për t'u përdorur midis faqeve të internetit dhe bazave të të dhënave relacionale u jep përdoruesve të fundit mundësinë për të shtuar regjistrime të reja dhe përditësuar ato ekzistuese dhe për të gjeneruar raporte për një shumëllojshmëri të gjerë shërbimesh, si tregtia në internet dhe aksesi në katalogët e bibliotekave në internet.

Modeli relacional

Një bazë të dhënash relacionale përdor një grup tabelash që janë të lidhura me njëra-tjetrën përmes një çelësi specifik (në këtë rast, fusha Numri i telefonit)

Baza e të dhënave (DB) -është një grup i emërtuar i të dhënave të strukturuara që lidhen me një fushë specifike lëndore dhe të destinuara për ruajtje, grumbullim dhe përpunim me anë të një kompjuteri.

Baza e të dhënave Relacionale (RDB)është një grup marrëdhëniesh, emrat e të cilave përkojnë me emrat e skemës në skemën e bazës së të dhënave.

Konceptet bazë bazat e të dhënave relacionale:

· Lloji i të dhënave- lloji i vlerave të një kolone të veçantë.

· Domeni(domain) është grupi i të gjitha vlerave të vlefshme të atributeve.

· atribut(atribut) - titulli i kolonës së tabelës që karakterizon pronën e emërtuar të objektit, për shembull, emrin e studentit, datën e porosisë, gjininë e punonjësit, etj.

· Tuple- një rresht tabele, i cili është një koleksion vlerash të atributeve të lidhura logjikisht.

· Qëndrimi(marrëdhënie) - një tabelë që pasqyron informacione rreth objekteve në botën reale, për shembull, për studentët, urdhrat, punonjësit, banorët, etj.

· Çelesi primar(çelësi primar) - një fushë (ose grup fushash) në një tabelë që identifikon në mënyrë unike secilin prej regjistrimeve të saj.

· Çelësi alternativËshtë një fushë (ose grup fushash) që nuk përputhet me çelësin primar dhe që identifikon në mënyrë unike një shembull të një regjistrimi.

· Çelësi i jashtëmËshtë një fushë (ose grup fushash) vlerat e së cilës përputhen me vlerat ekzistuese të çelësit primar të një tabele tjetër. Kur lidhni dy tabela, çelësi i huaj i tabelës së dytë lidhet me çelësin kryesor të tabelës së parë.

· Modeli i të dhënave relacionale (RDM)- organizimi i të dhënave në formën e tabelave dydimensionale.

Çdo tabelë relacionale duhet të ketë vetitë e mëposhtme:

1. Çdo regjistrim i tabelës është unik, d.m.th. grupi i vlerave nëpër fusha nuk përsëritet.

2. Çdo vlerë e shkruar në kryqëzimin e një rreshti dhe një kolone është atomike (e pandashme).

3. Vlerat e secilës fushë duhet të jenë të të njëjtit lloj.

4. Çdo fushë ka një emër unik.

5. Rendi i hyrjeve nuk është thelbësor.

Elementet kryesore të bazës së të dhënave:

Fusha- një njësi elementare e organizimit logjik të të dhënave. Karakteristikat e mëposhtme përdoren për të përshkruar fushën:

· Emri p.sh., mbiemri, emri, patronimi, data e lindjes;

· Lloji, për shembull, varg, karakter, numerikë, datë;

· Gjatësia, për shembull, në bajt;

· Saktësia për të dhënat numerike, për shembull, dy shifra dhjetore për të shfaqur pjesën thyesore të një numri.

Regjistrimi- një grup vlerash të fushave të lidhura logjikisht.

Indeksi- një mjet për të përshpejtuar operacionin e kërkimit të regjistrimeve, i përdorur për të vendosur marrëdhënie midis tabelave. Tabela në të cilën përdoret indeksi quhet e indeksuar. Kur punoni me indekse, duhet t'i kushtoni vëmendje organizimit të indekseve, i cili është baza për klasifikimin. Një indeks i thjeshtë përfaqësohet nga një fushë e vetme ose një shprehje Boolean që përpunon një fushë të vetme. Një indeks i përbërë përfaqësohet nga disa fusha me aftësinë për të përdorur funksione të ndryshme. Indekset e tabelave ruhen në një skedar indeksi.


Integriteti i të dhënaveËshtë një mjet për mbrojtjen e të dhënave me anë të fushave të lidhjes, i cili lejon mbajtjen e tabelave në një gjendje konsistente (konsistente) (d.m.th., parandalimi i ekzistencës së regjistrimeve në tabelën vartëse që nuk kanë rekorde përkatëse në tabelën mëmë).

hetim- një pyetje e formuluar për një ose më shumë tabela të ndërlidhura, që përmban kriteret për kampionimin e të dhënave. Pyetja kryhet duke përdorur gjuhën e pyetjeve të strukturuara (SQL). Si rezultat i marrjes së të dhënave nga një ose më shumë tabela, mund të merren shumë regjistrime, të quajtura pamje.

Prezantimi i të dhënave- një pyetje me emër për përzgjedhjen e të dhënave (nga një ose disa tabela) të ruajtura në bazën e të dhënave.

Një pamje është në thelb një tabelë e përkohshme që rezulton nga një pyetje. Vetë kërkesa mund të dërgohet në një skedar të veçantë, raport, tabelë të përkohshme, tabelë në disk, etj.

Raportoni- një komponent i sistemit, qëllimi kryesor i të cilit është përshkrimi dhe printimi i dokumenteve bazuar në informacionin nga baza e të dhënave.

Karakteristikat e përgjithshme të punës me RDB:

Interpretimi më i zakonshëm i modelit të të dhënave relacionale duket të jetë ai i Date, i cili e riprodhon atë (me përmirësime të ndryshme) në pothuajse të gjithë librat e tij. Sipas Date, modeli relacional përbëhet nga tre pjesë që përshkruajnë aspekte të ndryshme të qasjes relacionale: pjesa strukturore, pjesa e manipulimit dhe pjesa integrale.

Në pjesën strukturore të modelit, fiksohet se e vetmja strukturë e të dhënave e përdorur në bazat e të dhënave relacionale është një relacion n-ar i normalizuar.

Pjesa e manipulimit të modelit pohon dy mekanizma themelorë për manipulimin e bazave të të dhënave relacionale - algjebrën relacionale dhe llogaritjen relacionale. Mekanizmi i parë bazohet kryesisht në teorinë klasike të grupeve (me disa përmirësime), dhe i dyti - në aparatin logjik klasik të llogaritjes së kallëzuesit të rendit të parë. Vini re se funksioni kryesor i pjesës së manipulimit të modelit relacional është të sigurojë një masë të relativitetit të çdo gjuhe të veçantë të bazës së të dhënave relacionale: një gjuhë quhet relacionale nëse nuk ka më pak ekspresivitet dhe fuqi sesa algjebra relacionale ose llogaritja relacionale.


28. GJUHËT ALGORITMIKE. PËRKTHYES (INTERPRETUES DHE PËRMBLEDHËS). GJUHA ALGORITMIKE THEMELORE. STRUKTURA E PROGRAMIT. IDENTIFIKATORËT. NDRYSHORET. OPERATORËT. PËRPUNIMI I RREGULLAVE NJË DHE DYDIMENSIONALE. FUNKSIONET E PËRDORËSVE. NËNPROGRAMET. PUNA ME SKEDALE TË TË DHËNAVE.

Gjuhë e nivelit të lartë- një gjuhë programimi, konceptet dhe struktura e së cilës janë të përshtatshme për perceptimin njerëzor.

Gjuha algoritmike(Gjuhë algoritmike) - gjuhë programimi - gjuhë artificiale (formale) e krijuar për të shkruar algoritme. Një gjuhë programimi përcaktohet nga përshkrimi i saj dhe zbatohet si një program i veçantë: një përpilues ose përkthyes. Shembuj të gjuhëve algoritmike janë Borland Pascal, C ++, Basic, etj.

Konceptet themelore të një gjuhe algoritmike:

Përbërja e gjuhës:

Gjuha e zakonshme e folur përbëhet nga katër elementë bazë: simbole, fjalë, fraza dhe fjali. Gjuha algoritmike përmban elemente të ngjashme, vetëm fjalët quhen ndërtime elementare, frazat - shprehje, fjalitë - operatorë.

Simbolet, ndërtimet elementare, shprehjet dhe operatorët përbëjnë një strukturë hierarkike, pasi ndërtimet elementare formohen nga një sekuencë simbolesh.

Shprehjetështë një sekuencë ndërtimesh dhe simbolesh elementare,

Operatori- një sekuencë shprehjesh, ndërtimesh elementare dhe simbolesh.

Përshkrimi i gjuhës:

Përshkrimi i simboleve konsiston në renditjen e simboleve të lejuara të gjuhës. Përshkrimi i strukturave elementare kuptohet si rregulla për formimin e tyre. Përshkrimi i shprehjeve është rregullat për formimin e çdo shprehjeje që ka kuptim në një gjuhë të caktuar. Përshkrimi i operatorëve konsiston në marrjen në konsideratë të të gjithë llojeve të operatorëve të lejuar në gjuhë. Përshkrimi i çdo elementi të gjuhës jepet nga SINTAKSA dhe SEMANTIKA e saj.

Sintaksore përkufizimet vendosin rregullat për ndërtimin e elementeve gjuhësore.

Semantika përcakton kuptimin dhe rregullat e përdorimit të atyre elementeve të gjuhës për të cilat janë dhënë përkufizime sintaksore.

Simbolet gjuhësore- këto janë shenjat kryesore të pandashme, në kuptimin e të cilave shkruhen të gjitha tekstet në gjuhë.

Ndërtime elementare janë njësitë minimale të një gjuhe që kanë një kuptim të pavarur. Ato formohen nga simbolet bazë të gjuhës.

Shprehje në gjuhën algoritmike përbëhet nga ndërtime dhe simbole elementare, ajo specifikon rregullin për llogaritjen e një vlere të caktuar.

Operatori specifikon një përshkrim të plotë të disa veprimeve që do të kryhen. Një grup operatorësh mund t'i kërkohet të përshkruajë një veprim kompleks.

Në këtë rast, operatorët kombinohen në Operator i përbërë ose Blloko. Veprimet të dhëna nga operatorët kryhen mbi të dhënat. Fjalitë gjuhësore algoritmike që japin informacion rreth llojeve të të dhënave quhen deklarata ose operatorë të paekzekutueshëm. Një grup përshkrimesh dhe operatorësh të kombinuar nga një algoritëm i vetëm formon një program në një gjuhë algoritmike. Në procesin e të mësuarit të një gjuhe algoritmike, është e nevojshme të dallohet gjuha algoritmike nga gjuha me të cilën kryhet përshkrimi i gjuhës algoritmike të studiuar. Zakonisht gjuha e synuar quhet thjesht gjuha, dhe gjuha në kuptimin e së cilës jepet përshkrimi i gjuhës së synuar quhet Metagjuhë.

Përkthyesit - (anglisht translator - translator) është një program përkthyes. Ai konverton një program të shkruar në një nga gjuhët e nivelit të lartë në një program të përbërë nga udhëzime makinerie.

Një program i shkruar në çdo gjuhë algoritmike të nivelit të lartë nuk mund të ekzekutohet drejtpërdrejt në një kompjuter. Kompjuteri kupton vetëm gjuhën e udhëzimeve të makinës. Rrjedhimisht, një program në një gjuhë algoritmike duhet të përkthehet (përkthehet) në gjuhën komanduese të një kompjuteri specifik. Një përkthim i tillë kryhet automatikisht nga programe të veçanta përkthyese të krijuara për secilën gjuhë algoritmike dhe për çdo lloj kompjuteri.

Ka dy mënyra kryesore për të transmetuar - përpilimi dhe interpretimi.

1.Përmbledhje: Përpilues(anglisht përpilues - përpilues, mbledhës) lexon të gjithë programin në tërësi, bën përkthimin e tij dhe krijon një version të plotë të programit në gjuhën e makinës, i cili më pas ekzekutohet.

përpilimi i gjithë programi origjinal shndërrohet menjëherë në një sekuencë udhëzimesh të makinës. Pas kësaj, programi që rezulton ekzekutohet nga kompjuteri me të dhënat fillestare të disponueshme. Avantazhi i kësaj metode është se përkthimi kryhet një herë, dhe ekzekutimi (i shumëfishtë) i programit që rezulton mund të kryhet me shpejtësi të lartë. Në të njëjtën kohë, programi që rezulton mund të zërë shumë hapësirë ​​në kujtesën e kompjuterit, pasi një operator gjuhësor gjatë përkthimit zëvendësohet nga qindra apo edhe mijëra udhëzime. Përveç kësaj, korrigjimi dhe modifikimi i programit të përkthyer është shumë i vështirë.

2. Interpretimi: Interpretues(Përkthyes anglisht - interpretues, interpretues) përkthen dhe ekzekuton programin rresht pas rreshti.

interpretimet programi origjinal ruhet në memorien e kompjuterit pothuajse i pandryshuar. Programi përkthyes deshifron deklaratat e programit burimor një nga një dhe siguron menjëherë ekzekutimin e tyre me të dhënat e disponueshme. Programi i interpretuar zë pak hapësirë ​​në kujtesën e kompjuterit, është e lehtë të korrigjohet dhe modifikohet. Nga ana tjetër, ekzekutimi i programit është mjaft i ngadalshëm, pasi në çdo ekzekutim, të gjithë operatorët interpretohen me radhë.

Programet e përpiluara funksionojnë më shpejt, por programet e interpretuara janë më të lehta për t'u rregulluar dhe ndryshuar

Çdo gjuhë specifike është e orientuar ose drejt përpilimit ose drejt interpretimit, në varësi të qëllimit për të cilin është krijuar. Për shembull, Pascal zakonisht përdoret për të zgjidhur probleme mjaft komplekse në të cilat shpejtësia e programeve është e rëndësishme. Prandaj, kjo gjuhë zakonisht zbatohet duke përdorur një përpilues.

Nga ana tjetër, BASIC u krijua si një gjuhë për programuesit fillestarë, për të cilët ekzekutimi i programit rresht pas rreshti ka avantazhe të pamohueshme.

Ndonjëherë ka edhe një përpilues dhe një përkthyes për të njëjtën gjuhë. Në këtë rast, ju mund të përdorni interpretuesin për të zhvilluar dhe testuar programin, dhe më pas përpiloni programin e korrigjuar për të shpejtuar ekzekutimin e tij.

Artikujt kryesorë të lidhur