Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • OS
  • Suport pentru baze de date (Tehnologii de acces la date. Crearea unei aplicații cu o bază de date)

Suport pentru baze de date (Tehnologii de acces la date. Crearea unei aplicații cu o bază de date)

Trimiteți-vă munca bună în baza de cunoștințe este simplu. Utilizați formularul de mai jos

Studenții, studenții absolvenți, tinerii oameni de știință care folosesc baza de cunoștințe în studiile și munca lor vă vor fi foarte recunoscători.

postat pe http://www.allbest.ru/

Introducere

3. Modele de organizare a datelor

4. Baze de date relaționale

6. Model infologic

7. Model logic

8. Structura tabelelor

12. Crearea tabelelor

16. Generarea de rapoarte

17. Listarea programelor

Concluzie

Bibliografie

Introducere

Pentru a lua decizii informate și eficiente în activitati de productie, în management economic și în politică specialist modern trebuie să poată primi, acumula, stoca și prelucra date cu ajutorul calculatoarelor și mijloacelor de comunicare, prezentând rezultatul sub formă de documente vizuale. Prin urmare, este atât de important să poți lucra cu baze de date.

O bază de date este o structură organizată pentru stocarea informațiilor. Bazele de date moderne stochează nu numai date, ci și informații.

Se vorbește despre Delphi ca despre un cadru de dezvoltare rapidă a aplicațiilor. Aceasta este o tehnologie de programare vizuală, de ex. utilizatorul își elaborează viitorul program și vede rezultatele muncii sale chiar înainte de lansarea programului în sine. Practic, procesul de scriere a unei aplicații în sine este împărțit în două părți. Primul - programatorul îl plasează pe ferestrele programului său elementele necesare, poziționează, stabilește dimensiunile necesare, modifică proprietățile. Al doilea este de fapt scrisul codul programului, o descriere a proprietăților elementelor care sunt disponibile numai în timpul funcționării aplicației, o descriere a reacțiilor la evenimentul apariției unei ferestre, apăsarea unui buton etc. Pentru a seta orice proprietăți, un element al aplicației dezvoltate nu trebuie să scrie masiv șiruri de text, este suficient să modificați această proprietate în inspectorul de obiecte (așa-numitul monitor al proprietăților elementului selectat). Această modificare va completa sau modifica automat codul programului.

Acesta este un mare plus în tehnologia de programare vizuală. Prin crearea sau modificarea dvs software, utilizatorul, necunoscând sau nefiind atent la unele proprietăți ale elementului program, ci folosindu-se doar de cele necesare, scrie un produs de lucru complet finit, acționând uneori pe picior de egalitate în complexitate, cu cele scrise într-un editor non-vizual. .

Sarcina noastră este să creăm o bază de date care să conțină date despre curriculum-ul procesului de învățământ. După ce ați completat baza de date, trebuie să efectuați o analiză selectivă folosind interogări Sql.

program tabel infologic al bazei de date

1. Cerințe generale pentru dezvoltarea aplicațiilor de baze de date

Baza de date trebuie să conțină

A. Tabele pentru stocarea datelor, cel puțin 3 tabele. Fiecare tabel trebuie să conțină cel puțin 10 înregistrări.

b. Formulare pentru vizualizare confortabilă, introducerea, editarea și căutarea datelor, formarea și afișarea interogărilor. Formularul trebuie să conțină explicații, indicii. Când completați câmpurile de formular, pentru seturi cunoscute de valori, utilizați capacitatea de a selecta valori dintr-o listă. Formularele ar trebui să fie legate ori de câte ori este posibil pentru a optimiza navigarea postărilor. Formularul trebuie să conțină cât mai multe informații posibil pentru utilizator. Asigurați procesarea erorilor semantice apărute.

c. Rapoarte care conțin toate tabelele, formularele, interogările

d. Meniu pentru accesarea diferitelor obiecte de bază de date

e. Ajutor care contine Descriere completa sarcini

2. Pentru a programa baza de date, trebuie să utilizați literatură suplimentarăîn limbaj SQL, sistem de programare DELPHI.

3. Lista și metodele problemelor rezolvate independent

1. Analiza enunțului problemei și a domeniului subiectului.

2. Proiectare infologică, fundamentarea obiectelor informaţionale, domeniilor, atributelor, legăturilor, întocmirea unui model infologic.

3. Proiectare logica, construirea si fundamentarea relatiilor de baza, normalizare.

4. Proiectarea interogărilor Sql.

5. Programarea structurii și funcțiilor generale în baza de date.

6. Proiectarea unei baze de date într-un mediu software.

7. Dezvoltarea interfeței programului.

8. Executarea unei note explicative.

4. Criterii de evaluare a competențelor dobândite pentru activitatea de curs

Criteriile sunt completate de către profesor la susținerea lucrării, prezentate în tabelul 1. Pe baza notei medii se acordă nota lucrării de curs.

Tabelul 1. Evaluarea competențelor

Numele competenței

Obiect de evaluare

Înțelegeți și respectați cerințele

Rezultate obținute (DB) (volum, structură, conformitate cu sarcina)

Comunicare scrisă

Calitatea prezentării în nota explicativă, claritatea, volumul, structura, respectarea sarcinii.

Cunoașteți și aplicați elementele sistemului de programare DELPHI

Componentele aplicației baze de date, răspunsuri la întrebări despre implementarea bazei de date

Cunoașterea și aplicarea elementelor tehnologiei bazelor de date

Răspunsuri la întrebări legate de design, eventual în format de test

Înțelegeți nevoile pentru aplicarea tehnologiei bazelor de date

Introducerea notei explicative

Planificarea muncii, organizarea muncii

Timp de răspuns

Rezolvați singur problemele

Lista și metodele problemelor rezolvate independent

Comunicarea orală

Protecția publică a bazei de date

Capacitate de analiză, sinteză

Model de bază de date infologic, logic

Angajament pentru rezultate de calitate

Calitatea muncii efectuate, indicatori ergonomici, calitatea functionarii.

Capacitatea de a genera idei noi

calitatea interfeței, funcții suplimentare DB nu sunt incluse în sarcină.

Abilitatea de a gestiona (căutare) informații

Cantitate resurse informaționale găsit și utilizat în cursuri, numărul de consultanți.

2. Concepte de bază și clasificare a sistemelor de management al bazelor de date

Baza de date (DB) este o colecție de date structurate stocate în memoria unui sistem de calcul și care afișează starea obiectelor și relațiile lor în domeniul subiectului.

Structura logică a datelor stocate în baza de date se numește model de prezentare a datelor. Principalele modele de prezentare a datelor (modele de date) includ ierarhice, de rețea, relaționale.

Un sistem de management al bazelor de date (DBMS) este un complex de limbaj și instrumente software conceput pentru a crea, întreține și partajarea DB de către mulți utilizatori. De obicei, un SGBD se distinge prin modelul de date utilizat. Deci, SGBD-urile bazate pe utilizarea unui model de date relaționale se numesc SGBD relațional.

Pentru a lucra cu o bază de date, instrumentele DBMS sunt adesea suficiente. Cu toate acestea, dacă este necesar pentru a asigura confortul lucrului cu baza de date pentru utilizatori necalificați sau interfața DBMS nu se potrivește utilizatorilor, atunci aplicațiile pot fi dezvoltate. Crearea lor necesită programare. O aplicație este un program sau un set de programe care automatizează rezolvarea oricărei probleme aplicate. Aplicațiile pot fi create în mediu sau în afara mediului DBMS - folosind un sistem de programare care utilizează instrumente de acces la baze de date, de exemplu, Delphi sau C ++ Build. Aplicațiile dezvoltate într-un mediu DBMS sunt adesea denumite aplicații DBMS, iar aplicațiile dezvoltate în afara DBMS sunt adesea denumite aplicații externe.

Dicționarul de date este un subsistem de baze de date conceput pentru stocarea centralizată a informațiilor despre structurile de date, relațiile dintre fișierele bazei de date între ele, tipurile de date și formatele de prezentare a acestora, datele aparținând utilizatorilor, codurile de securitate și de control al accesului etc.

Sistemele informaționale bazate pe utilizarea bazelor de date funcționează de obicei într-o arhitectură client-server. În acest caz, baza de date este localizată pe computerul server și partajată.

Serverul unei anumite resurse dintr-o rețea de calculatoare este un computer (program) care gestionează această resursă, un client este un computer (program) care utilizează această resursă. Ca o resursă a unei rețele de calculatoare, de exemplu, bazele de date, fișierele, serviciile de imprimare și serviciile poștale pot acționa.

Avantajul organizării unui sistem informatic pe o arhitectură client-server este o combinație reușită de stocare centralizată, întreținere și acces partajat la un sistem comun. informație corporativă cu munca individuala utilizatorii.

Conform principiului de bază al arhitecturii client-server, datele sunt procesate doar pe server. Un utilizator sau o aplicație formează interogări care vin la serverul bazei de date sub formă de instrucțiuni în limbaj SQL. Serverul bazei de date oferă căutarea și preluarea datelor necesare, care sunt apoi transferate pe computerul utilizatorului. Avantajul acestei abordări în comparație cu cele anterioare este o cantitate semnificativ mai mică de date transmise.

Se disting următoarele tipuri de SGBD:

* SGBD cu funcții complete;

* servere de baze de date;

* instrumente pentru dezvoltarea de programe pentru lucrul cu o bază de date.

SGBD-urile cu funcții complete sunt SGBD-uri tradiționale. Acestea includ dBase IV, Microsoft Access, Microsoft FoxPro și multe altele.

Serverele de baze de date sunt destinate organizării centrelor de prelucrare a datelor în rețele de calculatoare. Serverele de baze de date asigură procesarea cererilor programe client folosind de obicei instrucțiuni SQL. Exemple de servere de baze de date sunt: ​​Microsoft SQL Server, Inter Base etc.

În cazul general, un SGBD poate fi utilizat în rolul de programe client, foi de calcul, procesoare de text, programe de e-mail etc.

Instrumentele pentru dezvoltarea de programe pentru lucrul cu o bază de date pot fi folosite pentru a crea următoarele programe:

* programe client;

* servere de baze de date și componentele lor individuale;

* aplicații personalizate.

Prin natura utilizării lor, SGBD-urile sunt împărțite în multiutilizator (industriale) și locale (personale).

Industrial, DBMS reprezintă o bază software pentru dezvoltarea sistemelor de control automatizate pentru marile facilități economice. DBMS industrial trebuie să îndeplinească următoarele cerințe:

* capacitatea de a organiza munca paralelă comună a mai multor utilizatori;

* scalabilitate;

* portabilitate la diferite hardware și platforme software;

* stabilitate în raport cu defecțiunile de diferite tipuri, inclusiv prezența unui sistem de backup pe mai multe niveluri a informațiilor stocate;

* asigurarea securității datelor stocate și avansate sistem structurat acces la ele.

Personal DBMS este un software axat pe rezolvarea problemelor utilizator local sau un grup mic de utilizatori și destinate utilizării pe calculator personal... Aceasta explică al doilea lor nume - desktop. Caracteristicile definitorii ale sistemelor desktop sunt:

* ușurință relativă de utilizare, permițând să creeze pe baza lor operabil aplicații personalizate;

* cerințe de resurse hardware relativ limitate.

În funcție de modelul de date utilizat, SGBD-urile sunt împărțite în ierarhice, de rețea, relaționale, orientate pe obiecte etc. Unele SGBD-uri pot suporta simultan mai multe modele de date.

Pentru a lucra cu datele stocate în baza de date, sunt utilizate următoarele tipuri de limbi:

* limbaj de descriere a datelor - un limbaj non-procedural de nivel înalt
tip declarativ, conceput pentru a descrie un logic
structuri de date

* limbaj de manipulare a datelor - un set de construcții care asigură operațiuni de bază pentru lucrul cu date: introducerea, modificarea și preluarea datelor la cerere.

Limbile numite pot diferi în diferite SGBD. Cele mai răspândite sunt două limbaje standardizate: QBE - un limbaj de interogare bazat pe model și SQL - un limbaj de interogare structurat.QBE are în principal proprietățile unui limbaj de manipulare a datelor, SQL combină proprietățile ambelor tipuri de limbaje.

SGBD implementează următoarele funcții de bază de nivel scăzut:

* gestionarea datelor în memorie externa;

* gestionarea bufferelor RAM;

* managementul tranzactiilor;

* ținerea unui jurnal al modificărilor în baza de date;

* asigurarea integritatii si securitatii bazei de date.

Implementarea funcției de gestionare a datelor în memoria externă asigură organizarea managementului resurselor în Sistemul de fișiere OS.

Necesitatea tamponării datelor se datorează faptului că cantitatea de RAM este mai mică decât cantitatea de memorie externă. Bufferele sunt zone ale memoriei principale concepute pentru a accelera schimbul dintre memoria externă și memoria principală. Bufferele stochează temporar fragmente ale bazei de date, din care datele ar trebui să fie utilizate la accesarea SGBD sau sunt planificate să fie scrise în baza de date după procesare.

Mecanismul tranzacției este utilizat în SGBD pentru a menține integritatea datelor din baza de date. O tranzacție este o anumită secvență indivizibilă de operațiuni asupra datelor bazei de date, care este urmărită de SGBD de la început până la sfârșit. Dacă din orice motiv (defecțiuni hardware și erori, erori în software, inclusiv în aplicație) tranzacția rămâne incompletă, atunci aceasta este anulată.

Există trei proprietăți principale inerente tranzacțiilor:

* atomicitate (toate operațiunile incluse în tranzacție sunt executate sau niciuna);

* serializare (nu există influență reciprocă a tranzacțiilor executate în același timp);

* durabilitate (chiar o blocare a sistemului nu duce la pierderea rezultatelor tranzacției angajate).

Un exemplu de tranzacție este operațiunea de transfer de bani dintr-un cont în altul în sistemul bancar. Mai întâi, banii sunt retrași dintr-un cont, apoi sunt creditați într-un alt cont. Dacă cel puțin una dintre acțiuni nu reușește, rezultatul operației va fi incorect și echilibrul operațiunii va fi deranjat.

Înregistrarea modificărilor este efectuată de SGBD pentru a asigura fiabilitatea stocării datelor în baza de date în prezența defecțiunilor hardware și software.

Asigurarea integrității bazei de date este conditie necesara funcționarea cu succes a bazei de date, mai ales atunci când este utilizată în rețea. Integritatea bazei de date este o proprietate a bazei de date, ceea ce înseamnă că aceasta conține informații complete, consecvente și care reflectă în mod adecvat informațiile din domeniu. Starea integrală a bazei de date este descrisă folosind constrângeri de integritate sub forma unor condiții care trebuie îndeplinite de datele stocate în baza de date.

Securitatea se realizează în SGBD prin criptarea datelor, protecția cu parolă, suport pentru niveluri de acces la baza de date și la elementele sale individuale (tabele, formulare, rapoarte etc.).

3. Modele de organizare a datelor

Într-un model ierarhic, obiectele de entitate și relațiile de domeniu sunt reprezentate de seturi de date care au o structură arborescentă (ierarhică). Modelul ierarhic de date a fost primul din punct de vedere istoric. Pe baza acesteia, la sfârșitul anilor 60 - începutul anilor 70, au fost dezvoltate primele SGBD profesionale.

Accentul constrângerilor de integritate în modelul ierarhic este pe integritatea referințelor dintre strămoși și descendenți, sub rezerva regulii de bază: niciun descendent nu poate exista fără părinte.

Modelul de date de rețea vă permite să afișați diferite relații de elemente de date sub forma unui grafic arbitrar. O bază de date de rețea constă dintr-un set de înregistrări și un set de legături aferente. Nu sunt impuse restricții speciale cu privire la formarea unei obligațiuni. Dacă în structuri ierarhice o înregistrare copil ar putea avea doar o înregistrare strămoșească, apoi în modelul de date de rețea o înregistrare copil poate avea un număr arbitrar de înregistrări strămoși.

Avantajul secțiunii mediane a datelor din rețea este posibilitatea implementării eficiente a acesteia. În comparație cu modelul ierarhic, modelul de rețea oferă oportunități mai mari în sensul admisibilității formării conexiunilor arbitrare.

Dezavantajul modelului de date de rețea este complexitate ridicatăși rigiditatea schemei DB construită pe baza ei, precum și complexitatea înțelegerii sale utilizator obișnuit... În plus, în modelul de date de rețea, controlul integrității legăturilor este slăbit din cauza admisibilității stabilirii de legături arbitrare între înregistrări.

Sistemele bazate pe modelul de rețea nu sunt utilizate pe scară largă în practică.

Modelul de date relaționale a fost propus de angajatul IBM Edgar Codd și se bazează pe conceptul de relație.

O relație este un set de elemente numite tupluri. Un tabel bidimensional este o formă vizuală de reprezentare a unei relații.

Folosind un singur tabel, este convenabil să descriem cel mai simplu tip de relații între date, și anume: împărțirea unui obiect, despre care informațiile sunt stocate în tabel, în mai multe subobiecte, fiecare dintre ele corespunde unui rând sau unei înregistrări de tabel.

Principalele dezavantaje ale modelului relațional sunt următoarele: unelte standard identificarea înregistrărilor individuale și complexitatea descrierii relațiilor ierarhice și de rețea.

4. Baze de date relaționale

Modelul de date relaționale (RDM) al unui anumit domeniu este un set de relații care se modifică în timp. Atunci când creați un sistem informațional, un set de relații vă permite să stocați date despre obiecte din domeniul subiectului și să modelați conexiuni între ele. Termenii RMD sunt prezentați în tabel. 4.1

Tabelul 4.1. Termenii modelului relațional

Termen-relațional îmbrăcat

Echivalent

Atitudine

Diagrama relațiilor

Rând anteturi coloană tabel (antet tabel)

Rând de masă, înregistrare

Esenta

Descrierea proprietăților obiectului

Coloană, câmp

Multe valori valide

atribut

Cheia principala

Identificator unic

Cardinalitatea

Numărul de linii

Numar de coloane

O bază de date relațională este un depozit de date care conține un set de tabele bidimensionale. Datele din tabele trebuie să respecte următoarele principii:

1. Valorile atributelor trebuie să fie atomice (cu alte cuvinte,
fiecare valoare conținută la intersecția unui rând și a unei coloane,
nu trebuie împărțit în mai multe valori).

2. Valorile fiecărui atribut trebuie să fie de același tip.

3. Fiecare înregistrare din tabel este unică.

4. Fiecare câmp are un nume unic.

5. Succesiunea câmpurilor și înregistrărilor din tabel nu este esențială.

O relație este cel mai important concept și este un tabel bidimensional care conține unele date.

O entitate este un obiect de orice natură, despre care datele sunt stocate într-o bază de date. Datele entității sunt stocate într-o relație.

Atributele sunt proprietăți care caracterizează o entitate. În structura tabelului, fiecare atribut este numit și corespunde antetului unei anumite coloane din tabel.

Cheia unei relații este un set de atribute care identifică în mod unic fiecare dintre tuplurile relației. Cu alte cuvinte, setul de atribute K, care este cheia relației, are proprietatea unicității. Următoarea proprietate a unei chei nu este redundanța. Adică niciuna dintre submulțimile proprii ale mulțimii K nu posedă proprietatea de unicitate.

Fiecare relație are întotdeauna o combinație de atribute care pot servi drept cheie.

Pot exista cazuri în care o relație are mai multe combinații de atribute, fiecare dintre ele identificând în mod unic toate tuplurile relației. Toate aceste combinații de atribute sunt chei de relație posibile. Oricare dintre cheile posibile poate fi selectată ca primară.

Cheile sunt utilizate în mod obișnuit în următoarele scopuri:

Eliminarea valorilor duplicate în atributele cheie (alte atribute nu sunt luate în considerare);

Ordine de tupluri. Este posibilă ordonarea în ordine crescătoare sau descrescătoare a valorilor tuturor atributelor cheie, precum și ordonarea mixtă (într-unul - crescător, iar după alții - descrescător);

Organizații de legare a tabelelor.

Conceptul de cheie străină este important. O cheie străină poate fi definită ca un set de atribute ale unei relații R2, ale căror valori trebuie să se potrivească cu valorile cheie posibilă altă relație R1.

Atributele relației K2 care compun cheia externă nu sunt cheie pentru această relație.

Legăturile dintre relații sunt stabilite folosind chei străine.

Proiectarea bazelor de date ale sistemelor informatice este o sarcină destul de laborioasă. Se desfășoară pe baza formalizării structurii și proceselor domeniului subiectului, informații despre care ar trebui să fie stocate în baza de date. Distingeți între designul conceptual și schematic-structural.

Proiectarea conceptuală a unui IS DB este în mare măsură un proces euristic. Adecvarea modelului infologic al domeniului de studiu construit în cadrul acestuia este verificată empiric, în procesul de funcționare a SI.

Etape de proiectare conceptuală:

* studiul domeniului de formare vedere generala despre ea;

* selectarea si analiza functiilor si sarcinilor SI dezvoltat;

* definirea principalelor obiecte-entități ale domeniului de studiu
și relația dintre ele;

* prezentarea oficială a materiei.

Când se proiectează o schemă de bază de date relațională, se poate distinge următoarele proceduri:

* determinarea listei de tabele și a legăturilor dintre acestea;

* determinarea listei de câmpuri, tipuri de câmpuri, câmpuri cheie ale fiecărui tabel (schema tabelului), stabilirea legăturilor între tabele prin chei străine;

* stabilirea indexării câmpurilor din tabele;

* elaborarea de liste (dicționare) pentru câmpurile enumerate
date;

* stabilirea de constrângeri de integritate pentru tabele și link-uri;

* normalizarea tabelelor, corectarea listei de tabele și link-uri. Proiectarea bazei de date se realizează la nivel fizic și logic. Proiectarea pe nivel fizic este implementat prin intermediul unui SGBD și este adesea automatizat.

Proiectarea logică constă în determinarea numărului și structurii tabelelor, elaborarea interogărilor la baza de date, raportarea documentelor, crearea formularelor pentru introducerea și editarea datelor în baza de date etc.

Una dintre cele mai importante sarcini ale proiectării bazelor de date logice este structurarea datelor. Se disting următoarele abordări ale proiectării structurilor de date:

* combinarea informațiilor despre obiectele entitate într-un singur tabel (o relație) cu descompunerea ulterioară în mai multe tabele interconectate pe baza normalizării relațiilor;

* formularea cunoștințelor despre sistem (determinarea tipurilor de date și relații inițiale) și a cerințelor de prelucrare a datelor, obținerea unei scheme de bază de date gata făcută sau chiar a unui sistem informatic de aplicație gata făcut folosind sistemul CA5E;

* implementarea analizei de sistem si dezvoltarea modelelor structurale.

5. Scopul și principiul funcționării SQL

SQL (deseori pronunțat „sequel”, prescurtare pentru Structured Query Language) înseamnă Structured Query Language.

SQL este un instrument conceput pentru a procesa și a citi datele conținute într-o bază de date computerizată. Este un limbaj care face posibilă crearea și lucrul eficient cu baze de date relaționale.

Lumea bazelor de date devine din ce în ce mai unificată, ceea ce a condus la necesitatea unui limbaj standard care să poată funcționa într-un număr mare de tipuri diferite de medii de calcul. Limbajul standard va permite utilizatorilor care cunosc un set de comenzi să le folosească pentru a crea, căuta, modifica și transmite informații, indiferent dacă rulează pe un computer personal, pe o stație de lucru în rețea sau pe mainframe. Într-o lume a calculatoarelor din ce în ce mai interconectată, un utilizator echipat cu un astfel de limbaj are un avantaj imens în utilizarea și rezumarea informațiilor dintr-o varietate de surse folosind un numar mare moduri.

După cum sugerează și numele, SQL este un limbaj de programare care este folosit pentru a organiza interacțiunea utilizatorului cu o bază de date. De fapt, SQL funcționează numai cu baze de date relaționale.

6. Model infologic

La crearea unui model infologic, s-a analizat domeniul de studiu al bazei de date date „Curricula disciplinelor studiate ale direcției PMI”. Au fost alocate 4 obiecte: Curriculum, Disciplina, Student, Profesor, precum și două tabele suplimentare care leagă elevii și disciplinele, precum și între profesori și discipline. Obiectul Curriculum are atributele: Anul creației, Numărul curriculumului. Obiectul Disciplina are urmatoarele atribute: Numele disciplinei, Codul disciplinei, Numarul curriculumului, Numarul de ore de curs, Numarul de ore de practica, Numarul de ore pentru munca de laborator, Total ore, Numarul de ore pe saptamana, Formular de raportare disciplina, Semestru de studiu . Obiectul Sudent are următoarele atribute: Numărul caietului de note, numele complet. Iar obiectul Teacher are atributele: nume, număr de personal, departament, funcție, număr de telefon. Obiectele Curriculum și Disciplina sunt legate într-o relație 1:n, obiectele Disciplina și Student sunt legate într-o relație 1:n, iar obiectele Disciplina și Profesorul sunt legate într-o relație 1:n.

Diagramele ER au fost folosite pentru a descrie modelul infologic:

Poza 1

7. Model logic

Modelul logic descrie conceptele domeniului de studiu, relația lor, precum și constrângerile de date impuse de domeniul de studiu.

Modelul logic de date este prototipul inițial pentru viitoarea bază de date. Este construit în termeni de unități informaționale, dar fără referire la un anumit SGBD. Mai mult, modelul de date logic nu trebuie să fie exprimat în termenii modelului de date relațional în sine.

Pentru a crea un model logic, fiecărui obiect i s-a atribuit un tabel cu un set specific de câmpuri. Deoarece Disciplina obiectelor și Profesorul sunt legate într-o relație 1: n, se pare masă suplimentară pentru a reprezenta legătura dintre obiectele Disciplina și Instructor: Învață.

În total, avem 4 obiecte și, prin urmare, vor fi 4 tabele pentru prezentarea lor, obiectul Curriculum este doar informațional, deoarece munca bazei de date se desfășoară cu un singur curriculum:

Dar există o relație 1:n între cele două obiecte, așa că trebuie să introducem un alt tabel care să reprezinte relațiile dintre aceste tabele. Acesta este tabelul Disciplina-Prepodavatel și tabelul Disciplina-Student.

Baza de date prezentată poate fi atribuită formei a 5-a normală, deoarece este 3 formă normală și cheia primară este simplă. Diagrama logică este implementată în Microsoft Access.

Poza 2

8. Structura tabelelor

Baza de date inițială constă din 5 tabele (tabelul Curriculum nu este luat în calcul, deoarece este folosit un curriculum).

Decodificarea câmpurilor:

v Disciplina.db

Ш Nazv- numele disciplinei, tipul câmpului: String;

W Kod - cod unic discipline: LongInt;

Ш Semestr - semestrul în care se predă: String;

Ш KolLeKCh - numărul de prelegeri la această disciplină: LongInt;

Ш KolPraktCh - numărul de practici la această disciplină: LongInt;

Ш KolLabRabCh - numărul de prelegeri la această disciplină: LongInt;

Ш VsegoCh - numărul total de ore: LongInt;

Ш NomerYP - numărul curriculumului, care conține disciplina: LongInt.

v Student.db

Ш NomerStudBileta - nr ID student: LongInt;

Ш FIO - prenume student: ShortInt;

v Prepodaet.db (Disciplina-Prepodavatel)

Ш TabNomerPrepod - numărul de personal al profesorului care predă disciplina corespunzătoare: LongInt;

Ш FIO- numele profesorului care predă disciplina relevantă: String.

v Prepod.db

Ш FIO - numele complet al profesorului: String;

Ш TabelNomerPrepodavatelya - numărul unic de personal al profesorului: LongInt;

Ш Kafedra - departamentul în care lucrează: String;

Ш Dolshnost - Poziția profesorului: șir;

Ш Telefon- numar de contact profesor: Snur.

v Izuchaet.db (Disciplina- Student)

Ш KodDiscip- cod de disciplină: LongInt;

Ш NomerStudBileta - numărul de identificare al studentului care studiază disciplina: LongInt;

W FIO - numele complet al studentului care studiază disciplina relevantă: String;

Ш Ocenka - evaluarea elevului la disciplina studiată: LongInt ;.

9. Proiectarea interogărilor SQL

1. Creați o listă de credite și examene pentru fiecare semestru.

selectați Nazv, FormaOtchet

unde Semestr =: s si

(Disciplina.FormaOtchet = „Succes” sau Disciplina.FormaOtchet = „Examen”);

2. Formular fise de examinare si test / principal si suplimentar / pentru fiecare subiect.

Foaia principala:

selectați Prepodaet.FIO,

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

Ocenka, Disciplina.Nazv

de la Disciplina, Prepodaet, Izuchaet

unde Disciplina.KodDiscip = Prepodaet.KodDiscip

și (Disciplina.FormaOtchet = „Examen” sau Disciplina.FormaOtchet = „Succes”)

Declarație suplimentară (pentru studenții cu 2):

selectați Disciplina.Nazv, Prepodaet.FIO,

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

din Izuchaet, Disciplina, Prepodaet

unde Izuchaet.Ocenka = "2"

and Disciplina.KodDiscip = Izuchaet.KodDiscip

and Disciplina.KodDiscip = Prepodaet.KodDiscip

și (Disciplina.FormaOtchet = „Examen” sau Disciplina.FormaOtchet = „Succes”);

Actualizați Disciplina

set ObsheeKolChVNed = VsegoCh / 17;

4. Pregătiți un insert pentru diploma fiecărui student:

selectați Disciplina.Nazv, Izuchaet.Ocenka, Izuchaet.FIO

din Izuchaet, Disciplina

unde Disciplina.KodDiscip = Izuchaet.KodDiscip

și Disciplina.FormaOtchet = "Examen"

Selectați AVG (Ocenka) ca SrBall

Comanda prin SrBall desc;

5. Enumerați grupul în ordinea descrescătoare a punctajului mediu:

Selectați FIO, AVG (Ocenka) ca SrBall

Comanda prin SrBall desc;

10. Structura și funcțiile sistemului

Lucrarea cursului constă dintr-un proiect „Proiect1” și 13 module.

1. Unit1 - formularul este stocat aici, adică Pagina titlu... Componente utilizate: Memo, Buton.

2. Unit2 - aici este stocat formularul, care este pagina inițială a bazei de date. Componentele sunt folosite aici: Buton, Memo.

3. Unit3 - aici este stocat formularul, care conține toate tabelele bazei de date sub formă de file. Componentele sunt utilizate aici: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

4. Unit4 - aici este stocat formularul pe care este afișată sarcina. Componentele sunt folosite aici: Memo, Button.

5. Unit5 - aici este stocat un formular, care afișează o fișă suplimentară de examinare. Componentele sunt utilizate aici: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

6. Unit6 - aici este stocat un formular care afișează o listă de examene și teste. Componentele sunt utilizate aici: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

7. Unit7 - aici este stocat formularul care afișează foaia principală de examinare. Componentele sunt utilizate aici: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

8. Unit8 - aici este stocat formularul, care afișează lista grupului în ordine descrescătoare. Componentele sunt utilizate aici: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

9. Unit9 - aici este stocat formularul care afiseaza insertul in diploma. Componentele sunt utilizate aici: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

10. Unitatea 10 - aici este stocat un formular, care afișează un formular pentru completarea unui extras electronic. Componentele sunt utilizate aici: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

11. Unit11 - aici este stocat formularul pe care este afișat meniul. Componentele sunt folosite aici: Notă, Buton, Etichetă.

12. Unitatea 12 - aici este stocat un formular, care afiseaza un raport privind realizarea unei fise electronice de examinare. Componentele folosite aici sunt Memo și Button, RVProject, RVQueryConnnection și Query.

13. Unitatea 13 - aici este stocat un formular, care afișează un raport privind crearea unei inserții într-o diplomă. Componentele folosite aici sunt Memo și Button, RVProject, RVQueryConnnection și Query.

11. Manual de utilizare

1. Lansați proiectul. În fața noastră apare pagina de titlu a lucrării cursului

Figura 3

Aici putem intra imediat în baza de date sau putem privi sarcina și revenim la acest formular. Selectăm „Afișează sarcina”

2. În fața noastră apare o fereastră cu informații despre repartizarea lucrării trimestriale

Figura 4

3. Reveniți făcând clic pe butonul corespunzător și începeți lucrul făcând clic pe butonul din fereastra anterioară „Continuare”

Figura 5

4. După ce ați examinat informațiile de pe această pagină, faceți clic pe butonul „Autentificare”.

Figura 6

În fața noastră apare o fereastră, care conține în file toate informațiile conținute în baza de date. Aici putem să ne uităm prin lista de discipline, grup de studiu, profesori, ce învață anumiți elevi și ce materie sunt predate de profesori.

5. Tot din această fereastră putem merge la interogări. Faceți clic pe butonul corespunzător.

Figura 7

Aici putem selecta orice solicitare de interes doar făcând clic pe butonul corespunzător. Tot aici putem reveni la mese și mergem la formație versiune electronica fisa de examinare.

6. Faceți clic pe butonul „Vedeți lista de credite și examene pentru fiecare semestru”

Figura 8

Aici trebuie să introduceți numărul semestrului și să faceți clic pe butonul de mai jos, apoi în fereastra tabelului va apărea o listă de examene și teste pentru semestrul pe care l-ați introdus. Din această foaie, putem reveni la interogări.

7. Faceți clic pe butonul „Mergeți la foaia principală de examinare”

Aici trebuie să selectați numele disciplinei din lista drop-down, apoi introduceți acest nume în caseta de sub lista drop-down și faceți clic pe butonul „Execute”. Solicitarea va afișa numărul total de ore pe săptămână pentru studierea disciplinei pe care ați introdus-o, precum și o listă cu studenții care studiază această disciplinăși nota lor pentru această disciplină. Atenţie! Câmpul notă este completat în formular cu tabele în interiorul filei Student-Disciplina. Tot pe această fișă puteți forma o fișă suplimentară de examinare. Pentru elevii cu nota 2. Din această fișă ne putem întoarce la întrebări.

Figura 9

8. Faceți clic pe butonul „Mergeți la foaia de examinare suplimentară”

Figura 10

Aici putem vedea elevi care au nota 2 la o anumită disciplină. Din această foaie, putem reveni la interogări.

9. Faceți clic pe butonul „Creați un insert pentru diplomă”

Figura 11

Aici trebuie să introduceți numele complet al absolventului selectând studentul corespunzător din lista derulantă. Apoi apăsați tasta. Și apoi, la cerere, rubrica „Disciplina” va fi completată cu o listă a disciplinelor studiate pentru 5 ani de studiu, iar notele corespunzătoare vor apărea. Pe aceeași foaie, puteți vizualiza versiunea electronică a insertului făcând clic pe butonul „Versiune tipărită”. După ce ați vizualizat această versiune, trebuie doar să închideți fereastra care se deschide cu o cruce roșie în dreapta colțul de sus ecran.

Figura 12

10. Faceți clic pe butonul „Vizualizați lista grupului în ordinea descrescătoare a punctajului mediu”

Figura 13

Aici vedem lista grupei si nota medie corespunzatoare fiecarui elev, dispuse in ordine descrescatoare. Din această foaie, putem reveni la interogări.

Figura 14

Selectați disciplina care ne interesează din lista derulantă, de exemplu, economie și introduceți numele acesteia în caseta de sub lista derulantă. Apoi, faceți clic pe butonul de executare și vedeți numele profesorului acestei discipline.

Figura 16

Aici vedem numele disciplinei pe care am ales-o, numele complet al profesorului acestei discipline. Și, de asemenea, o listă a studenților care au studiat această disciplină. Pentru a ieși din raport, faceți clic pe cruce din colțul din dreapta sus al ecranului. Revenim la foaia anterioară. Din această foaie, putem reveni la interogări.

12. Crearea tabelelor

Pentru crearea tabelelor au fost folosite utilitarele pentru baza de date Desktop. Îl puteți rula - Start / Programe / Borland Delphi 7 / Database Desktop. Directorul de lucru al utilitarului trebuie configurat. Selectați comanda Fișier / Director de lucru și setați directorul de lucru. Pentru a crea un tabel, selectați comanda Fișier / Nou / Tabel. Apoi trebuie să selectați tipul de tabel. Tipul PARADOX 7 poate fi considerat cel mai bun pentru tabelele server de fișiere.

1. Creați tabelul YchebPlan (Curriculum):

Figura 17

5. Crearea tabelului Disciplinei:

Figura 18

6. Crearea tabelului Student:

Figura 19

7. Crearea tabelului Prepodaet (Disciplina-Profesor):

Figura 20

5. Creați un tabel Prepod (Profesor):

Figura 21

8. Crearea mesei Izuchaet (Disciplina-Student):

Figura 22

13. Crearea unei aplicații în Delphi

Pentru a crea o aplicație nouă, selectați elementul Nou / Aplicație din meniul Fișier. Apar un formular și un modul (în general, acesta se numește proiect), acum puteți plasa componentele necesare pe formular. Dacă este necesar, puteți crea un alt formular (și mai multe), pentru aceasta trebuie să selectați elementul Nou / Formular din meniul Fișier.

1. Tabelul. Umplerea cu date. Afișarea datelor.

Pentru a afișa tabelul pe formular, trebuie să plasați componentele pe acesta:

· Tabel (în fila BDE) - În inspectorul de obiecte, în fila „Parametri”, în proprietatea Nume tabel, selectați tabelul necesar.

Figura 23

· DBGrid (pe fila DataControls) - necesar pentru afișarea tabelului pe formular, în Object Inspector, în proprietatea DataSource, specificați sursa de date necesară.

Figura 24

· DBNavigator (în fila DataControls) - necesar pentru a naviga prin înregistrările din tabel. În inspectorul de obiecte, proprietatea DataSource specifică aceeași sursă de date ca și în DBGrid. Funcțiile de navigator sunt disponibile făcând clic pe butoanele acestuia în timp ce aplicația rulează.Componenta conține 10 butoane.

Figura 25

· DataSource (fila Acces la date) - o componentă de nivel intermediar pentru accesul la date. Servește ca intermediar între tabelele DBMS și controalele de pe ecran (DBGrid, DBNavigator).

Figura 26

14. Crearea unui câmp cu informații (Memo) și butoane

Componenta Memo este plasată pe formular, care se află în fila Standard.

Figura 27

În inspectorul de obiecte din fila „Parametri”, în proprietatea Linii, introduceți textul necesar pentru afișare

Figura 28

Crearea de butoane.

Pentru închiderea corectă a formularului, pe acesta este plasată o componentă Buton, care se află în fila Standard.

Figura 29

Pentru ca butonul să funcționeze, trebuie să specificați în handlerul de evenimente OnClick:

procedura TForm1.N5Click (Expeditor: TObject);

începe

Form2.Show;

Formular1.Închidere;

Sfârșit;

15. Crearea semnăturilor pentru tabele

Pentru a semna tabelul în lucrarea de curs a fost folosită componenta Lable, aflată în fila Standard. În Object Inspector, în proprietatea Caption, trebuie doar să scrieți textul.

Figura 30

16. Creați o listă derulantă

Pentru a selecta o comandă din lista disponibilă, utilizați componenta ComboBox (lista derulantă). Se poate umple în acest fel

În Object Inspector, în proprietatea Items, trebuie să scrieți:

Figura 31

16. Generarea de rapoarte

Raportul este creat cu ajutorul instrumentului QReports, care trebuie conectat de la început: Component-> instalați pachete-> adăugați deschide folderul bin selectați fișierul dclqrt70.bpl faceți clic pe OK și apoi va apărea o filă cu componente QReport. Componentele pe care le folosesc:

masa 2

17. Listarea programelor

Descrierea proiectului

program Project1;

utilizări

Formulare,

Unit1 în „Unit1.pas” (Formular1),

Unit2 în „Unit2.pas” (Form2),

Unit3 în „Unit3.pas” (Formular3),

Unit4 în „Unit4.pas” (Formular4),

Unit5 în „Unit5.pas” (Form5),

Unit6 în „Unit6.pas” (Formular6),

Unit7 în „Unit7.pas” (Formular7),

Unit8 în „Unit8.pas” (Formular8),

Unit9 în „Unit9.pas” (Formular9),

Unitatea 10 în „Unitatea 10.pas” (Formular 10),

Unitatea 11 în „Unitatea 11.pas” (Formular 11),

Unitatea 12 în „Unitatea 12.pas” (Formular 12),

Unitatea 13 în „Unitatea 13.pas” (Formular 13),

Unitatea 14 în „Unitatea 14.pas” (Formular 14);

($ R * .res)

începe

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;

Sfârșit.

Descrierea modulului Unit1

unitate Unit1;

interfata

utilizări

Dialoguri, StdCtrls;

tip

TForm1 = clasa (TForm)

Memo1: TMemo;

Buton1: TBbutton;

Button2: TButton;

Button3: TBbutton;

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form1: TForm1;

implementare

folosește Unit2, Unit4, Unit6, Unit7, Unit5, Unit8, Unit9, Unit10;

($ R * .dfm)

procedura TForm1.Button3Click (Expeditor: TObject);

începe

Form2.show;

Sfârșit;

procedura TForm1.Button2Click (Expeditor: TObject);

începe

Formular1.Închidere;

Sfârșit;

procedura TForm1.Button1Click (Expeditor: TObject);

începe

Form4.show;

Sfârșit;

Sfârșit.

Descrierea modulului Unit2

unitate Unit2;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

Dialoguri, StdCtrls;

tip

TForm2 = clasa (TForm)

Memo1: TMemo;

GroupBox1: TGroupBox;

Buton1: TBbutton;

Button2: TButton;

procedura Buton1Click (Expeditor: TObject);

procedura Button2Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form2: TForm2;

implementare

folosește Unit3;

($ R * .dfm)

procedura TForm2.Button1Click (Expeditor: TObject);

începe

Form3.show;

Formular2.Închidere;

Sfârșit;

procedura TForm2.Button2Click (Expeditor: TObject);

începe

Formular2.Închidere;

Sfârșit;

Descrierea modulului Unit3

unitate Unit3;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

Dialoguri, ComCtrls, ExtCtrls, DBCtrls, Grile, DBGrids, DB, DBTables,

StdCtrls, QuickRpt, QRCtrls;

tip

TForm3 = clasa (TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

DataSource4: TDataSource;

Tabelul 1: TTtable;

Tabelul 2: TTtable;

Tabelul 3: TTtable;

Tabelul4: 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;

Buton1: TBbutton;

DataSource5: TDataSource;

DataSource6: TDataSource;

Tabelul 5: TTtable;

Tabelul 6: TTtable;

Query1: TQuery;

Button2: TButton;

Label1: TLabel;

Memo1: TMemo;

Label3: TLabel;

Button3: TBbutton;

procedura Buton1Click (Expeditor: TObject);

procedura Button2Click (Expeditor: TObject);

procedura Button3Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form3: TForm3;

implementare

folosește Unit5, Unit11;

($ R * .dfm)

procedura TForm3.Button1Click (Expeditor: TObject);

începe

Formular11.show;

Form3.close;

Sfârșit;

procedura TForm3.Button2Click (Expeditor: TObject);

începe

Interogare1.ExecSQL;

Form3.Refresh;

Sfârșit;

procedura TForm3.Button3Click (Expeditor: TObject);

începe

Form3.close;

Sfârșit;

Descrierea modulului Unit4

unitate Unit4;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

Dialoguri, StdCtrls;

tip

TForm4 = clasa (TForm)

Memo1: TMemo;

Buton1: TBbutton;

procedura Buton1Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form4: TForm4;

implementare

folosește Unit1;

($ R * .dfm)

procedura TForm4.Button1Click (Expeditor: TObject);

începe

Form1.show;

Sfârșit;

Descrierea modulului unității 5

unitate Unit5;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

Dialoguri, DB, DBTables, Grile, DBGrids, StdCtrls, Mask, DBCtrls, ExtCtrls;

tip

TForm5 = clasa (TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Query1: TQuery;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

DBNavigator1: TDBNavigator;

Buton1: TBbutton;

procedura ComboBox1Change (Expeditor: TObject);

procedura Edit1Change (Expeditor: TObject);

procedura Buton1Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form5: TForm5;

implementare

folosește Unit11;

($ R * .dfm)

procedura TForm5.ComboBox1Change (Expeditor: TObject);

începe

Interogare1.Activ: = adevărat;

Sfârșit;

procedura TForm5.Edit1Change (Expeditor: TObject);

începe

Interogare1.Deschidere;

Sfârșit;

procedura TForm5.Button1Click (Expeditor: TObject);

începe

Formular11.show;

Formular5.Închidere;

Sfârșit;

Descrierea unității 6

unitatea Unit6;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

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

tip

TForm6 = clasa (TForm)

Buton1: TBbutton;

Edit1: TEdit;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Query1: TQuery;

Label1: TLabel;

DBNavigator1: TDBNavigator;

Label2: TLabel;

Memo1: TMemo;

Button2: TButton;

Label3: TLabel;

procedura Buton1Click (Expeditor: TObject);

procedura Button2Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form6: TForm6;

implementare

folosește Unit11;

($ R * .dfm)

procedura TForm6.Button1Click (Expeditor: TObject);

începe

Interogare1.Închidere;

dacă nu Query1.Prepared atunci

Interogare1.Pregătire;

dacă lungimea (edit1.text)<>0 atunci

altfel

începe

Query1.Params.Value: = 0;

Sfârșit;

Interogare1.Deschidere;

Sfârșit;

procedura TForm6.Button2Click (Expeditor: TObject);

începe

Formular11.show;

Formular6.Închidere;

Sfârșit;

Descrierea modulului unității 7

unitate Unit7;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

Dialoguri, StdCtrls, Grile, DBGrids, DBTables, DB, Mask, DBCtrls, ExtCtrls,

QRCtrls, QuickRpt;

tip

TForm7 = clasa (TForm)

Label1: TLabel;

Label2: TLabel;

DataSource1: TDataSource;

Query1: TQuery;

Edit2: TEdit;

Buton1: TBbutton;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label3: TLabel;

DBGrid1: TDBGrid;

Label4: TLabel;

Label5: TLabel;

DBNavigator1: TDBNavigator;

Button2: TButton;

Label6: TLabel;

Label7: TLabel;

Memo1: TMemo;

ComboBox1: TComboBox;

Label8: TLabel;

Button3: TBbutton;

procedura Buton1Click (Expeditor: TObject);

procedura Button2Click (Expeditor: TObject);

procedura Button3Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form7: TForm7;

implementare

folosește Unit5, Unit11;

($ R * .dfm)

procedura TForm7.Button1Click (Expeditor: TObject);

începe

Interogare1.Închidere;

dacă nu Query1.Prepared atunci

Interogare1.Pregătire;

dacă lungimea (edit2.text)<>0 atunci

Query1.Params.Value: = edit2.Text

altfel

începe

Query1.Params.Value: = 0;

edit2.Text: = "Vă rugăm să introduceți un titlu!";

Sfârșit;

Interogare1.Deschidere;

Sfârșit;

procedura TForm7.Button2Click (Expeditor: TObject);

începe

Form5.show;

Form7.close;

Sfârșit;

procedura TForm7.Button3Click (Expeditor: TObject);

începe

Formular11.show;

Form7.close;

Sfârșit;

Descrierea modulului unității 8

unitate Unit8;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

tip

TForm8 = clasa (TForm)

Label4: TLabel;

DataSource1: TDataSource;

Query1: TQuery;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Buton1: TBbutton;

Memo1: TMemo;

procedura Buton1Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form8: TForm8;

implementare

folosește Unit11;

($ R * .dfm)

procedura TForm8.Button1Click (Expeditor: TObject);

începe

Formular11.show;

Form8.close;

Sfârșit;

Unitatea 9 descrierea modulului

unitate Unit9;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

Dialoguri, Grile, DBGrids, DB, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls;

tip

TForm9 = clasa (TForm)

Edit1: TEdit;

Query1: TQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Buton1: TBbutton;

Query2: TQuery;

DataSource2: TDataSource;

Button2: TButton;

DBEdit1: TDBEdit;

DBNavigator1: TDBNavigator;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Nume: TComboBox;

Button3: TBbutton;

Memo1: TMemo;

Label4: TLabel;

Buton4: TBbutton;

procedura Buton1Click (Expeditor: TObject);

procedura Button2Click (Expeditor: TObject);

procedura Button3Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form9: TForm9;

implementare

folosește Unit11, Unit13;

($ R * .dfm)

procedura TForm9.Button1Click (Expeditor: TObject);

începe

Interogare1.Închidere;

dacă nu Query1.Prepared atunci

Interogare1.Pregătire;

dacă lungimea (edit1.text)<>0 atunci

Query1.Params.Value: = edit1.Text

altfel

începe

Query1.Params.Value: = 0;

edit1.Text: = "Vă rugăm să introduceți numele absolventului!";

Sfârșit;

Interogare1.Deschidere;

Sfârșit;

procedura TForm9.Button2Click (Expeditor: TObject);

începe

Interogare2.Închidere;

dacă nu Query2.Prepared atunci

Query2.Prepare;

dacă lungimea (edit1.text)<>0 atunci

Query2.Params.Value: = edit1.Text

altfel

începe

Query2.Params.Value: = 0;

edit1.Text: = "Vă rugăm să introduceți numărul semestrului!";

Sfârșit;

Interogare2.Open;

Sfârșit;

procedura TForm9.Button3Click (Expeditor: TObject);

începe

Formular11.show;

Form9.close;

Sfârșit;

procedura TForm9.Button4Click (Expeditor: TObject);

începe

Form13.QuickRep1.Preview;

Sfârșit;

Descrierea unității 10

unitate Unit10;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

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

Grile, DBGrids;

tip

TForm10 = clasa (TForm)

Buton1: TBbutton;

Query1: TQuery;

DataSource1: TDataSource;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Button2: TButton;

Label3: TLabel;

ComboBox1: TComboBox;

Label4: TLabel;

Label5: TLabel;

Memo1: TMemo;

Label6: TLabel;

Label7: TLabel;

Button3: TBbutton;

procedura Buton1Click (Expeditor: TObject);

procedura Button2Click (Expeditor: TObject);

procedura Button3Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form10: TForm10;

implementare

folosește Unit3, Unit7, Unit12, Unit11;

($ R * .dfm)

procedura TForm10.Button1Click (Expeditor: TObject);

începe

Form12.QuickRep1.Preview;

Sfârșit;

procedura TForm10.Button2Click (Expeditor: TObject);

începe

Interogare1.Închidere;

dacă nu Query1.Prepared atunci

Interogare1.Pregătire;

dacă lungimea (edit1.text)<>0 atunci

Query1.Params.Value: = edit1.Text

altfel

începe

Query1.Params.Value: = 0;

edit1.Text: = "Vă rugăm să introduceți un titlu!";

Sfârșit;

Interogare1.Deschidere;

Sfârșit;

procedura TForm10.Button3Click (Expeditor: TObject);

începe

Formular11.show;

Sfârșit;

Descrierea unității 11

unitatea Unit11;

interfata

utilizări

Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

Dialoguri, StdCtrls;

tip

TForm11 = clasa (TForm)

Buton1: TBbutton;

Button2: TButton;

Button3: TBbutton;

Buton4: TBbutton;

Button5: TButton;

Button6: TBbutton;

Memo1: TMemo;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Buton7: ​​​​TBbutton;

Label4: TLabel;

Label5: TLabel;

procedura Button2Click (Expeditor: TObject);

procedura Buton1Click (Expeditor: TObject);

procedura Button4Click (Expeditor: TObject);

procedura Button3Click (Expeditor: TObject);

procedura Button5Click (Expeditor: TObject);

procedura Button6Click (Expeditor: TObject);

procedura Button7Click (Expeditor: TObject);

privat

(Declarații private)

public

(Declarații publice)

Sfârșit;

var

Form11: TForm11;

implementare

Documente similare

    Crearea de tabele și proiectarea sistemelor de management al bazelor de date. Design infologic. Schema relațională Bază de date. Valoarea aplicată a sistemelor: un raport privind furnizorii și bunurile pe care le furnizează. Declarație privind disponibilitatea mărfurilor în magazin.

    lucrare de termen, adăugată 12/01/2008

    Dezvoltarea unei baze de date cu informații despre angajați, bunuri, cu o carte de referință de tipuri de bunuri prin intermediul sistemului de management al bazei de date MySQL folosind interogări SQL. Elaborarea unui model infologic al domeniului. Structura tabelelor, câmpurile bazei de date.

    test, adaugat 13.04.2012

    Procesul de proiectare a unei baze de date, dezvoltând structura logică a acesteia în conformitate cu modelul infologic al domeniului de studiu. Lucrul cu programul Accesați DBMS, proprietățile tabelelor și câmpurile acestora, crearea de legături între tabele; design infologic.

    lucrare de termen, adăugată 17.12.2009

    Concepte de bază ale bazelor de date și sistemelor de management al bazelor de date. Tipuri de date cu care lucrează bazele Microsoft Acces. Clasificarea SGBD și principalele lor caracteristici. Baze de date post-relaționale. Tendințe în lumea sistemelor informaționale moderne.

    lucrare de termen, adăugată 28.01.2014

    Caracteristici ale dezvoltării unui model infologic și al creării unei structuri de baze de date relaționale. Noțiuni de bază pentru proiectarea bazelor de date. Elaborarea de tabele, formulare, interogări pentru afișarea informațiilor despre modelul corespunzător. Lucrul cu bazele de date și obiectele acestora.

    lucrare de termen, adăugată 11/05/2011

    Studiul caracteristicilor şi funcţionalitate sisteme de management de bază Date Microsoft Acces la birou... Definirea principalelor clase de obiecte. Dezvoltarea bazei de date „Munca de birou”. Creați tabele, formulare, interogări, rapoarte și scheme de date.

    rezumat adăugat la 12.05.2014

    Tendinta de dezvoltare a sistemelor de management al bazelor de date. Modele SGBD ierarhice și de rețea. Cerințe de bază pentru bază distribuită date. Procesare distribuită a interogărilor, interoperabilitate. Tehnologia de replicare a datelor și arhitectura pe niveluri.

    rezumat, adăugat 29.11.2010

    Informații teoretice și concepte de bază ale bazelor de date. Sisteme de management al bazelor de date: compoziție, structură, siguranță, moduri de funcționare, obiecte. Lucrul cu baze de date în OpenOffice.Org BASE: crearea de tabele, legături, interogări folosind Expertul de interogări.

    lucrare de termen, adăugată 28.04.2011

    Proiectarea unei baze de date a unui sistem de acceptare, procesare și înregistrare a aplicațiilor către departamentul de tehnologie a informației; dezvoltarea modelelor infologice și datalogice, implementarea unui model fizic. Crearea de aplicații pentru vizualizarea lucrărilor cu baza de date.

    teză, adăugată 25.01.2013

    Evidențierea obiecte informaţionaleși modelul lor infologic. Structura logică a unei baze de date relaționale. Dezvoltarea de tabele în sistemul de management al bazei de date Access. Crearea de interogări, formulare și rapoarte în SGBD Access. Dezvoltarea aplicației utilizator.

Să creăm o aplicație simplă de bază de date care să iasă la formular de ecran informații din tabelul „Turiști” și evidența tabelului „Informații turistice” asociate evidenței curente a tabelului „Turiști” din baza de date Microsoft Access.

Pentru a face acest lucru, să creăm o aplicație Windows goală. Aspectul mediului

dezvoltarea este prezentată în Figura 39.

Orez. 39. Aplicație goală

În Figura 39, este evidențiat grupul de componente „Date”, care conține componente pentru accesarea și manipularea datelor.

Legarea datelor bazei de date la formular este realizată de componenta „Sursa de legare”. Să-l transferăm în formular. După plasarea lui pe formular, mediul de dezvoltare ia următoarea formă (Fig. 40).

Orez. 40. Sursa de legare a componentelor pe formular

Componenta nu este vizuală, deci este afișată într-un panou suplimentar. Proprietatea principală a componentei este proprietatea DataSource, care indică sursa de date. În mod implicit, proprietatea este goală, așa că trebuie să-i formați valoarea. La alegere a acestei proprietati următoarea fereastră apare în fereastra de proprietăți (Fig. 41).

Orez. 41. Lista surselor de date

Lista este în prezent goală, așa că trebuie să creați sursa noua date prin alegerea comenzii „Add Project Data Source” pentru a crea o nouă sursă de date și a vă conecta la aceasta. Apare următoarea casetă de dialog (fig. 42).

Orez. 42. Lista surselor de date

Acest dialog oferă următoarea selecție de surse de date:

Baza de date - Baza de date;

Serviciu - Un serviciu este un fel de serviciu care furnizează date. Cel mai adesea este un serviciu Web;

Obiect - Un obiect pentru selectarea unui obiect care va genera date și obiecte cu care să lucreze.

În cazul nostru, trebuie să selectați elementul „Bază de date”. Apare o fereastră pentru selectarea unei conexiuni de date (Fig. 43).

Orez. 43. Alegerea unei conexiuni de date

Scopul acestui dialog este de a crea un șir de conexiune care va descrie parametrii de conexiune pentru motorul ADO, cum ar fi tipul bazei de date, locația acesteia, numele de utilizator, caracteristicile de securitate etc.

Lista derulantă a casetei de dialog conține toate conexiunile create anterior. Dacă conexiunea necesară nu este în listă, atunci ar trebui să utilizați butonul „Conexiune nouă”. Apăsarea butonului duce la apariția următorului dialog (Fig. 44).

În acest dialog, selectați tipul sursei de date (în acest caz Microsoft Access), numele bazei de date (în acest caz, numele și locația fișierului bazei de date), numele de utilizator și parola utilizate pentru conectarea la baza de date. Butonul „Avansat” vă permite să setați un număr mare de parametri legați de diverse detalii ale mecanismului ADO. Folosind butonul „Testează conexiunea” te vei asigura că parametrii introduși sunt corecti și că conexiunea funcționează.

Orez. 44. Crearea unei noi conexiuni

Ultimul pas al dialogului este de a selecta acele tabele sau alte obiecte de bază de date care sunt necesare în această sursă de date. Fereastra de selecție este prezentată în Figura 45.

Orez. 45. Selectarea tabelelor necesare

În această fereastră sunt selectate tabelele „Turiști” și „Informații turistice”. Deoarece în baza de date nu au fost create alte obiecte decât tabele, în Figura 45 sunt afișate doar tabele. Aceasta completează crearea sursei de date. Când faceți clic pe Terminare, un set de date apare lângă BindingSource din formular.

Acum datele conectate mai sus trebuie să fie afișate pe formular. Cel mai simplu mod de a afișa date este să utilizați componenta DataGridView din grupul de componente Data. Componenta este vizuală și arată astfel pe formular (Fig. 46).

Orez. 46. ​​​​Componenta DataGridView

Imediat apare fereastra de setări ale componentelor, care determină opțiunile sale pentru editarea datelor: „Activați adăugarea”, „Activați editarea”, „Activați ștergerea”; capacitatea de a schimba secvența coloanelor: „Activați reordonarea coloanelor”; și, de asemenea, capacitatea de a andocare în containerul părinte.

Pentru ca componenta să afișeze date, trebuie să selectați o sursă de date din lista derulantă. Selectarea listei derulante duce la apariția următoarei casete de dialog (Fig. 47).

Orez. 47. Selectarea unei surse de date pentru DataGridView

În acest caz, am selectat tabelul „Turiști” ca sursă de date. Această selecție schimbă afișajul după cum urmează (Fig. 48).

Orez. 48. Componenta DataGridView afișează structura tabelului

În figură, puteți vedea că există o altă componentă BindingSource și o componentă TableAdapter care funcționează cu tabelul Turists. Vă rugăm să rețineți că în timpul proiectării sau în timpul dezvoltării, datele din tabel nu sunt afișate.

Acum trebuie să afișați datele din tabelul de informații turistice conectat. Pentru a face acest lucru, plasați o altă componentă DataGridView pe formular și selectați următoarele ca sursă de date (Fig. 49).

Orez. 49. Selectarea unei surse de date pentru al doilea DataGridView

Aici, sursa de date nu este tabelul „Informații turistice” în sine, ci Sursa de legătură dintre tabelele „Turiști” și „Informații turistice”. Această selecție asigură că numai acele rânduri care sunt asociate cu linia curentăîn tabelul „Turiști”. Această alegere asigură, de asemenea, că datele asociate sunt actualizate și șterse corect. Funcționarea aplicației rezultate este prezentată în Figura 50.

Orez. 50. Aplicația bazei de date la locul de muncă

Navigarea prin date folosind tastele săgeți este incomod. Există o componentă BindingNavigator pentru a simplifica navigarea prin date. Așezați-l pe formular (fig. 51).

Orez. 51. Componenta BindingNavigator din formular

Această componentă vă permite să navigați între înregistrările de tabel, să adăugați și să ștergeți rânduri de tabel. Oportunități și aspect componenta este personalizabilă deoarece este o bară de meniu ToolStripContainer.

Proprietatea care definește tabelul prin care trebuie navigat este proprietatea BindingSource. Setați valoarea acestei proprietăți la TouristBindingSource. În funcționare, componenta arată astfel (Fig. 52).

Orez. 52. Componenta BindingNavigator la locul de muncă

Editarea datelor în celulele componentei DataGridView cu setări adecvate este posibilă, dar incomod și nu rațional. În special, este dificil să verificați valorile introduse pentru erori. Prin urmare, pentru tabelul „Turiști”, vom realiza un formular de ecran care permite afișarea datelor în componentele TextBox și editarea acestora. Pentru a face acest lucru, plasați un container de tip Panel pe formular și pe acesta trei componente TextBox, după cum urmează (Fig. 53).

Orez. 53. Panou ecran pentru editarea înregistrărilor din tabelul „Turiști”

Acum este necesar să legați componentele TextBox la câmpurile corespunzătoare din tabelul „Turiști”. Pentru a face acest lucru, utilizați proprietatea din grupul DataBindings - Advanced, prezentată în Figura 54.

Orez. 54. Proprietatea „DataBindings - Advanced”

Selectarea acestei proprietăți duce la apariția casetei de dialog prezentate în Figura 55. Acest dialog vă permite nu numai să efectuați legarea datelor, ci și să setați un eveniment în cadrul căruia datele vor fi actualizate, precum și să formatați datele atunci când sunt afișate. .

Pentru componenta de sus TextBox din lista drop-down Binding, selectați sursa de date „touristsBmdmgSource” și câmpul sursă - „Lastname”. Pentru componentele TextBox din mijloc și de jos, selectați aceeași sursă de date și, respectiv, câmpurile „Nume” și „Patronimic”.

Aplicația dezvoltată în funcțiune arată după cum urmează (Fig. 56).

Orez. 55. Caseta de dialog pentru proprietatea „DataBindings - Advanced”.

Orez. 56. Legarea datelor de componente vizuale

Cu toate acestea, atunci când se fac modificări, toate datele noi rămân doar în formular. Acestea nu sunt stocate în baza de date și, desigur, nu vor fi prezente atunci când aplicația este apelată din nou. Acest lucru se datorează faptului că datele au fost încărcate într-un DataSet, care este o copie în memorie a tabelului. Toate acțiunile sunt efectuate cu această copie. Pentru ca modificările să se reflecte în baza de date, trebuie să executați metoda Update a clasei TableAdapter. Astfel, în aplicația dezvoltată este necesar să plasați butonul Actualizare și să scrieți următorul cod de program în handlerul de evenimente Click:

touristsTableAdapteгUpdate (bDTur_firmDataSet); info_about_touristsTableAdapter.Update (bDTur_firmDataSet);

Acest cod actualizează informațiile din tabelele „Turiști” și „Informații turistice” furnizate de sursa de date. Rețineți că această metodă este supraîncărcată, iar variantele sale vă permit să actualizați atât un singur rând al unui tabel, cât și un grup de rânduri.

Unul dintre cele mai comune scenarii în dezvoltarea de aplicații este afișarea datelor din DB pe formular Formulare Windows... Prin urmare, luând în considerare procesele care sunt utilizate atunci când se lucrează cu seturile de date oferite de Microsoft ( orez. 5.6.1-2 ), și ținând cont de faptul că sarcinile prezentate sunt educaționale, în exemple vom avea în vedere următoarele procese:

    Dezvoltarea bazei de date.

    Dezvoltare a aplicații Windows:

      crearea de proiecte;

      crearea interfeței cu utilizatorul;

      crearea unei conexiuni la datele bazei de date și afișarea acesteia pe formular

      editarea, verificarea și salvarea datelor în aplicație;

      dezvoltarea codului de program al aplicației.

    Execuția aplicației.

    Analiza rezultatelor aplicației.

5.6.3.1. Un exemplu de creare a unui proiect „Passes” pentru lucrul cu baza de date „DataBase1”

Exercițiu:

La baza de datecnumele "Bază de date 1 „în anumite zile se primesc informații cu privire la numărul de ore ratate pe care le au elevii la fiecare dintre cele trei discipline, în timp ce sunt disponibile următoarele informații:

    data inspectiei;

    grup de studiu;

    numele de familie al elevului;

    anul nașterii;

    numărul de ore ratate în informatică;

    numărul de ore ratate la matematică

    numărul de ore ratate la fizică.

Este necesar să se creeze un proiect denumit „Admite”, care, folosind informațiile din această bază de date, calculează în ce zi și la ce materie a fost cel mai mare număr de promovabile (indicați și numele elevului cu acest număr de absențe). Dacă există mai multe astfel de zile, atunci enumerați-le pe toate.

    Crearea bazei de date „DataBase1”

Pentru a crea un tabel numit PropClockStudent este necesar să se creeze structura acesteia, care va avea forma prezentată în Fig. 5.6.3-1.

Completarea unui tabel cu date se poate face în modul tabel. După umplerea tabelului PropClockStudent ia forma prezentată în Figura 5.6.3-2.

    Dezvoltarea unei aplicații Windows pentru lucrul cu baza de date Access „DataBase1”

      Crearea unui nou proiect.

Creați un proiect numit Treci1.

      Crearea interfeței cu utilizatorul.

Creați o interfață cu utilizatorul dintr-un formular, care este prezentat în Fig. 5.6.3-3.

Rețineți că șablonul de tabel PropClockStudent afisat pe formular numai dupa conectați setul de date al aplicației la baza de date DataBase1.

      Conectarea setului de date aplicației la baza de date DataBase1 a SGBD Access și afișarea lor pe formular.

Procedura de conectare a aplicației VS la datele din baza de date Accesați DBMS poate fi simplificată prin utilizarea Experti de configurare a sursei de date... După terminarea lucrării Maestrii datele din fereastră Surse de date devin disponibile pentru tragerea și plasarea pe formulare.

Pentru a crea un set de date folosind Experti de configurare a sursei de date

necesar:

    În element Date selectați comanda din meniul principal Adăugați o nouă sursă de date sau Afișați sursele de date.

Ca rezultat, va apărea o fereastră în mediul de dezvoltare Expertul de configurare a surseidate(R este. 5.6.3-4) .

Este o caracteristică nouă Visual Studio IDE care pregăteşte automat programul pentru Visual Basic pentru a obține informații din baza de date. Maestru solicită tipul de bază de date la care să se conecteze ( local sau baza de date la distanta ,serviciu web sau obiect de date, creat de dvs.), stabilește o conexiune de date și apoi creează un set de date în program care stochează tabelele și câmpurile de bază de date selectate. Rezultatul final este că vrăjitorul deschide o fereastră Sursă de dateși îl populează cu o reprezentare vizuală a fiecărui obiect de bază de date utilizat în program.

    După selecție Sursa de date pentru aplicațieBază de dateși apăsând tasta Mai departeMaestru cereri Selectarea unei conexiuni DB(fig. 5.6.3-5).

    La fereastră Selectarea unei surse de date(Fig. 5.6.3-6) selectați DB care este sursa de date - Accesați fișierul bazei de date,și apoi faceți clic pe butonul Mai departe.

Expertul va afișa formularul - Adăugarea unei conexiuni care ajută la stabilirea unei conexiuni la baza de date prin crearea unui șir numit șir de conexiune (fig. 5.6.3-7).

    Șirul de legătură conține informațiile necesare VS pentru a deschide și a prelua informații dintr-un fișier de bază de date. Include calea și numele fișierului, precum și informații suplimentare, cum ar fi numele de utilizator și parola. Din acest motiv, lucrul cu o linie de legare într-o fereastră Expertul de configurare a sursei de date este foarte îngrijit și ar trebui să aveți grijă să îl protejați de accesul neautorizat atunci când copiați fișierele originale dintr-un loc în altul.

Deci în fereastră Adăugarea unei conexiuni baza de date alege AccesBază de dateFişier.

    Introduceți calea către fișierul bazei de date Bază de date1.mdb sau faceți clic pe butonul Prezentare generală pentru a găsi acest fișier , și apoi apăsați butonul Bine.

    Caseta de dialog apare din nou Adăugarea unei conexiuni(Adăugați o conexiune) conţinând calea către baza de date.

    Faceți clic pe butonul Verificați conexiunea. Studio vizual va încerca să deschidă fișierul de bază de date specificat folosind șirul de legătură generat de expert.

    Faceți clic pe butonul Bine pentru a închide caseta de mesaj și apoi faceți clic pe butonul Bine pentru a închide dialogul Adăugați conexiune.Studio vizual va afișa din nou fereastra Expertul de configurare a sursei de date ( orez. 5.6.3-8)

    În caseta de dialog, faceți clic pe semnul plus (+) de lângă Șir de conexiune. Pagina vrăjitorului ar trebui să arate ceva ca cea din fig. 5.6.3-9.

Șirul de legare identifică furnizorul.

Maestru va afișa un avertisment care indică faptul că a fost selectată o nouă bază de date locală (Fig. 5.6.3-10)

Orez. 5.6.3-10

Pentru a evita crearea unei copii suplimentare a bazei de date, faceți clic pe butonul Nu, iar apoi pe buton Mai departe.

în care Expertul de configurare a sursei de date va pune o astfel de întrebare despre salvarea și șirurile de conectare.

În mod implicit, este selectată opțiunea de salvare a șirului de legătură și, ca nume de șir în acest exemplu, „ DataBase1ConnectionString". De obicei, ar trebui să salvați această linie în fișierul implicit de configurare a aplicației, care este disponibil în fereastră Explorator de soluțiiîntrucât în ​​acest caz, când se modifică locația bazei de date, această linie poate fi editată cu ușurință fără a o căuta în codul programului și apoi recompilarea aplicației (Fig. 5.6.3-11).

Apoi vi se va solicita să selectați un subset al obiectelor bazei de date care vor fi utilizate în acest proiect, așa cum se arată în fereastra Expertul de configurare a sursei de date prezentat în Fig. 5.6.3-12.

Orez. 5.6.3-12

Studio vizual vă permite să utilizați nu numai întreaga bază de date, ci și o parte a acesteia sau combinația mai multor baze de date diferite - acest lucru este util atunci când creați aplicații bazate pe date.

Pentru sarcina noastră, ar trebui să selectați toate tabelele (bifați casetele corespunzătoare din casetă).

    Pentru a adăuga funcționalitate aplicației, adică pentru a afișa tabelele bazei de date pe formular, trebuie să le trageți din fereastră Sursă de date pe formular.

Tragerea articolelor din fereastră Surse de date se adaugă automat la formular codul necesar pentru a completa setul de date în handlerul de evenimente Form1_Load () (Fig. 5.6.3-13).

Orez. 5.6.3-13

      Editarea, verificarea și salvarea datelor în aplicație

Odată ce setul de date este populat, este obișnuit să adăugați, să editați sau să ștergeți date înainte de a le trimite înapoi la sursa de date, la un alt proces sau la aplicație. Deoarece fiecare înregistrare din setul de date este reprezentată de un obiect DataRow, modificările setului de date se fac prin manipularea rândurilor individuale.

V Formulare Windows arhitectura de legare a datelor este preocupată de împingerea modificărilor de la controalele legate de date la setul de date, deci nu trebuie să actualizați în mod explicit setul de date cu propriul cod. Seturile de date acceptă mai multe versiuni de rânduri de date pentru a găsi înregistrările originale în sursa de date. Este posibil să fie necesar să validați rândurile individuale înainte de a efectua o actualizare a sursei de date.

Modificarea datelor dintr-un set de date este procesul de manipulare a datelor reale din obiectele individuale care alcătuiesc setul de date. Modificarea datelor din tabelele de date este ca schimbarea datelor dintr-un tabel din orice bază de date - procesul poate include inserarea, actualizarea și ștergerea înregistrărilor din tabel.

Pe lângă modificarea datelor reale, puteți, de asemenea, să interogați DataTable pentru a returna anumite rânduri de date, cum ar fi rânduri unice, versiuni de rând specifice (originale și sugerate), doar rânduri modificate și rânduri care conțin erori.

      Dezvoltarea codului de programare a aplicațiilor

Prima formă va fi asociată cu codul prezentat în Fig. 5.6.3-14.

Departamentul de Informatică Aplicată

Notă explicativă pentru lucrarea de termen

dupa disciplina:

"Bază de date"

„Dezvoltare baze de date și aplicații client”

Kaluga 2009


Introducere

1. Enunțarea problemei

2. Proiectarea, crearea și gestionarea bazei de date

3.Manual de utilizare tehnologic

Concluzie

Bibliografie


Introducere

Scopul cursului meu este de a construi o bază de date și de a învăța elementele de bază ale limbajului SQL, precum și de a dobândi abilități practice în crearea unei baze de date simple.

Relevanța cursului este definită ca fiind nevoia de a crea și proiecta baze de date.

În lumea modernă, există multe baze de date diferite. Fără de care epoca tehnologiei informației nu ar putea exista și să se dezvolte progresiv. Lumea modernă nu se poate lipsi de informații structurate și sortate; bazele de date vă permit să faceți acest lucru. Bazele de date sunt esențiale pentru multe domenii ale activității umane, fie că este vorba despre banca, magazinul alimentar sau contabilitatea cheltuielilor casnice.

Bazele de date sunt găsite la fiecare pas. Aproape orice sistem este o bază de date bine construită, de exemplu, binecunoscutul „Consultant +” sau înregistrarea unui singur impozit în Ministerul Taxe și Impozite.

Baza mea de date este concepută pentru a automatiza operațiunile, pentru a obține informații fiabile și în timp util.

Obiectivele lucrării cursului sunt următoarele:

Implementarea unei baze de date;

A implementa interfața cu utilizatorul;

Întocmește rapoarte;

În zilele noastre, mulți limbile moderne programare, susține programarea bazelor de date, cu ajutorul unor astfel de limbaje, poți crea baza de date necesară, fie ea simplă sau super-complexă.


1. Enunțarea problemei

Baza dezvoltată de pepene galben constă din mai multe „niveluri”. Cel mai abstract „stratul” este schema de date. La acest nivel, relațiile dintre tabele sunt afișate direct.

În acest curs, sarcinile sunt stabilite:

Construirea unui model fizic pe un computer (folosind Erwin);

Definirea legăturilor, a tipurilor de date;

Dezvoltarea unei interfețe ușor de utilizat;

Creare de cereri, formulare;

Crearea de rapoarte (la miscare);

Construirea formularului principal al butonului;

În lucrarea mea de mandat a fost creat un fragment din sistemul de contabilitate a angajaților, în acest sens, contabilitatea constă din următoarele operațiuni:

În munca mea de curs a fost creat un fragment dintr-un sistem de contabilitate de produs, în acest sens, contabilitatea constă din următoarele operațiuni:

Contabilitatea mărfurilor;

Contabilitatea mărfurilor pe grupuri;

Contabilitatea mărfurilor prin chitanțe;

Acest sistem este conceput pentru a automatiza aceste operațiuni, pentru a obține informații fiabile și în timp util și pentru a genera documente de ieșire.

2. Proiectarea, crearea și gestionarea bazei de date

Baza de date conține 4 tabele.

1) Tabel Grup de produse, conține 2 coloane Număr grup de produse și Nume grup de produse.


2) Tabel Product, conține 4 coloane Product_Number, Product name, Price, Product group number.


3) Tabelul de verificare, conține 2 coloane: Check_number, Data.

4) Tabel Articol cu ​​cec, conține 3 coloane: Număr articol, Număr cec. Cantitate.

Pentru confortul lucrului cu baza de date, au fost create mai multe formulare.

Scopul formularelor este foarte divers, formularele pot fi folosite pentru a afișa interogări, tabele, confortul scrierii în tabele etc.

Formulare pentru întrebări.

1) Formular de cerere 1 (vezi Fig. 1)

Este necesar să se retragă mărfurile conform unui număr de control specific. Acest formular oferă o interfață convenabilă pentru introducerea informațiilor, precum și vizualizarea convenabilă a raportului.


Orez. 1 Formular de cerere1

De exemplu. Introduceți numărul de verificare în textBox - 7 și faceți clic pe butonul - Vizualizare raport (vezi fig. 2).


Orez. 2 Raportați operațiunea1

2) Formular de cerere2

Este necesar să afișați elementul după dată. Acest formular oferă o interfață convenabilă pentru introducerea informațiilor, precum și vizualizarea convenabilă a raportului.


Orez. 3 Formular de cerere2

De exemplu. Introduceți data în textBox - 11/12/08 și faceți clic pe butonul - Vizualizare raport. (vezi Fig4)


Orez. 4 Operațiunea de interogare2


Organizarea introducerii datelor în tabele are loc prin formularele corespunzătoare. Pentru comoditate, a fost creat un formular de buton principal. (vezi Fig. 5)

Acest formular arată astfel:


Orez. Formular cu 5 butoane

Meniul principal se află aici. Fiecare dintre butoane oferă acces la rapoarte, atunci când faceți clic, puteți vizualiza foarte ușor rapoartele.

În submeniul Tabele, tabelele pentru introducerea informațiilor sunt prezentate într-o formă convenabilă.

Schema de date (vezi Fig. 6


Orez. 6 Schema de date

Schema de date a fost creată folosind programul Erwin.

3. Instruirea tehnologică a utilizatorului

De exemplu:

- Introducem un produs nou.

Pentru a introduce un produs nou, trebuie să efectuați următorii pași (vezi Fig. 7):

Accesați formularul de buton principal -> faceți clic pe butonul tabel -> faceți clic pe butonul produs -> introduceți numele produsului, prețul acestuia și selectați grupului de produse din care face parte.


Orez. 7 Introducerea unui nou angajat

Dacă lista grupelor de produse grupul potrivit altfel îl introducem manual

Apăsați butonul Grup de produse -> și introduceți un nou grup de produse. (vezi Figura 8)



Fig 8. Crearea unui nou grup de produse.


-> selectează și numărul de cec pentru acest produs -> introduceți cantitatea acestui produs. (vezi Figura 10)



Concluzie

Obiectivele cursului sunt îndeplinite integral. A fost dezvoltată o bază de date pentru a contabiliza bunurile. Lucrarea cursului a fost creată în MS Access. Schema de date ( model fizic) a fost construit în programul Erwin. De asemenea, a fost implementată o interfață de utilizator convenabilă pentru introducerea sigură și ușoară a informațiilor. În această lucrare sunt îndeplinite și sarcinile care au fost propuse la începutul lucrării de curs, toate problemele sunt rezolvate, iar rezolvarea acestora poate fi vizualizată direct în lucrarea de curs.

După ce am dezvoltat acest curs, mi-am dat seama că Microsoft Access DBMS este un instrument puternic și convenabil pentru crearea bazelor de date. O interfață grafică cu mai multe ferestre care îmi permite să creez interactiv tabele, formulare, interogări, rapoarte. Dispozitivele speciale care automatizează munca în timpul creării și întreținerii bazei de date (Vrăjitori și Constructori, Asistenți etc.) simplifică semnificativ întregul proces și fac programul accesibil tuturor celor aflați în învățare.

Cred că în profesia mea, astfel de aptitudini, chiar și de bază, îmi vor fi foarte utile în timp.

De asemenea, a fost foarte interesant și convenabil să lucrezi în MS Access, să creezi formulare, să lucrezi cu ajutorul, să vezi și să studiezi cărți despre baze de date și, în special, MS Access. Fără îndoială, am reușit să fac cunoștință cu un program atât de minunat precum Erwin, care ajută la înțelegerea rapidă și mai bună a creării bazelor de date. Desigur, bazele de date moderne devin din ce în ce mai multe în fiecare zi, satisfacând nevoile utilizatorilor, prin urmare, se pune sarcina de a crea astfel de baze de date, de a le gestiona.... După ce ați citit și analizat acest lucru de curs, puteți, fără îndoială, obțineți abilități de bază în construirea datelor bazelor de date.

Bibliografie

1. Microsoft Access 2000. Pas cu pas: Exersează. manual. / Per. din engleza

Moscova: Editura EKOM, 2002 .-- 352 p .: ill.

2. Ghid de autostudiu: Office Access 2003. - Sankt Petersburg: Peter, 2004. - 464 p .: ill.

3. Baze de date. Proiectare, implementare si intretinere. Teorie și

practică. a 3-a editie. : Per. din engleza - M.: Editura"William"

2003 .-- 1440 p. : bolnav. - Paralel. tit. Engleză

30.04.2009 Alexey Kovyazin

Bazele de date relaționale au pătruns aproape în toate sistemele informaționale și, s-ar părea, au devenit cea mai consacrată zonă a IT, unde se poate inventa puțin, dar realitatea este departe de a fi ideală.

Bazele de date relaționale sunt folosite astăzi în aproape toate aplicațiile, de la încorporate în dispozitive mobile și speciale, aplicații bazate pe web și terminând cu sistemele de management al întreprinderii. Pătrunderea bazelor de date în tot felul de aplicații este în creștere, iar dezvoltatorii primesc instrumente și abordări din ce în ce mai ușor de utilizat. S-ar putea avea impresia că dezvoltatorii de aplicații de baze de date sunt cel mai „înstărit” strat de programatori care au instrumente pentru toate ocaziile, dar acest lucru este departe de a fi cazul. Embarcadero Technologies a achiziționat divizia de instrumente de dezvoltare CodeGear a Borland în 2008 și a fuzionat unelte profesionale instrumente de dezvoltare și design de aplicații, instrumente de dezvoltare și management de baze de date, care au făcut posibilă eliminarea problemelor existente atât din partea aplicațiilor, cât și din partea bazelor de date.

Design haotic de baze de date

În industria de dezvoltare de astăzi software se crede că este imposibil să se definească cerințele pentru un produs înainte de a începe un proiect și, prin urmare, dezvoltarea trebuie adaptată la schimbarea constantă a acestora. Ca rezultat, au apărut procese iterative pentru a se adapta cerințelor în schimbare, iar refactorizarea codului sursă a devenit o parte integrantă a dezvoltării software. Ce se întâmplă cu bazele de date în timpul dezvoltării iterative? Schimbarea cerințelor vă obligă să ajustați schema bazei de date și cel mai adesea acest lucru se întâmplă opac, fără analiză imaginea de ansambluși dependențe. Tabelele, câmpurile, cheile externe și constrângerile sunt create și modificate haotic, nimeni nu monitorizează integritatea referențială și nimeni nu poate spune cu siguranță cum diferă baza de date la iterația N de starea ei la iterația N-1.

De fapt, dezvoltarea bazelor de date astăzi se realizează prin metoda „patch”, ca în zilele dominației procesului „cascada” - la începutul proiectului, un anumit model al bazei de date este „desenat” bazat pe pe cerințele parțiale cunoscute la momentul actual, apoi se generează o bază de date fizică, iar apoi se uită despre model prin efectuarea de modificări direct în baza de date. Dezavantajele acestei abordări sunt evidente: schimbul de cunoștințe și înțelegerea imaginii de ansamblu sunt dificile, iar modificările sunt opace, pot genera contradicții în logica și schema bazei de date, care vor rămâne nedezvăluite până în momentul introducerii. sistem softwareîn exploatare, ceea ce duce la pierderi foarte mari. Dezvoltatorii moderni de aplicații de baze de date au nevoie de instrumente care sunt orientate spre dezvoltarea iterativă a bazelor de date.

Prima și cea mai mare condiție importantă o astfel de fitness este prezența capabilități complete Inginerie inversă(inginerie inversă, crearea unui model de bază de date pe baza analizei schemei sale fizice) și inginerie directă(inginerie avansată; crearea și modificarea schemei bazei de date fizice pe baza modelului). În practică, aceasta înseamnă că o analiză schematică poate fi efectuată folosind instrumentul de proiectare. baza existenta date, creați un model de bază de date pe baza acestuia, schimbați modelul și aplicați imediat modificările, care ar trebui să schimbe într-adevăr corect și consecvent schema bazei de date și să nu o strice sau să o confunde.

Abordarea iterativă ne împinge, de asemenea, să creăm submodele asociate cu o anumită iterație. Evidențierea oricăror entități și atribute ale acestora într-un submodel ajută la separarea zonelor de responsabilitate atât între diferiți dezvoltatori, cât și între diferite iterații, asigurând în același timp integritatea generală a modelului. Desigur, aveți nevoie și de capacitatea de a compara cele două modele, și nu sub formă de scripturi SQL, ci la nivel de entitate și atribut, pentru a vedea și înțelege pe deplin modificările efectuate în timpul iterației și impactul lor asupra întregului model.

Dezvoltatorii de aplicații rareori lucrează singuri, așa că au nevoie de instrumente de colaborare, dar dacă acest lucru este în regulă în ceea ce privește dezvoltarea aplicației, colaborarea cu bazele de date nu este de obicei acceptată la nivel de instrumente în niciun fel. Colaborarea implică în mod necesar un sistem de control al versiunilor: toate versiunile modelelor și schema bazei de date fizice trebuie să fie stocate într-un singur depozit, oferind posibilitatea de a derula înapoi și de a compara scheme încă de la începutul procesului de dezvoltare.

Dezvoltarea bazei de date nu este mai puțin importantă decât dezvoltarea aplicațiilor, prin urmare, direcția strategică de dezvoltare este de a oferi procesului de dezvoltare a bazei de date controlul versiunilor și managementul cerințelor, precum și legarea explicită a etapelor de modelare și modificare a bazelor de date cu iterațiile și cerințele în schimbare ale unui proiect software. Pentru a rezolva problemele de mai sus și pentru a sprijini procesul iterativ modern de dezvoltare a bazei de date, Embarcadero oferă ER / Studio - un instrument de proiectare, analiză, inginerie inversă și directă care vă permite să controlați versiunile modelului pe baza propriului său depozit. Instrumentul Change Manager poate fi folosit pentru a controla modificările metadatelor din bazele de date fizice.

Cod dezagregat

Cea mai cunoscută problemă care încetinește foarte mult procesul de dezvoltare a aplicațiilor de bază de date este necesitatea de a folosi diferite instrumente pentru a depana codul aplicației și codul SQL din baza de date.

Să aruncăm o privire la un exemplu simplu. Să presupunem că dezvoltați o aplicație în Delphi care apelează o procedură stocată în Oracle DBMS... Folosind instrumentele Delphi, dezvoltatorul aplicației poate pas cu pas în modul depanare până în momentul apelării interogării SQL, să vadă parametrii trecuți procedurii stocate și rezultatul pe care procedura îl va returna. Dar ce se întâmplă în interiorul procedurii când este executată pe serverul bazei de date? Este imposibil să determinați acest lucru din mediul de dezvoltare al aplicației noastre - pentru aceasta trebuie să descărcați o aplicație pentru dezvoltarea SQL, care are capacitatea de a depana procedurile stocate și, de asemenea, arată planuri pentru interogări SQL, statistici ale execuției lor, vă permite pentru a vizualiza și modifica schema bazei de date. Cu toate acestea, nu puteți trece parametri din mediul de dezvoltare a aplicației în mediul de dezvoltare SQL și trebuie să îi copiați manual, trecând de la o fereastră la alta. De asemenea, nu este posibil să vedeți rezultatele detaliate ale execuției codului SQL în Application Builder, cum ar fi planul de interogare, statisticile de execuție și așa mai departe. Apariția tehnologiei de depanare în mai multe limbi a rezolvat aceste probleme.

Primul produs Embarcadero care acceptă depanarea în mai multe limbi este RapidSQL Developer (fost PowerSQL), a cărui parte vizuală se bazează pe tehnologia Eclipse și, prin urmare, vă permite să vă integrați în orice mediu de dezvoltare bazat pe aceasta (inclusiv, desigur, JBuilder) și depanare dinamică între limbi. Acum, când procedura stocată este executată pe server, dezvoltatorul trece automat la un mediu de depanare SQL cu drepturi depline în cadrul aceluiași instrument, capabil să depaneze atât interogările SQL obișnuite, cât și procedurile stocate. Dezvoltatorul poate vedea parametrii de intrare efectivi ai interogărilor și procedurilor stocate, având posibilitatea de a depana pas cu pas codul SQL. Integrarea RapidSQL Developer în instrumentele de dezvoltare compatibile cu Eclipse este primul pas în integrarea dezvoltării de aplicații și baze de date, iar următorul pas este furnizarea de capabilități similare pentru Delphi, C ++ Builder și alte instrumente de dezvoltare de aplicații de la Embarcadero.

Aplicații de baze de date multiplatforme

O provocare specială pentru dezvoltatori este dezvoltarea de aplicații de baze de date care trebuie să funcționeze cu mai multe SGBD. De exemplu băncile și Firme de asigurari au de obicei mai multe birouri mari și multe filiale mici. Majoritatea proceselor de afaceri legate de introducerea informațiilor operaționale și fluxul de lucru de zi cu zi sunt aceleași la sediul central și la sucursale, dar baremurile sunt diferite. Dorința firească de a economisi pe costul licențelor SGBD industriale pentru utilizare în sucursale duce la ideea că ar fi bine să alegeți un alt SGBD fără a schimba aplicația.

Dezvoltatorii de baze de date cu experiență înțeleg bine esența problemelor care apar aici: diferența dintre tipurile de date și dialectele SQL, absența mecanismelor de migrare și replicare între diferitele SGBD-uri, complexitatea verificării migrării fac ca scrierea și operarea aplicațiilor pentru diferite SGBD-uri să fie un coșmar. Din partea instrumentelor de dezvoltare a aplicațiilor, aceștia încearcă să rezolve această problemă prin crearea de biblioteci de acces la date (dbExpress în Delphi și C++ Builder, ADO și ADO.Net de la Microsoft), construite pe principii arhitecturale unificate și metode de acces. ca prin utilizarea a numeroase „Wrappers” obiect-relaționale (Object Relation Mapping, ORM) peste logica relațională și structura bazei de date, generând cod sursă pentru lucrul cu date pe baza analizei schemei bazei de date și folosind mecanismul „adaptoarelor”. " pentru a implementa protocolul unui anumit SGBD. Printre cele mai populare ORM-uri se numără Hibernate pentru Java și ActiveRecord în RubyOnRails, care oferă o interfață orientată pe obiecte pentru datele stocate în DBMS. Pentru Delphi există un proiect similar tiOPF, pentru C # - NHibernate.

Desigur, utilizarea unor astfel de biblioteci universale și seturi de componente poate reduce semnificativ numărul de operațiuni de rutină în procesul de dezvoltare a bazei de date multi-platformă. Cu toate acestea, acest lucru nu este suficient când este vorba despre aplicațiile care utilizează baze de date mai complexe, în care logica inerentă procedurilor stocate și declanșatorilor este utilizată în mod activ - pentru implementarea, depanarea și testarea acesteia sunt necesare instrumente separate, uneori complet diferite pentru diferite SGBD. Pentru dezvoltarea aplicațiilor de baze de date multiplatforme, Embarcadero oferă instrumentul RapidSQL.

Toate produsele de bază de date Embarcadero acceptă mai multe platforme și se bazează pe o analiză a schemei de bază și pe statistici ale bazei de date Date Thunderbolt... Fiecare SGBD acceptat și fiecare versiune specifică a SGBD au ramuri corespunzătoare de cod în nucleul Thunderbolt, ceea ce vă permite să mapați schema bazei de date la reprezentarea internă din acest nucleu cât mai precis posibil și, cel mai important, să efectuați conversii corecte între reprezentare. și baze de date reale. Datorită nucleului Thunderbolt, RapidSQL vă permite să dezvoltați cod SQL de înaltă calitate pentru toate platformele acceptate (Oracle, MS SQL, Sybase și diverse variante ale IBM DB2), iar ER / Studio poate efectua o inginerie inversă și directă precisă a bazei de date. scheme.

Dacă dezvoltați o aplicație pentru două sau mai multe platforme sau portați aplicație existentă de la o platformă la alta, RapidSQL va oferi toate instrumentele necesare pentru a migra schema, utilizatorii și permisiunile între diferite SGBD. Desigur, RapidSQL nu convertește automat procedurile PL / SQL în T-SQL - acest lucru necesită încă un programator - cu toate acestea, instrumentul oferă o singură fereastră pentru dezvoltarea multi-platformă, editori unificați pentru obiecte de schemă, utilizatori și drepturile acestora și SQL depanare pe toate platformele acceptate... Potrivit utilizatorilor RapidSQL, acest lucru economisește până la 70% din timpul petrecut migrând între diferite SGBD.

Modificări ale datelor și diagramelor

Migrarea de la un SGBD la altul este imposibilă fără verificarea acestuia. Cine și cum poate garanta că datele transferate de la un SGBD la altul sunt cu adevărat identice? Diferite biblioteci client, diferite tipuri de date și diferite codificări fac din procesul de comparare a datelor o sarcină netrivială.

În lumea reală, munca nu se termină cu implementarea aplicației și a bazei de date - există întreținere, apar noi versiuni ale fișierelor executabile ale aplicației și patch-uri la baza de date. Cum puteți obține garanții că toate actualizările necesare au fost aplicate bazei de date și că întregul pachet software va funcționa corect?

Embarcadero a dezvoltat instrumentul Change Manager pentru compararea datelor, schemelor și configurațiilor bazei de date. Comparația are loc în cadrul unuia sau mai multor SGBD, cu verificare automată corespondența dintre tipurile de date și formarea de scripturi SQL de diferențe, care pot fi aplicate imediat pentru a aduce bazele de date într-o stare identică. Modulul de comparare a metadatelor oferă compararea schemelor bazelor de date atât între bazele de date live, cât și între baza de date și scriptul SQL și generează un script pentru diferențele de metadate. Această funcționalitate poate fi folosită nu numai pentru a verifica bazele de date pentru conformitatea cu benchmark-ul, ci și pentru a organiza un proces regulat de actualizare a bazei de date, precum și pentru a verifica modificări neautorizate, de exemplu, în sucursalele îndepărtate ale unei organizații mari. Situația este similară cu fișierele de configurare - Change Manager compară fișierele de configurare și vă permite să vă asigurați că configurația aplicațiilor implementate îndeplinește cerințele pentru acest software.

Performanța aplicației baze de date

Cât de des vedem aplicații care funcționează bine pe volume mici de date de testare, dar pe volume reale devenind inacceptabil de lentă. Calculele greșite ale cerințelor, testarea inadecvată în etapele incipiente, graba de a livra un proiect sunt toate motive familiare pentru dezvoltarea slabă a aplicației. În acest caz, teoreticienii dezvoltării software își propun să se angajeze în auto-îmbunătățirea și îmbunătățirea fundamentală a calității programelor, totuși, toți practicienii știu că rescrierea unui proiect este uneori imposibilă, fie din punct de vedere economic, fie, în unele cazuri, politic, iar sarcina de a optimiza. performanța trebuie rezolvată în orice mod.

Principala cauză a problemelor de performanță în aplicațiile de baze de date constă în interogările SQL neoptimizate și procedurile stocate. Optimizatoarele moderne de baze de date sunt suficient de puternice, cu toate acestea, au și anumite limite ale capacităților lor și, pentru a obține performanțe bune, trebuie să compuneți corect interogări SQL, să creați (sau să renunțați) indecși suplimentari, în anumite cazuri denormalizați baza de date, transferați o parte din logică către declanșatoare și proceduri stocate.

În timpul dezvoltării, optimizarea interogărilor poate fi efectuată folosind RapidSQL, care include un modul SQL Profiler care poate analiza planuri și genera indicii pentru a îmbunătăți performanța interogărilor SQL. Dar ce se întâmplă dacă problema apare în timpul producției și nu este localizată într-o anumită interogare SQL? Dacă performanța scade la un anumit moment al zilei sau, și mai enervant, problema apare pe o copie de la distanță a sistemului, în timp ce totul este bine pe serverul principal? Pentru astfel de cazuri, este destinat DBOptimizer, un instrument de profilare a bazei de date pentru Oracle. Microsoft SQL Server, Sybase și IBM DB2.

La pornirea modului de profilare, DBOptimizer colectează informații despre baza de date și timpul de execuție, inclusiv informații despre încărcare unități centrale de procesareși alți parametri ai sistemului de operare prin scrierea acestuia în sesiunea de profilare. Rezultatul este o listă de interogări executate la orice interval de timp dat, sortate după resursele consumate. Pentru fiecare cerere problematică, puteți vedea planul acesteia, statisticile de execuție și alte detalii. Mai mult, DBOptimizer afișează, de asemenea, sugestii și recomandări pentru îmbunătățirea interogării în raport cu un anumit DBMS.

Trusa de scule

Toate instrumentele menționate, în timp ce rezolvă probleme, sunt utilizate în diferite etape ale ciclului de viață al dezvoltării bazei de date. Este destul de incomod și costisitor să păstrezi o duzină de aplicații pentru toate ocaziile care pot fi sau nu necesare în timpul proiectării, dezvoltării, migrării, optimizării și exploatării bazelor de date.

Lansat în februarie 2009, setul de instrumente versatil Emdacadero All-Access include instrumentele esențiale pentru toate etapele dezvoltării aplicațiilor de baze de date, de la ER / Studio la DBOptimizer, de la Delphi și C ++ Builder la DBArtisan. Cel mai bun mod de a descrie All-Access este comparația cu cutia de instrumente pe care fiecare proprietar zelos o are acasă. Poate că nu toate uneltele sunt folosite în fiecare zi, dar o cheie reglabilă ar trebui să fie întotdeauna la îndemână în cazul unei scurgeri.

All-Access nu impune alte roluri programatorilor sau arhitecților de baze de date, dar o face trusa universala instrumente potrivite pentru toate rolurile în dezvoltarea aplicațiilor de baze de date, de la arhitect la tester; oferă tuturor membrilor echipei de dezvoltare instrumente pentru toate etapele dezvoltării bazei de date, precum și un set de instrumente foarte specializate pentru optimizarea bazelor de date (DBOptimizer) și a aplicațiilor (JOptimizer) pentru a „extinde” blocajele. Pachetul acceptă mai multe SGBD, ceea ce oferă economii de costuri.

Diferențele tehnice între tehnologiile orientate pe obiect și baze de date relaționale datele au condus la diferențe culturale care separă în continuare comunitatea de gestionare a datelor de comunitatea de dezvoltare. Ce să faci mai departe cu asta?



Top articole similare