laborator 1 access

21
Noiembrie 2009 - 1 - MICROSOFT ACCESS Lansarea aplicaţiei Access se poate realiza din meniul Start (spre exemplu Start/Programs/Microsoft Access) sau prin dublu clic asupra pictogramei Microsoft Access existentă pe Desktop. După lansare, Access se deschide cu o pagină goală aşa cum se observă în figura următoare. Acelaşi lucru se întâmplă şi dacă în timpul unei sesiuni de lucru Access se alege secvenţa Fişier/Nou..., respectiv se apasă butonul „ ” din bara de instrumente de lucru. Fereastra nouă Access prezintă în partea dreaptă lista celor mai recent modificate fişiere, dacă sunt, şi a şabloanelor predefinite, din care utilizatorul poate să aleagă în funcţie de destinaţia fişierului nou creat. Se vor găsi, sub General_Templates... (Şabloane_generale), variantele de fişiere tip care pot fi create: „bază de date necompletată. O bază de date reprezintă o colecţie de informaţii care se referă la un anumit subiect sau scop, de exemplu o listă de persoane însoţită de informaţii despre ele (vârsta, adresa, funcţia, respectiv informaţii dacă au parcurs anumite cursuri, rezultate la testări etc.). Este entitatea de bază de care se leagă toate celelalte aplicaţii Access (pagini de acces, proiecte). Cuprinde informaţii stocate în tabele corelate între ele prin chei, în care coloanele se numesc „câmpuri” iar liniile „înregistrări”. „acces la pagină de date necompletată. O pagină de acces la date este o pagină Web care are o conexiune la o bază de date. Cu ajutorul ei se pot vizualiza, edita, modifica şi manipula datele stocate într-o bază de date. „proiect (bază de date existentă)” şi „proiect (bază de date nouă)”. În Access, un proiect este un fişier de date care furnizează accesul eficient la o bază de date. Conţine formulare, rapoarte, numele şi amplasarea paginilor de acces la date, macrocomenzi şi module scrise în SQL (Standard Query Language) şi nu date sau definiţii de date (tabele, vizualizări, diagrame de baze de date, proceduri stocate sau funcţii definite de utilizator). „databases” (baze de date), cuprinde şabloane predefinite pentru cele mai utilizate tipuri de baze de date. Elementele unei baze de date Toate elementele din Access, cu excepţia datelor din înregistrări, sunt obiecte. Aşa cum am mai spus, o bază de date Access poate fi definită ca o colecţie de obiecte: tabele (tables), cereri de interogare (query), formulare (forms), rapoarte (reports), pagini Web (pages), comenzi macro (macros) şi module (modules). Tabelul (TABLE) este un obiect definit de utilizator în care sunt stocate datele primare (expresia modelului relaţional). Mai precis, un tabel este o colecţie de date "legate" între ele, care sunt stocate pe linii şi coloane. Coloanele reprezintă câmpurile (fields) care se descriu prin nume, tip şi atribute specifice acestora. Fiecare câmp trebuie să fie legat de destinaţia tabelului din care face parte. Fiecare linie a tabelului conţine o înregistrare (record) cu date corespunzătoare coloanelor şi reprezintă o entitate completă de date. De exemplu, atunci când se crează un tabel pentru stocarea datelor referitoare la clienţi, câmpurile care definesc un client pot fi: cod client, nume,

Upload: lebada-neagra

Post on 08-Nov-2015

267 views

Category:

Documents


1 download

DESCRIPTION

Access 1

TRANSCRIPT

  • Noiembrie 2009

    - 1 -

    MICROSOFT ACCESS

    Lansarea aplicaiei Access se poate realiza din meniul Start (spre exemplu Start/Programs/Microsoft Access) sau prin dublu clic asupra pictogramei Microsoft Access existent pe Desktop.

    Dup lansare, Access se deschide cu o pagin goal aa cum se observ n figura urmtoare. Acelai lucru se ntmpl i dac n timpul unei sesiuni de lucru Access se alege secvena Fiier/Nou..., respectiv se apas butonul din bara de instrumente de lucru. Fereastra nou Access prezint n partea dreapt lista celor mai recent modificate fiiere, dac sunt, i a abloanelor predefinite, din care utilizatorul poate s aleag n funcie de destinaia fiierului nou creat. Se vor gsi, sub General_Templates... (abloane_generale), variantele de fiiere tip care pot fi create:

    baz de date necompletat. O baz de date reprezint o colecie de informaii care se refer la un anumit subiect sau scop, de exemplu o list de persoane nsoit de informaii despre ele (vrsta, adresa, funcia, respectiv informaii dac au parcurs anumite cursuri, rezultate la testri etc.). Este entitatea de baz de care se leag toate celelalte aplicaii Access (pagini de acces, proiecte). Cuprinde informaii stocate n tabele corelate ntre ele prin chei, n care coloanele se numesc cmpuri iar liniile nregistrri.

    acces la pagin de date necompletat. O pagin de acces la date este o pagin Web care are o conexiune la o baz de date. Cu ajutorul ei se pot vizualiza, edita, modifica i manipula datele stocate ntr-o baz de date.

    proiect (baz de date existent) i proiect (baz de date nou). n Access, un proiect este un fiier de date care furnizeaz accesul eficient la o baz de date. Conine formulare, rapoarte, numele i amplasarea paginilor de acces la date, macrocomenzi i module scrise n SQL (Standard Query Language) i nu date sau definiii de date (tabele, vizualizri, diagrame de baze de date, proceduri stocate sau funcii definite de utilizator).

    databases (baze de date), cuprinde abloane predefinite pentru cele mai utilizate tipuri de baze de date.

    Elementele unei baze de date

    Toate elementele din Access, cu excepia datelor din nregistrri, sunt obiecte. Aa cum am mai spus, o baz de date Access poate fi definit ca o colecie de obiecte: tabele (tables), cereri de interogare (query), formulare (forms), rapoarte (reports), pagini Web (pages), comenzi macro (macros) i module (modules).

    Tabelul (TABLE) este un obiect definit de utilizator n care sunt stocate datele primare (expresia modelului relaional). Mai precis, un tabel este o colecie de date "legate" ntre ele, care sunt stocate pe linii i coloane. Coloanele reprezint cmpurile (fields) care se descriu prin nume, tip i atribute specifice acestora. Fiecare cmp trebuie s fie legat de destinaia tabelului din care face parte. Fiecare linie a tabelului conine o nregistrare (record) cu date corespunztoare coloanelor i reprezint o entitate complet de date. De exemplu, atunci cnd se creaz un tabel pentru stocarea datelor referitoare la clieni, cmpurile care definesc un client pot fi: cod client, nume,

  • Noiembrie 2009

    - 2 -

    prenume, adresa, cod potal, numr de telefon, data naterii etc. n acest caz, o nregistrare va consta din toate aceste informaii pentru o anumit persoan (client). Fiecare nregistrare primete un numr de identificare univoc, care se numete cheie primar. Cheia primar servete drept semn de identificare univoc pentru fiecare nregistrare, toate elementele unei nregistrri fiind neseparabile i legate prin acest semn.

    Important! Cheile primare sau principale (primary keys) reprezint o component esenial a oricrei baze de date relaionale. Pentru a se ncadra n modelul relaional, fiecare tabel al bazei de date trebuie s aib un identificator unic. Asigurarea unicitii se poate realiza prin desemnarea unei chei primare o coloan sau un set de coloane care identific n mod unic un rnd din tabel. O cheie primar poate fi format dintr-o singur coloan cheie simpl, sau poate fi format din mai multe coloane cheie compus (multipl).

    Proiectarea bazelor de date

    nainte de a trece efectiv la operaia de creare a unei baze de date are loc operaia de proiectare a acesteia ce presupune parcurgerea urmtoarele etape:

    - se stabilete necesitatea noii baze de date, deoarece o colecie de date care nu intereseaz pe nimeni nu se poate numii baz de date;

    - se decid tabelele ce vor intra n componena bazei de date; - se definete structura tabelelor, adic se precizeaz natura datelor ce vor fi

    reinute n baza de date (se specific cmpurile); - se decide asupra legturilor ce se vor stabili ntre tabele. O relaie creeaz o

    legtur ntre dou tabele prin includerea cheii primare a unui tabel ntr-un alt tabel; - se introduc date n baza, cu respectarea structurii definite anterior; - se creeaz formulare, interogri, rapoarte i pagini de acees la date. Aplicaia Access permite crearea structurii tabelelor n trei moduri: - utiliznd modul vizualizare proiect; - utiliznd Expertul (Database Wisard); - importnd datele sau copiind un tabel dintr-o alt baz de date.

    Etapele de realizare a unei baze de date Crearea unei baze de date se realizeaz n dou etape: se creeaz fiierul cu extensia .MDB (Management Data Base), n care urmeaz

    a se memora obiectele bazei de date; se creeaz obiectele bazei de date (tabelele constituie obiectele de baz ale

    unei baze de date relaionale; ele constituie sursa de date pentru celelalte tipuri de obiecte, cum ar fi spre exemplu, obiectele tip cerere i obiectele tip rapoarte).

    A. PROIECTAREA TABELELOR

    Pentru a crea un tabel, n fereastra de dialog a bazei de date selectm butonul Tabel i apoi executm clic pe butonul Nou pentru a deschide caseta de dialog Tabel Nou. Aceast caset de dialog afieaz modurile de a crea un tabel: - n modul de afiare Vizualizare foaie de date numele cmpurilor se introduc n partea superioar a tabelelor; - n modul de afiare Vizualizare proiect se specific numele fiecrui cmp si

  • Noiembrie 2009

    - 3 -

    proprietile acestuia; - instrumentul Expert Tabel conine liste de cmpuri pentru diferite tipuri de tabele; - n modul Import Tabel se poate importa un tabel creat ntr-o alt aplicaie; - n modul Legare Tabel se poate realiza o legtur cu un alt tabel dintr-o alta baz de date.

    Dup alegerea modului vizualizare proiect se va deschide caseta de dialog Tabel, care permite descrierea structurii tabelei. n fereastra proprietilor sunt prezente trei domenii importante: - numele cmpului coloanei (Field Name); - tipurile de date ale cmpurilor coloanei (Data Type); - o scurt descriere a datelor coninute n cmp (Description) - tab-ul General; - tab-ul Lista de opiuni.

    B. DENUMIREA CMPULUI n zona Nume cmp se va completa numele cmpului; n cazul n care se va folosi

    o prescurtare, atunci n zona de proprieti, la opiunea Legenda se va scrie numele cmpului care va apare la introducerea datelor.

    Un nume de cmp poate s aib, n general o lungime de maxim 64 de caractere. n aceast coloan se pot aduga foarte repede cmpurile, se pot terge sau se poate schimba denumirea acestora. De exemplu, pentru a introduce un nou cmp se face clic pe ultimul rnd rmas liber si se introduce numele cmpului, iar dac este nevoie s se introduc un rnd nou ntre dou deja existente, trebuie marcat cmpul deasupra cruia trebuie introdus noul cmp, i se alege din meniul Insert opiunea Rows. Selectarea unui cmp se face executnd clic pe butonul gri din stnga acestuia.

    Pentru a fi ters un cmp existent n list, acesta este marcat i cu ajutorul tastei este ndeprtat din tabel. C. TIPUL DE DAT A CMPULUI

    n lista cu tipuri de date din cmpuri, cmpurile separate au atribuite anumite proprieti. Implicit este stabilit tipul Text, care permite n general introducerea oricrui fel de date. ntr-un cmp de Text pot fi introduse litere, numere i alte caractere. Prin executarea unui clic n orice cmp se deschide o list derulant n care se afl alte tipuri de date din care putem selecta pe cel dorit. n continuare se vor prezenta cele mai importante tipuri de date nsoite de o descriere a efectului lor asupra formatelor de intrare. Text - este cel mai frecvent utilizat tip de date, folosindu-se pentru

    Text sau combinaie de text si cifre i chiar numere care nu necesita nici un calcul, ca de exemplu numerele de telefon. Lungimea prestabilit de Access a acestui tip de cmp de date este de 50, dar se poate stabili o lungime maxim mai mic sau egal cu 256. n fiierul baz de date, indiferent de lungimea stabilit pentru cmpurile de tip Text, datele sunt stocate n nregistrri cu lungime variabil, ceea ce conduce la reducerea spaiului necesar reprezentrii cmpurilor respective.

    Memo - Text lung i combinaie de text i cifre, numrul maxim de caractere coninute de acest tip de date fiind de 65.535. Aceste tipuri de cmpuri sunt

  • Noiembrie 2009

    - 4 -

    utilizate n scopul unor comentarii descriptive. Aceste cmpuri sunt vizualizate n modul Vizualizare foaie de date. Un cmp Memo nu poate fi cheie i nu se poate indexa dup el.

    Numr - Date numerice care sunt utilizate n calcule matematice; n cadrul acestui tip de date sunt posibile mai multe subtipuri, cu dimensiuni de 1,2,4 sau 8 byte. Subtipul corespunztor se alege din lista derulant a proprietii Dimensiune cmp.

    Data/Ora - reprezint un tip de date utilizat pentru a stoca datele calendaristice

    i indicaii ale ceasului pentru anii 100 pn la 9999, avnd dimensiunea de 8 byte. Prin proprietatea Format se poate controla modul de afiare al acestui tip de date.

    : separator pentru timp mmmm este afiat numele complet al lunii

    / separator pentru data calendaristic

    y numrul zilei din an

    d ziua este afiat sub form de valori de la 1 la 31

    yy sunt afiate ultimele dou caractere din an de la 01 la 99

    dd ziua este afiat sub form de valori de la 01 la 31

    yyy anul este afiat complet de la 100 la 9999

  • Noiembrie 2009

    - 5 -

    ddd sunt afiate numai primele trei caractere din numele unei zile

    q data este afiat ca numrul trimestrului din an, de la 1 la 4

    dddd este afiat numele complet al unei zile

    h ora este afiat prin numere de la 0 la 23

    w ziua este afiat ca valoare din sptmn, de la 1 la 7

    hh ora este afiat prin numere de la 00 la 23

    ww este afiat numrul sptmnii n an, de la 1 la 53

    n minutele sunt afiate prin numere de la 0 la 59

    m este afiat numrul lunii din an, de la 1 la 12

    nn minutele sunt afiate prin numere de la 00 la 59

    mm este afiat numrul lunii din an de la 01 la 12

    s secundele sunt afiate prin numere de la 0 la 59

    mmm sunt afiate numai primele trei caractere din numele unei luni

    ss secundele sunt afiate prin numere de la 00 la 59

    AM/PM sau am/pm sau A/P sau a/p este afiat AM, am, A sau a pentru primele 12 ore ale zilei i PM, pm, P sau p pentru ultimele 12 ore din zi

    Tabel 2.4. Caractere care se pot utiliza ntr-un cmp de tip Date/Time Exemple: "Data: "dd/mm/yy" sptmna: "ww afieaz Data: 01/06/01 sptmna: 22 dddd/mmmm/yyyy afieaz vineri/iunie/2001 "ORA:"hh:nn:ssAM/PM afieaz ORA:12:00:00AM

    Moneda- Valori monetare i date numerice cu pn la 15 cifre i pn la patru zecimale, utilizat pentru a preveni erorile de rotunjire ce ar afecta operaiile contabile.

    AutoNumerotare(Autonumber) - valoarea acestui crnp este de tipul Integer.

    Access completeaz automat valoarea cmpului pentru fiecare nou nregistrare. Numrul maxim de nregistrri dintr-un tabel care pot folosi tipul de date AutoNumerotare este mai mare de 2 miliarde.

    Da/Nu- reprezint un cmp de tip boolean. Cu ajutorul proprietii Format se specific modul de afiare n acest tip de cmp (Da/Nu, Adevrat sau Fals, Activat/Dezactivat). Cmpurile logice nu pot fi cheie, dar pot fi indexate. Cmpurile au dimensiunea de 1 bit.

  • Noiembrie 2009

    - 6 -

    Obiect OLE (BL0B - Binary Large OBject) - Creeaz un cmp care include

    grafice de tip bitmap (prin puncte), vectoriale, fiiere cu semnale audio i alte tipuri de date ce pot fi create de o aplicaie OLE server. Un obiect OLE nu poate fi cmp cheie i nu poate fi inclus ntr-un Index. Subtipurile de date sunt precizate prin proprietatea Dimensiune cmp, aplicabil tipurilor de date Numr, Text i OLE Object.

    D. GENERAL

    Fiecare cmp are n zona de proprieti o lista general de proprieti:

  • Noiembrie 2009

    - 7 -

    Dimensiunea Cmpului - este zona unde se specific dimensiunea alocat pentru introducerea datelor. De exemplu pentru tipul de date Text dimensiunea implicit este de 50 de caractere dar poate fi mrit pn la 255.

    Tipul de dat numeric are urmtoarele opiuni: - Byte (octet) cu valori cuprinse ntre 0-255; - Integer cu valori cuprinse ntre -32768 i 32768; - Longinteger cu valori cuprinse ntre -2 mii. i +2 mii; - Single pentru valori fracionare cu o precizie de 6 zecimale; - Double pentru valori fracionare cu o precizie de 10 zecimale.

    FORMAT stabilete modul de afiare a datelor pe ecran pentru tipul numeric (Numr), data calendaristic (DATA/Ora) i dat logic (Da/Nu).De exemplu, dac setm n acest cmp 000, se pot introduce n el doar numere cu maximum 3 cifre.

    ZECIMALE (numrul de zecimale) stabilete numrul de zecimale care pot fi atribuite cmpului.

    MASC INTRARE (format de introducere) permite introducerea unui ablon de introducere a datelor.

    0 sunt permise toate cifrele de la 0 la

    9, fr semn; nu se permite coninut incomplet al cmpului, dac se utilizeaz acest simbol. Exemplu: o masc definit sub forma 000000, va afia la introducere i nu va permite dect introducerea a exact ase cifre.

    < caracterele introduse sunt convertite n minuscule

    9 sunt permise toate cifrele de la 0 la 9, fr semn, inclusiv spaiu; este permis coninutul incomplet;

    > caracterele introduse sunt convertite n majuscule

    # sunt permise cifrele de la 0 la 9, inclusiv spaiu, semn; este permis coninutul incomplet

    . , separatorul pentru zecimale, pentru mii

    L sunt permise literele de la A la Z; nu este permis coninutul incomplet al cmpului

    : ; / separatori pentru date calendaristice i pentru timp

    ? sunt permise literele de la A la Z i coninutul incomplet

    password afieaz caracterul asterisc (*) n momentul introducerii de date

    A sunt permise toate literele i cifrele; nu este permis coninutul incomplet al cmpului

    \ afieaz un caracter n ablon fr a determina memorarea acestuia n coninutul cmpului

    & orice caracter sau spaiu; nu este permis coninutul incomplet al cmpului

    C orice caracter sau spaiu i coninut incomplet al cmpului

  • Noiembrie 2009

    - 8 -

    LEGEND(eticheta) conine numele cmpurilor. VALOARE IMPLICIT determin ce valoare trebuie nregistrat ntr-un cmp dac

    nu este introdus nici o valoare. REGULA DE VALIDARE stabilete regula, condiia ce trebuie respectat nainte de

    salvarea valorii introduse n cmp. TEXT DE VALIDARE-mesajul de eroare care apare la introducerea unei valori

    nepermise de REGULA DE VALIDARE OBLIGATORIU stabilete dac completarea unui cmp este obligatorie sau nu. INDEXAT specific dac cmpul respectiv este folosit sau nu ca un cmp de index.

    Un index grbete interogarea cmpurilor indexate, ca i sortarea i operaiile de grupare. Selectarea opiunii DA (Fara dubluri) evit introducerea valorilor duble n cmp.

    E. ALEGEREA CHEII PRIMARE Cheia primar identific n mod univoc fiecare nregistrare dintr-un tabel i leag introducerea unei valori multiple intr- un cmp al cheii primare. Alegerea cheii primare se face din fereastra Table prin alegerea unui cmp (care urmeaz a fi cheia primar) si executarea unui clic pe simbolul cu acelai nume din bara de butoane sau prin intermediul opiunii Primary Key din meniul Edit. Ca rezultat va apare simbolul cheii n stnga

    denumirii cmpului. Executarea unui nou clic pe acelai simbol ndeprteaz cheia primar. PROBLEM: S se proiecteze o baza de date Studeni , cu urmtoarele tabelele:

    Grade: id_grade den_grad Studeni: id_stud nume prenume grad data_nasterii grupa specializarea adresa foto liceul_mil solda site

  • Noiembrie 2009

    - 9 -

    Se creaz baza de date Clieni astfel: 1. se pornete aplicaia Microsoft Access: Start->Programs->Microsoft Access; 2. se selecteaz opiunea Blank Access database din fereastra Microsoft Access; 3. din lista Save in se selecteaz directorul unde va fi salvat baza de date, iar n lista FileName se introduce numele Clienti dup care se activeaz butonul Create. Pentru a ilustra modul de creare a structurii unui tabel vom lua ca exemplu tabelul Infoclieni, din baza de date Clieni, care va conine informaii referitoare la clienii unei firme. Tabelul are urmtoarea structur: Cod_cl Autonumber Nume Text (30) Prenume Text(30) Adresa Text (120) Localitatea Text (30) Cod_jude Text(2) Cod_postal Text(10) Telefon Text(15) Data nasterii Dat calendaristic (Date/Time)

    Pentru a crea tabelul Infoclieni selectai opiunea Create table in Design view, sau selectai opiunea New din bara de meniu a aceleiai ferestre i apoi opiunea Design view. Pe ecran va aprea o fereastr n care vei introduce numele cmpurilor, tipul acestora i o scurt descriere dup cum urmeaz:

  • Noiembrie 2009

    - 10 -

    Se repet cei patru pai pentru fiecare cmp n parte. n seciunea Field Properties se pot introduce informaii legate de cmpuri, reguli de validare, valori implicite ale datelor ce vor fi introduse n tabel. Dup ce ai introdus toate categoriile trebuie s stabilii o cheie primar pentru tabelul creat. Cheia trebuie s identifice n mod unic fiecare nregistrare din tabel i s previn apariia duplicatelor, n cazul nostru cmpul care ndeplinete condiiile de cheie primar este cod_cl. Stabilirea cheii primare se poate face prin dou modaliti, dup cum urmeaz: 1. se selecteaz cmpul cod_cl; 2. se selecteaz butonul cheie primar din trusa de instrumente Database sau (folosind meniul sistem Access) se activeaz opiunea Primary Key din meniul Edit.

  • Noiembrie 2009

    - 11 -

    Se salveaz tabelul, selectnd opiunea Save din meniul File, iar n fereastra care apare se introduce denumirea tabelului InfoClienti. Pentru a aduga articolele se selecteaz Datasheet View din meniul View iar n fereastra care apare pe ecran se completeaz nregistrrile cu datele corespunztoare.

    APLICAII lucru independent a. S se creeze o baz de date avnd numele STUDENT i s se salveze n directorul personal. Baza de date va conine un tabel InfoStudent n care se vor stoca informaiile referitoare la studeni. Structura tabelului este urmtoarea: NRMAT numrul matricol de tip autonumber Nume numele studentului de tip text 20 caractere Prenume prenumele studentului tip text 20 caractere DN data naterii de tip dat calendaristic ADR adresa studentului de tip text 30 caractere SCT secia (se va introduce MO, AP, MEF ) - text - 3 caractere BRS bursier - da sau nu (Yes/No) Media media studentului de tip numeric-zecimal Cerinte: 1. S se creeze tabela InfoStudent cu cmpurile aferente. 2. S se stabileasc cheia primar pentru tabelul InfoStudent. 3. Cmpul de date Media s permit introducerea unor valori mai mici sau egale cu 10.00. De asemenea, n cazul n care se introduc valori mai mari de 10.00 s se afieze urmtorul mesaj de eroare: Introducei valori mai mici dect 10!. 4. Pentru cmpul de date SCT se va impune condiia ca secia sa fie numai MO, AP sau MEF.

  • Noiembrie 2009

    - 12 -

    5. S se introduc cte 6 nregistrri, 3 studeni de la MO i 3 studeni de la AP. 6. S se ordoneze baza de date cresctor dup cmpul Nume. 7. S se ordoneze baza de date descresctor dup cmpul Media. 8. S se introduc un nou student, Popescu Ion de la secia MO. 9. S se tearg studentul de pe poziia a treia. 10. Modificai structura bazei de date prin adugarea unui nou cmp Loc. text (20), localitatea de unde provine studentul, dup cmpul adresa ADR. 11. S se completeze cmpul introdus cu informaiile corespunztoare pentru fiecare student. b) S se creeze o baz de date avnd numele CADRE i s se salveze n directorul personal. Baza de date va conine un tabel InfoCadre n care se vor stoca informaiile referitoare la cadrele didactice. Structura tabelului este urmtoarea: COD - codul cadrului - de tip autonumber Nume - numele cadrului didactic - de tip text - 20 caractere Prenume - prenumele cadrului didactic - tip text - 20 caractere DN - data naterii - de tip dat calendaristic UNV - universitatea - text - 3 caractere FCT - facultatea la care pred - text - 15 caractere CTD - catedra - text - 15 caractere SPEC - specialitatea - text - 30 caractere CML - cumul de funcii de tip Yes/No NRO - numr de ore - numeric - intreg Se cere: 1. S se creeze tabelul InfoCadre cu cmpurile aferente. 2. S se stabileasc cheia primar a tabelului. 3. S nu se poat introduce n cmpul NRO valori mai mari de 50. 4. S se introduc 4 nregistrri (4 cadre didactice din catedre diferite). 5. S se sorteze tabela InfoCadre cresctor dup cmpul nume. 6. S se sorteze tabela InfoCadre descresctor dup cmpul NRO. 7. S se tearg cmpul DN i n locul lui s se introduc un nou cmp numit ADR (adresa) -text (30). c. S se salveze cele dou tabele InfoCadre i InfoStudent cu alt nume. Noile nume vor fi Cadr respectiv Stud. d. S se tearg tabelele InfoCadre i InfoStudent.

  • Noiembrie 2009

    - 13 -

    TIPURI DE RELAII N ACCESS 1. Relaia One to One (unu la unu) - fiecrei nregistrri din tabelul printe i corespunde exact o singur nregistrare din tabelul copil. Acest tip de relaie se folosete foarte rar. 2. Relaia One to Many (unu la mai muli) - fiecrei nregistrri din tabelul printe i corespunde mai mult de o nregistrare n tabelul copil. Sunt cele mai folosite. 3. Relaia Many to Many (mai muli la mai muli) fiecrei nregistrri din tabelul printe i corespunde mai mult de o nregistrare n tabelul copil iar fiecrei nregistrri din tabelul copil i poate corespunde mai mult de o nregistrare n tabelul printe. Tabelul printe este tabelul care conine cheia principal iar tabelele copil sunt tabelele corelate. Pentru a implementa relaiile dintre tabele se folosesc cheile externe. Relaiile de tip one-to-one i one-to-many se implementeaz introducnd n una din tabele o cheie extern (strin), care va face legtura cu cheia primar din tabela corespunztoare. O legtur de tip many-to-many se implemnteaz introducnd o tabel suplimentar care are o cheie primar compus, fiecare element al cheii primare fiind o cheie extern. Integritatea referenial: se refer la un set de reguli care protejeaz datele prin stabilirea de restricii pentru adugarea i tergerea de nregistrri din tabelele relaionate: 1. fiecare valoare a cheii externe trebuie s se gseasc printre mulimea valorilor cheii candidat corespondente, cu alte cuvinte nu putem adaug nregistrri n tabelul copil fr ca acestea s aib corespondent n tabelul printe (nu exist copii fr prini, adic nregistrri orfane!); 2. nu putem terge o nregistrare din tabelul printe dac exist nregistrri corespondente n tabelele copil. Alte reguli referitoare le cheia extern: 1. o cheie extern este simpl dac i numai dac cheia candidat corespondent este simpl, i este compus dac i numai dac cheia candidat corespondent este compus; 2. fiecare cmp component al unei chei externe trebuie s aib acelai tip de date i dimensiune cu al cmpului corespondent din cheia candidat; 3. o valoare a unei chei externe reprezint o referin ctre o nregistrare care conine aceeai valoare pentru cheia candidat corespondent. Crearea relaiilor ntre tabele (Relationships) Pentru a realiza relaii ntre tabelele Access se alege opiunea Relationships din meniul Tools.

  • Noiembrie 2009

    - 14 -

    Pe ecran va aprea urmtoarea fereastr:

    Se selecteaz fiecare tabel pe care dorii s-l includei n relaie i se activeaz butonul Add , apoi se nchide fereastra Show Table.

    O relaie ntre dou tabele se realizeaz prin operaia drag and drop de la cheia primar a tabelului principal la cheia extern a tabeluluii secundar. n fereastra Edit Relationships se selecteaz opiunea Enforce Referential Integrity pentru a se asigura integritatea referenial.

  • Noiembrie 2009

    - 15 -

    - Dac selectai opiunea Cascade Update Related Fields atunci cnd vei actualiza cheia primar din tabelul 1 (tabelul printe), Access va actualiza automat toate cheile externe corespondente din tabelul n (tabelul copil). Dac dezactivai aceast opiune, Access nu v permite s schimbai valoarea cmpului cheie principal din tabelul 1 atta timp ct exist nregistrri corespondente n tabelul n. - Opiunea Cascade Delete Related Fields este similar opiunii Cascade Update Related Fields numai c afecteaz modul n care se face tergerea nregistrrilor. Cnd aceast opiune este selectat, Access va terge toate nregistrrile corelate din tabelul/tabelele copil atunci cnd tergei nregistrarea cu cheia primar corespunztoare din tabelul printe. Dac nu este selectat, Access nu va permite tergerea nregistrrii ce conine cheia primar din tabelul printe atta timp ct exist nregistrri corespondente n tabelul/tabelele copil. n cazul n care relaia a fost definit n mod corect n fereastra Relationships va aprea o linie care leag cele dou tabele dup cum se poate vedea n figura de mai jos.

  • Noiembrie 2009

    - 16 -

    Relaia poate fi modificat ulterior prin dublu-click asupra legturii dintre cele dou tabele. De asemenea se poate terge o relaie ntre tabele: se selecteaz linia de asociere i se apas tasta DEL. Pentru tergere se poate folosi i opiunea Delete din meniul contextual (clic dreapta pe linia de asociere). Observaie: Editarea ulterioar mai poate fi fcut i alegnd opiunea Edit Relationship din meniul contextual. Dac executai clic pe butonul Join Type pe ecran va aprea urmtoarea caset de dialog:

    Aceast caset de dialog v permite s definii tipul de asociere produs de relaie. Asocierea (Join) determin modul n care corelaia dintre dou tabele afecteaz rezultatul unei interogri legate. Exist dou tipuri de asocieri: - Asociere intern (INNER JOIN): este tipul prestabilit de asociere i selecteaz doar acele nregistrri din cele dou tabele care au valori corespondente n cmpurile de corelare. - Asociere extern (OUTER JOIN) care poate fi de dou tipuri: asociere extern la stnga (LEFT OUTER JOIN) i asociere extern la dreapta (RIGHT OUTER JOIN).

  • Noiembrie 2009

    - 17 -

    Asocierea extern la stnga include toate nregistrrile din tabelul 1 i doar nregistrrile corespondente din tabelul n. Invers, asocierea extern la dreapta include toate nregistrrile din tabelul n i doar nregistrrile corespondente din tabelul 1. Relaiile dintre tabele pot fi tiprite selectnd opiunea Print Relationships din meniul File. V. APLICAII 1. S se creeze un nou tabel cu numele Pli n baza de date CLIENTI. Tabelul va avea urmtoarea structur: id_plata - Autonumber (cheie primar) Data_platii - Data calendaristic Suma_platit - Currency Data_scadenta - Data calendaristic Cod_cl cheie extern (cheia primar din Infoclienti) Se cere: a) S se creeze o relaie de tip 1:n ntre tabelul Infoclieni i tabelul Pli. S se foreze integritatea referenial. b) S se introduc 8 articole n tabelul Pli Se va descrie n continuare modalitatea de creare a cheii externe cod_cl din tabelul Plati i apoi stabilirea relaiei one to many:

    - se definesc cmpurile descrise mai sus pentru crearea structurii tabelului Plati, iar atunci cnd se adaug cmpul cod_cl, alegerea tipului cmpului va consta n urmtorii pai:

  • Noiembrie 2009

    - 18 -

    1. se selecteaz din lista de la tip opiunea LookupWizard i se deschide o fereastra ca mai jos:

    2. n urma selectrii primei opiuni (implicit) se obine:

  • Noiembrie 2009

    - 19 -

    3. urmtorul pas (next) presupune:

    4. n urma parcurgerii tuturor pailor indicai de ctre Wizard se va obine fereastra structurii tabelului astfel:

  • Noiembrie 2009

    - 20 -

  • Noiembrie 2009

    - 21 -

    - n fereastra Relationships se va edita legtura one to many astfel:

    obinndu-se n final: