curs access incepatori

Upload: jijitheboss

Post on 14-Apr-2018

446 views

Category:

Documents


33 download

TRANSCRIPT

  • 7/30/2019 Curs Access Incepatori

    1/98

    PENTRU

    NCEPATORI

  • 7/30/2019 Curs Access Incepatori

    2/98

    BAZE DE DATE Page 1

    CUPRINS PE SCURT

    CAPITOLUL 1. Introducere Pag 1

    CAPITOLUL 2. Elemente de proiectare a bazei de date Pag 5

    CAPITOLUL 3. Primii pasi n baze de date relationale Pag 11

    CAPITOLUL 4. Crearea unei noi baze de date Pag 21

    CAPITOLUL 5. Cereri si vederi asupra bazei de date Pag 35

    CAPITOLUL 6. Formulare Pag 47

    CAPITOLUL 7. Rapoarte si etichete Pag 59

    CAPITOLUL 8. Proiectarea bazei de date relationale. Pag 72

  • 7/30/2019 Curs Access Incepatori

    3/98

    BAZE DE DATE Page 2

    CUPRINS

    CAPITOLUL 1. Introducere Pag 1

    CAPITOLUL 2. Elemente de proiectare a bazei de date Pag 5

    CAPITOLUL 3. Primii pasi n baze de date relationale Pag 11Crearea unei baze de date folosind asistentul Pag 11Meniuri Pag 17Formulare Pag 17Filtrare Pag 18Rapoarte Pag 20

    CAPITOLUL 4. Crearea unei noi baze de date Pag 21Crearea unei baze vide Pag 21Crearea si modificarea tabelelor Pag 22Crearea atributelor Pag 23Definirea cheii Pag 26Tipuri de date Pag 27

    Definirea relatiilor ntre tabele Pag 31Popularea tabelelor Pag 32Salvarea, protejarea si nchiderea bazei de date Pag 33

    CAPITOLUL 5. Cereri si vederi asupra bazei de date Pag 35Crearea unei relatii pentru a defini o lista de alegeri Pag 35

    Crearea unei cereri simple Pag 40Crearea unei cereri complexe Pag 44Crearea unor cmpuri calculate Pag 45Creare grupurilor Pag 46

    CAPITOLUL 6. Formulare Pag 47Formulare simple Pag 47Formulare imediate Pag 49Modificarea formularelor Pag 50Crearea formularelor cu subformulare Pag 52

    CAPITOLUL 7. Rapoarte si etichete Pag 59Rapoarte immediate Pag 59

  • 7/30/2019 Curs Access Incepatori

    4/98

    BAZE DE DATE Page 3

    Crearea rapoartelor cu ajutorul asistentului Pag 61Grupari si sinteze Pag 62

    Etichete Pag 66

    CAPITOLUL 8. Proiectarea bazei de date relationale. Pag 72Exemplu de analiza pentru Evidenta somerilor Pag 72Proiectarea logica Pag 77Modelul conceptual Pag 77

    Tipuri de entitati Pag 77Relatii Pag 77Atribute Pag 78Domenii de valori Pag 82

    Chei Pag 85Modelul logic de date Pag 86

    Model conceptual-model logic Pag 86Deducerea relatiilor Pag 88Normalizare Pag 88Tranzactii Pag 89Definirea restrictiilor de integritate Pag 90

  • 7/30/2019 Curs Access Incepatori

    5/98

    BAZE DE DATE Page 4

    CAPITOLUL 1Introducere

    Foarte multa lume discuta sau chiar foloseste notiunea Sisteme cubaza de date, dar n afara de pretiozitatea exprimarii, multi dintre acestiacred ca o colectie orecare de fisiere, n orice limbaj care permite oprelucrare, ar fi suficienta pentru nevoile afacerii, daca pregatirea nu este despecialitate coboara si mai jos si folosesc un sistem de calcul tabelar(EXCEL) sau se reped ntr-un SGBD (Sistem de gestiunea bazelor de date)care arata cum se creaza si cum se utilizeaza o baza de date si se lovesc peparcurs de probleme, de obicei, insurmontabile.

    Din ce cauza ? Ce lipseste ?

    Lipseste ntelegerea distincta a ceea ce nseamna un Sistem cu baze dedate si lipseste proiectarea n acord cu aceasta ntelegere.

    Exemplu de proiectare incorecta.

    Pentru ntelege mai usor niste definitii teoretice care vor urma,o sa prezentam un exemplu.

    Firma Lectura inteligenta vinde carti prin corespondenta. Pentruaceasta culege planuri editoriale de la cteva edituri cu care are contractesi si face reclama n ziare, la radio, la televiziune sau prin corespondentadirecta cu clientii mai vechi. n urma reclamei primeste comenzi pe care lesatisface ulterior.Bula, baiatul patronului, elev stralucit la Liceul de Informatica, a creat ometoda simpla ( si eficienta pentru nceput ) de manipulare a comenzilor sivnzarilor, pe care a denumit-o baza de date .Cititorul si va da seama ca titlul este pretentios.Autorul si propune sa descopere mpreuna cu cititorul defectele acestei

    abordari, aparute pe masura ce afacerea lua amploare.Intrarea n sistemul ingeniosului elev se face pe baza unui formular

    pe care un angajat l completeaza pentru fiecare volum pe care l comandaun client. Iata acest formular:

  • 7/30/2019 Curs Access Incepatori

    6/98

    BAZE DE DATE Page 5

    Id client este creat combinnd Cod-ul localitatii (4 cifre) cu primeletrei litere ale Nume-lui si cu un numar de ordine (5 cifre) n Localitate. Deci Popescu Ion al 35-lea client din Brasov va avea identificatorul220000800035. Acest cod, dupa cum se vede, asigura unicitatea unuiidentificator pentru clienti.

    Cum se desfasoara activitataea ?Pe baza unui catalog clientul comanda una sau mai multe carti. Cnd

    cartea este disponibila (se afla n depozit) este trimisa la toti cei care aucomandat-o si n casuta Comanda satisfacuta se marcheaza un X .

    La prima vedere totul este simplu, n regula, si treaba chiar afunctionat o vreme.

    Scopul nostru este sa observam care sunt defectele unui asemeneaproiect.

    Id client data comenzii

    Nume

    Prenume

    Localitate cod

    Strada nr

    Telefon ,

    Formular comanda

    Nr produs

    Titlu

    Autori

    Pret Discount %

    Comanda satisfacuta

  • 7/30/2019 Curs Access Incepatori

    7/98

    BAZE DE DATE Page 6

    Defectul numarul 1.

    Baza de date contine multe date duplicate:- numele, adresa, unui client apar de cte ori acesta comanda o nouacarte.

    - titlul, autorii apar de cte ori este comandata aceeasi carte. Si ce daca sunt date duplicate?- se ocupa mai mult loc pe mediul de stocare- scriere de mai multe ori a aceluiasi lucru face ca aceasta scriere sa fie

    diferita ( ex. Cartea Utilizare ACCESS 95 poate sa apara Utilizareaccess 95 sau Utilizare Acces 95. Ultimele doua forme nu vor fi

    regasite n baza de date ceea ce va face ca anumiti clienti sa nu fiesatisfacuti, de aici decurgnd o serie ntreaga de probleme.

    Solutia ar fi sa eliminam pe ct posibil duplicarile sau, atunci cnd lepermitem, acestea sa fie corecte (consistente ). O proiectare corecta a uneibaze de date rezolva aceasta problema.

    Defectul numarul 2.

    Pentru ca firma facea catalogul manual, cu un consum mare de munca

    necalificata, s-a pus problema editarii catalogului direct din baza de date.Dar din aceasta baza de date este imposibil de realizat asa ceva pentru ca:- baza de date nu contine toate datele care fac posibila alegerea unei carti.

    ( lipseste un scurt continut, de exemplu)- prin adaugare am ajunge sa accentuam primul defect. Sa-l includem o

    singura data ? Cum o sa stim unde l-am inclus ? Cel mai grav nsa ,estefaptul ca n catalog ar trebui sa apara carti care nu au fost comandate denimeni si aceasta problema nu poate fi rezolvata cu acest sistem.

    Defectul numarul 3.

    Probleme legate de stergerea datelor. Sa presupunem ca un client acomandat o singura carte si ca aceasta carte nu mai este scoasa (ex. Interzisade cenzura). Daca stregem informatia despre carte o sa pierdem adreseletuturor clientilor care au comandat numai acea carte si deci nu vom puteatrimite catalogul la o multime de clienti posibili.

  • 7/30/2019 Curs Access Incepatori

    8/98

    BAZE DE DATE Page 7

    Defectul numarul 4.

    O alta mare problema este acel identificator de client. Sunt prea multelucruri incluse acolo. De multe ori sunt utile astfel de coduri mixte, dar savedem ce se ntmpla n cazul nostru daca un client se muta. Identificatorulde client se schimba si vom avea comenzi pentru acelasi client pe douaadrese de aici posibila duplicare a pachetelor sau trimiterea unui pachet lao adresa gresita.

    n acest curs vom nvata sa proiectam corect o baza de date astfelnct sa evitam aparitia acestor defecte. Proiectul nu este suficient pentrua rezolva problema. Datele sunt depuse n calculator mpreuna cu relatiile

    dintre ele ntr-un mod fizic care nu ne intereseaza n acest moment. Noivrem sa exprimam cerinte asupra bazei de date n limbajul proiectului.Traducerea din acest limbaj, cautarea si editarea rezultatelor este treabaSistemului de gestiune al bazei de date prescurtat SGBD.{ 90% din calculatoarele functionale n acest moment sunt echipate cusistemul Windows deci, pentru a putea aplica aproape oriunde celenvatate o sa nvatam sa utilizam SGBD-ul ACCESS.}

  • 7/30/2019 Curs Access Incepatori

    9/98

    BAZE DE DATE Page 8

    CAPITOLUL 2

    Elemente de proiectare a bazei de date.

    n introducere am vazut ca actualizarea datelor despre clienti sau adatelor despre carti era dificila n conceptia initiala. Aceasta deficienta aaparut pentru ca au fost puse mpreuna date despre trei lucruri distincte :clienti, carti si comanda. Astfel de lucruri vor fi numite de acum nainteentitati.

    Entitatea este ceva despre care se memoreaza date . Clientii si cartilesunt entitati tangibile (tari), comenzile nu pot exista fara celelalte doua, elenu sunt tangibile desi sunt puse pe hrtia comanda, comanda este o entitateslaba. Entitatea va fi reprezentata n baza noastra de date sub forma unuitabel n care liniile sunt concretizarile acestei entitati, adica reprezentantiisau instanteleentitatii.

    Pe fiecare linie nu vom avea chiar reprezentantii entitatii ci numaidate care caracterizeaza din punctul de vedere al aplicatiei reprezentantiientitatii ; aceste date se numesc atribute. Deci o entitate din viata reala

    genereaza intr-o baza de date relationala un tabel ale carui coloane au canume atributele entitatii , iar pe linii succesive se gasesc valorile atributelorpentru fiecare reprezentant al entitatii n parte.

    De exemplu: entitatea CARTE are atributele : id carte, titlu, autor,editura, pret, n exemplul dat sunt trei reprezentanti ai acestei entitati, iarfiecare celula a acestui tabel reprezinta o valoare a atributului corespunzatorcoloanei pentru reprezentantul corespunzator liniei.

    CARTE

    Daca am avea 10000 de carti vom avea n tabel 10000 de linii pe carear fi memorate valorile atributelor entitatii CARTE.

    ..

    id carte titlu autor editura pret

    00035 Relational database design Harrington Academia Press 50000

    00102 Baze de date Lungu All 12000

    10223 Utilizare Access 95 Jennings Teora 110000

  • 7/30/2019 Curs Access Incepatori

    10/98

    BAZE DE DATE Page 9

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

    CLIENT

    Daca avem doi clienti cu acelasi nume cum vom determina care estecel care a comandat o anumita carte ?

    Am vazut care sunt incovenientele crearii unui cod mixt cum a fostcreat cel initial. Am mai putea folosi pentru identificatori numele plusnumarul de telefon, dar n acest caz avem multe caractere si ramnproblemele legate de actualizari; de exemplu schimbarea numarului de

    telefon. Un astfel de atribut, simplu sau obtinut prin concatenare careidentifica unic o instanta a unei entitati se va numi cheie. Asa cum amrecomanda practica si autorii ca Harrington [2] vom crea chei printr-unnumar generat succesiv si unic n special pentru persoane, locuri, lucruri etc.Ramn situatii n care este nevoie de chei concatenate. Existenta unei cheicare sa identifice unic reprezentantii unei entitati este o regula esentiala deintegritate a datelor.

    ntr-un model relational (de care ne ocupam n mod special esteesential ca atributele sa aiba valori unice. Adica fiind data o instanta a uneientitati, un anumit atribut trebuie sa aiba o singura valoare. De exemplu un

    client poate avea un singur numar de telefon. Daca lasam mai multe locuri,marim inutil si neproportional baza de date deci n cazul acestei necesitatitrebuie creata o noua entitate numar de telefon cu mai multe instante.

    Odata stabilite entitatile si atributele ele trebuie sa ramna pe undocument; de fapt toata activitatea de proiectare trebuie documentata. Pelnga tabelele pe care le putem gasi n Iacob [3], avem nevoie de uninstrument grafic care sa permita o vedere sintetica asupra bazei de date.

    Chen n [1] a inventat diagrama E-R (entity-relationship adicaentitate-relatie). O prezentam aici sub o forma modificata :

    ..

    id client nume prenume oras str nr tel cod

    00001 Ancu Viorel Brasov Castanilor 43 162534 2200

    00010 Barna Dan Cluj Horia 241 458142 3210

    00011 Cucea Maria Bucuresti Lalelelor 12 1457256 1200

    00101 Nanu Vasile Tg.Mures Jiului 105 256412 3400

  • 7/30/2019 Curs Access Incepatori

    11/98

    BAZE DE DATE Page 10

    Entitatea se reprezinta sub forma unui dreptunghi n care sunt listateatributele si n care este pusa n evidenta cheia. Apoi vom vedea cum se

    reprezinta si relatiile ntre entitati.Iata cum arata, n prima instanta, entitatile reproiectate pentru societateaLectura inteligenta.

    Se observa imediat ca trebuie sa spunem ce valori pot lua atributele sict loc o sa ocupe aceste valori. Asta nseamna ca trebuie sa stabilimdomeniulatributelor. Practic se utilizeaza urmatoarele simboluri:

    CHARx simbolizeaza un text de x caractere, x 256INTx simbolizeaza un numar ntreg de x cifreDECIMALx.z

    simbolizeaza un numar de x cifre din care z

    NUMERICx.z sunt dupa virgula (punct) zecimalaDATE simbolizeaza data calendaristica (zz/ll/aa)TIME simbolizeaza timpDATETIME simbolizeaza o combinatie a precedentelorBOOLEAN simbolizeaza valoarea logica (adevarat sau fals)n baza de date se vor introduce si relatiile ntre entitati, care sunt de

    fapt realizate ntre instante.Vom enumera n continuare tipurile de relatii care se pot stabili ntre entitati:

    Client

    * nr clientnume

    prenumeorasstrada

    nrcod postaltelefon

    Comanda

    * nr comandanr clientdata

    Editura

    * nr edituranumeadresa:

    orasstrada

    numarcod postal

    telefonpers contact

    Autori

    * nr autornume

    prenume

    Carte

    * nr carteclasificaretitlueditiedata aparitie

    pret

    gen

  • 7/30/2019 Curs Access Incepatori

    12/98

    BAZE DE DATE Page 11

    Relatii 1 la 1.Este cazul relatiei din casatoria dintre doua posibile entitati barbati si

    femei (nu n tarile islamice).Relatii 1 la n.Sunt cele mai frecvente. Exemplu la o editura pot fi mai multe carti, dar oanumita carte provine de la o singura editura.Relatii n la m.ntre comenzi si carti. ntr-o comanda pot fi mai multe carti si aceeasi cartepoate sa apara n mai multe comenzi. Nu sunt usor de mnuit si sunttransformate n doua relatii de 1 la n introducnd o noua entitate. n cazulnostru noua entitate va fi detaliu comanda. Este obligatoriu ca n aceastaentitate sa avem cheile celor doua entitati ntre care exista relatia de n la m.

    Relatiile vor fi descrise n diagrame E-R cu linii ntre entitati care vorfi ntretaiate de simboluri ale tipurilor. Aceste simboluri sunt descrise maijos. | | pentru una si numai una (instanta). 0 | pentru zero sau una. > | pentru una sau mai multe. > 0 pentru zero, una sau mai multe.Exemplu : relatia ntre comenzi si carti

    0 |

    O comanda contine cel putin o carte, dar o carte poate sa nu fie comandatade nimeni, totusi este o relatie de tip n la m. Ea poate fi transformata prin

    introducerea entitatii detaliu comanda n:

    | | | 0 | |

    Deci diagrama finala ntr-o proiectare corecta ar fi:

    Comanda

    * nr comandanr clientdata

    Carte

    * nr carteclasificaretitlueditiedata aparitie

    pretgen

    Comanda

    * nr comandanr clientdata

    Carte

    * nr carteclasificaretitlueditiedata aparitie

    pretgen

    Detaliu comanda

    * nr comanda* nr carte

  • 7/30/2019 Curs Access Incepatori

    13/98

    BAZE DE DATE Page 12

    = =0 0

    | | | 0 | |

    =_Sa observam ca :

    - cheia n entitatea comanda este numarul de comandacare apare n mod natural pe acest document- cheia n entitatile de legatura detaliu comanda sicarte autor, introduse pentru a distruge relatiile n lam, este formata din concatenare celor doua chei aleentitatilor legate si nu creaza probleme de actualizare. _

    O baza de date relationala are la baza relatia, care

    poate fi considerata ca un tabel(reprezentarea unei entitati)cu linii (instante ale entitatilor), si coloane (atribute).Binenteles ca ntre tabele trebuie sa existe legaturi.Aceste legaturi sunt realizate prin disciplina:

    cheie primara - cheie straina .Cheie primara este cheia unei relatii, iar cheie strainaeste atributul (de obicei cu acelasi nume) de acelasi tipcu cheia primara si cu valori care se pun ncorespondenta cu cele ale cheii primare.

    Client

    * nr clientnume

    prenumeorasstradanrcod postaltelefon

    Comanda

    * nr comandanr clientdata

    Detaliu comanda

    * nr comanda* nr carte

    Carte

    * nr carteclasificaretitlueditiedata aparitie

    prete

    Carte autor

    * nr carte* nr autor

    Autori

    * nr autornume

    prenume

    Editura

    * nr edituranume

    adresa:orasstradanumarcod postal

    telefonpers contact

  • 7/30/2019 Curs Access Incepatori

    14/98

    BAZE DE DATE Page 13

    Pentru ca o baza de date relationala sa fie corecta, trebuie ca baza de date sandeplineasca anumite restrictii:

    - restrictia de unicitate a cheii- restrictia referentiala valorile cheii straine trebuie sa figureze printrevalorile cheii primare sau sa aiba valoarea NUL

    - restrictia entitatii valorile cheii primare sunt unice si nu pot fi NUL - restrictia de domeniu valorile atributelor pot fi NUL sau din domeniul

    de definitie

  • 7/30/2019 Curs Access Incepatori

    15/98

    BAZE DE DATE Page 14

    CAPITOLUL 3

    Primii pasi n baze de date relationale.

    O sa vedem aici cum putem crea o baza de date relationala folosindasistentul din ACCESS.

    O sa modificam structura acestei baze de date n asa fel nct sa obtinemproiectul fizic al diagramei E-R pentru Lectura inteligenta.

    O sa listam componente ale bazei de date selectate dupa criterii logice(filtrare).

    O sa salvam si o sa nchidem baza de date.Pentru a putea lansa SGBD-ul ACCESS trebuie sa aveti instalat pePC-ul vostru Microsoft Office Profesional. Dupa ce ati pornit calculatorulse va afisa urmatorul ecran:

    Apasnd pe butonul stng al mouse-ului pe , , se va obtine urmatoarea ferastra:

    ECRA

    N

    1

    ECRA

    N2

  • 7/30/2019 Curs Access Incepatori

    16/98

    BAZE DE DATE Page 15

    Nu o sa puteti sa deschideti de prima data o baza de date existentapentru ca nca nu ati creat una, fie ca faceti clic pe

    asistentul si apoi pe , fie apasati pe , n stnga sus si obtineti:

    Ecran 3

    De aici apasnd pe intram n meniul de creare a unei noibaze de date:

    Stilul este cel al fisierelor Microsoft si apasnd pe calareti

    sau o sa fiti n doua situatii distinct. Pentru momentignoram , meniu din care se creaza o baza de date goala BlankDatabase despre care vom vorbi n capitolul IV. Apasnd pe apare:

    ECRA

    N3

    ECRA

    N4

  • 7/30/2019 Curs Access Incepatori

    17/98

    BAZE DE DATE Page 16

    Cu butoanele mici din dreapta sus a subecranului puteti selecta moduride listare a unor tipuri de baze de date avnd n acelasi timp un preview almodului selectat. Ele sunt destul de simple dar, cum o sa vedeti mai departepot sa constituie baza unui proiect mai complicat.Dupa cum se vede exista o baza colectie de carti

    care are ceva comun cu primul nostru proiect. Selectam baza dorita (textul osa apara n video invers) si apasam pe dupa care o sa apara urmatorulecran:

    ECRA

    N5

    ECRA

    N

    6

  • 7/30/2019 Curs Access Incepatori

    18/98

    BAZE DE DATE Page 17

    Aici n casuta Save in putem derula o lista apasnd pe butonul cuea ne ofera posibilitatea alegerii unei zone (folder) de pe hard disk, unde

    dorim sa se creeze baza de date. Sa presupunem ca o sa o puneti n MyDocuments asa ca n ecranul de mai sus. n casuta File name din josulsubecranului apar denumirea si extensia sub care va fi memorata baza dedate aleasa. Extensia mdb este extensia obligatorie pe care sistemul o puneimplicit daca dumneavoastra uitati.

    Dupa ce au fost luate toate hotarrile legate de zona n care va ficreata si numele sub care va fi memorata baza de date se apasa pe butonul din partea dreapta sus a subecranului, ceea ce va da drumulprocesului de creare a bazei de date, de-a lungul acestui proces vi se va maicere de mai multe ori sa faceti cte o alegere.

    Ecranul urmator va fi:

    Aflam ca vom memora : Informatii despre carti Informatii despre autori Informatii despre clasificariApasnd pe butonul vom obtine urmatorul ecran:

    ECRA

    N7

    ECRA

    N8

  • 7/30/2019 Curs Access Incepatori

    19/98

    BAZE DE DATE Page 18

    Aici, n subecran, aveti pe stnga tabelele (corespunzatoare entitatilor) Informatii despre carti Informatii despre autori Informatii despre legatura dintre autor-carte Informatii despre clasificari Informatii despre subiecte

    Pe partea dreapta apar atributele pntru entitatea selectata (atributele scrisenclinat sunt atribute optionale). O sa vrem sa cream o baza de date cu datedeci vom face clic pe . O sa vedem cum pot fimodificate toate acestea, dar pentru moment sa mergem mai departe apasnd.

    Din acest ecran se aleg caracterele si fondul cu care doriti sa se facaafisarea rapoartelor. Urmatorul ecran, la care se ajunge apasnd pe ,ofera posibilitatea redenumirii bazei de date si includerii unor pozesemnificative n rapoarte.

    ECRA

    N9

    ECRA

    N110

  • 7/30/2019 Curs Access Incepatori

    20/98

    BAZE DE DATE Page 19

    Apasnd mereu pe ajungeti la capat, unde avem urmatorul ecran:

    n orice moment de pna acum va puteti razgndi si puteti sa refacetisetari (aranjari) anterioare navignd prin aceste ecrane napoi cu butonul si nainte cu butonul . De asemenea se poate anula toatamunca cu butonul sau se poate ncheia cu butonul .

    n stadiul n care am ajuns noi vom apasa pe si ACCESS vancepe munca pusa n evidenta prin ecrane de forma:

    Unde vedeti cum se creaza fiecare tabela. Gata! Baza de date, cu date de test,a fost creata si nu ne ramne dect sa o folosim. Utilizarea se face dinmeniul Main Switchboard si asa cum se vede n ecranul urmator putem saselectam unul din butoanele:

    ECRA

    N

    11

    ECRA

    N

    12

  • 7/30/2019 Curs Access Incepatori

    21/98

    BAZE DE DATE Page 20

    ECRA

    N

    q Intrare /vizualizare cartiq Intrare /vizualizare clasificareq Intrare /vizualizare alte informatiiq Previzualizare rapoarteq Iesire din aceasta baza de date

    menu din care putem alege ce sa facem cu baza de date. Cel din ecranul 13este meniul principal Main Switchboard si butoanele succesiv apasate ne ducn submeniuri ca n ecranele 14 si 17, fie ne dau posibilitatea sa facem

    operatii asupra bazei de date. Ce operatii se pot face? Listari (vizualizari) ale informatiilor. Modificari ale informatiilor care pot fi:

    Adaugari de instante unora din entitati Stergeri de instante Modificari ale valorilor unor atribute

    Rapoarte (liste destinate n principal imprimantei) al caror continut poatefi mai nti vizualizat pe ecran

    Un mod de lucru ar fi sa introducem mai nti autorii si domeniile apasnd nurmatorul ecran pe respectiv pe .

    14

    ECRA

    N

    13

  • 7/30/2019 Curs Access Incepatori

    22/98

    BAZE DE DATE Page 21

    ECRA

    N

    Se va obtine urmatorul ecran:

    Unde pot fi vizualizate domeniile (care pot fi si corectate) sau se potadauga unele noi. Ceea ce am obtinut se numeste un format si n ultima liniea subecranului avem informatii despre nregistrari (instante). Ni se spune casuntem pe prima nregistrare din 7 (of 7) si cu butoanele respective putemexecuta urmatoarele actiuni:

    trecere la urmatoarea nregistrare

    trecere la ultima nregistrare

    trecere la nregistrarea precedenta

    trecere la prima nregistrare

    adaugarea unei nregistrari noi

    Filtrarea nregistrarilor

    Poate ca nu toate nregistrarile sunt necesare pe ecran; de exempluvrem sa vedem numai cartile din domeniul fiction. n formatul Books(din meniul principal) vom selecta, cu mouse-ul, la Topic valoareafiction apoi cu butonul drept al mouse-ului facem clic si din meniulvertical care apare selectam Filter by selection. Vom observa imediat canumarul de nregistrari a scazut si se vor lista pe ecran numai cartile care audomeniul fiction. Putem realiza filtre mult mai complexe. Pentru aceasta,

    15

  • 7/30/2019 Curs Access Incepatori

    23/98

    BAZE DE DATE Page 22

    n acelasi formular, facem clic, dar nu pe cmpurile de date . Apoi apasndpe butonul drept obtinem un meniu vertical din care selectam Filter by

    form si facnd clic cu butonul stng al mouse-ului apare urmatorul ecran:

    Formularul s-a golit. Daca apasam n cmpul Topics apare o sageata pecare daca apasam se dechide o lista cu toate valorile, de aici putem selecta cumouse-ul valoarea fiction. Cu butoanele de sus

    putem sa anula filtrul, sa stergem ultima definitie facuta sau sa aplicamfiltrul. Din bara de jos putem sa combinam criteriile de filtrare.

    Rapoarte.Sa revenim n meniul principal (apasnd de cte ori este nevoie pe

    butonul din dreapta sus a subecranelor deschise.

    Apasnd pe vom obtine urmatorul ecran:

    ECRA

    N16

    Cancel X ?

    X

    17

    ECRA

    N

  • 7/30/2019 Curs Access Incepatori

    24/98

    BAZE DE DATE Page 23

    Apasnd pe primul buton vom obtine:

    Asa cum este, se vede ca nu ncape tot pe ecran. Din bara de sus putem sa : Reproiectam Tiparim Aaezam paginile cte una, doua, patru Marim sau sa micsoram imaginile (cea din ecranul 18 este 100%, cea

    care urmeaza este 75%)

    ECRA

    N

    18

    ECRA

    N

    19

  • 7/30/2019 Curs Access Incepatori

    25/98

    BAZE DE DATE Page 24

    20

    CAPITOLUL 4

    Crearea unei noi baze de date.

    O sa creem o noua baza de date vida. O sa creem si o sa modificam tabele (entitati). O sa creem atribute cu proprietati specifice. O sa creem chei. O sa crem relatii ntre tabele. O sa populam tabele. O sa salvam, protejam si nchide baze de date.

    Daca din bara de sus selectam si apoi ca necranul 3 vom obtine:

    Ecran 20

    Aici selectam Blank Database (baza de date vida) si apasam si vomobtine ecranul:

    ECRA

    N21

    ECRA

    N

  • 7/30/2019 Curs Access Incepatori

    26/98

    BAZE DE DATE Page 25

    Aici putem hotar (asa cum am vazut si n ecranul 6) unde vom avea baza dedate pe disc si cum se va numi ea. Noi vom crea baza pentru Lectura

    inteligenta dupa diagrama de la pagina 9 si o vom denumi n consecinta.Asta inseamna sa schimbam numele in File Name. Dupa ce apasam pe obtinem:

    Am putea sa alegem o proiectare asistata a tabelelor (va recomandam acestmod numai daca ramneti cu denumirile cmpurilor n engleza). Pentruaceasta selectati si apasati . Veti obtine:

    Din tabelele disponibile sub titlul Sample Tabels puteti selectacmpuri care apar sub titlu Sample Fields cte unul sau toate si sa le trecetipentru noul tabel cu butoanele aflate ntre tabelele Sample Fields si Fieldsin my new table care de altfel pot fi redenumite cu butonul

    ECRA

    N

    22

    ECRA

    N

    23

  • 7/30/2019 Curs Access Incepatori

    27/98

    BAZE DE DATE Page 26

    . Cu butoanele de jos ale subecranului putetinaviga ntre diversele faze de creare a tabelelor. Daca nu sunt toate

    cmpurile n Customers mai luam cmpuri din Employees cum vedem necranul 24.

    Apasnd pe ajungeti n ecranul 25 unde trebuie sa dati un numetabelei (aici client) si sa lasati sau nu sistemul sa dea o cheie acestei tabele.

    De aici apasnd pe ajungem la:

    ECR

    AN

    24

    ECRA

    N25

  • 7/30/2019 Curs Access Incepatori

    28/98

    BAZE DE DATE Page 27

    Putem acum sa modificam proiectul sau sa introducem date direct n tabelsau printr-un format creat automat de ACCESS. De asemenea putem revenicu , anula cu sau termina crearea tabelei cu .Acest lucru l vom face si noi acum si vom vedea ceea ce se ntmpla necranul urmator.

    Avem o tabela client , pe care o putem deschide cu ,reproiecta cu , sau putem trece la crearea unei noi tabele cu. Apasnd pe vom obtine:

    ECRA

    N

    26

    ECRA

    N27

  • 7/30/2019 Curs Access Incepatori

    29/98

    BAZE DE DATE Page 28

    Vedem aici cmpurile cu tipul corespunzator si n josul ecranuluiproprietatile fiecarui cmp selectat. n stnga cmpului Customer ID sevede simbolul care spune ca acest cmp este cheie.

    Revenim la ecranele 22 si 23 selectnd Orders din Sample Tabelsputem crea tabela Comanda si asistentul ACCESS va va spune ca aceastatabela este legata de Client,legatura facndu-se prin disciplina cheieprincipala (Customer ID din Client) cheie straina (Customer ID dinComanda).

    ECRA

    N

    28

    ECRA

    N

    29

  • 7/30/2019 Curs Access Incepatori

    30/98

    BAZE DE DATE Page 29

    Autorul prefera sa creeze tabele din ecranul 22 selectnd Designview din care se ajunge in ecrane ca ecranul 30 n care se descriu numele

    cmpurilor, tipul lor, si apoi proprietati cum se vede la nr : s-a selectatNumber si anume ntreg de tip byte ( ntreg ntre 0 si 127). n ecranul 31 seselecteaza apasnd pe cmp n coloana Data Type tipul Auto Numbercare nseamna un numar unic de ordine atribuit automat fiecarei nregistrarila creare si daca spunem ca este cheie ca n ecranul 32 atunci, n josulecranului, n rubrica Indexed apare Yes(No Duplicates).

    Noua tabela client:

    30

    ECRA

    N31

    ECRA

    N

  • 7/30/2019 Curs Access Incepatori

    31/98

    BAZE DE DATE Page 30

    Avem aici noua tabela Comanda, modul de selectare al tipului de data si

    proprietatile unui cmp declarat cheie.

    Cu butonul drept al mouse-ului n stnga numelui cmpului si aparemeniul din ecranul 32 din care, cu butonul drept, selectam cheia nregistrarii.

    Este momentul sa stim mai multe despre tipurile de date pe care leputem atasa cmpurilor din tabele. Am vazut n ecranul 31 o lista din careputem alege:- nseamna caractere alfanumerice, de fapt orice fel de caractere- tot un text, dar cu lungime variabila, folosit pentru comentarii,

    note, descrieri mai lungi etc.- numar care poate fi ntreg sau fractionar ca n tabelul urmator:

    ECRA

    N

    32

    Tip de Plaja valori Cifre zecimale Loc in memoriedata

    Byte 0 la 255 - 1 byte

    Integer -32678 la 32767 - 2 bytes

    Long integer -2147483648 la - 4 bytes2147483647

    single -3,4*1038 la 7 4 bytes3,4*1038

    double -1797*10308 la 15 8 bytes1797*10308

  • 7/30/2019 Curs Access Incepatori

    32/98

    BAZE DE DATE Page 31

    - Date calendaristice, timp care pot fi specificate ncontinuare la Field properties.

    - Moneda ca $, lei etc- valoare logica care poate fi Da sau Nu.- obiecte care pot fi poze, grafice, sunete , etc- legaturi cu site-uri internet.- un tip de date special care va da posibilitatea de a da

    unui cmp numai valori luate din alt cmp, alta tabela sau lista de valorifolosind pentru aceasta o casuta de listare sau combo cum se vede necran 42.Putem sa specificam proprietati ale cmpurilor n partea de jos aecranului unde:

    - defineste lungimea unui text n numar de caractere.- se aplica la aspectul datelor de tip numeric sau data si pot fi

    alese din lista care se deschide cu clic pe zona respectiva.- ataseaza un sablon la care trebuie sa se potriveasca datele

    de intrare. Puteti atasa o astfel de masca apelnd la wizard prin butonulmarcat cu .

    - ceea ce scrieti aici va apare ca nume al cmpului n toateeditarile lui: pe rapoarte, formulare, etc

    - este o valoare introdusa automat n cmp cnd estecreata o noua linie n tabel, pe care utilizatorul o poate schimba dacavrea.

    - se trece sau se construieste cu Wizard-ul o expresiecare selecteaza valorile corecte pentru acest cmp.

    - daca expresia anterioara nu este corecta se afiseazaacest text.

    - cu valori Yessau No dupa cum valoarea acestui cmp esteobligatorie sau nu.

    - se aplica la texte unde se poate pune spatiu n locde valoarea de NULL daca nu este nimic introdus.

    - prevede indexare dupa acest cmp cum se explica n ecranVedem n continuare (ecranele 33-37) cum sunt definite tabelele detaliucom,autor, editura, carteautor,carteeditura, urmarind diagrama E-R din capitolul Ipag 9.

  • 7/30/2019 Curs Access Incepatori

    33/98

    BAZE DE DATE Page 32

    EC

    RA

    N

    EC

    RA

    N

    35

    ECRA

    N

    33

    34

  • 7/30/2019 Curs Access Incepatori

    34/98

    BAZE DE DATE Page 33

    ECRA

    N

    37

    36

    ECR

    AN

  • 7/30/2019 Curs Access Incepatori

    35/98

  • 7/30/2019 Curs Access Incepatori

    36/98

    BAZE DE DATE Page 35

    entitatea dinspre n. Cnd lasam butonul apare un meniu din care facemlegatura:

    - una simpla-apasa .- una care forteaza integritatea referentialaRezultatul se vede n:

    Populare tabelelor unei baze de date.

    Puteti sa o faceti la crearea tabelei sau oricnd sunteti n dosar (ecran).Pentru aceasta trebuie sa selectati, de exemplu, tabela autor si sa odeschideti (apasnd pe ). Veti obtine ecranu 41 n care putetimodifica valori, sau introduce valori noi. Cnd introduceti nsa valori pentruinstantele entitatii carte este important ca la editura sa figureze editurile dineditura si nu altele. Aceeasi situatie pentru autor. Vom rezolva aceastasituatie crend un formular adecvat.

    ECRA

    N

    40

    ECRA

    N

    41

  • 7/30/2019 Curs Access Incepatori

    37/98

    BAZE DE DATE Page 36

    Popularea tabelelorIntroducerea datelor n tabele se face fie din dosar, cu si apoi

    introducere n tabel, fie printr-un formular despre care ati aflat n capitolul3si veti afla si mai multe n capitolul 6.

    Salvarea protectia si nchiderea bazei de date

    Tot ce construiti n ACCESS este dus automat pe disc; informatiile sepot pierde totusi daca nu s-a facut corect la nchidereacalculatorului. Se pune nsa problema sa pastram o copie a bazei de date fientr-un alt folder fie pe discheta. Pentru aceasta, din bara meniului principal,apasnd pe se obtine:

    Aici apasnd intrati n meniul din ecran43.

    ECRA

    N

    42

    ECRA

    N

    43

  • 7/30/2019 Curs Access Incepatori

    38/98

    BAZE DE DATE Page 37

    Apasnd pe intrati ntr-un ecran cunoscut (ecran 6) unde puteti alegesuportul copiei.

    Daca vreti ca numai anumite persoane sa poata avea acces lainformatiile din baza de date, puteti sa o protejati. Pentru aceasta , din barade sus a meniului, selectati apoi si ca n ecranul 44.

    Apoi n ecranul 45 se va stabili parola. Ca sa vedeti daca nu ati uitat-o o maiscrieti o data n zona Verify. Atentie sa nu uitati parola pentru ca nuveti mai avea acces la baza.

    ECRA

    N

    44

    ECRA

    N45

  • 7/30/2019 Curs Access Incepatori

    39/98

    BAZE DE DATE Page 38

    CAPITOLUL 5

    CERERI SI VEDERI ASUPRA BAZEI DE DATE

    Putem lista liniile unei tabele, asa cum am facut pna acum, dar avemurmatoarele inconveniente:- s-ar putea sa nu ne trebuiasca toate liniile ci numai unele care ndeplinesc

    anumite conditii am nvatat deja sa facem asta prin filtrare.- S-ar putea sa nu ne trebuiasca toate cmpurile- S-ar putea sa avem nevoie de informatii combinate din mai multe tabele

    (De exemplu cnd listam o carte sa stim si titlul editurii si numeleautorilor)

    Am putea sa cream tabele asa cum avem nevoie, dar am redescoperitoate neajunsurile puse n evidenta n capitolul 1.

    Exista solutie?Bine nteles! Solutia se numeste vedere (view) care nseamna o tabela

    fictiva cu care se pot face o serie de operatii fara ca ea sa ocupe un locefectiv n memoria externa.

    O vedere este rezultatul unei cereri (query)pe care o putem crea nlimbajul SQL, sau prin meniuri n QBE. Limbajul SQL depaseste nivelulpropus pentru cursul nostru, asa ca vom adopta a doua cale.

    Cererile care utilizeaza mai multe tabele fac apel la relatiile pe care le-am stabilit n capitolul 4 (ecranele 39 si 40) .n acest capitol o sa nvatam : sa cream o relatie pentru a defini o lista de alegeri (care este rezulatul

    unei cereri) sa cream o cerere simpla (dintr-o singura tabela) sa cream o cerere utiliznd mai multe tabele ntre care exista relatii sa modificam o cerere sa adaugam cmpuri calculate sa facem grupuriCrearea unei relatii pentru a defini o lista de alegeri.

    O sa observam nti ca legatura dintre tabelele carte si editura sepoate face direct pentru ca relatia este de 1 la n si nu de m la n; adica o cartepoate aparea la o singura editura. Pentru a corecta aceasta situatie vom stergetabela carteeditura selectnd tabela din dosarul bazei de date si apasndbutonul . Selectam tabela carte apasam si introducem

  • 7/30/2019 Curs Access Incepatori

    40/98

  • 7/30/2019 Curs Access Incepatori

    41/98

    BAZE DE DATE Page 40

    Aici vom preoiecta o cerere n felul urmator:- selectam tabela editura, apasam si tabela va aparea sus.- Iesim ca de obicei din subecran

    n acest ecran selectam cmpurile de care avem nevoie (adica nreditura sinumeed) Facnd dublu clic cu mouse-ul sau apasnd pe cmp sitranslatnd cu mouse-ul cmpul pna la locul lui fara a lasa butonul mouse-ului dect pe pozitia dorita. Vom mai selecta pe linia Sort n coloananumeed optiunea ascending pentru ca editurile sa apara n lista n ordinealfabetica.

    EC

    RA

    N

    ECRA

    N

    48

    49

  • 7/30/2019 Curs Access Incepatori

    42/98

    BAZE DE DATE Page 41

    ncheiem aceasta actiune de reproiectare a tabelei carte si revenim ladosarul bazei de date.

    n bara de sus din meniu apasam apoi si obtinem:

    Alegem aici si ca sa ncepem un proces degenerare a unui formular anticipnd putin continutul capitolului 6.

    Aici vom selecta modul de afisare pe coloane a formularului apasnd

    50

    ECRA

    N

    51

    ECRA

    N

  • 7/30/2019 Curs Access Incepatori

    43/98

    BAZE DE DATE Page 42

    Selectam fondul si apasam

    Apasnd , dupa ce dam numele, terminam crearea formularului.Din dosarul bazei de date selectam si deschidem formularulcarte1 pe care tocmai l-am creat.

    Se poate vedea aici cum functioneaza combo box-ul la actualizareaediturii care a scos o carte.

    ECRA

    N

    52

    ECRA

    N

    53

    52

  • 7/30/2019 Curs Access Incepatori

    44/98

    BAZE DE DATE Page 43

    CERERE SIMPLA dintr-o singura tabela.

    Daca vrem , de exemplu, sa vedem care sunt clientii din bv o sa

    cream o cerere n felul urmator:Din ecranul bazei de date se selecteaza dosatul Queries

    ECRA

    N

    EC

    RA

    N

    54

    55

  • 7/30/2019 Curs Access Incepatori

    45/98

    BAZE DE DATE Page 44

    Aici apasnd pe vom intra n ecranul:

    De aici puteti alege Design View sau Simple Query Wizard . Vommerge pe prima varianta.

    ECR

    AN

    ECR

    AN

    56

    57

  • 7/30/2019 Curs Access Incepatori

    46/98

    BAZE DE DATE Page 45

    Selectnd din subecran tabela client apasnd tabela estetrecuta n partea de sus apoi cu se ajunge la :

    De aici facnd dublu clic pe cmpurile respective sau apasnd pecmp si translatnd mouse-ul fara sa lasam butonul, se trec n cererecmpurile pe care vrem sa le contina tabela fictiva pe care o creem. Cndiesim apasnd butonul cu X.Apare meniul obisnuit n care suntem ntrebati daca salvam lucrul facut,apoi, apare posibilitatea de a da nume cererii:

    Apasnd vedem cum aceasta cerere a aparut n dosar.

    ECRA

    N

    ECRA

    N

    59

    58

  • 7/30/2019 Curs Access Incepatori

    47/98

    BAZE DE DATE Page 46

    Daca vrem sa vedem care este efectul cererii (cum arat aceastaDeschidem cererea (tabela fictiva) apasnd si obtinem:

    cereri,selectnd cererea pe care vrem sa o reproiectam clienti pe oras siapasnd se obtine:

    ECRA

    N

    60

    ECRA

    N

    ECRA

    N

    62

    61

  • 7/30/2019 Curs Access Incepatori

    48/98

    BAZE DE DATE Page 47

    Aici n rubrica Criteria a cmpului oras se va pune expresialogica: =bv. Procednd la fel ca prima data veti obtine tabela fictiva:

    CERERE COMPLEXA

    Daca vrem, de exemplu, sa avem pentru fiecare client ce carti a

    comandat ajungem, n modul aratat mai nainte n ecranul:

    CRAN

    N

    N

    50

    64

    63RAN

  • 7/30/2019 Curs Access Incepatori

    49/98

    BAZE DE DATE Page 48

    Observam ca pentru a ajunge de la client la carte trebuie sa adaugam sitabelele comanda si detaliu. Vedeti ca n partea de sus a ecranului apar

    tabelele cu legaturile lor. Daca nu sunt legate toate tabelele cererea nu vafi corecta!Vom selecta n modul cunoscut cmpurile nume, prenume, titlu

    si obtinem vederea:

    Sa ncercam acum un altfel de cerere. Vrem sa aflam valoarea cartilor

    comandate de fiecare client. Pentru aceasta selectam aceleasi tabele ca maisus, si cmpuri pe care facem totaluri deci nume, prenume sivaloare. Acest ultim cmp nu exista , dar se vede din ecranul urmator cumse scrie expresia lui.

    ATENTIE! Ar fi o greseala sa puneti cmpuri care se modifica ncadrul aceluiasi client(de exmplu titlu).

    C

    ECR

    AN

    ECRA

    N

    65

    66

  • 7/30/2019 Curs Access Incepatori

    50/98

    BAZE DE DATE Page 49

    n acest ecran , n partea de jos, apasnd cu butonul din stnga al mouse-ului,veti obtine un meniu din care selectnd prima linie apare o noua linie cu

    optiunea de grupare Group By pe care apasnd n coloana nrbucati * preto schimbati n sum.

    Am creat o noua cerere al carei rezultat este urmatoarea vedere careva avea ca rezultat :

    ECR

    AN

    ECRA

    N

    67

    68

  • 7/30/2019 Curs Access Incepatori

    51/98

    BAZE DE DATE Page 50

    CAPITOLUL 6

    Formulare

    La introducerea sau modificarea datelor am folosit un formularincomod, cu linii si coloane,greu de completat. Pe de alta parte, n capitolul3, ecranele 14 si 15, am vazut un mod mai prietenos de Intrare/Vizualizareautori. Asemenea operatii se fac comod pe formulare.

    Formularele sunt, n principal, de doua feluri:1. Formulare pentru preluarea de date care ofera posibilitatea de a

    actualiza simultan datele din mai multe tabele legate.2. Formulare pentru decizii care prezinta ntr-un mod placut si imediat

    informatii ca suport al unor decizii. n acest capitol o sa nvatam: Sa cream formulare simple Sa cream formulare imediate Sa modificam formulare Sa cream formulare cu subformulareCrearea unui formular simplu. Un formular poate fi creat pe baza uneitabele reale sau fictive (cerere). Sa selectam, pentru un exemplu simplu,tabela autor n dosarul bazei de date.

    ECRA

    N

    69

  • 7/30/2019 Curs Access Incepatori

    52/98

    BAZE DE DATE Page 51

    Sa selectam aici, cum am mai facut si n capitolul precedent, din, optiunea . Obtinem:

    De aici selectam si . Apoi apare:

    ECR

    AN

    70

    EC

    RA

    N

    71

  • 7/30/2019 Curs Access Incepatori

    53/98

    BAZE DE DATE Page 52

    Vedem aici imaginea unei nregistrari din tabela autor, n care sunt

    puse n evidenta cele trei componente; se poate observa ca la nrautor nuputem face modificari (restrictia de domeniu). Mai vedem n josulformularului, ca avem numarul de nregistrare si putem sa trecem lanregistrarea urmatoare sau precedenta, la ultima sau la prima nregistrare,sau putem sa cream o noua nregistrare.

    Acelasi formular, fara liniile de antet si picior de pagina, se poateobtine ca formular instantaneu astfel:

    Din dosarul bazei de date se selecteaza autor, apoi din bara de sus seapasa butonul si se obtine:

    Aici apasam si obtinem:

    ECRA

    N

    72

    ECRA

    N

    73

  • 7/30/2019 Curs Access Incepatori

    54/98

    BAZE DE DATE Page 53

    De aici putem sa facem modificari, ca si din orice alt formular. Atentietotusi la liniile lipsa!Daca nu ne place cum arata, putem modifica formularul.

    n stnga sus (sub ) apasam pe butonul de proiectare siobtinem:

    Puteti mari fereastra agatnd coltul din dreapta jos si deplasndu-l.Faceti un clic pe eticheta nume; obtineti:

    EC

    RA

    N

    74

    ECRA

    N

    75

  • 7/30/2019 Curs Access Incepatori

    55/98

    BAZE DE DATE Page 54

    Cu nca un clic pe aceeasi zona veti putea edita eticheta si vom schimba si

    prenumele ca sa arate asa:

    Acum o sa vrem sa deplasam prenumele autorului . Apasam n afarazonei ca sa validam modificarile si agatam zona prenume sa o deplasamunde dorim ca n ecranul urmator.

    ECRA

    N

    76

    ECRA

    N

    77

  • 7/30/2019 Curs Access Incepatori

    56/98

    BAZE DE DATE Page 55

    La iesire vom salva cu numele autor1 noul formular.Un mod asistat de creare al unui nou formular l-am vazut n capitolul5(ecran50).Se poate adauga antet si picior de pagina. Cursantul este rugat sa descoperesingur modalitatea.

    Subformulare.

    n cadrul unui formular putem crea un nou formular. De exmplu nformularul carte1 un subformular pentru introducerea autorului.

    ntr-un formular putem crea un subformular care, la rndul lui, maipoate avea un subformular.

    Atentie! Daca un formular este creat pe baza unei tabele fictive(cerere) care are date din mai mult de un tabel, atunci formularul nu poate fiactualizat.

    Cum sa vedem la o carte toti autorii?n formularul carte pe care l cream cum am aratat mai sus sa introducemun subformular care sa ne dea si autorii. Pentru aceasta sa cream mai ntiacest subformular dintr-o cerere:

    Din ecranul urmator selectati

    ECRA

    N78

  • 7/30/2019 Curs Access Incepatori

    57/98

    BAZE DE DATE Page 56

    Si ajungeti la:

    Selectam de aici si apare:

    Aici Add-adaugam carteautor si autor si din ele selectam, prin metodacunoscuta, cmpurile nrcarte, nume, prenume si obtinem:

    ECRA

    N

    79

    ECRA

    N80

  • 7/30/2019 Curs Access Incepatori

    58/98

    BAZE DE DATE Page 57

    Salvam cererea cu numele autor pe carte ca n :

    ECRA

    N

    81

    ECRA

    N

    82

  • 7/30/2019 Curs Access Incepatori

    59/98

    BAZE DE DATE Page 58

    Apoi reluam proiectarea formularului carte (n dosar, la formulare selectam

    carte si apasam ). Se obtine:

    Rearanjam ecranul ca sa facem loc subformularului si apasam n Tool Box

    butonul pentru subformular. Ducem apoi mouse-ul unde vrem sa fie coltuldin stnga sus al subformularului si apasam apoi fara sa lasam butonultrasam limitele suformularului. Cnd lasam butonul apare ecranul deproiectare al subformularului:

    ECRA

    N

    83

    84

    ECRA

    N

  • 7/30/2019 Curs Access Incepatori

    60/98

    BAZE DE DATE Page 59

    Selectam aici Table/Query si apasam . Se obtine:

    De aici selectam autor pe carte si apoi toate cmpurile. Ajungem la:

    Aici selectam next si obtinem:

    85

    ECRA

    N

    ECRA

    N86

  • 7/30/2019 Curs Access Incepatori

    61/98

    BAZE DE DATE Page 60

    Selectam si aici , n ecranul urmator aprobam numele

    subformularului apasnd .

    87

    ECRA

    N

    88

    ECR

    AN

  • 7/30/2019 Curs Access Incepatori

    62/98

    BAZE DE DATE Page 61

    Dupa se reia proiectarea si, dupa rearanjari, se obtine:

    Ca sa vedem cum arata acum formularul selectam din bara de sus , dinedit,

    Form View si obtinem:

    Putem sa vedem aici toate cartile si, pentru fiecare carte, autorii.

    89

    ECRA

    N

    90

    ECRA

    N

  • 7/30/2019 Curs Access Incepatori

    63/98

    BAZE DE DATE Page 62

    CAPITOLUL 7

    Rapoarte si etichete.

    Produsul principal al informatiilor din baza de date este un raport .Raportul este destinat tiparirii, adica editarii pe hrtie care se pastreaza operioada de timp ndelungata. Diferentele de suport (ecran sau hrtie)genereaza o serie ntreaga de alte diferente.Asemanarile si deosebirile ntre rapoarte si formulare.O sa ncepem prin a prezenta principalele deosebiri:1. Rapoartele sunt destinate tiparirii si nu sunt concepute pentru a fi afisate

    ntr-o fereastra. Daca vreti sa vedeti pe ecran imaginea unui raport se

    poate ntmpla sa nu ncapa pe ecran, si daca o micsorati s-ar putea sa nuo mai vedeti clar.

    2. Valorile din raport nu mai pot fi modificate (se poate spune ca sunt readonly).

    3. Rapoartele nu pot da o vedere tabelara; cu ele singurele prelucrari suntdesign, print preview si print.

    4. Se poate crea un raport neasociat unui tabel (real sau vedere) acesta fiindgazda unor subrapoarte fara legatura ntre ele.

    5. Prin dialogul Printer Setup se poate adapta dimensiunea raportului ladimensiunea hrtiei.6. n rapoartele multicoloana numarul, latimea si distanta dintre coloaneeste controlata de acelasi Printer Setup nu din faza de proiectare.n continuare dam asemanari ntre rapoarte si formulare.

    1. Functia lui Report Wizard este analoaga cu cea a lui Form Wizard siputeti crea trei tipuri de rapoarte: cu o singura coloana, de totalizaregrupare si etichete pentru corespondenta.

    2. Si n raport gasim , ca si n formular sectiunile de antet si de picior depagina, dar n raport au o utilizare mult mai frecventa.

    3. Sectiunile grupurilor din rapoate sunt echivalente cu sectiunea de detaliudin formular. Grupurile (mai sunt numite benzi) pot avea propriul lorantet, Group Headar, si propriul subsol, Group Footer, care suntfolosite pentru denumirea grupului, respectiv pentru totaluri pe grup.Posibilitati de grupare am vazut si la formulare.

    4. Si rapoartele pot avea subrapoarte.n acest capitol vom nvata:

    Sa cream un raport imediat Sa cream un raport cu ajutorul asistentului (Report Wizard) Sa facem grupari si sinteze

  • 7/30/2019 Curs Access Incepatori

    64/98

    BAZE DE DATE Page 63

    Sa tiparim etichete pentru corespondentaCrearea unui raport imediat.

    Pentru a crea un raport imediat selectati din dosarul tabele carte, apoi dinbutonul optiunea .

    Dupa ce ati apasat se obtine:

    ECRA

    N

    91

    ECRA

    N

    92

  • 7/30/2019 Curs Access Incepatori

    65/98

    BAZE DE DATE Page 64

    Dupa cum am mai spus nu se vede tot!Puteti parcurge nsa lista ncercati!

    Daca vreti sa creati singuri un raport procedati astfel:Selectati tabela carte din dosar si, tot din submeiul selectatioptiunea . Se obtine:

    Aici selectati Report Wizard si apoi . Va apare:

    ECRA

    N

    93

    ECRA

    N

    94

  • 7/30/2019 Curs Access Incepatori

    66/98

    BAZE DE DATE Page 65

    De aici selectam zonele pe care le vrem si dupa apare ecranulurmator din care alegem grupare dupa editura si, n cadrul editurii, dupa

    pret:

    Dupa va apare:

    ECRA

    N

    95

    ECRA

    N

    96

  • 7/30/2019 Curs Access Incepatori

    67/98

    BAZE DE DATE Page 66

    Aici vom opta sa sortam , n cadrul fiecarui grup, cartile dupa titlu.

    Dupa obtinem urmatorul ecran:

    Dupa un dialog n care acum va descurcati se obtine raportul:

    ECR

    AN

    97

    ECRA

    N

    98

  • 7/30/2019 Curs Access Incepatori

    68/98

    BAZE DE DATE Page 67

    Se poate observa si pe acest exemplu cum apar grupurile, dar cititorul esterugat sa-si creeze exemple mai semnificative.

    Vom continua cu un exemplu mai complex, de sinteza.Sa cream mai nti cererea comenzi. Selectam ca n ecranul de mai jos:

    n ecran sunt ascunse coloanele pret si cmpul calculat bucati * pret.n drumul de creare al raportului o sa punctam numai ecranele maiimportante:

    ECRA

    N

    99

    ECRA

    N

    100

  • 7/30/2019 Curs Access Incepatori

    69/98

    BAZE DE DATE Page 68

    Selectam tote cmpurile si dupa din ecranul urmator selectam

    grupare dupa nume si dupa nrcomanda.

    Apoi sortare dupa titlu:

    ECRA

    N

    101

    ECRA

    N

    102

  • 7/30/2019 Curs Access Incepatori

    70/98

    BAZE DE DATE Page 69

    Apasam aici si selectam pe coloana sum lina Expr1(care nseamna valoarea).

    Ceea ce obtineti initial arata cam asa:

    ECRA

    N

    103

    ECRA

    N

    104

  • 7/30/2019 Curs Access Incepatori

    71/98

    BAZE DE DATE Page 70

    ncercati sa-l transformati ca sa se vada asa cum doriti dupa instructiunile dela proiectarea formularelor.

    Crearea etichetelor. Daca vreti sa editati, prin calculator, etichete pentru lipit pe pachetele caretrebuiesc trimise la clienti puteti proceda astfel:Din dosarul bazei de date selectati tabela client.Selectati din meniul deschis pe sau pe siselectati din ecranul care apare:

    Optiunea . Dupa apare ecranul:

    ECRA

    N

    105

    ECRA

    N

    106

  • 7/30/2019 Curs Access Incepatori

    72/98

    BAZE DE DATE Page 71

    Alegeti dimensiunea pe care o doriti si apasati . Puteti sa facetiexperiente si sa reveniti daca nu ati nimerit dimensiunea de prima data.

    Din acest ecran puteti alege fontul (forma literei), dimensiunea literei, stilulsi culoarea , n cazul ca aveti o imprimanta color. Dupa apare:

    E

    CRA

    N

    107

    ECRA

    N

    108

  • 7/30/2019 Curs Access Incepatori

    73/98

    BAZE DE DATE Page 72

    Aici compuneti eticheta scriind unele bucati n clar si transportnd la loculpotrivit din cmpurile afisate n stnga subecranului. Dupa apare:

    Din acest ecran veti selecta cmpurile, n modul deja cunoscut, dupa care seva face sortarea etichetelor. Dupa apare:

    ECRA

    N

    109

    ECRA

    N

    110

  • 7/30/2019 Curs Access Incepatori

    74/98

    BAZE DE DATE Page 73

    De aici , dupa ce am fost de acord cu numele labels client, apasam si vom vedea cum arata etichetele .

    Bine nteles ca , daca nu va place cum arata, puteti sa personalizatietichetele apelnd la butonul din stnga sus pentru proiectare.

    ECRA

    N

    111

    ECRA

    N

    112

  • 7/30/2019 Curs Access Incepatori

    75/98

    BAZE DE DATE Page 74

    De exemplu modificnd ca mai sus obtinem etichetele:

    ECRA

    N

    113

  • 7/30/2019 Curs Access Incepatori

    76/98

    BAZE DE DATE Page 75

    CAPITOLUL 8

    PROIECTAREA BAZEI DE DATE RELATIONALE

    ENUNTUL PROBLEMEI:

    Se cere proiectarea unei baze de date pentru evidenta somerilor dincadrul Directiei de Munca si Protectie Sociala. Aceasta cerinta nglobeazaurmatoarele probleme:

    evidenta datelor personale ale somerilor ( nume, prenume,adresa, B.I., stare civila, etc.)

    evidenta unor date speciale ( studii, vechime n munca,etc.). Pentru ca exista mai multe categorii de someri, la fiecarecategorie se vor mai adauga alte date speciale.

    evidenta meseriilor pentru care are calificare fiecare somerevidenta suspendarilor dreptului la ajutor de somaj sau a

    incetarii dreptului la ajutor de somajevidenta datei de prezentarea la vizaevidenta cursurilor, care se fac n cadrul Directiei de

    Munca si Protectie Sociala si evidenta somerilor, care urmeaza

    aceste cursurievidenta ofertantilor de locuri de munca si a locurilor de

    munca disponibileevidenta clientilor, care sunt persoane care nu beneficiaza

    de ajutorul de somaj, dar care cauta un loc de munca si pot urmacursurile organizate de Direcsia de Munca si Protectie Sociala

    DEFINIREA MODELULUI INFORMATIONAL:

    Baza legala aproblemei este asigurata de Legea nr. 1/1991 privindprotectia sociala a somerilor si reintegrarea lor profesionala.

    Art.1 - Persoanele apte de munca, ce nu pot fi incadrate din lipsa delocuri disponibile corespunzatoare pregatirii lor, sunt considerate somerisibeneficiari, n conditiile prezentei legi, de ajutor de somaj si de alte formede protectie sociala, precum si de sprijin n vederea reintegrarii lorprofesionale prin calificare, recalificare si perfectionare.

  • 7/30/2019 Curs Access Incepatori

    77/98

    BAZE DE DATE Page 76

    Tipuri de someri si intocmirea dosarului:

    Somerii se mpart n mai multe categorii, n functie de provenienta lor.

    Art.2 - (1) Sunt ndreptatite sa primeasca ajutorul de somaj nconditiile prezentei legi:

    a) persoanele al caror contract de munca a fost desfacut din initiativaunitatii pentru motivele prevazute la art. 130 alin. (1) lit. a)-f) din Codulmuncii sau carora, dupa caz, le-a ncetat calitatea de membru n cooperatiamestesugareasca din motive neimputabile lor;

    b) persoanele al caror contract de munca a fost desfacut din initiativaunitatii, daca s-a stabilit prin dispozitia sau hotarrea organului competentnelegalitatea masurii luate de unitate ori lipsa vinovatiei persoanei n cauza,

    iar reintegrarea n munca nu mai este obiectiv posibila la unitatea n care afost ncadrata anterior sau la unitatea care a preluat patrimoniul acesteia;c) persoanele al caror contract de munca a fost desfacut din initiativa

    lor, pentru motive care, potrivit legii, la rencadrare nu ntrerup vechimea nmunca;

    d) persoanele care au fost ncadrate cu contract de munca pe duratadeterminata.

    (2) Persoane carora le-a ncetat contractul de munca sau calitatea demembru n cooperatia mestesugareasca, n cazurile prevazute la alineatulprecedent, lit.a) si d), beneficiaza de ajutorul de somaj daca au o vechime n

    munca de cel putin 6 luni n ultimele 12 luni premergatoare datei denregistrare a cererii pentru plata ajutorului de somaj.

    (3) Absolventii de nvatamnt care, n termen de un an de la absolvire,s-au angajat si nu au beneficiat integral de ajutorul de integrare profesionalavor primi ajutor de somaj indiferent de vechimea n munca.

    (4) Sunt asimilate somerilor si beneficiaza de plata ajutorului desomaj persoanele fizice autorizate sa presteze o activitate individuala simembrii asociatiilor familiare care si desfasoara activitatea n temeiulDecretului-lege nr. 54/1990, daca au contribuit la constituirea fonduluipentru plata ajutorului de somaj pe o perioada de 12 luni n ultimii 2 anianterioari nregistrarii cererii, n situatia n care si -au nchieiat activitatearenuntnd la autorizatia de functionare.

    Art.3 - (1) Sunt asimilati somerilor si beneficiaza de plata ajutoruluide integrare profesionala:

    a) absolventii institutiilor de nvatamnt n vrsta de minim 18 ani,care nu au surse de venit proprii la nivelul a cel putin jumatate din salariul debaza minim brut pe tara si care, ntr-o perioada de 60 de zile de la absolvire,nu au reusit sa se ncadreze n munca potrivit pregatirii profesionale;

  • 7/30/2019 Curs Access Incepatori

    78/98

    BAZE DE DATE Page 77

    b) absolventii institutiilor de nvatamnt n vrsta de cel putin 16 ani,n cazuri justificate de lipsa sustinatorilor legali sau de imposibilitatea

    dovedita a acestora de a presta obligatia legala de ntretinere datorataminorilor;c) tinerii care nainte de efectuarea stagiului militar nu au fost

    ncadrati cu contract de munca si care ntr-o perioada de 30 de zile de ladata lasarii lor la vatra nu s-au putut angaja.

    (2) absolventii scolilor speciale pentru handicapati, care nu au loc demunca, vor fi luati n evidenta imediat dupa absolvire si vor beneficia deplata ajutorului de integrare profesionala de la data nscrierii n acesteevidente.

    Conform celor de mai sus, vom mparti somerii n 4 categorii:1) - proveniti din munca2) - preuniversitari3) - proveniti din armata4) - depensionatiPentru ntocmirea dosarului de somer sunt necesare cteva

    documente, din care se vor retine unele informatii necesare evidentei. Uneledin documente difera de la o categorie de someri la alta si de aceea uneleinformatii se vor organiza separat n functie de categorie.

    Dosarul va contine:- cererea de nscriere la Directia de Munca si Protectie Sociala- buletinul de identitate- act de studii (diploma)- certificat de nastere- certificat de casatorie- adeverinta pentru terenuri agricole de la Primarie- adeverinta de la Administratia Financiara- certificat medical de sanatate- declaratie notariala ( categ. 2 )

    - copie dupa livret ( categ. 3 )- documente speciale ( categ. 4 )- carnet de munca ( categ. 1 )- adeverinta intreprindere ( categ. 1 )La ntocmirea dosarului fiecare somer primeste un numar matricol.

    numarul se va lua n ordine crescatoare si nu se va mai reveni la un numaranterior. Someri care nceteaza sa mai aiba dreptul la ajutorul de somaj,ajutorul de integrare profesionala sau alocatie de sprijin devin someri pasivisi nu si vor relua numarul matricol chiar daca revin ulterior.

  • 7/30/2019 Curs Access Incepatori

    79/98

    BAZE DE DATE Page 78

    n momentul luarii n evidenta la Directia de Munca si ProtectieSociala, somerii vor primi un carnet de evidenta, care va dovedi calitatea lor

    de someri si cu care se vor prezenta lunar pentru viza.Somerii din categoria a doua vor primi ajutor de integrareprofesionala, iar ceilalti ajutor de somaj. La terminarea perioadei ( dupa 270de zile ), n care somerii au dreptul la ajutor de somaj sau ajutor de integrareprofesionala, n cazul n care acestia nu si -au gasit un loc de munca si nu auvenituri din alta parte vor primi alocatie de sprijin pe o perioada de 18 luni.

    Tipul de somer si vechimea vor determina modul de calcul alajutorului de somaj sau al ajutorului de integrare profesionala.

    Meserie:

    Vor fi retinute meseriile pentru care somerii au calificare si vechimean fiecare meserie, pentru gasirea unui loc de muncaadecvat pregatiriiprofesionale a fiecarui somer. Vor fi comparate ofertele de locuri demuncacu cererile de locuri de muncasi somerii vor primi repartitie pentrulocurile de muncacorespunzatoare pregatirii lor.

    Suspendari si incetari:

    Art. 20 - (1) Plata ajutorului de somaj, ajutorului de integrareprofesionala sau a alocatiei de sprijin inceteaza n urmatoarele si tuatii:

    a) la indeplinirea termenelor prevazute la art. 10, respectiv art. 12 alin.(1);b) la incadrarea n muncaa titularului sau dupa 30 de zile de la

    obtinerea de catre acesta a autorizatiei de exercitare a unei activitati pe contpropriu;

    c) n cazul refuzului nejustificat de a se incadra ntr-o unitate cucontract de muncape durata nedeterminata sau determinata, ntr-un loc demunca corespunzator pregatirii si nivelului studiilor somerului, si tuatieipersonale si starii de sanatate a acestuia;

    d) la data refuzului nejustificat de a urma un curs sau o alta forma depregatire profesionala, organizata potrivit art. 10 si art. 13 alin. (2) si (3)sau, dupa caz, la data ntreruperii sau neabsolvirii cursurilor pe motiveimputabile beneficiarilor.

    (2) Plata ajutorului de somaj, ajutorului de integrare profesionala sau aalocatiei de sprijin se suspenda:

    a) n cazul nendeplinirii obligatiei prevazute la articolul 17;b) pe perioada ndeplinirii obligatiilor militare;c) pe perioada n care titularul si stabileste domiciliul n strainatate;

  • 7/30/2019 Curs Access Incepatori

    80/98

    BAZE DE DATE Page 79

    d) pe perioada n care titularul este arestat preventiv sau pentruexecutarea unei pedepse privative de libertate;

    e) pe perioada n care titularul este ncadat cu contract de munca pedurata determinata mai mica de sase luni.n cazul suspendarilor reluarea platii ajutorului de somaj se face n

    momentul n care somerul se prezinta din nou la Directia de Munca siProtectie Sociala.

    In cazul ncetarilor, somerii nu sunt stersi din baza de date ci doardeclarati pasivi. daca ei vor revenii dupa o perioada de timp trebuie sa sintocmeasca din nou dosarul si vor primii alt numar de identificare.

    Prezentarea la viza:

    Art. 17- (1) Beneficiarul ajutorului de somaj, al ajutorului deintegrare profesionala sau al alocatiei de sprijin este obligat ca, lunar, pebaza programarii efectuate sau ori de cte ori este solicitat, sa se prezinte laoficiul fortei de munca.

    Data n care se vor prezenta la viza va fi trecuta n carnetul deevidenta. n cazul neprezentarii se va suspenda dreptul la ajutorul de somaj,ajutor de integrare profesionala sau alocatie de sprijin.

    n momentul prezentarii se verifica daca oferta de locuri de munca dela data respectiva corespunde calificarii somerului si n caz afirmativ,

    somerul este trimis la biroul de medieri unde se vor verifica conditiile cerutede ofertant si somerul va primi repartitie pentru locul de muncacorespunzator pregatirii lui.

    Cursuri:

    Directia de Munca si Protectie Sociala organizeaza cursuri decalificare si recalificare profesionala, acordnd n acest fel sprijin somerilorpentru o reorientare profesionala.Somerii beneficiaza de cursuri gratuie. Laaceste cursuri pot participa si persoane care nu sunt someri, acestea fiindnregistrate ca clientii.

    Somerii trebuie sa absolve cursul, n caz contrar ei nu mai au dreptulla ajutor de somaj, ajutor de integrare profesionala sau alocatie de sprijin sitrebuie sa achite valoare cursului.

    Ofertantii de locuri de munca:

    Ofertantii de locuri de munca sunt unitatile, care ofera diferite locuride munca, oferta lor fiind valabila o anumita perioada de timp specificata. Se

  • 7/30/2019 Curs Access Incepatori

    81/98

    BAZE DE DATE Page 80

    vor nregistra informatiile despre unitate si ofertele pe care aceasta le aduce.O oferta are mai multe locuri de munca pentru care sunt specificate:

    - meseria- natura contractului- durata contractului- vrsta minima sau maxima- vechimea minima- numarul de schimburi- conditii munca( zgomot, toxine, solicitari fizice, lucru n subteran,

    etc. )- conditii ocupare ( oricine, barbati, femei, studenti, pensionari, scutit

    de impozit )

    Clientii:

    Clientii sunt persoanele care nu beneficiaza de ajutorul desomaj sau ajutorul de integrare profesionala, dar care sunt nregistrati dacadoresc sa si caute un loc de munca sau doresc sa urmeze un curs organizatde Directia de Munca si Protectie Sociala.

  • 7/30/2019 Curs Access Incepatori

    82/98

    BAZE DE DATE Page 81

    1. PROIECTAREA LOGICA A BAZEI DE DATE RELATIONALE

    Pas 1.1. CONSTRUIREA MODELULUI CONCEPTUALLOCAL AL DATELOR, DIN PUNCT DE VEDERE AL

    UTILIZATORULUIPas 1.1.1. Identificarea tipurilor de entitati

    Definitie: Tipurile de entitati reprezinta obiecte reale, din viata de zi cuzi, avnd proprietatile lor, sau obiecte conceptuale, abstracte. Un tip deentitate se identifica prin nume si lista de atribute.Definitie: Entitatea este un obiect sau un concept ce se poate identificaunic. Un tip de entitate contine mai multe entitati.

    Pentru sistemul nostru vom avea urmatoarele tipuri de entitati:

    SOMERI CURSURIPREUNIVERSITARI CLIENTIPROVENITI DIN ARMATA OFERTANTIPROVENITI DIN MUNCA OFERTADEPENSIONATI LOCURI DE MUNCAMESERIE REPARTITIESUSPENDARE CHITANTENCETARERELUAREVIZA

    Pas 1.1.2. Identificarea tipurilor de legaturi

    Definitie: Tip de relatie este o asociere intre tipuri de entitati.Definitie: Gradul relatiei este dat de numarul entitatilor participante nrelatie. Entitatile dintr-o relatie se numesc participanti, numarul lor dndgradul relatiei. Daca ntr-o relatie sunt doi participanti, atunci relatia senumeste binara.Definitie: Cardinalul este numarul relatiilor posibile pentru o entitate

    participanta. Avem trei posibilitati:- 1:1 - o entitate este legata de cel mult o entitate din partea

    cealalta a relatiei;- 1:M - o entitate participanta este legata n relatia respectiva de

    0,1 sau mai multe entitati. Relatia inversa este 1:1.- N:M - relatia directa este de 1:M, iar relatia inversa de 1:N.Pentru sistemul informatic studiat apare o problema care face ca

    baza de date sa nu mai fie relationala.Tipul de entitati Someri se afla nrelatie de tip 1:1 cu alte patru tipuri de entitati: Preuniversitari, Proveniti

    din munca, Proveniti din armata si Depensionati. Problema apare datoritafaptului ca tipul de entitati Someri nu se poate afla n relatie, la un

  • 7/30/2019 Curs Access Incepatori

    83/98

    BAZE DE DATE Page 82

    moment dat, dect cu unul din cele patru tipuri de entitati, acest lucrudepinznd de valoarea asociata atributului tip somer (atributul tipului deentitati Somer).

    Un mod de a elimina aceasta problema ar fi sa punem n tipul de

    entitati Someri atributele celor patru tipuri de entitati, dar acest lucru vansemna risipa de spatiu, pentru ca anumite cmpuri nu vor fi completate.Tipurile de relatii ntre tipurile de entitati sunt urmatoarele:

    TIP DEENTITATE

    TIP DERELATIE

    TIP DEENTITATE

    CARD.

    Someri sunt dupaprovenienta

    Preuniversitari 1:1

    sunt dupa

    provenienta

    Proveniti din munca 1:1

    sunt dupaprovenienta

    Proveniti din armata 1:1

    sunt dupaprovenienta

    Depensionati 1:1

    fac Cursuri N:Mau Meserie 1:M

    primesc decizie de Suspendare 1:Mprimesc decizie de Reluare 1:M

    primesc decizie de ncetare 1:1si pun Viza 1:Mprimesc Repartitie 1:M

    Clienti fac Cursuri N:Mau Meserie 1:M

    primesc Repartitie 1:Mprimesc Chitante 1:M

    Ofertanti aduc Oferta 1:MOferta contine Locuri de munca 1:M

    Repartitie pentru Locuri de munca 1:1

    Pas 1.1.3. Asocierea entitatilor si legaturilor cu atribute

    Definitie: Atributele sunt proprietati ale unui tip de entitate sau derelatie.Definitie: Atributul simplu este atributul care are doar o singuracomponenta si o existenta independenta.

    Definitie: Atributul compus este atributul care are mai multecomponente si o existenta independenta.

  • 7/30/2019 Curs Access Incepatori

    84/98

    BAZE DE DATE Page 83

    Nu avem atribute pentru legaturi.

    TIPURI DEENTITATI

    ATRIBUTE OBSERVATII

    SOMERI cod_somer un cod care identifica n mod unicpe fiecare somernume numele de familie

    prenume prenumeledata_nast data nasteriisex sexul someruluistare civila starea civila, care poate fi:

    casatorit(a), necasatorit(a),vaduv(a), divortat(a)

    cod_personal codul personal din buletinBI_serie seria buletinului de identitateBI_nr numarul buletinului de identitatelocalitate localitatea de domiciliustrada numele straziinr numarul strazii

    bl bloculsc scaraap apartamentul

    of_postal oficiul postaltelefon numarul de telefontip_somer tipul somerului: preuniversitar,

    provenit din munca, provenit dinarmata, depensionat

    studii studiile pe care le-a facut somerul:1-scoala generala incompleta, 2-scoala generala, 3- scoala

    profesionala, 4-liceu de specialitate,

    5-scoala postliceala, 6-scoala demaistri, 7-nvatamnt superior, 8-colegiu, 9-liceu teoretic, A-nvatamnt special, B-curs de(re)calificare, C-la locul de munca

    vechime_ani ani de vechime n muncavechime_luni lunile de vechime n munca(

  • 7/30/2019 Curs Access Incepatori

    85/98

    BAZE DE DATE Page 84

    PREUNIVERSITARI

    cod_somer

    data_absolvire data la care a absolvit ultima scoaladen_scoala numele ultimei scoli

    PROVENITI DINMUNCA cod_somer

    data_ncetare data la care a ncetat muncaden_unitate numele unitatii la care a lucratduarta_c durata contract: pe perioada

    determinata, pe perioadanedeterminata, nespecificata

    cauza_nc cauza ncetarii (articolul)ultims_1 Ultimul salariu

    ultims_2 penultimul salariuultims_3 salariul cu trei luni nainte de

    ncheierePROVENITI DINARMATA

    cod_somer

    data_vatra data lasarii la vatranr_libret Numarul libretului

    DEPENSIONATI cod_somerdata_depens data depensionarii

    MESERIE tip_s_c tipul: somer sau client (s sau c)cod_somercod_c codul care identifica n mod unic un

    clientden_meserie numele meserieic_o_r codul ocupatiilor din Romniavechime vechime n meserieforma_cal forma de calificare

    SUSPENDARE cod_somer

    nr_decizie numarul deciziei de suspendaredata_susp data suspendariimotiv_s motivul suspendarii (sunt cinci

    motive)NCETARE cod_somer

    nr_decizie Numarul deciziei de ncetaredata_incet data ncetariimotiv_i motivul ncetarii (sunt 4 motive)

    RELUARE cod_somer

    nr_decizie Numarul deciziei de reluare

  • 7/30/2019 Curs Access Incepatori

    86/98

    BAZE DE DATE Page 85

    data_reluare data reluariiVIZA cod_somer

    data_viza1 data la care somerul se va prezentapentru viza

    data_viza2 data pentru viza ulterioaraCURSURI c_o_r cod ocupatie din Romnia; vaidentifica n mod unic cursul

    tip_s_ccod_somercod_cdenumire numele cursuluidata_ncepere data nceperii cursuluidata_sfrsit data ncetarii cursului

    valoare Valoarea cursuluiCLIENTI cod_c codul care identifica n mod unic un

    clientnume

    prenumeadresa este un atribut compusstare_civilasex { m, f }data_nast data nasterii

    cod_pers cod personalBI_serie seria din buletinul de identitateBI_nr Numarul din buletinul de identitatestudii la fel ca la Someriloc_actual locul de munca actualmeserie meseria n locul de munca actualdat_prez data prezentarii

    OFERTANTI cod_o Codul care identifica n mod unicun ofertant

    den_unitate Denumirea unitatii ofertantecod_fiscal Codul fiscal al unitatiic_a_e_n Cod activitate economicaforma_pr Forma de proprietate: publica,

    privata, mixta, cooperatista,obsteasca

    adresa Adresa unitatiiOFERTA nr_oferta Numarul ofertei

    cod_o Codul ofertantului care face ofertadata_o Data la care se face oferta

  • 7/30/2019 Curs Access Incepatori

    87/98

    BAZE DE DATE Page 86

    dat_exp Data la care expira ofertacond_soc Conditii sociale asigurate: cazare

    familisti, cazare nefamilisti, cresa,gradinita, masa, transport

    LOCURI DEMUNCA cod_loc Numarul locului de munca oferit

    nr_oferta Numarul ofertei care contine loculde munca

    meseriec_o_r codul ocupatiei din Romnianat_contract natura contractului: pe perioada

    determinata, pe perioadanedeterminata, nespecificata

    durata_con Durata contractului (in ani)vrsta_m Vrsta minima sau maximavechime_m Vechimea minima cerutanr_schimb Numarul de schimburi: 1 schimb, 2

    schimburi, 3 schimburi, 12 cu 24,24 cu 48

    cond_ocupare Conditii de ocupare: oricine,barbati, femei, studenti, pensionari,scutit de impozit

    cond_munca conditii de munca: zgomot, toxine,solicitari fizice, solicitarineuropsihice, lucru n subteran,lucru la naltime, deplasari nlocalitate, deplasari n judet,deplasari n tara, lucru n echipa,lucru cu publicul

    nr_rep numarul repartitiei pentru loculrespectiv de munca; la nceput are

    valoare nulaREPARTITIE nr_rep Numarul repartitieitip_s_ccod_somercod_cdata_rep data repartitieicod_loc locul de munca pentru care se face

    repartitiaaccept_u Acceptul unitatii pentru somer

    accept_s Acceptul someruluimotiv Specifica daca refuzul este motivat

  • 7/30/2019 Curs Access Incepatori

    88/98

    BAZE DE DATE Page 87

    sau nudata_inc data ncadrarii n munca

    CHITANTA Cod_cNr_chitanta numarul chitantei

    data_chitanta data la care se da chitantavaloare valoarea specificata pe chitanta

    Pas 1.1.4 Determinarea domeniilor de valori ale atributelor

    La acest pas vom determina domeniile n care vor lua valoriatributele.Definitie: Domeniul atributului este un set de valori ce se pot da acelui

    atribut. Domeniul unui atribut nu se poate defini ntodeauna foarte exact.Definitie: Atribut cu o singura valoare este un atribut care poate lua osingura valoare pentru fiecare entitate.Definitie: Atribut cu mai multe valori este un un atribut care poate luamai multe valori pentru fiecare entitate.

    TIPURI DE

    ENTITATI

    ATRIBUTE DOMENII

    SOMERI cod_somer N5 + 4 zecimale (0801)nume C20

    prenume C30data_nast Dsex {M, F}stare civila N1 {1, 2, 3, 4}cod_personal N13BI_serie C2BI_nr N6localitate C30

    strada C30nr N4 (nr>0)bl C4sc C1ap N3 (ap>0)of_postal N3telefon N9tip_somer N1 {1, 2, 3, 4}studii C1 {1, 2, 3, 4, 5, 6, 7, 8, 9, A,

    B, C}vechime_ani N2 (0

  • 7/30/2019 Curs Access Incepatori

    89/98

    BAZE DE DATE Page 88

    vechime_luni N2 (0

  • 7/30/2019 Curs Access Incepatori

    90/98

    BAZE DE DATE Page 89

    VIZA cod_somer N5 + 4 zecimale (0801)data_viza1 Ddata_viza2 D

    CURSURI c_o_r N6

    tip_s_c C1 {s, c}cod_somer N5 + 4 zecimale (0801)denumire C30data_incepere Ddata_sfarsit Dvaloare N7

    CLIENTI cod_c N5 + 2 zecimale (11)nume C20

    prenume C30

    adresa C80stare_civila N1 {1, 2, 3, 4}sex C1{ M, F }data_nast Dcod_pers N13BI_serie C2BI_nr N6studii C1 {1, 2, 3, 4, 5, 6, 7, 8, 9, A,

    B, C}

    loc_actual C50meserie C20dat_prez D

    OFERTANTI cod_o C3den_unitate C30cod_fiscal N7c_a_e_n N4forma_pr N1 {1, 2, 3, 4, 5}adresa C80

    OFERTA nr_oferta N4cod_o C3data_o Ddat_exp Dcond_soc N1 {1, 2, 3, 4, 5, 6}

    LOCURI DEMUNCA

    cod_loc N2 (>0)

    nr_oferta N4meserie C15c_o_r N6

  • 7/30/2019 Curs Access Incepatori

    91/98

    BAZE DE DATE Page 90

    nat_contract N1 {1, 2, 3}durata_con N2 (>=0)vrsta_m N2 (>=18)vechime_m N2 (>=0)

    nr_schimb N1 {1, 2, 3, 4, 5}cond_ocupare N1 {1, 2, 3, 4, 5, 6}cond_munca N2 {1, ..., 11}nr_rep N5

    REPARTITIE nr_rep N5tip_s_c C1 {s, c}cod_somer N5 + 4 zecimale (0801)cod_c N5 + 2 zecimale (11)data_rep D

    cod_loc N2accept_u Laccept_s Lmotiv Ldata_inc D

    CHITANTA cod_c N5 + 2 zecimale (11)nr_chitanta N4data_chitanta Dvaloare N7

    Pas 1.1.5. Determinarea cheilor candidat si a cheilor primare

    Definitie: Cheia candidat este un atribut sau un set de atribute, careidentifica unic o entitate dintr-un tip de entitate.Definitie: Cheia primara este selectata dintre cheile candidat. O entitate

    poate sa aiba una sau mai multe chei candidat, dar din ele una singura estesi primara.

    SOMERI : - chei candidat: cod_somer- cheie primara: cod_somer

    - chei straine:PREUNIVERSITARI: - chei candidat: cod_somer

    - cheie primara: cod_somer- chei straine: cod_somer

    PROVENITI DIN MUNCA: - chei candidat: cod_somer- cheie primara: cod_somer- chei straine: cod_somer

    PROVENITI DIN ARMATA: - chei candidat: cod_somer

  • 7/30/2019 Curs Access Incepatori

    92/98

    BAZE DE DATE Page 91

    - cheie primara: cod_somer- chei straine: cod_somer

    DEPENSIONATI: - chei candidat: cod_somer- cheie primara: cod_somer

    - chei straine: cod_somerMESERIE: - chei candidat: (cod_somer, cod_c, den_meserie),(cod_somer, cod_c, c_o_r)

    - cheie primara: (cod_somer, cod_c, den_meserie)- chei straine: cod_somer, cod_c

    SUSPENDARE: - chei candidat: (cod_somer, nr_decizie)- cheie primara: (cod_somer, nr_decizie)- chei straine: cod_somer

    NCETARE: - chei candidat: (cod_somer, nr_decizie)- cheie primara: (cod_somer, nr_decizie)

    - chei straine: cod_somerRELUARE: - chei candidat: (cod_somer, nr_decizie)

    - cheie primara: (cod_somer, nr_decizie)- chei straine: cod_somer

    VIZA: - chei candidat: (cod_somer, data_viza1), (cod_somer, data_viza2)- cheie primara: (cod_somer, data_ viza1)- chei straine: cod_somer

    CURSURI: - chei candidat: (cod_somer, cod_c, c_o_r)- cheie primara: (cod_somer, cod_c, c_o_r)

    - chei straine: cod_somer, cod_cCLIENTI: - chei candidat: cod_c

    - cheie primara: cod_c- chei straine:

    OFERTANTI: - chei candidat: cod_o- cheie primara: cod_o- chei straine:

    OFERTA: - chei candidat: (nr_oferta, cod_o)- cheie primara: (nr_oferta, cod_o)

    - chei straine: cod_oLOCURI DE MUNCA: - chei candidat: (cod_loc, nr_oferta), (cod_loc,nr_oferta, c_o_r)

    - cheie primara: (cod_loc, nr_oferta)- chei straine: nr_oferta, nr_rep

    REPARTITIE: - chei candidat: (nr_rep, cod_somer, cod_c, cod_loc)- cheie primara: (nr_rep, cod_somer, cod_c, cod_loc)- chei straine: cod_somer, cod_c, cod_loc

    CHITANTA: - chei candidat: (cod_c, nr_chitanta)

    - cheie primara: (cod_c, nr_chitanta)- chei straine: cod_c

  • 7/30/2019 Curs Access Incepatori

    93/98

    BAZE DE DATE Page 92

    Pas 1.1.6 Specializarea / Generalizarea tipurilor de entitati

    Pentru modelul nostru nu este cazul.

    Pas 1.1.7 Trasarea diagramei E-R (Entity Relationship)Cursantul este rugat sa traseze singur diagrama E-R.Pas 1.1.8 Revizuirea modelului local conceptual cu utilizatorul

    Revizuirea modelului local conceptual cu utilizatorul s-a facut peparcurs.

    Pas 1.2 CONSTRUIREA si VALIDAREA MODELULUI

    LOCAL LOGIC DE DATE

    Pas 1.2.1 Transformarea modelului local conceptual n modellocal logic de date

    Transformarea modelului local conceptual n model local logic dedate presupune:

    - desfintarea relatiilor N:MAvem doua relatii de tip N:M pe care le vom desfiinta.

    n fac m

    n fac m

    Pentru a putea desfiinta aceste relatii vom introduce o nouaentitate: DATE CURS. Aceasta entitate va avea atributele: - c_o_r -codul ocupatiilor din Romnia

    - denumire - numele cursului- data_ncepere - data nceperii cursului- data_sfrsit - data la care se termina cursul- valoare - valoarea cursului

    Tipul de entitate CURSURI va avea urmatoarele atribute:- c_o_r- tip_s_c- cod_somer- cod_c

    SOMERI

    CLIENTI

    CURSURI

    CURSURI

  • 7/30/2019 Curs Access Incepatori

    94/98

    BAZE DE DATE Page 93

    Domeniile n care vor lua valori aceste atribute sunt cele specificateanterior.Cheile pentru tipurile de entitati vor fi:

    CURSURI: - chei candidat: (c_o_r, cod_somer, cod_c)

    - cheie primara: (c_o_r, cod_somer, cod_c)- chei straine: cod_somer, cod_cDATE CURS: - chei candidat: (c_o_r, data_inceper)

    - cheie primara: (c_o_r, data_incepere)- chei straine:

    Vom avea noi relatii:

    SOMERI 1 fac n CURSURI n fac 1 CLIENTIm

    sunt pentru

    1DATE CURS

    - desfiintarea relatiilor care contin mai multe entitati: nu avemastfel de relatii

    - desfiintarea relatiilor cu atribute: nu avem astfel de relatii- desfiintarea relatiilor recursive: nu avem astfel de relatii- reexaminarea relatiilor 1-1:

    Avem mai multe relatii 1-1 pe care nu le putem desfiinta:- Someri --> Preuniversitari- Someri --> Proveniti din munca- Someri --> Proveniti din armata- Someri --> Depensionati- Repartitie --> Locuri de munca

    Pas 1.2.2 Deducerea relatiilor din modelul local logic de date

    Deducerea relatiilor din modelul logic local presupuneidentificarea entitatilor tari, entitatilor slabe si a cheilor primare sistraine.

    Definitie: Se numeste entitate tare, entitatea a carei existenta nu depindede nici un alt tip de entitate.

  • 7/30/2019 Curs Access Incepatori

    95/98

    BAZE DE DATE Page 94

    Definitie: Se numeste entitate slaba, entitatea a carei existenta depindede un alt tip de entitate.

    Entitati tari: Someri, Clienti, Ofertanti, Date curs.

    Entitati slabe: Preuniversitari, Proveniti din munca, Proveniti din armata,Depensionati, Meserie, Suspendare, ncetare, Reluare, Viza, Cursuri,Oferta, Locuri de munca, Repartitie, Chitanta.

    Cheile primare si straine au fost specificate anterior.

    Pas 1.2.3 Validarea modelului cu ajutorul normalizarii

    Definitie: Normalizarea este o tehnica de generare a unor relatii cuproprietatile dorite, n scopul memorarii corecte a datelor uneiintreprinderi.

    Procesul de normalizare a fost introdus prima data de E. F. Codd(1972). Initial s-au propus trei forme normale, numerotate de la 1 la 3,mai trziu s-a inclus nca una: Boyce-Codd.Definitie: Dependenta functionala descrie relatia dintre atribute. Deexemplu daca atributul A este n relatie R cu atributul B, atunci B estedependent functional de atributul A ( notat: A B ), daca orice valoare alui A este asociata prin relatia R cu exact o valoare a atributului B.Definitie: Numim determinantul unei relatii functionale, atributul saumultimea atributelor din partea stnga a sagetii.Pentru modelul construit nu avem nici o dependenta functionala.

    Forma normala unu (FN1):

    Definitie: Forma Normala Unu (FN1) este o relatie n care la intersectiaoricarei linii cu oricare coloana gasim un cmp care contine exact ovaloare.

    Eliminam atributele compuse sau repetitive.

    Nu este cazul pentru ca avem deja o forma normala 1.

    Forma normala doi (FN2) :

    Definitie: Dependenta functionala totala: daca A si B sunt atributeleunei relatii, atunci B este total dependent functional de atributul A daca Beste dependent functional de A, dar nu este dependent functional de niciun subset al lui A.Definitie: O relatie este n Forma Normala Doi (FN2), daca este n FN1

    si fiecare atribut care nu apartine cheii primare, este total dependentfunctional de cheia primara.

  • 7/30/2019 Curs Access Incepatori

    96/98

    BAZE DE DATE Page 95

    Pentru cazul nostru relatiile sunt deja n FN2.

    Forma normala trei (FN3):

    Definitie: Dependenta tranzitiva: daca atributele A, B, C sunt n relatiileAB si BC, atunci spunem ca atributul C este dependent tranzitiv deatributul A, via B.Definitie: Forma Normala Trei (FN3): O relatie care este n FN2 si nuexista nici un atribut care sa nu apartina cheii principale si care sa fietranzitiv dependent de cheia principala.

    Relatiile sunt deja n FN3.

    Pas 1.2.4 Validarea modelului n legatura cu tranzactiile

    utilizatorului.

    Identificarea tranzactiilor:

    SOMERI: - nregistrarea somerilor; sunt patru categorii de someri:- PREUNIVERSITARI- PROVENITI DIN MUNCA- PROVENITI DIN ARMATA- DEPENSIONATI

    - modificarea starii activ ( se face odata cu completarea datelordin tabelele reluari, suspendari, ncetari )

    - modificare adresa- lista somerilor activi

    CLIENTI: - nregistrare clienti- modificare adresa- modificare stare ( la angajare sau la cererea clientului )- listare clienti activi

    MESERIE: - adaugare meserii

    - consultare meseriiSUSPENDARE: - introducere suspendari

    - listare suspendari pentru somerii activiNCETARI: - introducere ncetari

    - listarea somerilor care au primit decizie de ncetareVIZA: - introducere date ( n momentul prezentarii somerului pentru viza) - listare (n fiecare zi) a somerilor care trebuie sa se prezintela vizaDATE CURS: - introducere date despre curs

    - actualizare ( stergere date )- listare cursuri care se organizeaza ntr-o anumita perioada

  • 7/30/2019 Curs Access Incepatori

    97/98

    BAZE DE DATE Page 96

    OFERTANTI: - introducere date despre unitatile ofertante- actualizare- consultare date firma (adresa)

    OFERTA: - introducere oferta

    LOCURI DE MUNCA: - introducere locuri de munca( introducerea seface odata cu introducerea ofertei )- listare locuri de munca disponibile- consultare locuri de munca

    REPARTITIE: - introducere repartitii- listare repartitii

    CHITANTE:- introducere chitante

    Pas 1.2.5 Trasarea diagramei E-R ( Entity Relationship )

    Ce a devenit diagrama E-R aflati dupa ce faceti efortul de a oretrasa.

    Pas 1.2.6 Definirea restrictiilor de integritate

    Regulile de integritate sunt importante pentru a proteja baza de dateimpotriva posibilelor inconsistente.

    Vom considera cinci tipuri de reguli de integritate:

    1. necesitatea datelor2. reguli asupra domeniului atributelor3. integritatea entitatilor4. integritatea referintelor5. regulile beneficiarului

    1. Necesitatea datelor: exista atribute care nu pot contine valoareanula, ci trebuie sa aiba totdeauna o valoare.

    2. Reguli asupra domeniului atributelor: unele atribute au un

    domeniu de Definitie bine stabilit.3. Integritatea entitatilor: cheia primara a entitatilor nu poate lua

    valori nule.4. Integritatea referintelor: cheia straina din tipul de entitate fiu

    face legatura cu o entitate din tipul de entitate parinte. Deci, daca cheiastraina contine o valoare, ea trebuie sa se regaseasca si n tipul de entitateparinte.

    Pas 1.2.7 Verificarea modelului logic local cu ajutorul

    utilizatorului

  • 7/30/2019 Curs Access Incepatori

    98/98

    BAZE DE DATE Page 97

    Obiectivul este convingerea ca modelul creat reprezinta n totalitaterealitatea care trebuie modelata n baza de date. Verificarea s-a facut pe

    parcurs.

    Proiectarea fizicaSunteti narmati acum pentru a continua si finaliza singuri

    proiectul.