33
1 Cursuri 5-6. Cursuri 5-6. Gestiune baze de Gestiune baze de date date Relaţii între Relaţii între tabele tabele Gestiunea Gestiunea Proiectelor. Proiectelor. Conf. dr. Ramona Conf. dr. Ramona Lacurezeanu Lacurezeanu Prof.dr. Dumitru Oprean Prof.dr. Dumitru Oprean

Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

Embed Size (px)

Citation preview

Page 1: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

1

Cursuri 5-6.Cursuri 5-6.Gestiune baze de date Gestiune baze de date Relaţii între tabele Relaţii între tabele Gestiunea Proiectelor.Gestiunea Proiectelor.

Cursuri 5-6.Cursuri 5-6.Gestiune baze de date Gestiune baze de date Relaţii între tabele Relaţii între tabele Gestiunea Proiectelor.Gestiunea Proiectelor.

Conf. dr. Ramona LacurezeanuConf. dr. Ramona LacurezeanuProf.dr. Dumitru OpreanProf.dr. Dumitru Oprean

Page 2: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

2

CAPITOLUL IVCREAREA ŞI GESTIUNEA

BAZELOR DE DATE

ÎN VISUAL FOXPRO ŞI ACCESS OBIECTIVE PRINCIPALE• caracteristici generale ale bazelor de date în Visual FoxPro• etapele construirii bazelor de date Visual FoxPro• crearea bazelor de date Visual FoxPro• deschiderea şi închiderea bazelor de date Visual FoxPro• modificarea conţinutului bazelor de date Visual FoxPro• adăugarea tabelelor în baza de date Visual FoxPro• eliminarea tabelelor din baza de date Visual FoxPro• vizualizarea schemei bazei de date Visual FoxPro• crearea bazelor de date Access• modificarea bazelor de date Access• adăugarea şi eliminarea unor obiecte la baza de date Access• ştergerea bazelor de date Access• relaţionarea tabelelor din bazele de date Visual FoxPro• relaţionarea tabelelor din Access

Page 3: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

3

Crearea si gestiunea bazelor de date in FoxPro

O bază de date în Visual FoxPro are ataşat un fişier special, cu structură de tabel, cu extensia .DBC (DataBase Container) în care sunt memorate: structurile tabelelor componente, relaţiile permanente dintre tabelele bazei de date, caracteristici suplimentare ale tabelelor din baza de date, caracteristici ale bazei de date în ansamblul ei şi proceduri care urmează a fi executate la apariţia unor evenimente.

Pentru tabele, fişierul DBC, conţine: nume lungi pentru tabele şi câmpuri (în versiunile xBase acestea erau limitate la 10 caractere), clauze pentru validări la nivel de înregistrare şi câmpuri, valori prestabilite (implicite) pentru unele câmpuri, denumiri noi pentru câmpuri, declanşatori pentru actualizarea înregistrărilor, relaţii persistente între tabele, respectiv integritate referenţială. Deci, o bază de date astfel definită permite controlul integrităţii datelor implicate în relaţii.

Baza de date asigură legarea, din punct de vedere conceptual, a tabelelor, care conţin date referitoare la un domeniu.

Construirea unei baze de date în Visual FoxPro se realizează în următoarele etape:

1. crearea bazei de date;

2. încorporarea în noua bază de date a tabelelor simple anterior create şi construirea noilor tabele ce vor fi încorporate direct în baza de date;

3. specificarea pentru tabelele simple incluse în baze de date a unor caracteristici ce nu se puteau declara în momentul construirii lor, ca tabele izolate;

4. stabilirea legăturilor permanente între tabelele bazei de date;

5. precizarea unor caracteristici ale noii baze de date;

6. includerea în baza de date a unor vederi, conexiuni cu date externe etc.

Page 4: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

4

Construirea unei baze de date în Visual FoxPro se realizează în următoarele etape:

1. crearea bazei de date;2. încorporarea în noua bază de date a tabelelor simple anterior create şi

construirea noilor tabele ce vor fi încorporate direct în baza de date;3. specificarea pentru tabelele simple incluse în baze de date a unor

caracteristici ce nu se puteau declara în momentul construirii lor, ca tabele izolate;

4. stabilirea legăturilor permanente între tabelele bazei de date;5. precizarea unor caracteristici ale noii baze de date;6. includerea în baza de date a unor vederi, conexiuni cu date externe etc.1. Crearea fişierului bazei de date se poate realiza, conform metodologiei

creării unor obiecte noi, în unul din următoarele moduri:a) prin constructorui de baze de date (Database Designer) apelat din

meniul sistem;b) prin folosirea ferestrei PROJECT MANAGER;c) prin comanda CREATE.d) Din meniul FILE se selectează opţiunea NEW, după care se procedează

ca la lucrarea de laborator 4din culegerea de probleme „Baze de date.Aplicaţii economice”, pag. 53. Afişarea chenarului New se poate realiza şi direct prin efectuarea unui clic pe prima pictogramă New, din bara de instrumente standard, sau prin utilizarea combinaţiei de taste Ctrl+N.Pentru a afişa bara de instrumente aferentă ferestrei Database Designer, dacă nu este afişată, se va selecta din meniul principal opţiunea View şi apoi din submeniul aferent, opţiunea Toolbars. Se va face apoi un clic pe chenarul de selecţie corespunzător Database Designer şi apoi pe butonul OK care va determina afişarea pe ecran a barei de instrumente aferente.

Page 5: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

5

Pentru a obţine informaţii despre baza de date curentă putem folosi comanda: DISPLAY DATABASESComanda permite afişarea numelui, a căii de acces şi a versiunii a bazei de date, precum şi informaţii referitoare la tabelele conţinute în baza de date, adică numele acestora şi ale câmpurilor aferente.

Ştergerea fizică a bazei de date permite mediului Visual FoxPro să elimine legăturile înapoi către baza de date ştearsă din tabelele care au aparţinut bazei de date. Tabelele aferente unei baze de date şterse fizic nu vor fi şterse de pe disc, ele rămânând tabele libere.

Pentru ştergerea fizică a unei baze de date se poate utiliza comanda DELETE DATABASES cu următoarea sintaxă:DELETE DATABASES [<nume – bază de date>| ?][DELETETABLES] [RECYCLE]

Exemplu: DELETE DATABASES STUDENT DELETE TABLESComanda va determina ştergerea de pe disc a bazei de date STUDENT

şi a tabelelor aferente acesteia.Deschiderea bazelor de date se poate realiza prin utilizarea comenzii USE cu simbolul "!", care are sintaxa: USE <nume-bază-date>!<nume_tabel>

Prin deschiderea unei noi baze de date nu are loc închiderea bazelor de date anterior deschise. Acestea rămân în continuare deschise, iar ultima bază de date deschisă devine baza de date curentă, numele ei fiind afişat în caseta de pe bara de instrumente standard a ferestrei Visual FoxPro.Pentru deschiderea unei baze de date se mai poate folosi comanda OPEN în formatul:OPEN DATABASE [<nume-baza-date>|?][EXCLUSIVE][SHARED][NOUPDATE] [VALIDATE]

Page 6: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

6

S Selectarea unei tabele din baza de date curentă se poate face prin:-fereastra Database Designer-fereastra Project Manager-comanda USE cu semnul "?".

USE? are ca efect deschiderea casetei de dialog USE din care se poate selecta tabela ce urmează a fi deschisă.

Acelaşi efect se obţine prin utilizarea comenzii USE în formatul:USE <nume-bază-date>!<nume_tabel>

Pentru închiderea bazei de date curente şi a tabelelor aferente se poate folosi comanda:CLOSE DATABASE

Pentru a închide toate obiectele deschise la un moment dat se utilizează comanda CLOSE ALL.Observaţii.La închiderea unei baze de date selectate din fereastra Project Manager, după operaţia de închidere se ascund toate nivelele inferioare aferente, iar în faţa bazei de date se afişează pictograma ♁.Comanda CLOSE DATABASE nu închide baza de date deschisă în fereastra Project Manager apare pictograma Θ sau dacă baza de date este deschisă de un formular care rulează.

Tabelele asociate unei baze de date prezintă o serie de facilităţi, cum ar fi:-stabilirea unor reguli de validare la nivel de câmp şi înregistrare;-definirea unor formate dintr-o tabelă;-adăugarea unor comentarii pentru orice câmp al unei tabele;-setarea unor valori implicite pentru un câmp al tabelei;-definirea de nume lungi pentru tabele şi câmpuri;-stabilirea unor titluri pentru câmpurile unei tabele.Aceste facilităţi pot fi puse în aplicare încă de la crearea structurii unei tabele, unde pentru fiecare câmp putem preciza anumite reguli de validare, valori implicite sau anumite formate în cazul afişării datelor respective într-o fereastră Browse sau într-un raport.

Page 7: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

7

Prin adăugarea unei tabele într-o bază de date se creează o legătură între fişierul tabelei şi containerul bazei de date. Informaţia de legătură despre tabela stocată în fişierul bazei de date, este o legătură înainte (→), iar informaţia de legătură despre baza de date în care se include o tabelă, stocată în fişierul tabelei, este o legătură înapoi (←)

Orice tabelă din Visual FoxPro poate exista în una din următoarele stări:tabelă liberă - adică sub formă de fişier .dbf neasociat nici unei baze de date.tabelă asociată - adică sub formă de fişier .dbf asociat unei baze de date (inclus în baza de date).Tabelele pot fi asociate unei baze de date prin crearea lor direct în cadrul bazei de date existente sau prin adăugarea acestora după ce au fost create ca şi tabele libere.

Pentru crearea unei tabele noi în cadrul bazei de date existente, există mai multe posibilităţi.

Una dintre aceste posibilităţi se bazează pe utilizarea ferestrei Database Designer. În fereastra deschisă cu butonul din dreapta al mouse-ului afişăm un meniu contextual (Figura 4.5) din care selectăm obţiunea New Table. Această opţiune poate fi selectată şi din meniul Database.

După crearea uneia sau mai multor tabele prin procedeul descris anterior, acestea vor fi afişate în fereastra Database Designer.

O modalitate de includere a unei tabele libere sau externe într-o bază de date se poate realiza prin intermediul ferestrei Database Designer. Având pe ecran deschisă această fereastră, vom selecta opţiunea Add Table de pe bara de instrumente Database Designer, din meniul vertical Database, sau din meniul contextual al ferestrei Database Designer. Ca urmare, se va afişa pe ecran fereastra Open din care se selectează tabela ce urmează a fi adăugată şi se acţionează butonul OK. În fereastra Open apar atât tabele aferente proiectelor existente din secţiunea Free Tables, cât şi tabelele care nu au fost incluse încă într-un anumit proiect.

Adăugarea unei tabele externe la o bază de date se mai poate realiza prin folosirea comenzilor OPEN DATABASE şi ADD TABLE.

Page 8: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

8

Dacă dorim ca o tabelă dintr-o bază de date să fie folosită într-o altă bază de date sau nu mai avem nevoie de tabela respectivă în baza de date din care face parte, aceasta poate fi eliminată din acea bază de date; aceasta revine la statutul de tabelă liberă. Dacă dorim, putem opta pentru ştergerea fizică a tabelei de pe hard-disc. Pentru eliminarea unei tabele din baza de se poate folosi optiunea REMOVE sau DELETE.

Schema bazei de date este o reprezentare a structurii tabelelor din cadrul bazei de date respective şi a relaţiilor persistente dintre aceste tabele. Aceasta apare afişată în fereastra proiectantului bazei de date (Database Designer) şi se referă la baza de date deschisă.Acelaşi efect se obţine prin folosirea comenzii:MODIFY DATABASE <nume - bază - date>Pentru a memora în baza de date anumite explicaţii despre tabele şi relaţiile dintre ele, le putem ataşa un comentariu selectând din meniul Database opţiunea Properties, prin care se deschide fereastra cu acelaşi nume. Comentariile dorite se vor introduce în caseta de editare Comments.

Page 9: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

9

Crearea şi gestiunea bazelor de date în AccessCrearea unei noi baze de date în Access, aşa cum reiese din lucrarea de laborator 2,

pagina 21, se realizează o singură dată prin succesiunea de activări Office- New- Blank Database, după care se tastează numele (dorit al) bazei de date în zona File Name şi se alege calea spre propriul director prin selecţia butonului din dreapta zonei în care s-a introdus numele bazei de date. Blank Database permite crearea unei baze de date vide ce va fi populată cu obiecte.

Crearea unei baze de date se mai poate face plecând de la una existentă care poate fi adaptată cerinţelor de utilizare.

Ulterior, afişarea obiectelor conţinute de noua bază se poate face personalizat, în funcţie de dorinţele utilizatorului prin click pe Navigation Pane separând obiectele pe categorii (Navigate To Category) după criterii personalizate (Custom) în tipuri de obiecte (object Types), pe ramuri de obiecte plecând de la tabelele sursă (Tables and Related Views) după data creării sau a modificării tabelelor. Totodată, prin filtrare pot fi afişate anumite obiecte (tabele, interogări, rapoarte) sau toate obiectele.

Închiderea şi deschiderea unei baze de date se face cu variantele de opţiuni folosite şi la celelalte categorii de fişiere.

Orice bază de date, după ce a fost creată poate fi modificată. La modificarea bazei de date se au în vedere operaţiile considerate clasice de creare, modificare şi ştergere. Aceste operaţii se pot face atât prin meniul contextual şi prin meniul Office.

Crearea unui obiect se poate realiza prin alegerea tipului de obiect dorit şi urmând paşii de lucru privind crearea, actualizarea şi folosirea obiectelor (tabele, formulare, interogări, rapoarte), menţionaţi în lucrările de laborator 2,3, 9-13. În principiu, toate obiectele la creare se comportă la fel.

Eliminarea unui obiect se face prin opţiunile Delete sau Cut.

Page 10: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

10

Tipuri de relaţii in BD• Tabelele între care se creează o relaţie se numesc: tabelă

principală sau părinte şi tabelă secundară sau fiu.• Intre cele două tabele se pot defini următoarele tipuri de

relaţii:– relaţie unu-la-unu; prin care unei îregistrări din tabela părinte

îi corespunde o singură înregistrare în tabela fiu (copil);– relaţi unu-la-mai-multe; prin care unei îregistrări din tabela

părinte îi corespund mai multe înregistrări în tabela copil;– relaţie mai-multe la-unu; prin care pentru o îregistrare în

tabela copil putem avea mai multe înregistrări în tabela părinte;– relaţie mai-multe-la-mai-multe; prin care unei îregistrări din

tabela părinte îi pot corespunde mai multe înregistrări în tabela copil şi invers adică unei înregistrări din tabela copil îi pot corespunde mai multe înregistrări în tabela părinte.

Page 11: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

11

Relaţii între tabele în Fox

Stabilirea unor legături între tabele:a. determinată : cerinţele obţinerii de informaţii din mai multe

tabele prin procesul de interogare sau actualizare.b. se realizează - faza de proiectare sau ulterior c. constă în :

– relaţii persistente -Constructorului bazei de date (Database Designer); sunt disponibile imediat ce baza de date a fost deschisă deoarece sunt memorate în fişierul bazei de date; - pe tot parcursul prelucrărilor efectuate asupra datelor din tabelele respective (interogări, vizualizări, rapoarte).

– relaţii temporare (dinamice) - prin comenzi introduse în programele de prelucrare; sunt disponibile numai în momentul rulării programului în care au fost definite după care ele nu mai există.

Page 12: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

12

• Câmpul din tabela părinte după care se face indexarea - cheie primară (primary key), iar cel din tabela fiu, după care se face indexarea - cheie externă (foreign key).

• Cheia primară se setează la indexarea tabelei ca şi index primar sau candidat (primary index or candidate index), iar cheia externă se poate seta ca şi index primar, candidat, unic sau normal.

• Tipul concret de relaţie care se obţine este determinat de tipul de index din tabela fiu.

Astfel, dacă aceasta este un index de tip primar sau candidat se obţine o relaţie de tip unu-la-unu, iar dacă este de tip normal sau unic vom obţine o relaţie de tip unu-la-mai-multe (one-to-many)

Page 13: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

13

Observatii

• Relaţiile permanente se stabilesc între indecşi nu între câmpuri, fapt ce

permite legarea tabelelor prin expresii simple sau compuse cu indecşi • Un index unic nu interzice introducerea în tabelă a mai multor înregistrări

cu aceeaşi valoare a cheii de indexare, dar păstrează un pointer numai la prima înregistrare din grupul celor cu aceeaşi valoare a cheii de indexare

Page 14: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

14

Integritatea referenţială• Integritatea referenţială (referenţial integrity-RI) defineşte un

ansamblu de reguli prin care Visual FoxPro va interzice:• adăugarea de înregistrări în tabela fiu atunci când în tabela părinte

nu există nici o înregistrare cu aceeaşi valoare a cheii de indexare;• modificarea valorii cheii de indexare în tabela principală care să

ducă la apariţia de înregistrări orfane în tabela fiu;• ştergerea de înregistrări în tabela părinte, dacă există înregistrări

asociate în tabela fiu.

• Mai există reguli pentru : actualizare (rules for Updating) - Cascade; determină actualizarea automată, în cascadă a cheii de indexare

din înregistrările tabelei fiu, cu noua valoare a chei primare, dacă în tabela părinte s-a modificat valoarea câmpului reprezentând cheia primară;

- Restrict; interzice modificarea în tabela părinte a valorii cheii primare, dacă există înregistrări asociate (cu aceeaşi valoare a cheii de indexare) în tabela fiu;

- Ignore; permite modificări în tabela părinte a cheii primare, chiar dacă înregistrările asociate din tabela fiu rămân fără corespondent (orfane); deci nu se asigură păstrarea integrităţii referenţiale.

Page 15: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

15

Stergere (rules for Deleting) - Cascade; şterge înregistrările corespunzătoare din tabela fiu, dacă s-a şters înregistrarea din tabelul părinte cu valoarea cheii primare egală cu cea a înregistrărilor asociate;

- Restrict; interzice ştergerea înregistrărilor din tabela părinte cu o anumită valoare a cheii primare, dacă în tabela fiu există înregistrări cu aceeaşi valoare a cheii de indexare; dacă dorim să ştergem înregistrări din tabelul părinte va trebui mai întâi să ştergem toate înregistrările aferente din tabelul copil.- Ignore; permite ştergerea înregistrărilor din tabelul părinte, chiar dacă în tabela fiu există înregistrări cu aceeaşi valoare a cheii de indexare, lăsând orfane aceste înregistrări.

Inserare (rules for Inserting) - Restrict; interzice introducerea în tabela fiu de noi înregistrări dacă în tabela părinte nu există o înregistrare cu aceeaşi valoare a cheii de indexare- Ignore; permite adăugarea de noi înregistrări în tabela fiu chiar dacă acestea nu au corespondent în tabela părinte. Ca urmare, nu se face nici o verificare a integrităţii referenţiale.

După specificarea regulilor de integritate referenţială aferente celor trei evenimente, pentru fiecare relaţie se activează butonul OK. Ca efect, sistemul Visual FoxPro va genera automat codul sursă (procedurile) aferente regulilor definite şi va părăsi Generatorul de Integritate Referenţială.Procedurile generate automat de RI Builder sunt salvate de Visual FoxPro sub forma unor declanşatori care conţin referinţe la aceste proceduri. Aceste proceduri sunt memorate în secţiunea Stored Procedures din fereastra Project Manager.

Page 16: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

16

Page 17: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

17

Relaţii între tabele în Access

• meniul Tools opţiunea Relationships; • Meniul contextual din care se alege opţiunea Show Tabel, apoi se

aleg pe rând tabelele cu ajutorul butonului Add

• După plasarea tuturor tabelelor în panoul de editare, definirea propriu-zisă a unei relaţii se realizează prin drag-and-drop dinspre cheia primară a unei tabele spre cheia externă corespunzătoare sau invers.

• Se îndreaptă cursorul spre tabelul n pe cheia primară a acestuia. Se ţine apăsat butonul mouse-ului şi se trage spre tabelul m , câmpul cu acelaşi nume adică cheia externă (străină). La final se eliberează butonul.

Page 18: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

18

• Se va deschide o nouă fereastră Edit Relantionship.

Page 19: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

19

• Efectul va fi o linie simbolică ce va uni cele două tabele cu 1 pentru tabelul n şi cu simbolul infinit pentru tabelul m. Salvarea relaţiei se realizează prin File, Save.

• Opţiunile din fereastra Edit RelationShip au următoarea semnificaţie:– Integritatea referentiala (Enforce Referential Integrity )– defineşte o

restricţie de integritate referenţială. Nu se permite actualizarea valorii unei chei externe, dacă această valoare nu există deja în tabela unde aceasta este cheie primară;

– Actualizare (Cascade Update Related Fields) – actualizarea valorii unei chei primare dintr-un tabel se propagă şi în înregistrările din tabelele unde aceasta este cheie externă;

– Stergere (Cascade Delete Related Fields) – ştergerea valorii unei chei primare, are ca efect şi ştergerea înregistrărilor din tabelele unde aceasta este cheie externă.

• În caseta RelationShip Type sunt prezentate tipurile de legături care pot exista între două tabele:

• One – To – One ; 1 – 1 • One – To – Many ; 1 – n

• Dacă în această casetă este afişat mesajul Indeterminate înseamnă că tipul de relaţie nu poate fi definit, cea mai probabilă eroare fiind incompatibilitatea între tipul de date al cheii primare şi cel al cheii externe sau inexistenţa unei chei primare în relaţia respectivă.

Page 20: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

20

• Butonul de comandă Join Type permite şi definirea unor tipuri de relaţii particulare între tabele

• Variantele 2 şi 3 permit utilizarea implicită în interogări a join-urilor externe de tip Left şi Right care presupun într-o interogare luarea în considerare a tuturor înregistrărilor dintr-un tabel, indiferent dacă au sau nu înregistrări corespondente după câmpul (câmpurile) de legătură din celălalt tabel

Page 21: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

21

Gestiunea Proiectelor in Fox

Page 22: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

22

Principalele componente ale paginilor din fereastra Project Manager sunt următoarele:

• Pagina Data - conţine datele necesare unei aplicaţii, fiind organizată, la primul nivel, pe următoarele categorii : Databases (baze de date), Free Tables (tabele libere), Queries (interogări)

• Pagina Documents - toate documentele utilizate în lucrul cu tabele, cum ar fi: formulare (Forms) pentru citirea datelor şi vizualizarea lor, rapoarte (Reports), reprezentând situaţii de ieşire şi etichete poştale (Labels), pentru tipărirea rezultatelor interogărilor.

• Pagina Class - conţine toate bibliotecile de clase definite sau adăugate aplicaţiei. Bibliotecile de clase în Visual FoxPro sunt memorate în fişiere cu extensia .vcx şi pot conţine oricâte clase. Vizualizarea claselor dintr-o anumită bibliotecă se face prin execuţia unui clic pe semnul "+" din faţa numelui bibliotecii.

• Pagina Code - codul sursă al programelor FoxPro, precum şi aplicaţiile asociate. Programul principal este marcat prin litere îngroşate. In cadrul paginii, pe lângă toate programele sursă avem posibilitatea de a include şi alte aplicaţii care pot fi asociate cu aplicaţia cu care lucrăm. Din cadrul ferestrei Project Manager putem crea, adăuga sau şterge fişiere program (cu extensia .prg) legate de aplicaţia respectivă.

• Pagina Other - codurile sursă pentru meniuri sub formă de fişiere cu extensia .mpr, cât şi celelalte fişiere, cum ar fi: icon-uri, bitmap-uri, fişiere de text etc.

• Pagina All -obiectele celorlalte pagini

Page 23: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

23

• Fiecare bază de date poate conţine următoarele subcategorii :

Tables (tabele)Local View (vederi locale)Remote View (vederi la distanţă)Conections (conexiuni)Stored Procedures (proceduri stocate)

La tabele şi la toate fişierele care conţin câmpuri, Visual FoxPro afişează aceste câmpuri, indecşii aferenţi (câmpurile tip cheie de indexare) şi tipul de index (primar, normal)

Page 24: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

24

• Vederile locale (Local View) reprezintă tabele virtuale ale bazei de date curente, necesare în cadrul unei aplicaţii pentru o anumită categorie de utilizatori. Ele nu au corespondent un fişier pe disc. Prin efectuarea unui clic cu mouse-ul pe semnul "+", putem vedea toate câmpurile unei vederi, ca şi cum aceasta ar fi o tabelă.

• Vederile la distanţă (Remote View) sunt analoage cu vederile locale, deosebirea fiind că datele conţinute de acestea sunt situate la distanţă, într-o sursă de date ODBC sau pe un server SQL.

• Conexiunile (Conections) se utilizează pentru a conecta proiectul la sursa de date, situată la distanţă, în cazul vederilor la distanţă.

• Procedurile stocate (Stored Procedures) reprezintă părţi de cod generate automat de Visual FoxPro pentru menţinerea integrităţii referenţiale a datelor pe baza regulilor de integritate definite de utilizator. Pe baza acestor reguli se asigură respectarea relaţiilor permanente între tabele, indiferent de operaţiile executate asupra datelor din tabelele respective (adăugări, modificări, ştergeri).

Page 25: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

25

• Tabelele libere (Free Tabels) includ acele tabele care nu sunt incluse în bazele de date din cadrul proiectului sau într-o altă bază de date.

• Interogările (Queries) sunt fişiere de text conţinând fraze SELECT SQL sau interogări generate cu constructorul de cereri. Spre deosebire de vederi, ele nu reflectă modificările efectuate asupra lor în baza de date. Ele se folosesc pentru a interoga datele din tabele prin extragerea din aceste tabele a unor informaţii. Pentru a obţine pe ecran rezultatul unei interogări, putem folosi butonul Run.

• Formularul poate fi considerat ca o fereastră având toate atributele unei ferestre sub Windows: bara de titlu, caseta meniului de control, butoane de minimizare, maximizare, închidere. In plus, acestea reprezintă în Visual FoxPro un obiect având ca toate celelalte obiecte, proprietăţi, metode şi evenimente asociate. Acestea definesc aspectul exterior al formularului şi determină în acelaşi timp comportamentul acestuia în diverse situaţii.

• Raportul este o extragere a datelor din baza de date. El poate fi tipărit pe ecranul calculatorului sau pe orice alt dispozitiv de ieşire

Page 26: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

26

Operatii asupra fisierelor din Proiect

• Operatii pe DATABASES– creare – NEW– adaugare – ADD

• Operatii pe o anumita Baza de date – creare baza de date– NEW– adaugare baza de date – ADD– modificarea structurii bazei de date existente-

MODIFY– Stergere din proiect – REMOVE– Stergere de pe disc - DELETE

Page 27: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

27

Operatii asupra fisierelor din Proiect

• Operatii pe TABLES– creare tabel – NEW– adaugare tabel – ADD

• Operatii pe un anumit Tabel – creare tabel– NEW– adaugare tabel in baza de date – ADD– modificarea structurii tabelului-MODIFY– modificarea continutului BROWSE- stergere din baza de date – REMOVE– stergere de pe disc - DELETE

Page 28: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

28

Operatii asupra fisierelor din Proiect

• Operatii pe Free Tabel (functioneza pe principiul TABEL)– creare tabel – NEW– adaugare tabel – ADD

• Operatii pe un anumit Tabel liber– creare tabel– NEW– adaugare tabel in baza de date – ADD– modificarea structurii tabelului-MODIFY– modificarea continutului tabelului-BROWSE- stergere din baza de date – REMOVE– stergere de pe disc - DELETE

Page 29: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

29

Operatii asupra fisierelor din Proiect

• Operatii pe Queries (interogari), Forms (formulare), Report (rapoarte), Menus (meniuri), Programs (programe)

– creare – NEW– adaugare – ADD– modificare structura -MODIFY– executarea (rularea) – RUN sau

• vizualizarea (PREVIEW) pt. raport- stergere din baza de date – REMOVE– stergere de pe disc - DELETE

Page 30: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

30

• Un proiect Microsoft Access (.adp) este un fişier de date care furnizează un acces la o bază de date Microsoft SQL Server prin arhitectura de componente OLE DB – OLE DB - O arhitectură de bază de date bazată pe componente care oferă

acces eficient la reţea şi Internet pentru multe tipuri de surse de date, incluzând aici date relaţionale, fişiere de corespondenţă, fişiere uniforme şi foi de calcul.

• Utilizând un proiect Access se poate crea o aplicaţie client/server - o soluţie tradiţională bazată: pe formulare şi rapoarte sau o soluţie bazată pe pagini de acces la date- pagină de acces date: O pagină Web, publicată din Acces, care are o conexiune la o bază de date. Într-o pagină de acces date : se vizualizează, se adăugă, se editează şi se manipulează datele stocate în baza de date; o pagină, poate să conţină date din alte surse ( Excel), sau o combinare a ambelor soluţii.

Proiectul Access se conectează la o bază de date SQL Server la distanţă, la o bază de date SQL Server locală sau la o instalare locală a SQL Server 2000 Desktop Engine.

Gestiunea Proiectelor in ACCESS

Page 31: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

31

Page 32: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

32

• 1Conectează proiectul Access la o bază de date SQL Server•  2Obiecte ale bazei de date stocate în baza de date SQL Server•  3Obiecte ale bazei de date stocate într-un proiect Access

• Un proiect Access conţine numai obiectele bazei de date pe bază de cod sau de HTML: formulare, rapoarte, numele şi amplasarea paginilor de acces la date, macrocomenzi şi module.

• Acestea sunt obiectele bazei de date care se utilizează pentru crearea unei aplicaţii.• Spre deosebire de o bază de date Microsoft Access (bază de date: O colecţie de date relative la un

anumit subiect sau scop. Într-o bază de date, informaţiile despre o anumită entitate, cum ar fi un angajat sau o comandă, este aranjată în tabele, înregistrări şi câmpuri.), un proiect Access nu conţine obiecte pe baza datelor şi definiţiilor de date: tabele (tabel: Obiect al bazei de date care stochează date în înregistrări (rânduri) şi câmpuri (coloane).

• De obicei, datele sunt în legătură cu o anumită categorie de elemente, cum ar fi angajaţi sau comenzi.), vizualizări (vizualizare (obiect): Într-un proiect Access, un tip de interogare care este de fapt un tabel virtual bazat pe o instrucţiune SQL SELECT.

– - De exemplu, o vizualizare poate să conţină numai 3 din cele 10 coloane disponibile după asocierea a două tabele, pentru a limita accesul la anumite date.), diagrame de baze de date (diagrame de baze de date: O reprezentare grafică a unor părţi din schema unei baze de date. Poate fi o imagine completă sau parţială a structurii bazei de date. Conţine tabele, coloanele acestora şi relaţiile dintre tabele.), proceduri stocate (procedură stocată: Colecţie precompilată de instrucţiuni SQL şi de instrucţiuni de control depozitate sub un nume şi procesate unitar. Colecţia este păstrată într-o bază de date SQL şi se execută prin intermediul unui apel dintr-o aplicaţie.) sau funcţii definite de utilizator (funcţie definită de utilizator: O interogare care preia parametri de intrare şi întoarce un rezultat cum ar fi o procedură stocată.

– În schimb, aceste obiecte sunt stocate într-o bază de date SQL Server.

Page 33: Lacurezeanu Oprean Cursuri 5-6 Gestiune BD Proiecte

33

• Lucrul cu un proiect Access este foarte asemănător cu lucrul cu o bază de date Access. Procesul de creare a formularelor, rapoartelor, paginilor de acces la date, macrocomenzilor şi modulelor este asemănător cu cel utilizat pentru crearea unei baze de date Access.