Kako podesiti pametne telefone i računare. Informativni portal

Logički model predstavljanja znanja.

Za predstavljanje matematičkog znanja u matematičkoj logici, oni koriste logičke formalizme - propozicioni račun i račun predikata. 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 predikatske logike.

Predikat je funkcija koja uzima dvije vrijednosti (true ili false) i dizajnirana je da izrazi svojstva objekata ili odnosa između njih. Poziva se izraz koji potvrđuje ili poriče postojanje bilo kojeg svojstva objekta izgovor. Konstante služe za imenovanje objekata predmetne oblasti. Logičke rečenice ili izjave atomske formule. Tumačenje predikata je skup svih važećih vezivanja varijabli sa konstantama. Vezivanje je stalna zamjena varijabli umjesto varijabli. Predikat se smatra valjanim ako je istinit u svim mogućim interpretacijama. Kaže se da iskaz logički proizlazi iz datih premisa ako je istinit kad god su premise tačne.

Opisi predmetnih oblasti napravljeni na logičkim jezicima se nazivaju logičkih modela .

DAJTE (MIHAEL, VLADIMIR, KNJIGA);

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

Evo dva načina da zabilježite jednu činjenicu: "Mihail je dao knjigu Vladimiru."

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

U opštem slučaju, logički modeli se zasnivaju na konceptu formalna teorija dato od četvorice:

S = ,

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

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

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

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

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

Hajde da pokažemo metodu rezolucija.

Metoda koristi nekoliko koncepata i teorema.

Koncept tautologije, logična formula, čija će vrijednost biti "tačna" za sve vrijednosti atoma uključenih u njih. Da li je označeno sa ?, čita se kao "univerzalno važeće" ili "uvijek istinito".

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

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

Simbol? čita kao "tačno" ili "može se zaključiti."

Metoda se zasniva na dokazu tautologije

? (X? A)?(Y? ? A)? (X? Y) .

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

(X? A), (Y? ? A) ? (X? Y),

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

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

1. Operacije ekvivalencije i implikacije su eliminirane:

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

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

Pravilo razrješenja sadrži vezu klauzula na lijevoj strani, stoga je dovođenje premisa korištenih za dokaz u formu koja je spoj klauzula neophodan korak u gotovo svakom algoritmu koji implementira logičko zaključivanje zasnovano na metodi rezolucije. Metoda rezolucije se lako programira, što je jedna od njenih 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. Konstruisanje poricanja zaključka o kojem se treba zaključiti. Rezultirajuća konjunkcija je važeća kada su i istovremeno tačne.

3. Primjena pravila rezolucije:

(kontradikcija ili "prazna klauzula").

Dakle, pod pretpostavkom da je izvedeni zaključak lažan, dobijamo kontradikciju, dakle, izvedeni zaključak je tačan, tj. , izvodi se iz početnih premisa.

Bilo je to pravilo rezolucije koje je poslužilo kao osnova za kreiranje logičkog programskog jezika PROLOG. U stvari, PROLOG tumač jezika nezavisno implementira izlaz sličan onom gore opisanom, formirajući odgovor na pitanje korisnika upućeno bazi znanja.

U logici predikata, da bi se primijenilo pravilo rezolucije, potrebno je izvršiti složenije objedinjavanje logičkih formula kako bi se one svele na sistem 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 rezolucije. Obično se u ovom slučaju provodi dedukcija izvedenog zaključka, a algoritam dedukcije se može ukratko opisati na sljedeći način: R iz aksioma teorije Th, konstruisana je negacija R i dodaje se na Th, čime se dobija nova teorija Th1. Nakon svođenja aksioma teorije na sistem klauzula, moguće je konstruisati konjunkciju i aksiome teorije Th. U ovom slučaju moguće je izvesti klauzule – posljedice iz početnih klauzula. Ako R može se izvesti iz aksioma teorije Th, onda je u procesu dedukcije moguće dobiti određenu klauzulu Q koja se sastoji od jednog slova i suprotnog klauzula. Ova kontradikcija to sugerira R izvedeno iz aksioma Th. Uopšteno govoreći, postoji mnogo strategija dokazivanja, a mi smo razmotrili samo jednu od mogućih – odozgo prema dolje.

Primjer: Predstavimo sljedeći tekst pomoću logike predikata:

„Ako student zna dobro programirati, onda može postati specijalista u oblasti primijenjenih računarskih nauka.“

"Ako je student dobro položio ispit iz informacionog sistema, onda može dobro programirati."

Predstavimo ovaj tekst pomoću predikatske logike prvog reda. Hajde da uvedemo notaciju: X- varijabla koja označava učenika; U redu- konstanta koja odgovara nivou vještina; R(X)- predikat koji izražava mogućnost subjekta X postati specijalista za primijenjenu informatiku; Q(X, u redu)- predikat koji označava vještinu subjekta X program sa ocjenom U redu; R(X, u redu)- predikat koji specificira odnos učenika X sa ispitnim ocjenama iz informacionih sistema.

Sada napravimo puno dobro oblikovanih formula:

Q (X, dobro).

R(X, dobro)Q(X, dobro).

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

Hajde da izvedemo zaključak koristeći pravilo rezolucije da odredimo da li je formula R(ivanov) posledica gornje teorije. Drugim rečima, da li je iz ove teorije moguće izvesti činjenicu da će student Ivanov postati specijalista primenjenih računarskih nauka ako dobro položi ispit iz informacionih sistema?

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 klauzula

(X, dobro) R (X)? ? P(ivanov, dobro)? ? Q(ivanov, dobro), zamena varijable X po konstanti ivanov.

Rezultat primjene pravila rezolucije se zove rezoluciju... U ovom slučaju, rezolvent je (ivanov).

4. Konstruirajte spoj klauzula koristeći rezolventu dobivenu u koraku 3:

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

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

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

Dakle, č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 rezolvent dobijen u prethodnom koraku.

Međutim, uz pomoć pravila koja definišu sintaksu jezika, nemoguće je utvrditi istinitost ili netačnost ove ili one izjave. Ovo se odnosi na sve jezike. Izjava može biti sintaktički ispravna, ali se može pokazati potpuno besmislenom. Visok stepen uniformnosti takođe povlači još jedan nedostatak. logičkih modela- složenost upotrebe u dokazu heuristika koje odražavaju specifičnosti konkretnog predmetnog problema. Ostali nedostaci formalnih sistema uključuju njihovu monotoniju, nedostatak sredstava za strukturiranje elemenata koji se koriste i neprihvatljivost kontradikcija. Dalji razvoj baza znanja išao je putem rada u oblasti induktivne logike, logike "zdravog razuma", logike vjere i drugih logičkih shema koje imaju malo zajedničkog sa klasičnom matematičkom logikom.

Logički model podataka je opis objekata u predmetnom području, njihovih atributa i odnosa između njih do te mjere da su predmet direktnog skladištenja u sistemskoj bazi podataka.

Logički model se gradi u nekoliko faza sa postepenim pristupom opciji optimalnoj za date uslove. Efikasnost takvog modela zavisi od toga koliko blisko odražava predmetnu oblast koja se proučava. Predmetna oblast obuhvata objekte (dokumente, račune, operacije sa njima itd.), kao i karakteristike ovih objekata, njihova svojstva, interakciju i međusobni uticaj.

Dakle, prilikom izgradnje logičkog modela podataka, prvo se identifikuju oni objekti koji su od interesa za korisnike dizajnirane baze podataka. Zatim se za svaki objekat formulišu karakteristike i svojstva koja adekvatno opisuju dati objekat. Ove karakteristike će se dalje odraziti u bazi podataka kao odgovarajuća polja.

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

Hijerarhijski;

Mreža;

Relaciona.

Hijerarhijski model je struktura nalik stablu koja izražava veze subordinacije nižeg nivoa prema višem. Ovo olakšava pronalaženje informacija ako upiti imaju istu strukturu.

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

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

Opis korisnika i korisničkih grupa sistema

Razvijeni informaciono-referentni sistem mogu da koriste i zaposleni u bioskopu i posetioci. Zaposlenik kina može obezbijediti montažu dostupnih informacija o dostupnim filmovima, promijeniti radno vrijeme bioskopa, uključiti novopristigle filmove na repertoar kina; a posjetitelj može vidjeti informacije o radnom vremenu kina, cijenama ulaznica, filmovima za danas.

Model domene

Jedan od najpogodnijih alata za objedinjenu reprezentaciju podataka, nezavisno od softvera koji ga implementira, je model odnosa entiteta (ER-model). Model odnosa entiteta zasnovan je 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 prema drugim podacima. Kategorije "suština" i "veza" proglašavaju se temeljnim, a razdvajaju se u fazi kreiranja specifičnih predstava određene predmetne oblasti.

Svaki entitet pripada određenoj klasi, drugim riječima, odgovara određenom tipu. 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.

Kolekcija entiteta i klasa odnosa čini najviši nivo modela.

Entiteti i odnosi su opisani njihovim karakterističnim atributima. Među atributima entiteta ili odnosa razlikuje se podlista, čije vrijednosti atributa jedinstveno identificiraju entitet ili odnos unutar tipa. Entiteti, odnosi i atributi čine niži nivo 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štiji.

Model entitet-odnos predstavljen je u Dodatku E.

Relaciona baza podataka se sastoji od normalizovanih tabela. U procesu učitavanja i prilagođavanja baze podataka, za dobijanje informacija o upitima i izlaznim izveštajima, kao i za rešavanje većine zadataka, potrebno je istovremeno pristupiti nekoliko međusobno povezanih tabela. Odnos između tablica baze podataka uspostavlja se relacijskim odnosima.

Veze definisane u šemi podataka se automatski koriste pri razvoju multitabularnih obrazaca, upita, izveštaja, što uveliko pojednostavljuje proces njihovog dizajna.

Softverski proizvod predstavljen je projektom Cinema koji ima 4 međusobno povezana stola:

Bilety - informacije o prodatim 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čunarskog sistema i koji prikazuje stanje objekata i njihove međusobne odnose u predmetnoj oblasti koja 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.

Sistem za upravljanje bazom podataka (DBMS) je kompleks jezičkih i softverskih alata dizajniranih za kreiranje, održavanje i dijeljenje baza podataka od strane mnogih korisnika. Tipično, DBMS se razlikuje po korištenom modelu podataka. Dakle, DBMS zasnovani na upotrebi relacionog modela podataka nazivaju se relacionim DBMS.

Rječnik podataka je podsistem baze podataka dizajniran za centralizirano skladištenje informacija o strukturama podataka, međusobnim odnosima datoteka baze podataka, tipovima podataka i formatima njihove prezentacije, podacima koji pripadaju korisnicima, sigurnosnim i kontrolnim kodovima itd.

Informacioni sistemi zasnovani na korišćenju baza podataka obično rade u arhitekturi klijent-server. U ovom slučaju, baza podataka se nalazi na serverskom računaru i dijeli se.

Server određenog resursa u računarskoj mreži je računar (program) koji upravlja ovim resursom, a klijent je računar (program) koji koristi ovaj resurs. Kao resurs računarske mreže, na primjer, mogu djelovati baze podataka, datoteke, usluge štampanja i poštanske usluge.

Prednost organizovanja informacionog sistema na klijent-server arhitekturi je uspešna kombinacija centralizovanog skladištenja, održavanja i kolektivnog pristupa opštim korporativnim informacijama sa individualnim radom korisnika.

Prema osnovnom principu klijent-server arhitekture, podaci se obrađuju samo na serveru. Korisnik ili aplikacija generira upite koji dolaze na poslužitelj baze podataka u obliku SQL naredbi. Server baze podataka omogućava pretragu i pronalaženje potrebnih podataka, koji se zatim prenose na računar korisnika. Prednost ovog pristupa u odnosu na prethodne je znatno manja količina prenetih podataka.



Razlikuju se sljedeće vrste DBMS-a:

* DBMS sa svim funkcijama;

* serveri baze podataka;

* alati za razvoj programa za rad sa bazom podataka.

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

Industrijski, DBMS predstavljaju softversku osnovu za razvoj automatizovanih sistema upravljanja velikim privrednim objektima. Industrijski DBMS mora ispunjavati sljedeće zahtjeve:

* mogućnost organizovanja zajedničkog paralelnog rada više korisnika;

* skalabilnost;

* prenosivost na različite hardverske i softverske platforme;

* stabilnost u odnosu na kvarove različitih vrsta, uključujući prisustvo višeslojnog sistema rezervnih kopija pohranjenih informacija;

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

Personal DBMS je softver namenjen rešavanju problema lokalnog korisnika ili male grupe korisnika i namenjen za korišćenje na personalnom računaru. Ovo objašnjava njihovo drugo ime - desktop. Definišuće ​​karakteristike desktop sistema su:

* relativna jednostavnost upotrebe, koja vam omogućava da kreirate funkcionalne korisničke aplikacije 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 visokog nivoa
deklarativni tip, dizajniran da opiše logički
strukture podataka;

* jezik za manipulaciju podacima - skup konstrukcija koje obezbeđuju osnovne operacije za rad sa podacima: unos, modifikacija i preuzimanje podataka na zahtev.

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 kombinuje svojstva oba tipa jezika.

DBMS implementira sljedeće osnovne funkcije niskog nivoa:

* upravljanje podacima u eksternoj memoriji;

* upravljanje RAM baferima;

* 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 OS fajl sistemu.

Potreba za baferovanjem podataka je zbog činjenice da je količina RAM-a manja od količine eksterne memorije. Baferi su područja glavne memorije dizajnirana da ubrzaju razmjenu između vanjske i glavne memorije. Baferi 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 niz operacija nad podacima baze podataka, koji DBMS prati od početka do kraja. Ako iz bilo kojeg razloga (kvarovi i kvarovi na hardveru, greške u softveru, uključujući 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 nijedna);

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

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

Primjer transakcije je operacija prijenosa novca sa jednog računa na drugi u bankarskom sistemu. Prvo se novac podiže sa jednog računa, a zatim se dopisuje na drugi račun. Ako barem jedna od radnji nije uspješna, rezultat operacije će biti netačan i ravnoteža operacije će biti poremećena.

Evidentiranje promjena vrši DBMS kako bi se osigurala pouzdanost skladištenja podataka u bazi podataka u prisustvu hardverskih i softverskih kvarova.

Osiguranje integriteta baze podataka je neophodan uslov za uspješno funkcionisanje baze podataka, posebno kada se koristi na mreži. Integritet baze podataka je svojstvo baze podataka, što znači da sadrži potpune, dosljedne i adekvatno odražavaju informacije o predmetnoj oblasti. Integralno stanje baze podataka opisuje se korištenjem ograničenja integriteta u obliku uvjeta koje moraju ispuniti podaci pohranjeni u bazi podataka.

Sigurnost se u DBMS-u postiže enkripcijom podataka, zaštitom lozinkom, podrškom za nivoe pristupa bazi podataka i njenim pojedinačnim elementima (tabele, obrasci, izvještaji itd.).

Faze kreiranja baze podataka.

Dizajniranje baza podataka informacionih sistema je prilično naporan zadatak. Izvodi se na osnovu formalizacije strukture i procesa predmetne oblasti, informacije o kojima bi trebalo da budu pohranjene u bazi podataka. Razlikovati idejni i shematski-strukturni dizajn.

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

Navedimo faze idejnog dizajna:

1. Proučavanje predmetne oblasti radi formiranja opšteg razumevanja o njoj;

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

3. Određivanje glavnih objekata-entiteta predmetne oblasti
i odnos između njih;

4. Formalizovana prezentacija predmetne oblasti.

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

1. Određivanje liste tabela i relacija između njih;

2. Određivanje liste polja, tipova polja, ključnih polja svake tabele (šema tabele), uspostavljanje veza između tabela preko stranih ključeva;

3. Uspostavljanje indeksiranja za polja u tabelama;

4. Izrada lista (rečnika) za polja sa nabrojanim
podaci;

5. Postavljanje ograničenja integriteta za tabele i relacije;

6. Normalizacija tabela, korekcija liste tabela i linkova.

Relacijske baze podataka.

Relaciona baza podataka je skup međusobno povezanih tabela, od kojih svaka sadrži informacije o objektima određenog tipa. Svaki red tabele sadrži podatke o jednom objektu (npr. automobil, računar, kupac), a kolone tabele sadrže različite karakteristike ovih objekata – atribute (npr. broj motora, marku procesora, telefonske brojeve kompanija ili kupci).

Redovi u tabeli se nazivaju zapisi. Svi zapisi tabele imaju istu strukturu – sastoje se od polja (elemenata podataka), u kojima se pohranjuju atributi objekta (slika 1). Svako polje zapisa sadrži jednu karakteristiku objekta i predstavlja dati tip 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.

Primarni ključ

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

Podaci tabele "Učitelj"

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

Sekundarni ključ

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

Sekundarno je polje tabele koje može sadržati samo vrednosti koje se nalaze u polju ključa druge tabele na koju upućuje sekundarni ključ. Sekundarni ključ povezuje dvije tabele.

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 (glavni, koji 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 tipa odnosa između tabela baze podataka:

- "jedan prema više"

- "jedan na jedan"

- "mnogo-na-mnogo"

Odnos jedan-na-jedan nastaje kada se jedan zapis u nadređenoj tablici podudara sa jednim zapisom u podređenoj tablici.

Odnos više-prema-mnogo se javlja kada:

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

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

Odnos jedan prema više nastaje 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ćem, nižem nivou je logički model podataka domene. Logički model opisuje koncepte predmetne oblasti, njihov odnos, kao i ograničenja podataka koja nameće predmetna oblast. Primjeri pojmova su "zaposlenik", "odjel", "projekat", "plata". Primjeri odnosa između pojmova - "zaposlenik je naveden u tačno jednom odjelu", "zaposlenik može izvoditi više projekata", "više zaposlenih može raditi na jednom projektu". Primjeri ograničenja su „starost zaposlenika nije manja 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... Štaviše, logički model podataka ne mora biti izražen pomoću tačnog 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, pošto mi razmatramo samo relacioni DBMS, onda možemo pretpostaviti da je logički model podataka za nas formulisan u terminima relacionog modela podataka.

Odluke donesene na prethodnom nivou, prilikom razvoja modela domene, definišu neke granice unutar kojih se može razviti logički model podataka, dok se unutar tih granica mogu donositi različite odluke. Na primjer, model predmetne oblasti skladišnog računovodstva sadrži koncepte "skladište", "faktura", "roba". Prilikom razvoja odgovarajućeg relacionog modela, ovi termini se moraju koristiti, ali ovdje postoji mnogo različitih načina implementacije - možete kreirati 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.

Kada se razvija logički model podataka, postavljaju se pitanja: da li su odnosi dobro osmišljeni? Da li ispravno odražavaju model domene, a time i samu domenu?

Fizički model podataka... Na još nižem nivou je fizički model podataka. Fizički model podataka opisuje podatke pomoću specifičnog DBMS-a. Pretpostavićemo da je fizički model podataka implementiran pomoću precizno relacijski DBMS, iako, kao što je gore spomenuto, ovo nije obavezno. Odnosi razvijeni u fazi formiranja logičkog modela podataka konvertuju se u tabele, atributi postaju kolone tabela, kreiraju se jedinstveni indeksi za ključne atribute, domeni se konvertuju u tipove podataka prihvaćene u određenom DBMS-u.

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

Prilikom dizajniranja fizičkog modela podataka, postavljaju se pitanja: Da li su tabele dobro dizajnirane? Da li su indeksi ispravno odabrani? Koliko koda u obliku pokretača i pohranjenih procedura treba razviti da bi se održao integritet podataka?

  • upoznati se sa tehnologijom 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 kreiranju 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 vam omogućava da pogledate cijeli sistem i saznate zahtjeve za njegov razvoj u pogledu pohrane informacija.

ERD dijagrami se mogu podeliti u zasebne delove koji odgovaraju pojedinačnim zadacima koje rešava projektovani sistem. Ovo vam omogućava da vidite sistem u smislu funkcionalnosti, čineći proces dizajna upravljivim.

ERD dijagrami

Kao što znate, glavna komponenta relacionih baza podataka je tabela. Tabela se koristi za strukturiranje i pohranjivanje informacija. U relacionim bazama podataka, svaka ćelija u tabeli sadrži jednu vrednost. Osim toga, unutar iste baze podataka, postoje odnosi između tabela, od kojih svaka specificira dijeljenje podataka tablice.

ERD dijagram grafički predstavlja strukturu podataka projektovanog informacionog sistema. Entiteti se prikazuju pomoću pravokutnika koji sadrže ime. Uobičajeno je da se imena izražavaju imenicama u jednini, odnosi - pomoću linija koje povezuju pojedinačne entitete. Odnos ukazuje da su podaci iz jednog entiteta referencirani ili povezani sa podacima iz drugog.

Rice.6.1. Primjer ERD dijagrama,

Definiranje entiteta i atributa

Entitet je subjekt, mjesto, stvar, događaj ili koncept koji sadrži informacije. Preciznije, entitet je kolekcija (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, broj telefona itd. U logičkom modelu, sve ove karakteristike se nazivaju atributi entiteta.

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

Rice. 6.2. ERD-dijagram sa 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 veza:

  • tim uključuje mnogo igrača,
  • avion prevozi mnogo putnika,
  • prodavac 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 sa tačkom na jednom kraju i glagolom iznad linije.

Pored odnosa jedan-prema-više, postoji još jedna vrsta odnosa - mnogo-prema-mnogima. Ovaj tip odnosa opisuje situaciju u kojoj instance entiteta mogu komunicirati s višestrukim instancama drugih entiteta. Odnosi mnogo-prema-mnogo se koriste tokom početnih faza projektovanja. Ovaj tip odnosa se prikazuje kao puna linija sa tačkama na oba kraja.

Odnos više-prema-više možda neće uzeti u obzir određena sistemska ograničenja i stoga može biti zamijenjen sa 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 napraviti rečenice koje ih opisuju. Na primjer, prema modelu prikazanom na sl. 6.3, možete napraviti sljedeće rečenice:

Avion prevozi putnike. Veliki broj putnika se prevozi jednim avionom.

Izrada takvih prijedloga omogućava vam da provjerite usklađenost rezultirajućeg modela sa zahtjevima i ograničenjima sistema koji se kreira.

Rice. 6.3.Primjer logičkog modela sa relacijom

Model podataka baziran na ključu

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

Odabir primarnog ključa

Prilikom kreiranja 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 precizno 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, onda je ovo već druga instanca entiteta.

Kada birate primarni ključ, entitetu možete dodati dodatni atribut i učiniti ga ključem. Dakle, da bi se odredio primarni ključ, često se koriste jedinstveni brojevi, koje sistem može automatski generirati kada se instanca entiteta doda u bazu podataka. Upotreba 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 efikasan pristup bazi podataka i mora se promijeniti tokom dizajna fizičkog modela.

Potencijalni ključ koji nije postao primarni ključ naziva se alternativni ključ. ERWin vam omogućava da odaberete atribute alternativnih ključeva, a prema zadanim postavkama, u budućnosti, prilikom generiranja šeme baze podataka, za ove atribute će se generirati jedinstveni indeks. Kada kreirate alternativni ključ, simboli (AK) se pojavljuju na dijagramu pored atributa.

Atributi uključeni u nejedinstvene indekse nazivaju se inverzioni unosi. Inverzni ulazi su atribut ili grupa atributa koji ne identificiraju jedinstveno instancu, ali se često koriste za upućivanje na instance entiteta. ERWin generiše 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 formira referencu na atribute primarnog ključa u podređenom entitetu, a ti atributi formiraju strani ključ u podređenom entitetu. Atributi stranog ključa se identificiraju (FK) znakovima nakon njihovog imena.

Primjer

Razmotrimo proces konstruisanja logičkog modela na primjeru baze podataka studenata sistema „Služba za zapošljavanje u okviru Univerziteta“. Prvi korak je definiranje entiteta i atributa. Baza podataka će čuvati evidenciju o studentima, dakle entitet će biti student.

Tabela 6.1.Atributi entiteta "Student".

Atribut Opis
Broj Jedinstveni broj za identifikaciju korisnika
PUNO IME. Prezime, ime i patronimija korisnika
Lozinka Lozinka za pristup sistemu
Dob Studentski uzrast
Kat Pol studenta
Karakteristično Memo polje sa opštim karakteristikama korisnika
Email Email adrese
Telefon Studentski brojevi telefona (kuća, posao)
iskustvo Specijalnosti i studentsko radno iskustvo u svakom od njih
Specijalitet Specijalnost koju student stiče po završetku studija
Specijalizacija Smjer specijalnosti u kojoj se student obučava
Strani jezik Spisak stranih jezika i nivo njihovog znanja
Testiranje Spisak testova i ocene njihovog polaganja
Stručni pregled Spisak predmeta sa stručnim ocjenama za svaki od njih
Ocjene na ispitu Spisak položenih predmeta sa ocjenama

Rezultirajuća lista sadrži atribute koji se ne mogu definirati kao jedno polje baze podataka. Takvi atributi zahtijevaju dodatne definicije i treba ih smatrati entitetima, koji se sastoje, zauzvrat, od atributa. To uključuje: radno iskustvo, strani jezik, testiranje, recenzije, ocjene na ispitima. Hajde da definišemo njihove atribute.

Tabela 6.2.Atributi entiteta "Radno iskustvo".

Tabela 6.3.Atributi entiteta stranog jezika

Tabela 6.4.Atributi entiteta za testiranje

Tabela 6.5.Atributi entiteta stručne presude

Atribut Opis
Disciplina Naziv discipline u kojoj je student ocjenjivan
PUNO IME. nastavnik PUNO IME. nastavnik koji je ocjenio učenika
Ocjena Stručna ocjena nastavnika
Atribut Opis
Stvar Naziv predmeta za koji je položen ispit
Ocjena Rezultirajući rezultat

Napravimo ERD dijagram, definišući tipove atributa i navodeći odnose između entiteta (slika 6.4). Svi entiteti će zavisiti od entiteta "Student". Odnosi će biti jedan prema više.

Rice. 6.4.ERD-dijagram DB studenata

Rezultirajući dijagram prikazuje svoje ime pored odnosa, koji 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.

Tabela 6.7.Vrste atributa

Atribut Tip

Karakteristično

Specijalitet

Specijalizacija

Mjesto rada

Nivo znanja

Ime

Opis

Disciplina

PUNO IME. nastavnik

Odaberimo za svaki entitet ključne atribute koji jedinstveno definiraju entitet. Za entitet "Student" ovo će biti jedinstven broj, za entitet "Radno iskustvo" su ključna sva polja, jer na različitim specijalnostima student može imati različito radno iskustvo u različitim kompanijama. Suštinu "Test" određuje naziv, jer učenik može imati samo jednu ocjenu za jedan test. Ocjenu ispita određuje samo naziv predmeta, stručna ocjena zavisi od nastavnika koji ju je uradio, stoga ćemo kao ključne atribute izabrati „Disciplina“ i „Puno ime. učiteljica“. Za entitet „Strani jezik“, nivo znanja zavisi samo od naziva jezika, pa će to biti ključni atribut.

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

Rice. 6.5.ERD dijagram studentske baze podataka sa ključnim atributima

Kontrolna pitanja

  1. Koji su glavni dijelovi ERD dijagrama?
  2. Svrha ERD dijagrama.
  3. Koja je glavna komponenta relacionih baza podataka?
  4. Šta se zove entitet?
  5. Formulirajte princip imenovanja entiteta.
  6. Šta 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. Šta se naziva primarni ključ?
  11. Koji su principi prema kojima se formira primarni ključ?
  12. Šta se zove alternativni ključ?
  13. Šta se naziva inverzionim unosom?
  14. Kada se generišu strani ključevi?
  1. Tema, svrha rada.
  2. ERD-dijagram DB servisa za zapošljavanje sa atributima i ključevima.
  3. Zaključci o radu

Uvod. Osnovni koncepti baze podataka

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

Istorija razvoja sistema za upravljanje bazama podataka (DBMS) seže decenijama unazad. Prvi industrijski DBMS kompanije IBM pušten je u rad 1968. godine, a 1975. godine pojavio se prvi standard koji je definisao niz osnovnih koncepata u teoriji sistema baza podataka.

Razvoj računarske tehnologije, pojava personalnih računara, moćnih radnih stanica i računarskih mreža doveli su do razvoja tehnologije baza podataka. Računari su postali alat za dokumentovanje, prisiljavajući programere softvera da kreiraju sisteme koji se obično nazivaju desktop DBMS-ovima.

Pojavom lokalnih mreža, informacije se prenose između računara, pa je nastao problem usaglašavanja 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ćavaju organiziranje paralelne obrade informacija i održavanje integriteta baza podataka.

Za distribuirano skladištenje podataka i pristup bazi podataka, računari se kombinuju u lokalne, regionalne, pa čak i globalne mreže. Trenutno se tehnologija klijent-server široko koristi za izgradnju mreža. Klijent-server sistem je obična lokalna mreža koja sadrži grupu klijentskih računara i jedan poseban računar - server. Klijentski računari traže od servera različite usluge. Računar servera može im poslati različite programe, kao što su obrada teksta, rad sa tabelama, izvršavanje upita baze podataka i vraćanje rezultata. Osnovna ideja je da svaki računar radi ono što radi najefikasnije. Server preuzima i ažurira podatke, klijent vrši prilagođene proračune i daje rezultate krajnjem korisniku. U početku su serveri obavljali najjednostavnije funkcije: serveri za štampanje, serveri datoteka, na zahtev klijenta da pristupi datoteci, server je ovu datoteku slao na računar klijenta. Server baze podataka je program koji radi na serverskom računaru i održava klijentski pristup bazi podataka. Dakle, sistem klijent-server zasniva se na principu podjele rada. Klijent je računar sa kojim korisnik radi, a serverski računar 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 je korištenje World Wide Weba sa grupom njegovih usluga.

Primjeri servera uključuju:

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

Računalni server, koji omogućava izvođenje proračuna koji se ne mogu izvesti na radnim stanicama;

Diskovni server koji ima proširene eksterne memorijske resurse i čini ih dostupnim za korištenje klijentskim računarima i eventualno drugim serverima;

Datotečni server koji podržava zajedničku pohranu datoteka za sve radne stanice;

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

Iako se obično jedna cijela baza podataka pohranjuje na jednom hostu i održava je na jednom serveru, serveri 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 se ostvaruje pristupom klijentskoj strani sistema. Glavni interfejs između klijentskog i serverskog dela je jezik SQL baze podataka. Skupno ime SQL Server odnosi se na sve poslužitelje baze podataka bazirane na SQL-u. Poštujući mere predostrožnosti u programiranju, moguće je kreirati aplikativne informacione sisteme, mobilne u klasi SQL-servera.

Jedno od obećavajućih oblasti DBMS-a je fleksibilna konfiguracija sistema, u kojoj se raspodela funkcija između klijentskih i korisničkih delova DBMS-a određuje tokom instalacije sistema.

DBMS mora osigurati logički integritet podataka . Logički integritet baze podataka treba da implicira održavanje konzistentnih i potpunih informacija koje na odgovarajući način odražavaju predmetnu oblast.

Koncept je povezan sa zahtjevom logičkog integriteta podataka transakcije. Transakcija- grupa logički objedinjenih sekvencijalnih operacija za rad sa podacima, obrađenim ili potpuno poništenim. Na primjer, ako naručite određeni proizvod, potrebno je 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, a logički integritet baze podataka će biti narušen. Kako bi se spriječili ovakvi slučajevi, uvodi se transakcija "Checkout". , u kojoj se sve potrebne operacije moraju ili izvršiti nad bazom podataka, tj. proizvod se proda, 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 sistema, kao i između baze podataka i aplikativnih programa koji implementiraju određene funkcije obrade podataka.

DBMS omogućavaju pouzdano skladištenje velikih količina složenih podataka u eksternoj memoriji računara i efikasan pristup njima. Glavne funkcije DBMS-a su:

· Definicija podataka – određuju se informacije koje treba da budu pohranjene u bazi podataka, postavlja se struktura podataka, njihov tip i 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, kombinovati podatke i izračunati ukupne iznose;

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

Hijerarhijski model podataka

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

Slika 1. Hijerarhijski model podataka

Model karakterizira broj nivoa i čvorova. Svaki nivo predstavlja jedan ili više objekata (podataka) i može imati nekoliko čvorova podređenih nivoa, a veze između svih objekata su čvrsto fiksirane i jedan potomak može imati najviše jednog pretka. Glavni tipovi 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 eksterne memorije. U modelu zasnovanom 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 dužinu.

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

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

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

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

2.2.2. Mrežni podatkovni model

Mrežni model se shvata kao model podataka sličan hijerarhijskom, ali koji omogućava slobodan sistem veza između čvorova različitih nivoa. To je proširenje hijerarhijskog modela podataka. Dakle, mrežni modeli dozvoljavaju prisustvo dva 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. Dakle, u ovom modelu, odnos između podataka je 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 direktan pristup bilo kojem objektu, bez obzira na nivo na kojem se nalazi u modelu.

Prednost mrežnog modela može se pripisati efikasnosti implementacije u smislu stepena potrošnje memorije i brzine pristupa. Nedostatak je povećana složenost šeme podataka izgrađene na njenoj osnovi.

Rice. 2. Mrežni model podataka

Tipičan predstavnik sistema zasnovanih na modelu mrežnih podataka je IDMS (Integrated Database Management System), razvijen od strane Cullinet Software, Inc. i prvobitno se fokusirao na korištenje velikih računala (računara opće namjene) od strane IBM-a. Arhitektura sistema je zasnovana na prijedlozima Radne grupe za baze podataka (DBTG) organizacije CODASYL (Konferencija o jezicima sistema podataka), koja je bila odgovorna za definiranje programskog jezika COBOL. DBTG izvještaj je objavljen 1971. godine, a ubrzo nakon toga pojavilo se nekoliko sistema koji podržavaju CODASYL arhitekturu, uključujući IDMS. IDMS je trenutno u vlasništvu Computer Associates.

Normalizacija baze podataka

Prilikom dizajniranja baza podataka najvažnije je definirati strukture tabela i relacije između njih. Greš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 formi dizajniranih da optimiziraju strukturu baze podataka. Normalni oblici su linearni niz 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 tabele baze podataka organizuju, 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 proizilaze iz strukture baze podataka. Iako postoji mnogo nivoa, obično je dovoljno da se normalizuje u Treći normalni oblik.

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

Slika 7. DB "Prodaja"

U tabeli, svaki zapis sadrži informacije o nekoliko narudžbi od istog kupca. Budući da kolona s podacima o proizvodu sadrži previše podataka, teško je dobiti naručene podatke iz ove tabele (na primjer, sastaviti izvještaj o ukupnim kupovinama za različite vrste robe).

Prva normalna forma

Prvi normalni oblik unaprijed određuje atomičnost svih podataka sadržanih u stupcima. Reč "atom" dolazi od latinskog "atomis", što doslovno znači "neodvojiv". Prvi normalni oblik specificira da samo jedna vrijednost postoji na svakoj poziciji definiranoj redom i stupcem, a ne nizom ili listom vrijednosti. Prednosti ovog zahtjeva su očigledne: ako su liste vrijednosti pohranjene u jednoj koloni, onda ne postoji jednostavan način da se manipuliše tim vrijednostima. Naravno, ovo povećava broj zapisa u tabeli.

Hajde da normalizujemo bazu podataka prodaje na prvi normalni oblik (slika 8).

Slika 8. Prva normalna forma

3.3.2. Drugi normalni oblik

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

Hajde da normalizujemo bazu podataka prodaje u drugi normalni oblik. Sve informacije koje se ne odnose na pojedinačne narudžbe bit će istaknute u posebnoj tabeli. Kao rezultat, umjesto jedne tabele "Prodaja" dobićemo dvije - tabelu "Narudžbe" (slika 9) i tabelu "Proizvodi" (slika 10).

Slika 9. Tablica narudžbi

Slika 10. Tabela proizvoda

Dakle, tip proizvoda je pohranjen u samo jednoj tabeli. Imajte na umu da se nijedna informacija ne gubi tokom normalizacije.

3.3.3. Treći normalni oblik

Smatra se da je tabela u trećem normalnom obliku ako je u drugom normalnom obliku i sve kolone koje nisu ključne su međusobno nezavisne. Kolona čije su vrijednosti izračunate iz podataka u drugim stupcima jedan je primjer zavisnosti.

Hajde da normalizujemo bazu podataka prodaje u treći normalni oblik. Da biste to učinili, uklonite kolonu "Ukupno" iz tabele "Narudžbe". Vrijednosti u ovoj koloni su nezavisne od bilo kojeg ključa i mogu se izračunati pomoću formule ("Cijena") * ("Količina"). Tako smo dobili bazu podataka "Prodaja" sa optimalnom strukturom, koja se sastoji od dvije tabele (slika 11).

Rice. 11. Normalizovana baza podataka "Prodaja"

3.2 Softverska implementacija baze podataka

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

Aplikacioni programi se realizuju korišćenjem jezika treće ili četvrte generacije. Neki elementi ovih aplikacija će biti transakcije obrade baze podataka napisane u jeziku za manipulaciju podacima (DML) ciljnog DBMS-a i pozvane iz programa u osnovnom programskom jeziku - na primjer, Visual Basic, C++, Java. Takođe kreira druge komponente projekta aplikacije — na primer, ekrane menija, obrasce za unos podataka i izveštaje. Treba imati na umu da mnogi postojeći DBMS-ovi imaju sopstvene razvojne alate koji vam omogućavaju da brzo kreirate aplikacije koristeći neproceduralne jezike upita, razne generatore izveštaja, generatore obrazaca, generatore grafičkih slika i generatore aplikacija.

Ova faza također implementira alate koje aplikacija koristi za zaštitu baze podataka i održavanje njenog 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 kreiranjem aplikativnih programa koji implementiraju tražene funkcije.

3.2.1. Razvoj aplikacija

Razvoj aplikacije je dizajn korisničkog interfejsa i aplikativnih programa dizajniranih za rad sa bazom podataka. U većini slučajeva, dizajn aplikacije ne može biti dovršen dok se dizajn baze podataka ne završ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 sva funkcionalnost predviđena u specifikacijama korisničkih zahtjeva bude osigurana korisničkim sučeljem odgovarajućih aplikacija. Ovo se odnosi kako na dizajn aplikacija za pristup informacijama u bazi podataka tako i na dizajn transakcija, tj. dizajniranje metoda pristupa bazi podataka.

Pored dizajniranja načina na koji korisnik može pristupiti funkcionalnosti koja mu je potrebna, trebali biste dizajnirati i odgovarajuće korisničko sučelje za vaše aplikacije baze podataka. Ovaj interfejs treba da pruži informacije koje su korisniku potrebne na najprikladniji način za njega.

3.2.2 Testiranje baze podataka

Testiranje je proces izvršavanja aplikativnih programa u cilju pronalaženja grešaka. Prije stavljanja novog sistema u praksu, potrebno ga je temeljno testirati. To se može postići razvijanjem promišljenog algoritma testiranja korištenjem stvarnih podataka, koji moraju biti konstruirani na način da se cijeli proces testiranja izvodi na striktno sekvencijalan i metodički ispravan način. Zadatak testiranja nije proces demonstriranja odsustva grešaka, malo je vjerovatno da će moći pokazati odsustvo grešaka u softveru - naprotiv, može samo pokazati njihovo prisustvo. Ako testiranje bude uspješno, onda ć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 ispunjavaju postojeće zahtjeve performansi. Osim toga, prikupljanje statističkih podataka u fazi testiranja omogućava utvrđivanje pokazatelja pouzdanosti i kvaliteta kreiranog softvera.

Kao i kod dizajna baze podataka, korisnici novog sistema moraju biti uključeni u proces testiranja. U idealnom slučaju, testiranje sistema bi trebalo da se izvrši na posebnom setu 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 grešaka. Po završetku testiranja, proces kreiranja aplikativnog sistema smatra se završenim i može se prebaciti u industrijski pogon.

3.3 Rad i održavanje baze podataka

Rad i održavanje - Održavanje normalnog funkcionisanja baze podataka.

U prethodnim koracima aplikacija baze podataka je u potpunosti implementirana i testirana. Sistem 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 sistema. Ako performanse padnu ispod prihvatljivog nivoa, 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.

Kada je baza podataka u funkciji, trebali biste stalno pratiti proces njenog rada kako biste osigurali da performanse i drugi pokazatelji ispunjavaju zahtjeve. Tipičan DBMS obično pruža različite pomoćne programe za administraciju baze podataka, uključujući pomoćne programe za učitavanje podataka i praćenje performansi sistema. Ovi uslužni programi mogu pratiti performanse sistema i pružiti informacije o različitim metrikama kao što su korištenje baze podataka, zaključavanje performansi sistema (uključujući informacije o broju zastoja koji su se dogodili) i strategije izvršavanja upita koje se mogu birati. Administrator baze podataka može koristiti ove informacije da podesi sistem da poboljša performanse (na primjer, kreiranjem dodatnih indeksa), ubrzanjem upita, promjenom struktura skladištenja, spajanjem ili cijepanjem pojedinačnih tablica.

Proces praćenja mora se održavati tokom cijelog procesa aplikacije, tako da se efektivna reorganizacija baze podataka može izvršiti u bilo koje vrijeme kako bi se ispunili promjenjivi zahtjevi. Promjene poput ovih pružaju informacije o najvjerovatnijim 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će strane.

4. DBMS Microsoft Access

4.1 Svrha i opšte informacije o Microsoft Access DBMS-u

Microsoft Access sistem je sistem za upravljanje bazom podataka koji koristi relacioni model podataka i deo je paketa aplikacija 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 biznisu (računovodstvo, unos narudžbi, održavanje informacija o klijentima, održavanje informacija o poslovnim kontaktima);

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

· Kao lični DBMS (imenik adresa, vođenje investicionog portfelja, kuvar, katalozi knjiga, zapisi, video zapisi, itd.).

Access je jedan od najmoćnijih, najlakših i najjednostavnijih sistema za upravljanje bazom podataka. Budući da je Access dio Microsoft Officea, on 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". To su posebni programi koji se koriste za kreiranje i uređivanje tabela, upita, raznih vrsta obrazaca i izvještaja. Obično se "čarobnjak" koristi za kreiranje, 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. Možete koristiti i "konstruktor" za kreiranje obrazaca, ali to je posao koji oduzima mnogo vremena. Access uključuje softverske alate koji vam pomažu da analizirate strukture podataka, uvezete proračunske tablice i tekstualne podatke, poboljšate performanse aplikacija i kreirate i prilagodite aplikacije pomoću ugrađenih predložaka. Da biste u potpunosti automatizirali svoje aplikacije, možete koristiti makroe za povezivanje podataka na obrasce i izvještaje.

Access implementira upravljanje relacionim bazama podataka. Sistem podržava primarne i strane ključeve. Održava integritet podataka na nivou kernela, što sprečava nekompatibilne operacije ažuriranja ili brisanja. Tabele u Access-u su opremljene alatima za provjeru valjanosti podataka; nevažeći unos nije dozvoljen. Svako polje u tabeli ima svoj format i standardne opise koji olakšavaju unos podataka. Access podržava sljedeće tipove polja, uključujući: Tab, Tekst, Numerički, Brojač, Valuta, Datum/Vrijeme, MEMO, Boolean, Hiperveza, OLE objektna polja, Prilog i Izračunato. Ako polja ne sadrže nijednu vrijednost, sistem 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 kreiranje različitih vrsta grafikona i grafikona. Možete kreirati trakaste, 2D i 3D grafikone. Možete dodati sve vrste objekata u Access obrasce i izvještaje: slike, grafikone, audio i video zapise. Povezivanjem ovih objekata sa dizajniranom bazom podataka, možete kreirati dinamičke forme i izveštaje. Također možete koristiti makroe u Accessu za automatizaciju nekih zadataka. Omogućavaju vam da otvarate i zatvarate obrasce i izvještaje, kreirate menije i dijaloške okvire kako biste automatizirali kreiranje različitih zadataka aplikacije.

Access pruža kontekstualnu pomoć klikom , a na ekranu će se prikazati pozadinske informacije o pitanju koje korisnika trenutno zanima. U tom slučaju možete lako otići do sadržaja sistema pomoći, specifičnih informacija, istorije prethodnih poziva i obeleživača. Informacije baze podataka pohranjene su u datoteci sa ekstenzijom .accdb.

4.2. Microsoft Access objekti

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

Rice. 12. Pokretanje pristupa

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

Kada kreirate novu bazu podataka, Access otvara praznu tabelu koja sadrži jedan red i dve kolone (slika 13).

Slika 13. Novi prozor baze podataka

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

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

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

· U "konstruktorskom" modu;

· U režimu unosa podataka u tabelu.

Možete kreirati tabelu uvozom ili povezivanjem na podatke pohranjene negdje drugdje. To se može uraditi, na primjer, sa podacima pohranjenim u Excel datoteci, u Windows SharePoint Services listi, XML datoteci, drugoj MS ACCESS bazi podataka. SharePoint lista vam omogućava da omogućite pristup podacima korisnicima koji nemaju instaliran MS ACCESS. Uvoz podataka stvara njihovu kopiju u novoj tabeli u trenutnoj bazi podataka. Naknadne promjene originalnih podataka neće utjecati na uvezene podatke, i obrnuto. Kada se povežete s podacima, u trenutnoj bazi podataka kreira se povezana tabela koja se dinamički povezuje s podacima pohranjenim negdje drugdje. Promjene podataka u povezanoj tabeli odražavaju se u izvoru, a promjene izvora se odražavaju u povezanoj tabeli.

Prikaz tabele prikazuje podatke koji su pohranjeni u tabeli, a prikaz dizajna prikazuje strukturu tabele.

Ako tabele dele polja, možete koristiti podređenu tabelu da ubacite zapise iz druge u jednu tabelu. Ovaj pristup vam omogućava pregled podataka iz više tabela u isto vrijeme.

Upiti... Upiti su posebni alati dizajnirani za pretraživanje i analizu informacija u tabelama baze podataka koje ispunjavaju određene kriterije. Pronađeni zapisi, koji se nazivaju rezultati upita, mogu se pregledati, uređivati ​​i analizirati na različite načine. Osim toga, rezultati upita mogu se koristiti kao osnova za kreiranje drugih Access objekata. Postoje različite 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 se koriste upiti za radnju i upiti SQL (Structured Query Language). 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 biraju podatke iz jedne ili više tabela i od njih formiraju novu tabelu, zapisi u kojima se mogu menjati. Upiti za odabir koriste se za izračunavanje suma, prosjeka i drugih zbroja. Dakle, upiti koriste podatke iz osnovnih tabela i kreiraju privremene tabele.

Forms... Obrasci se koriste za unos i uređivanje zapisa u tabelama 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 modovima "izgled" i "dizajn", koji vam omogućavaju izmjene i dopune na forme.

Glavni elementi obrasca su oznake koje označavaju tekst koji se direktno prikazuje u obrascu i polja koja sadrže vrijednosti polja u tabeli. Dok vam način dizajna omogućava da kreirate obrazac od nule, on se obično koristi za preciziranje i poboljšanje obrazaca kreiranih pomoću čarobnjaka. Pored gore navedenih alata, obrasci se mogu kreirati i pomoću sljedećih alata:

· "forma";

· "Split form";

· "Nekoliko elemenata";

· "Prazan obrazac".

Najefikasnije je koristiti formulare za unos podataka u obliku posebnih formulara, budući da obrazac može biti i u obliku obrasca. Korištenje obrazaca vam omogućava da unosite podatke u obliku poznatih dokumenata koji je jednostavan za korištenje. I/O obrasci omogućavaju unos podataka u bazu podataka, pregled, promjenu vrijednosti polja, dodavanje i brisanje zapisa. Obrazac može sadržavati dugme koje se koristi za štampanje izveštaja, otvaranje drugih objekata ili automatsko izvršavanje drugih zadataka.

Izvještaji... Izvještaji se koriste za prikaz informacija u tabelama u formatiranom obliku, koji je jasno predstavljen i na ekranu monitora i na papiru. Izveštaj je efikasan alat za štampanje podataka iz baze podataka u formi koju korisnik zahteva (u obliku referenci, ispitnih listova, tabela itd.). Osim podataka preuzetih iz više tabela i upita, izvještaji mogu uključivati ​​elemente dizajna za ispis kao što su naslovi, zaglavlja i podnožja.

Izvještaj se može prikazati u četiri načina: u modu "dizajn" koji omogućava promjenu izgleda izvještaja, u načinu prikaza uzorka, u kojem možete prikazati sve elemente gotovog izvještaja, ali u skraćenom obliku. formi, u režimu "layout", koji omogućava jasniji prikaz (u poređenju sa dizajnom) i formatiranje izveštaja, i u režimu pregleda, gde se izveštaj prikazuje onako kako će biti odštampan.

Tabele, upiti, obrasci i izvještaji su najčešće 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, makroa i modula.

Stranice. Da biste korisnicima Interneta omogućili pristup informacijama, možete kreirati posebne stranice za pristup podacima u bazi podataka. Stranice za pristup podacima omogućavaju vam da pregledate, dodate, modifikujete i manipulišete 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 kreira pristupnu stranicu.

Makroi. Makroi su mali programi od jednog ili više makroa koji izvode određene operacije koje, na primjer, otvaraju obrazac, štampaju izvještaje, kliknu na dugme itd. Ovo je posebno korisno ako namjeravate prenijeti bazu podataka nekvalifikovanim korisnicima. Na primjer, možete napisati makroe koji sadrže niz naredbi koje izvode rutinske zadatke ili pridružiti radnje kao što je otvaranje obrasca ili štampanje izvještaja s dugmadima na obrascu s gumbima.

Moduli. Modul je objekt baze podataka koji vam omogućava da kreirate biblioteke rutina i funkcija koje se koriste u cijeloj aplikaciji. Koristeći kodove modula, možete rješavati zadatke kao što su rukovanje greškama u unosu, deklariranje i primjena varijabli, organiziranje petlji itd.

Kreiranje tabela

Kada unosite podatke u Access, polja se nazivaju: Polje1, Polje2 itd. Možete koristiti predložena imena ili ih promijeniti. Nazivi polja u tabeli mogu se postaviti na dva načina. Nakon odabira načina kreiranja tabele, naredba “ Stvoriti„I poziva se odgovarajući prozor. Slika 8. prikazuje kreiranje tabele u "dizajn" modu. Potrebna polja tabele kreiraju se sa navedenim tipom podataka koji se bira pomoću dugmeta za izbor - "kvačica", u donjem delu prozora nalazi se odeljak za izbor svojstava polja, koja su inicijalno ponuđena po podrazumevanoj vrednosti .

Rice. 14. Kreiranje tabele u modu dizajna

Svojstva polja Accessove tabele baze podataka prikazana su u donjoj polovini tabele (Slika 14).

Možete kreirati tabelu u načinu "Dizajn" mijenjanjem, dodavanjem ili uklanjanjem polja iz tablice. Za unos novog polja u gornjem dijelu prozora tabele se navodi naziv polja i određuje se njegov tip. Da biste preimenovali polje, potrebno je da promenite njegovo ime u koloni "Naziv polja".

Prilikom kreiranja tabela koriste se sljedeći osnovni tipovi podataka (slika 15).

Top srodni članci