BAZE_INCEPATORI

download BAZE_INCEPATORI

of 112

Transcript of BAZE_INCEPATORI

  • 8/3/2019 BAZE_INCEPATORI

    1/112

    1

    CUPRINS

    PREFA pag 2CUVNT NAINTE pag 3CAPITOLUL 1 Introducere pag 4

    1.1 Exemplu de proiectare incorect pag 4CAPITOLUL 2 Elemente de proiectare a bazei de date pag 72.1 Entiti, atribute, chei. pag 72.2 Diagrama ER (Entitate relaie.) pag 8

    CAPITOLUL 3 Primii pai n baze de date relaionale pag 123.1 Crearea unei baze de date relaionale folosind resurseACCESS. pag 123.2 Popularea bazei de date folosind formulare. pag 203.3 Filtrarea nregistrrilor pag 28

    CAPITOLUL 4 Crearea unei noi baze de date pag 304.1 Crearea unei baze de date vide. pag 304.2 Crearea i o modificarea tabelelor. pag 31

    4.3 Popularea tabelelor pag 424.4 Salvarea, protecia i nchiderea bazei de date pag 44

    CAPITOLUL 5 Cereri i vederi asupra bazei de date pag 475.1 Crearea unei relaii pentru a defini o list dealegeri. pag 475.2 Crearea unei cereri simple. pag 535.3 Crearea unei cereri utiliznd mai multe tabele. pag 56

    CAPITOLUL 6 Formulare pag 616.1 Crearea unui formular simplu. pag 616.2 Subformulare. pag 656.3 Crearea unui macro. pag 70

    CAPITOLUL 7 Rapoarte i etichete pag 747.1Asemnri i deosebiri ntre rapoarte i formulare. pag 747.2Crearea unui raport imediat. pag 747.3 Crearea unui raport cu ajutorul Wizardului. pag 757.4 Raport de sintez. pag 807.5 Crearea etichetelor. pag 85

    CAPITOLUL 8 Crearea unui meniu pag 898.1 Crearea unui buton. pag 898.2 Legarea butonului de o aciune. pag 91

    CAPITOLUL 9 Proiect de sistem cu baz de date pag 969.1 Proiectarea logic a bazei de date Relaionale. pag 969.2 Realizarea help-ului pentru aplicaie pag 109

    BIBLIOFRAFIE pag 112

  • 8/3/2019 BAZE_INCEPATORI

    2/112

    2

    PREFA

    Bazele de date constituie un element foarte des ntlnit n viaa de toate zilele.Un dicionar, o carte de telefon, o enciclopedie sunt baze de date. Mai precis

    exprimat, o baz de date reprezint un ansamblu de date integrat, anume structurat idotat cu o descriere a acestei structuri. Descrierea poart numele de dicionar destructuri sau meta-date (informaii despre structuri) i creeaz o interdependen ntredatele propriu-zise i programe.

    n funcie de modul de organizare a informaiilor se cunosc trei tipuri de bazede date: relaional, ierarhic, n reea. Din punctul de vedere al ntelegerii bazelor dedate, cel mai simplu este tipul relaional. Sistemul de baze de date relaional areaceeai structur fizic cu datele ce trebuie prelucrate.

    Sistemul de gestiune a bazelor de date (SGBD) este un sistem de programarecare faciliteaz i supervizeaz introducerea de informaii n baza de date, actualizareai extragerea datelor din baza de date, controlul i autorizarea accesului la date,

    precum i asigurarea unei independene ntre structura bazei de date i programele de

    aplicaie.Bazele de date constituie un univers deosebit de atragtor. De la apariia

    conceptului de baz de date (cnd, aceasta, era vzut ca o colecie de fiiere) pnn prezent (cnd vorbim de modelul relaional), acesta a avut o extraordinar evoluie,din punct de vedere al coninutului. Evoluia sa extraordinar s-a datorat attdezvoltrii deosebite a fundamentelor teoretice cu privire la reprezentarea i regsireadatelor, ct i realizrii a numeroase sisteme de gestiune a bazelor de date, ceea ce afcut posibil utilizarea pe scara larg n diverse domenii ale activitii sociale a

    produselor program, avnd la baz aceste sisteme.Fundamentarea teoriei bazelor de date pornete de la necesitatea definirii

    modelelor de date, modelul relaional constituind unul dintre cele mai importantedintre aceste modele. ntr-un asemenea model, datele sunt memorate sub forma derelaii, un element al unei relaii reprezentnd un obiect al lumii reale. Esenamodelului relaional al bazelor de date l constituie teoria dependenelor.

    Cteva din avantajele modelului relaional sunt urmtoarele: datele suntreprezentate simplu i uor de regsit; ofer posibilitatea utilizrii limbajelor de

    programare de nivel nalt pentru acces la date; realizarea integritii iconfidenialitii datelor; posibilitatea de realizare a unei mulimi diverse de aplicaii;existena unei metodologii de proiectare a bazelor de date.

    n prezentul volum autorul cadru didactic la Catedra de InformaticTeoretic a Facultii de Matematic i Informatic din Universitatea TransilvaniaBraov - si propune ca, beneficiind de o foarte bogat experien n abordareateoretic i aplicativ a bazelor de date, n activitatea desfurat cu studenii, s pun

    la dispoziia cititorului, doritor s se iniieze n baze de date, elementele practicenecesare acestei iniieri.Aadar volumul se adreseaz att studentilor, care urmeaz cursul de baze de

    date, ct i tuturor celor interesati n abordarea practic a bazelor de date.

    Prof.univ.dr. Moise COCANCatedra de Informatic Teoretic

  • 8/3/2019 BAZE_INCEPATORI

    3/112

    3

    CUVNT NAINTE

    Cartea de fa are la baz Baze de date pentru nceptori cartea noastr [5]scris n cadrul proiectului TEMPUS IB_JEP 14186-99. Am simit nevoia demprosptare pentru c, ntre timp SGBD ACCESS a evoluat i proiectul exemplu dincarte era incomplet. Am adugat, de asemenea, crearea unui meniu (capitolul 8) i

    modul de apelare a unui macro (capitolul 6, ecranele 111 - 116). Mulumesc soieimele Mirela, care m-a ajutat cu sfaturi i corectura crii.

  • 8/3/2019 BAZE_INCEPATORI

    4/112

    4

    CAPITOLUL I

    INTRODUCERE

    Foarte mult lume discut sau chiar folosete noiunea de Sisteme cu baz dedate, dar n afar de preiozitatea exprimrii, muli dintre acetia cred c o colecieoarecare de fiiere, n orice limbaj care permite o prelucrare, ar fi suficient pentru

    nevoile afacerii, dac pregtirea nu este de specialitate coboar i mai jos i folosescun sistem de calcul tabelar (EXCEL) sau se reped ntr-un SGBD (Sistem de Gestiunea Bazelor de Date ) care arat cum se creaz i cum se utilizeaz o baz de date i selovesc pe parcurs de probleme, de obicei, insurmontabile.

    Din ce cauz? Ce lipsete?Lipsete nelegerea distinct a ceea ce nseamn un Sistem cu baze de date i

    lipsete proiectarea n acord cu aceast nelegere.Exemplu de proiectare incorect

    Pentru nelegerea facil a unor definiii teoretice care vor urma, o sprezentm un exemplu.

    Firma Lectura inteligent vinde cri prin coresponden. Pentru aceastaculege planuri editoriale de la cteva edituri cu acrea re contracte i i face reclam n

    ziare, la radio, la televiziune sau prin coresponden direct cu clienii mai vechi. nurma reclamei primete comenzi pe care le satisface ulterior.

    Bul, biatul patronului, elev strlucit la Liceul de Informatic, a creat ometod simpl (i eficient pentru nceput) de manipulare a comenzilor i vnzrilor,

    pe care a denumit-o baz de date.Cititorul i va da seama c titlul este pretenios.Autorul i propune s descopere mpreun cu cititorul defectele acestei

    abordri, aprute pe msur ce afacerea lua amploare.Intrarea n sistemul ingeniosului elev se face pe baza unui formular pe care un

    angajat l completeaz pentru fiecare volum pe care l comand un client. Iat acestformular:

  • 8/3/2019 BAZE_INCEPATORI

    5/112

    5

    Id client este creat combinnd codul localitii (patru cifre) cu primele trei

    litere ale numelui i cu un numr de ordine ( cinci cifre) .Deci Popescu Ion al 35-lea

    client din Braov va avea identificatorul 220000800035. Acest cod, dup cum se vede,

    asigur unicitatea unui identificator pentru clieni.

    Cum se desfoar activitatea?

    Pe baza unui catalog clientul comand una sau mai multe cri. Cnd cartea

    este disponibil (se afl n depozit) este trimis la toi cei care au comandat-o i n

    csua comand satisfcut se marcheaz un X. La prima vedere totul este simplu, n regul, i treaba chiar a funcionat o

    vreme. Scopul nostru este s observm care sunt defectele unui asemenea proiect.

    Defectul numrul 1

    Baza de date conine multe date duplicate:- numele, adresa, ., unui client apar de cte ori acesta comand o nou carte- titlul, autorii apar de cte ori este comandat aceiai carte

    i ce dac sunt date duplicate?- se ocup mai mult loc pe mediul de stocare- scrierea de mai multe ori a aceluiai lucru face ca aceast scriere s fie diferit

    (exemplu cartea Utilizarea ACCESS 95 poate s apar Utilizare Access 95sau Utilizare Acces 95 ). Ultimele dou forme nu vor fi regsite n baza dedate ce va face ca anumii clieni s nu fie satisfcui, de aici decurgnd o serientreag de probleme.

    Soluia ar fi s eliminm pe ct posibil duplicrile sau, atunci cnd ne permite,acestea s fie corecte (consistente). O proiectare corect a unei baze de date rezolvaceast problem.

    Defectul numrul 2

    Pentru c firma fcea catalogul manual, cu un consum mare de muncnecalificat, s-a pus problema editrii catalogului direct din baza de date. Dar dinaceast baz de date este imposibil de realizat aa ceva pentru c:

    - baza de date nu conine toate datele care fac posibil alegerea unei cri.(lipsete un scurt coninut, de exemplu)

    - prin adugare am ajunge s accentum primul defect. S-l includem o singurdat? Cum o s tim unde l-am inclus? Cel mai grav ns, este faptul c ncatalog ar trebui s apar cri care nu au fost comandate de nimeni i aceast

    problem nu poate fi rezolvat cu acest sistem.-

    Defectul numrul 3

    Problemele legate de tergerea datelor. S presupunem c un client a comandat

    o singur carte i c aceast carte nu mai este scoas (exemplu interzis de cenzur)dac tergem informaia despre carte o s pierdem adresele tuturor clienilor care aucomandat numai aceea carte i deci nu vom putea trimite catalogul la o mulime declieni posibili.

    Defectul numrul 4

  • 8/3/2019 BAZE_INCEPATORI

    6/112

    6

    O alt mare problem este acel identificator de client. Sunt prea multe lucruriincluse acolo. De multe ori sunt utile astfel de coduri mixte dar s vedem ce sentmpl n cazul nostru dac un client se mut. Identificatorul de client se schimb ivom avea comenzi pentru acelai client pe dou adrese de aici posibila duplicare a

    pachetelor sau trimiterea unui pachet la o adres greit.n acest curs vom nva s proiectm corect o baz de date astfel nct s

    evitm apariia acestor defecte. Proiectul nu este suficient pentru a rezolva problema.

    Datele sunt depuse n calculator mpreun cu relaiile dintre ele ntr-un mod fizic carenun e intereseaz n acest moment. Noi vrem s exprimm cerine asupra bazei dedate n limbajul proiectului. Traducerea din acest limbaj, cutarea i editarearezultatelor este treaba Sistemului de Gestiune al Bazei de Date prescurtat SGBD.{90% din calculatoarele funcionale n acest moment sunt echipate cu MicrosoftOffice deci, pentru a putea aplica aproape oriunde cele nvate o s nvm sutilizm SGBD Microsoft ACCES }

  • 8/3/2019 BAZE_INCEPATORI

    7/112

    7

    CAPITOLUL 2

    ELEMENTE DE PROIECTARE A BAZEI DE DATE

    2.1 Entiti, atribute, chei.

    n introducere am vzut c actualizarea datelor despre clieni sau a datelor

    despre cri este dificil n concepia iniial. Aceast deficien a aprut pentru c aufost puse mpreun date despre trei lucruri distincte: clieni, cri i comand. Astfelde lucruri vor fi numite de acum nainte entiti.

    Entitatea este ceva despre care se memoreaz date. Clienii i crile suntentiti tangibile (tari), comenzile nu pot exista fr celelalte dou, ele nu sunttangibile dei sunt puse pe hrtia comand, comanda este o entitate slab. Entitatea vafi reprezentat n baza noastr de date sub forma unui tabel n care liniile suntconcretizrile acestei entiti, adic reprezentanii sau instanele entitii.

    Pe fiecare linie nu vom avea chiar reprezentanii entitii ci numai date carecaracterizeaz din punctual de vedere al aplicaiei reprezentanii entitii; aceste datese numesc atribute. Deci o entitate din viaa real genereaz ntr-o baz de daterelaional un tabel ale crui coloane au ca nume atributele entitii, iar pe linii

    succesive se gsesc valorile atributelor pentru fiecare reprezentant al entitii n parte.De exemplu: entitatea CARTE are atributele: id carte, titlu, autor, editura, pre,

    n exemplul dat sunt trei reprezentani ai acestei entiti, iar fiecare celul a acestuitabel reprezint o valoare a atributului corespunztor coloanei pentru reprezentantulcorespunztor liniei.

    CARTEid carte titlu autor editur pre00035 Relational database design Harrington Academia

    Press5,00 lei

    00102 Baze de date Lungu All 1,20 lei10223 Utilizare Access 95 Jennings Teora 11,00 lei.

    Dac am avea 10.000 de cri vom avea n tabel 10.000 de linii pe care ar fimemorate valorile atributelor entitii CARTE.

    Alt exemplu pentru entitatea CLIENT avnd atributele: id client, nume,prenume, ora, str., nr., tel, cod.

    CLIENTidcarte

    nume prenume ora Str nr tel cod

    00001 Ancu Viorel Braov Castanilor 43 162534 500142

    00010 Barna Dan Cluj Horia 241 458142 42012000011 Cucea Maria Iai Lalelelor 12 457256 65012400101 Nanu Vasile Tg.

    MureJiului 105 256412 345002

  • 8/3/2019 BAZE_INCEPATORI

    8/112

    8

    Dac avem doi clieni cu acelai nume cum vom determina care este cel care acomandat o anumit carte?

    Am vzut care sunt inconvenientele crerii unui cod mixt cum a fost cel iniial.Am mai putea folosi pentru identificatori numele plus numrul de telefon, dar n acestcaz avem multe caractere i rmn problemele legate de actualizri; de exempluschimbarea numrului de telefon. Un astfel de atribut, simplu sau obinut princoncatenare care identific unic o instan a unei entiti se va numi cheie. Aa cum

    recomand practica i autorii Harrington [2] vom crea chei printr-un numr generatsuccesiv i unic n special pentru persoane, locuri, lucruri etc. Rmn situaii n careeste nevoie de chei concatenate. Existena unei chei care s identifice unicreprezentanii unei entiti este o regul esenial de integritate a datelor.

    ntr-un model relaional (de care ne ocupm n mod special) este esenial caatributele s aib valori unice, adic fiind dat o instan a unei entiti, un anumitatribut trebuie s aib o singur valoare. De exemplu un client poate avea un singurnumr de telefon. Dac lsm mai multe locuri, mrim inutil i neproporional baza dedate deci n cazul acestei necesiti trebuie creat o nou entitate numr de telefoncu mai multe instane.

    2.2 Diagrama ER (Entitate relaie.)

    Odat stabilite entitile i atributele ele trebuie s rmn pe un document; defapt toat activitatea de proiectare trebuie documentat. Pe lng tabelele pe care le

    putem gsi n Iacob [3] i [4], avem nevoie de un instrument grafic care s permit ovedere sintetic asupra bazei de date. Chen [1] a inventat diagrama E-R(entity-relationship adic entitate-relaie). O prezentm aici sub o form modificat:Entitatea se reprezint sub forma unui dreptunghi n care sunt listate atributele i ncare este pus n eviden cheia. Apoi vom vedea cum se reprezint i relaiile ntreentiti.

    Iat cum arat, n prim instan, entitile reproiectate pentru societateaLectura inteligent.

    Client

    * nr clientnume

    prenumeorastradnrcod potaltelefon

    Comad

    * nr comandnr clientdat

    Editur

    * nr editurnumeadres

    orastradnumrcod potal

    telefonpers contact

    Autori

    * nr autornume

    prenume

    Carte

    * nr carteclasificaretitlu

    ediiedata apariieipregen

  • 8/3/2019 BAZE_INCEPATORI

    9/112

    9

    Se observ imediat c trebuie s spunem ce valori pot lua atributele i ct loc os ocupe aceste valori. Aceasta nseamn c trebuie stabilim domeniul atributelor.Practic se utilizeaz urmtoarele simboluri:

    CHARx text de x caractere, x e 256INTx numr ntreg de x cifre

    DECIMALx.z numr de x cifre dintre care NUMERICx.z z sunt dup virgule (punctual) zecimalDATE dat calendaristic (zz/ll/aa)TIME timp hh:mm:ssDATETIME o combinaie a precedentelorBOOLEAN valoarea logic (adevrat sau fals)

    n baza de date se vor introduce i relaii ntre entitile, care sunt de faptrealizate ntre instane.

    Vom enumera n continuare tipurile de relaii care se pot stabili ntre entiti:

    Relaii 1 la 1Este cazul relaiei din cstoria dintre dou posibile entiti brbai i

    femei (nu n rile islamice)

    Relaii 1 la nSunt cele mai frecvente. Exemplu la o editur pot fi mai multe cri, dar o

    anumit carte provine de la o singur editur.

    Relaii n la mntre comenzi i cri. ntr-o comand pot fi mai multe cri i aceeai carte

    poate s apar n mai multe comenzi. Acest tip de relaii nu este uor de mnuit i oastfel de relaie este transformat n dou relaii de 1 la n introducnd o nou entitate.n cazul nostru noua entitate va fi detaliu comand. Este obligatoriu ca n aceastentitate s avem cheile celor dou entiti ntre care exist relaia de n la m.

    Relaiile vor fi descrise n diagramele E-R cu linii ntre entiti care vor fintretiate de simboluri ale tipurilor. Aceste simboluri sunt descrise mai jos.| | pentru una i numai una (instan)0 | pentru zero sau una> | pentru una sau mai multe> 0 pentru zero, una sau mai multeExemplu: relaia ntre comenzi i cri

    0 |

    Carte

    * nr carteclasificaretitluediiedata apariiei

    pregen

    Comad

    * nr comandnr clientdat

  • 8/3/2019 BAZE_INCEPATORI

    10/112

    10

    O comand conine cel puin o carte, dar o carte poate s nu fie comandat denimeni, totui este o relaie de tip n la m. ea poate fi transformat prin introducereaentitii detaliu comand n:

    Deci diagrama final ntr-o proiectare corect ar fi:

    | | |

    =_

    =0=

    0

    0 | || | |

    0 | || | |

    Comad

    * nr comandnr clientdat

    Carte

    * nr carte

    clasificaretitluediiedata apariiei

    pregen

    Detaliu comad

    * nr comand* nr carte

    Client

    * nr clientnume

    prenumeorastradnrcod potaltelefon

    Editur

    * nr editurnume

    adresorastradnumrcod potal

    telefonpers contact

    Autori

    * nr autornume

    prenume

    Comad

    * nr comandnr clientdat

    Carte

    * nr carteclasificaretitluediiedata apariiei

    pregen

    Detaliu comad

    * nr comand* nr carte

    Carte autor

    * nr carte* nr autor

  • 8/3/2019 BAZE_INCEPATORI

    11/112

    11

    S observm c:- cheia n entitatea comand este numrul de comand care apare n mod natural

    pe acest document.- cheia n entitile de legtur detaliu comand i carte autor, introduce

    pentru a distruge relaiile n la m, este format din concatenarea celor dou

    chei ale entitilor legate i nu creaz probleme de actualizare.O baz de date relaional are la baz relaia, care poate fi considerat ca un tabel(reprezentarea unei entiti) cu linii (instane ale entitilor), i coloane (atribute).Bineneles c ntre tabele trebuie s existe legturi. Aceste legturi sunt realizate prindisciplina:

    cheie primar cheie strin

    Cheia primar este cheia unei relaii, iar cheia strin este atributul (de obicei cuacelai nume ) de acelai tip cu cheia primar i cu valori care se pun ncoresponden cu cele ale cheii primare. Pentru ca o baz de date relaional s fiecorect, trebuie ca baza de date s ndeplineasc anumite restricii:

    - restricia de unicitate a cheii- restricia referenial valorile cheii strine trebuie s figureze printre valorile

    cheii primare sau s aib valoarea NUL- restricia entitii valorile cheii primare sunt unice i nu pot fi NUL- restricia de domeniu valorile atributelor pot fi NUL sau din domeniul de

    definiie.

    Gsii n capitolul 9 un exemplu de proiectare a unei baze de date relaionale. Unalt exemplu se poate gsi n Iacob[5].

  • 8/3/2019 BAZE_INCEPATORI

    12/112

    12

    CAPITOLUL 3Primii pai n baze de date relaionale

    jO s crem o baz de date relaional folosind resurse ACCESS.jO s populm aceast baz de date folosind formulare.jO s listm componente ale bazei de date folosind criterii logice (filtrare).jO s salvm i o s nchidem baza de date.3.1 Crearea unei baze de date relaionale folosind resurse ACCESS.

    Pentru a lansa SGBS-ul ACCESS trebuie s avei instalat pe PC-ul vostruMicrosoft Office Profesional. Dup ce ai pornit calculatorul va aprea pe ecran cevan stilul:

    Cu clic pe butonul stng al mouse-ului poziionat pe se obine:

    ECR

    AN1

    ECRA

    N

    2

  • 8/3/2019 BAZE_INCEPATORI

    13/112

    13

    Cu clic-uri succesive pe butonul stng al mose-ului pe ,, se obine ecranul:

    Cu clic pe butonul stng al mose-ului pe se obine:

    ECRA

    N

    3

    ECRA

    N

    4

  • 8/3/2019 BAZE_INCEPATORI

    14/112

    14

    De aici vom alege i apare:

    Cu clic de aici pe i obinem:

    De aici alegem i obinem:

    ECRA

    N

    5

    ECRA

    N

    6

  • 8/3/2019 BAZE_INCEPATORI

    15/112

    15

    Apsnd succesiv pe obinem ecranele:

    ECRA

    N

    7

    ECRA

    N

    8

  • 8/3/2019 BAZE_INCEPATORI

    16/112

    16

    ECRA

    N

    9

    EC

    RA

    N

    10

  • 8/3/2019 BAZE_INCEPATORI

    17/112

    17

    ECRA

    N

    12

    ECRA

    N

    11

  • 8/3/2019 BAZE_INCEPATORI

    18/112

    18

    Acum selectnd se declaneaz crearea bazei de date cu defilareaunor ecrane de tipul:

    Dup ce se termin aceast operaie se obine:

    ECRA

    N

    13

    ECRA

    N

    14

  • 8/3/2019 BAZE_INCEPATORI

    19/112

    19

    Facei clic pe i, n ecranul care urmeaz, introducei datele (evidentfictive) ale firmei pentru care construii sistemul.

    De exemplu:

    Cnd prsii acest ecran cu clic pe pe rndul cu obinei:

    ECRA

    N

    15

    ECRA

    N

    16

  • 8/3/2019 BAZE_INCEPATORI

    20/112

    20

    3.2 Popularea bazei de date folosind formulare.n continuare vom introduce date n tabele prin formulare. Mai nti n produse

    fcnd clic pe . De exemplu:

    Cu clic pe nu o s putei selecta o categorie pentru c acestea nuau fost introduse. Facei dublu clic pe (tot cu butonul stng) i puteiintroduce categorii. De exemplu:

    ECRA

    N

    17

    ECRA

    N

    18

  • 8/3/2019 BAZE_INCEPATORI

    21/112

    21

    Acum este cazul s introducei mai multe produse n fiecare categorie pe careo alegei. V propun cel puin 3 categorii i n fiecare categorie ntre 2 i 6 produse.La fiecare produs o s introducem facturi de intrare dup ce am selectat .Observai c data apare cu valoarea iniial = data zilei curente, dar ea poate fischimbat. Din nou la furnizor (supplier), la angajat (employee) i la metoda detrimis (shipping method) va trebui s facem dublu clic ca s introducem noinregistrri corespunztoare n tabelele respective. De exemplu:

    EC

    RAN

    19

    ECRA

    N

    20

  • 8/3/2019 BAZE_INCEPATORI

    22/112

    22

    Se obine aa ceva:

    ECRA

    N

    21

    ECRA

    N

    22

  • 8/3/2019 BAZE_INCEPATORI

    23/112

    23

    Am mai introdus o factur:

    Observai c, dac revenii n , putei veda cte cri i cnd au fostprimite:

    ECRA

    N

    23

    ECRA

    N

    24

  • 8/3/2019 BAZE_INCEPATORI

    24/112

    24

    Revenind n meniul principal (prsirea unui meniu se face cu clic pe X),

    putem vedea ce am introdus n alte tabele cu clic pe de unde obinem:

    ECRA

    N

    25

    ECRA

    N

    26

  • 8/3/2019 BAZE_INCEPATORI

    25/112

    25

    Tot din meniul principal cu clic pe

    se obine:

    De aici putem vedea rapoarte cu :1) comparaii de cost al produselor (atenie laaspect! Studiai n acest sens bara de meniu de sus)

    ECRA

    N

    27

    ECRA

    N

    28

  • 8/3/2019 BAZE_INCEPATORI

    26/112

    26

    2) cumprri pe furnizor

    3) Informaii despre stoc:

    ECRA

    N

    29

    ECRA

    N

    30

  • 8/3/2019 BAZE_INCEPATORI

    27/112

    27

    4) detalii despre tranzacii:

    Dac facem clic pe , se vor salva toate informaiile i se vanchide baza de date.

    3.3 Filtrarea nregistrrilor

    Poate c nu toate nregistrrile sunt necesare pe ecran; de exemplu vrem svedem numai produsele din categoria carte. n meniul principal, selectnd , apoi selectm i , de acolo carte, apoi cu clic pe

    butonul drept apare un meniu vertical din care selectm . Apare

    EC

    RAN

    31

    ECRA

    N

    32

  • 8/3/2019 BAZE_INCEPATORI

    28/112

    28

    un ecran n care se vede c au fost filtrate nregistrrile i au rmas numai cele doucri introduse.

    Putem realiza filtre mult mai complexe. Pentru aceasta, n acelai formular,facem clic cu butonul drept, dar nu pe cmpurile de date. Dup selecia liniei apare:

    Formularul s-a golit. Selectai valorile de filtrare i facei clic pe plnia din bara de sus; o s apar doar nregistrrile filtrate. De exemplu, selectnd din geanta, din poeta fifi se obine:

    ECRA

    N

    33

    EC

    RAN

    34

  • 8/3/2019 BAZE_INCEPATORI

    29/112

    29

    ECRA

    N

    35

  • 8/3/2019 BAZE_INCEPATORI

    30/112

    30

    CAPITOLUL 4

    Crearea unei noi baze de date

    n acest capitol vom nva: s crem o nou baz de date vid. s crem i o s modificm tabele. s adugm atribute cu anumite proprieti. s specificm chei. s crem relaii ntre tabele. s populm tabele. s salvm i o s nchidem baza de date. Din ecranul 36 facem clic pe .4.1 Crearea unei baze de date vide.

    Obinem ceva de tipul:

    ECRA

    N

    36

  • 8/3/2019 BAZE_INCEPATORI

    31/112

    31

    Dai un nume viitoarei baze de date i facei clic pe . Se obine:

    4.2 Crearea i o modificarea tabelelor.

    Vom prefera . Dai Enter i putei crea primatabel. Vom crea mai nti tabela client cu numele fiecrui atribut i selectnd tipulde atribut. Se poate vedea n ecranul urmtor c la nr_client am dat tipul . Aceasta nseamn c la fiecare nou client sistemul va aduga un nou codmrind cu 1 codul maxim de pn atunci; bineneles c aceasta va fi definit ca

    EC

    RA

    N

    37

    ECRA

    N

    38

  • 8/3/2019 BAZE_INCEPATORI

    32/112

    32

    cheie i se va numi cheie surogat pentu c nu avem un atribut natural ca s l facemcheie.

    Fcnd clic pe obinei:

    Dai Enter i n ecranul care urmeaz dai numele noii tabele.

    ECRA

    N

    39

    ECRA

    N

    40

  • 8/3/2019 BAZE_INCEPATORI

    33/112

    33

    Cu clic pe se obine ecranul 42. Este momentul s tii mai multe despretipurile de date pe care le putem ataa cmpurilor din tabele. n ecranul 39 se vede olist de tipuri din care putem alege:- adic caractere alfanumerice (de fapt orice caractere).- tot text , dar cu lungime variabil, folosit pentru descrieri mai lungi- numr care poate fi ntreg sau fracionar ca n tabelul urmtor:

    Tip de date Plaja de valori Cifrezecimale

    Loc nmemorie

    De la Pn la 1 byteByte 0 235Integer -32678 32767 2 bytesLong integer -2147483648 2147483647 4 bytesSingle -3,4*1038 3,4*1038 7 4 bytesdouble -1797*10308 1797*10308 15 8 bytes

    - Date calendaristice, timp la alegere mai jos n - Moneda n $, lei etc - pe carel-am comentat dup ecranul 38- tipul valoare logic care poate fi Da sau Nu- obiecte ca de exemplu: poze, grafice, sunete etc- legturi cu site-uri internet- un tip de date special care va da posibilitatea de a da unui

    cmp numai valori luate din alt cmp, alt tabel, sau list de valori folosindpentru aceasta o csu de lisare sau un combo dup cum vom vedea mai departe.

    ECRA

    N

    41

  • 8/3/2019 BAZE_INCEPATORI

    34/112

    34

    Sistemul nu v las s cerai tabela fr a defini o cheie. Apsai pe ,selectai tabela client selectai din bara de sus i definii cheia cafiind nr_client. Dac avei un autonumber cheia se va defini automat.

    Crem n mod analog tabelele:- comanda - n ecran 44- detaliu_comanda - n ecran 45- carte - n ecran 46- editura - n ecran 47- carte_autor - n ecran 48

    EC

    RA

    N

    42

    ECRA

    N

    43

  • 8/3/2019 BAZE_INCEPATORI

    35/112

    35

    - autor n ecran 49

    Observai c sistemul a introdus automat o cheie care avea tipul autonumber.

    ECR

    AN

    44

    ECRA

    N

    45

  • 8/3/2019 BAZE_INCEPATORI

    36/112

    36

    EC

    RAN

    46

    ECRA

    N

    47

  • 8/3/2019 BAZE_INCEPATORI

    37/112

    37

    Aa cum se poate vedea n ecranul 47, putem, n partea de jos a ecranului, sspecificm proprieti ale cmpurilor:

    -

    definete lungimea unui text n numr de caractere.- se aplic la date de tip numeric sau data i poate fi ales din lista care sedeschide cu clic pe zona respectiv.

    - ataeaz un ablon la care trebuie s se potriveasc datele deintrare. Putei ataa o astfel de masc apelnd la wizard prin butonul marcat cu

    ECR

    AN

    48

    ECRA

    N

    49

  • 8/3/2019 BAZE_INCEPATORI

    38/112

    38

    - - ceea ce scriei aici va aprea ca nume al cmpului n toate editrilelui adic n rapoarte, n formulare, etc

    - este o valoare introdus automat n cmp cnd este creat un noutuplu (linie n tabel), pe care utilizatorul o poate schimba.

    - se scrie sau se construiete cu Wizard-ul o expresie care lass intre n tabel numai valorile corecte.

    - dac expresia anterioar nu este corect se afieaz textul .- se aplic la texte unde se poate pune spaiu n loc devaloarea NULL (dac nu este nimic introdus).- prevede indexare dup acest cmp.

    n ecranul principal de proiectare (Ecran 50) vom selecta, n bara cea mai de sus, butonul: .

    Dup clic apare:

    E

    CRA

    N

    50

  • 8/3/2019 BAZE_INCEPATORI

    39/112

    39

    Din acest ecran vom selecta, pe rnd, toate tabelele pe care le vom lega ntreele fcnd clic pe de fiecare dat. Dup ce le-ai adugat pe toate facei clic

    pe i vei obine:

    Putem rearanja tabelele pe ecran prin drag and draw. Apsm cu bubonulstng al mouse-ului pe numele tabelei i, fr s dm drumul butonului, deplasmimaginea n poziia dorit. Aranjai acum ecranul astfel nct s obinei ecranul 53.

    ECRA

    N

    51

    ECRA

    N

    52

  • 8/3/2019 BAZE_INCEPATORI

    40/112

    40

    n acest ecran vom face legturile tot cu drag and draw. Legtura trebuiefcut ntre atribute din cele dou tabele; atributele trebuie s fie de acelai tip (tipulautonumber se poate lega cu number long integer).

    Se ia un atribut din partea cu 1 a legturii (vezi diagrama de la pag ), i setrage la atributul corespunztor din cealalt tabel. De exemplu, trgndnr_editura din editura peste acelai atribut din carte se obine:

    ECRA

    N

    53

    ECRA

    N

    54

  • 8/3/2019 BAZE_INCEPATORI

    41/112

    41

    Aici vom selecta , i < Cascade Delete Related records >, apoi selectm din ecranul55.

    Se obine:

    n acest mod vom face toate legturile din diagrama de la pag 10 i obinem:

    ECRA

    N

    55

    ECRA

    N

    56

  • 8/3/2019 BAZE_INCEPATORI

    42/112

    42

    Prsim, ca de obicei, acest ecran i putem verifica sau modifica aceste relaiiurmnd acelai drum.

    4.3 Popularea tabelelor

    Putem introduce date n tabele (date de test) selectnd din ecranul principaltabela respective i apoi sau cu dublu clic pe tabela selectat. De exempludac facem asta pe tabelul carte se obine:

    ECRA

    N

    57

    ECRA

    N

    58

  • 8/3/2019 BAZE_INCEPATORI

    43/112

    43

    Aici putem introduce date; cu grij ns ca nreditura s existe n editura i deasemenea la autor prin carte_autor. Rezult c nu putem introduce date ncepndcu tabela carte!

    Un exerciiu bun este s introducei date, pe rnd, n tabelele editura, autor,carte i carte-autor.

    n exemplul nostru se pot vedea date n ecranele 59 -62.

    ECRA

    N

    59

    ECRA

    N

    60

  • 8/3/2019 BAZE_INCEPATORI

    44/112

    44

    Introducerea datelor reale se va face prin formulare. De altfel prin introducerean formulare este mult mai uor de respectat integritatea referenial, aa cum se

    poate vedea n tabelele 18 - 26 i n capitolul 6.

    4.4 Salvarea, protecia i nchiderea bazei de date

    EC

    RAN

    61

    ECRA

    N

    62

  • 8/3/2019 BAZE_INCEPATORI

    45/112

    45

    Tot ce construii n ACCESS este dus automat pe disc; informaiile se potpierde totui dac nu s-a fcut corect la nchiderea calculatorului. Sepune ns problema s pstrm o copie a bazei de date, fie ntr-un alt folder, fie pedischet. Pentru aceasta, din meniul principal, apsnd pe se obine:

    Aici, cu clic pe se obine:

    i putei salva copii al obiectelor din baza de date. Dac vrei ca numaianumite persoane s poat avea acces la baza de date, putei s o protejai. Pentru

    ECRA

    N

    63

    ECRA

    N

    64

  • 8/3/2019 BAZE_INCEPATORI

    46/112

    46

    aceasta, din bara de sus a meniului, selectai apoi i . Apare ecranul:

    Dup clic aici putei s punei parola care va fi cerut de cte opri deschideiaceast baz de date. Atenie s nu uitai parola!

    ECR

    AN

    65

  • 8/3/2019 BAZE_INCEPATORI

    47/112

    47

    CAPITOLUL 5

    Cereri i vederi asupra bazei de date

    Putem lista liniile unui tabel, aa cum am fcut pn acum, dar avemurmtoarele inconveniente:

    y s-ar putea s nu avem nevoie de toate liniile ci numai de unele carendeplinesc anumite condiii am nvat deja s facem acest lucru prinfiltrare

    y s-ar putea s nu ne trebuiasc toate cmpuriley s-ar s avem nevoie de informaii combinate din mai multe tabele (de

    exemplu cnd listm o carte s avem nevoie i de numele editurii i denumele autorilor

    am putea s crem tabele aa cum avem nevoie, dar am descoperit toateneajunsurile unui asemenea mod de organizare n primul capitol.

    Exist soluie ?Bine neles! Soluia se numete vedere (view) care nseamn un tabel fictiv cu

    care se pot face o serie de operaii, fr ca el s ocupe un loc efectiv n memoriaextern.

    O vedere este rezultatul unei cereri (query) pe care o putem crea n limbajulSQL, sau prin meniuri n QBE (query by exemple = cerere prin exemple).Limbajul SQL nu este n vederile acestei cri, aa c vom adopta a doua cale.

    Cererile care utilizeaz mai multe tabele fac apel la relaiile pe care le-amstabilit n capitolul 4 (ecranele 50 57).

    n acest capitol o s nvm:

    S crem o relaie pentru a defini o list de alegeri (care este rezultatul uneicereri)

    S crem o cerere simpl (dintr-un singur tabel)

    Sa crem o cerere utiliznd mai multe tabele ntre care exist relaii S modificm o cerere S adugm cmpuri calculate S facem grupuri5.1 Crearea unei relaii pentru a defini o list de alegeri.

    O s observm nti c dac vrem s nu greim cnd introducem editor uneicri trebuie s o lum dintre editurile existente sau, dac acest editur nuexist, s o adugm mai nti n tabelul editura. Pentru aceasta vom relua

    proiectarea tabelului carte.La caracteristicile cmpului nreditura vom trece selectnd unde

    vom completa:- la - Combo Box- la - Table Query- la - 1- la - 2- la - selectm i se deschide ecranul 67.

  • 8/3/2019 BAZE_INCEPATORI

    48/112

    48

    Aici vom proiecta o cere astfel:y Selectm tabelul edituray Selectm i tabelul se mut susy Ieim selectnd din subecran

    ECRA

    N

    66

    ECRA

    N

    67

  • 8/3/2019 BAZE_INCEPATORI

    49/112

    49

    Dup ce am ieit, selectm cmpurile de care avem nevoie. Acestea suntnreditura i nume_ed. Dou cmpuri, cum am declarat n Column count, dincare primul se ia n considerare la legtura cu tabelul carte, cum am declarat nBound Column. Selecia cmpurilor se va face cu dublu clic pe numele cmpuluisau prin drag and draw. Vom mai selecta, pe linia i coloana nume_edopiunea pentru ca editurile s fie listate n combo box n ordinealfabetic cresctoare.

    ECRA

    N

    68

    ECRA

    N

    69

  • 8/3/2019 BAZE_INCEPATORI

    50/112

    50

    ncheiem,ca de obicei , reproiectarea tabelului carte i revenim n meniul principal. Vom face acum crearea unui formular simplu pentru a vedea efectulmodificrilor.

    n bara de sus selectm < Insert> apoi i obinem:

    Alegem i ca s ncepem un proces de generarea unui formular anticipnd puin coninutul capitolului 6.

    n acest ecran vom selecta cmpurile pe care le dorim n formular unul cteunul cu . Dac le vrem pe toate selectm butonul .

    Dup apare ecranul:

    ECRA

    N

    70

    ECRA

    N

    71

    > >>

  • 8/3/2019 BAZE_INCEPATORI

    51/112

    51

    Vom alege aici modul de afiare pe coloane selectnd i .Apare:

    Aici trebuie s ne alegem aspectul fondului formularului. ncercai toate liniilei dup ce v-ai stabilit la cea mai potrivit, selectai . Apare ecranul:

    ECRA

    N

    72

    ECRA

    N

    73

  • 8/3/2019 BAZE_INCEPATORI

    52/112

    52

    Aici, dup ce am selectat , selectm i obinem:

    Dac vrem, putem deschide acest formular din meniul principal selectnd

    i apoi formularul dorit. n formular putem vedeay toate crile pe rnd cu butonul nainte sau cu napoiy trece la prima carte cu butonul sau la ultima cu

    y sau putem introduce o nou nregistrare cu

    ECRA

    N

    74

    ECRA

    N

    75

    | |

    *

  • 8/3/2019 BAZE_INCEPATORI

    53/112

    53

    Se poate vedea cum funcioneaz combo boxul selectnd corespunztor dincmpul nreditura.

    5.2 Crearea unei cereri simple.

    Dac vrem s crem un tabel fictiv numai cu clienii din Braov o s crem ocerere n felul urmtor. Din meniul principal selectm . Apare:

    Vom selecta aici prima opiune . Apoi apare:

    ECRA

    N

    76

    ECRA

    N

    77

  • 8/3/2019 BAZE_INCEPATORI

    54/112

    54

    Selectm, din tabel, tabelul client fcnd clic pe . Dup apareecranul:

    De aici putem selecta, cum am vzut deja, cmpurile de care avem nevoie. Deasemenea selectm ordinea cresctoare a numelor i , la scriem =brasov ,pentru a pune n tabelul fictive numai clienii Braoveni.

    E

    CRA

    N

    78

    ECRA

    N

    79

  • 8/3/2019 BAZE_INCEPATORI

    55/112

    55

    nchidem, ca de obicei, procedeul dnd nume acestui query.

    Din ecranul principal, selectnd i apoi client brasov cu dublu clic,

    putem vedea pe ecran coninutul tabelului fictive pe care tocmai l-am creat.Bineneles c trebuia mai nti s introducei date i c trebuie s avei cel puin unclient cu oraul brasov.

    ECRA

    N

    80

    ECRA

    N

    81

  • 8/3/2019 BAZE_INCEPATORI

    56/112

    56

    Dac vrem, de exemplu, s crem un tabel cu clienii i crile comandate deacetia, informaia nu poate fi luat dintr-un singur tabel aa c trebuie s tim sfacem

    5.3 Crearea unei cereri utiliznd mai multe tabele.

    Selectm, ca mai nainte, , < Create Query n Design view >,adugm cu tabelele client, comanda, detaliu_comanda i carte, dupcare obinem:

    Selectm, aici, nume, prenume,titlu ca n tabelul urmtor:

    EC

    RAN

    82

    ECRA

    N

    83

  • 8/3/2019 BAZE_INCEPATORI

    57/112

    57

    Prsim dnd numele client carte.

    Dac vrem s vedem, ca mai nainte, rezultatul, obinem:

    ECRA

    N

    84

    ECRA

    N

    85

  • 8/3/2019 BAZE_INCEPATORI

    58/112

    58

    Vrem, acum, s aflm i valoarea crilor comandate de fiecare client i sordonm clienii dup aceast valoare. Selectm, exact ca mai nainte, cmpurilenume i prenume, din aceleai tabele, i adugm un cmp calculatvaloare=nr_bucati*pret. Cu clic pe butonul drept al mouse-ului pe partea de se obine:

    Cu clic pe trecem n ecranul urmtor:

    ECRA

    N

    86

    ECRA

    N

    87

  • 8/3/2019 BAZE_INCEPATORI

    59/112

    59

    Se vede aici c nregistrrile vor fi grupate dup nume i prenume. De aicicu clic pe butonul care a aprut sub valoare n linia obinem:

    Cu clic pe vom ncheia aceast proiectare i obinem:

    EC

    RAN

    88

    ECRA

    N

    89

  • 8/3/2019 BAZE_INCEPATORI

    60/112

    60

    Ieim de aci, ca de obicei, dnd nume acestei cereri clienti cu valori.Procedm ca mai nainte ca s vedem rezultatul acestei cereri.

    ECRA

    N

    90

    ECRA

    N

    22

  • 8/3/2019 BAZE_INCEPATORI

    61/112

    61

    CAPITOLUL 6

    Formulare.

    La introducerea datelor n noua noastr baz de date, am folosit un tabelincomod. Pe de alt parte am vzut, n capitolul 3, ecranele 20 23, un mod maiprietenos de introducere a datelor. Asemenea operaii se fac comod prin formulare.

    Formularele sunt de dou tipuri:1. Formulare pentru preluarea de date care ofer posibilitatea de a actualizasimultan mai multe tabele.

    2. Formulare pentru decizii care prezint, ntr-un mod plcut i imediat,informaii ca suport pentru decizii.

    n acest capitol vom nva : S crem formulare simple S crem formulare imediate S modificm formulare S crem formulare cu subformulare

    6.1 Crearea unui formular simplu.

    Un formular simplu poate fi creat pe baza unui tabel sau a unei cereri. Sselectm, de exemplu, tabelul autor, n meniul principal, i cu clic pe obinem:

    Cu clic pe de declaneaz crearea formularului pe care, dac ldeschidei, apar listai autorii:

    ECRA

    N

    91

  • 8/3/2019 BAZE_INCEPATORI

    62/112

    62

    Aici putem face modificri ale cmpurilor (n afar de nr_autor care este), putem introduce noi autori, sau, pur i simplu, putem s vedemdatele memorate despre fiecare.

    Cam acelai formular se poate obine ca formular instantaneu. Selectmtabelul autor i din bara de sus selectm :

    Cu clic pe obine:

    ECRA

    N

    92

    ECRA

    N

    93

  • 8/3/2019 BAZE_INCEPATORI

    63/112

    63

    Acest formular conine i subformular unde vedei i numrul crilor scrise deautorii respectivi.

    Dac nu ne place cum arat, putem modifica formularul. n stnga sus, sub, selectm butonul de proiectare.

    De aici selectm i apare:

    ECRA

    N

    94

    ECRA

    N

    95

  • 8/3/2019 BAZE_INCEPATORI

    64/112

    64

    Putei mri fereastra ecranului n dreapta , n jos , sau n amndou direciiledeodat, agnd sgeile de pe margini i trgndu-le n direcia dorit.

    Cu clic pe eticheta prenume_autor se obine:

    Putem, aici, s schimbm textul etichetei sau s o deplasm ntr-o alt zon. Svedem dac ai neles filozofia acestei aplicaii; putei s aducei formularul la formaurmtoare?

    E

    CRA

    N

    96

    ECRA

    N

    97

  • 8/3/2019 BAZE_INCEPATORI

    65/112

    65

    Am vzut deja n capitolul 5, ecranele 70 75, cum se creaz formulare nmodul asistat (cu Wizard-ul). Putei acum s descoperii cu se poate aduga la unformular antet i picior de pagin.

    6.2 Subformulare.

    n cadrul unui formular se poate crea un subformular. Am vzut deja asta necranul 95 i n ecranul 18. O s crem un suformular la formularul carte ca svedem i autorii crii listate.

    Crem mai nti o cerere pe baza creia se va crea subformularul. Cererea seface aa cum am nvat deja. Ajungei n ecranul:

    E

    CRA

    N

    98

    ECRA

    N

    99

  • 8/3/2019 BAZE_INCEPATORI

    66/112

    66

    O s salvm cererea cu numele autor pe carte i relum proiectareaformularului carte. Selectnd , i apare:

    Rearanjm ecranul fcnd loc subformularului i selectm din bara de susbutonul pentru tool box i , de acolo cel pentru subformular.

    Dup aceasta, cu butonul stng al mouse-ului apsat, putei trasa spaiul pentrusubformular. Cnd ai lsat butonul vei fi n ecranul:

    EC

    RA

    N

    100

    ECRA

    N

    101

  • 8/3/2019 BAZE_INCEPATORI

    67/112

    67

    Selectm i apare:

    De aici lum Query:autor pe carte i se obine:

    ECRA

    N

    102

    ECRA

    N

    103

  • 8/3/2019 BAZE_INCEPATORI

    68/112

    68

    Prelum n subformular toate cmpurile:

    Dup :

    ECRA

    N

    104

    ECRA

    N

    105

  • 8/3/2019 BAZE_INCEPATORI

    69/112

    69

    i iari :

    Apoi cu se obine:

    ECRA

    N

    106

    E

    CRA

    N

    107

  • 8/3/2019 BAZE_INCEPATORI

    70/112

    70

    nchidem salvnd formularul i dac l deschidem obinem:

    6.3 Crearea unui macro.

    Acesta este un formular n care se pot vedea crile cu autorii lor.Am vzut n capitolul 3 ecran 20 c prin dublu clic pe aprea

    formularul pentru introducerea unui nou angajat. Dac vrem s introducem o cartedintr-o editur care este nou pentru noi, am putea s prsim acest formular, sdeschidem formularul edituri, dac l-am creat, i dup ce am introdus editurarespectiv, s revenim n carte pentru a continua introducerea. Sigur c este

    E

    CRA

    N

    108

    ECRA

    N

    109

  • 8/3/2019 BAZE_INCEPATORI

    71/112

    71

    incomod i, dup modelul amintit din capitolul 3, vom nva s declanm unformular la dublu clic pe numele editurii.

    n proiectare pe formularul carte, cu butonul drept al mouse-ului, se obine:

    De aici, cu clic pe , se obine:

    Acum, pe , selectm i facem clic pese obine:

    ECRA

    N110

    ECRA

    N

    111

  • 8/3/2019 BAZE_INCEPATORI

    72/112

    72

    Am intrat n unde vom construi un macro pentrudeschiderea unui formular. Dup clic pe se arat:

    Am completat aici numele acestui macro. Dup clic pe , din ecranulurmtor selectm ca n:

    ECRA

    N112

    ECRA

    N113

  • 8/3/2019 BAZE_INCEPATORI

    73/112

    73

    Dup clic ni se cere numele acestui macro ca n ecranul urmtor:

    Alegem , din list, numele formularului - editura i, dup clic, nchidere isalvare, formularul carte funcioneaz aa cum am vrut.

    ECR

    AN114

    ECRA

    N115

  • 8/3/2019 BAZE_INCEPATORI

    74/112

    74

    CAPITOLUL 7

    Rapoarte i etichete.

    Produsul principal al informaiilor din baza de date este un raport. Raportuleste destinat tipririi, adic editrii pe hrtie care se pstreaz o perioad de timp mailung. Diferenele de suport (ecran fa de hrtie) genereaz o serie ntreag de

    diferene.n acest capitol vom nva: S crem un raport imediat S crem un raport cu ajutorul asistentului (Report Wizard) S facem grupri i sinteze S tiprim etichete pentru coresponden7.1Asemnri i deosebiri ntre rapoarte i formulare.

    O s prezentm mai nti deosebirile.1. Rapoartele sunt destinate tipririi i nu sunt concepute pentru a fi

    afiate ntr-o fereastr. Dac vrei s vedei pe ecran imaginea unui

    raport, se poate s nu o vedei ntreag pe ecran i dac o micorai s-arputea s nu o mai vedei clar.

    2. Valorile din raport nu se pot modifica.3. Rapoartele nu pot da o vedere tabelar; cu ele singurele prelucrri sunt

    design, print preview i print.4. Se poate crea un raport neasociat unui tabel (real sau fictiv - vedere) ca

    acesta fiind gazda unor subrapoarte nelegate ntre ele.5. Prin dialogul din se poate adapta dimensiunea

    raportului la dimensiunea hrtiei.6. n rapoartele multicoloan numrul, limea i distana dintre coloane

    este controlat de acelai Printer Setup nu din faza de proiectare.

    Dm, n continuare, asemnri ntre rapoarte i formulare.1. Funcia lui este analoag cu cea a lui i putei crea trei tipuri e rapoarte: cu o singur coloan, cu grupare ieventual totalizare i etichete pentru coresponden.

    2. n raport gsim, ca i n formular, seciunile de antet i de picior depagin, dar utilizarea lor este mult mai frecvent.

    3. Seciunile grupurilor, din rapoarte, sunt echivalente cu seciunea dedetaliu din formular. Grupurile(denumite i benzi) pot avea propriul lorantet Group Header i propriul subsol - Group Footer - , care suntfolosite pentru denumirea grupului, respectiv pentru totaluri de grup.Am vzut i la formulare posibiliti de grupare.

    4.

    Rapoartele pot avea subrapoarte ca i formularele.

    7.2Crearea unui raport imediat.

  • 8/3/2019 BAZE_INCEPATORI

    75/112

    75

    Pentru a crea un raport imediat selectai din meniul principal -tabelul carte, apoi din opiunea ca n ecranulurmtor:

    Cu clic sau Enter va apare:

    Aa cum v-am mai spus, nu se vede tot!Putei s parcurgei toat lista ncercai!Putem s facem i

    ECRA

    N

    116

    ECRA

    N

    117

  • 8/3/2019 BAZE_INCEPATORI

    76/112

    76

    7.3 Crearea unui raport cu ajutorul Wizardului.

    Selectai, din meniul principal, tabelul carte i din opiunea. Se obine:

    Se alege i se obine:

    ECRA

    N

    118

    ECRA

    N

    119

  • 8/3/2019 BAZE_INCEPATORI

    77/112

    77

    n acest ecran se pot alege cmpurile dorite cum am fcut i la formulare.Dup apare:

    Alegei aici gruparea dup nreditura i dup vom avea:

    Aici putei indica ordinea de sortare (n exemplul nostru dup titlu) i aveiposibilitatea de a face sumri, dar asta vom vedea mai trziu.

    ECRA

    N

    120

    ECRA

    N

    121

  • 8/3/2019 BAZE_INCEPATORI

    78/112

    78

    Dup apare:

    De aici alegei aranjarea grupurilor n pagin. V sftuiesc s ncercai toatemodurile. Dup vine:

    ECRA

    N

    122

    ECRA

    N

    123

  • 8/3/2019 BAZE_INCEPATORI

    79/112

    79

    Din acest ecran se alge tipul fondului:

    Cu ajungem la:

    ECRA

    N

    124

    ECRA

    N

    125

  • 8/3/2019 BAZE_INCEPATORI

    80/112

    80

    Nu se vd n ntregime unele cmpuri, dar am nvat deja s modificmformulare; la fel putem modifica corespuztor acest raport.

    Vom face acum un

    7.4 Raport de sintez.

    O s crem mai nti cererea comenzi. Atenie! Raportul trebuie s aib labaz un tabel sau o cerere. tim deja s crem o cerere aa c pornim de la ecranul:

    n seria de ecrane de creare a raportului (care seamn cu altele parcurse pnacum) o s punctm numai ecranele mai importante:

    EC

    RAN

    126

    ECRA

    N

    127

  • 8/3/2019 BAZE_INCEPATORI

    81/112

    81

    ECRA

    N

    128

    ECRA

    N

    129

  • 8/3/2019 BAZE_INCEPATORI

    82/112

    82

    Dup se obine:

    ECRA

    N

    130

    EC

    RAN

    131

  • 8/3/2019 BAZE_INCEPATORI

    83/112

    83

    Dac vrem totaluri, n proiectare de la ecranul:

    Facem clic pe i obinem:

    EC

    RAN

    132

    ECRA

    N133

  • 8/3/2019 BAZE_INCEPATORI

    84/112

    84

    Cred c v descurcai aici ca s obinei sumarea pe Expr1. acum raportul vaarta aa:

    Se pot vedea la ion ion toate nivelele de sumare, iar dac dai la sfrit, o svedei i totalul general .

    7.5 Crearea etichetelor.

    ECRA

    N

    134

    ECRA

    N

    135

  • 8/3/2019 BAZE_INCEPATORI

    85/112

    85

    Dac vrei s editai etichete cu numele i adresa clienilor pentru a fi lipite pepachetele cu cri, putei proceda astfel:

    Din meniul principal, selectai tabelul client. Din selectai i din acesta .

    Dup apare:

    Dup ce ai fixat mrimea etichetei i numrul de etichete pe acelai rnd cu obinei:

    ECRA

    N

    136

    ECRA

    N

    137

  • 8/3/2019 BAZE_INCEPATORI

    86/112

    86

    Unde alegei fontul i dimensiunea scrisului. Dup :

    Aici alegei cmpurile pe care le vrei n etichet.Cu :

    E

    CRA

    N

    138

    ECRA

    N

    139

  • 8/3/2019 BAZE_INCEPATORI

    87/112

    87

    Avem ecranul n care ne fixm opiunile de sortare.

    i dup :

    ECRA

    N

    140

    ECRA

    N

    141

  • 8/3/2019 BAZE_INCEPATORI

    88/112

    88

    Dac nu v place modificai-l cum ai nvat s ias aa:

    ECRA

    N

    142

    ECR

    AN

    143

  • 8/3/2019 BAZE_INCEPATORI

    89/112

    89

    CAPITOLUL 8

    PROIECTAREA UNUI MENIU

    n acest capitol vom nva s: Crem un buton Legm butonul de o aciune.

    Am vzut, n capitolul 3, ecranul 17, c aciunile unui sistem sunt concentratentr-unul sau mai multe ecrane legate, ceea ce constitui un meniu eventual cusubmeniuri. Totul ncepe de la crearea unui buton care are ataat o aciune nmomentul n care este apsat butonul. Ca s creai un asemenea buton deschidei unformular nou cu :

    8.1 Crearea unui buton.

    Dup selectare apare:

    ECRA

    N

    144

  • 8/3/2019 BAZE_INCEPATORI

    90/112

    90

    Acesta este un spaiu n care vom proiecta butonul folosind depe bara din stnga ecranului. Selectai de acolo butonul i , dup apsare, putei s l ducei pe ecran n locul dorit.

    Ecranul va arta :

    ECRA

    N

    145

    EC

    RAN

    146

  • 8/3/2019 BAZE_INCEPATORI

    91/112

    91

    8.2 Legarea butonului de o aciune.

    Selectm, de aici, i i dup apare:

    De aici selectm formularul pe care vrem s l deschid butonul, n exemplulnostru autor. Dup vedem:

    EC

    RAN

    147

    ECRA

    N

    148

  • 8/3/2019 BAZE_INCEPATORI

    92/112

    92

    i dup nc un :

    n acest ecran cu butonul de selecie, selectm i n csuacorespunztoare punem textul deschide autor. Se obin succesiv ecranele:

    ECRA

    N

    150

    ECRA

    N

    149

  • 8/3/2019 BAZE_INCEPATORI

    93/112

    93

    Dup i :

    ECR

    AN

    151

    ECR

    AN

    152

  • 8/3/2019 BAZE_INCEPATORI

    94/112

    94

    Prsim ecranul dnd nume (buton autor).Dac deschidei formularul buton autor va apare:

    Selectnd acest buton se va deschide formularul autor:

    EC

    RAN

    153

    ECRA

    N

    154

  • 8/3/2019 BAZE_INCEPATORI

    95/112

    95

    Exist i alte modaliti de a face butoane i de a le lega de o aciune. Cititoruleste ndemnat s descopere singur i alte posibiliti. Dup ce ai gsit cea maiconvenabil, creai-v meniul pentru aplicaia pe care am construit-o mpreun.

    ECRA

    N

    155

  • 8/3/2019 BAZE_INCEPATORI

    96/112

    96

    CAPITOLUL 9

    Proiectul logic

    n acest capitol vom vedea, pe un exemplu, cum se proiecteaz un sistem cubaz de date relaional.

    Vom proiecta un sistem cu baz de date pentru gestiunea unui cabinet de

    consiliere i orientare a elevilor.9.1 Pasul 1: Proiectarea logic a bazei de date relaionale:

    Pasul 1.1.Identificarea tipurilor de entitin urma studierii documentelor implicate n cadrul gestiunii cabinetului de

    consiliere i orientare a elevilor se disting urmtoarele entiti:jElevjPsihologjMembrii_familieijFi_individualjTrsturi_individualejMetode_psihodiagnosticejFactorijProcese_psihice

    n documentarea tipurilor de entiti includem o descriere amnunit afiecrei entiti:

    Nume tip de entitate DescriereElev Toi elevii care au solicitat serviciile cabinetului

    de consultare i orientare a elevilorPsiholog Totalitatea psihologilor care activeaz n cadrul

    cabinetuluiMembrii_familiei Toi membrii familiei unui elevFi_individual Toate datele legate de evidena elevilor din cadrul

    cabinetului de consiliere i orientare colarTrsturi_individuale Totalitatea trsturilor individuale ale unui elevMetode_psihodiagnostice Totalitatea metodelor psihodiagnostice care i-au

    fost aplicate unui elevFactori Totalitatea factorilor care intervin n metodele

    psihodiagnosticeProcese_psihice Totalitatea proceselor psihice care determin

    trsturile individuale

    Pasul 1.2.Identificarea tipurilor de relaii.Tipurile de relaii care intervin ntre tipurile de entiti prezente n sistem sunt

    expuse n continuare:

  • 8/3/2019 BAZE_INCEPATORI

    97/112

    97

    Tip de entitate Tip de relaie Tip de entitateElev deine Fi_indivdualPsiholog completeaz Fi_indivdualFi_indivdual conine informaii despre Membrii_familiei

    conine informaii despre Trsturi_individuale

    conine informaii despre Metode_psihodiagnosticeMetode_psihodiagnostice determin Trsturi_individuale

    au FactoriTrsturi_individuale sunt compuse din Procese

    Determinarea cardinalitii i a participrii tipurilor de relaii:

    Tip de entitate Tip de relaie Tip de entitate

    Cardinali

    tate

    Participa

    re

    Elev deine Fi_indivdual 1:1 T:TPsiholog completeaz Fi_indivdual 1:N P:T

    Fi_indivdual conine informaii despre Membrii_familiei M:N T:TFi_indivdual conine informaii despre Trsturi_individuale M:N T:TFi_indivdual conine informaii despre Metode_psihodiagnostice M:N T:TMetode_psihodiagnostice determin Trsturi_individuale M:N T:TMetode_psihodiagnostice au Factori 1:N P:TTrsturi_individuale sunt compuse din Procese 1:N P:T

    Pasul 1.3.Identificarea i atribuirea de atribute la tipurile de entiti itipurile de relaii i determinarea domeniilor de definiie aatributelor.

    Tip entitate Atribut DomeniuElev Cod_elev AutoNumber

    Nume Text(50)Prenume Text(50)Data_naterii Date/TimeJudeul Text(30)Localitatea Text(30)Strada Text(30)

    Numr NumberBloc Text(10)

    Scara Text(1)Apartament Numbercoal Text(50)Sex Text(1)Vrst NumberTelefon NumberCNP Number

  • 8/3/2019 BAZE_INCEPATORI

    98/112

    98

    Alte_observaii MemoPsiholog Cod_psiholog Autonumber

    Nume Text(30)Prenume Text(30)Specializare Text(40)Data_naterii Date/Time

    Fi_indivdual Nr_fi Autonumbe

    Cod_elev NumberData_ntocmirii Date/TimeCod_trsturi NumberCod_psiholog NumberCod_metoda NumberId_membru NumberTip_familie Text(30)Rel_ntre_prini MemoRel_elev_prini MemoRel_elev_frai MemoConduita_la_lecii Memo

    Stil_de_munc Text(50)Activitatea_n_cadrul_clasei Text(50)Conduita_n_familie MemoAntecedente MemoBoli_ereditare MemoGreutate Numbernlime NumberDiagnostic Text(30)Clasa Text(5)Medie_generala NumberAlte_observaii Memo

    Membrii_familiei Id_membru Autonumber Nume Text(30)Prenume Text(30)Judeul Text(30)Localitatea Text(30)Strada Text(30)

    Numr NumberBloc Text(10)Scara Text(1)Apartament NumberCalitatea_membrului Text(10)Sex Text(1)

    Varsta NumberOcupatie Text(30)

    Trsturi_individuale Cod_trstur Autonumber Nume_trstur Text(20)

    Proces Cod_proces Autonumber Nume_proces Text(20)

  • 8/3/2019 BAZE_INCEPATORI

    99/112

    99

    Cod_trasatura NumberMetode_psihodiagnostice Cod_metod Autonumber

    Nume_metod Text(20)Punctaj_brut NumberPunctaj_standard NumberInterpretare Text(30)Cod_trasatura Number

    Profil_psihologic MemoConcluzii Memo

    Factor Cod_factor Autonumber Nume_factor Text(20)Cod_metoda Number

    Pentru nelegerea domeniilor atributelor din tabelul anterior, sunt explicaitermenii folosii:

    Text(x) este un text sau combinaii de texte i numere, dimensiunea fiind dex caractere

    Memo este un text de mare dimensiune cum sunt descrieri sau note

    Number- reprezint un numrAutonumber este un numr cu incrementare automatAlte tipuri de atribute (cmpuri) ai vzut n capitolul 4.

    Pasul 1.4.Determinarea atributelor care compun cheile candidate iprimare.

    Urmtorul tabel prezint cheile ce intervin n cadrul sistemului:

    Tip de entitate Chei candidat Cheie primarElev Cod_elev Cod_elev

    CNPPsiholog Cod_psiholog Cod_psiholog

    CNPFi_individual Nr_fi Nr_fiMembrii_familiei Cod_familie Cod_familieTrsturi_individuale Cod_trstur Cod_trsturProcese Cod_proces Cod_procesMetode_psihodiagnostice Cod_metod Cod_metodFactori Cod_factor Cod_factor

  • 8/3/2019 BAZE_INCEPATORI

    100/112

    100

    Pasul 1.5.Desenarea diagramei entity-relationship:

    Trebuie s reactualizam i lista atributelor pentru tipurile de entiti: Fisa_trasaturi,Fisa_metode i Fisa_membrii .

    Tip entitate Atribut DomeniuFisa_trasaturi Cod_fis_tra AutoNumber

    Nr_fisa NumberCod_trasatura Number

    Fisa_metode Cod_fis_met Autonumber Nr_fisa NumberCod_metoda Number

    Fisa_membrii Cod_fis_mem Autonumber Nr_fisa NumberId_membru Number

    1

    1N1

    1

    1

    1

    N

    11

    NN

    N

    N

    N

    N

    11

    1

    Elev

    Fi_individual

    Membrii_familiei

    Trsturi_individualeMetode_psihodiagnostice

    ProceseFactori

    Psiholog

    N

    Fi_metode Fi_trasaturi

    Fi_trasaturi

  • 8/3/2019 BAZE_INCEPATORI

    101/112

    101

    Pasul 2.1. Proiectarea modelului conceptual pe un model logic local

    1. Eliminarea relaiilor N:M.2. Eliminarea relaiilor complexe.3. Eliminarea relaiilor recursive.4. Eliminarea relaiilor cu atribute.5. Eliminarea relaiilor de tip 1:1.6. Eliminarea relaiilor redundante.

    Pasul 2.2 Crearea relaiilor pentru modelul logic local.

    Entiti tari:Elev(Cod_elev, Nume, Prenume, Data_naterii, Judeul, Localitatea, Strada,

    Numr, Bloc, Scara, Apartament, coal, Sex, Vrst, Telefon,CNP,Alte_observatii)Cheie primara: Cod_elev

    Psiholog(Cod_psiholog, Nume, Prenume, Specializare, Data_naterii)Cheie primara: Cod_psiholog

    Membrii_familiei(Id_membru, Nume, Prenume, Judeul, Localitatea, Strada, Numr, Bloc, Scara, Apartament, Calitatea_membrului, Sex, Varsta,Ocupatie)Cheie primara:Id_membru

    Trasaturi individuale(Cod_trstur, Nume_trstur)Cheie primara: Cod_trasatura

    Metode_psihodiagnostice(Cod_metod, Nume_metod, Punctaj_brut,

    Punctaj_standard, Interpretare, Profil_psihologic, Concluzii)Cheie primara: Cod_metoda

    Entiti slabe:Proces (Cod_proces, Nume_proces, Cod_trastura)

    Cheie primara: Cod_processCheie strin: Cod_trstur

    Factor(Cod_factor, Nume_factor, Cod_metod)Cheie primara: Cod_factorCheie strin: Cod_metod

    Fi_indivdual( Nr_fi, Cod_elev, Data_ntocmirii, Cod_psiholog,Tip_familie, Rel_ntre_prini, Rel_elev_prini, Rel_elev_frai,Conduita_la_lecii, Stil_de_munc, Activitatea_n_cadrul_clasei,Conduita_n_familie, Antecedente, Boli_ereditare, Greutate, nlime,Diagnostic, Clasa, Medie_generala, Alte_observaii)Cheie primara: Nr_fisaCheie straina: Cod_elev, Cod_psiholog

    Nu este cazul exemplului nostru.

    Acesta nu conine astfel de tipuri

    de relaii.

  • 8/3/2019 BAZE_INCEPATORI

    102/112

    102

    Fisa_trasaturi (Cod_fis_tra, Nr_fisa,Cod_trasatura)Cheie primara: Cod_fis_traCheie strin: Nr_fisa, Cod_trstur

    Fisa_metode(Cod_fis_met, Nr_fisa,Cod_metoda)Cheie primara: Cod_fis_metCheie strin: Nr_fisa, Cod_metoda

    Fisa_membrii(Cod_fis_mem, Nr_fisa, Id_membru)Cheie primara: Cod_fis_memCheie strin: Nr_fisa, Id_membru

    Pasul 2.3 Validarea modelului, utiliznd normalizarea.Pentru teoria legat de normalizare cititorul este ndrumat spre [1], [2], [3].

    Forma normal 1

    n aceast etap, de normalizare, se urmrete eliminarea grupurilorrepetitive din fiecare tabel.Analiznd fiecare tabel se observ c nu exist grupuri repetitive, deci

    baza de date este n forma normal 1.

    Forma normal 2O relaie este n 2NF dac este n 1NF i orice atribut este complet

    dependent de cheie. Forma normal 2 se verific doar la relaiile care au ocheie compus pe poziia de cheie primara. Dac pentru o relaie, cheia

    primara se compune dintr-un singur atribut atunci ea este n form normal 2.Tabelele bazei de date din sistemul nostru au chei primare care se compundintr-un singur atribut, n concluzie toate relaiile sunt deja n form normal

    2.

    Forma normal 3O relaie este n 3NF dac este n 2NF i nu exista nici un atribut care

    s nu aparin cheii primare i care s fie tranzitiv dependent de cheiaprimar.

    Examinnd relaiile n forma normal de mai sus, observm c nu existdependene tranzitive. Deci relaiile sunt n form normal 3.

    Pasul 2.4 Validarea modelului utiliznd tranzaciile.

    Tranzaciile cerute de utilizator sunt:

    T1. Crearea i modificare nregistrrilor despre un anumit elevDatele personale ale unui elev sunt memorate n tabela ELEV. Cheia

    primar pentru acest tabel este Cod_elev. n momentul n care se ncearcintroducerea unui nou elev n baza de date, se verific automat dac acestaexist, caz n care sunt afiate datele elevului i este permis modificareaanumitor date precum: Adresa, Nume, Prenume. tergerea unui elev din baza

  • 8/3/2019 BAZE_INCEPATORI

    103/112

    103

    de date nu este permis, acest lucru datorndu-se faptului c s-ar putea pierdedatele despre membrii familiei elevului respectiv.T2. Listarea elevilor consiliai de un psiholog

    Tranzacia poate fi rezolvat fcnd o cutare dup:

    Psiholog::Nume=nume psiholog

    Psiholog::Nume,Prenume

    Psiholog:: Cod_psiholog

    Fisa_individual::Cod_psiholog

    Fi_individual::Cod_elev

    Elev::Cod_elev

    Elev::Nume,Prenume

    T3. Listarea psihologilor care lucreaz n cadrul cabinetului de la o anumit

    dat (au completat fie individuale)

    Fi_individual::Data_ntocmirii>dataFisa_individual::Cod_psiholog

    Psiholog:: Cod_psiholog

    Psiholog::Nume,Prenume

    T4. Listarea metodelor psihodiagnostice aplicate unui elev

    Elev::Nume=nume_elev

    Elev::Nume,Prenume

    Elev::Cod_elev

    Fi_individual::Cod_elevFi individual:: Nr_fisa

    Fisa_metoda:: Nr_fisa

    Fisa_metoda:: Cod_metoda

    Metode_psihodiagnostice:: Cod_metoda

    Metode_psihodiagnostice:: Nume_metoda

    T5. Listarea trsturilor individuale ale unui elev

    Elev::Nume=nume_elev

    Elev::Nume,PrenumeElev::Cod_elev

    Fi_individual::Cod_elev

    Fi individual:: Nr_fisa

    Fisa_trasatura:: Nr_fisa

  • 8/3/2019 BAZE_INCEPATORI

    104/112

    104

    Fisa_trasatura:: Cod_trstur

    Trsturi_individuale:: Cod_trstur

    Trsturi_individuale:: Nume_trstur

    T6. Listarea membrilor familiei unui elev

    Elev::Nume=nume_elev

    Elev::Nume,Prenume

    Elev::Cod_elev

    Fi_individual::Cod_elev

    Fi individual:: Nr_fisa

    Fisa_membrii::Nr_fisa

    Fisa_membrii::Id_membru

    Membrii_familiei:: Id_membru

    Membrii_familiei:: Nume, Prenume

    T7. Listarea factorilor care intervin n cadrul unei metode psihodiagnostice

    Metode_psihodiagnostice:: Nume=nume

    Metode_psihodiagnostice::Cod_metoda

    Factor:: Cod_metoda

    Factor::Nume_factor

    T8. Listarea proceselor care influeneaz o trstur individuale

    Trsturi_individuale:: Nume_trstura=Nume

    Trsturi_individuale:: Cod_trstur

    Proces::Cod_trstur

    Proces:: Nume_proces

    T9. Listarea unor date personale despre toi elevii (Nume, Prenume,

    Data_nasterii, coala, Localitate, Diagnostic)

    Elev::Cod_elev

    Elev::Nume,Prenume, Data_nasterii,Scoala,Localitatea

    Fisa_individuala::Cod_elev

    Fisa_individuala::DiagnosticPasul 2.5 Desenarea diagramei E-R

    n cazul nostru aceast diagram nu se modific

    Pasul 2.6 Definirea regulilor de integritate ale bazei de date.

    Necesitatea datelor:

  • 8/3/2019 BAZE_INCEPATORI

    105/112

    105

    Aceste reguli le-am identificat deja, cnd am documentat atributele n pasul1.3.

    Reguli asupra domeniului atributelor.Domeniile de definiie au fost deja identificate cnd am documentat domeniile

    atributelor n pasul 1.3.Integritatea entitilor.

    Aceste reguli au fost deja identificate, cnd am documentat cheile primare n

    pasul 1.4.Integritatea relaiilor.Elev(Cod_elev, Nume, Prenume, Data_naterii, Judeul, Localitatea, Strada,

    Numr, Bloc, Scara, Apartament, coal, Sex, Vrst, Telefon,CNP,Alte_observatii)Cheie primara: Cod_elevPsiholog(Cod_psiholog, Nume, Prenume, Specializare, Data_naterii)Cheie primara: Cod_psihologFi_indivdual( Nr_fi, Cod_elev, Data_ntocmirii, Cod_psiholog,Tip_familie, Rel_ntre_prini, Rel_elev_prini, Rel_elev_frai,Conduita_la_lecii, Stil_de_munc, Activitatea_n_cadrul_clasei,Conduita_n_familie, Antecedente, Boli_ereditare, Greutate, nlime,

    Diagnostic, Clasa, Medie_generala, Alte_observaii)Cheie primara: Nr_fisaCheie straina: Cod_elev Nenul, Cascad, referindu-se la Elev(.)

    Cod_psihologNenul, Cascad, referindu-se la Psiholog(...)Trasaturi individuale(Cod_trstur, Nume_trstur,)Cheie primara: Cod_trasaturaProces (Cod_proces, Nume_proces)Cheie primara: Cod_processCheie straina: Cod_trstur Nenul, Cascad, referindu-se la

    Trasaturi individuale(Cod_trstur, Nume_trstur,)Metode_psihodiagnostice(Cod_metod, Nume_metod, Punctaj_brut,Punctaj_standard, Interpretare, Profil_psihologic, Concluzii)

    Cheie primara: Cod_metodaFactor(Cod_factor, Nume_factor, Cod_metod)Cheie primara: Cod_factorCheie straina: Cod_metodNenul, Cascad, referindu-se la

    Metode_psihodiagnostice(...)Membrii_familiei(Id_membru, Nume, Prenume, Judeul, Localitatea, Strada,

    Numr, Bloc, Scara, Apartament, Calitatea_membrului, Sex, Varsta,Ocupatie)Cheie primara:Id_membruFisa_membrii(Cod_fis_mem, Nr_fisa, Id_membru)Cheie primara: Cod_fis_memCheie strin: Nr_fisa Nenul, Cascad, referindu-se la Fisa_individuala()

    Id_membruNenul, Cascad, referindu-se laMembrii_familiei()Fisa_trasaturi (Cod_fis_tra, Nr_fisa,Cod_trasatura)Cheie primara: Cod_fis_traCheie strin: Nr_fisa Nenul, Cascad, referindu-se la Fisa_individuala()

    Cod_trasaturiNenul, Cascad, referindu-se laTrasaturi individuale(...)

  • 8/3/2019 BAZE_INCEPATORI

    106/112

    106

    Fisa_metode(Cod_fis_met, Nr_fisa,Cod_metoda)Cheie primara: Cod_fis_metCheie strin: Nr_fisa Nenul, Cascad, referindu-se la Fisa_individuala()

    Cod_metoda Nenul, Cascad, referindu-se laMetode_psihodiagnostice()

    Diagrama E-R final:

    Partea IIScurt prezentare a aplicaiei implementat n SGBD-ul

    AccessBaza de date a fost implementat n Access. Aici relaiile dintre entiti sunt

    descrise astfel:

    1

    1N1

    1

    1

    1

    N

    11

    NN

    N

    N

    N

    N

    11

    1

    Elev

    Fi_individual

    Membrii_familiei

    Trsturi_individualeMetode_psihodiagnostice

    ProceseFactori

    Psiholog

    N

    Fi_metode Fi_trasaturi

    Fi_trasaturi

  • 8/3/2019 BAZE_INCEPATORI

    107/112

    107

    n momentul deschiderii bazei de date ConsiliereSiOrientare.mdb se vadeschide meniul principal numit MainBoard. Acesta arat astfel:

  • 8/3/2019 BAZE_INCEPATORI

    108/112

    108

    Principalele opiuni sunt:

    y Deschide board-ul pentru formulare:

    cu ajutorul cruia se vor deschide toate formularele din baza de date.

  • 8/3/2019 BAZE_INCEPATORI

    109/112

    109

    y Deschide board-ul pentru vizualizat rapoarte:

    cu ajutorul cruia pot fi vizualizate rapoartele.

    9.2 Realizarea help-ului pentru aplicaie

    Aplicaia realizat n Access ofer suport pentru utilizatorii aplicaiei. Help-ulutilizat n cadrul aplicaiei a fost realizat folosind utilitarul Shalom, aceasta pentru adescrie modul n care pot fi folosite diferitele formulare de introducere a datelor.Pentru a avea acces la explicaiile suplimentare realizate cu ajutorul programuluiShalom, sub forma unui fiier numit Help.hlp, utilizatorul poate apsa butonul F1sau poate folosi butonul cu care sunt nzestrate majoritatea formularelor.

    Exemplu:

  • 8/3/2019 BAZE_INCEPATORI

    110/112

    110

    Dup efectuarea unui click n cmpul respectiv se va deschide urmtoareafereastr:

    Acelai efect ar fi putut fi realizat dac cursorul se afla n cmpul Data Intocmirei se apsa tasta F1.

  • 8/3/2019 BAZE_INCEPATORI

    111/112

    111

    Aplicaia are mai multe niveluri de help, explicaii suplimentare putnd fi obinuteastfel:

    - prin tooltip-uri; n momentul n care poziionm cursorul mouse-uluideasupra unui text box din cadrul unui form i l lsm pentru ctevasecunde vor aprea informaii suplimentare referitoare la cmpul respectiv

    - prin informaii nstatus bar n momentul n care focus-ul este ntr-unul dinelementele unui formular, n status bar vor aprea informaii referitoare lacmpul respectiv

  • 8/3/2019 BAZE_INCEPATORI

    112/112

    BIBLIOGRAFIE

    [1] Connoly T., Begg C., Strachan A., Data base systems, Addison Wesley,1997[2] Harrington J.L., Relational database design, AP Professional, 1998.[3] Iacob P., Baze de date, Curs Univ. Transilvania Braov, 2003[4] Iacob P., Ghid de proiectare a bazelor de date relaionale, Univ.

    Transilvania Braov, 1997[5] Iacob P. Baze de date pentru nceptori, Ed. Univ. Piteti, 2000