Sunteți pe pagina 1din 12

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

Cuprins

1 BAZE DE DATE - CONCEPTE FUNDAMENTALE

8

1.1 Concepte fundamentale

8

1.2 Proiectarea bazelor de date

10

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

1 Baze de date - concepte fundamentale

Obiective concepte fundamentale: dată, bază de date, tabelă, înregistrare, câmp; proiectarea bazelor de date.

1.1 Concepte fundamentale

1.1.1 Ce sunt datele?

În informatică se face distincţie între informaţie – de esenţă semantică - şi dată – o reprezentare a informaţiei.

Datele pot fi: un text, un număr, o imagine, un sunet, posibil de stocat şi de prelucrat cu ajutorul calculatorului. Datele vehiculate în viaţa reală sunt de naturi diferite, ca de exemplu: date calendaristice, număr de copii, nume de persoane etc. Transpusă în cadrul unui limbaj de programare, exprimarea naturii datelor se realizează prin intermediul tipurilor de date.

Despre informaţie se poate discuta numai după ce se cunoaşte semantica unei date. Mai exact, numărul 1 este o dată care, singură, nu înseamnă foarte mult; dacă, însă, se face precizarea că ea reprezintă codul unui client, atunci se poate defini imediat utilitatea sa. Pentru a deveni informaţie, data trebuie să fie interpretată sau procesată.

1.1.2 Ce este baza de date?

O bază de date reprezintă o colecţie de date aflate în interdependenţă, împreună cu descrierea datelor şi a relaţiilor dintre ele.

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

O bază de date relaţională reprezintă o colecţie de date structurate, după criteriul omogenităţii, în

tabele.

O tabelă reuneşte date omogene, referitoare la un anumit subiect studiat (de exemplu, tabela

Clienti va conţine datele privind toţi clienţii înregistraţi ai unei organizaţii).

Un câmp reflectă o caracteristică a subiectului descris în tabelă şi este definit prin următoarele

elemente principale:

identificatorul sau denumirea câmpului; de exemplu, CodClient, NumeClient;

tipul de dată asociat, indicând tipul de informaţie pe care câmpul îl poate conţine;

de exemplu, numeric, respectiv text;

Pe lângă acestea, se pot stabili, pentru un câmp, şi alte proprietăţi, cum ar fi: dimensiunea sa

(numărul maxim de caractere admise), un anumit format de afişare a datelor etc.

Structura unei tabele reprezintă mulţimea formată din câmpurile sale.

O valoare (sau realizare) a unui câmp este o dată concretă atribuită câmpului respectiv. De

exemplu, 1 este o valoare (sau realizare) a câmpului CodClient, iar BETA SAo realizare a

câmpului NumeClient.

Conceptul central din teoria bazelor de date rămâne cel de înregistrare sau tuplu (o linie de date).

O înregistrare (un tuplu) dintr-o tabelă reprezintă mulţimea formată din câte o valoare (sau

realizare) atribuită fiecăruia dintre câmpurile care alcătuiesc structura tabelei. De exemplu,

mulţimea {1, BETA SA“, “Bucuresti“, 112201, J40 17175/1997} este o înregistrare a tabelei

Clienti (una dintre liniile tabelei).

Prin domeniu al unui câmp se înţelege totalitatea valorilor atribuite câmpului respectiv (o coloană

de date).

Cheia primară (sau principală, PK – „primary key”) a unei tabele poate fi formată din unul sau

din mai multe câmpuri, cu scopul de a identifica, în mod unic, înregistrările (tuplurile) tabelei.

Pentru tabela Clienti, cheia primară este câmpul CodClient.

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

MS Access creează automat un index pe baza cheii primare, înregistrările fiind afişate în ordinea

valorilor cheii. Existenţa indexului facilitează regăsirea şi sortarea înregistrărilor, sporind viteza de

realizare a acestor operaţiuni. MS Access utilizează indexul pentru a determina locaţia unei date

solicitate.

Înregistrările redondante (duplicate) nu sunt permise, astfel încât fiecare tuplu, va fi, aşadar, unic

în cadrul tabelei.

Cheia primară a unei tabele serveşte la stabilirea legăturilor logice cu alte tabele.

O condiţie esenţială pentru realizarea acestor legături dintre tabele diferite este existenţa cheilor

externe.

O cheie externă (sau secundară, FK – „foreign key”) dintr-o tabelă este reprezentată de un câmp

(sau de un grup de câmpuri), provenit din cheia primară a tabelei cu care se doreşte realizarea unei

legături logice. De exemplu, câmpul CodClient din tabela Facturi este o cheie externă a acestei

tabele, realizând legătura logică între înregistrările tabelei Clienti (clienţi gestionaţi) şi cele ale

tabelei Facturi (facturile emise către clienţi).

De regulă, cheia externă are aceeaşi denumire şi acelaşi tip de dată ca şi cheia primară sursă. Legăturile logice dintre tabele fac posibilă obţinerea de cereri (interogări), formulare, rapoarte,

conţinând date corelate, dar stocate în mai multe tabele diferite.

1.2 Proiectarea bazelor de date

1.2.1 Studiu de caz

O societate comercială, al cărei principal domeniu de activitate îl reprezintă comercializarea

mărfurilor, doreşte să îşi informatizeze activităţile referitoare la emiterea de facturi către clienţi şi

la modul în care acestea sunt încasate. Se cunosc următoarele aspecte:

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

pe o factură sunt înscrise datele de identificare ale clientului (cod client, nume client,

localitate, cod poştal, CIF, numărul de la Registrul Comerţului), informaţii referitoare la factură (numărul facturii, data emiterii acesteia şi data când factura devine scadentă, valoarea totală a acesteia), informaţii referitoare la mărfurile aflate pe factura respectivă (cod marfă, denumire marfă, unitate de măsură, procent TVA, cantitate vândută, preţ de

vânzare şi valoare fără TVA);

o factură poate fi emisă unui singur client, un client poate primi mai multe facturi,

iar o factură poate conţine mai multe mărfuri, în timp ce o marfă se poate regăsi pe mai multe facturi;

Se cere să se elaboreze modelul logic al datelor (MLD) pentru situaţia prezentată.

Soluţie Dicţionarul datelor (DD) Cod client, Denumire client, Localitate, Cod poştal, CIF, NrRegComert, Număr factură, Dată factură, Dată scadentă, Valoare factură, Cod marfă, Denumire marfă, Unitate de măsură, Cantitate, Preţ, Procent TVA, Valoare fără TVA

Reguli de gestiune (RG) O factură este emisă unui singur client, unui client îi pot fi emise mai multe facturi.

O factură poate conţine mai multe mărfuri, o marfă se poate regăsi pe mai multe facturi.

Definiţie: O relaţie (tabelă) este în forma normală 1 (FN1) dacă toate atributele (câmpurile) sunt atomice şi nu conţin grupuri repetitive.

Dintre elementele din dicţionarul datelor vor fi eliminate:

Valoare fără TVA, deoarece se poate obţine înmulţind cantitatea vândută cu preţul de vânzare al mărfii; valoare totală factură, deoarece se poate obţine însumând valorile tuturor mărfurilor aflate pe factura respectivă.

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

FN 1

Cod client

Denumire client

Localitate

Cod poştal

CIF

NrRegComert

Număr factură

Dată factură

Dată scadentă

Cod marfă

Denumire marfă

Unitate de măsură

Procent TVA

Cantitate

Preţ

Definiţie: O relaţie (tabelă) este în forma normală 2 (FN2) dacă este în FN1 şi toate atributele (câmpurile) non-cheie depind funcţional complet de cheia primară a relaţiei (tabelei). FN 2

Cod client

Denumire client

Localitate

Cod poştal

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

Număr factură Cod client

Cod marfă

Dată factură

Dată scadentă

Denumire marfă

Unitate de măsură

Număr factură

Cod marfă

Cantitate

Preţ

Procent TVA

Definiţie: O relaţie (tabelă) este în forma normală 3 (FN3) dacă este în FN2 şi au fost eliminate toate dependenţele tranzitive.

Există o dependenţă tranzitivă între Cod client -> Localitate -> Cod poştal

FN 3

Cod poştal

Cod client

13

Localitate

Denumire client

Cod poştal

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

Modelul logic al datelor (MLD) Localităţi (Cod poştal, Localitate)

Clienţi (Cod client, Denumire client, Cod poştal)

Facturi (Număr factură, Cod client, Dată factură, Dată scadentă)

Mărfuri (Cod marfă, Denumire marfă, Unitate de măsură)

FacturiMărfuri (Număr factură, Cod marfă, Cantitate, Preţ, Procent TVA)

14

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

1.3 Teste de verificare

1. Care dintre afirmaţiile de mai jos este eronată:

a. date pot fi: un text, un număr, o imagine, un sunet, posibil de stocat şi de prelucrat cu ajutorul calculatorului;

b. exprimarea naturii datelor se realizează, în informatică, prin intermediul tipurilor de date;

c. noţiunile de dată şi informaţie au definiţii identice.

2. Care dintre enunţurile următoare nu se referă la conceptul de informaţie:

a. data interpretată sau prelucrată devine informaţie;

b. indiferent de semantică, orice dată reprezintă, în acelaşi timp, o informaţie;

c. informaţia se conturează numai după ce se cunoaşte semantica unei date.

3. Care dintre afirmaţiile de mai jos reprezintă o definiţie a unei baze de date relaţionale:

a. bază de date relaţională reprezintă o colecţie de date structurate, după criteriul omogenităţii, în tabele;

o

b. orice tabelă reprezintă o bază de date;

c. bază de date reuneşte date omogene, referitoare la un anumit subiect studiat (de exemplu, clienţii înregistraţi ai unei organizaţii).

o

4. Care dintre enunţurile următoare nu se referă la conceptul de cheie externă:

a. cheie externă a unei tabele este reprezentată din unul sau din mai multe câmpuri, cu scopul de

a identifica, în mod unic, înregistrările tabelei;

b. cheie externă a unei tabele este reprezentată de un câmp (sau de un grup de câmpuri), provenit din cheia primară a tabelei cu care se doreşte realizarea unei legături logice;

c. cheie externă a unei tabele este reprezentată de o colecţie de date eterogene structurate în tabele.

15

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

5. Cunoscând că un salariat deţine o singură funcţie, iar o funcţie poate fi deţinută de mai mulţi

salariaţi, specificaţi care dintre următoarele MLD este corect: a. SALARIAT (MarcaSalariat,

NumeSalariat)

FUNCTIE (CodFunctie, DenumireFunctie)

b. SALARIAT (MarcaSalariat, NumeSalariat, CodFunctie)

FUNCTIE (CodFunctie, DenumireFunctie)

c. SALARIAT (MarcaSalariat, NumeSalariat)

FUNCTIE (CodFunctie, DenumireFunctie, MarcaSalariat)

d. SALARIAT_FUNCTIE (CodFunctie, DenumireFunctie, MarcaSalariat, NumeSalariat)

6. Cunoscând că un cursant poate opta pentru mai multe module, iar un modul poate fi urmat de mai

mulţi cursanţi, specificaţi care dintre următoarele MLD este corect: a. CURSANT

(MarcaCursant, NumeCursant)

MODUL (CodModul, DenumireModul)

b. CURSANT (MarcaCursant, NumeCursant, CodModul)

MODUL (CodModul, DenumireModul)

c. CURSANT (MarcaCursant, NumeCursant)

MODUL (CodModul, DenumireModul, MarcaCursant)

d. CURSANT (MarcaCursant, NumeCursant) MODUL (CodModul, DenumireModul)

CURSANT_MODUL(MarcaCursant, CodModul)

e. CURSANT

(CodModul,

(MarcaCursant,

DenumireModul, MarcaCursant)

16

NumeCursant, CodModul)

MODUL

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

7. Cunoscând că de la un furnizor pot fi primite mai multe facturi, iar o factură este emisă de un

singur furnizor, specificaţi care dintre următoarele MLD este corect: a. FACTURA (NrFactura,

DataFactura, ValoareFactura)

FURNIZOR (CodFurnizor, NumeFurnizor)

b. FACTURA (NrFactura, DataFactura, ValoareFactura)

FURNIZOR (CodFurnizor, NumeFurnizor, NrFactura)

c. FACTURA (NrFactura, DataFactura, ValoareFactura, CodFurnizor)

FURNIZOR (CodFurnizor, NumeFurnizor)

d. FACTURA

(NrFactura,

NumeFurnizor)

DataFactura,

ValoareFactura)

FURNIZOR

(CodFurnizor,

FURNIZOR_ FACTURA (CodFurnizor, NrFactura)

8. Se consideră următoarele elemente Dicţionar de date (DD)

Cod carte, Titlu carte, An apariţie, Număr de pagini, Cod autor, Nume autor, Cod domeniu,

Denumire domeniu, Număr de cărţi existe în domeniu, Cod editură, Denumire editură, Număr

contract, Dată contract, Cod librărie, Denumire librărie, Localitate librărie, Număr de exemplare

contractate, Preţ de vânzare.

Reguli de gestiune (RG)

O carte poate fi încadrată în mai multe domenii şi este editată de o singură editură.

carte poate fi scrisă de mai mulţi autori.

O

Un contract este încheiat cu o singură librărie şi poate conţine mai multe cărţi.

Se cere elaborarea MLD.

17

Ionuţ Anica-Popa, Liana Anica-Popa Baze de date, Office 2010 Unitatea de învăţare I

18