Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • televizori (Smart TV)
  • Jesu li relacijske baze podataka osuđene na propast? Baze podataka su relacione. Koncept relacione baze podataka

Jesu li relacijske baze podataka osuđene na propast? Baze podataka su relacione. Koncept relacione baze podataka

Relaciona baza podataka - osnovni pojmovi

Često, kada se govori o bazi podataka, oni jednostavno misle na neku vrstu automatizovanog skladištenja podataka. Ova reprezentacija nije sasvim tačna. Zašto je to tako, pokazaćemo u nastavku.

Zaista, u užem smislu riječi, baza podataka je određeni skup podataka neophodnih za rad (stvarni podaci). Međutim, podaci su apstrakcija; niko nikada nije video "samo podaci"; oni ne nastaju i ne postoje sami po sebi. Podaci su odraz objekata iz stvarnog svijeta. Neka, na primjer, želite pohraniti informacije o dijelovima primljenim u skladište. Kako će predmet iz stvarnog svijeta - detalj - biti prikazan u bazi podataka? Da biste odgovorili na ovo pitanje, morate znati koje će karakteristike ili aspekti dijela biti relevantni, potrebni za rad. Među njima može biti naziv dijela, njegova težina, dimenzije, boja, datum proizvodnje, materijal od kojeg je napravljen itd. U tradicionalnoj terminologiji, objekti iz stvarnog svijeta, informacije o kojima se pohranjuje u bazi podataka, nazivaju se entitetima (neka ova riječ ne uplaši čitaoca - ovo je općeprihvaćen izraz), a njihove stvarne karakteristike nazivaju se atributi.

Svaka karakteristika određenog objekta je vrijednost atributa. Na primjer, dio motora ima vrijednost atributa težine 50, što odražava činjenicu da ovaj motor teži 50 kilograma.

Bilo bi pogrešno pretpostaviti da se u bazi podataka odražavaju samo fizički objekti. U stanju je da apsorbuje informacije o apstrakcijama, procesima, pojavama - odnosno o svemu s čime se osoba susreće u svojoj aktivnosti. Tako, na primjer, baza podataka može pohraniti informacije o narudžbama za isporuku dijelova u skladište (iako to nije fizički objekt, već proces). Atributi entiteta "narudžbe" će biti naziv isporučenog dijela, količina dijelova, naziv dobavljača, vrijeme isporuke itd.

Objekti stvarnog svijeta međusobno su povezani mnogim složenim ovisnostima koje se moraju uzeti u obzir u informacijskim aktivnostima. Na primjer, dijelove u skladište isporučuju njihovi proizvođači. Stoga, atribut "ime proizvođača" mora biti uključen među atribute dijela. Međutim, to nije dovoljno, jer mogu biti potrebne dodatne informacije o proizvođaču određenog dijela - njegova adresa, broj telefona itd. To znači da baza podataka mora sadržavati ne samo podatke o dijelovima i narudžbenicama, već i podatke o njihovim proizvođačima. Štaviše, baza podataka treba da odražava odnose između delova i proizvođača (svaki deo proizvodi određeni proizvođač) i između narudžbi i delova (svaka narudžbina je napravljena za određeni deo). Imajte na umu da samo relevantni, smisleni odnosi trebaju biti pohranjeni u bazi podataka.

Dakle, u najširem smislu riječi, baza podataka je kolekcija opisa objekata iz stvarnog svijeta i odnosa između njih koji su relevantni za određeno područje primjene. U nastavku ćemo poći od ove definicije, rafinirajući je u toku izlaganja.

Relacioni model podataka

Dakle, dobili smo ideju o tome šta je pohranjeno u bazi podataka. Sada moramo razumjeti kako se entiteti, atributi i odnosi mapiraju u strukture podataka. Ovo je određeno modelom podataka.

Tradicionalno, svi DBMS-ovi se klasifikuju prema osnovnom modelu podataka. Uobičajeno je izdvajanje hijerarhijskih, mrežnih i relacionih modela podataka. Ponekad im se dodaje model podataka liste knjiženja. Shodno tome, govore o hijerarhijskom, mrežnom, relacionom DBMS-u ili DBMS-u zasnovanom na listama knjiženja.

U pogledu rasprostranjenosti i popularnosti, relacioni DBMS su danas van konkurencije. Oni su postali de facto industrijski standard, pa će se domaći korisnik u svojoj praksi morati suočiti s relacijskim DBMS-om. Pogledajmo na brzinu relacijski model podataka bez upuštanja u njegove detalje.

Razvio ga je Codd još 1969-70. godine na osnovu matematičke teorije relacija i zasniva se na sistemu koncepata od kojih su najvažniji tabela, relacija, red, kolona, ​​primarni ključ, strani ključ.

Relaciona baza podataka je takva baza podataka u kojoj se svi podaci prikazuju korisniku u obliku pravokutnih tablica vrijednosti podataka, a sve operacije na bazi podataka se svode na manipulacije tablicama. Tabela se sastoji od redova i stupaca i ima jedinstveno ime unutar baze podataka. Tabela odražava tip stvarnog svijeta objekta (entiteta), a svaki red predstavlja određeni objekt. Dakle, tabela dijelova sadrži informacije o svim dijelovima pohranjenim u skladištu, a njeni redovi su skupovi vrijednosti atributa za određene dijelove. Svaka kolona tablice je skup vrijednosti određenog atributa objekta. Dakle, kolona Materijal je skup vrijednosti "Čelik", "Kositar", "Cink", "Nikal" itd. Kolona Količina sadrži nenegativne cijele brojeve. Vrijednosti u koloni Težina su realni brojevi jednaki težini dijela u kilogramima.

Ove vrijednosti se ne pojavljuju iz ničega. Oni se biraju iz skupa svih mogućih vrijednosti za atribut objekta, koji se zove domena. Tako se vrijednosti u stupcu materijala biraju iz skupa naziva svih mogućih materijala - plastike, drveta, metala itd. Stoga je u stupcu Materijal suštinski nemoguće da se pojavi vrijednost koja nije u odgovarajućem domenu, na primjer, "voda" ili "pijesak".

Svaka kolona ima ime koje se obično piše na vrhu tabele ( Rice. jedan). Mora biti jedinstven unutar tabele, ali različite tabele mogu imati kolone sa istim imenom. Svaka tabela mora imati najmanje jednu kolonu; Kolone su raspoređene u tabeli prema redosledu kojim se njihova imena pojavljuju kada se tabela kreira. Za razliku od kolona, ​​redovi nemaju imena; njihov redosled u tabeli nije definisan, a broj nije logički ograničen.

Slika 1. Osnovni koncepti baze podataka.

Pošto redovi u tabeli nisu poređani, nemoguće je odabrati red po njegovoj poziciji - među njima nema "prvog", "drugog", "poslednjeg". Svaka tabela ima jednu ili više kolona, ​​vrednosti u kojima jedinstveno identifikuju svaki njen red. Takav stupac (ili kombinacija kolona) naziva se primarni ključ. U tabeli delova, primarni ključ je kolona Broj dela. U našem primjeru, svaki dio u skladištu ima jedan broj, pomoću kojeg se potrebne informacije preuzimaju iz tabele dijelova. Stoga je u ovoj tabeli primarni ključ kolona Broj dijela. Vrijednosti se ne mogu duplicirati u ovoj koloni - u tablici dijelova ne smije biti redova koji imaju istu vrijednost u koloni Broj dijela. Ako tabela zadovoljava ovaj zahtjev, naziva se relacija.

Odnos tabela je suštinski element relacionog modela podataka. Podržan je stranim ključevima. Razmotrimo primjer u kojem baza podataka pohranjuje informacije o običnim zaposlenicima (tabela Employee) i menadžerima (table Manager) u nekoj organizaciji ( Rice. 2). Primarni ključ tabele menadžera je kolona Broj (na primjer, broj osoblja). Kolona Prezime ne može služiti kao primarni ključ, jer dva menadžera sa istim prezimenom mogu raditi u istoj organizaciji. Svaki zaposlenik je podređen jednom lideru, što bi trebalo da se odrazi u bazi podataka. Tabela Employee sadrži kolonu Broj menadžera, a vrijednosti u ovoj koloni se biraju iz kolone Broj u tabeli Manager (pogledajte sliku 1). Rice. 2). Kolona Broj menadžera je strani ključ u tabeli Employee.

Slika 2. Odnos tabela baze podataka.

Tabele se ne mogu pohraniti i obraditi ako u bazi podataka nema "podataka o podacima", kao što su deskriptori tablica, deskriptori stupaca, itd. Obično se nazivaju metapodacima. Metapodaci su također predstavljeni u obliku tabele i pohranjeni u rječniku podataka.

Osim tabela, u bazi podataka mogu biti pohranjeni i drugi objekti, kao što su ekranski obrasci, izvještaji (izvještaji), pogledi (pregledi), pa čak i aplikacije koje rade sa bazom podataka.

Za korisnike informacionog sistema nije dovoljno da baza podataka jednostavno odražava objekte stvarnog svijeta. Važno je da takva refleksija bude nedvosmislena i dosljedna. U ovom slučaju se kaže da baza podataka zadovoljava uslov integriteta.

Da bi se garantovala ispravnost i međusobna konzistentnost podataka, na bazu podataka se nameću određena ograničenja koja se nazivaju ograničenja integriteta podataka.

Postoji nekoliko vrsta ograničenja integriteta. Potrebno je, na primjer, da se vrijednosti u koloni tabele biraju samo iz odgovarajuće domene. U praksi se uzimaju u obzir složenija ograničenja integriteta, na primjer, referentni integritet. Njegova suština leži u činjenici da strani ključ ne može biti pokazivač na nepostojeći red u tabeli. Ograničenja integriteta se implementiraju pomoću posebnih alata, o kojima će biti riječi u Sec.Server baze podataka .

SQL jezik

Podaci u kompjuterskom obliku sami po sebi nisu od interesa za korisnika ako nema načina da im se pristupi. Pristup podacima se vrši u obliku upita bazi podataka koji su formulisani na standardnom jeziku upita. Danas, za većinu DBMS-a, ovaj jezik je SQL.

Pojava i razvoj ovog jezika kao sredstva za opisivanje pristupa bazi podataka povezan je sa stvaranjem teorije relacionih baza podataka. Prototip SQL jezika nastao je 1970. godine kao dio System/R istraživačkog projekta, na kojem se radilo u IBM-ovoj laboratoriji Santa Teresa. SQL je sada standard za interfejs sa sistemima upravljanja relacionim bazama podataka. Njegova popularnost je toliko velika da programeri nerelacionih DBMS-a (na primer, Adabas) snabdevaju svoje sisteme SQL interfejsom.

SQL jezik ima zvanični standard - ANSI/ISO. Većina programera DBMS-a pridržava se ovog standarda, ali ga često proširuju kako bi implementirali nove mogućnosti obrade podataka. Novi mehanizmi upravljanja podacima, koji će biti opisani u Sec.Server baze podataka , može se koristiti samo kroz posebne SQL izraze koji općenito nisu uključeni u jezični standard.

SQL nije programski jezik u svom tradicionalnom obliku. Na njemu se ne pišu programi, već upiti bazi podataka. Stoga je SQL deklarativni jezik. To znači da se može koristiti za formulisanje onoga što treba dobiti, ali ne može naznačiti kako to treba učiniti. Konkretno, za razliku od proceduralnih programskih jezika (C, Pascal, Ada), SQL ne sadrži izjave kao što su if-then-else, for, while, itd.

Nećemo detaljno razmatrati sintaksu jezika. Dotaknut ćemo ga samo u mjeri potrebnoj za razumijevanje jednostavnih primjera. Uz njihovu pomoć bit će ilustrovani najzanimljiviji mehanizmi obrade podataka.

SQL upit se sastoji od jednog ili više iskaza, jedan za drugim, odvojenih tačkom i zarezom. Tabela 1 ispod navodi najvažnije operatore koji su dio ANSI/ISO SQL standarda.

Tablica 1. Osnovni operatori SQL jezika.

SQL upiti koriste imena koja jedinstveno identificiraju objekte baze podataka. Konkretno, to su naziv tabele (Detail), naziv kolone (Name), kao i imena drugih objekata u bazi podataka koji pripadaju dodatnim tipovima (na primer, nazivi procedura i pravila), koji će biti raspravljalo se u Sec.Server baze podataka . Uz jednostavne, koriste se i složena imena – na primjer, kvalificirano ime kolone definira naziv kolone i naziv tablice kojoj pripada (Detail.Weight). Radi jednostavnosti, u primjerima će imena biti napisana na ruskom, iako se u praksi to ne preporučuje.

Svaka kolona u bilo kojoj tabeli pohranjuje određene vrste podataka. Postoje osnovni tipovi podataka - nizovi znakova fiksne dužine, cijeli brojevi i realni brojevi, te dodatni tipovi podataka - nizovi znakova promjenjive dužine, valutne jedinice, datum i vrijeme, logički podaci (dvije vrijednosti - "TRUE" i "FALSE" ). U SQL-u možete koristiti numeričke, nizove, znakovne, datumske i vremenske konstante.

Pogledajmo nekoliko primjera.

Upit "odredite broj dijelova na lageru za sve vrste dijelova" implementira se na sljedeći način:

SELECT Naziv, količina

FROM Detail;

Rezultat upita će biti tabela sa dve kolone - Ime i Količina, koje su preuzete iz originalne tabele Detalji. U suštini, ovaj upit vam omogućava da dobijete vertikalnu projekciju originalne tabele (strožije rečeno, vertikalni podskup skupa redova tabele). Iz svih redova tabele detalja formiraju se redovi koji uključuju vrijednosti preuzete iz dvije kolone - Naziv i Količina.

Upit "koji dijelovi od čelika se drže na skladištu?", formuliran u SQL-u, izgleda ovako:

FROM Detail

WHERE Materijal = "Čelik";

Rezultat ovog upita će takođe biti tabela koja sadrži samo one redove u izvornoj tabeli koji imaju vrednost "Čelik" u koloni Materijal. Ovaj upit vam omogućava da dobijete horizontalnu projekciju tabele detalja (zvjezdica u naredbi SELECT znači da su svi stupci iz tablice odabrani).

Upit "odredi naziv i broj delova na lageru koji su izrađeni od plastike i teže manje od pet kilograma" bi se pisao ovako:

SELECT Naziv, količina

FROM Detail

GDJE Materijal = "Plastika"

I Težina< 5;

Rezultat upita je tabela sa dvije kolone - Naziv, Količina, koja sadrži naziv i broj dijelova izrađenih od plastike i težine manje od 5 kg. U stvari, operacija odabira je operacija prvo kreiranja horizontalne projekcije (pronađite sve redove tablice dijelova za koje je materijal = "plastika" i težina< 5), а затем вертикальной проекции (извлечь Название и Количество из выбранных ранее строк).

Indeksi su jedan od alata koji omogućavaju brz pristup tabelama. Indeks je struktura baze podataka koja je pokazivač na određeni red tabele. Indeks baze podataka se koristi na isti način kao indeks indeksa u knjizi. Sadrži vrijednosti preuzete iz jedne ili više kolona određenog reda tabele i referencu na taj red. Vrijednosti u indeksu su poređane, što omogućava DBMS-u da brzo potraži tabelu.

Pretpostavimo da je upit formuliran u bazu podataka skladišta:

SELECT Naziv Količina, materijal

FROM Detail

WHERE Broj = "T145-A8";

Ako nema indeksa za ovu tabelu, onda da bi izvršio ovaj upit, DBMS mora skenirati celu tabelu detalja, uzastopno birajući redove iz nje i proveravajući uslov izbora za svaki od njih. Za velike tabele, takav upit će trajati jako dugo da se završi.

Ako je indeks prethodno kreiran u koloni Broj detalja tabele, tada će se vrijeme pretraživanja u tabeli smanjiti na minimum. Indeks će sadržavati vrijednosti iz stupca Broj i vezu do reda s tom vrijednošću u tablici dijelova. Prilikom izvršavanja upita, DBMS će prvo pronaći vrijednost "T145-A8" u indeksu (i to će učiniti brzo, pošto je indeks poređan i njegovi redovi su mali), a zatim određuje fizičku lokaciju traženog reda. referencom u indeksu.

Indeks se kreira sa CREATE INDEX SQL izrazom. U ovom primjeru, operator

CREATE UNIQUE INDEX Indeks dijela

ON Detalji (broj);

će kreirati indeks pod nazivom "Indeks dijela" u koloni Broj tablice dijelova.

Za korisnika DBMS-a nisu interesantni pojedinačni iskazi SQL jezika, već neki njihov niz, osmišljen kao jedinstvena cjelina i smislen iz njegovog ugla. Svaki takav niz SQL naredbi implementira određenu akciju na bazu podataka. Izvodi se u nekoliko koraka, od kojih svaki izvodi neke operacije nad tabelama baze podataka. Dakle, u bankarskom sistemu se prenos određenog iznosa sa kratkoročnog računa na dugoročni vrši u više operacija. Među njima - povlačenje iznosa sa kratkoročnog računa, kreditiranje na dugoročni račun.

Ako dođe do kvara u procesu izvođenja ove radnje, na primjer, kada je prva operacija završena, a druga nije, tada će novac biti izgubljen. Stoga, bilo koja radnja na bazi podataka mora biti izvedena u potpunosti ili se uopće ne mora izvesti. Ova akcija se zove transakcija.

Obrada transakcija se oslanja na dnevnik, koji se koristi za vraćanje transakcija i vraćanje stanja baze podataka. Više detalja o transakcijama bit će razmotreno u Sec.Obrada transakcija .

Završavajući raspravu o SQL jeziku, još jednom naglašavamo da je to jezik upita. Ne možete napisati nikakav složeni aplikativni program koji radi sa bazom podataka na njemu. U tu svrhu moderni DBMS koriste jezik četvrte generacije (Forth Generation Language - 4GL), koji ima i glavne karakteristike proceduralnih jezika treće generacije (3GL), kao što su C, Pascal, Ada, i mogućnost ugrađivanja SQL-a. izjave u tekstu programa, kao i kontrole korisničkog interfejsa (meniji, obrasci, korisnički unos, itd.). Danas je 4GL jedan od de facto standarda za alate za razvoj aplikacija baze podataka.

Svojstva relacijske tablice

OSNOVNI KONCEPTI BAZE PODATAKA

Baza podataka (DB)– imenovani skup podataka koji odražava stanje objekata i njihovih odnosa u oblasti podataka koja se razmatra.

Primeri oblasti podataka: skladište, prodavnica, univerzitet, bolnica, obrazovni proces, itd. Predmetna oblast je ta koja određuje skup podataka koji treba da se čuvaju u bazi podataka.

Sistem za upravljanje bazom podataka (DBMS)- skup jezičkih i softverskih alata dizajniranih za kreiranje, održavanje i dijeljenje baze podataka sa mnogim korisnicima.

Ostale definicije koje se odnose na bazu podataka i DBMS.

Banka podataka (BnD)- ovo je sistem posebno organizovanih podataka - baza podataka, softvera, tehničkih, jezičkih, organizacionih i metodoloških alata dizajniranih da obezbede centralizovano akumuliranje i višenamensko korišćenje podataka.

Informacioni sistem (IS)- međusobno povezan skup sredstava, metoda i osoblja koji se koriste za čuvanje, obradu i izdavanje informacija u interesu ostvarivanja zadatka.

Osnova gotovo svakog informacionog sistema je baza podataka.

Server- kompjuter ili program koji posjeduje određeni informacioni resurs i dizajniran je za obradu zahtjeva klijentskih programa.

Glavni modeli podataka koji definiraju strukturu baze podataka su:

hijerarhijski model;

mrežni model;

relacioni model.

MODEL RELACIJSKIH PODATAKA

Teorijska osnova ovog modela je teorija odnosa, a glavna struktura podataka je relacija. Zbog toga je model dobio ime relacijski ( od engleske riječi odnos- odnos) .

Stav je skup elemenata tzv tuples. Vizuelni prikaz odnosa je dvodimenzionalni sto . Semantička značenja nekih elemenata relacionog modela data su u sljedećoj tabeli.

Ogroman broj kreiranih i korištenih baza podataka je relacijski. Njihovo stvaranje i razvoj povezan je sa naučnim radom poznatog američkog matematičara, specijaliste u oblasti sistema baza podataka E. Codd.

Svojstva relacijske tablice

Relacioni model je fokusiran na organizovanje podataka u obliku dvodimenzionalnih tabela. Svaki relacione tabele je dvodimenzionalni niz i ima sljedeća svojstva:

Svaki element tabele je jedan element podataka;

· sve kolone (polja, atributi) u tabeli su homogene, tj. svi elementi u jednoj koloni imaju isti tip (numerički, karakterni, itd.) i dužinu;

· svaka kolona ima jedinstveno ime;

· u tabeli nema identičnih redova (zapisa, torki);

Redoslijed redova i kolona može biti proizvoljan.

Svako polje sadrži jednu karakteristiku objekta predmetne oblasti. Zapis prikuplja informacije o jednoj instanci ovog objekta.

Ključevi

Poziva se polje čija svaka vrijednost jedinstveno identificira odgovarajući zapis jednostavan ključ (ključno polje). Poziva se ključ koji se sastoji od nekoliko polja kompozitni ključ . U DBMS-u se kao ključ može koristiti Access brojač, koji se automatski povećava za jedan kada se u tabelu unese novi zapis. Takav ključ se naziva umjetnim. Nije semantički povezan ni sa jednim poljem tabele. Zbog toga dozvoljava ponovni unos istih zapisa. Ali s njim je lako uspostaviti odnos između tabela. Glavno svojstvo ključa je jedinstvenost, originalnost.

Tipovi relacija između tabela

Struktura baze podataka određena je strukturom tabela i odnosima između njih.

Postoje tri tipa relacija između tabela:

jedan na jedan (1:1)– jedan zapis u glavnoj tabeli odgovara jednom zapisu u podređenoj tabeli,

jedan prema više (1:M)– jedan zapis u glavnoj tabeli odgovara nekoliko zapisa u podređenoj tabeli,

mnogo-prema-više (M:M)– Višestruki zapisi u glavnoj tabeli odgovaraju višestrukim zapisima u podređenoj tabeli. Ili jedan zapis u prvoj tabeli može odgovarati nekoliko zapisa u drugoj tabeli. I jedan zapis u drugoj tabeli može odgovarati nekoliko zapisa u prvoj tabeli.

Kreiranje odnosa između tabela

Odnosi između tabela se uspostavljaju pomoću ključeva. Glavna tabela je tabela čiji se primarni ključ koristi za uspostavljanje veze sa drugom tabelom, koja se u ovom slučaju naziva podređena.

Da biste povezali dvije relacijske tablice, morate unijeti ključ glavne tablice u podređenu tablicu. Naziv ključa može biti drugačiji, ali je obavezan tip i veličina sekundarnog ključa moraju biti isti kao i primarni ključ u podtabelu. Radi praktičnosti, bolje je ostaviti oznaku sekundarnog ključa isto kao i primarni. Međutim, ako je ključ odabran Counter, tada sekundarni ključ mora biti tipa Numerički - dugi cijeli broj(ali ne Counter!). Sekundarni ključ je ili obično polje ili dio primarnog ključa u podtablici.

Za implementaciju odnosa više-prema-više, Access DBMS zahtijeva od vas da kreirate tabelu odnosa i unesete u nju kao sekundarne ključeve primarne ključeve dvije tabele koje bi trebale imati takav odnos (M:M). Nakon toga, uspostavlja se odnos 1:M između svake od dvije tabele sa tabelom veze. M:M odnos je stoga implementiran između dvije tabele. Ako kreirate tabele Knjige i Autori u bazi podataka "Moja biblioteka", tada će odnos između njih biti oblika M:M, pošto jedan zapis u tabeli Knjige (detalji jedne knjige) može odgovarati više zapisa u Autorima sto. Jer jedna knjiga može imati više autora. Zauzvrat, jedan unos u tabeli Autori može odgovarati nekoliko unosa u tabeli Knjige, pošto jedan autor može napisati nekoliko knjiga. Tabela veza može se nazvati BooksAuthors, što će uključivati ​​ključeve obje tabele - Books i Authors. Ostala polja mogu biti uključena u tabelu veza ako je potrebno.

Među relacionim bazama podataka, treba napraviti razliku između poslovnih i desktop baza podataka.

Od korporativnih relacionih DBMS-a najčešći su: Oracle, IBM DB2, Sybase, Microsoft SQL Server, Informix. Od postrelacijskih DBMS-a poznat je InterSystems Cache DBMS.

Trenutno su najpoznatije sljedeće desktop baze podataka: Microsoft Access, Paradox (Borland), FoxPro (Microsoft), dBase IV (IBM), Clarion.

Ovi DBMS zauzimaju više od 90% cjelokupnog tržišta DBMS-a.

Sljedeći odjeljak pruža kratak opis Microsoft Access DBMS-a.

Model podataka - skup struktura podataka i operacija za njihovu obradu. Koristeći model podataka, možete vizualizirati strukturu objekata i odnose uspostavljene između njih. Terminologiju modela podataka karakteriziraju koncepti "elementa podataka" i "obvezujućih pravila". Element podataka opisuje bilo koji skup podataka, a pravila vezanja definiraju algoritme za odnos elemenata podataka. Do danas je razvijeno mnogo različitih modela podataka, ali se u praksi koriste tri glavna. Dodijelite hijerarhijske, mrežne i relacijske modele podataka. Shodno tome, govore o hijerarhijskom, mrežnom i relacionom DBMS-u.

O Hijerarhijski model podataka. Hijerarhijski organizirani podaci vrlo su česti u svakodnevnom životu. Na primjer, struktura visokoškolske ustanove je hijerarhijska struktura na više nivoa. Hijerarhijska (stablo) baza podataka sastoji se od uređenog skupa elemenata. U ovom modelu, početni elementi rađaju druge elemente, a ti elementi zauzvrat dovode do sljedećih elemenata. Svaki podređeni element ima samo jedan podređeni element.

Organizacione strukture, spiskovi materijala, sadržaj u knjigama, planovi projekta i mnogi drugi skupovi podataka mogu biti predstavljeni na hijerarhijski način. Referentni integritet između predaka i potomaka se automatski održava. Osnovno pravilo: nijedno dijete ne može postojati bez svog roditelja.

Glavni nedostatak ovog modela je potreba da se prilikom projektovanja koristi hijerarhija koja je bila osnova baze podataka. Potreba za stalnom reorganizacijom podataka (a često i nemogućnost te reorganizacije) dovela je do stvaranja općenitijeg modela – mrežnog.

O modelu mrežnih podataka. Mrežni pristup organizaciji podataka je proširenje hijerarhijskog pristupa. Ovaj model se razlikuje od hijerarhijskog po tome što svaki podređeni element može imati više od jednog nadređenog elementa. ■

Budući da mrežna baza podataka može direktno predstavljati sve vrste odnosa svojstvenih podacima odgovarajuće organizacije, ovim podacima se može kretati, istraživati ​​i ispitivati ​​na razne načine, odnosno mrežni model nije povezan samo jednom hijerarhijom. Međutim, da bi se izvršio upit do mrežne baze podataka, potrebno je duboko ući u njenu strukturu (da bi šema ove baze bila pri ruci) i razvili mehanizam za navigaciju kroz bazu podataka, što je značajan nedostatak ove baze podataka. model baze podataka.

O relacijskom modelu podataka. Osnovna ideja iza relacionog modela podataka je da se bilo koji skup podataka predstavi kao dvodimenzionalna tabela. Najjednostavnije rečeno, relacijski model opisuje jednu dvodimenzionalnu tablicu, ali češće nego ne, relacijski model opisuje strukturu i odnose između nekoliko različitih tablica.

Relacioni model podataka

Dakle, svrha informacionog sistema je obrada podaci o objekata stvarnom svijetu, uzimajući u obzir veze između objekata. U teoriji baze podataka, podaci se često nazivaju atributi, i objekti - entiteta. Objekt, atribut i veza su temeljni koncepti I.S.

Objekt(ili suština) je nešto što postoji i prepoznatljiv, odnosno objektom se može nazvati ono "nešto" za što postoji ime i način da se jedan sličan objekt razlikuje od drugog. Na primjer, svaka škola je objekt. Predmeti su i osoba, razred u školi, firma, legura, hemijsko jedinjenje, itd. Objekti mogu biti ne samo materijalni objekti, već i apstraktniji pojmovi koji odražavaju stvarni svijet. Na primjer, događaji, regije, umjetnička djela; knjige (ne kao štampani proizvodi, već kao djela), pozorišne predstave, filmovi; pravne norme, filozofske teorije itd.

Atribut(ili dato)- to je neki indikator koji karakterizira određeni objekt i uzima neku numeričku, tekstualnu ili drugu vrijednost za određenu instancu objekta. Informacioni sistem funkcioniše sa skupovima objekata dizajniranih u odnosu na datu predmetnu oblast, koristeći specifične vrijednosti atributa(podaci) određenih objekata. Na primjer, uzmimo nastavu u školi kao skup objekata. Broj učenika u odeljenju je dat koji ima numeričku vrednost (jedan razred ima 28, drugi 32). Ime klase je datum koji uzima tekstualnu vrijednost (jedan ima 10A, drugi ima 9B, i tako dalje).

Razvoj relacionih baza podataka započeo je kasnih 60-ih, kada su se pojavili prvi radovi koji su razmatrali; mogućnost korišćenja u dizajnu baza podataka uobičajenih i prirodnih načina predstavljanja podataka - tzv. tabelarnih datalogičkih modela.

Osnivač teorije relacionih baza podataka je zaposlenik IBM-a, dr. E. Codd, koji je objavio članak 6. juna 1970. Relacioni model podataka za velike dijeljene banke podataka(Relacioni model podataka za velike kolektivne banke podataka). U ovom članku prvi put je upotrijebljen termin "relacijski model podataka". Teorija relacionih baza podataka, koju je 70-ih godina u SAD razvio dr E. Codd, ima moćnu matematičku osnovu koja opisuje pravila za efikasnu organizaciju podataka. Teorijska osnova koju je razvio E. Codd postala je osnova za razvoj teorije dizajna baze podataka.

E. Codd, kao matematičar po obrazovanju, predložio je korištenje aparata teorije skupova (unija, presjek, razlika, kartezijanski proizvod) za obradu podataka. On je dokazao da se svaki skup podataka može predstaviti kao posebna vrsta dvodimenzionalnih tabela, poznatih u matematici kao "relacije".

relacijski smatra se baza podataka u kojoj se svi podaci prikazuju korisniku u obliku pravokutnih tablica vrijednosti podataka, a sve operacije na bazi podataka se svode na manipulacije tabelama.

Tabela se sastoji od kolone (polja) I linije (zapisi); ima ime koje je jedinstveno unutar baze podataka. sto odražava Vrsta objekta stvarnom svijetu (entitet), i svaki od nje string je specifičan objekat. Svaka kolona tablice je skup vrijednosti određenog atributa objekta. Vrijednosti se biraju iz skupa svih mogućih vrijednosti za atribut objekta koji se zove domena.

U svom najopćenitijem obliku, domen se definira specificiranjem nekog osnovnog tipa podataka kojem pripadaju elementi domene i proizvoljnim logičkim izrazom koji se primjenjuje na elemente podataka. Ako je Boolean uslov na elementu podataka istinit, tada taj element pripada domeni. U najjednostavnijem slučaju, domen se definira kao valjani potencijalni skup vrijednosti istog tipa. Na primjer, zbirka datuma rođenja svih zaposlenih čini "domen datuma rođenja", a imena svih zaposlenih čine "domen imena zaposlenika". Domena datuma rođenja ima tip podataka koji vam omogućava pohranjivanje informacija o vremenskim točkama, a domena imena zaposlenika mora imati karakterni tip podataka.

Ako dvije vrijednosti dolaze iz iste domene, tada možete uporediti te dvije vrijednosti. Na primjer, ako dvije vrijednosti potiču iz domene datuma rođenja, možete ih usporediti da biste utvrdili koji je zaposlenik stariji. Ako su vrijednosti preuzete iz različitih domena, onda njihovo poređenje nije dozvoljeno, jer, po svoj prilici, nema smisla. Na primjer, upoređivanjem imena i datuma rođenja zaposlenog, od toga neće proizaći ništa određeno.

Svaka kolona (polje) ima ime, koje se obično piše na vrhu tabele. Prilikom dizajniranja tabela unutar određenog DBMS-a, moguće je za svako polje odabrati svoje tip, odnosno definirati skup pravila za njegov prikaz, kao i odrediti operacije koje se mogu izvršiti nad podacima pohranjenim u ovom polju. Skupovi tipova mogu se razlikovati za različite DBMS.

Ime polja mora biti jedinstveno unutar tabele, ali različite tabele mogu imati polja sa istim imenom. Svaka tabela mora imati najmanje jedno polje; Polja se nalaze u tabeli prema redosledu kojim se njihova imena pojavljuju kada se tabela kreira. Za razliku od polja, stringovi nemaju imena; njihov redosled u tabeli nije definisan, a broj nije logički ograničen.

Pošto redovi u tabeli nisu poređani, nemoguće je odabrati red po njegovoj poziciji - među njima nema "prvog", "drugog", "poslednjeg". Svaka tabela ima jednu ili više kolona, ​​vrednosti u kojima jedinstveno identifikuju svaki njen red. Takav stupac (ili kombinacija kolona) se zove primarni ključ. Često se uvodi veštačko polje za numerisanje zapisa u tabeli. Takvo polje, na primjer, može biti njegov ordinal, što može osigurati jedinstvenost svakog zapisa u tabeli. Ključ mora imati sljedeća svojstva.

Jedinstvenost. U bilo kojem trenutku, nijedna dva različita tuple relacije nemaju istu vrijednost za kombinaciju atributa uključenih u ključ. Odnosno, ne mogu postojati dva reda u tabeli koja imaju isti identifikacioni broj ili broj pasoša.

Minimalnost. Nijedan od atributa uključenih u ključ ne može se isključiti iz ključa bez narušavanja jedinstvenosti. To znači da ne biste trebali kreirati ključ koji uključuje i broj pasoša i identifikacijski broj. Dovoljno je koristiti bilo koji od ovih atributa za jedinstvenu identifikaciju tuple. Takođe, u ključ ne treba uključivati ​​nejedinstveni atribut, odnosno zabranjeno je koristiti kombinaciju identifikacionog broja i imena zaposlenog kao ključa. Ako iz ključa izuzmete ime zaposlenika, i dalje možete jedinstveno identificirati svaki red.

Svaka relacija ima barem jedan mogući ključ, budući da ukupnost svih njegovih atributa zadovoljava uslov jedinstvenosti - to proizilazi iz same definicije relacije.

Jedan od mogućih ključeva se nasumično bira kao primarni ključ. Preostali mogući ključevi, ako ih ima, uzimaju se kao alternativni tasteri. Na primjer, ako odaberete identifikacijski broj kao primarni ključ, tada će broj pasoša biti alternativni ključ.

Odnos tabela je suštinski element relacionog modela podataka. Podržano je strani ključevi.

Kada se opisuje model relacione baze podataka za isti koncept, često se koriste različiti termini, u zavisnosti od nivoa opisa (teorija ili praksa) i sistema (Access, SQL Server, dBase). U tabeli. 2.3 daje sažetak korištenih termina.

Tabela 2.3. Terminologija baze podataka

Teorija baze podataka____________ Relacijske baze podataka_________ SQL Server __________

Tabela odnosa Tabela

Tuple Record Red

Atribut (Atribut) Polje (Polje) _______________ Kolona ili kolona (Kolona)

Relacijske baze podataka

Relaciona baza podataka je zbirka relacija koja sadrži sve informacije koje bi trebale biti pohranjene u bazi podataka. To jest, baza podataka predstavlja skup tabela potrebnih za pohranjivanje svih podataka. Tabele u relacijskoj bazi podataka su logički povezane.Zahtjevi dizajna za relacijske baze podataka mogu se sažeti u nekoliko pravila.

A Svaka tabela ima jedinstveno ime u bazi podataka i sastoji se od redova istog tipa.

A Svaka tabela se sastoji od fiksnog broja kolona i vrijednosti. Više od jedne vrijednosti ne može se pohraniti u jednu kolonu reda. Na primjer, ako postoji tabela s podacima o autoru, datumu izdanja, tiražu itd., onda kolona s imenom autora ne može pohraniti više od jednog prezimena. Ako knjigu pišu dva ili više autora, morat će se koristiti dodatne tabele.

O Ni u jednom trenutku neće postojati dva reda u tabeli koja se međusobno dupliraju. Redovi se moraju razlikovati za najmanje jednu vrijednost da bi mogli jedinstveno identificirati bilo koji red u tabeli.

A Svakoj koloni je dato jedinstveno ime unutar tabele; za njega je postavljen određeni tip podataka tako da se u ovu kolonu postavljaju homogene vrijednosti (datumi, prezimena, brojevi telefona, iznosi novca, itd.).

A Kompletan informacijski sadržaj baze podataka predstavljen je kao eksplicitne vrijednosti samih podataka, a ovo je jedini način predstavljanja. Na primjer, odnos između tabela temelji se na podacima pohranjenim u odgovarajućim stupcima, a ne na osnovu pokazivača koji umjetno definiraju odnose.

O Kada obrađujete podatke, možete slobodno pristupiti bilo kojem redu ili koloni tabele. Vrijednosti pohranjene u tabeli ne nameću nikakva ograničenja u pogledu redoslijeda pristupa podacima. Opis kolona

Relacijske baze podataka omogućavaju pohranjivanje informacija u nekoliko "ravnih" (dvodimenzionalnih) tabela, povezanih zajedno preko zajedničkih polja podataka zvanih ključevi. Relacijske baze podataka pružaju lakši pristup online izvještajima (obično putem SQL-a) i pružaju povećanu pouzdanost i integritet podataka eliminacijom suvišnih informacija.

Svi znaju šta je jednostavna baza podataka: telefonski imenici, katalozi proizvoda i rječnici su baze podataka. Mogu biti strukturirane ili drugačije organizirane: kao ravne datoteke, kao hijerarhijske ili mrežne strukture ili kao relacijske tablice. Većina organizacija koristi relacijske baze podataka za pohranjivanje informacija.

Baza podataka je skup tabela sastavljen od kolona i redova, slično proračunskoj tabeli. Svaki red sadrži jedan unos; svaka kolona sadrži sve instance određenog podatka u svim redovima. Na primjer, običan telefonski imenik se sastoji od kolona koje sadrže telefonske brojeve, imena pretplatnika i adrese pretplatnika. Svaki red sadrži broj, ime i adresu. Ova jednostavna forma se naziva ravna datoteka zbog svoje dvodimenzionalne prirode i zato što su svi podaci pohranjeni u jednoj datoteci.

U idealnom slučaju, svaka baza podataka ima barem jednu kolonu s jedinstvenim identifikatorom ili ključem. Razmotrite telefonski imenik. Može imati nekoliko unosa sa pozivaocem Johnom Smithom, ali nijedan od telefonskih brojeva se ne ponavlja. Broj telefona služi kao ključ.

U stvari, nije sve tako jednostavno. Dvije ili više osoba koje koriste isti telefonski broj mogu se posebno navesti u telefonskom imeniku, pri čemu se broj telefona pojavljuje na dva ili više mjesta, tako da postoji više nizova sa ključevima koji nisu jedinstveni.

Podaci stvaraju probleme

U najjednostavnijim bazama podataka, svaki zapis zauzima jedan red, drugim riječima, telefonska kompanija mora imati zasebnu kolonu za svaku računovodstvenu informaciju. Odnosno, jedan - za drugog pretplatnika "uparenog" telefona, još jedan - za treći, itd., U zavisnosti od toga koliko je dodatnih pretplatnika potrebno.

To znači da svaki zapis u bazi podataka mora imati sve ove dodatne kolone, čak i ako se ne koriste nigdje drugdje. To također znači da se baza podataka mora reorganizirati kad god kompanija ponudi novu uslugu. Uvedena je usluga Touch Tone - a osnovna struktura se mijenja kako se dodaje nova kolona. Uvedena je podrška za identifikaciju pozivaoca, poziv na čekanju, itd. - i baza podataka se iznova obnavlja.

Šezdesetih godina prošlog vijeka samo su najveće kompanije mogle priuštiti kupovinu kompjutera za upravljanje svojim podacima. Štaviše, baze podataka izgrađene sa statičkim modelima podataka i proceduralnim programskim jezicima kao što je Cobol mogu biti preskupe za održavanje i nisu uvijek pouzdane. Proceduralni jezici definiraju slijed događaja kroz koje računar mora proći da bi izvršio zadatak. Programiranje takvih sekvenci je bilo teško, posebno ako je bilo potrebno promijeniti strukturu baze podataka ili napraviti novi tip izvještaja.

Moćne veze

Edgar Codd, iz IBM-ove istraživačke laboratorije u San Joseu, u suštini je stvorio i opisao koncept relacijskih baza podataka u svom temeljnom radu Relacijski model podataka za velike dijeljene banke podataka. Komunikacije ACM-a, jun 1970.).

Codd je predložio model koji omogućava programerima da podijele svoje baze podataka u odvojene, ali povezane tabele, što poboljšava performanse dok vanjski pogled ostaje isti kao originalna baza podataka. Od tada, Codd se smatra osnivačem industrije relacijskih baza podataka.

Ovaj model radi na sljedeći način. Telefonska kompanija može kreirati glavnu tabelu koristeći telefonski broj kao primarni ključ i pohraniti ga s drugim osnovnim informacijama o klijentima. Kompanija može definisati zasebnu tabelu sa kolonama za ovaj primarni ključ i za dodatne usluge kao što su podrška za ID pozivaoca i poziv na čekanju. Ona također može kreirati drugu tabelu za kontrolu računa za pozive, gdje se svaki unos sastoji od telefonskog broja i podataka o naplati poziva.

Krajnji korisnici mogu lako doći do informacija koje žele, na način na koji su im potrebni, iako su podaci pohranjeni u različitim tabelama. Stoga, predstavnik službe za korisnike telefonske kompanije na istom ekranu može prikazati informacije o računima pretplatnika, kao i status posebnih usluga, odnosno kada je zadnja uplata primljena.

Codd je formulirao 12 pravila za relacijske baze podataka, od kojih se većina odnosi na integritet i ažuriranje podataka, kao i pristup njima. Prva dva su dovoljno jasna čak i za netehničke korisnike.

Pravilo 1, pravilo informacija, specificira da su sve informacije u relacijskoj bazi podataka predstavljene kao skup vrijednosti pohranjenih u tabelama.

Pravilo 2, Pravilo garancije pristupa, specificira da se svakom elementu podataka u relacijskoj bazi podataka može pristupiti korištenjem imena tablice, primarnog ključa i naziva stupca. Drugim riječima, svi podaci se pohranjuju u tabelama, a ako znate naziv tabele, primarni ključ i kolonu u kojoj se nalazi traženi element podataka, uvijek se može dohvatiti.

Suština Coddovog rada bila je u tome da je predloženo korištenje deklarativnih, a ne proceduralnih programskih jezika s relacijskim bazama podataka. Deklarativni jezici, kao što je jezik strukturiranih upita (SQL), omogućavaju korisnicima da u suštini kažu računaru: "Želim sljedeće bitove podataka iz svih zapisa koji ispunjavaju određeni skup kriterija." Kompjuter će sam „razumjeti“ koje korake treba preduzeti da se te informacije izvuku iz baze podataka.

Za rad sa velikim brojem aktivno korišćenih baza podataka koriste se softverski sistemi za upravljanje relacionim bazama podataka koje su kreirali renomirani proizvođači kao što su Oracle, Sybase, IBM, Informix i Microsoft.

Iako se većina implementacija SQL-a može nazvati interoperabilnom samo u određenoj mjeri, ovaj mehanizam, odobren kao međunarodni standard, omogućava kreiranje složenih sistema, koji se zasnivaju na bazama podataka. Programabilno sučelje između web stranica i relacijskih baza podataka omogućava krajnjim korisnicima da dodaju nove zapise i ažuriraju postojeće, kao i da kreiraju izvještaje za razne usluge kao što su online trgovina i pristup online bibliotečkim katalozima.

relacioni model

Relaciona baza podataka koristi skup tabela koje su međusobno povezane putem određenog ključa (u ovom slučaju, polje PhoneNumber)

Baza podataka (DB) - ovo je imenovani skup strukturiranih podataka koji se odnose na određenu predmetnu oblast i namijenjen je za skladištenje, akumulaciju i obradu pomoću računara.

Relaciona baza podataka (RDB) je skup relacija čija se imena podudaraju s imenima sheme odnosa u shemi baze podataka.

Osnovni koncepti relacijske baze podataka:

· Tip podataka– tip vrijednosti određene kolone.

· Domain(domena) je skup svih važećih vrijednosti atributa.

· Atribut(atribut) – naslov kolone tabele koji karakteriše imenovano svojstvo objekta, na primer, prezime učenika, datum naloga, pol zaposlenog itd.

· Tuple– red tabele, koji je skup vrednosti logički povezanih atributa.

· Stav(relacija) - tabela koja odražava informacije o objektima iz stvarnog svijeta, kao što su studenti, narudžbe, zaposleni, stanovnici itd.

· primarni ključ(primarni ključ) – polje (ili skup polja) tabele koje jedinstveno identifikuje svaki svoj zapis.

· Alternativni ključ je polje (ili skup polja) koje se ne podudara s primarnim ključem i jedinstveno identificira instancu zapisa.

· Eksterni ključ je polje (ili skup polja) čije vrijednosti odgovaraju postojećim vrijednostima primarnog ključa druge tablice. Kada su dve tabele povezane, primarni ključ prve tabele je povezan sa stranim ključem druge tabele.

· Relacioni model podataka (RMD)- organizacija podataka u obliku dvodimenzionalnih tabela.

Svaka relacija mora imati sljedeća svojstva:

1. Svaki unos tabele je jedinstven, tj. skup vrijednosti u poljima se ne ponavlja.

2. Svaka vrijednost, napisana na presjeku reda i kolone, je atomska (nerazdvojna).

3. Vrijednosti svakog polja moraju biti istog tipa.

4. Svako polje ima jedinstveno ime.

5. Redoslijed zapisa nije značajan.

Glavni elementi baze podataka:

Polje- elementarna jedinica logičke organizacije podataka. Za opisivanje polja koriste se sljedeće karakteristike:

ime, na primjer, Prezime, Ime, Patronim, Datum rođenja;

tip, na primjer, string, znak, broj, datum;

dužina, na primjer, u bajtovima;

· Preciznost za numeričke podatke, kao što su dvije decimale za prikaz razlomka broja.

Snimanje- skup vrijednosti logički povezanih polja.

Indeks- sredstvo za ubrzavanje operacije traženja zapisa, koje se koristi za uspostavljanje odnosa između tabela. Tabela za koju se koristi indeks naziva se indeksirana tabela. Prilikom rada sa indeksima potrebno je obratiti pažnju na organizaciju indeksa, koja je osnova za klasifikaciju. Jednostavan indeks je predstavljen jednim poljem ili booleovim izrazom koji se procjenjuje na jedno polje. Kompozitni indeks je predstavljen sa nekoliko polja s mogućnošću korištenja različitih funkcija. Indeksi tablice se pohranjuju u indeksnu datoteku.


Integritet podataka- ovo je sredstvo zaštite podataka na poljima veze koje vam omogućava da održavate tabele u konzistentnom (konzistentnom) stanju (to jest, ne dozvoljava postojanje zapisa u podređenoj tabeli koji nemaju odgovarajuće zapise u nadređenoj tabeli ).

Upit- formulirano pitanje jednoj ili više međusobno povezanih tabela koje sadrže kriterije uzorkovanja podataka. Zahtjev je napravljen korištenjem strukturiranog jezika upita SQL (Structured Query Language). Kao rezultat odabira podataka iz jedne ili više tabela, može se dobiti skup zapisa koji se naziva prikaz.

Reprezentacija podataka– imenovani upit pohranjen u bazi podataka za dohvaćanje podataka (iz jedne ili više tablica).

Pogled je u suštini privremena tabela koja se generiše kao rezultat upita. Sam upit se može poslati u zasebnu datoteku, izvještaj, privremenu tabelu, tabelu na disku itd.

Izvještaj- komponenta sistema čija je osnovna namjena opis i štampanje dokumenata na osnovu informacija iz baze podataka.

Opšte karakteristike rada sa RDB:

Čini se da je najčešća interpretacija relacionog modela podataka ona Datea, koji ga reproducira (sa raznim preciziranjem) u gotovo svim svojim knjigama. Prema Data, relacioni model se sastoji od tri dela koji opisuju različite aspekte relacionog pristupa: strukturni deo, manipulacioni deo i integralni deo.

U strukturnom dijelu modela fiksirano je da je jedina struktura podataka koja se koristi u relacijskim bazama podataka normalizirana n-arna relacija.

U manipulacionom dijelu modela potvrđuju se dva fundamentalna mehanizma za manipulaciju relacionim bazama podataka - relacioni algebra i relacioni račun. Prvi mehanizam se bazira uglavnom na klasičnoj teoriji skupova (sa nekim poboljšanjima), a drugi na klasičnom logičkom aparatu predikatskog računa prvog reda. Imajte na umu da je glavna funkcija manipulacionog dijela relacionog modela da obezbijedi mjeru relacije bilo kojeg određenog jezika relacijske baze podataka: jezik se naziva relacijskim ako nema manje izražajnosti i moći od relacijske algebre ili relacionog računa.


28. ALGORITAMSKI JEZICI. PREVODIOCI (TUMAČI I KOMPILATORI). ALGORITAMSKI JEZIK OSNOVNI. STRUKTURA PROGRAMA. IDENTIFIKATORI. VARIJABLE. OPERATORI. OBRADA JEDNODIMENZIONALNIH I DVODIMENZIONALNIH NIZOVA. KORISNIČKE FUNKCIJE. PODPROGRAMI. RAD SA DATOTEKAMA PODATAKA.

Jezik visokog nivoa- programski jezik čiji su koncepti i struktura pogodni za ljudsku percepciju.

Algoritamski jezik(Algoritamski jezik) - programski jezik - vještački (formalni) jezik dizajniran za pisanje algoritama. Programski jezik je definisan svojim opisom i implementiran je kao poseban program: kompajler ili interpreter. Primjeri algoritamskih jezika su Borland Pascal, C++, Basic, itd.

Osnovni koncepti algoritamskog jezika:

Sastav jezika:

Uobičajeni govorni jezik sastoji se od četiri glavna elementa: simbola, riječi, fraza i rečenica. Algoritamski jezik sadrži slične elemente, samo se riječi nazivaju elementarnim konstrukcijama, fraze - izrazi, rečenice - operatori.

Simboli, elementarne konstrukcije, izrazi i operatori čine hijerarhijsku strukturu, budući da se elementarne konstrukcije formiraju iz niza znakova.

Izrazi je niz elementarnih konstrukcija i simbola,

Operater- niz izraza, elementarnih konstrukcija i simbola.

Opis jezika:

Opis simbola sastoji se od nabrajanja dozvoljenih simbola jezika. Opis elementarnih struktura podrazumijeva se kao pravila za njihovo formiranje. Opis izraza je pravila za formiranje svih izraza koji imaju smisla u datom jeziku. Opis operatora se sastoji od razmatranja svih tipova operatora dozvoljenih u jeziku. Opis svakog jezičkog elementa je dat njegovom SINTAKSOM i SEMANTICOM.

Sintaktički definicije uspostavljaju pravila za konstruisanje jezičkih elemenata.

Semantika definiše značenje i pravila za upotrebu onih elemenata jezika za koje su date sintaktičke definicije.

Jezički simboli su osnovni nedjeljivi znakovi kojima su napisani svi tekstovi na jeziku.

Elementarne konstrukcije su najmanje jedinice jezika koje imaju nezavisno značenje. Oni se formiraju od osnovnih simbola jezika.

Izraz u algoritamskom jeziku, sastoji se od elementarnih konstrukcija i simbola, postavlja pravilo za izračunavanje određene vrijednosti.

Operater specificira potpuni opis neke radnje koju treba izvesti. Grupa operatera može biti potrebna da opiše složenu radnju.

U ovom slučaju, operatori se kombinuju u Složeni operater ili Blokiraj. Akcije, koje daju operatori, izvršavaju se na podacima. Rečenice u algoritamskom jeziku koje daju informacije o tipovima podataka nazivaju se deklaracije ili neizvršne izjave. Skup opisa i operatora ujedinjenih jednim algoritmom formira program na algoritamskom jeziku. U procesu proučavanja algoritamskog jezika potrebno je razlikovati algoritamski jezik od jezika kojim se opisuje algoritamski jezik koji se proučava. Obično se jezik koji se proučava naziva jednostavno jezik, a jezik u smislu kojeg se daje opis jezika koji se proučava - Metajezik.

Prevodioci - (Engleski prevodilac - prevodilac) je program za prevođenje. Konvertuje program napisan na jednom od jezika visokog nivoa u program koji se sastoji od mašinskih instrukcija.

Program napisan na bilo kom algoritamskom jeziku visokog nivoa ne može se direktno izvršiti na računaru. Računar razumije samo jezik mašinskih instrukcija. Stoga, program u algoritamskom jeziku mora biti preveden (preveden) u komandni jezik određenog računara. Takvo prevođenje se vrši automatski pomoću posebnih prevodilačkih programa kreiranih za svaki algoritamski jezik i za svaku vrstu računara.

Postoje dva glavna načina prenosa - kompilacija i interpretacija.

1.Kompilacija: kompajler(engleski kompajler - kompajler, sakupljač) čita ceo program, prevodi ga i kreira kompletnu verziju programa na mašinskom jeziku, koja se zatim izvršava.

At kompilacija ceo izvorni program se odmah konvertuje u niz mašinskih instrukcija. Nakon toga, rezultujući program izvršava računar sa dostupnim početnim podacima. Prednost ove metode je što se prijevod izvodi jednom, a (višestruko) izvršavanje rezultirajućeg programa može se izvršiti velikom brzinom. Istovremeno, rezultirajući program može zauzeti mnogo prostora u memoriji računara, budući da se jedan jezički operator zamjenjuje stotinama ili čak hiljadama instrukcija tokom prevođenja. Osim toga, otklanjanje grešaka i modifikacija prevedenog programa je veoma teško.

2. Interpretacija: tumač(Engleski interpreter - interpreter, interpreter) prevodi i izvršava program red po red.

At interpretacije originalni program je pohranjen u memoriji računara gotovo nepromijenjen. Program interpreter dekodira iskaze izvornog programa jedan po jedan i odmah osigurava njihovo izvršenje s dostupnim podacima. Interpretirani program zauzima malo prostora u memoriji računara, lako ga je otkloniti i modificirati. S druge strane, izvršavanje programa je prilično sporo, budući da svako izvršenje ponovo tumači sve naredbe redom.

Prevedeni programi rade brže, ali interpretirane programe je lakše popraviti i promijeniti.

Svaki određeni jezik je fokusiran ili na kompilaciju ili interpretaciju, ovisno o svrsi za koju je stvoren. Na primjer, Pascal se obično koristi za rješavanje prilično složenih problema u kojima je važna brzina programa. Stoga se ovaj jezik obično implementira pomoću kompajlera.

S druge strane, BASIC je kreiran kao jezik za programere početnike, za koje izvršavanje programa red po red ima neosporne prednosti.

Ponekad postoji i kompajler i interpretator za isti jezik. U ovom slučaju, možete koristiti interpreter da razvijete i testirate program, a zatim prevedete otklonjeni program da biste ubrzali njegovo izvršavanje.

Top Related Articles