Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » referate » informatica » access
Proiectarea unei baze de date relationale

Proiectarea unei baze de date relationale


PROIECTAREA UNEI BAZE DE DATE RELATIONALE

Introducere

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).

2. Arhitectura Microsoft Access

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.

3. Limite in Microsoft Access 2000

3. Limite referitoare la baza de date

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

3.2. Limite referitoare la tabele

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

3.3. Limite referitoare la interogari

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

3.4. Limite referitoare la forme si rapoarte

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

4. Etapele proiectarii unei baze de date in Microsoft Access

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


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.