marți, 4 aprilie 2017

4.04.2017


 Unitatea de invatare: Sistemul de gestiune a bazelor de date relationale-Access
Suport de curs <<1 2 3 4 >>
Competente specifice:
Aplicarea operaţiilor elementare şi a conceptelor de bază ale aplicaţiei  Access
Operarea  cu baze de date
Baza de date. Creare
Tabele. Relatii
Proprietăţi câmp
Tipuri de date

ACTIVITATE DE PREDARE CUNOSTINTE
S1: Urmariti explicatiile si demostratia profesorului.
Descarcati suportul de curs 1.
Retineti si notati notiunile predate Tabele. Relatii

a. CONSTRANGERI
Constrangerile sunt niste conditii logice pe care le stabilim pe anumite coloane pentru INTEGRITATEA DATELOR (datele sa fie conforme cu realitatea sau cu regulile de afacere din companie). 
De exemplu pe o coloana numita SALARIU sa acceptam decat valori mai mari decat salariul minim pe economie. 
Constrangerile sunt niste reguli, niste conditii logice, pe care le putem impune coloanelor, in interiorul unor tabele.
De exemplu coloana Salariu nu are voie sa accepte valori mai mici decate salariul minim pe economie (Salariu > 1400). 

  1. Mergem in modul de vizualizare Design View. 
  2. Ne pozitionam pe coloana Salariu. Observati ca fiecare coloana are o serie de proprietati – in partea de jos a ecranului – Field Size, Format, etc.
  3. Daca vrem sa stabilim pentu coloana salariu o conditie logica, mergem in campul Validation Rule si facem click pe butonul din dreapta campului. 
  4. Se deschide o refeastra in care putem sa introducem conditia logica. In primul camp scriem: Salariul>=1400, si apasam OK. 
  5. In Validation Text vom introduce un mesaj text ce va aparea pe ecran in mod automat atunci cand conditia nu este indeplinita: Salariul trebuie sa fie mai mare decat 1400. 
b. CREAREA RELATIILOR
Fiecare tabel dintr-o baza de date trebuie sa stocheze valori bine definite din viata reala. Pentru entitati diferite din viata reala trebuie sa creem tabele diferite.
 De ex. : 
  • Tabela Angajati stocheaza decat informatii specifice angajatilor 
  • Tabela COPII_ANGAJATI stocheaza decat informatii specifice copiilor de angajati.
Totusi, pentru a se pastra legatura din viata reala dintre entitati (un angajat poate avea mai multi copii, etc), trebuie sa relationam tabelele dintr-o baza de date.
Intr-o baza de date putem avea mai multe tabele. Am convenit deja ca un tabel se refera practic la o singura entitate din viata reala. In cazul in care avem mai multe tabele, se impune ca aceste tabele sa fie relationate, asa cum entitatile din viata reala sunt relationate. 
Acest concept legat de relationare sta la baza teoriei relationale, care, daca vreti, este inima notiuni unei baze de date.
Deosebirea esentiala dintre o baza de date Access si un alt software (Excel, Word) este tocmai aceea ca obiectele, entitatile, tabelele din interiorul bazei de date sunt relationate. 
În cazul relaţiilor există două tipuri de tabele: 

  • tabelul principal (părinte) şi 
  • tabelul secundar (copil). 
relaţie este o asociere între două câmpuri a două tabele diferite. Într-o bază de date putem avea trei tipuri de relaţii:
relaţie unu la unu - când o înregistrare dintr-un tabel poate avea ca referinţă o înregistrare din tabelul secundar (şi viceversa). 
De exemplu avem un tabel cu elevi, unde putem avea informaţii despre adresa, nume, etc. şi un alt tabel unde vom stoca numărul total de ore de practică. Acest tip de relaţie nu este folosit prea des.


- relaţie unu la N - când o înregistrare dintr-un tabel primar poate avea mai mulţi corespondenţi în tabelul în tabelul secundar. 
De exemplu  un tabel cu judeţele, iar altul cu clienţi. Astfel, într-un judeţ pot fi mai mulţi clienţi, dar clienţii aparţin unui singur judeţ. Acest tip de relaţii sunt folosite mult mai des. Acest tip de relaţii sunt folosite mult mai des.
relaţie N la M - când unei înregistrări din tabelul primar îi corespund mai multe înregistrări din tabelul secundar, iar unei înregistrări din tabelul secundar îi corespund mai multe înregistrări în tabelul primar. Acest tip de relaţie este posibil doar atunci când apare un al treilea tabel, care face legătura între alte două tabele.









Sa presupunem ca mai avem o tabela unde tinem datele despre copiii angajatilor. Din ribbon-ul Create cream un nou tabel (Table).
Pentru a crea o relaţie nu avem decât să selectăm un câmp din tabelul principal şi să-l tragem deasupra câmpului de referinţă din tabelul secundar. De obicei câmpul referit este o cheie primară. 

Dacă avem mai multe câmpuri în tabelul principal, pe care vrem să la referim, selectăm primul câmp, iar cu ajutorul tastei CTRL avem posibilitatea selectării şi celorlalte câmpuri.
 
După ce selectăm câmpurile ce vor forma o legătură va apărea o nouă fereastră
 Edit relationships.

În partea de sus a acestei ferestre apar numele celor două tabele care intră legătură, iar mai jos
câmpurile din aceste tabele care formează această legătură. 
De reţinut faptul că aceste două câmpuri trebuie să aibă acelaşi tip de dată. 

În partea de jos la secţiunea Relationship type se observă şi tipul legăturii(în acest caz unu la unu). 
Dacă dorim căsuţele Cascade Update Related Fields şi Cascade Delete Related Records pot fi activate.
 
Pentru a termina dăm click pe butonul Create.
 
Legătura astfel creată va apărea în fereastra
 Relationships. 


c. INTEGRITATEA REFERENTIALA 
Integritatea referenţială este un sistem de reguli pe care bazele de date relaţionale folosesc pentru a asigura coerenţa datelor.
 
Putem activa aceste reguli printr-un click pe opţiunea Enforce Referential integrity din fereastra apărută în cazul creării legăturilor
 
Dacă aceste reguli sunt activate, Access nu ne va permite să introducem o înregistrare în tabelul secundar dacă valoarea din câmpul de referinţă nu există în câmpul referit din tabelul principal.
 

Integritatea referenţială are asociate două acţiuni:
 

Cascade update the related fields: selectarea acesteia determină ca la o modificare a valorii referite din tabelul de bază să se modifice toate înregistrările aferente din tabelul secundar; 

Cascade delete related records: selectarea acesteia determină ca la o ştergere a valorii referite din tabelul de bază să se şteargă toate înregistrările aferente din tabelul secundar.


ACTIVITATE DE FIXARE CUNOSTINTE
S2: Creati baza de date din suportul de curs. Populati tabelele cu inregistrari. Definiti, conform cerintelor, cheile primare si construiti relatiile intre tabelele bazei de date. Postati pe grupul clasei lucrarea pentru a fi notata.
  • tabela Clienti sa stocheze doar informatii despre clienti,
  • tabela Produse doar informatii despre produse, 
  • tabela Tranzactii doar informatii despre tranzactii,
STUDIU INDIVIDUAL: 
Parcurgeti softul educational, intocmiti fise
4. Unic Identificator
5. Definirea relaţiilor
6. Reprezentarea grafică a relaţiilor
7. Rezolvarea relaţiilor many-to-many
8. Evaluare
Nu uita!!!!!!!!!!!!!
Alegeti in ordine alfabetica aplicatia cu numarul de ordine din catalog si rezolvati-o pana la data de 
10 aprilie 2017 (Postare pe grupul clasei)

Prelungire data 10 mai 2017