In cel mai simplu sens, o baza de date relationala este o colectie de date inrudite, organizate in asa fel incat sa satisfaca anumite obiective, impreuna cu instrumentele adecvate folosite pentru a prelucra si gestiona aceste date.
Pentru crearea si exploatarea unei baze de date este nevoie de un sistem de gestiune a bazelor de date DBMS (Database Management System). Aproape toate sistemele de gestiune a bazelor de date memoreaza si gestioneaza informatiile folosind modelul relational, sistemul de gestiunea a bazelor de date numindu-se, in acest caz, RDBMS (Relational Database Management System).
Modelul relational conceput in anul 1969 de Edgar F. Codd, cercetator la laboratoarele IBM din San Jose, este un model de organizare conceptuala a datelor, destinat reprezentarii legaturilor dintre acestea, caracterizat prin:
a) datele sunt memorate in tabele, numite si relatii, sub forma de entitati si atribute. O entitate, numita si entitate de date sau instanta de date, reprezinta o inregistrare. Un atribut, este o proprietate a unei instante de date, reprezentand un camp.
b) fiecare entitate (inregistrare) contine informatii numai despre un singur subiect.
c) datele despre doua subiecte pot fi manipulate ca o singura entitate daca sunt legate prin acelasi atribut (camp).
Microsoft Access este un sistem de gestiune a bazelor de date relational, fiind singura baza de date care reuneste intr-un singur fisier (.mdb) toate obiectele bazei de date, asigurand o mult mai usoara gestiune a datelor.
Microsoft Access numeste obiect, orice poate avea un nume. Intr-o baza de date Microsoft Access, obiectele principale sunt tabelele, interogarile, formele, rapoartele, macrocomenzile si modulele VBA (Visual Basic for Applications). Daca in unele sisteme de gestiune a bazelor de date termenul de baza de date se refera numai la acele fisiere care contin date, in Microsoft Access o baza de date include toate obiectele principale de memorare a datelor, inclusiv obiecte definite pentru automatizarea utilizarii datelor.
Table (Tabel)
Este un obiect definit si folosit pentru a memora date. Fiecare tabel trebuie sa contina date despre un singur subiect (exemplu: despre salariati). Intr-un tabel, datele sunt memorate pe randuri (inregistrari) si pe coloane (campuri). Fiecare inregistrare memoreaza toate informatiile despre o instanta distincta a subiectului (exemplu: toate informatiile despre un salariat), in timp ce fiecare camp memoreaza o categoriile distincta de date (exemplu: numele salariatului). Tabelele reprezinta sursa de date pentru interogari, forme si rapoarte. In Microsoft Access se recomanda ca fiecare tabel sa aiba o cheie principala, constituita, dupa caz, dintr-un camp sau din mai multe campuri, care sa furnizeze cate o valoare unica pentru fiecare inregistrare din tabel. De asemenea, in fiecare tabel se pot defini indecsi, care sa ajute la regasirea mai rapida a datelor.
Query (Interogare)
Este un obiect folosit pentru a regasi date din unul sau mai multe tabele pe baza conditiilor specificate de utilizator. Interogarile reprezinta, de asemenea, o sursa de date pentru forme, si, in special, pentru rapoarte. Interogarile pot actualiza inregistrarile din alte tabele (adaugari, modificari, stergeri) si pot crea noi tabele. O interogare poate sorta si grupa inregistrarile si efectua calcule predefinite sau particularizate.
Form (Forma)
Este un obiect folosit in principal pentru a actualiza si a vizualiza date din tabele sau interogari. Formele pot fi particularizate in asa fel incat sa se apropie foarte mult, ca aspect, de formularele care contin datele de intrare. De asemenea, o forma poate fi cea mai prietenoasa interfata a aplicatiei.
Report (Raport)
Este un obiect proiectat pentru analiza si prezentarea datelor dintr-un tabel sau interogare intr-un format tiparit. Inainte de tiparire, un raport poate fi previzualizat.
Page (Pagina)
Este un tip special de pagina Web proiectata pentru vizualizarea si lucrul cu date memorate in baze de date Microsoft Access sau Microsoft SQL Server, dintr-un intranet sau Internet. Pagina (numita si pagina pentru acces la date) poate contine, de asemenea, si date din alte surse, cum ar fi Microsoft Excel. Pagina nu este un obiect memorat in Microsoft Access. Cand se creeaza o pagina, aceasta se salveaza pe hard disk sub forma de fisier, iar in fereastra Database se adauga un shortcut pentru pagina respectiva.
Macro (Macrocomanda)
Este un obiect care poate contine actiuni pe care Microsoft Access le va executa cand se lanseaza in executie macrocomanda. Macrocomenzile pot fi folosite pentru a executa interogari, afisa forme, tipari/previzualiza rapoarte.
Module (Modul VBA)
Este un obiect care stocheaza cod VBA. Exista doua tipuri de module: standard si de clasa. Un modul standard este folosit pentru a scrie proceduri de tip Sub Function si Property, care sunt disponibile in toata aplicatia. Modulele de clasa cele mai folosite sunt modulele atasate formelor si rapoartelor. Codul VBA scris intr-un modul al unei forme sau al unui raport este disponibil numai in forma sau raportul respectiv.
Caracteristica |
Maximum |
Marimea fisierului .mdb al bazei de date Microsoft Access |
2 gigabytes. Totusi, pentru ca baza de date poate include tabele legate, dimensiunea ei este limitata numai de memoria disponibila. |
Numarul de obiecte intr-o baza de date |
Caracteristica |
Maximum |
Numarul de caractere in numele unui tabel | |
Numarul de caractere in numele unui camp | |
Numarul de campuri intr-un tabel | |
Numarul de tabele deschise |
2048. Numarul real poate fi mai mic intrucat unele tabele sunt deschise intern de Microsoft Access. |
Dimensiunea unui tabel |
1 gigabyte |
Numarul de caractere intr-un camp de tip Text | |
Numarul de caractere intr-un camp de tip Memo |
65535 atunci cand datele sunt introduse din interfata-utilizator; 1 gigabyte cand datele sunt introduse prin program. |
Dimensiunea unui camp OLE Object |
1 gigabyte |
Numarul de indecsi intr-un tabel | |
Numarul de campuri intr-un index (compus) | |
Numarul de caractere intr-un mesaj de validare | |
Numarul de caractere intr-o regula de validare | |
Numarul de caractere pentru descrierea unui camp sau a unui tabel | |
Numarul de caractere dintr-o inregistrare (cu exceptia campurilor Memo si OLE Object) | |
Numarul de caractere pentru setarea proprietatii unui camp |
Caracteristica |
Maximum |
Numarul de tabele intr-o interogare | |
Numarul de campuri in setul de inregistrari (rezultatul interogarii) | |
Dimensiunea setului de inregistrari |
1 gigabyte |
Limita de sortare |
255 in unul sau mai multe campuri |
Numarul de caractere dintr-o celula din grila de proiectare |
|
Numarul de caractere pentru un parametru intr-o interogare cu parametri | |
Numarul de caractere intr-o instructiune SQL |
Caracteristica |
Maximum |
Numarul de caractere intr-o eticheta | |
Numarul de caractere intr-o caseta de text | |
Latimea unei forme sau raport |
22 inches (55.87 cm) |
Inaltimea unei sectiuni |
22 inches (55.87 cm) |
Inaltimea tuturor sectiunilor plus antetele sectiunilor (in Design view) |
200 inches (504 cm) |
Numarul campurilor sau expresiilor dupa care se poate face sortarea sau gruparea intr-un raport | |
Numarul de antete si subsoluri intr-un raport |
1 antet/subsol de raport; 1 antet/subsol de pagina; 10 antete/subsoluri de grupuri |
Numarul de pagini tiparite intr-un raport | |
Exemplificarea se va face pentru o baza de date pentru evidenta cartilor dintr-o biblioteca a unei firme (baza de date se va numi Biblioteca).
Determinarea obiectivului bazei de date
Primul pas in proiectarea unei baze de date in Microsoft Access il constituie determinarea scopului pentru care se creeaza baza de date si a modului in care aceasta va fi folosita. Proiectantul bazei de date trebuie sa gaseasca raspunsuri la urmatoarele intrebari: "Ce informatii va stoca baza de date ?", "Care sunt cele mai convenabile modalitati de actualizare a bazei de date ?", "Ce situatii de iesire sunt necesare ?".
Exemplu
Obiectivul bazei de date Biblioteca este gestiunea cartilor dintr-o biblioteca.
Pentru actualizarea datelor din tabele, se vor folosi forme particularizate.
Din baza de date se vor obtine rapoarte referitoare la stocul de carti la un moment dat (cantitativ si valoric), cartile imprumutate si nereturnate, etc.
In baza de date vor fi stocate urmatoarele informatii:
Numar de inventar
Titlu
Autori
Pret
Editura
Anul cumpararii
Locul cartii
Marca cititor
Nume si prenume cititor
Telefon
Compartiment
Data imprumutului
Data cand trebuie restituita
Data restituirii
Determinarea tabelelor necesare
Determinarea tabelelor pentru o baza de date este cea mai delicata etapa in procesul proiectarii unei baze de date. Principiul de baza care trebuie avut in vedere cand se determina tabelele bazei de date este acela ca fiecare tabel trebuie sa contina informatii numai despre un subiect.
Exemplu
Din lista de informatii de la etapa 1, pentru baza de date Biblioteca, se disting trei categorii distincte de informatii:
informatii despre cartile din biblioteca (tabelul Carti);
informatii despre cititorii/salariatii din firma (tabelul Salariati);
informatii despre rulajul cartilor (tabelul Rulaje).
Determinarea campurilor necesare
Cand se determina campurile unui tabel, trebuie respectate trei principii, numite si reguli de normalizare:
a) fiecare camp din tabel trebuie sa fie legat direct de subiectul temei si sa se refere la un camp cheie principal;
b) intr-un tabel nu se includ campuri calculate (toate campurile trebuie sa fie independente unele de altele);
c) informatia dintr-un camp sa nu poata fi separata in parti logice mai mici.
Exemplu
Impartirea informatiilor in cele trei tabele, determinate in etapa a doua, este urmatoare:
Tabelul Carti |
Tabelul Salariati |
Tabelul Rulaje |
|
Numar de inventar |
Marca salariat |
Numar de inventare |
|
Titlu |
Prenume |
Marca salariat |
|
Prenume autor 1 |
Nume |
Data imprumutului |
|
Nume autor 1 |
Telefon acasa |
Data cand trebuie restituita |
|
Alti autori |
Telefon interior |
Data restituirii |
|
Pret |
Compartiment | ||
Editura | |||
Anul cumpararii | |||
Locul cartii |
Determinarea campurilor cu valori unice
Intr-o baza de date Microsoft Access fiecare tabel trebuie sa aiba un camp care sa identifice unic fiecare inregistrare din tabel. Aceasta se numeste cheie principala sau cheie primara. In cazul in care nu exista un camp care sa poata fi declarat cheie principala, se incearca crearea cheii principale din doua sau mai multe campuri. Daca acest lucru nu este posibil, in tabel se adauga un camp nou, de tip AutoNumber, in care se genereaza automat cate o valoare numerica unica pentru fiecare inregistrare noua care va fi adaugata in tabel.
Exemplu
Tabelul Carti are o cheie principala naturala: Numar de inventar (numarul de inventar este unic pentru fiecare carte, chiar daca exista mai multe exemplare din acelasi titlu).
Tabelul Salariati are tot o cheie principala naturala: Marca salariat (in orice firma, salariatii au numere de marca unice).
Tabelul Rulaje nu are un camp care sa aiba valori unice pentru fiecare inregistrare. Cheia principala nu poate fi declarata nici din doua campuri: Numar de inventar si Marca salariat intrucat acelasi cititor poate sa imprumute aceiasi carte (cu acelasi numar de inventar) de mai multe ori. In acest caz, in tabelul Rulaje, se adauga un camp nou, care va fi numit Identificator imprumut, de tip AutoNumber, care va fi declarat cheie principala.
Cheile principale ale tabelelor bazei de date Biblioteca sunt:
Tabelul |
Cheia principala |
Carti |
Numar de inventar |
Salariati |
Marca salariat |
Rulaje |
Identificator imprumut |
Determinarea legaturilor dintre tabele
Dupa impartirea informatiilor in tabele si stabilirea cheilor principale, trebuie precizat modul cum Microsoft Access va aduce informatia legata impreuna. Pentru aceasta, se stabilesc legaturile dintre tabele.
Exemplu
Intre tabelele din baza de date Biblioteca, se stabilesc numai relatii de tip "1-la-n".
Tabelul principal |
Tabelul secundar |
Campul de legatura |
Observatii |
Carti |
Rulaje |
Numar de inventar |
O carte (tabelul Carti) poate fi imprumutata, la date diferite, mai multor cititori (tabelul Rulaje). O carte imprumutata (tabelul Rulaje) are un singur numar de inventar (tabelul Carti). |
Salariati |
Rulaje |
Marca salariat |
Un cititor (tabelul Salariati) poate imprumuta mai multe carti (tabelul Rulaje). Unui cititor (tabelul Rulaje) ii corespunde o singura marca (tabelul Salariati). |
Rafinarea proiectarii si crearea tabelelor
Dupa proiectarea tabelelor, precizarea campurilor, a cheilor principale si a legaturilor dintre tabele, este timpul examinarii atente a proiectului si detectarea eventualelor puncte delicate. Este mult mai usor de modificat baza de date in acest moment, decat dupa ce tabelele au fost incarcate cu date. Dupa efectuarea modificarilor in structura tabelelor, se creeaza structura tabelelor in fereastra Database, se definesc cheile principale, se leaga tabelele, apoi se introduc suficiente date de test in tabele. Pentru a testa relatiile dintre tabele, se creeaza interogari de proba si se verifica daca ele afiseaza rezultate corecte. Se creeaza, de asemenea, forme si rapoarte de proba si se examineaza daca ele pot prezenta datele din tabele si interogari in modul asteptat.
Exemplu
Analizand tabelul Carti, se observa ca pentru fiecare exemplar din acelasi titlu, trebuie introdusa aceiasi editura. Efortul de introducere a datelor s-ar reduce considerabil daca in loc de denumirea editurii s-ar introduce codul editurii (un numar mult mai mic de caractere) si daca acest cod s-ar putea prelua dintr-un tabel, tabelul Edituri, ce urmeaza a fi creat.
Tabelul Edituri |
Cod editura |
Denumire editura |
In tabelul Edituri, campul Cod editura se declara cheie principala, iar in tabelul Carti se inlocuie campul Editura cu campul Cod editura, care devine cheie externa. Tabelul Edituri se leaga cu tabelul Carti prin campul Cod editura (relatie "1-la-n"). Pentru o editura (tabelul Edituri) pot exista mai multe carti (tabelul Carti). O carte (tabelul Carti) provine de la o singura editura (tabelul Edituri).
Dupa aceasta modificare, tabelul Carti are urmatoarea structura:
Tabelul Carti |
Numar de inventar |
Titlu |
Prenume autor 1 |
Nume autor 1 |
Alti autori |
Pret |
Cod editura |
Anul cumpararii |
Analizand tabelul Salariati, se observa ca pentru fiecare cititor apartinand aceluiasi compartiment, se introduce denumirea compartimentului. Efortul de introducere a datelor s-ar reduce semnificativ daca in loc de denumirea compartimentului s-ar introduce codul compartimentului (un numar mult mai mic de caractere) si daca acest cod s-ar putea prelua dintr-un tabel, tabelul Compartimente, ce urmeaza a fi creat. Intrucat cititorii apartinand aceluiasi compartiment au acelasi numar de telefon interior, campul Telefon interior se elimina din tabelul Salariati si se adauga in tabelul Compartimente.
Tabelul Compartimente |
Cod compartiment |
Denumire compartiment |
Telefon interior |
In tabelul Compartimente campul Cod compartiment se declara cheie principala.
Campul Compartiment din tabelul Salariati se inlocuie cu campul Cod compartiment (cheie externa). Tabelul Compartimente se leaga cu tabelul Salariati prin campul Cod compartiment (relatie "1-la-n"). Intr-un compartiment (tabelul Compartimente) pot exista mai multi cititori (tabelul Salariati). Un cititor (tabelul Salariati) apartine unui singur compartiment (tabelul Compartimente).
Dupa aceste modificari, tabelul Salariati are urmatoarea structura:
Tabelul Salariati |
Marca salariat |
Prenume |
Nume |
Telefon acasa |
Cod compartiment |
Inainte de crearea propriu-zisa a tabelelor in Microsoft Access, se atribuie nume corespunzatoare campurilor:
Tabelul Edituri
Denumire camp |
Observatii |
CodEditura |
Cheie principala |
DenEditura |
Tabelul Compartimente
Denumire camp |
Observatii |
CodCompartiment |
Cheie principala |
DenCompartiment | |
TelServInterior |
Tabelul Carti (in loc de Carti)
Denumire camp |
Observatii |
NrInventar |
Cheie principala |
Titlu | |
PrenumeAutor |
Se introduce prenumele primului autor |
NumeAutor |
Se introduce numele primului autor |
AltiAutori |
Se introduc numele si prenumele celorlalti autori |
CodEditura |
Cheie externa (se preia din tabelul principal Edituri) |
Pret | |
AnCumparare | |
LocCarte |
No - in biblioteca, Yes - la cititor |
Tabelul Salariati
Denumire camp |
Observatii |
Marca |
Cheie principala |
PrenumeSalariat | |
NumeSalariat | |
TelefonAcasa | |
CodCompartiment |
Cheie externa (se preia din tabelul principal Compartimente) |
Tabelul Rulaje
Denumire camp |
Observatii |
IDRulaj |
Cheie principala |
NrInventar |
Cheie externa (se preia din tabelul principal Carti) |
Marca |
Cheie externa (se preia din tabelul principal Salariati) |
DataImprumut |
Data cand s-a imprumutat cartea |
DataRetur |
Data cand trebuie restituita cartea |
DataRestituire |
Data cand a fost restituita cartea |
Legaturile dintre tabele sunt urmatoarele:
Tabelul principal |
Tabelul secundar |
Campul de legatura |
Carti |
Rulaje |
NrInventar |
Salariati |
Rulaje |
Marca |
Edituri |
Carti |
CodEditura |
Compartimente |
Salariati |
CodCompartiment |
Introducerea datelor si crearea celorlalte obiecte ale bazei de date
Daca proiectantul bazei de date este satisfacut de rezultatele obtinute in etapa a 6 a, va incepe introducerea datelor reale in tabele. De asemenea, va crea interogarile, formele, rapoartele, iar daca este necesar, va crea macrocomenzi si va scrie instructiuni VBA
Analiza tabelelor si a bazei de date
Microsoft Access include doua instrumente care pot fi folosite in procesul de analiza a proiectului bazei de date: Table Analyzer Wizard si Performance Analyzer
Table Analyzer Wizard poate analiza modul cum a fost proiectat un tabel, propunand, daca este cazul, restructurarea lui.
Performance Analyzer poate analiza intreaga baza de date si face recomandari si sugestii pentru imbunatatirea ei.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |