Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Tabele Access

access



+ Font mai mare | - Font mai mic



Tabele Access

Crearea unui tabel



Dupa ce am deschis o baza de date, eveniment confirmat prin aparitia ferestrei cu cele 7 clase de obiecte, putem crea diferite obiecte in oricare din clasele nominalizate. Dar deoarece fiecare din clasele Queries, Forms, Reports, Pages, Macros si Modules se definesc in baza tabelelor, acestea (tabelele) trebuie create in primul rind. Cu alte cuvinte, daca o baza de date nu contine cel putin un tabel, crearea altor clase de obiecte devine lipsita de sens.

Pentru a crea un tabel nou, de exemplu, Comenzi, selectam clasa de obiecte Tables, apoi actionam butonul . Caseta de dialog New Table ne ofera 5 moduri de definire a structurii tabelului.

Fig. 2

Daca selectam optiunea Design View si actionam butonul OK, obtinem o fereastra in care definim campurile tabelului si caracteristicile lor.

Caracteristicile campurilor

Pentru fiecare camp al tabelului se specifica 3 caracteristici, si anume:

Field Name (denumirea campului, obligatoriu);

Data Type (tipul campului, obligatoriu);

Description (descrierea campului, optional).

Pentru comoditate, denumirile campurilor se introduc pe verticala, urmind ca in regimul de introducere a datelor Datasheet View denumirile campurilor sa-si ocupe pozitiile obisnuite (pe orizontala). Regimul Design View nu permite introducerea inregistrarilor in tabel, ci doar descrierea campurilor care alcatuiesc tabelul.

Denumirea campului poate contine diferite caractere, inclusiv spatii, cu exceptia unor semne speciale ( '.', '!' s.a.). In caz de necesitate, denumirea poate contine semnul ' ' (subliniere). Lungimea denumirii campului (impreuna cu spatiile) nu poate depasi 64 de caractere.

Exemple: autorul;Id_ tarii; locul de_ munca; LoculDeMunca; Locul de Munca.

Tipul campului poate fi unul din urmatoarele:

Text - pentru texte sau numere care nu vor fi folosite in calcule;

Memo - pentru texte lungi (biografia autorului, rezumatul cartii etc.).

Number - pentru numere care vor fi folosite in calcule;

Date/Time - pentru date calendaristice;

Currency - pentru valori banesti;

AutoNumber - pentru numere intregi care isi maresc in mod automat valorile (numarul de ordine, de exemplu);

Yes/No - pentru valori logice care pot lua numai doua valori: Yes (adevar), No (fals);

OLE Object - pentru imagini (fotografia autorului), sunete (imnul tarii);

Hyperlink - pentru adrese Hyperlink. Valorile acestui camp pot fi adrese Internet (de exemplu, www.google.com) sau locatii (calea spre un fisier sau dosar din calculator);

Lookup Wizard - reprezinta, de fapt, nu un tip de date, ci o proprietate a campului prin care valorile lui pot fi selectate din alt tabel. Acest mod de abordare simplifica procedura introducerii valorilor campului si, in plus reduce riscul comiterii unor erori.

Pentru a schimba tipul campului (implicit tipul este Text), trecem in coloana Data Type si din lista derulanta alegem tipul dorit. Apoi trecem (daca e cazul) in coloana Description, pentru a introduce note explicative, sau in randul urmator, pentru descrierea altui camp.

Stabilirea cheilor primare

Daca valorile unui cimp sunt unice (nu se repeta), putem semnala acest lucru, pentru a evita introducerea accidentala a doua valori identice. Aceasta procedura poarta denumirea de stabilire a cheii primare. Cheia primara poate fi stabilita si pe cateva campuri. Pentru a stabili cheia primara, selectam campul respectiv, apoi executam un clic pe butonul din bara cu instrumente. Ca rezultat, in partea din stanga a campului respectiv apare semnul cheii.

Dupa incheierea procedurii de descriere a campurilor si de stabilire a cheii primare, salvam tabelul (descrierea lui), selectind comanda Save din meniul File si indicind numele tabelului. Daca nu am stabilit o cheie primara (acest lucru nu este obligatoriu), sistemul ne va avertiza, sugerindu-ne stabilirea cheii pe un camp de tip AutoNumber. Pentru a confirma, actionam butonul Yes. In acest caz sistemul stabileste automat cheia primara pe un camp AutoNumber (daca el exista) sau creeaza suplimentar un asemenea camp (daca el nu exista), stabilind pe el cheia primara. Pentru a renunta la stabilirea cheii primare, actionam butonul No.

Proprietatile campurilor

In afara de tipul campului, putem stabili si unele proprietati ale sale, cum ar fi marimea (lungimea), numarul cifrelor zecimale, formatul datei calendaristice, etc. Fiecare tip de date are proprietati prestabilite, dar ele pot fi modificate, executind un clic pe campul respectiv si modificind valorile prestabilite care apar in partea de jos.

Campurile de tip Text pot avea lungimi cuprinse intre l si 255 de caractere. Implicit, marimea campului este de 50, dar ea poate fi modificata in limitele amintite, in functie de lungimea maxima preconizata a valorilor campului respectiv. La fel procedam si cu caracteristicile altor campuri.

Mentionam si cu aceasta ocazie, ca pentru campurile ce contin numai valori numerice (identificatori numerici), care nu vor fi folosite in calcule, vom prefera tipul Text in locul tipului Number. Acest mod de abordare va facilita ulterior cautarea informatiei in baza de date.

Campurile de tip Number au lungimi diferite in functie de optiunea specificata pentru proprietatea Field Size.

Optiunea implicita pentru campurile de tip Number este, de regula, Single, dar ea poate fi modificata, utilizind comanda Options din meniul Tools. Pentru campurile de tip Number poate fi stabilita si proprietatea Format, in care specificam modul de afisare a valorilor (numarul cifrelor zecimale etc.).

Campurile de tip Date/Time au lungimi variabile in functie de formatul datei/orei specificat pentru proprietatea Format a campului. De altfel, formatul de reprezentare a datelor calendaristice, la fel ca si delimitatorii dintre data, luna si an, pot sa difere. Reprezentarea datelor tine de modul in care a fost personalizat sistemul Windows. Pentru a schimba formatul de reprezentare a datelor calendaristice (dar si a orei, a numerelor si a valutei), este necesar de a efectua setarile respective, utilizind aplicatia Regional Options din meniul Control Panel al meniului de baza Start.

Observatie: Daca anul este indicat cu 2 cifre, Access il interpreteaza astfel: pentru valorile din intervalul 00-29 se subintelege anii 2000-2029; pentru valorile din intervalul 30-99 se subintelege anii 1930-1999.

Campurile de tip logic (Yes/No) ocupa in memoria calculatorului un octet si pot fi reprezentate in 4 moduri, in functie de optiunea specificata pentru proprietatea Format a acestui camp, si anume: Yes/No, True/False, On/Off, -1/0. In ultimul caz valoarea - l corespunde starii True (adevar), iar valoarea 0 - starii False (fals).

Specificarea valorilor prestabilite

Daca o buna parte din valorile unui camp se repeta frecvent, putem specifica o valoare prestabilita (implicita) a cimpului respectiv. Valoarea prestabilita se specifica pentru proprietatea Default Value a campului. In procesul introducerii datelor sistemul atribuie campului valoarea prestabilita in mod automat, utilizatorul urmand sa modifice doar valorile care difera de cea prestabilita.

Stabilirea unor conditii de validare

Pentru a diminua riscul introducerii unor valori gresite, putem stabili conditii (reguli) de validare pentru valorile campurilor respective. Regulile de validare se stabilesc pentru proprietatea Validation Rule a campului. Totodata, pentru proprietatea Validation Text se specifica mesajul care trebuie sa fie afisat in cazul nerespectarii regulii. La fel, data imprumutului / restituirii cartii nu poate depasi data curenta, astfel ca pentru campurile DataImpr si DataRestit putem stabili conditia <=Date() pentru proprietatea Validation Rule. Mesajul specificat pentru proprietatea Validation Text va fi si el adecvat. In fiecare din situatiile descrise vor fi afisate mesajele respective in cazul introducerii unor valori care nu corespund conditiilor de validare stabilite in procesul definirii campurilor.

Modificarea descrierii unui tabel

In cazul cand apare necesitatea modificarii descrierii initiale a unui tabel (adaugarea sau excluderea unuia sau mai multor campuri, schimbarea ordinii, modificarea unor caracteristici etc), deschidem tabelul respectiv in regimul Design View si efectuam modificarile necesare dupa cum urmeaza (in orice consecutivitate):

a)     Modificarea denumirii campului. Executam un clic pe denumirea campului si efectuam schimbarile necesare.

b)     Adaugarea unui camp. Marcam campul, inaintea caruia trebuie inserat noul cimp. Pentru aceasta executam un clic in partea stanga a randului respectiv, acesta schimbandu-si culoarea. Apoi executam comanda Insert Row din meniul Edit.

c)     Excluderea unui camp. Marcam campul ca in cazul precedent, apoi apasam tasta Delete. Confirmam actiunea prin OK.

d)     Schimbarea ordinii (deplasarea) campurilor. Marcam campul care urmeaza a fi deplasat, apoi, tinand apasat butonul stang al mouse-ului, deplasam campul dat peste campul, inaintea caruia dorim sa fie situat.

e)     Schimbarea caracteristicilor. Executam un clic pe randul in care este definit campul, apoi stabilim caracteristicile campului in modul descris in paragrafele precedente. In cazul in care in tabel au fost introduse date, modificarea caracteristicilor campurilor tabelului poate implica denaturarea informatiei. Astfel, daca micsoram lungimea unui camp de tip Text, este posibila trunchierea (din dreapta) a datelor. Modificarea tipului campului poate avea, de asemenea, consecinte nedorite. Din aceasta cauza ne vom stradui sa definitivam proprietatile campurilor inainte de a introduce valori in tabel.

f)      Adaugarea sau anularea unei chei primare. In caz de necesitate, putem adauga sau anula una sau mai multe chei primare. Pentru a schimba cheia primara de pe un camp pe altul, selectam campul nou, apoi actionam butonul din bara cu instrumente. Pentru a stabili cheia primara pe cateva campuri, le selectam, apoi actionam acelasi buton. Pentru a anula una sau mai multe chei primare, executam comanda Indexes din meniul View, apoi in caseta care se deschide selectam campurile respective si apasam tasta Delete. Dupa efectuarea modificarilor, salvam tabelul cu Save As sau Save din meniul File.

Introducerea datelor in tabel

Dupa ce am efectuat procedurile de descriere a tabelului , putem introduce date in campurile lui. Pentru a initia procesul de introducere a datelor , deschidem baza de date (daca nu este deschisa), apoi in fereastra Database selectam tabelul necesar si executam un clic pe Open. Ca rezultat, se afiseaza cimpurile tabelului respectiv (initial tabelul contine doar un rand liber).

Nu este absolut obligatoriu sa completam toate campurile; astfel daca anumite date nu sant deocamdata cunoscute, introducerea lor poate fi amanata. Exceptie fac campurile pentru care au fost stabilite chei primare. Aceste campuri nu pot avea valori nule, de aceea valorile lor trebuie introduse in mod obligatoriu. Ordinea introducerii datelor poate fi si ea oricare. Daca a fost stabilita o cheie primara, la o noua deschidere a tabelului inregistrarile vor fi afisate in ordinea crescatoare a valorilor campului respectiv. Datorita acestui fapt, orice inregistrare noua se adauga la sfarsitul tabelului, avand certitudinea ca ulterior ea va fi plasata in locul corespunzator. Dupa terminarea introducerii datelor inchidem tabelul, actionind butonul sau executind comanda Close din meniul File (modificarile efectuate se salveaza automat).

Redactarea datelor

Daca apare necesitatea modificarii (editarii) inregistrarilor unui tabel, deschidem tabelul in regimul Datasheet View, actionind butonul Open din fereastra Database (sau executind un dublu-clic pe numele tabelului). Ca rezultat, obtinem tabelul cu continutul precedent, continut pe care-1 putem modifica la dorinta. Modificarile pot fi cele mai diverse: inlocuirea datelor existente, completarea unor campuri, ale caror valori nu erau cunoscute anterior, adaugarea unor inregistrari noi, stergerea unor inregistrari, copierea unor valori etc. Majoritatea acestor modificari se efectueaza prin simpla deplasare in campul si randul necesar si prin inlocuirea continutului vechi prin altul nou. Mentionam, ca semnul indica randul curent, iar atunci cand initiem procedura se modificare a inregistrarii, acest semn este inlocuit cu ultimul fiind prezent pana la trecerea la o alta inregistrare.

In cele ce urmeaza vom descrie cateva proceduri de redactare a datelor.

a)     Adaugarea unor inregistrari noi Inregistrarile noi sunt plasate la sfarsitul tabelului .

b)     Excluderea unor inregistrari Pentru a sterge una sau mai multe inregistrari consecutive, marcam aceste inregistrari prin glisarea ('tragerea') mouse-ului pe verticala din stanga tabelului, apoi apasam tasta Delete sau alegem comanda Delete din meniul Edit. Ni se va cere confirmarea actiunii, la care vom raspunde prin OK sau vom renunta prin Cancel.

c)     Copierea unor blocuri de date Pentru a copia un bloc de date, marcam blocul, apoi actionam butonul Copy din bara cu instrumente. Ca rezultat, continutul blocului se copie in memoria Clipboard. Din acest moment, continutul memoriei Clipboard poate fi 'lipit' oriunde. In acest scop marcam locul inserarii (blocul-destinatie) si actionam butonul Paste din bara cu instrumente.

Observatie: Dimensiunile si caracteristicile blocului-destinatie trebuie sa corespunda intocmai dimensiunilor si caracteristicilor blocului-sursa.

Modificarile efectuate in orice inregistrare a tabelului se salveaza in mod automat de fiecare data cind trecem la o alta inregistrare, sau la inchiderea tabelului. Aceasta inseamna ca dupa terminarea lucrului cu un tabel nu este neaparat nevoie sa-1 salvam, - sistemul o va face singur. Utilizatorul trebuie doar sa aiba grija sa inchida tabelul in caz ca nu-1 va mai utiliza. Daca, insa, am efectuat modificari ce tin de aspectul tabelului (latimea coloanelor, ordinea lor etc.) si dorim ca aceste modificari sa fie prezente la o noua deschidere, inainte de a inchide tabelul, il salvam cu comanda Save din meniul File.

MS Access pastreaza informatia despre modificarile efectuate, ceea ce permite, in cazul cind am gresit, anularea modificarilor si revenirea la starea precedenta. Pentru a anula modificarile din campul curent, apasam tasta Esc, iar pentru a anula modificarile din inregistrarea curenta -apasam tasta Esc de doua ori. Pentru a anula modificarile din inregistrare dupa ce s-a trecut la o noua inregistrare, executam comanda Undo Saved Record din meniul Edit. Prin aceasta se revine la situatia anterioara actiunii gresite (nedorite).

Modificari ce nu afecteaza structura fundamentala

Pe langa modificarile care vizeaza structura unui tabel si continutul lui, sunt posibile si modificari care schimba doar modul de prezentare a tabelului, fara a afecta structura lui fundamentala. Aceste modificari tin de ordinea afisarii campurilor (coloanelor), latimea campurilor, inaltimea randurilor etc.

a) Schimbarea ordinii afisarii campurilor in unele cazuri, este necesar de a schimba ordinea afisarii campurilor, diferita de cea din descrierea fundamentala, stabilita in regimul Design View. Pentru a reamplasa un camp, il marcam, apoi, tinand apasat butonul sting al mouse-ului, il deplasam in pozitia dorita si eliberam butonul. Ca rezultat, campul deplasat inlocuieste campul peste care a fost suprapus, acesta din urma deplasindu-se la dreapta. In mod analog putem deplasa si alte campuri, astfel incat ordinea campurilor sa devina cea dorita. Dar oricare ar fi modificarile efectuate in regimul Datasheet View (Foaie de date), ele nu afecteaza ordinea si caracteristicile campurilor stabilite in regimul Design View (Proiectare).

b) Sortarea inregistrarilor Pentru a obtine o consecutivitate a inregistrarilor, diferita de cea existenta, putem efectua o sortare (in ordine crescatoare sau descrescatoare) dupa valorile unui camp al tabelului. Pentru aceasta plasam cursorul pe campul respectiv si actionam unul din butoanele sau . Daca la inchiderea tabelului aceasta modificare nu se salveaza, la o noua deschidere a tabelului inregistrarile se vor afisa in ordinea obisnuita. Modul de sortare descris aici nu prevede sortari complexe, acestea putand fi obtinute in baza interogarilor .

c) Modificarea latimii coloanei unui camp In cazul cind latimea unui camp nu corespunde lungimii datelor pe care le contine, putem schimba (mari, micsora) latimea lui. Pentru aceasta pozitionam indicatorul mouse-ului pe linia din partea dreapta a denumirii campului (forma indicatorului se schimba in sageata dubla orizontala), apasam butonul stang al mouse-ului si, deplasindu-1 la stinga-la dreapta, micsoram-marim latimea campului. Daca in pozitia in care indicatorul mouse-ului ia forma mentionata mai sus executam un dublu-clic, latimea campului devine egala cu lungimea celei mai mari inscrieri a acestui camp din partea vizibila a tabelului. Subliniem si cu aceasta ocazie ca aceste modificari nu schimba latimea initiala a campului, stabilita in procesul descrierii lui in regimul Design View.

d) Modificarea inaltimii randurilor. Pentru a modifica inaltimea randurilor, pozitionam indicatorul pe linia ce desparte oricare doua randuri (forma indicatorului se modifica in sageata dubla verticala), apasam butonul stang al mouse-ului si, deplasandu-1 in sus-in jos, micsoram-marim inaltimea randurilor (se modifica simultan inaltimea tuturor randurilor, si nu doar a celui curent).

Daca nu salvam tabelul cu Save din meniul File, modificarile descrise in a)-d) isi pierd actualitatea, astfel incat, la o noua deschidere a tabelului, ordinea campurilor si a inregistrarilor, dimensiunile coloanelor si randurilor vor ramine aceleasi de pina la modificarea tabelului. Daca insa dupa efectuarea modificarilor salvam tabelul, aceste modificari vor fi actuale la o noua deschidere a tabelului, dar si in acest caz ele nu afecteaza caracteristicile din descrierea lui initiala. Dupa terminarea lucrului cu un tabel, il putem minimiza (in cazul cand intentionam sa-1 mai utilizam) sau inchide (in cazul cand nu-1 vom mai utiliza). Deschizand consecutiv citeva tabele si redimensionind ferestrele respective, putem afisa pe ecran mai multe tabele ale bazei de date. Inchiderea tabelului se face, dupa cum am mai mentionat, prin executarea comenzii Close din meniul File. Pentru a relua lucrul cu un tabel, il deschidem, actionand butonul Open din fereastra Database.

Relatii dintre tabele. Integritatea datelor

Relatiile dintre doua tabele se stabilesc, de regula, prin intermediul unor campuri identice (cu aceeasi denumire, de aceeasi lungime, cu aceleasi proprietati) prezente in ambele tabele.

In cazul relatiei de tipul 'unu la multi' in tabelul primar (din partea caruia se realizeaza relatia 'unu') trebuie sa existe un camp, numit cheie primara, in care nu se admit valori care se repeta, iar in tabelul secundar (din partea caruia se realizeaza relatia 'multi') trebuie sa existe un camp analogic cu cel din tabelul primar, numit cheie straina, care poate admite valori care se repeta.

Relatia 'multi la multi' poate fi transformata in doua relatii de tipul unu la multi prin definirea unui tabel intermediar, in care se introduc, in calitate de chei straine, cheile primare ale primelor doua tabele.

Relatia de tipul 'unu la unu' presupune existenta in ambele tabele a unei chei primare cu aceleasi caracteristici, in fond, doua tabele intre care exista o relatie de tipul unu la unu pot fi oriaind unite intr-un singur tabel; la fel, orice tabel poate fi divizat in doua sau mai multe tabele intre care se stabileste o relatie de tipul unu la unu. Divizarea unui tabel in modul mentionat mai sus poate fi utila in cazul unui tabel cu un numar foarte mare de campuri (un tabel Access, de exemplu, nu poate contine mai mult de 255 de campuri), dar si in situatia cand o parte din informatia care se refera la o entitate are un caracter confidential, sau se utilizeaza foarte rar. In concluzie, desi relatiile de tipul unu la unu nu sunt caracteristice unei baze de date de tip relational, totusi in unele situatii acest tip de relatii este preferabil sau chiar necesar.

Daca la proiectarea tabelelor tinem cont de principiile expuse mai sus , atunci Access stabileste automat relatiile dintre tabelele care contin campuri comune. Totusi putem stabili relatii intre tabelele bazei de date si in mod explicit, utilizind comanda Relationships din meniul Tools. In acest caz apare o fereastra in care indicam tablele care stabilesc relatiile, apoi, cu ajutorul mouse-ului, trasam legaturile intre campurile respective.

Fig. 3

Daca unul din campurile de legatura este de tip cheie primara (el are o culoare mai pronuntata), trasarea se face pornind de la acest camp. Tabelul de la care se traseaza legatura se numeste tabel primar (principal), iar celalalt - secundar (subordonat). Ca rezultat, apare o caseta de dialog in care putem specifica proprietatile relatiei (legaturii).

Pentru relatia dintre doua tabele pot fi stabilite urmatoarele proprietati:

1. Tipul relatiei (Relationship Type) poate fi stabilit ca unu la unu (one to one) sau unul la multi (one to many);

2. Impune integritatea referentiala (Enforce Referential Integrity}. Includerea acestui parametru asigura integritatea datelor in procesul introducerii, modificarii sau stergerii inregistrarilor din tabelele legate. Acest lucru este posibil doar in cazul cind cimpul din tabelul principal este de tip cheie primara, iar campul de legatura din tabelul subordonat are acelasi tip de date. Atunci cand introducem date in campul de legatura al tabelului subordonat, sunt acceptate doar acele valori care se contin in campul respectiv al tabelului principal. La fel, nu putem exclude o inregistrare din tabelul principal, daca valoarea campului de legatura a acestei inregistrari se contine in una sau mai multe inregistrari ale tabelului subordonat.

Modificarea in cascada a inregistrarilor (Cascade Update Related Fields). Daca acest parametru este inclus, sistemul va modifica toate valorile campului de legatura ale tabelului subordonat in cazul cand valoarea campului respectiv al tabelului principal se modifica.

Excluderea in cascada a inregistrarilor (Cascade Delete Related Records). Daca acest parametru este activ, atunci excluderea unei inregistrari din tabelul principal implica excluderea tuturor inregistrarilor din tabelul subordonat, in care valoarea campului de legatura coincide cu cea a campului respectiv din tabelul principal. De cele mai multe ori asemenea excluderi sunt firesti, deoarece existenta unor inregistrari in tabelul subordonat, pentru care valoarea campului de legatura nu se contine si in tabelul principal, duce la pierderea integritatii datelor.

Toate rationamentele de mai sus tin de integritatea datelor, asigurarea careia reprezinta unul din principiile fundamentale ale proiectarii bazelor de date.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2792
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved