Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • OS
  • Podrška bazama podataka (Tehnologije pristupa podacima. Kreiranje aplikacije sa bazom podataka)

Podrška bazama podataka (Tehnologije pristupa podacima. Kreiranje aplikacije sa bazom podataka)

Pošaljite svoj dobar rad u bazu znanja je jednostavno. Koristite obrazac ispod

Studenti, postdiplomci, mladi naučnici koji koriste bazu znanja u svom studiranju i radu biće vam veoma zahvalni.

Objavljeno na http://www.allbest.ru/

Uvod

3. Modeli organizacije podataka

4. Relacijske baze podataka

6. Infološki model

7. Logički model

8. Struktura tabela

12. Kreirajte tabele

16. Kreirajte izvještaje

17. Lista programa

Zaključak

Bibliografija

Uvod

Za donošenje informiranih i efektivnih odluka u proizvodne aktivnosti, u ekonomskom menadžmentu i politici savremeni specijalista treba da bude u stanju da prima, akumulira, skladišti i obrađuje podatke uz pomoć računara i sredstava komunikacije, prikazujući rezultat u obliku vizuelnih dokumenata. Stoga je veoma važno znati raditi sa bazama podataka.

Baza podataka je organizovana struktura za skladištenje informacija. Moderne baze podataka pohranjuju ne samo podatke, već i informacije.

O Delphiju se govori kao o okruženju za brzo razvoj aplikacija. Ovo je tehnologija vizuelnog programiranja, tj. korisnik sastavlja svoj budući program, a rezultate svog rada vidi i prije pokretanja samog programa. U principu, proces pisanja aplikacije podijeljen je u dva dijela. Prvo - programer postavlja na prozore svog programa neophodni elementi, pozicionira, postavlja željene dimenzije, mijenja svojstva. Drugi je zapravo pisanje programski kod, opis svojstava elemenata koji su dostupni samo dok je aplikacija pokrenuta, opis reakcija na događaj pojavljivanja prozora, klik na dugme itd. Za postavljanje bilo kakvih svojstava za element aplikacije koji se razvijeno, uopće nije potrebno pisati masivno tekstualni nizovi, dovoljno je promijeniti ovo svojstvo u pregledniku objekata (tzv. monitor svojstava odabranog elementa). Ova promjena će automatski dodati ili modificirati programski kod.

Ovo je veliki plus u tehnologiji vizuelnog programiranja. Kreiranje ili modifikacija vašeg softvera, korisnik, ne znajući ili ne obraćajući pažnju na neka svojstva programskog elementa, već koristeći samo ona neophodna, piše potpuno gotov radni proizvod, ponekad djelujući pod jednakim uvjetima po složenosti sa onima napisanim u nevizuelnom uređivaču.

Pred nama je zadatak da sastavimo bazu podataka koja bi sadržala podatke o nastavnom planu i programu obrazovnog procesa. Nakon popunjavanja baze podataka, potrebno je provesti selektivnu analizu koristeći Sql upite.

osnovni program infoloških tablica

1. Opšti zahtjevi za razvoj aplikacija baza podataka

Baza podataka mora sadržavati

a. Tabele za pohranjivanje podataka, najmanje 3 tabele. Svaka tabela mora sadržavati najmanje 10 unosa.

b. Forms for zgodno gledanje, unos, uređivanje i pretraživanje podataka, formiranje i prikaz zahtjeva. Obrazac treba da sadrži objašnjenja, savjete. Prilikom popunjavanja polja obrasca, za poznate skupove vrijednosti, koristite mogućnost odabira vrijednosti sa liste. Obrasci bi trebali biti povezani kad god je to moguće kako bi se optimizirala navigacija po objavama. Obrazac treba da sadrži što više informacija za korisnika. Osigurati rukovanje semantičkim greškama koje se pojavljuju.

c. Izvještaji koji sadrže sve tabele, obrasce, upite

d. Meni za pristup raznim objektima baze podataka

e. Sadrži pomoć Puni opis zadataka

2. Za programiranje baze podataka, morate koristiti dodatna literatura u SQL jeziku, DELPHI programski sistem.

3. Spisak i metode samostalno rješavanih zadataka

1. Analiza iskaza problema i predmetne oblasti.

2. Infološki dizajn, utemeljenje informacionih objekata, domena, atributa, linkova, izrada infološkog modela.

3. Logički dizajn, konstrukcija i opravdanje osnovnih relacija, normalizacija.

4. Dizajniranje SQL upita.

5. Programiranje strukture i općih funkcija u bazi podataka.

6. Dizajniranje baze podataka u softverskom okruženju.

7. Razvoj programskog interfejsa.

8. Pravljenje objašnjenja.

4. Kriterijumi za ocjenjivanje stečenih kompetencija na seminarskom radu

Kriterijume ispunjava nastavnik pri odbrani rada, prikazane u tabeli 1. Na osnovu prosječne ocjene daje se ocjena za predmetni rad.

Tabela 1. Ocjena kompetencija

Naziv kompetencija

Predmet procjene

Shvatite zahtjeve i slijedite ih

Dobijeni rezultati (DB) (obim, struktura, usklađenost sa zadatkom)

Pisana komunikacija

Kvaliteta prezentacije u obrazloženju, jasnoća, obimna struktura, usklađenost sa zadatkom.

Poznavati i primjenjivati ​​elemente DELPHI programskog sistema

Komponente aplikacije baze podataka, odgovori na pitanja o implementaciji baze podataka

Poznavati i primjenjivati ​​elemente tehnologije baze podataka

Odgovori na pitanja vezana za dizajn, eventualno u test formatu

Razumjeti potrebe za primjenom tehnologije baze podataka

Uvođenje objašnjenja

Planiranje rada, organizacija rada

Vrijeme preokreta

Samostalno rješavajte probleme

Spisak i metode samorešavanja zadataka

Usmena komunikacija

Zaštita javnih baza podataka

Sposobnost analize, sinteze

Infološki, logički model baze podataka

Posvećenost kvalitetnim rezultatima

Kvalitet obavljenog posla, ergonomski pokazatelji, kvalitet funkcionisanja.

Sposobnost generiranja novih ideja

kvalitet interfejsa, dodatne funkcije DB nije uključen u zadatak.

Sposobnost upravljanja (pretraživanja) informacija

Količina informacionih resursa pronađeni i korišćeni u nastavnom radu, broj konsultanata.

2. Osnovni koncepti i klasifikacija sistema upravljanja bazama podataka

Baza podataka (DB) je skup strukturiranih podataka pohranjenih u memoriji računarskog sistema i koji odražavaju stanje objekata i njihovih odnosa u razmatranom predmetna oblast.

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

Sistem za upravljanje bazom podataka (DBMS) je skup jezika i softverski alati za kreiranje, održavanje i dijeljenje DB od strane mnogih korisnika. RDBMS se obično razlikuju po korištenom modelu podataka. Dakle, DBMS zasnovani na upotrebi relacionog modela podataka nazivaju se relacionim DBMS.

Za rad sa bazom podataka često su dovoljni DBMS alati. Međutim, ako je potrebno osigurati pogodnost rada sa bazom podataka za nestručne korisnike ili DBMS sučelje ne odgovara korisnicima, tada se mogu razvijati aplikacije. Njihovo kreiranje zahtijeva programiranje. Aplikacija je program ili skup programa koji automatiziraju rješavanje primijenjenog zadatka. Aplikacije se mogu kreirati u ili izvan DBMS okruženja - koristeći programski sistem koji koristi alate za pristup bazi podataka, na primjer, Delphi ili C++ Vuildeg. Aplikacije razvijene u DBMS okruženju često se nazivaju DBMS aplikacijama, dok se aplikacije razvijene izvan DBMS-a često nazivaju eksternim aplikacijama.

Rječnik podataka je podsistem baze podataka dizajniran za centralizirano skladištenje informacija o strukturama podataka, odnosima između datoteka baze podataka, tipovima podataka i formatima prezentacije, vlasništvu korisnika, sigurnosnim kodovima i kontrolnim kodovima itd.

Informacioni sistemi zasnovani na korišćenju baze 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, klijent je računar (program) koji koristi ovaj resurs. Kao resurs računarske mreže, na primjer, mogu djelovati baze podataka, datoteke, usluge štampanja, usluge pošte.

Prednost organizovanja informacionog sistema na klijent-server arhitekturi je uspešna kombinacija centralizovanog skladištenja, održavanja i zajedničkog pristupa zajedničkom korporativne informacije With individualni rad korisnika.

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

Postoje sljedeće vrste DBMS-a:

* DBMS sa svim funkcijama;

* serveri baze podataka;

* alati za razvoj programa za rad sa bazom podataka.

DBMS-ovi sa punim mogućnostima su tradicionalni DBMS-ovi. To uključuje dBase IV, Microsoft Access, Microsoft FoxPro, itd.

Serveri baza podataka su dizajnirani da organizuju centre za obradu podataka u računarskim mrežama. Serveri baze podataka pružaju obradu upita klijentski programi obično koristeći SQL izraze. Primeri servera baza podataka su: Microsoft SQL Server, Inter Base, itd.

U ulozi klijentskih programa, u opštem slučaju, može se koristiti DBMS, tabele, programi za obradu teksta, programi za e-poštu, itd.

Alati za razvoj programa baza podataka mogu se koristiti za kreiranje sljedećih programa:

* klijentski programi;

* serveri baze podataka i njihove pojedinačne komponente;

* prilagođene aplikacije.

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

Industrijski, DBMS su softverska osnova za razvoj automatizovanih sistema upravljanja za velike ekonomske objekte. Industrijski DBMS mora ispunjavati sljedeće zahtjeve:

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

* skalabilnost;

* prenosivost na razni hardver i softverske platforme;

* stabilnost u odnosu na kvarove različitih vrsta, uključujući prisustvo višeslojnog backup sistema za pohranjene informacije;

* Osiguravanje sigurnosti pohranjenih podataka i napredno strukturirani sistem pristup njima.

Personal DBMS je softver orijentisan na zadatke lokalni korisnik ili manjoj grupi korisnika i namijenjeni za upotrebu na PC. Ovo objašnjava njihovo drugo ime - desktop. Definišuće ​​karakteristike desktop sistema su:

* relativna jednostavnost rada, što vam omogućava da kreirate izvodljiv prilagođene aplikacije;

* relativno ograničeni zahtjevi za hardverskim resursima.

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

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

*jezik opisa podataka -- neproceduralni jezik visokog nivoa
deklarativni tip, namijenjen za opisivanje logičkog
strukture podataka

* jezik za manipulaciju podacima -- skup struktura koje osiguravaju implementaciju osnovnih operacija za rad sa podacima: unos, modifikacija i odabir podataka na zahtjev.

Imenovani jezici u različitim DBMS-ima mogu imati razlike. Najšire korišćena su dva standardizovana jezika: QBE -- šablonski jezik upita i SQL -- strukturirani jezik upita. QBE u osnovi ima svojstva jezika za manipulaciju podacima, SQL kombinuje svojstva oba tipa jezika.

DBMS implementira sljedeće osnovne funkcije niskog nivoa:

* upravljanje podacima tokom eksternu memoriju;

* Upravljanje RAM baferom;

* upravljanje transakcijama;

* evidentiranje promjena u bazi podataka;

* Osiguravanje integriteta i sigurnosti baze podataka.

Implementacija funkcije upravljanja podacima u vanjskoj memoriji osigurava organizaciju upravljanja resursima u sistem podataka OS.

Potreba za baferovanjem podataka je zbog činjenice da je količina RAM-a manja od količine eksterne memorije. Baferi su područja RAM-a dizajnirana da ubrzaju razmjenu između eksterne i RAM-a. Baferi privremeno pohranjuju fragmente baze podataka iz kojih bi se podaci trebali koristiti prilikom pristupa DBMS-u ili se planiraju upisivati ​​u bazu podataka nakon obrade.

Transakcioni mehanizam se koristi u DBMS-u za održavanje integriteta podataka u bazi podataka. Transakcija je neka nedjeljiva sekvenca operacija nad podacima baze podataka, koju DBMS prati od početka do kraja. Ako iz bilo kojeg razloga (kvarovi i kvarovi opreme, greške u softveru, uključujući i aplikaciju) transakcija ostane nepotpuna, onda se poništava.

Transakcije imaju tri glavna svojstva:

* atomičnost (sve operacije uključene u transakciju se izvode ili nijedna);

* serijalabilnost (nema međusobnog uticaja transakcija koje se obavljaju 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šno obavljena, 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.

Osiguravanje integriteta baze podataka je neophodno stanje uspješan rad 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. Integritet stanja 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 za nivoe pristupa bazi podataka i njenim pojedinačnim elementima (tabele, obrasci, izvještaji itd.).

3. Modeli organizacije podataka

U hijerarhijskom modelu, objekti entiteta i odnosi domena su predstavljeni skupovima podataka koji imaju stablo (hijerarhijsku) strukturu. Hijerarhijski model podataka je istorijski bio prvi. Na njegovoj osnovi, kasnih 60-ih - ranih 70-ih, razvijen je prvi profesionalni DBMS.

Fokus ograničenja integriteta u hijerarhijskom modelu je na referentnom integritetu između predaka i potomaka, podložan osnovnom pravilu da nijedno dijete ne može postojati bez roditelja.

Mrežni model podataka vam omogućava da prikažete različite odnose između elemenata podataka u obliku proizvoljnog grafa. Mrežna baza podataka sastoji se od skupa zapisa i skupa odgovarajućih veza. Ne postoje posebna ograničenja za formiranje veze. Ako u hijerarhijske strukture zapis potomka može imati samo jedan zapis pretka, tada u mrežnom modelu podataka zapis potomka može imati proizvoljan broj zapisa predaka.

Prednost mrežnog data middela je mogućnost njegove efikasne implementacije. U poređenju sa hijerarhijskim modelom, model mreže pruža više mogućnosti u pogledu prihvatljivosti formiranja proizvoljnih veza.

Nedostatak modela mrežnih podataka je visoka složenost i rigidnost šeme baze podataka izgrađene na njenoj osnovi, kao i složenost njenog razumevanja redovni korisnik. Osim toga, u modelu mrežnih podataka, kontrola integriteta veza je oslabljena zbog dopuštenosti uspostavljanja proizvoljnih veza između zapisa.

Sistemi zasnovani na mrežnom modelu se ne koriste široko u praksi.

Relacioni model podataka je predložio zaposlenik IBM-a Edgar Codd i baziran je na konceptu relacije.

Relacija je skup elemenata koji se nazivaju tuple. Vizuelni prikaz odnosa je dvodimenzionalna tabela.

Uz pomoć jedne tablice zgodno je opisati najjednostavniji tip odnosa između podataka, odnosno: podjelu jednog objekta, informacije o kojem se pohranjuju u tablici, na mnogo podobjekata, od kojih svaki odgovara redu ili tablici ulazak.

Glavni nedostaci relacionog modela su: nedostatak standardnim sredstvima identifikacija pojedinačnih zapisa i složenost opisivanja hijerarhijskih i mrežnih odnosa.

4. Relacijske baze podataka

Relacioni model podataka (RDM) određene predmetne oblasti je skup odnosa koji se menjaju tokom vremena. Kada kreirate informacioni sistem, skup relacija vam omogućava da pohranite podatke o objektima predmetne oblasti i modelirate odnose između njih. RMD termini su predstavljeni u tabeli. 4.1

Tabela 4.1. Uslovi relacionog modela

terminski relacioni model

Ekvivalentno

Stav

shema odnosa

Red zaglavlja kolone tabele (zaglavlje tabele)

Red tabele, zapis

Essence

Opis svojstava objekta

Kolona, ​​polje

Skup dozvoljenih vrijednosti

atribut

primarni ključ

Jedinstveni identifikator

kardinalnost

Broj linija

Broj kolona

Relaciona baza podataka je skladište podataka koje sadrži skup dvodimenzionalnih tabela. Podaci u tabelama moraju biti u skladu sa sljedećim principima:

1. Vrijednosti atributa moraju biti atomske (drugim riječima,
svaka vrijednost sadržana na presjeku reda i stupca,
ne treba dijeliti na više vrijednosti).

2. Vrijednosti svakog atributa moraju biti istog tipa.

3. Svaki unos u tabeli je jedinstven.

4. Svako polje ima jedinstveno ime.

5. Redoslijed polja i zapisa u tabeli nije bitan.

Relacija je najvažniji koncept i dvodimenzionalna je tabela koja sadrži neke podatke.

Entitet je objekt bilo koje prirode, podaci o kojem se pohranjuju u bazi podataka. Podaci entiteta se pohranjuju u odnosu.

Atributi su svojstva koja karakteriziraju entitet. U strukturi tabele svaki atribut je imenovan i njemu odgovara naslov neke kolone tabele.

Ključ relacije je skup njegovih atributa koji na jedinstven način identificiraju svaku od torki relacije. Drugim riječima, skup atributa K, koji je ključ relacije, ima svojstvo jedinstvenosti. Sljedeće svojstvo ključa nije redundantnost. To jest, nijedan od odgovarajućih podskupova skupa K nema svojstvo jedinstvenosti.

Svaka relacija uvijek ima kombinaciju atributa koji mogu poslužiti kao ključ.

Postoje slučajevi kada relacija ima nekoliko kombinacija atributa, od kojih svaka na jedinstven način identificira sve skupove relacije. Sve ove kombinacije atributa su mogući ključevi odnosa. Bilo koji od mogućih ključeva može se odabrati kao primarni.

Ključevi se obično koriste za postizanje sljedećih ciljeva:

Isključivanje dupliranja vrijednosti u ključnim atributima (drugi atributi se ne uzimaju u obzir);

Redoslijed torki. Moguće je sortirati u rastućem ili opadajućem redoslijedu vrijednosti svih ključnih atributa, kao i mješoviti poredak (po jednom - rastuće, a po drugima - opadajuće);

Organizacije za povezivanje tablica.

Koncept stranog ključa je važan. Strani ključ se može definirati kao skup atributa jedne relacije R2, čije vrijednosti moraju odgovarati vrijednostima mogući ključ druga relacija R1.

Atributi relacije K2 koji čine strani ključ nisu ključni za ovu relaciju.

Strani ključevi uspostavljaju odnose između odnosa.

Dizajniranje baza podataka informacionih sistema je prilično dugotrajan zadatak. Izvodi se na osnovu formalizacije strukture i procesa predmetne oblasti, informacije o kojima bi trebalo da budu pohranjene u bazi podataka. Postoje idejni i šematski-konstruktivni projekti.

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

Faze idejnog projektovanja:

* proučavanje predmetne oblasti za formiranje opšta ideja o njoj;

* izbor i analiza funkcija i zadataka razvijenih IS;

* definicija glavnih objekata-entiteta predmetne oblasti
i odnos između njih;

* formalizovano predstavljanje predmetne oblasti.

Prilikom dizajniranja sheme relacijske baze podataka, može se izdvojiti slijedeće procedure:

* definicija liste tabela i veza između njih;

* definisanje liste polja, tipova polja, ključnih polja svake tabele (šema tabele), uspostavljanje veza između tabela preko stranih ključeva;

* postavljanje indeksiranja za polja u tabelama;

* izrada lista (rečnika) za polja sa nabrajanjima
podaci;

* uspostavljanje ograničenja integriteta za tabele i odnose;

* normalizacija tabela, korekcija liste tabela i linkova. Dizajn baze podataka se izvodi na fizičkom i logičkom nivou. Dizajn uključen fizički nivo implementiran pomoću DBMS-a i često automatiziran.

Logički dizajn se sastoji u određivanju broja i strukture tabela, izradi upita baze podataka, izvještajnih dokumenata, kreiranju obrazaca za unos i uređivanje podataka u bazi podataka itd.

Jedan od najvažnijih zadataka logičkog dizajna baze podataka je strukturiranje podataka. Postoje sljedeći pristupi dizajniranju struktura podataka:

* kombinovanje informacija o objektima entiteta unutar jedne tabele (jedna relacija) sa naknadnom dekompozicijom u više međusobno povezanih tabela na osnovu procedure za normalizaciju odnosa;

* formulisanje znanja o sistemu (određivanje tipova početnih podataka i odnosa) i zahteva za obradu podataka, dobijanje gotove šeme baze podataka ili čak gotovog primenjenog informacionog sistema korišćenjem CA5E sistema;

* implementacija sistemske analize i razvoj konstruktivnih modela.

5. Svrha i princip rada SQL-a

SQL (često se izgovara kao "sequel", skraćenica za Structured Query Language) je skraćenica za Structured Query Language.

SQL je alat za obradu i čitanje podataka sadržanih u kompjuterskoj bazi podataka. Ovo je jezik koji omogućava efikasno kreiranje relacionih baza podataka i rad sa njima.

Svijet baza podataka postaje sve ujedinjeniji, što je dovelo do potrebe za standardnim jezikom koji može funkcionirati u širokom spektru različitih vrsta računarskih okruženja. Standardni jezik će omogućiti korisnicima koji poznaju jedan skup komandi da ih koriste za kreiranje, preuzimanje, modifikovanje i prenošenje informacija bilo da rade na ličnom računaru, mrežnoj radnoj stanici ili glavnom računaru. U sve više međusobno povezanom računarskom svijetu, korisnik opremljen takvim jezikom ima ogromnu prednost u korištenju i sažimanju informacija iz niza izvora koristeći veliki broj načine.

Kao što ime govori, SQL je programski jezik koji se koristi za organizaciju interakcije korisnika sa bazom podataka. U stvari, SQL radi samo sa relacionim bazama podataka.

6. Infološki model

Prilikom izrade infološkog modela analizirana je predmetna oblast date baze podataka „Nastavni planovi i programi, izučavane discipline PMI smjera“. Izdvojena su 4 objekta: Kurikulum, Disciplina, Učenik, Nastavnik, kao i dvije dodatne tabele koje povezuju učenike i discipline, kao i nastavnike i discipline. Objekt Kurikulum ima sljedeće atribute: Godina stvaranja, Broj kurikuluma. Objekt Disciplina ima sljedeće atribute: Naziv discipline, Šifra discipline, Broj nastavnog plana i programa, Sati predavanja, Sati vježbe, Laboratorijski sati, Ukupno sati, Sedmični sati, Obrazac za izvještavanje o disciplini, Studijski semestar. Objekat Sudent ima sljedeće atribute: broj knjige ocjena, puno ime. A objekat Nastavnik ima sljedeće atribute: Puno ime, Broj osoblja, Odjeljenje, Položaj, Telefon. Objekti Kurikulum i Predmet povezani su u odnosu 1:n, objekti Kurs i Student povezani su u odnosu 1:n, a objekti Kurs i Nastavnik povezani su u odnosu 1:n.

Prilikom opisa infološkog modela korišteni su ER dijagrami:

Slika 1

7. Logički model

Logički model opisuje koncepte predmetne oblasti, njihov odnos, kao i ograničenja podataka koja nameće predmetna oblast.

Logički model podataka je početni prototip buduće baze podataka. Izgrađen je u smislu informacijskih jedinica, ali bez pozivanja na određeni DBMS. Štaviše, logički model podataka ne mora biti izražen pomoću relacionog modela podataka.

Za kreiranje logičkog modela, svakom objektu je dodijeljena tabela sa određenim skupom polja. Pošto su predmetna disciplina i učitelj povezani u odnosu 1:n, čini se dodatni sto da predstavi odnos između objekata Disciplina i Nastavnik: Podučava.

Ukupno imamo 4 objekta i stoga će postojati 4 tabele koje će ih predstavljati, objekat Kurikulum je samo informativnog karaktera, pošto baza podataka radi sa samo jednim nastavnim planom i programom:

Ali postoji odnos 1:n između dva objekta, tako da moramo uvesti još jednu tabelu koja će predstavljati odnose između ovih tabela. Ovo će biti tabela Uči (Disciplina-Prepodavatel) i tabela Uči (Disciplina-Student).

Prikazana baza podataka se može pripisati 5. normalnom obliku, jer on je u 3. normalnom obliku i primarni ključ je jednostavan. Logička šema je implementirana u Microsoft Access-u.

Slika 2

8. Struktura tabela

Početna baza podataka se sastoji od 5 tabela (tabela Nastavni planovi i programi se ne uzima u obzir, jer se koristi jedan kurikulum).

Objašnjenje polja:

v discipline.db

Š Nazv- naziv discipline, tip polja: String;

W kod - jedinstveni kod discipline: LongInt;

Š Semestar - semestar u kojem se predaje: String;

Š KolLeKCh - broj predavanja iz ove discipline: LongInt;

Š KolPraktCh - broj vježbi u ovoj disciplini: LongInt;

Š KolLabRabCh - broj predavanja iz ove discipline: LongInt;

Š VsegoCh - ukupan broj sati: LongInt;

Š NomerYP - broj nastavnog plana i programa koji sadrži disciplinu: LongInt.

v Student.db

Š NomerStudBileta - studentski matični broj: LongInt;

Š FIO - prezime učenika: ShortInt;

v Prepodaet.db (Disciplina-Nastavnik)

Š TabNomerPrepod - personalni broj nastavnika koji predaje predmetnu disciplinu: LongInt;

Š FIO- ime nastavnika koji predaje odgovarajuću disciplinu: String.

v Prepod.db

Š FIO - puno ime nastavnika: String;

Š TabelNomerPrepodavatelya - jedinstveni broj nastavnika: LongInt;

Š Kafedra - odsjek u kojem radi: Gudački;

Š Dolshnost - Pozicija nastavnika: String;

SH telefon- kontakt broj nastavnik: String.

v Izuchaet.db(Disciplina-Student)

Š KodDiscip - šifra discipline: LongInt;

Š NomerStudBileta - broj studentske karte studenta koji studira disciplinu: LongInt;

Š FIO- puno ime studenta koji studira odgovarajuću disciplinu: String;

Š Ocenka - ocjena studenta iz izučavane discipline: LongInt;.

9. Dizajniranje SQL upita

1. Napravite listu kredita i ispita za svaki semestar.

odaberite Nazv,FormaReport

gdje je Semestar=:s i

(Disciplina.FormaOtchet="Prolaz" ili Disciplina.FormaOtchet="Ispit" );

2. Formirati ispitne i ispitne listove /osnovne i dodatne/ za svaki predmet.

Glavna lista:

odaberite Učitelj.FIO,

Disciplina.ObsheeKolChVNed,Disciplina.Semestr,Izuchaet.FIO,Izuchaet.

Ocenka,Disciplina.Nazv

od Disciplina, Prepodaet,Izuchaet

gdje je Disciplina.KodDiscip=Prepodaet.KodDiscip

i (Disciplina.FormaOtchet="Ispit" ili Disciplina.FormaOtchet="Položen")

Dodatna izjava (za studente sa 2):

odaberite Disciplina.Nazv,Prepodaet.FIO,

Disciplina.ObsheeKolChVNed,Izuchaet.FIO,Disciplina.Semestr,Izuchaet.Ocenka

od Izuchaet,Disciplina,Prepodaet

gdje Izuchaet.Evaluation="2"

i Disciplina.KodDiscip=Izuchaet.KodDiscip

i Disciplina.KodDiscip=Prepodaet.KodDiscip

i (Disciplina.FormaOtchet="Ispit" ili Disciplina.FormaOtchet="Položen");

Update Discipline

set ObsheeKolChVNed=VsegoCh/17;

4. Pripremite prilog za diplomu svakog studenta:

odaberite Disciplina.Nazv, Izuchaet.Ocenka, Izuchaet.FIO

iz Izuchaeta, Disciplina

gdje je Disciplina.KodDiscip=Izuchaet.KodDiscip

i Disciplina.FormaRetchet="Ispit"

Odaberite AVG(Ocenka) kao SrBall

Red by SrBall desc;

5. Navedite grupu u opadajućem redoslijedu prosječnog rezultata:

Odaberite FIO, AVG(Ocenka) kao SrBall

Red by SrBall desc;

10. Struktura i funkcije sistema

Nastavni rad se sastoji od jednog projekta “Projekat1” i 13 modula.

1. Jedinica1 - ovdje se pohranjuje obrazac, koji je naslovna strana. Korištene komponente: Bilješka, Dugme.

2. Jedinica2 - ovdje se pohranjuje obrazac, koji je početna stranica baze podataka. Ovdje se koriste sljedeće komponente: Dugme, Memo.

3. Jedinica3 - ovdje se pohranjuje obrazac koji sadrži sve tabele baze podataka u obliku kartica. Ovdje se koriste sljedeće komponente: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

4. Jedinica4 - ovdje se pohranjuje obrazac na kojem je zadatak prikazan. Ovdje se koriste sljedeće komponente: Bilješka, Dugme.

5. Jedinica 5 - ovdje se pohranjuje obrazac koji prikazuje dodatni ispitni list. Ovdje se koriste sljedeće komponente: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

6. Jedinica 6 - ovdje je pohranjen obrazac koji prikazuje listu ispita i testova. Ovdje se koriste sljedeće komponente: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

7. Jedinica 7 - ovdje je pohranjen obrazac koji prikazuje glavni ispitni list. Ovdje se koriste sljedeće komponente: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

8. Unit8 - ovdje je pohranjen obrazac koji prikazuje listu grupe u opadajućem redoslijedu. Ovdje se koriste sljedeće komponente: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

9. Jedinica 9 - ovdje se pohranjuje obrazac koji prikazuje umetak u diplomi. Ovdje se koriste sljedeće komponente: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

10. Jedinica 10 - ovdje se pohranjuje obrazac koji prikazuje obrazac za popunjavanje elektronske izjave. Ovdje se koriste sljedeće komponente: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

11. Jedinica 11 - ovdje se pohranjuje obrazac na kojem je prikazan meni. Ovdje se koriste sljedeće komponente: Bilješka, Dugme, Naljepnica.

12. Jedinica 12 - ovdje se pohranjuje obrazac koji prikazuje izvještaj o izradi elektronskog ispitnog lista. Komponente koje se ovdje koriste su: Memo and Button, RVProject, RVQueryConnection i Query.

13. Jedinica 13 - ovdje se pohranjuje obrazac koji prikazuje izvještaj o izradi uloška u diplomi. Komponente koje se ovdje koriste su: Memo and Button, RVProject, RVQueryConnection i Query.

11. Uputstvo za upotrebu

1. Počinjemo projekat. Pred nama se pojavljuje naslovna stranica nastavnog rada

Slika 3

Ovdje možemo odmah ući u bazu podataka, ili možemo pogledati zadatak i vratiti se na ovaj obrazac. Odaberite "Prikaži zadatak"

2. Ispred nas se pojavljuje prozor sa informacijama o zadatku seminarskog rada

Slika 4

3. Vratite se nazad klikom na odgovarajuće dugme i počnite sa radom klikom na dugme prethodnog prozora "Nastavi"

Slika 5

4. Nakon pregleda informacija na ovoj stranici, kliknite na dugme "Prijava".

Slika 6

Pred nama se pojavljuje prozor koji na karticama sadrži sve informacije sadržane u bazi podataka. Ovdje možemo vidjeti spisak disciplina, studijske grupe, nastavnike, šta ovi ili oni studenti uče i koji predmet predaju nastavnici.

5. Također iz ovog prozora možemo ići na zahtjeve. Kliknite na odgovarajuće dugme.

Slika 7

Ovdje možemo odabrati bilo koji zahtjev koji nas zanima jednostavnim klikom na odgovarajuće dugme. I ovdje se možemo vratiti na tabele i preći na formaciju elektronska verzija ispitni list.

6. Kliknite na dugme "Pogledajte listu kredita i ispita za svaki semestar"

Slika 8

Ovdje trebate unijeti broj semestra i kliknuti na dugme ispod, nakon čega će se u prozoru tabele pojaviti lista ispita i kredita za semestar koji ste upisali. Sa ovog lista možemo se vratiti na upite.

7. Kliknite na dugme "Idi na glavni ispitni list"

Ovdje trebate odabrati naziv discipline sa padajuće liste, zatim upisati ovo ime u okvir ispod padajuće liste i kliknuti na dugme "Pokreni". Upit će prikazati ukupan broj sati sedmično za studij discipline koju ste upisali, kao i spisak studenata koji studiraju ovu disciplinu i njihovu ocjenu za ovu disciplinu. Pažnja! Polje za evaluaciju se popunjava na obrascu sa tabelama unutar kartice Student-Subject. Takođe na ovom listu možete kreirati dodatni ispitni list. Za učenike sa ocjenom 2. Sa ovog lista možemo se vratiti na zahtjeve.

Slika 9

8. Kliknite na dugme "Idi na dodatni ispitni list"

Slika 10

Ovdje možemo vidjeti studente koji imaju ocjenu 2 iz određene discipline. Sa ovog lista možemo se vratiti na upite.

9. Kliknite na dugme "Generiraj umetak za diplomu"

Slika 11

Ovdje morate unijeti puno ime diplomca odabirom odgovarajućeg studenta sa padajuće liste. Zatim pritisnite tipku. Zatim će se, na zahtjev, kolona "Disciplina" popuniti spiskom disciplina koje se izučavaju za 5 godina studija, i pojavit će se odgovarajuće ocjene. Na istom listu možete pogledati elektronsku verziju uloška klikom na dugme "Verzija za štampanje". Nakon što pogledate ovu verziju, samo trebate zatvoriti prozor koji se otvara na crvenom križu s desne strane gornji ugao ekran.

Slika 12

10. Kliknite na dugme "Pogledajte listu grupe u opadajućem redosledu prosečne ocene"

Slika 13

Ovdje vidimo listu grupe i prosječan rezultat koji odgovara svakom učeniku, poredanu u opadajućem redoslijedu. Sa ovog lista možemo se vratiti na upite.

Slika 14

Sa padajuće liste izaberite disciplinu koja nas zanima, na primer ekonomiju, i unesite njen naziv u polje ispod padajuće liste. Zatim pritisnite dugme za izvršenje i vidite ime nastavnika ove discipline.

Slika 16

Ovdje vidimo naziv discipline koju smo odabrali, puno ime nastavnika ove discipline. Kao i spisak studenata koji su studirali ovu disciplinu. Da biste izašli iz izvještaja, jednostavno kliknite na križić u gornjem desnom uglu ekrana. Vraćamo se na prethodni list. Sa ovog lista možemo se vratiti na upite.

12. Kreirajte tabele

Za kreiranje tabela korišteni su uslužni programi baze podataka. Može se pokrenuti - Start/Programi/Borland Delphi 7/ Database Desktop. Radni direktorij uslužnog programa mora biti konfiguriran. Odaberite naredbu File/Working Directory i postavite svoj radni direktorij. Da kreirate tabelu, izaberite komandu Datoteka/Nova/Tabela. Zatim morate odabrati vrstu tabele. Tip PARADOX 7 se može smatrati najboljim za tabele servera datoteka.

1. Kreirajte YchebPlan tabelu (nastavni plan i program):

Slika 17

5. Kreirajte tabelu Disciplina (Disciplina):

Slika 18

6. Kreirajte tabelu Student:

Slika 19

7. Kreiranje tabele Prepodaet (Disciplina-Nastavnik):

Slika 20

5. Kreirajte tabelu Prepod (Nastavnik):

Slika 21

8. Kreiranje tabele Izuchaet (Disciplina-Student):

Slika 22

13. Kreiranje aplikacije u Delphiju

Da kreirate novu aplikaciju, izaberite Novo/Aplikacija iz menija Datoteka. Pojavljuje se obrazac i modul (općenito se to zove projekt), sada možete postaviti potrebne komponente na obrazac. Ako je potrebno, možete kreirati još jedan obrazac (i više od jednog), za to morate odabrati stavku Novo / Obrazac u meniju Datoteka.

1. Tabela. Popunjavanje podacima. Prikaz podataka.

Da biste prikazali tabelu na obrascu, potrebno je da na nju postavite komponente:

· Tabela (na kartici BDE) - U Inspektoru objekata, na kartici Parametri, u svojstvu Tablename, izaberite željenu tabelu.

Slika 23

· DBGrid (na kartici DataControls) - potrebno za prikaz tabele na obrascu, navedite traženi izvor podataka u Object Inspector u svojstvu DataSource.

Slika 24

· DBNavigator (na kartici DataControls) - potreban za navigaciju kroz zapise tabele. U Inspektoru objekata, svojstvo DataSource specificira isti izvor podataka kao u DBGridu. Funkcije Navigatora dostupne su klikom na njegove dugmad dok je aplikacija pokrenuta.Komponenta sadrži 10 dugmadi.

Slika 25

· DataSource (kartica Pristup podacima) - komponenta srednjeg nivoa za pristup podacima. Služi kao posrednik između DBMS tabela i kontrola na ekranu (DBGrid, DBNavigator).

Slika 26

14. Kreiranje polja sa informacijama (Memo) i dugmadima

Komponenta Memo se postavlja na obrazac, koji se nalazi na kartici Standard.

Slika 27

U Inspektoru objekata, na kartici "Parametri", u svojstvu Linije unesite tekst potreban za prikaz

Slika 28

Kreiranje dugmadi.

Da biste ispravno zatvorili obrazac, na njega se postavlja komponenta Button, koja se nalazi na kartici Standard.

Slika 29

Da bi dugme radilo, potrebno je da navedete u OnClick obrađivaču događaja:

procedura TForm1.N5Click(Pošiljalac: TObject);

početi

Form2.Show;

Form1.Close;

kraj;

15. Kreiranje natpisa za tabele

Za potpisivanje tabele u nastavnom radu korišćena je komponenta Lable koja se nalazi na kartici Standard. U Inspektoru objekata, u svojstvu Caption, samo trebate napisati tekst.

Slika 30

16. Kreirajte padajuću listu

Za odabir komande sa postojeće liste koristi se komponenta ComboBox (padajuća lista). Može se popuniti ovako

U Inspektoru objekata, u svojstvu Items, napišite:

Slika 31

16. Kreirajte izvještaje

Izvještaj se kreira pomoću alata QReports, koji se prvo mora povezati: Komponenta->instaliraj pakete->dodaj otvori bin folder odaberite datoteku dclqrt70.bpl, kliknite OK, a zatim će se pojaviti kartica sa komponentama QReporta. Komponente koje koristim:

tabela 2

17. Lista programa

Opis projekta

program Project1;

koristi

forme,

Jedinica 1 u "Unit1.pas" (Form1),

Jedinica 2 u "Unit2.pas" (Form2),

Jedinica 3 u "Unit3.pas" (Form3),

Jedinica 4 u "Unit4.pas" (Form4),

Jedinica 5 u "Unit5.pas" (Form5),

Jedinica 6 u "Unit6.pas" (Form6),

Jedinica 7 u "Unit7.pas" (Form7),

Jedinica 8 u "Unit8.pas" (Form8),

Jedinica 9 u "Unit9.pas" (Form9),

Jedinica 10 u "Unit10.pas" (Form10),

Jedinica 11 u "Unit11.pas" (Form11),

Jedinica 12 u "Unit12.pas" (Form12),

Jedinica 13 u "Unit13.pas" (Obrazac13),

Jedinica14 u "Unit14.pas" (Obrazac14);

($R*.res)

početi

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm4, Form4);

Application.CreateForm(TForm5, Form5);

Application.CreateForm(TForm6, Form6);

Application.CreateForm(TForm7, Form7);

Application.CreateForm(TForm8, Form8);

Application.CreateForm(TForm9, Form9);

Application.CreateForm(TForm10, Form10);

Application.CreateForm(TForm11, Form11);

Application.CreateForm(TForm12, Form12);

Application.CreateForm(TForm13, Form13);

Application.CreateForm(TForm14, Form14);

Application.Run;

kraj.

Opis modula Unit1

jedinica Jedinica1;

interfejs

koristi

Dijalozi, StdCtrls;

tip

TForm1 = klasa(TForm)

Memo1:TMemo;

Button1: TButton;

Button2: TButton;

Button3: TButton;

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form1: TForm1;

implementacija

koristi Unit2, Unit4, Unit6, Unit7, Unit5, Unit8, Unit9, Unit10;

($R *.dfm)

procedura TForm1.Button3Click(Pošiljalac: TObject);

početi

form2.show;

kraj;

procedura TForm1.Button2Click(Pošiljalac: TObject);

početi

Form1.Close;

kraj;

procedura TForm1.Button1Click(Pošiljalac: TObject);

početi

form4.show;

kraj;

kraj.

Opis modula Unit2

jedinica Jedinica2;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, StdCtrls;

tip

TForm2 = klasa(TForm)

Memo1:TMemo;

GroupBox1: TGroupBox;

Button1: TButton;

Button2: TButton;

procedura Button1Click(Pošiljalac: TObject);

procedura Button2Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form2: TForm2;

implementacija

koristi Unit3;

($R *.dfm)

procedura TForm2.Button1Click(Pošiljalac: TObject);

početi

form3.show;

Form2.Close;

kraj;

procedura TForm2.Button2Click(Pošiljalac: TObject);

početi

Form2.Close;

kraj;

Opis modula Unit3

jedinica Unit3;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables,

StdCtrls, QuickRpt, QRCtrls;

tip

TForm3 = klasa(TForm)

PageControl1:TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

DataSource1:TDataSource;

DataSource2: TDataSource;

DataSource3:TDataSource;

DataSource4: TDataSource;

Tabela1: TTtable;

Tabela2: TTtable;

Tabela3: TTtable;

Tabela4: TTtable;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

DBGrid5: TDBGrid;

DBNavigator5: TDBNavigator;

DBGrid6: TDBGrid;

DBNavigator6: TDBNavigator;

Button1: TButton;

DataSource5:TDataSource;

DataSource6:TDataSource;

Tabela5: TTtable;

Tabela6: TTtable;

Query1: TQuery;

Button2: TButton;

Label1: T Label;

Memo1:TMemo;

Label3: T Label;

Button3: TButton;

procedura Button1Click(Pošiljalac: TObject);

procedura Button2Click(Pošiljalac: TObject);

procedura Button3Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form3: TForm3;

implementacija

koristi Unit5, Unit11;

($R *.dfm)

procedura TForm3.Button1Click(Pošiljalac: TObject);

početi

Form11.show;

Form3.close;

kraj;

procedura TForm3.Button2Click(Pošiljalac: TObject);

početi

Query1.ExecSQL;

Form3.Refresh;

kraj;

procedura TForm3.Button3Click(Pošiljalac: TObject);

početi

Form3.close;

kraj;

Opis modula Unit4

jedinica Unit4;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, StdCtrls;

tip

TForm4 = klasa(TForm)

Memo1:TMemo;

Button1: TButton;

procedura Button1Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form4: TForm4;

implementacija

koristi Unit1;

($R *.dfm)

procedura TForm4.Button1Click(Pošiljalac: TObject);

početi

form1.show;

kraj;

Opis modula jedinice 5

jedinica Unit5;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, DB, DBTables, Grids, DBGrids, StdCtrls, Mask, DBCtrls, ExtCtrls;

tip

TForm5 = klasa(TForm)

DataSource1:TDataSource;

DBGrid1: TDBGrid;

Query1: TQuery;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

Label1: T Label;

Label2: T Label;

Label3: T Label;

Label4: T Label;

DBNavigator1: TDBNavigator;

Button1: TButton;

procedura ComboBox1Change(Pošiljalac: TObject);

procedura Edit1Change(Pošiljalac: TObject);

procedura Button1Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form5: TForm5;

implementacija

koristi Unit11;

($R *.dfm)

procedura TForm5.ComboBox1Change(Pošiljalac: TObject);

početi

Query1.Active:=true;

kraj;

procedura TForm5.Edit1Change(Pošiljalac: TObject);

početi

Query1.Open;

kraj;

procedura TForm5.Button1Click(Pošiljalac: TObject);

početi

Form11.show;

Form5.Close;

kraj;

Opis modula jedinice 6

jedinica Unit6;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, DB, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls;

tip

TForm6 = klasa(TForm)

Button1: TButton;

Edit1: TEdit;

DataSource1:TDataSource;

DBGrid1: TDBGrid;

Query1: TQuery;

Label1: T Label;

DBNavigator1: TDBNavigator;

Label2: T Label;

Memo1:TMemo;

Button2: TButton;

Label3: T Label;

procedura Button1Click(Pošiljalac: TObject);

procedura Button2Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form6: TForm6;

implementacija

koristi Unit11;

($R *.dfm)

procedura TForm6.Button1Click(Pošiljalac: TObject);

početi

Query1.Close;

ako nije Query1.Prepared onda

Query1.Prepare;

if dužina (edit1.text)<>0 onda

ostalo

početi

Query1.Params.Value:=0;

kraj;

Query1.Open;

kraj;

procedura TForm6.Button2Click(Pošiljalac: TObject);

početi

Form11.show;

Form6.Close;

kraj;

Opis modula jedinice 7

jedinica Unit7;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, StdCtrls, Grids, DBGrids, DBTables, DB, Mask, DBCtrls, ExtCtrls,

QRCtrls, QuickRpt;

tip

TForm7 = klasa(TForm)

Label1: T Label;

Label2: T Label;

DataSource1:TDataSource;

Query1: TQuery;

Edit2: TEdit;

Button1: TButton;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label3: T Label;

DBGrid1: TDBGrid;

Label4: T Label;

Label5: T Label;

DBNavigator1: TDBNavigator;

Button2: TButton;

Label6: T Label;

Label7: T Label;

Memo1:TMemo;

ComboBox1: TComboBox;

Label8: T Label;

Button3: TButton;

procedura Button1Click(Pošiljalac: TObject);

procedura Button2Click(Pošiljalac: TObject);

procedura Button3Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form7: TForm7;

implementacija

koristi Unit5, Unit11;

($R *.dfm)

procedura TForm7.Button1Click(Pošiljalac: TObject);

početi

Query1.Close;

ako nije Query1.Prepared onda

Query1.Prepare;

if length(edit2.text)<>0 onda

Query1.Params.Value:=edit2.Text

ostalo

početi

Query1.Params.Value:=0;

edit2.Text:="Unesite naslov!";

kraj;

Query1.Open;

kraj;

procedura TForm7.Button2Click(Pošiljalac: TObject);

početi

form5.show;

Form7.close;

kraj;

procedura TForm7.Button3Click(Pošiljalac: TObject);

početi

Form11.show;

Form7.close;

kraj;

Opis modula jedinice 8

jedinica Unit8;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

tip

TForm8 = klasa(TForm)

Label4: T Label;

DataSource1:TDataSource;

Query1: TQuery;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

Memo1:TMemo;

procedura Button1Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form8: TForm8;

implementacija

koristi Unit11;

($R *.dfm)

procedura TForm8.Button1Click(Pošiljalac: TObject);

početi

Form11.show;

Form8.close;

kraj;

Opis modula Unit 9

jedinica9;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, mreže, DBGrids, DB, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls;

tip

TForm9 = klasa(TForm)

Edit1: TEdit;

Query1: TQuery;

DataSource1:TDataSource;

DBGrid1: TDBGrid;

Button1: TButton;

Query2: TQuery;

DataSource2: TDataSource;

Button2: TButton;

DBEdit1: TDBEdit;

DBNavigator1: TDBNavigator;

Label1: T Label;

Label2: T Label;

Label3: T Label;

Naziv: TComboBox;

Button3: TButton;

Memo1:TMemo;

Label4: T Label;

Button4: TButton;

procedura Button1Click(Pošiljalac: TObject);

procedura Button2Click(Pošiljalac: TObject);

procedura Button3Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form9: TForm9;

implementacija

koristi Unit11, Unit13;

($R *.dfm)

procedura TForm9.Button1Click(Pošiljalac: TObject);

početi

Query1.Close;

ako nije Query1.Prepared onda

Query1.Prepare;

if dužina (edit1.text)<>0 onda

Query1.Params.Value:=edit1.Text

ostalo

početi

Query1.Params.Value:=0;

edit1.Text:="Unesite ime diplomca!";

kraj;

Query1.Open;

kraj;

procedura TForm9.Button2Click(Pošiljalac: TObject);

početi

Query2.Close;

ako nije Query2.Prepared onda

Query2.Prepare;

if dužina (edit1.text)<>0 onda

Query2.Params.Value:=edit1.Text

ostalo

početi

Query2.Params.Value:=0;

edit1.Text:="Unesite broj semestra!";

kraj;

Query2.Open;

kraj;

procedura TForm9.Button3Click(Pošiljalac: TObject);

početi

Form11.show;

Form9.close;

kraj;

procedura TForm9.Button4Click(Pošiljalac: TObject);

početi

Form13.QuickRep1.Preview;

kraj;

Opis modula jedinice 10

jedinica Unit10;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, ExtCtrls, QuickRpt, StdCtrls, DB, DBTables, Mask, DBCtrls,

Grids, DBGrids;

tip

TForm10 = klasa(TForm)

Button1: TButton;

Query1: TQuery;

DataSource1:TDataSource;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label1: T Label;

Label2: T Label;

Edit1: TEdit;

Button2: TButton;

Label3: T Label;

ComboBox1: TComboBox;

Label4: T Label;

Label5: T Label;

Memo1:TMemo;

Label6: T Label;

Label7: T Label;

Button3: TButton;

procedura Button1Click(Pošiljalac: TObject);

procedura Button2Click(Pošiljalac: TObject);

procedura Button3Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form10: TForm10;

implementacija

koristi Unit3, Unit7, Unit12, Unit11;

($R *.dfm)

procedura TForm10.Button1Click(Pošiljalac: TObject);

početi

Form12.QuickRep1.Preview;

kraj;

procedura TForm10.Button2Click(Pošiljalac: TObject);

početi

Query1.Close;

ako nije Query1.Prepared onda

Query1.Prepare;

if dužina (edit1.text)<>0 onda

Query1.Params.Value:=edit1.Text

ostalo

početi

Query1.Params.Value:=0;

edit1.Text:="Unesite naslov!";

kraj;

Query1.Open;

kraj;

procedura TForm10.Button3Click(Pošiljalac: TObject);

početi

Form11.show;

kraj;

Opis modula jedinice 11

jedinica Unit11;

interfejs

koristi

Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,

Dijalozi, StdCtrls;

tip

TForm11 = klasa(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Memo1:TMemo;

Label1: T Label;

Label2: T Label;

Label3: T Label;

Button7: ​​TButton;

Label4: T Label;

Label5: T Label;

procedura Button2Click(Pošiljalac: TObject);

procedura Button1Click(Pošiljalac: TObject);

procedura Button4Click(Pošiljalac: TObject);

procedura Button3Click(Pošiljalac: TObject);

procedura Button5Click(Pošiljalac: TObject);

procedura Button6Click(Pošiljalac: TObject);

procedura Button7Click(Pošiljalac: TObject);

privatni

(privatne izjave)

javnosti

(Javne izjave)

kraj;

var

Form11: TForm11;

implementacija

Slični dokumenti

    Kreiranje tabela i projektovanje sistema upravljanja bazama podataka. Infološki dizajn. relaciona šema Baza podataka. Primijenjena vrijednost sistema: izvještaj o dobavljačima i robi koju oni isporučuju. Izjava o dostupnosti robe u prodavnici.

    seminarski rad, dodan 01.12.2008

    Izrada baze podataka sa podacima o zaposlenima, robi, sa direktorijumom vrsta robe koristeći MySQL sistem upravljanja bazom podataka koristeći SQL upite. Izrada infološkog modela predmetne oblasti. Struktura tabela, polja baze podataka.

    test, dodano 13.04.2012

    Proces projektovanja baze podataka, razvijanje njene logičke strukture u skladu sa infološkim modelom predmetne oblasti. Rad sa programom Pristup DBMS-u, svojstva tabela i njihovih polja, kreiranje međutablicnih veza; infološki dizajn.

    seminarski rad, dodan 17.12.2009

    Osnovni koncepti baze podataka i sistema upravljanja bazama podataka. Tipovi podataka za rad Microsoft baze pristup. Klasifikacija DBMS-a i njihove glavne karakteristike. Postrelacijske baze podataka. Trendovi u svijetu savremenih informacionih sistema.

    seminarski rad, dodan 28.01.2014

    Osobine razvoja infološkog modela i kreiranja strukture relacijske baze podataka. Osnove dizajna baze podataka. Izrada tabela, obrazaca, upita za prikaz informacija o odgovarajućem modelu. Rad sa bazama podataka i njihovim objektima.

    seminarski rad, dodan 05.11.2011

    Karakteristike istraživanja i funkcionalnost sistemi upravljanja bazom Microsoft podaci Office Access. Definicija glavnih klasa objekata. Izrada baze podataka "Kancelarija". Kreiranje tabela, obrazaca, upita, izvještaja i šema podataka.

    sažetak, dodan 05.12.2014

    Trend u razvoju sistema za upravljanje bazama podataka. Hijerarhijski i mrežni modeli DBMS-a. Osnovni zahtjevi za distribuiranu bazu podataka podaci. Obrada distribuiranih zahtjeva, interoperabilnost. Tehnologija replikacije podataka i višeslojna arhitektura.

    sažetak, dodan 29.11.2010

    Teorijske informacije i osnovni koncepti baza podataka. Sistemi za upravljanje bazama podataka: sastav, struktura, sigurnost, načini rada, objekti. Rad sa bazama podataka u OpenOffice.Org BASE: kreiranje tabela, odnosa, upita pomoću čarobnjaka za upite.

    seminarski rad, dodan 28.04.2011

    Dizajniranje baze podataka za sistem za prihvatanje, obradu i računovodstvo aplikacija u odjel informacionih tehnologija; razvoj infoloških i datalogičkih modela, implementacija fizičkog modela. Izrada aplikacija za vizualizaciju rada sa bazom podataka.

    disertacije, dodato 25.01.2013

    Odabir informacionih objekata i njihov infološki model. Logička struktura relacione baze podataka. Razvoj tabela u sistemu upravljanja bazama podataka Access. Kreiranje zahtjeva, obrazaca i izvještaja u DBMS Access. Razvoj korisničkih aplikacija.

Kreirajmo jednostavnu aplikaciju baze podataka koja izlazi na ekranska forma informacije iz tabele "Turisti" i zapis tabele "Informacije o turistima" iz baze podataka Microsoft Access-a povezan sa trenutnim zapisom tabele "Turisti".

Da bismo to uradili, kreiraćemo praznu Windows aplikaciju. Izgled okoline

razvoj je prikazan na slici 39.

Rice. 39. Isprazni aplikaciju

Na slici 39 istaknuta je grupa komponenti "Podaci" ("Podaci"), koja sadrži komponente za pristup i manipulaciju podacima.

Vezivanje podataka baze podataka za obrazac vrši komponenta "Binding Source". Prebacimo to u formu. Nakon postavljanja na obrazac, razvojno okruženje poprima sljedeći oblik (Sl. 40).

Rice. 40. Komponenta Izvor povezivanja na obrascu

Komponenta nije vizualna, pa je prikazana na dodatnom panelu. Glavno svojstvo komponente je svojstvo DataSource, koje ukazuje na izvor podataka. Po defaultu, svojstvo je prazno, tako da morate formirati njegovu vrijednost. Prilikom odabira datoj imovini u prozoru sa svojstvima se pojavljuje sledeći prozor (Sl. 41).

Rice. 41. Spisak izvora podataka

Lista je trenutno prazna, tako da morate kreirati novi izvor podataka odabirom naredbe "Dodaj izvor podataka projekta" za kreiranje novog izvora podataka i povezivanje s njim. Pojavljuje se sljedeći dijaloški okvir (slika 42).

Rice. 42. Spisak izvora podataka

Ovaj dijalog pruža sljedeći izbor izvora podataka:

Baza podataka - Baza podataka;

Servis - Servis, ovo je neka usluga koja pruža podatke. Najčešće je to Web usluga;

Objekt - Objekt za odabir objekta koji će generirati podatke i objekte za rad s njima.

U našem slučaju potrebno je odabrati stavku "Baza podataka". Pojavljuje se prozor za odabir podatkovne veze (Sl. 43).

Rice. 43. Izbor veze za prenos podataka

Svrha ovog dijaloga je kreiranje niza veze koji opisuje parametre veze za ADO mašinu, kao što su tip baze podataka, njena lokacija, korisnička imena, sigurnosne karakteristike itd.

Padajuća lista dijaloga sadrži sve prethodno kreirane veze. Ako tražena veza nije na listi, tada treba koristiti dugme "Nova veza". Pritiskom na dugme pojavljuje se sledeći dijalog (Sl. 44).

Ovaj dijalog bira tip izvora podataka (u ovom slučaju Microsoft Access), naziv baze podataka (u ovom slučaju ime i lokaciju datoteke baze podataka), korisničko ime i lozinku koja se koristi za povezivanje sa bazom podataka. Dugme "Napredno" vam omogućava da postavite veliki broj parametara koji se odnose na različite dijelove ADO motora. Korištenje tipke "Test Connection" će se uvjeriti da su uneseni parametri ispravni i da veza radi.

Rice. 44. Kreirajte novu vezu

Posljednji korak dijaloga je odabir onih tabela ili drugih objekata baze podataka koji su potrebni u ovom izvoru podataka. Prozor za odabir prikazan je na slici 45.

Rice. 45. Odabir potrebnih tabela

U ovom prozoru se biraju tabele "Turisti" i "Informacije o turistima". Pošto u bazi podataka nisu kreirani objekti osim tabela, na slici 45 su prikazane samo tabele. Ovo dovršava kreiranje izvora podataka. Nakon što kliknete na dugme "Završi" pored komponente BindingSource, komponenta DataSet se pojavljuje na obrascu.

Sada se gore povezani podaci moraju prikazati na obrascu. Najjednostavniji način za prikaz podataka je korištenje komponente DataGridView iz grupe komponenti podataka. Komponenta je vizuelna i na obrascu izgleda ovako (Sl. 46).

Rice. 46. ​​DataGridView komponenta

Odmah se pojavljuje prozor postavki komponente, koji određuje njene mogućnosti uređivanja podataka: “Omogući uređivanje” (“Enable Adding”), “Omogući uređivanje” (“Enable Editing”), “Omogući brisanje” (“Enable Deleting”); mogućnost promjene redoslijeda kolona: "Omogući mogućnost promjene redoslijeda kolona" ("Enable Column Reordering"); kao i mogućnost zakačenja u roditeljski kontejner.

Da bi komponenta mogla prikazati podatke, morate odabrati izvor podataka u padajućoj listi. Odabirom padajuće liste pojavljuje se sljedeći dijalog (Sl. 47).

Rice. 47. Odabir izvora podataka za DataGridView

U ovom slučaju, kao izvor podataka odabrali smo tabelu „Turisti“. Ovaj izbor menja formu ekrana na sledeći način (Sl. 48).

Rice. 48. Komponenta DataGridView prikazuje strukturu tablice

Slika pokazuje da postoji još jedna komponenta BindingSource i komponenta TableAdapter koja radi sa tabelom "Turisti". Imajte na umu da se u vrijeme dizajna ili tokom razvoja podaci iz tabele ne prikazuju.

Sada trebate prikazati podatke iz povezane tabele "Informacije za turiste". Da bismo to učinili, postavimo drugu komponentu DataGridView na obrazac i izaberemo sljedeće kao izvor podataka (slika 49).

Rice. 49. Odabir izvora podataka za drugi DataGridView

Ovdje izvor podataka nije sama tabela “Informacije o turistima”, već veza (obvezujući izvor) između tabela “Turisti” i “Informacije o turistima”. Ovaj izbor osigurava da samo oni redovi iz tabele turističkih informacija koji su pridruženi trenutna linija u tabeli "Turisti". Također osigurava da se povezani podaci ažuriraju i pravilno brišu. Rad rezultirajuće aplikacije prikazan je na slici 50.

Rice. 50. Aplikacija baze podataka u akciji

Kretanje kroz podatke pomoću tipki sa strelicama je nezgodno. Da bi se pojednostavila navigacija podacima, postoji komponenta BindingNavigator. Postavimo ga na obrazac (Sl. 51).

Rice. 51. Komponenta BindingNavigator na obrascu

Ova komponenta vam omogućava navigaciju između unosa u tablici, dodavanje i brisanje redova tablice. Mogućnosti i izgled Komponenta je konfigurabilna jer je traka menija ToolStripContainer.

Svojstvo koje definira tablicu za navigaciju je svojstvo BindingSource. Postavite vrijednost ovog svojstva na "touristsBindingSource". U radu, komponenta izgleda ovako (Sl. 52).

Rice. 52. Komponenta BindingNavigator na djelu

Uređivanje podataka u ćelijama komponente DataGridView sa odgovarajućim postavkama je moguće, ali nezgodno i nije racionalno. Posebno je teško provjeriti unesene vrijednosti za greške. Stoga ćemo za tabelu „Turisti“ napraviti ekransku formu koja vam omogućava da prikažete podatke u TextBox komponentama i uredite ih. Da bismo to uradili, postavimo kontejner tipa Panel na obrazac i tri TextBox komponente na njega na sledeći način (Sl. 53).

Rice. 53. Ekran panel za uređivanje zapisa tabele "Turisti"

Sada morate da povežete TextBox komponente za odgovarajuća polja tabele "Turisti". Da biste to učinili, koristite svojstvo iz grupe DataBindings - Advanced, prikazano na slici 54.

Rice. 54. Svojstvo "DataBindings - Napredno".

Odabir ovog svojstva dovodi do izgleda dijaloga prikazanog na slici 55. Ovaj dijalog vam omogućava ne samo povezivanje podataka, već i postavljanje događaja unutar kojeg će se podaci ažurirati, kao i formatiranje podataka kada se prikazuju.

Za gornju komponentu TextBox na padajućoj listi Binding izaberite izvor podataka "touristsBmdmgSource" i izvorno polje - "Prezime". Za srednju i donju komponentu TextBox-a, izabraćemo isti izvor podataka i polja "Ime" i "Patronim".

Razvijena aplikacija u radu izgleda ovako (Sl. 56).

Rice. 55. Okvir za dijalog za svojstvo "DataBindings - Advanced".

Rice. 56. Vezivanje podataka za vizualne komponente

Međutim, kada se izvrše promjene, svi novi podaci ostaju samo na obrascu. Oni se ne pohranjuju u bazi podataka, a kada se aplikacija ponovo pozove, naravno, izostat će. To je zato što su podaci učitani u objekt DataSet, koji je kopija tablice u memoriji. Sve radnje se izvode na ovoj kopiji. Da bi se promjene odrazile u bazi podataka, morate izvršiti metodu Update klase TableAdapter. Dakle, u aplikaciji koja se razvija potrebno je postaviti dugme "Ažuriraj" i upisati sledeći programski kod u obradu događaja Click:

touristsTableAdapteGUpdate(bDTur_firmDataSet); tourist_informationTableAdapter.Update(bDTur_firmDataSet);

Ovaj kod ažurira informacije u tabelama "Turisti" i "Informacije o turistima" koje pruža izvor podataka. Imajte na umu da je ovaj metod preopterećen, a njegove varijante vam omogućavaju da ažurirate i jedan red tabele i grupu redova.

Jedan od najčešćih scenarija u razvoju aplikacija je prikaz podataka iz DB na obrascu Windows Forms. Stoga, uzimajući u obzir procese koji se koriste pri radu sa predloženim skupovima podataka Microsoft ( pirinač. 5.6.1-2 ), a uzimajući u obzir činjenicu da su predstavljeni zadaci edukativni, u primjerima ćemo razmotriti sljedeće procese:

    Razvoj DB.

    Razvoj Windows aplikacije:

      kreiranje projekta;

      kreiranje korisničkog interfejsa;

      kreiranje podatkovne veze baze podataka i prikazivanje na obrascu

      uređivanje, provjera i pohranjivanje podataka u aplikaciji;

      razvoj koda aplikacije.

    Izvršenje aplikacije.

    Analiza rezultata aplikacije.

5.6.3.1. Primjer kreiranja projekta "Skips" za rad sa bazom podataka "DataBase1"

vježba:

U bazu podatakacime "Baza podataka 1” pojedinim danima dobija se podatak o broju propuštenih sati koje studenti imaju iz svakog od tri predmeta, a dostupni su sljedeći podaci:

    datum verifikacije;

    studijska grupa;

    prezime studenta;

    godina rođenja;

    broj propuštenih sati iz informatike;

    propuštenih sati matematike

    broj propuštenih sati iz fizike.

Potrebno je izraditi projekat pod nazivom "Prolazi" koji na osnovu podataka iz ove baze izračunava kog dana i na kojem predmetu je bilo najviše praznina (također navesti ime učenika koji ima toliki broj prolazaka). Ako ima nekoliko takvih dana, navedite ih sve.

    Kreiranje baze podataka "DataBase1"

Za kreiranje tablice pod nazivom PropClockStudent potrebno je kreirati njegovu strukturu, koja će imati oblik prikazan na sl. 5.6.3-1.

Popunjavanje tabele podacima može se izvršiti u prikazu lista sa podacima. Nakon popunjavanja tabele PropClockStudent poprima oblik prikazan na slici 5.6.3-2.

    Razvoj Windows aplikacije za rad sa Access bazom podataka "DataBase1"

      Kreiranje novog projekta.

Kreirajte projekt pod nazivom Pass1.

      Kreiranje korisničkog interfejsa.

Kreirajte korisnički interfejs iz jednog obrasca, koji je prikazan na sl. 5.6.3-3.

Imajte na umu da predložak tabele PropClockStudent prikazano na obrascu tek nakon toga povezivanje skupa podataka aplikacije sa bazom podataka DataBase1.

      Povezivanje skupa podataka aplikacije sa Access bazom podataka DataBase1 i njihovo prikazivanje na obrascu.

Procedura povezivanja aplikacije VS na podatke u bazi podataka Pristup DBMS-u može se pojednostaviti upotrebom Čarobnjaci za konfiguraciju izvora podataka. Nakon završetka radova Masters podaci u prozoru Izvori podataka postaju dostupni za prevlačenje na obrasce.

Za kreiranje skupa podataka pomoću Čarobnjaci za podešavanje izvora podataka

potrebno:

    U elementu Podaci u glavnom meniju izaberite komandu Dodajte novi izvor podataka ili Prikaži izvore podataka.

Kao rezultat, pojavit će se prozor u razvojnom okruženju Čarobnjak za podešavanje izvorapodaci(R je. 5.6.3-4) .

je nova karakteristika Visual Studio IDE, koji automatski priprema program za Visual basic za preuzimanje informacija iz baze podataka. Gospodaru zahtijeva tip baze podataka na koju se treba povezati ( lokalni ili udaljenu bazu podataka ,web servis ili objekt podataka, koju ste kreirali), uspostavlja podatkovnu vezu, a zatim kreira skup podataka u programu koji pohranjuje odabrane tablice i polja baze podataka. Krajnji rezultat je da čarobnjak otvara prozor Izvor podataka i popunjava ga vizuelnim prikazom svakog objekta baze podataka koji se koristi u programu.

    Nakon selekcije Izvor podataka aplikacijeBaza podataka i pritiskom na taster DaljeGospodaru zahtjevi Odabir veze sa bazom podataka(Slika 5.6.3-5).

    U prozoru Odabir izvora podataka(Sl. 5.6.3-6) izaberite DB, koji je izvor podataka - Pristup fajlu baze podataka, a zatim kliknite na dugme Dalje.

Čarobnjak će prikazati obrazac − Dodavanje veze, koji pomaže u uspostavljanju veze s bazom podataka kreiranjem niza pod nazivom povezni niz (Slika 5.6.3-7).

    Niz veze sadrži informacije koje su potrebne VS za otvaranje i izdvajanje informacija iz datoteke baze podataka. Sadrži putanju i naziv datoteke, kao i dodatne podatke kao što su korisničko ime i lozinka. Iz tog razloga, rad sa nizom veze u prozoru Čarobnjak za konfiguraciju izvora podataka se radi vrlo pažljivo i treba voditi računa da ga zaštitite od neovlaštenog pristupa prilikom kopiranja izvornih datoteka s jednog mjesta na drugo.

Dakle, u prozoru Dodavanje veze databasesselect Pristupbaza podatakafajl.

    Unesite putanju do datoteke baze podataka Baza podataka1.mdb ili kliknite na dugme Pregled da pronađete ovaj fajl , a zatim pritisnite dugme uredu.

    Okvir za dijalog će se ponovo pojaviti Dodavanje veze(dodaj vezu) A koji sadrži putanju do baze podataka.

    Kliknite na dugme Provjerite vezu. vizuelni studio pokušat će otvoriti navedenu datoteku baze podataka koristeći niz veze koji je generirao čarobnjak.

    Kliknite na dugme uredu da biste zatvorili okvir za poruku, a zatim kliknite na dugme uredu da zatvorite dijalog Dodavanje veze.vizuelni studio ponovo će prikazati prozor Čarobnjak za konfiguraciju izvora podataka ( pirinač. 5.6.3-8)

    Da biste prikazali dovršeni niz veze, kliknite na znak plus (+) pored elementa u dijaloškom okviru. Connection string. Stranica čarobnjaka bi trebala izgledati otprilike kao na sl. 5.6.3-9.

Niz povezivanja specificira provajdera.

Gospodaruće prikazati upozorenje koje ukazuje da je odabrana nova lokalna baza podataka (Slika 5.6.3-10)

Rice. 5.6.3-10

Da biste izbjegli stvaranje dodatne kopije baze podataka, kliknite na dugme ne, a zatim dugme za uključivanje Dalje.

Gde Čarobnjak za konfiguraciju izvora podatakaće postaviti takvo pitanje o spremanju i nizu veze.

Standardno je odabrana opcija za spremanje niza povezivanja, a kao ime niza u ovom primjeru, " DataBase1ConnectionString". Obično biste trebali sačuvati ovu liniju u zadanoj konfiguracijskoj datoteci aplikacije, koja je dostupna u prozoru Istraživač rješenja, budući da se u ovom slučaju, prilikom promjene lokacije baze podataka, ovaj red može lako urediti bez traženja u programskom kodu i naknadne rekompilacije aplikacije (Sl. 5.6.3-11).

Tada će se od vas tražiti da odaberete podskup objekata baze podataka koji će se koristiti u ovom projektu, kao što je prikazano u prozoru Čarobnjak za konfiguraciju izvora podataka prikazano na sl. 5.6.3-12.

Rice. 5.6.3-12

vizuelni studio omogućava vam da koristite ne samo cijelu bazu podataka, već i njen dio ili kombinaciju nekoliko različitih baza podataka - ovo je korisno kada kreirate aplikacije na temelju podataka.

Za naš zadatak, trebalo bi da selektujemo sve tabele (u polje stavimo odgovarajuće kvadratiće).

    Da biste dodali funkcionalnost aplikaciji, odnosno da biste prikazali tabele baze podataka na obrascu, morate ih prevući iz prozora Izvor podataka na formu.

Prevlačenje stavki iz prozora Izvori podataka automatski se dodaje u obrazac željeni kod za popunjavanje skupa podataka u obrađivač događaja Form1_Load() (Slika 5.6.3-13).

Rice. 5.6.3-13

      Uređivanje, provjera i spremanje podataka u aplikaciji

Jednom kada se skup podataka popuni, uobičajeno je dodati, urediti ili izbrisati podatke prije nego što ih pošaljete nazad izvoru podataka, drugom procesu ili aplikaciji. Budući da je svaki zapis u skupu podataka predstavljen objektom DataRow, promjene u skupu podataka se vrše radom na pojedinačnim redovima.

V Windows Forms arhitektura vezanja podataka bavi se slanjem promjena iz kontrola vezanih za podatke u skup podataka, tako da ne morate eksplicitno ažurirati skup podataka svojim vlastitim kodom. Skupovi podataka podržavaju više verzija redova podataka za pronalaženje originalnih zapisa u izvoru podataka. Možda ćete morati provjeriti pojedinačne redove prije nego što ažurirate izvor podataka.

Modifikacija podataka u skupu podataka je proces upravljanja stvarnim podacima u pojedinačnim objektima koji čine skup podataka. Izmjena podataka u tablicama podataka je slična modificiranju podataka u tablici u bilo kojoj bazi podataka—proces može uključivati ​​umetanje, ažuriranje i brisanje unosa tablice.

Osim promjene stvarnih podataka, također možete postaviti upit DataTable da vrati određene redove podataka, kao što su pojedinačni redovi, određene verzije redaka (originalne i predložene), redovi koji su samo promijenjeni i redovi koji sadrže greške.

      Razvoj koda aplikacije

Kod prikazan na slici 1 će biti pridružen prvom obliku. 5.6.3-14.

Katedra za primijenjenu informatiku

Objašnjenje kursa

po disciplini:

"baza podataka"

“Razvoj baze podataka i klijentske aplikacije”

Kaluga 2009


Uvod

1. Izjava o problemu

2. Dizajnirati, kreirati i upravljati bazom podataka

3.Tehnološki korisnički priručnik

Zaključak

Bibliografija


Uvod

Svrha mog kursa je izgradnja baze podataka, proučavanje osnovnih elemenata SQL jezika, kao i sticanje praktičnih vještina u kreiranju jednostavne baze podataka.

Relevantnost nastavnog rada definira se kao potreba za kreiranjem i dizajnom baza podataka.

U današnjem svijetu postoji veliki izbor baza podataka. Bez kojih doba informacione tehnologije ne bi moglo postojati i progresivno se razvijati. Savremeni svijet ne može bez strukturiranih i sortiranih informacija, baze podataka omogućavaju da se to ostvari. Baze podataka su neophodne za mnoga područja ljudske aktivnosti, bilo da se radi o bankarstvu, kupovini namirnica ili praćenju troškova domaćinstva.

Baze podataka se nalaze na svakom koraku. Gotovo svaki sistem je dobro izgrađena baza podataka, na primjer, poznati "Konsultant +" ili obračun jednog poreza u Ministarstvu za poreze i obaveze.

Moja baza podataka je dizajnirana da automatizuje operacije, da dobije pouzdane i ažurne informacije.

Ciljevi nastavnog rada su sljedeći:

Implementirati bazu podataka;

Implementirati korisnički interfejs;

Sastavljanje izvještaja;

Trenutno, mnogi savremeni jezici programski jezici podržavaju programiranje baze podataka, uz pomoć takvih jezika možete kreirati potrebnu bazu podataka, bilo da je jednostavna ili super složena.


1. Izjava o problemu

Razvijena baza podataka o dinji sastoji se od nekoliko „nivoa“. Najapstraktniji "sloj" je šema podataka. Na ovom nivou, odnosi između tabela se direktno prikazuju.

U ovom predmetnom radu zadaci su:

Izgradnja fizičkog modela na računaru (koristeći Erwin);

Definicija veza, tipova podataka;

Razvoj praktičnog korisničkog interfejsa;

Izrada zahtjeva, obrazaca;

Izrada izvještaja (na zahtjev);

Izrada obrasca glavnog dugmeta;

U mom predmetnom radu kreiran je fragment sistema računovodstva zaposlenih, s tim u vezi, računovodstvo se sastoji od sledećih operacija:

U mom nastavnom radu kreiran je fragment sistema knjigovodstva robe, s tim u vezi, računovodstvo se sastoji od sljedećih operacija:

Računovodstvo robe;

Računovodstvo robe po grupama;

Računovodstvo robe čekovima;

Ovaj sistem je dizajniran za automatizaciju ovih operacija, dobijanje pouzdanih i pravovremenih informacija, generisanje izlaznih dokumenata.

2. Dizajniranje, kreiranje i upravljanje bazom podataka

Baza podataka ima 4 tabele.

1) Tabela Grupa proizvoda, sadrži 2 kolone Broj grupe proizvoda i Naziv grupe proizvoda.


2) Tabela proizvoda sadrži 4 kolone Product_number, Naziv proizvoda, Cijena, Broj grupe proizvoda.


3) Tabela za provjeru, sadrži 2 kolone: ​​Check_number, Date.

4) Tabela Roba po prijemu, sadrži 3 kolone: ​​Broj artikla, Broj prijema. Količina.

Za praktičnost rada sa bazom podataka kreirano je nekoliko obrazaca.

Namjena obrazaca je vrlo raznolika, obrasci se mogu koristiti za prikaz upita, tabela, pogodnost pisanja u tabele itd.

Obrasci za zahtjeve.

1) Obrazac za upit 1 (vidi sliku 1)

Robu je potrebno podići na određeni čekovni broj. Ovaj obrazac pruža zgodan interfejs za unos informacija, kao i zgodan pregled izveštaja.


Rice. 1 Obrazac zahtjeva1

Na primjer. Unesite broj čeka u polje za tekst - 7 i kliknite na dugme - Pregledajte izveštaj (vidi sliku 2).


Rice. 2 Izvještaj o operaciji1

2) Obrazac zahtjeva2

Robu je potrebno iskazati po datumu. Ovaj obrazac pruža zgodan interfejs za unos informacija, kao i zgodan pregled izveštaja.


Rice. 3 Obrazac zahtjeva2

Na primjer. Unesite datum u textBox - 11/12/08 i kliknite na dugme - Pogledaj izvještaj. (Vidi sliku 4)


Rice. 4 Operacija upita2


Organizacija unosa podataka u tabele odvija se kroz odgovarajuće forme. Radi praktičnosti, kreiran je obrazac glavnog dugmeta. (Vidi sliku 5)

Ovaj obrazac izgleda ovako:


Rice. 5 Forma dugmeta

Ovdje je glavni meni. Svaki od tastera omogućava pristup izveštajima, kada se pritisne, izveštaje možete pregledati veoma jednostavno.

Podmeni Tabele pruža tabele za unos informacija u prikladnom obliku.

Šema podataka. (Pogledajte sliku 6


Rice. 6 Šema podataka

Šema podataka je kreirana pomoću Erwin programa.

3. Tehnološki priručnik

Na primjer:

- Predstavljamo novi proizvod.

Da biste predstavili novi proizvod, morate izvršiti sljedeće korake (vidi sliku 7):

Idite na formu glavnog dugmeta -> kliknite na dugme tabele -> kliknite na dugme za proizvod -> unesite naziv proizvoda, njegovu cenu i izaberite kojoj grupi proizvoda pripada.


Rice. 7 Ulazak novog radnika

Ako se nalazi na listi grupa proizvoda željenu grupu inače unosimo ručno

Pritisnite dugme Grupa proizvoda -> i unesite novu grupu proizvoda. (Vidi sliku 8)



Slika 8. Kreiranje nove grupe proizvoda.


-> također odabire broj računa za koji ovaj proizvod prolazi -> unesite količinu ovog proizvoda. (Vidi sliku 10)



Zaključak

Ciljevi nastavnog rada su u potpunosti ispunjeni. Razvijena je baza podataka za obračun robe. Nastavni rad je kreiran u MS Access-u. Šema podataka ( fizički model) izgrađen je u Erwin programu. Korisničko sučelje prilagođeno korisniku je također implementirano za siguran i lak unos informacija. U ovom radu su takođe realizovani zadaci koji su postavljeni na početku rada na predmetu, svi problemi su rešeni, a njihovo rešavanje se može videti direktno u nastavnom radu.

Razvijajući ovaj seminarski rad, shvatio sam da je Microsoft Access DBMS moćan i zgodan alat za kreiranje baza podataka. Grafički interfejs sa više prozora koji mi omogućava da interaktivno kreiram tabele, obrasce, upite, izveštaje. Specijalni uređaji koji automatizuju rad tokom kreiranja i održavanja baze podataka (čarobnjaci i konstruktori, pomoćnici i dr.) značajno pojednostavljuju ceo proces i čine program dostupnim svima.

Vjerujem da će mi u mojoj profesiji takve vještine, pa i one osnovne, vremenom biti od velike koristi.

Također je bilo vrlo zanimljivo i zgodno raditi u MS Access-u, kreirati obrasce, raditi uz pomoć, pregledavati i proučavati knjige o bazama podataka i posebno MS Access-u. Nesumnjivo sam uspio da se upoznam sa tako divnim programom kao što je Erwin, koji pomaže da se brzo i bolje razumije stvaranje baza podataka. Naravno, savremene baze podataka su svakim danom sve veće i veće, zadovoljavajući potrebe korisnika, pa se postavlja zadatak kako kreirati takve baze podataka, kako njima upravljati... Nakon čitanja i analize ovog seminarskog rada, nesumnjivo možete steći osnovne vještine u izgradnji podataka iz baze podataka.

Bibliografija

1. Microsoft Access 2000. Korak po korak: Prakt. dodatak / Per. sa engleskog.

M.: Izdavačka kuća ECOM, 2002. - 352 str.: ilustr.

2. Tutorial: Office Access 2003. - Sankt Peterburg: Peter, 2004. - 464 str.: ilustr.

3. Baze podataka. Dizajn, implementacija i podrška. Teorija i

praksa. 3. izdanje. : Per. sa engleskog. - M.: Izdavačka kuća"Vilijam",

2003. - 1440 str. : ill. - Paral. tit. engleski

30.04.2009 Alexey Kovyazin

Relacijske baze podataka prodrle su u gotovo sve informacione sisteme i, čini se, postale su najustalije područje IT-a, gdje se malo toga može izmisliti, ali stvarno stanje stvari je daleko od idealnog.

Relacijske baze podataka se danas koriste u gotovo svim aplikacijama, od ugrađenih u mobilne i posebne uređaje, web aplikacija do sistema upravljanja preduzećima. Prodor baza podataka u sve vrste aplikacija se ubrzava, a programeri dobijaju sve više i više korisnih alata i pristupa. Možda ćete steći utisak da su programeri aplikacija za baze podataka „najbolji“ sloj programera koji imaju alate za sve prilike, ali to je daleko od slučaja. Embarcadero Technologies je 2008. godine kupio Borlandov odjel za razvojne alate CodeGear i konsolidirao profesionalni alati Alati za razvoj i dizajn aplikacija, razvojni alati i upravljanje bazama podataka, čime su eliminisani postojeći problemi kako aplikacija tako i baza podataka.

Haotičan dizajn baze podataka

U modernoj razvojnoj industriji softvera Dugo se vjerovalo da je nemoguće definirati zahtjeve proizvoda prije pokretanja projekta, te se stoga razvoj mora prilagoditi njihovoj stalnoj promjeni. Kao rezultat toga, pojavili su se procesi bazirani na iteracijama, uzimajući u obzir promjenjive zahtjeve, a refaktoriranje izvornog koda postalo je sastavni dio razvoja softvera. A šta se dešava u procesu iterativnog razvoja sa bazama podataka? Promjena zahtjeva prisiljava vas da prilagodite šemu baze podataka, a najčešće se to dešava neprozirno, bez analize ukupna slika i zavisnosti. Tabele, polja, strani ključevi i ograničenja se kreiraju i mijenjaju nasumično, niko ne prati referentni integritet, i niko ne može sa sigurnošću reći kako se baza podataka u iteraciji N razlikuje od svog stanja u iteraciji N-1.

Zapravo, razvoj baza podataka danas se odvija metodom „zakrpe“, kao u danima dominacije „vodopada“ procesa - na početku projekta se „crta“ određeni model baze podataka, na osnovu djelomičnih zahtjeva poznatih u ovom trenutku, zatim se generiše fizička baza podataka, a zatim se model zaboravlja unošenjem izmjena direktno u bazu podataka. Nedostaci ovog pristupa su očigledni: razmjena znanja i razumijevanje velike slike je otežana, a promjene su neprozirne, mogu dovesti do kontradikcija u logici i shemi baze podataka, koje će ostati neotkrivene do trenutka uvođenja. softverski sistem u pogon, što dovodi do veoma velikih gubitaka. Moderni programeri aplikacija baze podataka trebaju alate prilagođene iterativnom razvoju baze podataka.

Prvo i najviše važan uslov takva adaptacija je prisustvo pune mogućnosti obrnuti inženjering(obrnuti inženjering, kreiranje modela baze podataka na osnovu analize njene fizičke šeme) i direktni inženjering(prednji inženjering; kreiranje i promjena fizičke šeme baze podataka na osnovu modela). U praksi, to znači da alat za projektovanje može analizirati kolo postojeća baza podataka, kreirati model baze podataka na osnovu njih, promeniti model i odmah primeniti promene koje bi zaista trebale ispravno i dosledno da menjaju šemu baze podataka, a ne da je pokvare ili zbune.

Iterativni pristup nas također tjera da kreiramo pod-modele povezane s određenom iteracijom. Razdvajanje bilo kojeg entiteta i njihovih atributa u podmodel pomaže da se odvoje područja odgovornosti između različitih programera i između različitih iteracija, dok u isto vrijeme garantuje ukupni integritet modela. Naravno, potrebna vam je i mogućnost poređenja dva modela, i to ne u obliku SQL skripti, već na nivou entiteta i atributa, kako biste vidjeli i u potpunosti razumjeli promjene napravljene tokom iteracije i njihov utjecaj na cijeli model.

Programeri aplikacija rijetko rade sami, pa su im potrebni alati za suradnju, ali ako je to u redu sa strane razvoja aplikacija, saradnja baze podataka obično nije podržana na razini alata. Saradnja nužno podrazumijeva sistem kontrole verzija: sve verzije modela i fizička šema baze podataka moraju biti pohranjene u jednom spremištu, pružajući mogućnost vraćanja i poređenja shema od samog početka procesa razvoja.

Razvoj baze podataka je jednako važan kao i razvoj aplikacija, tako da je strateški razvoj koji omogućava proces razvoja baze podataka sa alatima za kontrolu verzija i upravljanje zahtjevima, kao i eksplicitno povezivanje koraka modeliranja i modifikacije baze podataka sa iteracijama i promjenom zahtjeva softverskog projekta. Da bi riješio ove probleme i podržao moderni iterativni proces razvoja baze podataka, Embarcadero nudi ER / Studio - alat za dizajn, analizu, inžinjering unazad i naprijed koji vam omogućava da kontrolirate verzije modela zasnovane na vašem vlastitom spremištu. Alat Menadžer promena može se koristiti kao sredstvo za kontrolu promena metapodataka u fizičkim bazama podataka.

Fragmentacija koda

Najozloglašeniji problem koji uvelike usporava razvoj aplikacija baze podataka je potreba da se koriste različiti alati za otklanjanje grešaka u kodu aplikacije i SQL-u u bazi podataka.

Razmotrimo jednostavan primjer. Pretpostavimo da se u Delphi razvija aplikacija koja poziva pohranjenu proceduru u DBMS Oracle. Koristeći Delphi alate, programer aplikacije može ići kroz debug mod sve dok se ne pozove SQL upit, vidjeti parametre proslijeđene pohranjenoj proceduri i rezultat koji će procedura vratiti. Ali šta se dešava unutar procedure kada se izvrši na serveru baze podataka? To se ne može utvrditi iz razvojnog okruženja naše aplikacije - za to morate preuzeti aplikaciju za SQL razvoj, koja ima mogućnost otklanjanja grešaka u pohranjenim procedurama, a također prikazuje planove SQL upita, statistiku o njihovom izvršavanju, omogućava pregled i promijenite šemu baze podataka. Međutim, ne možete proslijediti parametre iz okruženja za razvoj aplikacije u SQL razvojno okruženje i morate ih ručno kopirati prebacivanjem s jednog prozora na drugi. Također je nemoguće vidjeti detaljne rezultate izvršavanja SQL koda, kao što su plan upita, statistika izvršenja i tako dalje, u alatu za izradu aplikacije. Pojava tehnologije za uklanjanje grešaka na više jezika omogućila je rješavanje ovih problema.

Prvi Embarcadero proizvod koji podržava ispravljanje grešaka na više jezika je RapidSQL Developer (ranije PowerSQL), čiji je vizualni dio baziran na Eclipse tehnologiji i stoga vam omogućava integraciju u bilo koje razvojno okruženje zasnovano na njoj (uključujući, naravno, JBuilder) i izvršiti dinamičko unakrsno ispravljanje grešaka - jezično otklanjanje grešaka. Sada, u trenutku izvršavanja uskladištene procedure na serveru, programer se automatski prebacuje na punopravno okruženje za otklanjanje grešaka u SQL kodu u okviru istog alata, sposobnog za otklanjanje grešaka u regularnim SQL upitima i pohranjenim procedurama. Programer vidi stvarne ulazne parametre upita i pohranjenih procedura, dobijajući priliku da korak po korak otklanja greške u SQL kodu. Integracija RapidSQL Developer-a u razvojne alate kompatibilne s Eclipseom je prvi korak u integraciji razvoja aplikacija i baza podataka, a sljedeći je u nizu koji će pružiti slične mogućnosti za Delphi, C++ Builder i druge alate za razvoj aplikacija iz Embarcadera.

Multiplatformske aplikacije baze podataka

Poseban izazov za programere je razvoj aplikacija baze podataka koje moraju raditi sa više DBMS-a. Na primjer, banke i Osiguravajuća društva obično imaju nekoliko velikih kancelarija i mnogo malih filijala. Većina poslovnih procesa koji se odnose na unos operativnih informacija i dnevni tok rada isti su u sjedištu i u filijalama, ali su razmjeri različiti. Prirodna želja da se uštedi na troškovima licenci za industrijski DBMS za upotrebu u poslovnicama navodi na ideju da bi bilo dobro izabrati drugi DBMS bez promjene aplikacije.

Iskusni programeri baza podataka dobro su svjesni suštine problema koji se ovdje javljaju: razlika u tipovima podataka i SQL dijalektima, nedostatak mehanizama za migraciju i replikaciju između različitih DBMS-a, složenost verifikacije migracije čine pisanje i rad aplikacija za različite DBMS-e. noćna mora. Što se tiče alata za razvoj aplikacija, ovaj problem pokušavaju riješiti kreiranjem biblioteka za pristup podacima (dbExpress u Delphi-u i C++ Builder, ADO i ADO.Net iz Microsofta), izgrađenih na zajedničkim arhitektonskim principima i metodama pristupa, kao i kao korištenjem brojnih objektno-relacijskih "omotača" (Object Relation Mapping, ORM) preko relacijske logike i strukture baze podataka, generiranjem izvornog koda za rad s podacima na osnovu analize sheme baze podataka i korištenjem mehanizma "adaptera" za implementaciju protokol određenog DBMS-a. Među najpopularnijim ORM-ovima su Hibernate za Javu i ActiveRecord u RubyOnRails-u, koji pružaju objektno orijentisan interfejs za podatke pohranjene u DBMS-u. Za Delphi postoji sličan projekat tiOPF, za C# - NHibernate.

Naravno, upotreba ovakvih univerzalnih biblioteka i skupova komponenti može značajno smanjiti broj rutinskih operacija u procesu razvoja multiplatformskih baza podataka. Međutim, to nije dovoljno kada mi pričamo o aplikacijama koje koriste složenije baze podataka koje aktivno koriste logiku ugrađenu u pohranjene procedure i okidače - za njihovu implementaciju, otklanjanje grešaka i testiranje potrebni su zasebni alati, ponekad potpuno različiti za različite DBMS. Za razvoj aplikacija za baze podataka na više platformi, Embarcadero nudi alat RapidSQL.

Svi Embarcadero proizvodi baze podataka su bazirani na više platformi i bazirani su na šemi baze podataka i mašini za analizu statistike Thunderbolt podaci. Svaki podržani DBMS i svaka specifična verzija DBMS-a ima odgovarajuće grane koda u Thunderbolt jezgru, što vam omogućava da mapirate shemu baze podataka na internu reprezentaciju u ovom kernelu što je preciznije moguće i, što je najvažnije, izvršite ispravne konverzije između reprezentacije i stvarne baze podataka. Zahvaljujući Thunderbolt kernelu, RapidSQL vam omogućava da razvijete visokokvalitetan SQL kod za sve podržane platforme (Oracle, MS SQL, Sybase i razne varijante IBM DB2), a ER / Studio može izvršiti precizan inžinjering baze podataka unazad i naprijed sheme.

Ako se aplikacija razvija za dvije ili više platformi ili se prenosi postojeća aplikacija sa jedne platforme na drugu, RapidSQL pruža sve potrebne alate za migraciju šeme, korisnika i dozvola između različitih DBMS-a. Naravno, RapidSQL ne pretvara automatski PL/SQL procedure u T-SQL – za to je i dalje potreban programer, ali alat pruža jedan prozor za razvoj na više platformi, objedinjene uređivače za objekte šeme, korisnike i njihova prava i SQL otklanjanje grešaka na svim podržanim platformama. Prema korisnicima RapidSQL-a, kao rezultat toga, štedi se do 70% vremena provedenog na migraciji između različitih DBMS-a.

Promjene podataka i sheme

Migracija sa jednog DBMS-a na drugi je nemoguća bez njegove verifikacije. Ko i kako može garantovati da su podaci koji se prenose iz jednog DBMS-a u drugi zaista identični? Različite klijentske biblioteke, različiti tipovi podataka i različita kodiranja čine proces poređenja podataka netrivijalnim zadatkom.

U stvarnom svijetu posao se ne završava implementacijom aplikacije i baze podataka – u toku je održavanje, pojavljuju se nove verzije izvršnih datoteka aplikacije i zakrpe u bazi podataka. Kako možete biti sigurni da su sva potrebna ažuriranja primijenjena na bazu podataka i da će cijeli softverski paket raditi ispravno?

Embarcadero je razvio alat za upravljanje promjenama za poređenje podataka, shema i konfiguracija baze podataka. Poređenje se odvija unutar jednog ili više DBMS-a, sa automatska provera korespondencija između tipova podataka i formiranje SQL skripti razlika koje se mogu odmah primijeniti da se baze podataka dovedu u identično stanje. Modul za poređenje metapodataka pruža poređenje shema baze podataka između "živih" baza podataka i između baze podataka i SQL skripte i generira skriptu razlika u metapodacima. Ova funkcionalnost se može koristiti ne samo za provjeru baze podataka u odnosu na benčmark, već i za organiziranje redovnog procesa ažuriranja baze podataka, kao i za provjeru neovlaštenih promjena, recimo, u udaljenim ograncima velike organizacije. Situacija je slična i sa konfiguracionim fajlovima - Change Manager upoređuje konfiguracione datoteke i omogućava vam da osigurate da konfiguracija implementiranih aplikacija ispunjava zahteve za ovaj softver.

Performanse aplikacije baze podataka

Koliko često vidimo aplikacije koje odlično rade na malim testnim količinama podataka, ali na stvarne količine postaje neprihvatljivo spor. Pogrešne kalkulacije u zahtjevima, nedovoljno testiranje u ranim fazama, žurba sa isporukom projekta su poznati uzroci lošeg razvoja aplikacije. Teoretičari razvoja softvera u ovom slučaju predlažu bavljenje samopoboljšanjem i fundamentalnim poboljšanjem kvaliteta programa, ali svi praktičari znaju da je ponekad nemoguće prepisati projekat bilo ekonomski ili, u nekim slučajevima, politički, a zadatak optimizacija performansi mora biti riješena na bilo koji način.

Glavni uzrok problema performansi u aplikacijama baze podataka leži u neoptimiziranim SQL upitima i pohranjenim procedurama. Optimizatori modernih baza podataka su prilično moćni, međutim, imaju i određena ograničenja svojih mogućnosti, a da biste postigli dobre performanse, potrebno je pravilno sastaviti SQL upite, kreirati (ili izbrisati) dodatne indekse, kako biste postigli dobre performanse. određenim slučajevima denormalizirati bazu podataka, prebaciti dio logike na okidače i pohranjene procedure.

Tokom faze razvoja, optimizacija upita se može izvesti pomoću RapidSQL-a, koji uključuje modul SQL Profiler koji može analizirati planove i generirati nagovještaje za poboljšanje performansi SQL upita. Ali što ako se problem pojavi već tokom rada i nije lokaliziran u određenom SQL upitu? Ako performanse padnu u određeno doba dana, ili, još gore, problem nastane na udaljenoj kopiji sistema, dok je na glavnom serveru sve u redu? Za takve slučajeve, DBOptimizer je alat za profilisanje baze podataka za Oracle, Microsoft SQL Server, Sybase i IBM DB2.

Kada se pokrene način profiliranja, DBOptimizer prikuplja podatke o bazi podataka i vremenu izvođenja, uključujući informacije o pokretanju CPU i druge parametre operativnog sistema, zapisivanje u sesiju profilisanja. Rezultat je lista zahtjeva koji se izvršavaju u bilo kojem vremenskom intervalu, sortirani prema utrošenim resursima. Za svaki problematičan upit možete vidjeti njegov plan, statistiku izvršenja i druge detalje. Štaviše, DBOptimizer također pokazuje savjete-preporuke za poboljšanje upita u odnosu na određeni DBMS.

Kutija sa alatima

Svi navedeni alati, iako vam mogu pomoći u rješavanju problema, koriste se u različitim fazama životnog ciklusa razvoja baze podataka. Prilično je nezgodno i skupo držati desetak aplikacija za sve prilike koje mogu biti potrebne (ili možda neće biti potrebne) u procesu dizajniranja, razvoja, migracije, optimizacije i održavanja baza podataka.

Objavljen u februaru 2009. godine, Emdacadero All-Access je svestrani komplet alata koji uključuje osnovne alate za sve faze razvoja aplikacija baze podataka, od ER/Studio do DBOptimizer, od Delphi-ja i C++Builder-a do DBArtisan-a. Najbolji način da opišete All-Access je da ga uporedite sa kutijom za alate koju svaki marljivi vlasnik ima kod kuće. Možda se svi alati ne koriste svaki dan, ali podesivi ključ bi uvijek trebao biti pri ruci u slučaju curenja.

All-Access ne nameće uloge programerima ili arhitektima baze podataka, već pruža univerzalni komplet alati pogodni za sve uloge u procesu razvoja aplikacija baze podataka, od arhitekte do testera; nudi svim članovima razvojnog tima alate za sve faze razvoja baze podataka, kao i skup visoko specijalizovanih alata za optimizaciju baza podataka (DBOptimizer) i aplikacija (JOptimizer), omogućavajući vam da „proširite“ uska grla. Paket podržava višestruke DBMS, što omogućava uštedu.

Tehničke razlike između objektno orijentiranih i relacione baze podataka podaci su doveli do kulturne podjele koja još uvijek odvaja zajednicu za upravljanje podacima od razvojne zajednice. Šta dalje s ovim?



Top Related Articles