Kako postaviti pametne telefone i računala. Informativni portal

Logički model predstavljanja znanja.

Za predstavljanje matematičkog znanja u matematičkoj logici koriste se logičkim formalizmima – propozicijskim računom i predikatskim računom. Ovi formalizmi imaju jasnu formalnu semantiku i za njih su razvijeni mehanizmi zaključivanja. Stoga je predikatski račun bio prvi logički jezik koji je korišten za formalno opisivanje predmetnih područja povezanih s rješavanjem primijenjenih problema.

Logički modeli reprezentacije znanja ostvaruju se pomoću predikatne logike.

Predikat je funkcija koja uzima dvije vrijednosti (točno ili netočno) i dizajnirana je da izrazi svojstva objekata ili odnosa između njih. Izraz koji potvrđuje ili poriče postojanje bilo kojeg svojstva objekta naziva se izričaj. Konstante služe za imenovanje objekata predmetnog područja. Oblik logičkih rečenica ili iskaza atomske formule. Tumačenje predikata je skup svih valjanih vezivanja varijabli s konstantama. Vezivanje je stalna zamjena varijabli umjesto varijabli. Predikat se smatra valjanim ako je istinit u svim mogućim interpretacijama. Kaže se da izjava logički proizlazi iz zadanih premisa ako je istinita kad god su premise istinite.

Opisi predmetnih područja izrađeni na logičkim jezicima nazivaju se logičkih modela .

DAJTE (MIHAEL, VLADIMIR, KNJIGA);

($ x) (ELEMENT (x, DOGAĐAJ-DAJ)? IZVOR (x, MIHAEL)? ADRESA? (x, VLADIMIR) OBJEKAT (x, KNJIGA).

Evo dva načina za bilježenje jedne činjenice: "Mikhail je dao knjigu Vladimiru."

Zaključivanje se provodi pomoću silogizma (ako A slijedi B, a B slijedi C, tada A slijedi C).

U općem slučaju, logički modeli se temelje na konceptu formalna teorija dano od strane četvorice:

S = ,

gdje je B prebrojiv skup osnovni znakovi (abeceda) teorija S;

F - podskup izrazi teorije S je nazvao teorijske formule(pod izrazima podrazumijevamo konačne nizove osnovnih simbola teorije S);

A je namjenski skup formula tzv aksioma teorije S, odnosno skup apriornih formula;

R je konačan skup odnosa (r 1, ..., r n) između formula, tzv pravila povlačenja.

Prednost logičkih modela predstavljanja znanja leži u mogućnosti izravnog programiranja mehanizma za izlaz sintaktički ispravnih iskaza. Primjer takvog mehanizma je, posebice, postupak povlačenja koji se temelji na metodi rješavanja.

Pokažimo metodu rezolucija.

Metoda koristi nekoliko koncepata i teorema.

Koncept tautologije, logična formula, čija će vrijednost biti "istinita" za sve vrijednosti atoma uključenih u njih. Označava li se s ?, čita se kao "univerzalno valjan" ili "uvijek istinit".

Teorem 1. A? B ako i samo ako? A B.

Teorem 2. A1, A2, ..., An? B ako i samo kada? (A1? A2? A3?…? An) P.

Simbol? glasi "točno" ili "može se zaključiti".

Metoda se temelji na dokazu tautologije

? (x? A)?(Y? ? A)? (x? Y) .

Teoreme 1 i 2 omogućuju nam da ovo pravilo zapišemo u sljedećem obliku:

(x? A), (Y? ? A) ? (x? Y),

što daje osnove za tvrdnju: iz premisa i može se zaključiti.

U procesu zaključivanja pomoću pravila razlučivanja izvode se sljedeći koraci.

1. Operacije ekvivalencije i implikacije su eliminirane:

2. Operacija negacije kreće se unutar formula koristeći de Morganove zakone:

3. Logičke formule svode se na disjunktivni oblik:.

Pravilo razrješenja sadrži spoj klauzula na lijevoj strani, stoga je dovođenje premisa korištenih za dokaz u oblik koji je spoj klauzula nužan korak u gotovo svakom algoritmu koji implementira logičko zaključivanje na temelju metode razrješenja. Metoda razlučivanja lako se programira, što je jedna od njezinih najvažnijih prednosti.

Pretpostavimo da trebate dokazati da ako su relacije i istinite, onda možete izvesti formulu. Da biste to učinili, slijedite ove korake.

1. Svođenje parcela u disjunktivni oblik:
, , .

2. Konstruiranje poricanja zaključka o kojem se treba zaključiti. Rezultirajuća konjunkcija vrijedi kada su i istovremeno istiniti.

3. Primjena pravila rješavanja:

(kontradikcija ili "prazna klauzula").

Dakle, uz pretpostavku da je izvedeni zaključak netočan, dobivamo kontradikciju, dakle, izvedeni zaključak je istinit, t.j. , izvodi se iz početnih premisa.

Bilo je to pravilo razlučivanja koje je poslužilo kao osnova za stvaranje logičkog programskog jezika PROLOG. Zapravo, PROLOG jezični tumač samostalno implementira izlaz sličan onom gore opisanom, formirajući odgovor na korisničko pitanje upućeno bazi znanja.

U logici predikata, da bi se primijenilo pravilo razlučivanja, potrebno je provesti složenije objedinjavanje logičkih formula kako bi se svele na sustav klauzula. To je zbog prisutnosti dodatnih elemenata sintakse, uglavnom kvantifikatora, varijabli, predikata i funkcija.

Algoritam za objedinjavanje predikatnih logičkih formula uključuje sljedeće korake.

Nakon dovršetka svih koraka opisanog algoritma objedinjavanja, može se primijeniti pravilo razlučivanja. Obično se u ovom slučaju provodi dedukcija deduciranog zaključka, a algoritam dedukcije može se ukratko opisati na sljedeći način: R iz aksioma teorije Th konstruira se negacija R i dodaje se Th, čime se dobiva nova teorija Th1. Nakon svođenja aksioma teorije na sustav klauzula, moguće je konstruirati konjunkciju i aksiome teorije Th. U ovom slučaju moguće je iz početnih klauzula izvesti klauze – posljedice. Ako R je deducibilno iz aksioma teorije Th, onda je u procesu dedukcije moguće dobiti određenu klauzulu Q koja se sastoji od jednog slova i suprotne klauzule. Ova kontradikcija sugerira da R izvedeno iz aksioma Th. Općenito govoreći, postoji mnogo strategija dokazivanja, mi smo uzeli u obzir samo jednu od mogućih - top-down.

Primjer: Predikatskom logikom predstavimo sljedeći tekst:

"Ako student zna dobro programirati, onda može postati specijalist u području primijenjene informatike."

"Ako je student dobro položio ispit informacijskih sustava, onda može dobro programirati."

Predstavimo ovaj tekst pomoću predikatske logike prvog reda. Uvedemo oznaku: x- varijabla za označavanje učenika; u redu- konstanta koja odgovara razini vještine; R(X)- predikat koji izražava mogućnost subjekta x postati specijalist primijenjene informatike; P(X, u redu)- predikat koji označava vještinu subjekta x program s ocjenom u redu; R(X, u redu)- predikat koji precizira odnos učenika x s ispitnim ocjenama iz informacijskih sustava.

Sada napravimo puno dobro oblikovanih formula:

Q (X, dobro).

R(X, dobro)P(X, dobro).

Dopunimo dobivenu teoriju jednom konkretnom činjenicom
R(ivanov, dobro).

Izvedimo zaključak pomoću pravila razlučivanja da odredimo je li formula R(ivanov) posljedica gornje teorije. Drugim riječima, može li se iz te teorije izvesti činjenica da će student Ivanov postati specijalist primijenjene informatike ako dobro položi ispit iz informacijskih sustava?

Dokaz

1. Transformirajmo početne formule teorije kako bismo ih doveli u disjunktivni oblik:

(X, dobro) R (X);

(X, dobro) (X, dobro);

R(ivanov, U redu).

2. Dodajmo postojećim aksiomima negaciju izvedenog zaključka

(ivanov).

3. Konstruiramo veznik klauza

(X, dobro) R (X)? ? P(ivanov, dobro)? ? P(ivanov, dobro), zamjena varijable x konstantom ivanov.

Rezultat primjene pravila razlučivanja naziva se razlučivost... U ovom slučaju, razrješenje je (ivanov).

4. Konstruirajte spoj klauzula koristeći rezolvent dobiven u koraku 3:

(X, dobro) (X, dobro) (ivanov, dobro) (ivanov, dobro).

5. Napišimo konjunkciju rezultirajuće rezolvente s posljednjom klauzulom teorije:

(ivanov, dobro) (ivanov, dobro)(kontradikcija).

Stoga je činjenica R(ivanov) izvesti iz aksioma ove teorije.

Da bi se odredio redoslijed primjene aksioma u procesu zaključivanja, postoje sljedeća heuristička pravila:

  1. U prvom koraku zaključivanja koristi se poricanje zaključka.
  2. U svakom sljedećem koraku derivacije sudjeluje otapalo dobiveno u prethodnom koraku.

Međutim, uz pomoć pravila koja definiraju sintaksu jezika nemoguće je utvrditi istinitost ili netočnost ove ili one izjave. Ovo se odnosi na sve jezike. Izjava može biti sintaktički točna, ali se može pokazati potpuno besmislenom. Visok stupanj ujednačenosti također povlači još jedan nedostatak. logičkih modela- složenost korištenja u dokazu heuristika koje odražavaju specifičnosti konkretnog predmetnog problema. Ostali nedostaci formalnih sustava uključuju njihovu monotoniju, nedostatak sredstava za strukturiranje korištenih elemenata i nedopustivost proturječnosti. Daljnji razvoj baza znanja išao je putem rada u području induktivne logike, logike "zdravog razuma", logike vjere i drugih logičkih shema koje imaju malo zajedničkog s klasičnom matematičkom logikom.

Logički model podataka je opis objekata u predmetnom području, njihovih atributa i odnosa među njima u mjeri u kojoj su predmet izravnog pohranjivanja u bazi podataka sustava.

Logički model se gradi u nekoliko faza s postupnim pristupom opciji optimalnoj za dane uvjete. Učinkovitost takvog modela ovisi o tome koliko blisko odražava proučavano predmetno područje. Predmetno područje obuhvaća objekte (dokumente, račune, operacije s njima i sl.), kao i karakteristike tih objekata, njihova svojstva, interakciju i međusobni utjecaj.

Dakle, prilikom izgradnje logičkog modela podataka, prvo se identificiraju oni objekti koji su od interesa za korisnike projektirane baze podataka. Zatim se za svaki objekt formuliraju karakteristike i svojstva koja adekvatno opisuju zadani objekt. Ove karakteristike će se dalje odraziti u bazi podataka kao odgovarajuća polja.

Logički model podataka izgrađen je korištenjem jednog od tri pristupa kreiranju baza podataka. Razlikuju se sljedeće vrste modela logičkih baza podataka:

Hijerarhijski;

Mreža;

Relacijski.

Hijerarhijski model je struktura nalik stablu koja izražava veze subordinacije niže razine s višom. To olakšava pronalaženje informacija ako upiti imaju istu strukturu.

Mrežni model razlikuje se od prethodnog i po prisutnosti horizontalnih veza. To komplicira i model i samu bazu podataka i sredstva za upravljanje njome.

Relacijski model predstavlja pohranjene informacije u obliku tablica, nad kojima se mogu izvoditi logičke operacije (operacije relacijske algebre). Trenutno je ova vrsta modela najraširenija. To je zbog relativne jednostavnosti implementacije, jasne definicije odnosa između objekata, lakoće promjene strukture baze podataka.

Opis korisnika i korisničkih grupa sustava

Razvijeni informacijski i referentni sustav mogu koristiti i djelatnici kina i posjetitelji. Djelatnik kina može osigurati montažu dostupnih informacija o dostupnim filmovima, promijeniti radno vrijeme kina, uključiti novopristigle filmove na kino repertoar; a posjetitelj može pogledati informacije o radnom vremenu kina, cijenama ulaznica, filmovima za danas.

Model domene

Jedan od najprikladnijih alata za objedinjeno predstavljanje podataka, neovisno o softveru koji ga implementira, je model odnosa entiteta (ER-model). Model entitet-odnos temelji se na nekim važnim semantičkim informacijama o stvarnom svijetu i dizajniran je da logički predstavlja podatke. Definira vrijednosti podataka u kontekstu njihovog odnosa s drugim podacima. Kategorije "bit" i "veza" proglašavaju se temeljnim, a odvajaju se u fazi stvaranja specifičnih predstava određenog predmetnog područja.

Svaki entitet pripada određenoj klasi, drugim riječima, odgovara određenoj vrsti. Postoje odnosi između entiteta koje korisnik dodjeljuje određenoj klasi (tipu). Dakle, klasa entiteta i klasa odnosa definiraju skupove specifičnih objekata i relacije između njih. Entitet može pripadati više od jedne klase.

Zbirka entiteta i klasa odnosa čini najvišu razinu modela.

Entiteti i odnosi opisuju se svojim karakterističnim atributima. Među atributima entiteta ili odnosa razlikuje se podpopis čije vrijednosti atributa jedinstveno identificiraju entitet ili odnos unutar tipa. Entiteti, odnosi i atributi čine nižu razinu modela.

Važno je da se svi postojeći modeli podataka (hijerarhijski, mrežni, relacijski, objektni) mogu generirati iz modela entitet-relacija, stoga je on najopćenitiji.

Model entitet-odnos prikazan je u Dodatku E.

Relacijska baza podataka sastoji se od normaliziranih tablica. U procesu učitavanja i prilagođavanja baze podataka, za dobivanje informacija o upitima i izlaznim izvješćima, kao i rješavanje većine zadataka, potrebno je istovremeno pristupiti nekoliko međusobno povezanih tablica. Odnos između tablica baze podataka uspostavlja se relacijskim odnosima.

Veze definirane u shemi podataka koriste se automatski pri razvoju multitabularnih obrazaca, upita, izvješća, što uvelike pojednostavljuje proces njihovog dizajna.

Softverski proizvod predstavlja projekt Cinema koji ima 4 međusobno povezane tablice:

Bilety - podaci o prodanim ulaznicama;

Filmovi - informacije o svim filmovima dostupnim u kinu;

Seansy - informacije o vremenu održavanja sesija i cijeni ulaznica za te sesije;

Danas - informacije o filmovima koji će biti prikazani danas.

DB i DBMS koncepti.

Baza podataka je skup strukturiranih podataka pohranjenih u memoriji računalnog sustava i koji prikazuje stanje objekata i njihove međusobne odnose u predmetnom području koje se razmatra.

Logička struktura podataka pohranjenih u bazi podataka naziva se model prezentacije podataka. Glavni modeli prezentacije podataka (modeli podataka) uključuju hijerarhijski, mrežni, relacijski.

Sustav za upravljanje bazama podataka (DBMS) je kompleks jezičnih i softverskih alata dizajniranih za stvaranje, održavanje i dijeljenje baza podataka od strane mnogih korisnika. Tipično, DBMS se razlikuje po korištenom modelu podataka. Dakle, DBMS bazirani na korištenju relacijskog modela podataka nazivaju se relacijskim DBMS-ima.

Rječnik podataka je podsustav baze podataka dizajniran za centralizirano pohranjivanje informacija o strukturama podataka, međusobnim odnosima datoteka baze podataka, vrstama podataka i formatima njihove prezentacije, podacima koji pripadaju korisnicima, sigurnosnim i kontrolnim kodovima itd.

Informacijski sustavi temeljeni na korištenju baza podataka obično rade u arhitekturi klijent-poslužitelj. U ovom slučaju, baza podataka se nalazi na računalu poslužitelja i dijeli se.

Poslužitelj određenog resursa u računalnoj mreži je računalo (program) koje upravlja tim resursom, klijent je računalo (program) koje koristi taj resurs. Kao resurs računalne mreže, na primjer, mogu djelovati baze podataka, datoteke, usluge ispisa i poštanske usluge.

Prednost organiziranja informacijskog sustava na arhitekturi klijent-poslužitelj je uspješna kombinacija centralizirane pohrane, održavanja i zajedničkog pristupa općim korporativnim informacijama s radom pojedinačnih korisnika.

Prema osnovnom principu klijent-poslužitelj arhitekture, podaci se obrađuju samo na poslužitelju. Korisnik ili aplikacija generira upite koji dolaze na poslužitelj baze podataka u obliku SQL naredbi. Poslužitelj baze podataka omogućuje pretraživanje i dohvaćanje traženih podataka, koji se potom prenose na računalo korisnika. Prednost ovog pristupa u usporedbi s prethodnim je osjetno manja količina prenesenih podataka.



Razlikuju se sljedeće vrste DBMS-a:

* potpuno opremljeni DBMS;

* poslužitelji baze podataka;

* alati za razvoj programa za rad s bazom podataka.

Po prirodi upotrebe DBMS-ovi se dijele na višekorisničke (industrijske) i lokalne (osobne).

Industrijski, DBMS predstavljaju softversku osnovu za razvoj automatiziranih sustava upravljanja velikim gospodarskim objektima. Industrijski DBMS mora ispunjavati sljedeće zahtjeve:

* mogućnost organiziranja zajedničkog paralelnog rada mnogih korisnika;

* skalabilnost;

* prenosivost na različite hardverske i softverske platforme;

* stabilnost u odnosu na kvarove različitih vrsta, uključujući prisutnost višerazinskog sigurnosnog sustava pohranjenih informacija;

* osiguranje sigurnosti pohranjenih podataka i naprednog strukturiranog sustava pristupa njima.

Osobni DBMS je softver namijenjen rješavanju problema lokalnog korisnika ili male grupe korisnika i namijenjen za korištenje na osobnom računalu. To objašnjava njihov drugi naziv - desktop. Definirajuće karakteristike stolnih sustava su:

* relativna jednostavnost korištenja, što vam omogućuje stvaranje korisnih korisničkih aplikacija na njihovoj osnovi;

* relativno ograničeni zahtjevi za hardverskim resursima.

Prema korištenom modelu podataka, DBMS-ovi se dijele na hijerarhijske, mrežne, relacijske, objektno orijentirane itd. Neki DBMS-ovi mogu istovremeno podržavati nekoliko modela podataka.

Za rad s podacima pohranjenim u bazi podataka koriste se sljedeće vrste jezika:

* jezik opisa podataka - neproceduralni jezik visoke razine
deklarativni tip, dizajniran za opisivanje logičkog
strukture podataka;

* jezik za manipulaciju podacima - skup konstrukcija koje pružaju osnovne operacije za rad s podacima: unos, modifikacija i dohvat podataka na zahtjev.

Imenovani jezici mogu se razlikovati u različitim DBMS-ima. Najrasprostranjenija su dva standardizirana jezika: QBE - jezik upita po modelu i SQL - strukturirani jezik upita. QBE uglavnom ima svojstva jezika za manipulaciju podacima, SQL kombinira svojstva obje vrste jezika.

DBMS implementira sljedeće osnovne funkcije niske razine:

* upravljanje podacima u vanjskoj memoriji;

* upravljanje RAM međuspremnicima;

* upravljanje transakcijama;

* vođenje dnevnika promjena u bazi podataka;

* osiguranje integriteta i sigurnosti baze podataka.

Implementacija funkcije upravljanja podacima u vanjskoj memoriji osigurava organizaciju upravljanja resursima u datotečnom sustavu OS-a.

Potreba za međuspremnikom podataka je zbog činjenice da je količina RAM-a manja od količine vanjske memorije. Međuspremnici su područja glavne memorije dizajnirana da ubrzaju razmjenu između vanjske i glavne memorije. Međuspremnici privremeno pohranjuju fragmente baze podataka iz kojih bi se podaci trebali koristiti prilikom pristupa DBMS-u ili se planiraju zapisati u bazu podataka nakon obrade.

Transakcioni mehanizam se koristi u DBMS-u za održavanje integriteta podataka u bazi podataka. Transakcija je određeni nedjeljiv slijed operacija nad podacima baze podataka, koji DBMS prati od početka do kraja. Ako iz bilo kojeg razloga (kvarovi i kvarovi hardvera, pogreške u softveru, uključujući aplikaciju) transakcija ostane nepotpuna, tada se poništava.

Postoje tri glavna svojstva svojstvena transakcijama:

* atomičnost (sve operacije uključene u transakciju se izvršavaju ili se ne izvršavaju);

* serijalabilnost (nema međusobnog utjecaja transakcija koje se izvršavaju u isto vrijeme);

* trajnost (čak ni pad sustava ne dovodi do gubitka rezultata izvršene transakcije).

Primjer transakcije je operacija prijenosa novca s jednog računa na drugi u bankovnom sustavu. Najprije se novac povlači s jednog računa, a zatim se pripisuje na drugi račun. Ako barem jedna od radnji nije uspješna, rezultat operacije će biti netočan i ravnoteža operacije će biti poremećena.

Zapisivanje promjena provodi DBMS kako bi se osigurala pouzdanost pohrane podataka u bazi podataka u slučaju kvarova hardvera i softvera.

Osiguravanje integriteta baze podataka nužan je uvjet za uspješno funkcioniranje baze podataka, posebice kada se koristi u mreži. Integritet baze podataka svojstvo je baze podataka, što znači da sadrži potpune, dosljedne i odgovarajuće informacije o predmetnom području. Integralno stanje baze podataka opisuje se korištenjem ograničenja integriteta u obliku uvjeta koje moraju zadovoljiti podaci pohranjeni u bazi podataka.

Sigurnost se u DBMS-u postiže enkripcijom podataka, zaštitom lozinkom, podrškom razinama pristupa bazi podataka i njezinim pojedinim elementima (tablice, obrasci, izvješća i sl.).

Faze izrade baze podataka.

Projektiranje baza podataka informacijskih sustava prilično je naporan zadatak. Provodi se na temelju formaliziranja strukture i procesa predmetnog područja, o čemu bi se podaci trebali pohraniti u bazi podataka. Razlikovati idejni i shematski-strukturni projekt.

Konceptualni dizajn IS DB u velikoj je mjeri heuristički proces. Adekvatnost infološkog modela predmetnog područja izgrađenog u njegovim okvirima provjerava se empirijski, u procesu funkcioniranja IS-a.

Nabrojimo faze idejnog dizajna:

1. Proučavanje predmetnog područja radi stvaranja općeg razumijevanja o njemu;

2. Dodjela i analiza funkcija i zadataka razvijenog IS-a;

3. Određivanje glavnih objekata-cjelina predmetnog područja
i odnos među njima;

4. Formalizirana prezentacija predmetnog područja.

Prilikom dizajniranja sheme relacijske baze podataka, mogu se razlikovati sljedeće procedure:

1. Određivanje popisa tablica i odnosa među njima;

2. Određivanje popisa polja, tipova polja, ključnih polja svake tablice (shema tablice), uspostavljanje veza između tablica putem stranih ključeva;

3. Uspostavljanje indeksiranja za polja u tablicama;

4. Izrada popisa (rječnika) za polja s nabrojanim
podaci;

5. Postavljanje ograničenja integriteta za tablice i odnose;

6. Normalizacija tablica, ispravak popisa tablica i poveznica.

Relacijske baze podataka.

Relacijska baza podataka je skup međusobno povezanih tablica, od kojih svaka sadrži informacije o objektima određene vrste. Svaki red tablice sadrži podatke o jednom objektu (npr. automobil, računalo, kupac), a stupci tablice sadrže različite karakteristike tih objekata – atribute (npr. broj motora, marku procesora, telefonske brojeve tvrtki ili kupci).

Redovi u tablici nazivaju se zapisi. Svi zapisi tablice imaju istu strukturu – sastoje se od polja (elementa podataka) u kojima se pohranjuju atributi objekta (slika 1). Svako polje zapisa sadrži jednu karakteristiku objekta i predstavlja zadanu vrstu podataka (na primjer, tekstualni niz, broj, datum). Primarni ključ se koristi za identifikaciju zapisa. Primarni ključ je skup polja tablice čija kombinacija vrijednosti jedinstveno identificira svaki zapis u tablici.

Glavni ključ

Svaka tablica baze podataka može imati primarni ključ. Primarni ključ je polje ili skup polja koja jedinstveno (jedinstveno) identificiraju zapis. Primarni ključ trebao bi biti minimalno dovoljan: ne bi trebao sadržavati polja čije uklanjanje iz primarnog ključa neće utjecati na njegovu jedinstvenost.

Podaci tablice "Učitelj"

Samo “Tab. br.", vrijednosti ostalih polja mogu se ponoviti unutar ove tablice.

Sekundarni ključ

Sekundarni ključevi su primarni mehanizam za organiziranje odnosa između tablica i održavanje integriteta i dosljednosti informacija u bazi podataka.

Sekundarno je polje tablice koje može sadržavati samo vrijednosti koje se nalaze u ključnom polju druge tablice na koju upućuje sekundarni ključ. Sekundarni ključ povezuje dvije tablice.

Odnosi podređenosti mogu postojati između dvije ili više tablica baze podataka. Odnosi podređenosti određuju da za svaki zapis glavne tablice (glavna, koja se također naziva i roditelj) može postojati jedan ili više zapisa u podređenoj tablici (detalj, koji se također naziva i podređena tablica).

Postoje tri vrste odnosa između tablica baze podataka:

- "jedan prema više"

- "jedan na jedan"

- "mnogo prema mnogo"

Odnos jedan-na-jedan nastaje kada jedan zapis u nadređenoj tablici odgovara jednom zapisu u podređenoj tablici.

Odnos mnogo-prema-više nastaje kada:

a) zapisi u nadređenoj tablici mogu odgovarati više od jednog zapisa u podređenoj tablici;

b) zapisi u podređenoj tablici mogu odgovarati više od jednog zapisa u nadređenoj tablici.

Odnos jedan prema više događa se kada više zapisa u podređenoj tablici može odgovarati istom zapisu u nadređenoj tablici.

Fizički i logički modeli baza podataka

Logički model podataka... Na sljedećoj, nižoj razini nalazi se logički model podataka domene. Logički model opisuje koncepte predmetnog područja, njihov odnos, kao i ograničenja podataka koja nameće predmetno područje. Primjeri pojmova su "zaposlenik", "odjel", "projekt", "plaća". Primjeri odnosa između pojmova - "zaposlenik je naveden u točno jednom odjelu", "zaposlenik može izvesti nekoliko projekata", "više zaposlenika može raditi na jednom projektu". Primjeri ograničenja su "dob zaposlenika nije niža od 16 i ne više od 60 godina."

Logički model podataka je početni prototip za buduću bazu podataka. Logički model je izgrađen u smislu informacijskih jedinica, ali bez pozivanja na određeni DBMS... Štoviše, logički model podataka ne mora biti izražen pomoću točno relacijski modeli podataka. Glavni alat za razvoj logičkog modela podataka u ovom trenutku su različite opcije ER dijagrami (Entitet-odnos , dijagrami entitet-odnos ). Isti ER model može se transformirati i u relacijski model podataka i u model podataka za hijerarhijske i mrežne DBMS-ove, ili u postrelacijski model podataka. Međutim, budući da razmatramo samo relacijski DBMS, onda možemo pretpostaviti da je logički model podataka za nas formuliran u smislu relacijskog modela podataka.

Odluke donesene na prethodnoj razini, pri razvoju modela domene, definiraju neke granice unutar kojih se može razviti logički model podataka, dok se unutar tih granica mogu donositi različite odluke. Primjerice, model predmetnog područja računovodstva skladišta sadrži pojmove "skladište", "faktura", "roba". Prilikom razvoja odgovarajućeg relacijskog modela, ovi pojmovi se moraju koristiti, ali ovdje postoji mnogo različitih načina implementacije - možete stvoriti jedan odnos u kojem će "skladište", "faktura", "roba" biti prisutni kao atributi, ili možete stvoriti tri odvojena odnosa, po jedan za svaki koncept.

Prilikom razvoja logičkog modela podataka postavljaju se pitanja: jesu li odnosi dobro osmišljeni? Oslikavaju li ispravno model domene, a time i samu domenu?

Fizički model podataka... Na još nižoj razini nalazi se fizički model podataka. Fizički model podataka opisuje podatke pomoću specifičnog DBMS-a. Pretpostavit ćemo da je fizički model podataka implementiran pomoću preciznog relacijski DBMS, iako, kao što je gore spomenuto, to nije obavezno. Odnosi razvijeni u fazi formiranja logičkog modela podataka pretvaraju se u tablice, atributi postaju stupci tablica, kreiraju se jedinstveni indeksi za ključne atribute, domene se pretvaraju u tipove podataka prihvaćene u određenom DBMS-u.

Ograničenja u logičkom modelu podataka implementiraju se raznim DBMS alatima, na primjer, korištenjem indeksa, deklarativnih ograničenja integriteta, okidača, pohranjenih procedura. U ovom slučaju, opet, odluke donesene na razini logičkog modeliranja definiraju neke granice unutar kojih se može razviti fizički model podataka. Isto tako, unutar tih granica mogu se donijeti razne odluke. Na primjer, odnosi sadržani u logičkom modelu podataka moraju se pretvoriti u tablice, ali za svaku tablicu možete dodatno deklarirati različite indekse kako biste poboljšali brzinu pristupa podacima. Mnogo ovisi o konkretnom DBMS-u.

Prilikom dizajniranja modela fizičkih podataka, postavljaju se pitanja: Jesu li tablice dobro dizajnirane? Jesu li indeksi ispravno odabrani? Koliko koda u obliku okidača i pohranjenih procedura treba razviti da bi se održao integritet podataka?

  • upoznati tehnologiju izgradnje logičkog modela u ERWin-u,
  • istražiti metode za određivanje ključnih atributa entiteta,
  • ovladati metodom provjere adekvatnosti logičkog modela,
  • istražiti vrste odnosa između entiteta.

Prvi korak u stvaranju logičkog modela baze podataka je izgradnja dijagrama ERD (Entity Relationship Diagram). ERD dijagrami se sastoje od tri dijela: entiteta, atributa i odnosa. Entiteti su imenice, atributi su pridjevi ili modifikatori, odnosi su glagoli.

ERD dijagram omogućuje vam da pogledate cijeli sustav i saznate zahtjeve za njegov razvoj u pogledu pohrane informacija.

ERD dijagrami se mogu podijeliti u zasebne dijelove koji odgovaraju pojedinačnim zadacima koje rješava projektirani sustav. To vam omogućuje da vidite sustav u smislu funkcionalnosti, čineći proces dizajna upravljivim.

ERD dijagrami

Kao što znate, glavna komponenta relacijskih baza podataka je tablica. Tablica se koristi za strukturiranje i pohranjivanje informacija. U relacijskim bazama podataka svaka ćelija u tablici sadrži jednu vrijednost. Osim toga, unutar iste baze podataka postoje odnosi između tablica, od kojih svaka specificira dijeljenje podataka tablice.

ERD dijagram grafički predstavlja strukturu podataka projektiranog informacijskog sustava. Entiteti se prikazuju pomoću pravokutnika koji sadrže naziv. Uobičajeno je da se imena izražavaju imenicama u jednini, odnosi - pomoću linija koje povezuju pojedine entitete. Odnos označava da su podaci iz jednog entiteta referencirani ili povezani s podacima iz drugog.

Riža.6.1. Primjer ERD dijagrama,

Definiranje entiteta i atributa

Entitet je subjekt, mjesto, stvar, događaj ili koncept koji sadrži informacije. Točnije, entitet je skup (unija) objekata koji se nazivaju instance. U primjeru prikazanom na sl. U primjeru 6.1, entitet CUSTOMER predstavlja sve moguće kupce. Svaka instanca entiteta ima skup karakteristika. Dakle, svaki klijent može imati ime, adresu, telefonski broj itd. U logičkom modelu sve ove karakteristike nazivaju se atributima entiteta.

Na sl. 6.2 prikazuje ERD dijagram koji uključuje atribute entiteta.

Riža. 6.2. ERD-dijagram s atributima

Logički odnosi

Logički odnosi su odnosi između entiteta. Definirani su glagolima koji pokazuju kako je jedan entitet povezan s drugim.

Neki primjeri odnosa:

  • tim uključuje mnogo igrača,
  • avion prevozi mnogo putnika,
  • prodavač prodaje mnoge proizvode.

U svim ovim slučajevima, odnosi odražavaju interakciju jedan-prema-više između dva entiteta. To znači da jedna instanca prvog entiteta stupa u interakciju s višestrukim instancama drugog entiteta. Odnosi su prikazani linijama koje povezuju dva entiteta s točkom na jednom kraju i glagolom iznad crte.

Osim odnosa jedan-prema-više, postoji još jedna vrsta odnosa - mnogo-prema-više. Ova vrsta odnosa opisuje situaciju u kojoj instance entiteta mogu komunicirati s višestrukim instancama drugih entiteta. Odnosi mnogo-prema-više koriste se tijekom početnih faza dizajna. Ova vrsta odnosa prikazuje se kao puna linija s točkama na oba kraja.

Odnos više-prema-više možda neće uzeti u obzir određena ograničenja sustava i stoga se može zamijeniti s jedan-prema-više kada se dizajn kasnije revidira.

Provjera adekvatnosti logičkog modela

Ako su odnosi između entiteta ispravno uspostavljeni, onda možete sastaviti rečenice koje ih opisuju. Na primjer, prema modelu prikazanom na sl. 6.3, možete napraviti sljedeće rečenice:

Avion prevozi putnike. Mnogo putnika prevozi se jednim avionom.

Izrada takvih prijedloga omogućuje vam da provjerite usklađenost rezultirajućeg modela sa zahtjevima i ograničenjima sustava koji se stvara.

Riža. 6.3.Primjer logičkog modela s odnosom

Model podataka baziran na ključu

Svaki entitet sadrži vodoravnu liniju koja dijeli atribute u dvije skupine. Atributi iznad retka nazivaju se primarni ključ. Primarni ključ je za jedinstvenu identifikaciju instance entiteta.

Odabir primarnog ključa

Prilikom izrade entiteta potrebno je odabrati grupu atributa koji potencijalno mogu postati primarni ključ (potencijalni ključevi), zatim odabrati atribute za uključivanje u primarni ključ, slijedeći sljedeće preporuke:

Primarni ključ mora biti odabran na takav način da vrijednosti atributa uključenih u njega mogu točno identificirati instancu entiteta. Nijedan od atributa primarnog ključa ne smije biti null. Vrijednosti atributa primarnog ključa ne bi se trebale mijenjati. Ako se vrijednost promijenila, to je već druga instanca entiteta.

Prilikom odabira primarnog ključa, entitetu možete dodati dodatni atribut i učiniti ga ključem. Dakle, za određivanje primarnog ključa često se koriste jedinstveni brojevi, koje sustav može automatski generirati kada se instanca entiteta doda u bazu podataka. Korištenje jedinstvenih brojeva olakšava proces indeksiranja i pretraživanja u bazi podataka.

Primarni ključ odabran prilikom kreiranja logičkog modela može biti neuspješan za učinkovit pristup bazi podataka i mora se promijeniti tijekom dizajna fizičkog modela.

Potencijalni ključ koji nije postao primarni ključ naziva se alternativni ključ. ERWin vam omogućuje odabir atributa alternativnih ključeva, a prema zadanim postavkama, u budućnosti, prilikom generiranja sheme baze podataka, za te će se atribute generirati jedinstveni indeks. Prilikom izrade zamjenskog ključa, na dijagramu pored atributa pojavljuju se simboli (AK).

Atributi uključeni u nejedinstvene indekse nazivaju se inverzijskim unosima. Inverzni ulazi su atribut ili skupina atributa koji ne identificiraju jednoznačno instancu, ali se često koriste za upućivanje na instance entiteta. ERWin generira nejedinstveni indeks za svaki inverzijski unos.

Kada se uspostavi odnos između dva entiteta, strani ključevi se automatski generiraju u podređenom entitetu. Odnos tvori referencu na atribute primarnog ključa u podređenom entitetu, a ti atributi tvore strani ključ u podređenom entitetu. Atributi stranog ključa identificirani su (FK) znakovima nakon njihovog naziva.

Primjer

Razmotrimo proces konstruiranja logičkog modela na primjeru baze podataka studenata sustava "Služba za zapošljavanje unutar Sveučilišta". Prvi korak je definiranje entiteta i atributa. Baza podataka će pohraniti zapise o studentima, dakle entitet će biti student.

Tablica 6.1.Atributi entiteta "Student".

Atribut Opis
Broj Jedinstveni broj za identifikaciju korisnika
PUNO IME. Prezime, ime i patronimija korisnika
Lozinka Lozinka za pristup sustavu
Dob Studentska dob
Kat Spol učenika
Karakteristično Memo polje s općim karakteristikama korisnika
E-mail Email adrese
Telefon Studentski telefonski brojevi (kućni, poslovni)
iskustvo Specijalnosti i studentsko radno iskustvo u svakom od njih
Specijalitet Specijalnost koju student stječe po završetku studija
Specijalizacija Smjer specijalnosti u kojoj se student osposobljava
Strani jezik Popis stranih jezika i razina njihovog znanja
Testiranje Popis testova i ocjene njihovog polaganja
Stručni pregled Popis predmeta sa stručnim ocjenama za svaki od njih
Ocjene na ispitu Popis položenih predmeta s ocjenama

Rezultirajući popis sadrži atribute koji se ne mogu definirati kao jedno polje baze podataka. Takvi atributi zahtijevaju dodatne definicije i trebaju se smatrati entitetima koji se sastoje, pak, od atributa. To uključuje: radno iskustvo, strani jezik, testiranje, recenzije, ocjene na ispitima. Definirajmo njihove atribute.

Tablica 6.2.Atributi entiteta "Radno iskustvo".

Tablica 6.3.Atributi entiteta stranog jezika

Tablica 6.4.Atributi entiteta za testiranje

Tablica 6.5.Svojstva entiteta vještačenja

Atribut Opis
Disciplina Naziv discipline u kojoj se student ocjenjivao
PUNO IME. učitelj, nastavnik, profesor PUNO IME. nastavnik koji je učeniku ocijenio
Razred Stručna ocjena nastavnika
Atribut Opis
Stvar Naziv predmeta iz kojeg je položen ispit
Razred Rezultirajući rezultat

Napravimo ERD dijagram, definirajući vrste atributa i navodeći odnose između entiteta (slika 6.4). Svi entiteti će ovisiti o entitetu "Student". Odnosi će biti jedan prema više.

Riža. 6.4.ERD-dijagram DB učenika

Rezultirajući dijagram prikazuje svoje ime pored odnosa, što pokazuje odnos između entiteta. Kada se uspostavi odnos između entiteta, primarni ključ se migrira u podređeni entitet.

Sljedeći korak u izgradnji logičkog modela je definiranje ključnih atributa i tipova atributa.

Tablica 6.7.Vrste atributa

Atribut Vrsta

Karakteristično

Specijalitet

Specijalizacija

Mjesto rada

Razina stručnosti

Ime

Opis

Disciplina

PUNO IME. učitelj, nastavnik, profesor

Odaberimo za svaki entitet ključne atribute koji jedinstveno definiraju entitet. Za subjekt "Student" to će biti jedinstveni broj, za entitet "Radno iskustvo" sva polja su ključna, budući da u različitim specijalnostima student može imati različito radno iskustvo u različitim tvrtkama. Suštinu "Test" određuje naziv, budući da učenik za jedan test može imati samo jednu ocjenu. Ocjenu ispita određuje samo naziv predmeta, stručna ocjena ovisi o nastavniku koji ju je izradio, stoga ćemo kao ključne atribute odabrati “Disciplina” i “Puno ime. učitelj, nastavnik, profesor ". Za entitet "Strani jezik", razina znanja ovisi samo o nazivu jezika, stoga će to biti ključni atribut.

Dobivamo novi dijagram prikazan na sl. 6.5, gdje će svi ključni atributi biti iznad vodoravne trake unutar okvira koji predstavlja entitet.

Riža. 6.5.ERD dijagram studentske baze podataka s ključnim atributima

Kontrolna pitanja

  1. Koji su glavni dijelovi ERD dijagrama?
  2. Svrha ERD dijagrama.
  3. Koja je glavna komponenta relacijskih baza podataka?
  4. Što se naziva entitetom?
  5. Formulirajte načelo imenovanja entiteta.
  6. Što pokazuje odnos između entiteta?
  7. Koje su vrste logičkih odnosa.
  8. Kako se prikazuju logički odnosi?
  9. Opišite mehanizam za provjeru adekvatnosti logičkog modela.
  10. Što se zove primarni ključ?
  11. Koji su principi prema kojima se formira primarni ključ?
  12. Što se zove alternativni ključ?
  13. Što se naziva inverzijskim unosom?
  14. Kada se generiraju strani ključevi?
  1. Tema, svrha rada.
  2. ERD-dijagram službe za zapošljavanje DB s atributima i ključevima.
  3. Zaključci o radu

Uvod. Osnovni koncepti baze podataka

Baze podataka (DB) koriste se u raznim područjima i sferama ljudske djelatnosti. Na primjer, mogu postojati baze podataka koje sadrže informacije o kupcima, robi, pruženim uslugama, komercijalnim transakcijama itd. U stručnoj literaturi predlažu se mnoge definicije baza podataka koje odražavaju određene aspekte subjektivnog mišljenja različitih autora. Pod bazom podataka ćemo razumjeti skup objekata (robe, kupaca, naselja) prikazanih na način da ih je moguće pretraživati ​​i obraditi pomoću računala. Sredstva za upravljanje tim podacima nazivaju se sustavi upravljanja bazama podataka(DBMS).

Povijest razvoja sustava za upravljanje bazama podataka (DBMS) seže desetljećima unatrag. Prvi industrijski DBMS tvrtke IBM pušten je u rad 1968. godine, a 1975. godine pojavio se prvi standard koji je definirao niz osnovnih pojmova u teoriji sustava baza podataka.

Razvoj računalne tehnologije, pojava osobnih računala, moćnih radnih stanica i računalnih mreža doveli su do razvoja tehnologije baza podataka. Računala su postala alat za dokumentiranje, prisiljavajući programere da kreiraju sustave koji se obično nazivaju desktop DBMS-ovima.

Pojavom lokalnih mreža dolazi do prijenosa informacija između računala, pa je nastao problem usklađivanja podataka pohranjenih i obrađenih na različitim mjestima, ali logički povezanih. Rješenje ovog problema dovelo je do pojave distribuiranih baza podataka koje omogućuju organiziranje paralelne obrade informacija i održavanje integriteta baza podataka.

Za distribuiranu pohranu podataka i pristup bazi podataka, računala se spajaju u lokalne, regionalne, pa čak i globalne mreže. Trenutno se tehnologija klijent-poslužitelj naširoko koristi za izgradnju mreža. Sustav klijent-poslužitelj je obična lokalna mreža koja sadrži skupinu klijentskih računala i jedno posebno računalo - poslužitelj. Računala klijenta traže od poslužitelja razne usluge. Računalo poslužitelja može im slati razne programe, kao što su obrada teksta, rad s tablicama, izvršavanje upita baze podataka i vraćanje rezultata. Osnovna ideja je da svako računalo radi ono što radi najučinkovitije. Poslužitelj dohvaća i ažurira podatke, klijent izvodi prilagođene izračune i daje rezultate krajnjem korisniku. U početku su poslužitelji obavljali najjednostavnije funkcije: poslužitelji za ispis, poslužitelji datoteka, na zahtjev klijenta za pristup datoteci, poslužitelj je tu datoteku slao na klijentsko računalo. Poslužitelj baze podataka je program koji se izvodi na poslužiteljskom računalu i održava klijentski pristup bazi podataka. Dakle, sustav klijent-poslužitelj temelji se na principu podjele rada. Klijent je računalo s kojim korisnik radi, a poslužiteljsko računalo obavlja održavanje za grupu klijenata: pristup bazi podataka, ažuriranje baze podataka itd. Progresivan način kolektivnog pristupa bazama podataka u posljednjih 20 godina bilo je korištenje World Wide Weba sa skupinom njegovih usluga.

Primjeri poslužitelja uključuju:

Telekomunikacijski poslužitelj koji pruža uslugu povezivanja lokalne mreže s drugim mrežama i poslužiteljima;

Računalni poslužitelj, koji omogućuje izvođenje proračuna koji se ne mogu izvesti na radnim stanicama;

Diskovni poslužitelj koji ima proširene resurse vanjske memorije i čini ih dostupnim za korištenje klijentskim računalima i eventualno drugim poslužiteljima;

Poslužitelj datoteka koji podržava zajedničku pohranu datoteka za sve radne stanice;

Poslužitelj baze podataka je zapravo običan DBMS koji prima i opslužuje zahtjeve preko lokalne mreže.

Iako je obično jedna cijela baza podataka pohranjena na jednom mrežnom čvoru i održava ju jedan poslužitelj, poslužitelji baze podataka su jednostavna i jeftina aproksimacija distribuiranim bazama podataka jer je zajednička baza podataka dostupna svim korisnicima na lokalnoj mreži.

Pristup bazi podataka iz aplikacijskog programa ili korisnika ostvaruje se pristupom klijentskoj strani sustava. Glavno sučelje između dijelova klijenta i poslužitelja je jezik SQL baze podataka. Skupni naziv SQL Server odnosi se na sve poslužitelje baze podataka temeljene na SQL-u. Poštujući mjere opreza u programiranju, moguće je kreirati aplikacijske informacijske sustave, mobilne u klasi SQL-poslužitelja.

Jedno od obećavajućih područja DBMS-a je fleksibilna konfiguracija sustava, u kojoj se raspodjela funkcija između klijentskih i korisničkih dijelova DBMS-a određuje tijekom instalacije sustava.

DBMS mora osigurati logički integritet podataka . Logički integritet baze podataka trebao bi podrazumijevati održavanje dosljednih i potpunih informacija koje na odgovarajući način odražavaju predmetno područje.

Pojam je povezan sa zahtjevom logičkog integriteta podataka transakcije. Transakcija- skupina logički ujedinjenih sekvencijalnih operacija za rad s podacima, obrađenim ili potpuno poništenim. Na primjer, ako naručite određeni proizvod, trebate izvršiti niz operacija: registrirati narudžbu za proizvod, rezervirati proizvod, smanjiti ovaj proizvod u skladištu. Ako dođe do kršenja u bilo kojoj od faza, doći će do kvara i narušit će se logički integritet baze podataka. Kako bi se spriječili takvi slučajevi, uvodi se transakcija "Checkout". , u kojem se sve potrebne operacije moraju ili izvršiti nad bazom podataka, t.j. proizvod je prodan, smanjuje se njegova količina u skladištu ili dolazi do vraćanja u prvobitno stanje (proizvod se ne prodaje i njegova količina u skladištu ostaje ista).

DBMS je u interakciji između baze podataka i korisnika sustava, kao i između baze podataka i aplikacijskih programa koji implementiraju određene funkcije obrade podataka.

DBMS osiguravaju pouzdano skladištenje velikih količina složenih podataka u vanjskoj memoriji računala i učinkovit pristup njima. Glavne funkcije DBMS-a su:

· Definicija podataka - određuju se informacije koje treba pohraniti u bazi podataka, postavlja se struktura podataka, njihov tip i naznačuje se kako će podaci biti međusobno povezani;

· Obrada podataka - podaci se mogu obraditi na različite načine: odabrati bilo koja polja, filtrirati i sortirati podatke, kombinirati podatke i izračunati ukupne vrijednosti;

· Upravljanje podacima - utvrđuju se pravila za pristup podacima, njihovu promjenu i dodavanje novih podataka, utvrđuju pravila za kolektivno korištenje podataka.

Hijerarhijski model podataka

Prvi hijerarhijski modeli podataka pojavili su se u kasnim 1950-ima. Predstavljali su strukturu nalik stablu, gdje su podaci raspoređeni po razinama od glavnog do podređenog i predstavljali su neusmjereni graf. Primjer hijerarhijskog modela podataka prikazan je na Sl. 1.

Slika 1. Hijerarhijski model podataka

Model je karakteriziran brojem razina i čvorova. Svaka razina predstavlja jedan ili više objekata (podataka) i može imati nekoliko čvorova podređenih razina, a veze između svih objekata su kruto fiksirane i jedan potomak može imati najviše jednog pretka. Glavne vrste struktura podataka modela koji se razmatra su polje, zapis, datoteka. Zapis je glavna strukturna jedinica obrade podataka i jedinica za razmjenu između operativne i vanjske memorije. U modelu koji se temelji na zapisima, baza podataka se sastoji od zapisa fiksnog formata koji mogu biti različitih tipova. Svaki tip zapisa definira fiksni broj polja, od kojih svako ima fiksnu duljinu.

Polje je elementarna jedinica logičke organizacije podataka koja odgovara zasebnoj, nedjeljivoj jedinici informacija – atributu.

Zapis je zbirka polja koja odgovaraju logički povezanim atributima. Struktura zapisa određena je sastavom i slijedom njegovih sastavnih polja, od kojih svako sadrži elementarne podatke.

Datoteka je skup zapisa iste strukture s vrijednostima u zasebnim poljima, a polja imaju jedno značenje.

Tipičan predstavnik (najpoznatiji i najrašireniji) je IBM-ov IMS (Information Management System). Prva verzija sustava pojavila se 1968. godine.

2.2.2. Mrežni podatkovni model

Mrežni model podrazumijeva se kao podatkovni model sličan hijerarhijskom, ali koji omogućuje slobodan sustav povezivanja između čvorova različitih razina. To je proširenje hijerarhijskog modela podataka. Dakle, mrežni modeli dopuštaju prisutnost dvaju ili više "predaka" (slika 2).

Za razliku od hijerarhijskog modela, potomak mrežnog modela može imati više od jednog pretka, a jedan objekt može biti i glavni i podređeni. Stoga je u ovom modelu odnos između podataka takav da svaki zapis može biti podređen zapisima iz više datoteka. U mrežnim modelima, pomoću ključa možete imati izravan pristup bilo kojem objektu, bez obzira na razinu na kojoj se nalazi u modelu.

Prednost mrežnog modela može se pripisati učinkovitosti implementacije u smislu stupnja potrošnje memorije i brzine pristupa. Nedostatak je povećana složenost sheme podataka izgrađene na njezinoj osnovi.

Riža. 2. Mrežni podatkovni model

Tipični predstavnik sustava temeljenih na modelu mrežnih podataka je IDMS (Integrated Database Management System), razvijen od strane Cullinet Software, Inc. i izvorno usmjeren na korištenje velikih računala (računala opće namjene) od strane IBM-a. Arhitektura sustava temelji se na prijedlozima Grupe zadataka baze podataka (DBTG) organizacije CODASYL (Conference on Data Systems Languages) koja je bila odgovorna za definiranje programskog jezika COBOL. DBTG izvješće je objavljeno 1971. godine, a ubrzo nakon toga pojavilo se nekoliko sustava koji podržavaju arhitekturu CODASYL, uključujući IDMS. IDMS je trenutno u vlasništvu Computer Associatesa.

Normalizacija baze podataka

Kod projektiranja baza podataka najvažnije je definirati strukture tablica i međusobne odnose. Pogreške u strukturi podataka je teško, ako ne i nemoguće, programski ispraviti. Što je struktura podataka bolja, to je lakše programirati bazu podataka. Teorija dizajna baze podataka sadrži koncept normalnih oblika dizajniranih za optimizaciju strukture baze podataka. Normalni oblici su linearni slijed pravila primijenjenih na bazu podataka, a što je veći broj normalnog oblika, to je struktura baze podataka savršenija. Normalizacija je proces u više koraka u kojem se tablice baze podataka organiziraju, razdvajaju i podaci se dovode u red. Zadatak normalizacije je uklanjanje nekih nepoželjnih karakteristika iz baze podataka. Konkretno, zadatak je eliminirati neke vrste redundantnosti podataka i na taj način izbjeći anomalije prilikom promjene podataka. Anomalije promjene podataka su složenosti u operacijama umetanja, mijenjanja i brisanja podataka koje proizlaze iz strukture baze podataka. Iako postoji mnogo razina, obično je dovoljno normalizirati se u treći normalni oblik.

Razmotrimo primjer normalizacije baze podataka upravljanja isporukom narudžbi. Neuređena baza podataka "Prodaja" sastojala bi se od jedne tablice (slika 7).

Slika 7. DB "Prodaja"

U tablici svaki zapis sadrži podatke o nekoliko narudžbi od istog kupca. Budući da stupac s podacima o proizvodu sadrži previše podataka, teško je dobiti naručene podatke iz ove tablice (npr. sastaviti izvješće o ukupnim kupnjama za različite vrste robe).

Prvi normalni oblik

Prvi normalni oblik unaprijed određuje atomičnost svih podataka sadržanih u stupcima. Riječ "atom" dolazi od latinskog "atomis", što doslovno znači "neodvojiv". Prvi normalni oblik specificira da postoji samo jedna vrijednost na svakoj poziciji definiranoj redkom i stupcem, a ne nizom ili popisom vrijednosti. Prednosti ovog zahtjeva su očite: ako su popisi vrijednosti pohranjeni u jednom stupcu, onda ne postoji jednostavan način za manipuliranje tim vrijednostima. Naravno, to povećava broj zapisa u tablici.

Normalizirajmo bazu podataka prodaje na prvi normalni oblik (slika 8).

Slika 8. Prvi normalni oblik

3.3.2. Drugi normalni oblik

Možete ići na Drugi normalni oblik iz tablice koja već odgovara Prvom normalnom obliku. Dodatno, mora biti zadovoljen sljedeći uvjet: svako polje koje nije ključ mora u potpunosti ovisiti o primarnom ključu.

Normalizirajmo bazu podataka prodaje na drugi normalni oblik. Sve informacije koje se ne odnose na pojedinačne narudžbe bit će istaknute u zasebnoj tablici. Kao rezultat toga, umjesto jedne tablice "Prodaja" dobit ćemo dvije - tablicu "Narudžbe" (slika 9) i tablicu "Proizvodi" (slika 10).

Slika 9. Tablica narudžbi

Slika 10. Tablica proizvoda

Dakle, vrsta proizvoda je pohranjena u samo jednoj tablici. Imajte na umu da se tijekom normalizacije ne gube nikakvi podaci.

3.3.3. Treći normalni oblik

Smatra se da je tablica u trećem normalnom obliku ako je u drugom normalnom obliku i svi stupci koji nisu ključni su međusobno neovisni. Stupac čije su vrijednosti izračunate iz podataka u drugim stupcima jedan je primjer ovisnosti.

Normalizirajmo bazu podataka prodaje u treći normalni oblik. Da biste to učinili, uklonite stupac "Ukupno" iz tablice "Narudžbe". Vrijednosti u ovom stupcu su neovisne o bilo kojem ključu i mogu se izračunati pomoću formule ("Cijena") * ("Količina"). Tako smo dobili bazu podataka "Prodaja" optimalne strukture koja se sastoji od dvije tablice (slika 11.).

Riža. 11. Normalizirana baza podataka "Prodaja"

3.2 Softverska implementacija baze podataka

Softverska implementacija baze podataka provodi se kreiranjem ciljnog DBMS-a u jeziku definicije podataka (DDL). DDL naredbe se kompiliraju i koriste za generiranje shema i praznih datoteka baze podataka. U istoj fazi definiraju se i svi specifični korisnički pogledi.

Aplikacijski programi se provode na jezicima treće ili četvrte generacije. Neki elementi ovih aplikacija bit će transakcije obrade baze podataka napisane u jeziku za obradu podataka (DML) ciljnog DBMS-a i pozvane iz programa u temeljnom programskom jeziku - na primjer, Visual Basic, C++, Java. Također stvara druge komponente aplikacijskog projekta — na primjer, zaslone izbornika, obrasce za unos podataka i izvješća. Treba imati na umu da mnogi postojeći DBMS-ovi imaju vlastite razvojne alate koji vam omogućuju brzo kreiranje aplikacija koristeći neproceduralne jezike upita, razne generatore izvješća, generatore obrazaca, generatore grafike i generatore aplikacija.

Ova faza također implementira alate koje aplikacija koristi za zaštitu baze podataka i održavanje njezina integriteta. Neki od njih su opisani korištenjem DDL jezika, dok će druge možda trebati odrediti drugim sredstvima - na primjer, korištenjem dodatnih DBMS uslužnih programa ili stvaranjem aplikacijskih programa koji implementiraju tražene funkcije.

3.2.1. Razvoj aplikacija

Razvoj aplikacije je dizajn korisničkog sučelja i aplikacijskih programa dizajniranih za rad s bazom podataka. U većini slučajeva dizajn aplikacije ne može biti dovršen dok se dizajn baze podataka ne dovrši. S druge strane, baza podataka je dizajnirana da podržava aplikacije, tako da mora postojati stalna razmjena informacija između dizajna baze podataka i dizajna aplikacija za tu bazu podataka.

Morate osigurati da sve funkcionalnosti predviđene u specifikacijama korisničkih zahtjeva osigurava korisničko sučelje odgovarajućih aplikacija. To se odnosi i na dizajn aplikacija za pristup informacijama u bazi i na dizajn transakcija, t.j. projektiranje metoda pristupa bazi podataka.

Osim dizajniranja načina na koji korisnik može pristupiti funkciji koja im je potrebna, trebali biste također dizajnirati odgovarajuće korisničko sučelje za svoje aplikacije baze podataka. Ovo sučelje treba pružiti informacije koje su korisniku potrebne na najprikladniji način za njega.

3.2.2 Testiranje baze podataka

Testiranje je proces izvršavanja aplikacijskih programa kako bi se pronašle greške. Prije puštanja novog sustava u praksu, potrebno ga je temeljito ispitati. To se može postići razvojem promišljenog algoritma testiranja korištenjem stvarnih podataka, koji moraju biti konstruirani na način da se cijeli proces testiranja izvodi na strogo sekvencijalan i metodički ispravan način. Zadatak testiranja nije proces demonstriranja odsutnosti bugova, malo je vjerojatno da će moći dokazati odsutnost grešaka u softveru - naprotiv, može samo pokazati njihovu prisutnost. Ako testiranje bude uspješno, tada će se greške u aplikacijskim programima i strukturama baza podataka definitivno otkriti. Kao nusproizvod, testiranje može samo pokazati da baza podataka i aplikacije rade u skladu sa svojim specifikacijama dok zadovoljavaju postojeće zahtjeve performansi. Osim toga, prikupljanje statističkih podataka u fazi testiranja omogućuje utvrđivanje pokazatelja pouzdanosti i kvalitete izrađenog softvera.

Kao i kod dizajna baze podataka, korisnici novog sustava moraju biti uključeni u proces testiranja. U idealnom slučaju, testiranje sustava treba provesti na zasebnom skupu opreme, ali često to jednostavno nije moguće. Kada koristite stvarne podatke, važno je prvo napraviti sigurnosne kopije u slučaju oštećenja uslijed pogrešaka. Po završetku testiranja proces izrade aplikacijskog sustava smatra se završenim, te se može prenijeti u industrijski pogon.

3.3 Rad i održavanje baze podataka

Rad i održavanje - Održavajte normalno funkcioniranje baze podataka.

U prethodnim koracima aplikacija baze podataka je u potpunosti implementirana i testirana. Sustav sada ulazi u posljednju fazu svog životnog ciklusa pod nazivom Operacije i održavanje. Uključuje izvođenje radnji kao što su:

· Praćenje performansi sustava. Ako izvedba padne ispod prihvatljive razine, može biti potrebna dodatna reorganizacija baze podataka;

· Održavanje i modernizacija (po potrebi) aplikacija baze podataka. Novi zahtjevi se ugrađuju u aplikaciju baze podataka kada se ponavljaju prethodne faze životnog ciklusa.

Nakon što je baza podataka u funkciji, trebali biste stalno pratiti proces njenog rada kako biste osigurali da performanse i drugi pokazatelji ispunjavaju zahtjeve. Tipični DBMS obično pruža razne pomoćne programe za administraciju baze podataka, uključujući pomoćne programe za učitavanje podataka i praćenje performansi sustava. Ovi uslužni programi mogu pratiti performanse sustava i pružiti informacije o različitim metričkim vrijednostima kao što su korištenje baze podataka, zaključavanje performansi sustava (uključujući informacije o broju zastoja koji su se dogodili) i odabrane strategije izvršavanja upita. Administrator baze podataka može koristiti ove informacije za podešavanje sustava za poboljšanje performansi (na primjer, stvaranjem dodatnih indeksa), ubrzavanje upita, promjenu struktura pohrane, spajanje ili dijeljenje pojedinačnih tablica.

Proces praćenja mora se održavati tijekom cijelog procesa prijave, tako da se učinkovita reorganizacija baze podataka može provesti u bilo kojem trenutku kako bi se zadovoljili promjenjivi zahtjevi. Promjene poput ovih pružaju informacije o najvjerojatnijim poboljšanjima baze podataka i resursima koji bi mogli biti potrebni u budućnosti. Ako korišteni DBMS nema neke od potrebnih uslužnih programa, administrator će ih morati samostalno razviti ili kupiti potrebne dodatne alate od programera trećih strana.

4. DBMS Microsoft Access

4.1. Svrha i općenite informacije o Microsoft Access DBMS-u

Sustav Microsoft Access je sustav za upravljanje bazom podataka koji koristi relacijski model podataka i dio je aplikacijskog paketa Microsoft Office. Dizajniran je za pohranjivanje, unos, pretraživanje i uređivanje podataka, kao i njihovo izdavanje u prikladnom obliku.

Aplikacije za Microsoft Access uključuju sljedeće:

· U malom poduzetništvu (računovodstvo, unos narudžbi, vođenje podataka o kupcima, održavanje informacija o poslovnim kontaktima);

· U velikim korporacijama (aplikacije za radne grupe, sustavi za obradu informacija);

· Kao osobni DBMS (imenik adresa, vođenje investicijskog portfelja, kuharica, katalozi knjiga, zapisa, videa itd.).

Access je jedan od najmoćnijih, najjednostavnijih i najjednostavnijih sustava za upravljanje bazom podataka. Budući da je Access dio Microsoft Officea, ima mnoge karakteristike Office aplikacija i može komunicirati s njima. Na primjer, dok radite u Accessu, možete otvarati i uređivati ​​datoteke, a možete koristiti međuspremnik za kopiranje podataka iz drugih aplikacija.

Alati za dizajn objekata u Accessu su "čarobnjaci" i "dizajneri". Riječ je o posebnim programima koji se koriste za izradu i uređivanje tablica, upita, raznih vrsta obrazaca i izvješća. Obično se "čarobnjak" koristi za stvaranje, a "dizajner" - za uređivanje objekata. Proces uređivanja uključuje promjenu izgleda nekog objekta kako bi se on poboljšao. Prilikom uređivanja obrasca možete promijeniti nazive i redoslijed polja, povećati ili smanjiti veličinu područja za unos podataka itd. Također možete koristiti "konstruktor" za izradu obrazaca, ali to je vrlo dugotrajan posao. Access uključuje softverske alate koji vam pomažu analizirati strukture podataka, uvoziti proračunske tablice i tekstualne podatke, poboljšati performanse aplikacija te izraditi i prilagoditi aplikacije pomoću ugrađenih predložaka. Da biste u potpunosti automatizirali svoje aplikacije, možete koristiti makronaredbe za povezivanje podataka na obrasce i izvješća.

Access implementira upravljanje relacijskim bazama podataka. Sustav podržava primarne i strane ključeve. Održava integritet podataka na razini kernela, što sprječava nekompatibilne operacije ažuriranja ili brisanja. Tablice u Accessu opremljene su alatima za provjeru valjanosti podataka; nevažeći unos nije dopušten. Svako polje u tablici ima svoj format i standardne opise koji olakšavaju unos podataka. Access podržava sljedeće vrste polja, uključujući: Tab, Tekst, Numerički, Brojač, Valuta, Datum/Vrijeme, MEMO, Boolean, Hiperveza, OLE objektna polja, Privitak i Izračunato. Ako polja ne sadrže nikakve vrijednosti, sustav pruža punu podršku za null vrijednosti.

U programu Access možete koristiti grafiku, baš kao u Microsoft Wordu, Excelu, PowerPointu i drugim aplikacijama, za izradu različitih vrsta grafikona i grafikona. Možete stvoriti trakaste, 2D i 3D karte. Možete dodati sve vrste objekata u Access obrasce i izvješća: slike, grafikone, audio i video isječke. Povezivanjem ovih objekata s dizajniranom bazom podataka možete kreirati dinamičke obrasce i izvješća. Također možete koristiti makronaredbe u Accessu za automatizaciju nekih zadataka. Omogućuju vam otvaranje i zatvaranje obrazaca i izvješća, stvaranje izbornika i dijaloških okvira kako bi se automatiziralo kreiranje raznih aplikacijskih zadataka.

Access pruža kontekstno osjetljivu pomoć klikom , a na zaslonu će se prikazati pozadinske informacije o problemu koji korisnika u ovom trenutku zanima. U tom slučaju možete jednostavno otići do sadržaja sustava pomoći, specifičnih informacija, povijesti prethodnih poziva i oznaka. Podaci baze podataka pohranjeni su u datoteci s nastavkom .accdb.

4.2. Microsoft Access objekti

Kada pokrenete Access DBMS, pojavljuje se prozor za kreiranje nove baze podataka ili za rad s prethodno kreiranim bazama podataka ili već postojećim predlošcima (slika 12).

Riža. 12. Pokretanje pristupa

Predlošci su prazne strukture baze podataka u kojima se definiraju vrste polja, kreiraju glavni objekti, vrši se odnos između tablica itd.

Kada izradite novu bazu podataka, Access otvara praznu tablicu koja sadrži jedan redak i dva stupca (slika 13).

Slika 13. Novi prozor baze podataka

U lijevom dijelu prozora (područje navigacije) prikazani su svi kreirani objekti baze podataka, dok vidimo samo praznu tablicu, jer stvoreni objekti u novoj bazi podataka više ne postoje (slika 13). Glavni objekti Access DBMS-a su sljedeći.

Tablice... Tablice su glavni objekti baza podataka jer pohranjuju sve podatke i definiraju strukturu baze podataka. Baza podataka može sadržavati tisuće tablica, čija je veličina ograničena samo raspoloživim prostorom na tvrdom disku na vašem računalu. Broj zapisa u tablicama određen je veličinom tvrdog diska, a broj polja nije veći od 255.

Tablice u Accessu mogu se kreirati na sljedeći način:

· U načinu rada "konstruktor";

· U načinu unosa podataka u tablicu.

Tablicu možete izraditi uvozom ili povezivanjem s podacima pohranjenim negdje drugdje. To se može učiniti, na primjer, s podacima pohranjenim u Excel datoteci, na popisu Windows SharePoint Services, XML datoteci, drugoj bazi podataka MS ACCESS. SharePoint popis omogućuje vam da omogućite pristup podacima korisnicima koji nemaju instaliran MS ACCESS. Uvoz podataka stvara njihovu kopiju u novoj tablici u trenutnoj bazi podataka. Naknadne promjene izvornih podataka neće utjecati na uvezene podatke i obrnuto. Kada se vežete na podatke, u trenutnoj bazi podataka stvara se povezana tablica koja se dinamički povezuje s podacima pohranjenim negdje drugdje. Promjene podataka u povezanoj tablici odražavaju se u izvoru, a promjene izvora odražavaju se u povezanoj tablici.

Prikaz tablice prikazuje podatke koji su pohranjeni u tablici, a prikaz dizajna prikazuje strukturu tablice.

Ako tablice dijele polja, možete koristiti podređenu tablicu za umetanje zapisa iz druge u jednu tablicu. Ovaj pristup omogućuje pregled podataka iz više tablica u isto vrijeme.

Upiti... Upiti su posebni alati dizajnirani za pretraživanje i analizu informacija u tablicama baze podataka koje zadovoljavaju određene kriterije. Pronađeni zapisi, koji se nazivaju rezultati upita, mogu se pregledavati, uređivati ​​i analizirati na razne načine. Osim toga, rezultati upita mogu se koristiti kao osnova za stvaranje drugih Access objekata. Postoje razne vrste upita, od kojih su najčešći upiti za odabir, parametrički i unakrsni upiti, upiti za brisanje zapisa, upiti za izmjenu i drugi. Manje često korišteni su akcijski upiti i SQL (Structured Query Language) upiti. Ako traženi zahtjev nije dostupan, može se dodatno kreirati.

Upiti se formiraju na različite načine, na primjer, pomoću "čarobnjaka", upit možete kreirati i ručno u načinu "dizajn". Najjednostavniji i najčešće korišteni tip upita je upit za odabir. Ovi upiti odabiru podatke iz jedne ili više tablica i iz njih formiraju novu tablicu čiji se zapisi mogu mijenjati. Upiti za odabir koriste se za izračun zbroja, prosjeka i drugih zbroja. Dakle, upiti koriste podatke iz temeljnih tablica i stvaraju privremene tablice.

Obrasci... Obrasci se koriste za unos i uređivanje zapisa u tablicama baze podataka. Obrasci se mogu prikazati u tri načina: u načinu namjenjenom za unos podataka, u načinu rada tablice, gdje su podaci prikazani u tabelarnom formatu, te u načinima "izgled" i "dizajn" koji vam omogućuju izmjene i dopune na forme.

Glavni elementi obrasca su oznake koje označavaju tekst koji se izravno prikazuje u obrascu i polja koja sadrže vrijednosti polja u tablici. Dok vam način dizajna omogućuje stvaranje obrasca od nule, obično se koristi za pročišćavanje i poboljšanje obrazaca stvorenih pomoću čarobnjaka. Osim gore navedenih alata, obrasci se mogu izraditi i pomoću sljedećih alata:

· "forma";

· "Split form";

· "Nekoliko elemenata";

· "Prazan obrazac".

Najučinkovitije je koristiti obrasce za unos podataka u obliku posebnih obrazaca, budući da obrazac može biti u obliku obrasca. Korištenje obrazaca omogućuje unos podataka u obliku poznatih dokumenata koji je jednostavan za korištenje. I/O obrasci omogućuju unos podataka u bazu podataka, pregled, promjenu vrijednosti polja, dodavanje i brisanje zapisa. Obrazac može sadržavati gumb koji se koristi za ispis izvješća, otvaranje drugih objekata ili automatsko izvršavanje drugih zadataka.

Izvještaji... Izvješća se koriste za prikaz informacija u tablicama u formatiranom obliku, koji je jasno prikazan i na ekranu monitora i na papiru. Izvješće je učinkovit alat za ispis podataka iz baze podataka u obliku koji zahtijeva korisnik (u obliku referenci, ispitnih listova, tablica i sl.). Osim podataka dohvaćenih iz više tablica i upita, izvješća mogu uključivati ​​elemente dizajna za ispis kao što su naslovi, zaglavlja i podnožja.

Izvješće se može prikazati u četiri načina: u načinu "dizajn", koji vam omogućuje promjenu izgleda izvješća, u načinu prikaza uzorka, u kojem možete prikazati sve elemente gotovog izvješća, ali u skraćenom obliku obliku, u načinu rada "layout", koji vam omogućuje jasniji prikaz (u odnosu na način dizajna) i formatiranje izvješća, te u načinu pregleda, gdje se izvješće prikazuje onako kako će biti ispisano.

Tablice, upiti, obrasci i izvješća najčešće su korišteni objekti u dizajnu baze podataka programa Access.

Međutim, mogućnosti baze podataka mogu se značajno proširiti korištenjem pristupnih stranica, makronaredbi i modula.

Stranice. Kako biste korisnicima Interneta omogućili pristup informacijama, možete stvoriti posebne stranice za pristup podacima u bazi podataka. Stranice za pristup podacima omogućuju vam pregled, dodavanje, izmjenu i manipulaciju podacima pohranjenim u bazi podataka. Stranice za pristup podacima mogu sadržavati i podatke iz drugih izvora, kao što je Excel. Za objavljivanje informacija iz baze podataka u Web Access, uključen je "čarobnjak" koji stvara pristupnu stranicu.

Makronaredbe. Makronaredbe su mali programi od jedne ili više makronaredbi koje izvode određene operacije koje, na primjer, otvaraju obrazac, ispisuju izvješća, kliknu gumb itd. Ovo je osobito korisno ako namjeravate prenijeti bazu podataka nekvalificiranim korisnicima. Na primjer, možete napisati makronaredbe koje sadrže niz naredbi koje izvode rutinske zadatke ili pridružiti radnje kao što je otvaranje obrasca ili ispis izvješća s gumbima na obrascu s gumbima.

Moduli. Modul je objekt baze podataka koji vam omogućuje stvaranje knjižnica rutina i funkcija koje se koriste u cijeloj aplikaciji. Korištenjem kodova modula možete rješavati zadatke kao što su rukovanje pogreškama u unosu, deklariranje i primjena varijabli, organiziranje petlji itd.

Izrada tablica

Kada unosite podatke u Access, polja se nazivaju: Polje1, Polje2 i tako dalje. Možete koristiti predložene nazive ili ih promijeniti. Nazivi polja u tablici mogu se postaviti na dva načina. Nakon odabira načina kreiranja tablice, naredba “ Stvoriti„I odgovarajući prozor se zove. Slika 8. prikazuje kreiranje tablice u načinu "dizajn". Potrebna polja tablice kreiraju se s navedenom vrstom podataka koja se odabire pomoću gumba za odabir - "kvačica", u donjem dijelu prozora nalazi se odjeljak za odabir svojstava polja, koja su inicijalno ponuđena po zadanim postavkama .

Riža. 14. Izrada tablice u načinu dizajna

Svojstva polja tablice Access baze podataka prikazana su u donjoj polovici tablice (slika 14).

Možete stvoriti tablicu u načinu "Dizajn" mijenjanjem, dodavanjem ili uklanjanjem polja iz tablice. Za unos novog polja u gornjem dijelu prozora tablice navodi se naziv polja i određuje se njegov tip. Da biste preimenovali polje, morate promijeniti njegovo ime u stupcu "Naziv polja".

Pri izradi tablica koriste se sljedeće osnovne vrste podataka (slika 15).

Vrhunski povezani članci