curs access incepatori
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.