102

1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile
Page 2: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

1. Baze de date Generale Specifice bazelor de date Identificarea datelor care intervin într-o problemă şi aplicarea algoritmilor fundamentali de prelucrare a acestora Analizarea unei probleme în scopul identificării şi clasificării datelor ne-cesare

Analizarea problemei de gestiune care trebuie rezolvată, identificarea entităţilor şi a atributelor acestora.

Identificarea relaţiilor dintre date Identificarea asocierilor între entităţi şi a conectivităţilor acestora. Identificarea regulilor de gestiune şi a restricţiilor de gestiune.

Identificarea modalităţilor adecvate de structurare a datelor care inter-vin într-o problemă

Identificarea modului în care instanţele entităţilor pot fi memorate în tabelele bazei de date, între care se stabilesc relaţii pe baza asocierilor.

Elaborarea algoritmilor de rezolvare a problemelor Identificarea tehnicilor de programare adecvate rezolvării unei probleme şi aplicarea creativă a acestora

Identificarea aplicaţiilor de gestiune care necesită folosirea structurilor de date de tip bază de date relaţională.

Elaborarea strategiei de rezolvare a unei probleme

Elaborarea modelului conceptual al unei probleme de gesti-une. Proiectarea bazei de date pornind de la modelul conceptual. Obţinerea informaţiilor din baza de date cu ajutorul interogărilor. Identificarea operatorilor relaţionali care pot fi folosiţi pentru interogarea bazei de date.

Analizarea comparativă a eficienţei diferitelor tehnici de rezolvare a pro-blemei respective şi alegerea celei mai eficiente variante

Analizarea rezolvării unei probleme folosind o structură de date de tip fişier şi o structură de date de tip bază de date. Stabilirea structurii de date celei mai eficiente.

Page 3: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

4 Baze de date

1.1. Modelul conceptual al unei probleme de gestiune

Fiecărui tip de informaţie îi corespunde un anumit mod de stocare în mediul de memorare, adică un anumit tip de dată. Tipul datei determină atât operaţiile care se pot executa cu acele date, cât şi modul în care sunt reprezentate pe mediul de memorare. Astfel, fiecare caracter dintr-un şir de caractere va fi reprezentat sub forma unui grup de 8 cifre binare corespunzătoare codului ASCII asociat caracterului, iar asupra datelor de acest tip se pot aplica numai operatorul de concatenare şi operatorii relaţionali. Orice rezolvare de problemă începe prin definirea datelor, continuă cu prelucrarea lor (de exemplu, atribuirea de valori) şi se termină fie cu afişarea

valorii lor, fie cu stocarea lor pe un mediu de memorare în vederea prelucrării lor ulterior. Data este o resursă la dispoziţia programatorului şi orice limbaj de programare permite folosirea mai multor tipuri de date. Indiferent de tipul de date ales, reprezentarea datei în memoria calculatorului (fie internă, fie externă) se face printr-un şir de biţi. Pentru a realiza această reprezentare sunt implementaţi algoritmi de codificare care asigură corespondenţa dintre tipul de dată şi şirul de biţi atât la scrierea datelor, cât şi la citirea lor. Tipul de dată ales de către programator influenţează calitatea programului deoarece el determină dimensiunea zonei de memorie alocată, algoritmul de codificare, operatorii admişi pentru prelucrare şi implicit timpul necesar prelucrării. Analiza datelor se poate face în trei etape:

Conceptual – imaginea mentală a datei. De exemplu, o dată este un număr întreg pozitiv, cu valori cuprinse între 0 şi 100.

Logic – alegerea modului de reprezentare în memoria internă folosind modelele de reprezentare puse la dispoziţie de limbajul de programare. De exemplu, în limbajul Pascal se va alege ca reprezentare o dată de tip integer, iar în limbajul C++ o dată de tip int – care permit memorarea datelor cu valori cuprinse între -32768 ÷ 32767.

Fizic – modul în care sunt memorate şi prelucrate datele în memoria internă. La nivelul limbajului de programare pentru memorarea acestui tip de dată se folosesc 2 octeţi, reprezentarea datei se face în binar prin complementul faţă de 2 şi sunt implementaţi algoritmi pentru manipularea acestui tip de dată: algoritmi de încărcare a valorii datei în zona de memorie, algoritmi de adresare a zonei de memorie alocate, algoritmi de extragere a valorii din zona de memorie etc.

Informaţia Este un mesaj purtător de cunoş-tinţe (care înlătură necunoaşterea

despre un fenomen variabil, ce poate trece printr-un număr finit de stări) şi

care are o formă de reprezentare (texte, numere, imagini sau sunete).

Calculator (instrument pentru prelucrarea

informaţiei) Nu ştie să prelucreze decât şiruri de cifre binare care pot fi modelate fizic

prin impulsuri de curent, cu două niveluri de tensiune ce corespund

celor două cifre binare 0 şi 1.

Data Este codificarea formei informaţiei

într-un şir de biţi care pot fi prelucraţi de calculator.

Importanţa informaţiei − În Evul Mediu a apărut conştiinţa valorii soci-

ale a informaţiei (prin monopolul breslelor asu-pra informaţiei).

− Informaţia înseamnă putere. S-a trecut de la societatea industrială la societatea informaţio-nală.

− Informaţia este relevantă dacă este folosită pentru o acţiune finalizată cu rezultatul dorit.

Page 4: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 5

De exemplu, temperatura medie a unei zile este o informaţie simplă, dar buletinul meteo-rologic al aceleiaşi zile este o informaţie compusă.

Scopul programelor de calculator este de a prelucra datele care codifică informaţii pentru a obţine noi informaţii. Aceste informaţii pot fi păstrate la rândul lor pe diferite medii de memorare, în diferite formate, sub formă de date. Între datele prelucrate de un program există diferite relaţii. Modul în care vor fi aranjate aceste date în mediul de memorare depinde de legătura dintre ele şi de informaţia pe care o codifică.

Datele simple sunt codificări ale informaţiilor simple, iar datele compuse sunt codificări ale informaţiilor compuse.

Şi în cazul structurilor de date analiza se face în cele trei etape. La nivel conceptual, pentru clasificarea structurilor de date se poate folosi criteriul relaţiei de ordine.

Compusă. Este o colecţie de informaţii care aduce un aport de cunoştinţe

ce depind de modul în care sunt asamblate informaţiile în colecţie. Informaţiile din colecţie pot fi informaţii elementare sau

informaţii compuse, iar asamblarea se poate face prin coordonare sau prin subordonare.

Informaţia

Elementară.

Aportul de cunoştinţe este bine determinat şi nu depinde de

alte informaţii.

Date compuse sau structuri de date. Sunt colecţii de date între care există anumite relaţii

(relaţii structurale). Fiecare componentă a structurii are o anumită poziţie în cadrul structurii. Pentru fiecare tip de structură de date, în limbajul de programare trebuie să fie definiţi algoritmi de localizare a componentelor în cadrul structurii de date. Între componentele structurii

există şi legături de conţinut, adică întregul ansamblu de date din colecţie poate caracteriza un obiect, o

persoană, un fenomen, un proces.

criteriul compunerii

Date simple sau date

elementare. Sunt date independente unele de

altele, din punct de vedere al reprezentării lor în memorie:

localizarea unei date pe suportul de memorare nu se face în funcţie de locaţia unei alte date pe suport.

criteriul relaţiei de ordine

Liniare Fiecare element are un

succesor şi un predecesor, exceptând primul element, care nu are decât succesor, şi

ultimul element, care nu are decât predecesor.

Ierarhizate (arborescente) Între elemente există o relaţie de subordo-nare, în care fiecare element are un pre-decesor unic şi poate avea unul sau mai

mulţi succesori, cu excepţia primului element (numit rădăcină), care nu are predecesor, şi

a ultimelor elemente (numite terminale), care nu au succesor.

Reţea Între elemente există o relaţie de subordonare, în care fiecare element poate avea mai mulţi

predecesori şi mai mulţi succesori.

Page 5: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

6 Baze de date

La nivel logic se poate alege una dintre următoarele structuri de date:

Structurile de date create în memoria internă sunt temporare dar permit o viteză de prelucrare mult mai mare decât a celor organizate în memoria externă. Pe de altă parte, structurile de date organizate în memoria externă sunt permanente şi permit stocarea şi prelucrarea unei cantităţi mari de date.

1.1.1. Sistemul de gestiune Organizaţia este un grup, o colectivitate formată din două sau mai multe persoane care lucrează împreună într-o activitate bine determinată, cu scopul de a realiza un set de obiective comune numite obiective strategice. În funcţie de natura obiectivelor, se pot defini tipuri de organizaţii: economice, politice, juridice, sociale etc.

Entităţile pot fi interne (angajaţi, utilaje, echipamente, facturi etc.) sau externe (clienţi, furnizori, bănci, organizaţii ale administraţiei de stat etc.).

Entitatea este un model de obiect (material sau imaterial) identificabil în lumea reală, care este definit printr-un nume şi o listă de atribute.

Atributul unei entităţi este o proprietate a entităţii semnificativă pentru domeniul din care face parte entitatea. Lista de atribute defineşte conţinutul entităţii. Mulţimea valorilor unui atribut se numeşte domeniul atributului. Atributele pot fi intrinseci (nu sunt legate de apartenenţa entităţii la organizaţie) şi proprii (sunt legate de apartenenţa entităţii la organizaţie).

De exemplu, entitatea cu numele Angajat are atributele: Marcă, Nume, Prenume, Dată-Naştere, DatăAngajare, Studii, Funcţie, Compartiment şi Salariu. Atributele intrinseci sunt

Structuri de date

în memoria internă în memoria externă

Tabloul de memorie (vectori şi matrice)

Înregistrarea Fişierul de date

Organizaţia Are o structură determinată de:

O colecţie de entităţi − oameni; − obiecte fizice (echipamente, utilaje,

piese, documente, dosare etc.); − obiecte abstracte (cont contabil, taxă

pe valoarea adăugată etc.); − locuri de activitate (birou, atelier,

secţie, depozit, magazin etc.).

O colecţie de relaţii între entităţi sau asocieri între entităţi

În funcţie de durata lor, relaţiile sunt: − durabile (definesc structura or-

ganizaţiei); − evenimente (se produc la un

moment dat şi apoi dispar).

Page 6: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 7

Nume, Prenume, DatăNaştere şi Studii, iar atributele proprii sunt Marcă, DatăAngajare, Funcţie, Compartiment şi Salariu.

Instanţa unei entităţi este o mulţime formată din câte o valoare pentru fiecare atribut al entităţii.

O instanţă a entităţii Angajat este: Popescu Vlad, cu marca 2100, născut la data de 20.11.1980, angajat la data 01.05.2005, are studii medii şi funcţia şofer la compartimentul Aprovizionare şi salariul 700.

Identificatorul unei entităţi este un atribut (sau un grup de atribute) a cărui valoare caracterizează în mod unic o instanţă a entităţii.

De exemplu, entitatea cu numele Angajat are identificatorul Marcă.

Un subtip al entităţii este o subcolecţie a entităţii care cuprinde entităţi cu atribute specifice.

De exemplu, o firmă închiriază şi vinde autoturisme. În acest caz, entitatea cu numele Autoturism are două subtipuri: DeÎnchiriat şi DeVânzare.

Entitatea Autoturism are atributele Cod (care este şi identificatorul entităţii), Capaci-tateCilindrică şi Model. Cele două subtipuri ale entităţii Autoturism au atributele acesteia şi, în plus, atribute specifice: subtipul DeVânzare – PreţVânzare –, iar subtipul DeÎnchiriat – TarifÎnchiriere, PerioadăÎnchiriere şi DatăÎnceput.

Dependenţa funcţională între două atribute apare atunci când unei valori a unui atribut îi corespunde o singură valoare a celuilalt atribut.

De exemplu, există dependenţă funcţională între identificatorii a două entităţi.

Asocierea este o legătură logică între două sau mai multe entităţi. Asocierea poate avea o listă de atribute.

De exemplu, între entitatea Angajat şi entitatea Produs există asocierea Realizează (entitatea Angajat realizează entitatea Produs).

O instanţă a asocierii este un element al produsului cartezian dintre mulţimile instanţelor entităţilor care participă la asociere.

De exemplu, o instanţă a asocierii Realizează este: angajatul Popescu Vlad, cu marca 2100, realizează produsul cu codul 130 şi numărul de serie 1236.

DeVânzare

− PreţVânzare

Autoturism

− Cod − CapacitateCilindrică− Model

DeÎnchiriat

− TarifÎnchiriere − PerioadăÎnchiriere − DatăÎnceput

Page 7: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

8 Baze de date

Asocierile se stabilesc: între instanţe ale entităţilor interne (un angajat este superior unui alt angajat, o piesă a fost produsă de un anumit angajat, un angajat se găseşte într-un anumit atelier, un document a fost produs de un anumit angajat, un utilaj este situat într-un anumit atelier, un atelier face parte dintr-o anumită secţie etc.);

între instanţe ale entităţilor interne şi instanţe ale entităţilor externe (un furnizor vinde un anumit produs, un organism de stat colectează o anumită taxă, un client a comandat un anumit produs, un furnizor este localizat la o anumită adresă etc.).

O asociere durabilă este, de exemplu: un atelier aparţine unei anumite secţii, sau o funcţie există în organizaţie, sau o funcţie este subordonată direct unei anumite funcţii, sau un produs este realizat într-un anumit atelier. Aceste asocieri sunt durabile deoarece ele contribuie la structura organizaţiei. O asociere eveniment este, de exemplu: un client a comandat un anumit produs (asocierea client şi produs durează numai de la primirea comenzii până la onorarea ei) sau unui furnizor i s-a comandat un anumit produs (asocierea furnizor şi produs durează numai de la emiterea comenzii până la recepţionarea produsului).

Asocierea se identifică de obicei printr-un verb şi este determinată de colecţia asocierii.

Mulţimea entităţilor care participă la o asociere formează colecţia asocierii, iar numărul de entităţi determină gradul asocierii.

Regulă. O asociere între aceleaşi instanţe ale entităţilor nu poate să existe decât o singură dată.

Rolul unei entităţi în cadrul asocierii reprezintă modul în care participă entitatea la asociere.

De exemplu, între entitatea Client şi entitatea BonComandă se stabileşte asocierea Emite (un client emite un bon de comandă). Rolul entităţii Client în această asociere este emite, iar rolul entităţii BonComandă este este emisă.

O asociere reflexivă este o asociere între instanţe diferite ale aceleiaşi entităţi.

De exemplu, o relaţie de subordonare dintre două instanţe ale entităţii Angajat este o asociere reflexivă.

Scop: Identificarea entităţilor şi a asocierilor.

Exemplul 1: Analiza livrării unei comenzi

O fabrică produce articole de îmbrăcăminte care sunt livrate clienţilor. La livrare, fiecărui client i se întocmeşte o factură care conţine: data livrării şi articolele de îmbrăcăminte livrate, pentru fiecare articol precizându-se codul, denumirea, modelul, mărimea, cantitatea, preţul unitar şi cota TVA corespunzătoare articolului. Cu ajutorul ultimelor informaţii se calculează valoarea totală a facturii.

Asocierea: Se facturează.

Colecţia de entităţi a asocierii:

Page 8: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 9

Nume Atribute Rol Identificator ArticolÎmbrăcăminte Cod, Denumire, Model, Mărime este facturat Cod FacturăLivrare NumărFactură, DatăFactură, CotăTVA conţine NumărFactură

Gradul asocierii: 2 Proprietăţile asocierii: CantitateFacturată, PreţLivrare. Schema asocierii:

Exemplul 2: Analiza relaţiei dintre doi angajaţi Între angajaţii unei firme există o relaţie bazată pe ierarhia funcţiilor. Asocierea: Este subordonat. Colecţia de entităţi a asocierii: Nume Atribute Identificator Angajat Marcă, Nume, Prenume, Studii, Funcţie, Compartiment Marcă Angajat Marcă, Nume, Prenume, Studii, Funcţie, Compartiment Marcă

Gradul asocierii: 2 Tip asociere: asociere reflexivă. O realizare a entităţii Angajat conduce, iar cealaltă realizare este condusă Schema asocierii:

ArticolÎmbrăcăminte

− Cod − Denumire − Model − Mărime

FacturăLivrare − Număr factură − DatăFactură − CotăTVA

Se facturează – CantitateFacturată– PreţLivrare

asociere

entităţiatributele entităţii

numele entităţii se facturează conţine

Rolul entităţilor în asociere

este condus conduce

Este subordonat

Angajat − Marcă − Nume − Prenume − Studii − Funcţie − Compartiment

Page 9: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

10 Baze de date

Între organizaţie şi exteriorul ei, există o strânsă legătură prin intermediul fluxului acti-vităţilor operaţionale (fluxul tehnologic) care este alcătuit dintr-o succesiune în timp de activităţi, numite activităţi operaţionale:

Fluxul de intrare. Prin intermediul său organizaţia primeşte din exterior materii prime, materiale, servicii, energie, bani, informaţii (intrări).

Fluxul intern. Prin intermediul său intrările sunt prelucrate printr-o succesiune de ope-raţii, obţinându-se produse, servicii, bani, informaţii (ieşiri).

Fluxul de ieşire. Prin intermediul său sunt livrate în afara organizaţiei produse, servicii, bani, informaţii.

Fluxul de intrare şi fluxul de ieşire formează fluxul extern. De exemplu: Tip activitate Intrări Flux intern –

activităţi operaţionale Ieşiri

Confecţii textile

ţesături, aţă, nasturi, furnituri, accesorii etc.

creaţie; croire; confecţionare; finisare; călcare; ambalare; livrare

confecţii

Confecţii metalice

tablă, cornier, şamotă, cărămizi, vopsea, electrozi de sudură etc.

croire; asamblare; şamotare; sudare; polizare; vopsire; ambalare; livrare

sobe metalice

Bancă cereri de credite, bani, informaţii

primire cereri; analiză cereri şi situaţie solicitanţi; creditare

credite

Comerţ cu amănuntul

mărfuri achiziţionate recepţie; dezambalare; porţionare; cântărire; sortare; verificare; etichetare; expunere

mărfuri vândute

Curăţătorie chimică

îmbrăcăminte, aşternuturi, pături, covoare murdare

recepţie; sortare; curăţare; călcare; livrare

îmbrăcăminte, aşternuturi, pături, covoare curate

Şcoală elevi fără cunoştinţe şi competenţe

predare, învăţare, evaluare elevi având cunoştinţe şi competenţe

Fluxul tehnologic este supus perturbaţiilor (întârzierea livrărilor, greve, întârzieri de plată ale clienţilor, avarii la echipamente etc.). Activităţile operaţionale sunt caracterizate de evenimente de activitate. Un eveniment de activitate are trei caracteristici:

data calendaristică – data la care a apărut evenimentul;

Prelucrări

intrări ieşiri

fluxul de intrare fluxul de ieşire

fluxul intern

Organizaţia = sistem format din două subsisteme:

Sistemul operaţional (activităţi operaţionale)

Sistemul de gestiune (activităţi de gestiune)

Page 10: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 11

legătura – entităţile sau asocierile la care se referă evenimentul; proprii – atributele evenimentului;

De exemplu: Evenimentul Emiterea facturii de livrare

data calendaristică data la care a fost emisă factura legătura numele entităţii client şi numele entităţii produs caracteristici proprii cantitatea livrată din produs

Evenimentul Emiterea unei note

data calendaristică data la care a fost acordată nota legătura numele entităţii elev şi numele entităţii disciplină caracteristici proprii valoarea notei

Pentru realizarea obiectivelor strategice, organizaţia are nevoie de un cadru organi-zatoric prin care să fie valorificate eficient resursele sale şi să fie puse în aplicare planu-rile manageriale.

Sistemul de gestiune este un cadru organizatoric pentru realizarea obiectivelor strategice.

Sistemul de gestiune este alcătuit din activităţi de gestiune. Activitatea de gestiune este formată din metode şi mijloace care permit controlarea şi conducerea activităţii opera-ţionale. Sistemul de gestiune al unei organizaţii asigură circulaţia informaţiilor în cadrul organizaţiei şi luarea deciziilor care să asigure funcţionarea sistemului la parametri optimi. Prelucrarea informaţiilor se face respectând procedura de gestiune, care este un ansam-blu de reguli de gestiune ce se aplică într-o ordine bine stabilită. Pe baza regulilor de gestiune se stabilesc restricţiile activităţii de gestiune. Regulile de gestiune sunt stabilite fie din interiorul organizaţiei (de exemplu, regulile de vânzare a produselor), fie din exte-riorul organizaţiei (de exemplu, calcularea taxei pe valoarea adăugată). Regulile de gesti-une determină conectivitatea dintre valorile atributelor entităţii şi valorile atributelor asocierii.

Conectivitatea cuantifică participarea valorilor atributelor entităţii la fiecare apariţie de valori din asocieri.

Există o conectivitate minimă, care poate avea valoarea 0 sau 1, şi o conectivitate maximă, care poate avea valoarea 1 sau n. Aceste conectivităţi se stabilesc pe baza regulilor de gestiune.

Scop: Stabilirea conectivităţilor. Exemplul 1: Analiza livrării unei comenzi Această activitate respectă următoarele reguli de gestiune impuse de modul în care trebuie completat un document tipizat de tip factură şi de regulile de vânzare a produselor. 1. Factura poate să conţină mai multe articole de îmbrăcăminte (în factură apar n

articole), dar nu mai puţin de un articol (în factură apare un articol). 2. Este posibil ca într-o perioadă de timp un articol să nu fie solicitat de niciun client (nu

apare în nicio factură) sau să fie solicitat de mai mulţi clienţi (să apară în n facturi). Pe baza acestor reguli de gestiune se determină restricţiile de domeniu de definiţie al atributelor (data facturii nu trebuie să fie anterioară datei curente şi mărimile de articole de îmbrăcăminte trebuie să aparţină domeniului [38,56]), iar conectivitatea:

Page 11: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

12 Baze de date

Exemplul 2: Analiza relaţiei dintre doi angajaţi Această activitate respectă următoarele reguli de gestiune impuse de principiile subor-donării într-o structură ierarhică: 1. Un angajat este obligatoriu subordonat unui singur angajat (1), cu excepţia

directorului, care nu este subordonat nimănui (0). 2. Un angajat poate să aibă în subordine mai mulţi angajaţi (n) sau niciun angajat (0). Pe baza acestor reguli de gestiune se determină conectivitatea.

1. Identificaţi entităţi şi asocieri din următoarele organizaţii: clasa, şcoala

şi familia. Precizaţi pentru fiecare entitate lista de atribute, atributele intrinseci, atributele proprii şi identificatorul. Pentru fiecare asociere precizaţi colecţia de entităţi, lista de atribute, gradul şi conectivităţile.

2. Identificaţi fluxurile operaţionale din următoarele organizaţii: clasa, şcoala şi familia.

1.1.2. Componentele sistemului de gestiune Un sistem de conducere este format, la rândul său, din trei subsisteme:

sistemul conducător (managerial) – sistemul care ia decizii; sistemul condus (operaţional) – sistemul care execută; sistemul informaţional – sistemul care face legătura între sistemul condus şi sistemul conducător; prin intermediul legăturilor informaţionale între sistemul condus şi sistemul conducător circulă deciziile şi informaţiile.

Organizaţia este un sistem dinamic şi funcţionează ca un sistem de conduce-re în care, între sistemul conducător şi sistemul condus, se stabilesc relaţii informaţionale. Legăturile informaţiona-le dintre sistemul condus şi sistemul conducător (canalele prin care circulă informaţiile şi metodele folosite pentru manipularea lor) formează sistemul informaţional al organizaţiei.

Informaţii

Sistemul condus

Sistemul conducător

Decizii

Articol îmbrăcăminte Factură livrare Se facturează

conectivitate minimă

1,n0,n

conectivitate maximă

este condus conduce

Angajat

Este subordonat

0,n0,1

Page 12: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 13

Sistemul de gestiune este format din sistemul conducător şi sistemul informaţional.

Sistemul conducător Sistemul conducător transformă informaţiile în decizii. Decizia trece sistemul din starea anterioară în starea următoare, prin modificarea activităţilor operaţionale. Procesul de luare a unei decizii are două etape: 1. Se identifică problema care trebuie rezolvată pornind de la informaţia primită. 2. Se identifică soluţia pentru rezolvarea problemei (activitatea operaţională care trebuie

modificată) şi se pune în aplicare soluţia găsită.

Fiecare nivel de conducere are nevoie de un anumit tip de informaţii. La nivelul sistemului conducător informaţia este transformată în decizii care au rolul de a autoregla sistemul şi de a-l aduce în starea de echilibru. În funcţie de nivelul ierarhic la care se iau deciziile, există:

Decizii operaţionale. Sunt luate de persoane cu funcţii de execuţie (de exemplu, urmărirea plăţilor clienţilor, urmărirea comenzilor, evidenţa stocurilor etc.).

Decizii tactice. Sunt luate de persoane cu funcţii administrative (de exemplu, anga-jarea personalului, stabilirea furnizorilor, modificarea tarifelor sau a preţurilor etc.).

Decizii strategice. Sunt luate de persoane cu funcţii de conducere (de exemplu, amplasarea unui nou obiectiv, investiţii, lansarea de noi produse, reglementări privind salarizarea personalului etc.).

Cu cât creşte nivelul la care se ia o decizie, cu atât acţiunea declanşată de ea este mai impor-tantă. În funcţie de metoda folosită pentru luarea deciziei, există:

Decizii programabile. Sunt decizii pentru care există proceduri şi reguli bine definite. De exemplu, facturarea unui client sau gestionarea stocurilor se face după o proce-dură bine stabilită.

Decizii neprogramabile. Sunt decizii pentru care nu există proceduri şi reguli bine definite. De exemplu, lansarea unei campanii publicitare.

Regulile de gestiune interne sunt stabilite şi modificate de sistemul conducător.

Sistemul informaţional

Sistemul informaţional se bazează pe:

componenta fizică – mijloace materiale folosite pentru tratarea infor-maţiei (fotocopiatoare, calculatoare, telefoane, dulapuri etc.) şi suporturi pentru informaţii (hârtie, suporturi pentru documente electronice etc.).

componenta logică – metodele de prelucrare a informaţiei (modele contabile, modele economice, modele matematice, modele de simulare, algoritmi etc.) şi tratarea informaţiei (recepţionarea, înregistrarea, clasifi-carea, prelucrarea prin modificarea formei sau a conţinutului, arhivarea şi

transmiterea ei).

componenta umană – persoane care emit, manipulează sau transmit informaţia.

cadrul organizatoric al sistemului informaţional.

Sis

tem

ul in

form

aţio

nal

Page 13: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

14 Baze de date

1. reprezentarea structurii organizaţiei 2. reprezentarea activităţilor prezente şi trecute ale organizaţiei şi 3. fluxurile informaţionale:

Între compartimentele oricărui sistem informaţiile se produc aleator sau determinist. Locul de emitere a informaţiei se mai numeşte şi sursa informaţiei, iar locul de destinaţie a informaţiei se numeşte receptorul informaţiei. Între emiţător şi receptor informaţia circulă printr-un canal de comunicaţie. Conţinutul informaţiei este determinat de sistemul condus, iar forma ei – de sistemul conducător. Fluxul informaţional dintre emiţător şi receptor este necesar desfăşurării unei activităţi sau executării unei operaţii.

Circuitul informaţional se formează din toate fluxurile informaţionale (care circulă în cadrul organizaţiei între puncte de lucru şi compartimente sau între organizaţii) şi conexiunile dintre aceste fluxuri. Caracteristicile unui flux informaţional depind de tipul organizaţiei. De exemplu, fluxul informaţional dintr-o mare bibliotecă este caracterizat de vechimea informaţiei, durata de viaţă, caracterul informaţiei, domeniul şi subiectul de interes, originea informaţiei, suportul fizic pentru transmiterea ei. Cerinţele unui flux informaţional sunt:

informaţia trebuie să fie transmisă nedistorsionat; transmisia trebuie să se efectueze indiferent de gradul de ocupare a canalului de comunicaţie;

trebuie asigurată securitatea transmisiei informaţiei; informaţia trebuie să se transmită în timp optim; costurile de exploatare a canalului de transmisie să fie mici.

Clasificarea fluxurilor informaţionale: 1. În funcţie de direcţie:

orizontale – între compartimente de pe acelaşi nivel ierarhic; verticale – între compartimente aflate pe niveluri ierarhice diferite.

2. În funcţie de sens: ascendente – de la un compartiment aflat pe nivel ierarhic inferior la un compar-timent aflat pe nivel ierarhic superior; se transmit informaţii.

descendente – de la un compartiment aflat pe nivel ierarhic superior la un com-partiment aflat pe nivel ierarhic inferior; se transmit decizii.

3. În funcţie de frecvenţă: periodice; ocazionale.

− conţinut − formă − sens − calitate − frecvenţă − volum − lungime − viteză − fiabilitate − suport − cost

Caracterizat de:

Fluxul informaţional Reprezintă totalitatea informaţiilor

transmise într-un interval de timp de la un emiţător de informaţie la un receptor

de informaţie printr-o mulţime de canale informaţionale.

Page 14: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 15

4. În funcţie de locaţia sursei: interne – sursa se găseşte în interiorul organizaţiei; externe – sursa se găseşte în exteriorul organizaţiei.

5. În funcţie de compartimentele în care se transmite: marketing, cercetare şi dezvoltare, producţie, financiar–contabil, comercial, resurse umane.

Canalul de comunicaţie este caracterizat de: metoda de comunicaţie; conţinutul mediului de comunicaţie: text, imagini grafice, secvenţe sonore, secvenţe video;

volumul şi calitatea informaţiei.

Scop: Identificarea fluxurilor informaţionale. Analiza fluxurilor informaţionale la nivelul unui secretariat managerial

a) Canalul informaţional rezultat din relaţia directă cu conducerea: − conducere → secretariat – flux informaţional vertical descendent.

Se transmit dispoziţii verbale personale, solicitări pentru legături telefonice, scrisori, note scrise pentru efectuarea de lucrări, rezoluţii pe acte.

− secretariat → conducere – flux informaţional vertical ascendent Se transmit comunicări verbale personale, comunicări prin microfon pentru stabilirea legăturii telefonice, prezentarea corespondenţei şi a documentelor, anunţarea şi prezentarea vizitatorilor la conducere.

b) Secretariatul este conexiunea între fluxurile dintre sistemul conducător şi sistemul condus: − compartimente → conducere – flux informaţional vertical ascendent. Se transmit

informaţii.

Metode de comunicaţie

unul la mulţi – un emiţător şi mai mulţi receptori – o singură direcţie – spre receptor – se transmite acelaşi mesaj

pe segment ţintă – un emiţător şi mai mulţi receptori – o singură direcţie – spre receptor – se transmite mesaj diferit pentru

fiecare receptor

mulţi la mulţi – fiecare poate fi şi emiţător şi

receptor – comunicare în toate direcţiile

unul la unul – un emiţător-receptor şi un recep-

tor-emiţător – se transmit mesaje personalizate

Page 15: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

16 Baze de date

− conducere → compartimente – flux informaţional vertical descendent. Se transmit către sistemul condus deciziile de organizare, coordonare şi execuţie emise de sistemul conducător (ordine, dispoziţii, circulare etc.) redactate şi transmise prin secretariat.

− compartimente → conducere – în cursul execuţiei deciziilor – flux informaţional vertical ascendent. Se transmit informaţii de control prin care conducătorul se asigură că deciziile au fost corect executate (diverse situaţii sintetice: rapoarte, dări de seamă, pontaje etc.).

c) Secretariatul este conexiunea între fluxurile externe şi interne – pentru informaţiile care intră din mediul extern către toate nivelurile organizaţiei şi pentru toate fluxurile inter-ne care ies din organizaţie. Mediul extern este format din organele financiare, organele bancare, organizaţii superioare ierarhic sau subordonate (filiale, sucursale, agenţii), organizaţii parteneri de afaceri etc. Se transmit scrisori, faxuri, comunicări verbale etc.

d) Canalul informaţional între diferite compartimente de secretariat (dacă există mai multe în organizaţie) – flux informaţional pe orizontală.

Procesul informaţional la nivelul secretariatului constă în tratarea informaţiei scrise prin: 1. organizarea informaţiei: sortare, clasare, grupare, îndosariere. 2. prelucrarea informaţiei: redactare de texte, traduceri, ştampilare. 3. prezentarea informaţiei: tipărirea documentelor, multiplicarea lor, afişarea

informaţiilor etc.

1. Identificaţi fluxurile şi circuitele informaţionale din clasa voastră. 2. Identificaţi fluxurile şi circuitele informaţionale din şcoala voastră. 3. Identificaţi fluxurile şi circuitele informaţionale din familia

voastră.

Componentele sistemului informaţional sunt informaţiile formate din entităţi şi asocierile dintre acestea. Sistemul informaţional se modifică în urma producerii unor evenimente de evoluţie. Un eveniment de evoluţie afectează o entitate sau o asociere din cadrul sistemului informaţional, pe care o modifică. Evenimentele de evoluţie pot fi voluntare (sunt introduse de sistemul conducător) sau involuntare (se produc accidental, independent de voinţa sistemului conducător). De exemplu, angajarea pe o funcţie nouă este un eveniment de evoluţie voluntar, dar demisia unui angajat este un sistem de evoluţie involuntar.

Actualizarea sistemului informaţional este o modificare elementară produsă în sistemul informaţional în urma unui eveniment de evoluţie.

Evenimentele de evoluţie care determină actualizarea sunt: adăugarea unei entităţi noi sau a unei asocieri; eliminarea unei entităţi sau a unei asocieri; modificarea unui atribut propriu al unei entităţi sau a unui atribut al unei asocieri.

Sistemul informaţional este dinamic şi are o evoluţie în timp rezultată din activitatea entită-ţilor şi a asocierilor. Această evoluţie este pusă în evidenţă prin atributele de situaţie. Ele pot fi: relative la o dată calendaristică (de exemplu, atributul NumărOreLucrateDeLaÎnce-putulLunii al entităţii Pontaj) sau independente de durata de activitate (de exemplu, atributul Sold al entităţii ContContabil sau atributul CantitateStoc al entităţii Stoc) .

Page 16: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 17

Istoricul unei entităţi sau al unei asocieri este format din mulţimea de informaţii prin care se poate urmări evoluţia în timp a entităţii sau a asocierii.

Aceste informaţii sunt atributele de istoric. Ele pot păstra: valorile succesive ale unui atribut de situaţie (de exemplu, valori ale atributului cantitate al entităţii Stoc la diferite date calendaristice);

valorile obţinute în urma unor calcule succesive care implică un atribut de situaţie (de exemplu, mărimea valorică la diferite date calendaristice a entităţii Stoc, care se obţine prin înmulţirea preţului unitar cu valoarea atributului cantitate);

valorile succesive ale unui atribut propriu al unei asocieri (de exemplu, valori ale atributului cantitate facturată la diferite date calendaristice ale asocierii Se facturează).

1. În sistemul informaţional al clasei, identificaţi: evenimente de evoluţie, operaţii de actualizare şi atribute de istoric.

2. În sistemul informaţional al şcolii, identificaţi: evenimente de evoluţie, operaţii de actualizare şi atribute de istoric.

3. În sistemul informaţional al familiei, identificaţi: evenimente de evoluţie, operaţii de actualizare şi atribute de istoric.

1.1.3. Sistemul informatic

Procesul de prelucrare dintr-un sistem informaţional este uneori complex, alteori mai puţin complex. El poate fi manual sau automatizat. Deciziile programabile pot fi prelucrate cu ajutorul calculatorului. Prin automatizarea unor procedee şi mijloace de prelucrare a informaţiei se obţine sistemul informatic – care este inclus în sistemul informaţional.

În cadrul unei organizaţii, pentru a creşte productivitatea muncii este bine să se creeze un sistem informatic care să integreze activităţile informaţionale ale tuturor compartimen-

Sistemul informaţional Este format din canalele prin care circulă informaţiile şi din metodele

folosite pentru manipularea lor.

Sistemul informatic Este acea parte a sistemului informaţional în care procedeele şi mijloacele de prelucrare a

informaţiilor sunt automatizate.

Organizaţia

Sis

tem

ul in

form

atic

componenta fizică (hardware) – totalitatea echipamentelor folosite

componenta logică (software) – programele sistemului de operare şi ale aplicaţiilor definite

componenta umană – personalul specializat pentru întreţinerea şi exploatarea sistemului şi utilizatorii lui direcţi

componenta de date sau baza de date

cadrul organizatoric al beneficiarului sistemului informatic

Page 17: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

18 Baze de date

telor, şi nu să se folosească tehnologia informaţiei independent în fiecare compartiment. Dezavantajele unui astfel de mod de lucru sunt: compartimentele nu pot folosi în comun datele de care au nevoie, ansamblul de colecţii de date are o redundanţă foarte mare, crescând costurile de exploatare la nivelul organizaţiei, şi orice mişcare în cadrul organi-zaţiei necesită intervenţia în mai multe colecţii de date, scăzând productivitatea muncii.

Scop: Identificarea sistemului informatic în cadrul sistemului informaţional. Analiza activităţii de evidenţă a stocurilor în cadrul unui sistem economic Materialele se găsesc în mai multe magazii, fiecare magazie având un gestionar. Aceste materiale sunt necesare ca să se asigure funcţionarea corectă a procesului economic din întreprindere. De exemplu, dacă întreprinderea asigură servicii de telefonie, în magazii trebuie să existe piese de schimb pentru echipamente, scule, materiale pentru întreţinerea echipamentelor, rechizite etc. Această activitate la rândul ei poate fi considerată un sistem, în care sistemul conducător este compartimentul financiar-contabil care ia deciziile (hotărăşte ce se cumpără şi când, cine poate lua materiale din magazie şi în ce scop), iar sistemul condus este format din gestionarii magaziilor care execută (aprovizionează magaziile, înregistrează datele din documente, ţin evidenţa stocurilor, eliberează la cerere materiale). Între cele două sisteme, legătura este asigurată de sistemul informaţional. Informaţiile care se prelucrează sunt cantităţile de materiale intrate şi cantităţile de materiale ieşite, iar informaţiile care se obţin în urma prelucrării sunt cantităţile de stocuri de materiale. Acest sistem poate fi asigurat de fişele de magazie şi de un sistem de căutare în aceste fişe. În acest caz sistemul este manual. Dacă se dotează fiecare magazie cu un calculator pe care se instalează un program de evidenţă a stocurilor, procesul devine semiautomatizat, deoarece, chiar dacă s-a automatizat prelucrarea datelor în vederea obţinerii informaţiilor, între sistemul condus şi sistemul conducător, transmiterea informaţiilor se face manual. Gradul de automatizare a sistemului informaţional va creşte atunci când toate calculatoarele din magazii şi calculatorul din serviciul financiar-contabilitate vor fi legate într-o reţea de calculatoare, asigurându-se astfel automatizarea stocării datelor şi a transmiterii informaţiilor.

1. Identificaţi sistemul informaţional din şcoala voastră. Identificaţi sistemul informatic. Ce activităţi ar mai putea fi informatizate? Propu-neţi soluţii de realizare.

2. Vizitaţi o organizaţie economică. Identificaţi sistemul informa-ţional şi sistemul informatic. Ce activităţi ar mai putea fi infor-matizate? Propuneţi soluţii de realizare.

Prin informatizarea diferitelor domenii de activitate, au apărut mai multe tipuri de sisteme informatice: bancare, militare, medicale, pentru conducerea activităţilor economice din diferite organizaţii economice, pentru administraţie, pentru conducerea proceselor tehnologice, pentru activitatea ştiinţifică şi de proiectare, pentru rezervări de locuri, pentru informare şi documentare. La rândul său, un sistem poate fi descompus, din punct de vedere funcţional, în subsisteme. De exemplu, sistemul informatic destinat conducerii activităţii într-o companie poate fi descompus, în raport cu tipurile de activităţi pe care le informatizează, în subsistemul producţie (asigură pregătirea, lansarea şi urmărirea producţiei), subsistemul comercial (asigu-ră aprovizionarea şi desfacerea producţiei), subsistemul cercetare-dezvoltare (asigură infor-

Page 18: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 19

maţiile tehnico-ştiinţifice necesare dezvoltării companiei), subsistemul financiar-contabil şi subsistemul resurse umane. Indiferent de domeniul pe care îl informatizează, sistemul informatic se integrează şi ocupă un anumit loc în structura organizatorică a societăţii. El poate fi sistem informatic pentru conducerea organizaţiilor mici, pentru conducerea organiza-ţiilor mari, teritorial, naţional sau internaţional. Orice sistem informatic are un ciclu de viaţă marcat de următoarele etape: 1. proiectarea şi realizarea sistemului informatic, în care se concepe şi se realizează

sistemul informatic împreună cu documentaţia necesară pentru exploatarea lui; 2. exploatarea şi întreţinerea sistemului informatic, în care se utilizează efectiv

sistemul informatic, iar sistemul informaţional beneficiază de avantajele aduse de automatizarea prelucrării informaţiei;

3. înlocuirea sistemului informatic cu un sistem informatic nou, cu performanţe superioare, care se face atunci când vechiul sistem informatic nu mai corespunde etapei de dezvoltare a sistemului informaţional pentru care a fost creat (din punct de vedere al necesităţilor organizaţiei, din punct de vedere al noilor tehnologii etc.); noul sistem informatic se poate dezvolta din cel vechi sau poate fi complet nou.

1.1.4. Procesul informaţional În cadrul procesului informaţional se petrec transformările care duc la apariţia informaţiei. Procesul informaţional este condus şi influenţat prin decizii proprii care asigură funcţionarea organizaţiei la parametrii prestabiliţi. Aceste decizii mai au şi rolul de a adapta şi a perfecţiona continuu procesul informaţional astfel încât să corespundă modificărilor din organizaţia pe care o deserveşte.

În cadrul sistemului informatic, procesul informaţional este format din: introducerea datelor prelucrarea datelor extragerea informaţiilor arhivarea (stocarea) datelor

Introducerea datelor Este procesul prin care informaţiile sunt preluate de calculator şi convertite într-un format de dată pe care-l poate prelucra. În această etapă utilizatorul:

colectează datele, fie din documente, fie verbal; execută operaţiile prin care îi cere calculatorului să înceapă activitatea de preluare a datelor; introduce datele prin intermediul unui dispozitiv de intrare (tastatură, mouse, scanner etc.) care le preia şi le converteşte într-un format acceptat de calculator;

supraveghează colectarea datelor şi procesul de introducere. Rezultatul prelucrărilor depinde de corectitudinea datelor introduse. De aceea, în această etapă atât utilizatorul cât şi calculatorul au un scop comun: să asigure date de intrare

Procesul informaţional

Colectare informaţii

Acumulare informaţii

Actualizare informaţii

Arhivare informaţii

Furnizare informaţii

Page 19: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

20 Baze de date

corecte. Utilizatorul realizează acest lucru prin diferite proceduri manuale, stabilite în funcţie de fluxul de date de intrare şi de importanţa lor. Cea mai simplă formă este cea de verificare vizuală prin parcurgerea întregului lot de date introduse în calculator. În funcţie de importanţa datelor, în acest proces pot fi implicate două persoane: una care introduce datele şi alta care verifică dacă sunt corecte (corespund cu sursa de date care de obicei este un document). O altă metodă de verificare este cea de numerotare a documentelor folosite pentru introducerea datelor pentru a se evita omiterea unui document şi implicit a unui set de date de intrare. Calculatorul, la rândul său, prin software-ul pe care îl foloseşte trebuie să asigure următoarele proceduri automate:

să coordoneze procesul de introducere a datelor; să verifice dacă datele sunt valide (dacă ele corespund tipului de date precizat sau dacă aparţin unui domeniu de valori din tipul de date precizat);

să convertească datele valide într-un format pe care-l poate prelucra; să furnizeze utilizatorului diferite rapoarte care să-l ajute să controleze corectitudinea datelor introduse (de exemplu, câte seturi de date a introdus).

Introducerea datelor în calculator se poate face: Pe loturi (batch). Datele de intrare sunt colectate în documente şi, după ce se strânge tot ansamblul de date, este introdus în calculator în vederea prelucrării.

Direct (on-line). Datele de intrare sunt introduse în calculator în momentul în care se produc şi de la locul unde s-au produs.

Scopul folosirii unui sistem de calcul este de a furniza informaţia într-un timp cât mai scurt, dacă se poate imediat după ce s-au produs datele care o generează. Aceasta înseamnă că sistemul trebuie să funcţioneze în timp real. Pentru a asigura acest tip de răspuns al sistemului, introducerea datelor trebuie să se facă on-line.

Prelucrarea Este procesul prin care datele sunt prelucrate de calculator pentru a furniza informaţii. Cele mai obişnuite operaţii de prelucrare sunt cele de clasificare pe categorii a datelor, de ordonare, de calcule statistice şi de totaluri şi de extragere a unor date din colecţia de date în funcţie de anumite criterii exprimate prin condiţii logice. În această etapă utilizatorul:

răspunde la întrebările afişate de programul de aplicaţie prin intermediul interfeţei prin care i se cere să comunice datele necesare desfăşurării procesului de prelucrare;

monitorizează procesul de prelucrare.

Extragerea informaţiilor Este procesul prin care calculatorul furnizează utilizatorului informaţiile necesare desfăşu-rării activităţilor sale zilnice, planificării operaţiilor curente sau pe o perioadă de timp mai mare. Informaţiile obţinute pot fi furnizate imediat utilizatorului sau pot fi stocate pe un mediu extern de memorare pentru a fi folosite ulterior (fie ca date de intrare pentru alte procese de prelucrare a datelor, fie pentru a fi afişate mai târziu).

Rezultatele obţinute în urma prelucrărilor pot fi furnizate în două tipuri de formate: hardcopy, adică informaţii la care utilizatorul poate avea acces ulterior (de exemplu, sunt tipărite pe hârtie sau înregistrate pe un microfilm sau pe un alt suport care poate fi vizualizat ulterior) sau softcopy, adică utilizatorul le poate vizualiza atât timp cât durează prezentarea lor (de exemplu, sunt afişate pe monitor). Prima categorie de formate se recomandă în cazul rapoartelor. A doua categorie se recomandă în cazul informaţiilor care trebuie obţinute în anumite momente sau în anumite situaţii. În general, rezultatele

Page 20: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 21

prelucrărilor pot să prevadă ambele tipuri de formate. Rezultatele pot fi prezentate sub formă de texte, imagini sau sunete şi pot genera comenzi cum ar fi formarea unui număr de telefon către care vor fi transmise într-un anumit format.

În această etapă utilizatorul: pregăteşte rezultatele pentru distribuirea lor; distribuie aceste rezultate persoanelor care au nevoie de ele; vizualizează rezultatele obţinute, le analizează, scrie rapoarte referitoare la aceste rezultate şi, în unele cazuri, în funcţie de poziţia ocupată în cadrul organizaţiei, ia decizii pe baza acestor rezultate.

Modul în care se face distribuirea acestor rezultate către alţi membri ai organizaţiei este stabilit şi controlat prin proceduri manuale decise la nivelul organizaţiei sau prin proceduri automate, dacă se foloseşte o reţea de calculatoare.

Arhivarea În această etapă informaţiile sub formă de date sunt înregistrate pe un suport de memorare pentru a fi folosite ulterior. În această fază rolul principal îl are calculatorul care asigură transferul datelor din memoria internă pe suportul pe care va fi înregistrat rezultatul. Rolul utilizatorului se reduce la:

monitorizarea procesului de stocare; păstrarea evidenţei colecţiilor de date în care au fost stocate rezultatele; luarea deciziei în ceea ce priveşte păstrarea sau ştergerea de pe suport a colecţiei de date.

Aceste proceduri manuale sunt decise de organizaţie. Termenul de păstrare a rezulta-telor pe un suport de memorare va fi decis fie în funcţie de legislaţia în vigoare (durata de păstrare în arhivă a diferitelor tipuri de documente), fie în funcţie de regulamentul intern al organizaţiei.

Scop: Studiul etapelor de prelucrare a informaţiei.

Prelucrarea unei comenzi în cadrul unei companii furnizoare de diferite produse.

1. Introducerea datelor. O persoană din cadrul companiei preia prin telefon, prin poşta electronică, prin serviciul obişnuit de poştă, prin fax sau prin alte mijloace de comunicare, comanda pentru un produs sau pentru o listă de produse furnizate de ea – şi declanşează procesul de introducere a datelor. Prin acest proces se introduce comanda de produse care conţine mai multe date de intrare, de diferite tipuri, care urmează să fie prelucrate: clientul, numărul comenzii, data la care va fi livrată, împreună cu lista de produse comandate care cuprinde denumirea, preţul şi cantitatea comandată. În funcţie de nivelul de dezvoltare a sistemului informatic al companiei, datele de intrare primite sunt introduse direct în calculator de persoana care a primit comanda (on-line) sau sunt înregistrate într-un formular (tipizat la nivelul companiei) care va fi transmis persoanei care introduce datele în calculator (batch). În cazul în care comenzile se primesc prin poştă (fie poşta tradiţională, fie poşta electronică) ele trebuie colectate şi, la un anumit interval de timp, datele din aceste comenzi trebuie introduse în vederea prelucrării (batch). În cazul în care comenzile se primesc prin

Page 21: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

22 Baze de date

telefon sau verbal, datele din ele pot fi introduse imediat pentru a fi prelucrate (on-line). Avantajele folosirii metodei on-line sunt: comanda clientului este înregistrată imediat, stocul de produse este actualizat imediat, factura este emisă imediat, iar situaţia încasărilor companiei este şi ea actualizată în acelaşi moment.

2. Prelucrarea datelor. Mai întâi se verifică dacă fiecare dintre articolele comandate există în stoc în cantitatea comandată. Aceasta presupune o operaţie de comparare pentru fiecare articol comandat. Compararea se face între cantitatea comandată şi cantitatea totală înregistrată pentru acel produs într-o colecţie de date în care este înregistrat stocul de articole. În funcţie de rezultatele acestei căutări în stocul de articole, vor fi calculate datele necesare pentru a putea emite factura către client, care trebuie să conţină lista de produse care vor putea fi furnizate (pentru fiecare produs trebuind precizate cantitatea, preţul unitar de vânzare, preţul total pe articol) şi preţul total pe comandă. În cazul în care firma oferă un discount pentru o anumită cantitate de articole sau pentru o anumită valoare a comenzii, va fi calculat şi discountul practicat de firmă. Va fi calculată şi taxa pentru valoarea adăugată, atât la nivel de articol, cât şi la nivel de factură. Tot în cadrul acestui proces sunt diminuate cantităţile din stoc pentru articolele vândute, corespunzător cantităţilor vândute.

3. Extragerea informaţiilor. Datele obţinute în urma prelucrărilor vor putea fi prezen-tate sub forma unor documente tipărite: factura către client şi, periodic, diferite tipuri de rapoarte (raportul vânzărilor, raportul stocurilor etc.) care pot prezenta informaţia organizată pe grupuri de articole sau la nivel de personal din sectorul Vânzări şi pot prezenta diferite totaluri sau subtotaluri pe categoriile de grupuri de articole. Raportul cu articolele din stoc poate fi prezentat periodic pentru a face comparaţie între datele înregistrate în calculator şi situaţia reală a stocului de articole. Se mai poate prezenta periodic către departamentul Aprovizionare un raport cu articolele comandate şi vândute, pentru a se putea reface stocul de produse.

4. Arhivarea informaţiilor. Datele obţinute pot fi stocate pentru a fi prelucrate ulterior. Astfel, comenzile înregistrate pot fi păstrate într-un fişier sau într-un tabel. Aceste date sunt necesare atât pentru a păstra evidenţa comenzilor emise de un client, cât şi pentru a reface stocul de articole în cazul în care clientul nu îşi ridică articolele comandate. În plus, se vor păstra datele într-un tabel sau fişier cu datoriile clientului (suma datorată pentru articolele comandate) pentru a putea verifica în orice moment starea tranzacţiilor financiare, şi – într-un fişier sau într-un tabel – articolele care trebuie comandate pentru a reface stocul.

Consideraţi că şcoala voastră este o organizaţie formată din mai multe compartimente. Analizaţi procesul informaţional. Identificaţi componentele procesului informaţional în cadrul şcolii.

1.1.5. Aplicaţia de gestiune

Aplicaţia de gestiune creează un sistem informatic pentru un subsistem al organizaţiei sau pentru întreaga organizaţie.

Page 22: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 23

Primul pas în realizarea aplicaţiei de gestiune este crearea modelului conceptual

Pentru realizarea modelului conceptual se parcurg următorii paşi: 1. Se analizează fluxul operaţional şi fluxul informaţional şi se identifică caracteristicile

procesului informaţional. 2. Pe baza caracteristicilor identificate se stabilesc regulile de gestiune. 3. Pe baza regulilor de gestiune se stabilesc entităţile cu lista de atribute şi identificatorii,

asocierile cu colecţia de entităţi şi proprietăţi, rolul entităţilor în asociere şi conecti-vităţile asocierilor.

4. Pe baza entităţilor şi asocierilor definite se stabilesc restricţiile de integritate. 5. Se realizează schema modelului conceptual.

Restricţiile de integritate sunt reguli pe care trebuie să le respecte în permanenţă instanţele entităţilor şi ale asocierilor.

Reguli: 1. Valorile identificatorului entităţii trebuie să fie unice în mulţimea de instanţe ale entităţii.

De exemplu, nu trebuie să existe două instanţe ale entităţii Angajat cu aceeaşi valoare a atributului identificator Marcă.

2. Identificatorul unei instanţe a entităţii trebuie să nu fie nul (trebuie obligatoriu să aibă o valoare). De exemplu, pentru o instanţă a entităţii Angajat este posibil ca atributul Telefon să nu aibă o valoare (atributul este nul deoarece angajatul nu are telefon), dar este obligatoriu ca atributul Marcă folosit ca identificator să aibă o valoare.

3. O instanţă a unei asocieri nu poate exista dacă nu există instanţe ale entităţilor care participă la asociere.

4. Trebuie respectate restricţiile de domeniu de valori ale atributelor (de exemplu, data facturii nu trebuie să fie anterioară datei curente sau cantitatea facturată trebuie să fie strict pozitivă sau nota unui elev nu poate lua decât valori întregi între 1 şi 10).

5. Trebuie respectate corelaţiile dintre valorile atributelor entităţilor şi atributele asocierilor (de exemplu, valoarea atributului CantitateFacturată a asocierii Se facturează pentru o instanţă a entităţii ArticolÎmbrăcăminte nu trebuie să fie mai mare decât a valorii atri-butului CantitateStoc a entităţii Stoc pentru aceeaşi instanţă a entităţii ArticolÎmbrăcă-minte sau valoarea atributului Reţineri nu trebuie să fie mai mare decât un procent din valoarea atributului TotalSalariu a aceleiaşi instanţe a entităţii Angajat).

6. Atunci când o entitate participă la mai multe asocieri trebuie respectate restricţiile impuse de relaţiile dintre rolurile entităţii.

Asocierile pot fi: Asocieri ierarhice – sunt asocieri în care există o conectivitate maximă egală cu 1. De obicei nu au atribute proprii. Ele implică restricţii de integritate funcţională.

Asocieri non-ierarhice – sunt asocieri în care ambele conectivităţi maxime au valoarea n. De obicei au atribute proprii. Ele implică restricţii de integritate multiplă.

Modelul conceptual este format din:

Entităţi Asocieri Conectivităţi Roluri

Page 23: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

24 Baze de date

Relaţiile dintre rolurile unei entităţi Dacă o entitate participă la două asocieri, va avea două roluri: unul faţă de prima asociere (Rol1) şi unul faţă de cea de a doua asociere (Rol2). Între cele două roluri se poate stabili una dintre relaţiile:

Relaţia de incluziune – rolul Rol1 al entităţii într-o asociere impune rolul Rol2 al entităţii într-o altă asociere (o instanţă a entităţii nu poate avea rolul Rol2 în cea de a doua asociere, dacă nu a avut rolul Rol1 în prima asociere Se notează: Rol1 | Rol2

Relaţia de excluziune – cele două roluri ale entităţii Rol1 şi Rol2 se exclud reciproc (nu pot să existe amândouă pentru aceeaşi instanţă a entităţii). Se notează: Rol1 # Rol2.

Relaţia de egalitate – între cele două roluri ale entităţii Rol1 şi Rol2 nu există restricţie de incluziune (o instanţă a entităţii poate avea rolul Rol1, independent de existenţa rolului Rol2, şi invers). Se notează: Rol1 = Rol2.

Exemple: Relaţia de incluziune. Un client al fabricii trimite un bon de comandă pentru un grup de articole de îmbrăcăminte şi aceste articole îi sunt livrate în baza unui bon de livrare. În această activitate intervin trei entităţi: Client, BonComandă şi BonLivrare şi două asocieri: Trimite între entitatea Client şi entitatea BonComandă şi Determină între BonComandă şi BonLivrare. Entitatea BonComandă participă la ambele asocieri: la prima cu rolul Este trimis şi la a doua cu rolul Determină. Cele două roluri sunt în relaţia de incluziune deoarece entitatea BonComandă nu poate avea rolul Determină dacă nu a avut rolul Este trimis.

Relaţia de excluziune. Firma care vinde şi închiriază autoturisme încasează de la client contravaloarea autoturismului sau a serviciului de închiriere în baza unui document de încasare. În această activitate intervin două entităţi Autoturism şi DocumentÎncasare şi două asocieri între cele două entităţi: Conţine1, cu atributele NumărAutoturismeÎnchiriate şi TarifÎnchiriere, şi asocierea Conţine2, cu atributele NumărAutoturismeVândute şi PreţVânzare. Rolul entităţii Autoturism în asocierea Conţine1 este Se închiriază, iar în asocierea Conţine2 este Se vinde. Cele două roluri sunt în relaţia de excluziune deoarece entitatea Autoturism nu poate avea în acelaşi timp şi rolul Se vinde şi rolul Se închiriază (un autoturism nu poate fi şi vândut şi închiriat). Relaţia de egalitate. Firma care vinde articole de îmbrăcăminte livrează articole unui client pe baza unui bon de livrare. Preţul de livrare al fiecărui articol este păstrat într-un catalog în care este înregistrată şi data limită pentru acele preţuri. În această activitate intervin trei entităţi, Catalog, Articol şi BonLivrare şi două asocieri, Se vinde (cu atributul PreţVânz), între entitatea Catalog şi entitatea Articol, şi Conţine, între entităţile Articol şi BonLivrare. Entitatea Articol participă la ambele asocieri: la prima cu rolul Este vândut şi la a doua cu rolul Este livrat. Cele două roluri sunt în relaţia de egalitate deoarece entitatea Articol se

1,n

este emis

0,n

BonComandă

Client BonLivrare

Trimite Determină

0,n

1,1

1,1 determină

emite este determinat

|

Page 24: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 25

vinde cu preţul din catalog până la date limită, indiferent dacă este livrat sau nu unui cllient, şi este livrat unui client indiferent de preţul cu care se vinde.

Scop: Realizarea modelului conceptual al unei aplicaţii de gestiune. Enunţul problemei: Se realizează subsistemul de facturare al compartimentului Distri-buţie al unei fabrici care produce articole de îmbrăcăminte.

Pasul 1. Analizând fluxurile operaţionale şi informaţionale s-au constatat următoarele: Fabrica produce articole de îmbrăcăminte care se împart în două categorii: articole de îmbrăcăminte pentru femei şi articole de îmbrăcăminte pentru bărbaţi.

Fabrica are 1500 de clienţi fideli. Există trei categorii de clienţi: magazine, depozite en-gros şi firme de export.

Fabrica are un catalog de produse în care sunt înregistrate aproximativ 3000 de modele. Preţurile din catalog sunt valabile 3 luni. Catalogul de produse se reactua-lizează trimestrial.

Compartimentul Distribuţie are 5 posturi de lucru. Fiecare post de lucru are propriul său stoc de articole de îmbrăcăminte şi primeşte comenzile de la clienţii proprii.

Facturile de la cele cinci puncte de lucru sunt centralizate la sediul fabricii, la compartimentul Distribuţie.

Pentru fiecare bon de comandă al unui client pot fi emise mai multe bonuri de livrare (în funcţie de articolele care există în stoc).

Pentru fiecare bon de livrare se emite o factură. Preţul de facturare este cel de la data la care a fost emis bonul de comandă.

La nivelul organizaţiei există subsisteme informatizate printre care şi subsistemul Contabi-litate. Aceste subsisteme folosesc o reţea de calculatoare instalate la sediul fabricii.

se închiriază

1,n

Autoturism

DocumentÎncasare

Conţine1 TarifÎnchiriere

Conţine2 PreţVânzare

0,n

1,n

0,n se vinde

se încasază se încasează

#

este vândut

0,n

Articol

Catalog BonLivrare

Se vinde PreţVânz

Determină

0,n

1,n

1,n este livrat

indică conţine

=

Page 25: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

26 Baze de date

Fiecare post de lucru va fi dotat cu un microcalculator care va fi conectat la reţeaua de calculatoare.

Sistemul conducător doreşte ca, pentru reducerea costurilor, prin sistemul informatic facturarea clienţilor să se facă lunar (se emite o singură factură pentru un client pentru toate bonurile de livrare dintr-o lună).

Sistemul conducător are nevoie de următoarele informaţii: − situaţii statistice lunare (pe ultimele 12 luni) pe posturi de lucru, pe clienţi (cu

evidenţiere pe fiecare categorie de clienţi) şi pe articole de îmbrăcăminte (cu evidenţiere pe fiecare categorie de articole);

− situaţii statistice anuale (pe ultimii 5 ani) pe posturi de lucru, pe clienţi (cu evidenţiere pe fiecare categorie de clienţi) şi pe articole de îmbrăcăminte (cu evidenţiere pe fiecare categorie de articole);

Pasul 2. Pe baza analizei făcute se stabilesc următoarele reguli de gestiune: 1. Un client aparţine unei singure categorii. 2. Un client lucrează numai cu unul dintre posturile de lucru. 3. Un client poate să emită unul sau mai multe bonuri de comandă. 4. Un bon de comandă este emis de un singur client. 5. Un bon de comandă poate determina mai multe bonuri de livrare. 6. Un bon de livrare este emis în baza unui singur bon de comandă. 7. Un articol de îmbrăcăminte aparţine unei singure categorii. 8. Catalogul cu articole de îmbrăcăminte este actualizat trimestrial. 9. Un bon de comandă poate conţine unul sau mai multe articole de îmbrăcăminte. 10. Un articol de îmbrăcăminte poate să apară într-un bon de comandă, sau nu. 11. Un bon de livrare poate conţine unul sau mai multe articole de îmbrăcăminte. 12. Un articol de îmbrăcăminte poate să apară într-un bon de livrare, sau nu. 13. Un bon de livrare generează o singură factură. 14. O factură poate corespunde la mai multe bonuri de livrare. 15. Tarifele de facturare corespund datei la care a fost emis bonul de comandă în baza

căruia s-a emis bonul de livrare. 16. Fiecărui articol de îmbrăcăminte îi corespunde un singur procent pentru TVA. 17. Situaţiile statistice lunare cerute de sistemul conducător se realizează lunar şi se

arhivează pe o perioadă de 12 luni. 18. Situaţiile statistice anuale cerute de sistemul conducător se realizează anual şi se

arhivează pe o perioadă de 5 ani. 19. Se obţine lunar jurnalul de vânzări care este necesar subsistemului Contabilitate. 20. O factură se emite o singură dată pe lună pentru un client care a trimis cel puţin o

comandă. 21. Este posibil ca facturarea să se facă după livrare. şi se stabilesc următoarele restricţii: 1. Fiecare client trebuie să aparţină unei categorii de clienţi şi unui post de lucru. 2. Fiecare bon de livrare trebuie să fie generat de un bon de comandă şi, la rândul său,

trebuie să corespundă unei facturi. 3. Fiecare factură trebuie să fie emisă unui client. 4. Mărimea unui articol de îmbrăcăminte trebuie să aparţină domeniului [34,56]. Pasul 3. Pe baza reguli de gestiune se stabilesc entităţile cu lista de atribute şi identi-ficatorii, asocierile cu colecţia de entităţi şi proprietăţile şi conectivităţile. Numele de entităţi şi atribute trebuie să fie unice.

Page 26: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 27

Entităţile: Nume Atribute Identificator Post IdPost, NumePost IdPost CategClient IdCatClient, DenCatClient IdCatClient Client IdClient, NumeClient, Loc, Adresa, Jud, CodPostal IdClient CategArticol IdCatArt, DenCatArt IdCatArt Articol CodArt, DenArt, Marime, CotaTVA CodArt Catalog DataLimita DataLimita BonComanda NrBonComanda, DataComanda NrBonComanda BonLivrare NrBonLivrare, DataLivrare NrBonLivrare Factura NrFactura, DataFactura NrFactura An AnCurent AnCurent Perioada AnIniţial AnInitial

Pentru entităţi s-au folosit nume sugestive: Post (post de lucru), CategClient (categoria clientului), Articol (articol de îmbrăcăminte), CategArticol (categoria articolului de îmbră-căminte). Pentru atributele proprietăţilor s-au folosit nume sugestive: IdPost (identificator post), IdCatClient (identificator categorie client), DenCatClient (denumire categorie client), IdCatArt (identificator categorie articol îmbrăcăminte) şi DenCatArt (denumire categorie articol îmbrăcăminte). Asociere:

Entitate Asociere Entitate Atribute Client – este inclus în (1,1) Aparţine1 CategClient – include (1,n) Articol – este inclus în (1,1) Aparţine2 CategArticol – include (1,n) Client – se aprovizionează de la (1,1) Se înregistrează Post – lucrează cu (0,n) Client – emite (0,n) Trimite BonComanda – este emis de (1,1) BonComanda – se comandă (1,n) Conţine1 Articol – este comandat (0.n) CantComBonComanda – determină (0,n) Determină BonLivrare – este generat de (1,1) BonLivrare – conţine (1,n) Conţine2 Articol – este livrat (0.n) CantLivr BonLivrare – corespunde la (0,1) Corespunde Factura – este generată de (1,n) Articol – este vândut (1,n) Se vinde Catalog – indică (1,n) PretVanz Factura – este emisă pentru (1,1) Se trimite Client – primeşte (0,n) Post – emite (0,n) Se emite Factura – este emisă de (1,1) Factura – au fost emise în (0,1) Aparţine4 AnCurent – s-au emis (0,n) Luna Factura – au fost emise în (0,1) Aparţine5 Perioada – s-au emis (1,n) An

Pentru atributele asocierilor s-au folosit nume sugestive: CantCom (cantitate comandată), CantLivr (cantitate livrată) şi PretVânz (preţ de vânzare). Conectivităţile au fost determinate astfel: Asocierea Aparţine1

Fiecare client aparţine obligatoriu unei categorii de clienţi (1), dar numai unei singure categorii de client (1).

Unei categorii de client îi corespunde cel puţin un client (1) sau mai mulţi clienţi (n). Asocierea Aparţine2

Fiecare articol de îmbrăcăminte aparţine obligatoriu unei categorii de articole (1), dar numai unei singure categorii de articole (1).

Unei categorii de articol îi corespunde cel puţin un articol (1) sau mai multe aticole (n). Asocierea Se înregistrează

La un post de lucru poate să nu fie înregistrat niciun client (0) sau mai mulţi clienţi (n).

Page 27: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

28 Baze de date

Fiecare client aparţine obligatoriu unui post de lucru (1), dar numai unui singur post de lucru (1).

Asocierea Trimite Un client poate să nu trimită niciun bon de comandă (0), sau să trimită mai multe bonuri de comandă (1).

Un bon de comandă este emis obligatoriu de un client (1) şi numai unul (1). Asocierea Conţine1

Un bon de comandă poate să conţină un singur articol de îmbrăcăminte (1) sau mai multe (n).

Este posibil ca într-o perioadă de timp un articol de îmbrăcăminte să nu fie solicitat de niciun client – nu apare în niciun bon de comandă (0) – sau să fie solicitat de mai multe bonuri de comandă (n).

Asocierea Determină Un bon de comandă poate să nu fie onorat – nu se emite un bon de livrare (0) – sau poate fi onorat în mai multe etape – se emit mai multe bonuri de livrare (n).

Un bon de livrare este emis obligatoriu pentru a onora un bon de comandă (1) şi numai unul (1).

Asocierea Conţine2 Un bon de livrare poate să conţină un singur articol de îmbrăcăminte (1) sau mai multe (n).

Este posibil ca într-o perioadă de timp un articol de îmbrăcăminte să nu fie livrat – nu apare în niciun bon de livrare (0) – sau să fie livrat prin mai multe bonuri de livrare (n).

Asocierea Corespunde Un bon de livrare poate să nu fie încă facturat – nu corespunde niciunei facturi (0) –sau să fi fost facturat – este facturat într-o singură factură (1).

O factură a fost emisă pentru cel puţin un bon de livrare (1) sau mai multe (n). Asocierea Se vinde

Data limită din catalog indică un singur preţ de vânzare (1) sau mai multe (n). Un articol a fost vândut cu un singur preţ (1) sau cu mai multe (n).

Asocierea Se trimite Pentru un client nu se emite nicio factură – nu a făcut o comandă sau nu i-a fost livrată nicio comandă (0) – sau au fost emise mai multe facturi (n).

O factură se emite obligatoriu pentru un client (1) şi numai unul (1). Asocierea Se emite

Un post de lucru poate să nu fi emis nicio factură – nu a făcut o nicio livrare (0) – sau a emis mai multe facturi (n).

O factură este emisă obligatoriu de un post de lucru (1) şi numai de unul (1). Asocierea Aparţine4

Într-o lună a anului curent nu a fost emisă nicio factură (0) sau au fost emise mai multe (n). O factură nu a fost emisă într-o lună a anului curent (0) sau a fost emisă într-o lună a anului curent (1).

Asocierea Aparţine5 Într-un an al perioadei nu a fost emisă nicio factură (0) sau au fost emise mai multe (n). O factură nu a fost emisă într-un an al peroadei (0) sau a fost emisă într-un an al perioadei (1).

Page 28: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 29

Pasul 4. Se stabilesc restricţiile de integritate. De exemplu, un bon de comandă nu poa-te determina un bon de livrare dacă bonul de comandă nu a fost emis de un client.

Pasul 5. Se realizează schema modelului conceptual.

În acest model conceptual, pentru entităţile care participă la mai multe asocieri, identificaţi tipul relaţiei dintre roluri şi restricţiile de integritate pe care le impun. Stabiliţi şi alte restricţii de integritate (restricţii de domeniu, corelări etc.).

1. Completaţi schema modelului conceptual cu entităţile An şi Perioada şi asocierile corespunzătoare lor.

2. Să se realizeze modelul conceptual al unui sistem informatic pentru o companie care oferă servicii de consultanţă şi care trebuie să asigure gestionarea serviciilor de consultanţă

asigurate clienţilor de către angajaţii companiei. În urma analizei fluxurilor operaţionale şi informaţionale s-au constatat următoarele: − Fiecare angajat al companiei are o persoană din cadrul companiei care îi monito-

rizează şi îi supervizează activitatea. − Atunci când un client solicită pentru prima dată serviciile acestei companii, i se

repartizează un angajat care să se ocupe de el. De obicei angajatul se întâlneşte cu clientul până când i se rezolvă problema.

− În cadrul primei discuţii, angajatul stabileşte obiectivele consultanţei, termenele şi costul estimativ. Aceste date se pot modifica pe parcursul desfăşurării consultanţei. Trebuie ţinută evidenţa acestor modificări.

− Pentru fiecare şedinţă de consultanţă trebuie să se păstreze date despre modul în care serviciile prestate de angajat îndeplinesc obiectivele consultanţei, în confor-mitate cu termenele stabilite. Pentru fiecare şedinţă se păstrează următoarele infor-maţii: data şedinţei, angajatul cu care s-a întâlnit clientul, durata şedinţei, suma facturată pentru şedinţă, rezumatul modului în care a decurs întâlnirea.

− Costul unui serviciu de consultanţă este în funcţie de ore. Tariful orar depinde de angajatul care s-a ocupat de client: cu cât acesta are mai multă experienţă, cu atât tariful este mai mare. Pentru fiecare şedinţă de consultanţă se emite o notă de plată.

− Totalul sumelor facturate prin notele de plată trebuie să fie comparat cu valoarea estimată pentru costul consultanţei.

− Unii clienţi sunt întâmplători, alţii devin permanenţi, solicitând frecvent diferite servi-cii de consultanţă. Compania poate derula la un moment dat două sau mai multe contracte de consultanţă cu acelaşi client. Pentru fiecare contract se va ţine o evidenţă separată a notelor de plată.

− Un angajat al companiei are mai mulţi clienţi, iar un client poate lucra cu mai mulţi angajaţi ai companiei.

− Sistemul conducător are nevoie lunar de două rapoarte: unul care să furnizeze informaţii despre consultanţa oferită fiecărui client şi unul care să furnizeze informaţii despre activitatea fiecărui angajat care oferă consultanţă.

3. Analizând fluxurile operaţionale şi informaţionale din clasă, realizaţi modelul conceptual al unui subsistem informatic.

4. Analizând fluxurile operaţionale şi informaţionale din biblioteca şcolii, realizaţi modelul conceptual al unui subsistem informatic.

Page 29: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

30 Baze de date

Page 30: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 31

5. Analizând fluxurile operaţionale şi informaţionale din secretariatul şcolii, realizaţi modelul conceptual al unui subsistem informatic.

6. Analizând fluxurile operaţionale şi informaţionale de la examenul de bacalaureat, realizaţi modelul conceptual al unui subsistem informatic.

7. Analizând fluxurile operaţionale şi informaţionale din magazia cu material sportiv, realizaţi modelul conceptual al unui subsistem informatic.

1.1.6. Baza informaţională a organizaţiei Baza informaţională reprezintă totalitatea informaţiilor care deservesc întreaga organi-zaţie, fiecare compartiment al ei şi fiecare participant şi activitatea lui. Aceste informaţii se găsesc în diferite documente: fişe tehnologice, liste de materiale, documente contabile etc.

Fişierul Fişierele sunt colecţii de date în care se memorează un volum mic de date care au o legă-tură de conţinut. Manipularea informaţiilor dintr-un fişier se face cu un software specializat, în funcţie de tipul datelor memorate (de exemplu, foile de calcul create cu aplicaţia Excel sunt fişiere de date). Principalele probleme pe care le implică o colecţie de date formată dintr-un ansamblu de fişiere de date sunt:

Redundanţa datelor. Redundanţa reprezintă o proprietate a unei colecţii de date şi se referă la faptul că unele componente ale colecţiei sunt memorate de mai multe ori pe suportul de memorare. Date care reprezintă aceeaşi informaţie pot să apară în fişiere de date diferite, de multe ori cu formate de reprezentare diferite. Folosind mai multe copii ale aceloraşi date, se consumă inutil suport de memorare. Pe lângă acest dezavantaj, mai există şi alte dezavantaje: se consumă timpi suplimentari cu actualizarea datelor, deoarece se actualizează de mai multe ori acelaşi set de date (actualizarea se face în fiecare fişier de date în care setul de date apare), actualizarea

Baza informaţională

Sursele care furnizează informaţia

Tehnici de căutare a informaţiei

Baza de date Este o colecţie de date care

descrie activitatea unei organizaţii şi care furnizează membrilor organizaţiei acces

la diferite informaţii, prezentate în diferite formate.

Banca de date Este o colecţie de una sau mai multe baze date – care acoperă un subiect sau mai

multe subiecte destinate unei categorii largi de utilizatori.

Surse care furnizează informaţia

Fişierul Este o colecţie de

date care descrie o categorie de

informaţii.

Page 31: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

32 Baze de date

datelor în toate fişierele de date este un proces dificil (fiecare posesor al unui fişier de date trebuie să fie informat de schimbările survenite) şi nu pot fi controlate erorile apărute în procesul de actualizare a datelor.

Actualizarea fişierelor şi păstrarea integrităţii datelor. Actualizarea datelor trebuie să se facă în toate fişierele în care apar. Dacă se omite un singur fişier, nu mai este asigurată integritatea datelor, iar rapoartele obţinute cu aceste date vor conţine informaţii greşite.

Dependenţa programelor de fişierele de date. Pentru exploatarea şi întreţinerea fiecărui fişier de date, programatorii vor scrie câte un program. Orice modificare în structura fişierului de date va avea ca efect modificarea programului de aplicaţie. În plus, în loc să se scrie un singur program pentru o colecţie de date unică, se scriu mai multe programe, câte unul pentru fiecare colecţie. Efectul este creşterea costurilor plătite de către organizaţie pentru programele care trebuie să-i furnizeze informaţiile din fişierele de date.

Scop: Analiza unei surse informaţionale formată din fişiere.

Analiza sursei de informaţii a unei companii furnizoare de diferite produse.

Fiecare departament al companiei şi-a creat şi întreţinut propriul fişier de date: Departamentul Resurse umane are fişierul Angajaţi în care sunt păstrate date despre angajaţii companiei: numele, codul numeric personal, adresa, numărul de telefon, data naşterii, data angajării, studii, experienţă, funcţia şi departamentul în care lucrează, istoricul posturilor ocupate, data fiecărei avansări etc.

Departamentul Salarizare are fişierul Salarii în care sunt păstrate date despre salariile angajaţilor companiei: numele şi prenumele salariatului, codul numeric personal, adresa, funcţia deţinută, treapta de salarizare, salariul tarifar, numărul de ore lucrate, reţineri lunare, salariul lunar etc.

Departamentul Relaţii cu clienţii are fişierele Clienţi în care sunt păstrate date despre clienţii companiei (numele companiei client, adresa, numele persoanei de contact,

Vânzări

Resurse umane Salarizare

Relaţii cu clienţii

Producţie Marketing

Aprovizi-onare

Angajaţi Produse

Clienţi Comenzi

Salarii Catalog produse

Stocuri

Furnizori

Page 32: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 33

telefonul etc.) şi Comenzi în care sunt păstrate informaţii despre comenzile clienţilor (numărul comenzii, clientul care a emis comanda, conţinutul comenzii, data comenzii etc.).

Departamentul Aprovizionare are fişierele Stocuri în care sunt păstrate date des-pre stocul de materiale şi materii prime necesare producţiei (denumirea materialului, unitatea de măsură, cantitatea etc.) şi Furnizori în care sunt păstrate date despre furnizorii de materii prime şi materiale ai companiei (numele companiei furnizor, adresa, numele persoanei de contact, telefonul etc.).

Departamentul Marketing are fişierele Vânzări în care sunt păstrate date despre vânză-rile de produse ale companiei (denumirea produsului, unitatea de măsură, cantitatea, data vânzării, persoana care a intermediat vânzarea, date despre clientul care a cumpărat produsul etc.) şi Catalog_produse care conţine un catalog cu oferta de produse a companiei (denumirea produsului, descrierea produsului, unitatea de măsură, preţul etc.).

Departamentul Producţie are fişierele Produse în care sunt păstrate date despre produsele realizate: denumirea produsului, unitatea de măsură, cantitatea, data la care a fost realizat produsul etc.

Deoarece datele companiei se găsesc în mai multe fişiere de date independente, apar următoarele dezavantaje: 1. Departamentele nu pot folosi în comun datele de care au nevoie. Între fişierele cu

date ale departamentelor nu există posibilitatea de comunicare, iar departamentele nu pot folosi în comun aceste date. De exemplu, dacă angajaţii implicaţi în vânzări sunt plătiţi în funcţie de coeficientul vânzărilor lunare, şi nu conform unui salariu tarifar, informaţiile necesare calculării drepturilor salariale ale acestor persoane se găsesc în fişierul Vânzări. La acest fişier nu are acces funcţionarul din departamentul Salarizare, care are nevoie de ele pentru a calcula salariul lunar al angajaţilor ce se ocupă cu vânzarea produselor. Aceasta înseamnă că o persoană din departamentul Marketing va extrage din fişierul Vânzări o listă cu angajaţii implicaţi în vânzări în luna respectivă şi cu volumul valoric al vânzărilor fiecăruia dintre ei. La rândul său, persoana din departamentul Salarizare va trebui să actualizeze fişierul Salarii pe baza listei primite.

2. Ansamblul de fişiere de date are o redundanţă foarte mare. Colecţia de fişiere de date are o redundanţă mare deoarece foarte multe din date sunt duplicate, fiind memorate în mai multe fişiere de date. De exemplu, unele informaţii despre angajaţi sunt memorate şi în fişierul Salarii, aflat în întreţinerea compartimentului Salarizare, dar şi în fişierul Angajaţi, aflat în întreţinerea compartimentului Resurse umane, sau unele informaţii despre produsele realizate pot să apară atât în fişierul Produse, aflat în întreţinerea compartimentului Producţie, cât şi în fişierul Catalog_produse, aflat în întreţinerea compartimentului Marketing.

3. Orice mişcare în cadrul companiei necesită intervenţia în mai multe fişiere de date. De exemplu, datele despre un client pot să apară atât în fişierul Clienţi, cât şi în fişierul Vânzări. Dacă un client îşi schimbă adresa, modificarea trebuie făcută în ambele fişiere. Deci, o persoană din cadrul companiei trebuie să aibă grijă să informeze cele două persoane care se ocupă de actualizarea celor două fişiere din cele două departamente, ca să facă aceste modificări. Aceasta înseamnă că, la nivelul companiei, ar trebui să existe o persoană care să aibă cunoştinţe despre toate aceste fişiere de date, de structura lor şi de toate schimbările care apar în cadrul companiei şi care pot afecta aceste date. Această persoană ar trebui să informeze, atunci când este cazul, departamentele care trebuie să-şi actualizeze datele, ce date trebuie să actualizeze şi cu ce valori, altfel nu ar mai putea fi asigurată integritatea datelor. Deficienţe pot să apară

Page 33: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

34 Baze de date

chiar dacă această persoană informează corect departamentele. Persoana care face modificări într-un fişier de date poate să scrie greşit o valoare, astfel încât, la nivelul companiei, aceeaşi dată va avea valori diferite, în fişiere diferite.

1. Identificaţi în colecţia de fişiere de date a companiei datele redun-dante. Identificaţi, în aceeaşi colecţie, datele care sunt necesare mai multor departamente. Presupunând că datele companiei se organi-zează într-o colecţie unică, daţi exemple de date la care trebuie controlat accesul angajaţilor companiei.

2. Consideraţi că şcoala voastră este o organizaţie formată din mai multe compar-timente. Analizaţi activitatea din şcoala voastră şi puneţi în evidenţă fişierele de date care pot fi folosite pentru a ţine evidenţa activităţilor care au loc la nivelul şcolii şi la nivelul fiecărei clase. Arătaţi care sunt deficienţele acestei colecţii de fişiere de date.

Ansamblurile independente de date sunt folosite în general în folosul unui singur depa-tament al organizaţiei şi mai puţin în folosul întregii organizaţii.

Soluţia care poate rezolva această problemă este reunirea acestor informaţii într-o colecţie unică numită baza de date. În acest mod, organizaţia îşi poate exercita contro-lul asupra tuturor datelor. În această colecţie pot fi eliminate datele duplicate (de exemplu, informaţiile despre un client care apar şi în fişierul Clienţi şi în fişierul Vânzări şi în fişierul Comenzi), micşorându-se foarte mult redundanţa datelor. Deoarece datele se vor găsi o singură dată, în aceeaşi colecţie, actualizarea lor se poate face mult mai uşor, asigurându-se astfel integritatea datelor. În plus, angajaţii unui departament pot avea acces şi la datele produse de un alt departament.

Baza de date Bazele de date sunt colecţii de date între care există o legătură logică de conţinut. Manipularea informaţiilor dintr-o bază de date se face cu un software specializat, numit sistem de gestiune a bazelor de date, care asigură regăsirea rapidă a informaţiilor. Bazele de date pot fi mici sau mari, cu limitări în ceea ce priveşte accesul sau cu acces nelimitat. Există următoarele tipuri de baze de date.

Baze de date individuale. Se mai numesc şi baze de date pentru microcalculatoare. Sunt colecţii de fişiere de date integrate folosite de o singură persoană. Datele şi programele pentru sistemul de gestiune a bazelor de date se găsesc sub directul control al utilizatorului. Ele sunt păstrate pe hard-discul utilizatorului sau pe serverul de fişiere al unei reţele locale. De exemplu, în domeniul vânzărilor, acest tip de baze de date poate fi folosit pentru a păstra evidenţa propriilor clienţi, iar managerul de vânzări poate folosi baza de date pentru a păstra evidenţa personalului de vânzări şi a performanţelor lor. În domeniul publicităţii, baza de date poate fi folosită pentru a păstra evidenţa despre natura lucrărilor şi numărul de ore afectate fiecărui client. Se pot crea diverse baze de date domestice care să

Tipuri de baze de date

Baze de date individuale

Baze de date partajate

Baze de date distribuite

Page 34: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 35

integreze agenda de telefon, agenda de adrese, cărţile din bibliotecă, CD-urile audio şi video. Se poate folosi această bază de date pentru a obţine rapid informaţii despre numărul de telefon sau adresa prietenilor sau pentru a ţine evidenţa obiectelor împrumutate.

Baze de date partajate. Companiile creează baze de date pentru uzul propriu. Ele pot fi stocate pe un calculator mare şi administrate de un specialist în informatică numit admi-nistrator de bază de date. Angajaţii companiei pot avea acces la baza de date folosind microcalculatoare legate la calculatorul pe care se găseşte baza de date, prin intermediul unei reţele locale sau globale. Există două tipuri de astfel de baze de date:

Baze de date pentru personalul operativ – conţin detalii despre activităţile compa-niei (de exemplu, informaţii despre vânzări sau producţie).

Baze de date pentru personalul de decizie – conţin informaţii selectate atât din baza de date operativă, cât şi din baze de date private din exteriorul companiei. Aceste baze de date sunt folosite de obicei de directorii companiei, pentru a lua decizii.

Baze de date distribuite. În cazul companiilor care au o distribuţie teritorială a birourilor, a filialelor şi/sau a reprezentanţelor, este foarte probabil ca datele să nu fie stocate într-un singur loc, ci în mai multe locuri. Ele devin accesibile angajaţilor prin diferite reţele de comunicaţii. Aceste baze de date sunt baze de date distribuite, adică pot fi localizate în alt loc sau în alte locuri decât cel în care se găseşte utilizatorul. De obicei, serverele de baze de date ale reţelelor furnizează legătura între utilizatori şi baza de date aflată la distanţă. Astfel, unele dintre informaţii pot fi stocate într-un birou regional al companiei, altele la un birou din străinătate, iar altele chiar la sediul companiei. De exemplu, o companie este formată dintr-un lanţ de magazine, iar datele despre vânzări pot fi loca-lizate în diferite magazine. Persoanele de execuţie de la sediul companiei trebuie să aibă acces la toate aceste date. Principala problemă care apare în cazul bazelor de date partajate şi distribuite este ca angajaţii unui departament să aibă acces numai la datele care le sunt strict necesare şi nu la toate datele companiei. De exemplu, persoana care se ocupă de corespondenţă trebuie să aibă acces numai la adresele angajaţilor, ale clienţilor şi ale furnizorilor, pentru a putea expedia corespondenţa, nu şi la alte date despre aceştia: salariile angajaţilor, conturile banca-re ale clienţilor, facturile emise către clienţi şi alte tranzacţii financiare făcute de companie.

Controlul se execută prin intermediul administratorului bazei de date care este o poziţie în cadrul administraţiei (ocupată de una sau mai multe persoane) ce are ca atribuţie stabi-lirea datelor care sunt necesare în cadrul organizaţiei sau la nivelul fiecărui departament. Administratorul bazei de date mai poate să stabilească şi modul în care se execută accesul la date, adică să hotărască pentru fiecare persoană din organizaţie setul de date din colecţia de date la care are acces. Pe parcursul exploatării bazei de date, el poate să hotărască modificarea structurii bazei de date în funcţie de noile cerinţe ale organizaţiei.

Principalul avantaj al bazelor de date îl reprezintă partajarea datelor unei organizaţii între membrii ei, iar principalul dezavantaj este necesitatea controlării accesului la datele importante din colecţie. Bazele de date reprezintă fundamentul sistemelor informatice pentru conducere. De exemplu, departamentul de vânzări al unui magazin poate păstra toate datele despre tranzacţiile de vânzări într-o bază de date. Directorul de vânzări poate folosi aceste infor-maţii pentru a vedea ce angajat din departamentul său a vândut cele mai multe produse. Directorul va putea stabili astfel la sfârşitul anului premierile pe care le va da personalului

Page 35: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

36 Baze de date

din departamentul său. Directorul departamentului de aprovizionare poate vedea din prefe-rinţele cumpărătorilor ce produse se vând mai bine şi ce produse nu se vând şi, folosind aceste informaţii, poate să corecteze aprovizionarea cu produse. Directorul principal poate combina toate aceste informaţii despre tendinţele vânzărilor din magazin cu informaţii din baze de date externe magazinului, referitoare la tendinţele populaţiei şi ale consumului. Aceste informaţii pot fi folosite pentru a stabili strategia de vânzare a magazinului. Bazele de date oferă diverselor activităţi o mare oportunitate pentru productivitate. Astfel, în biblioteci, bazele de date electronice sunt considerate foarte valoroase deoarece asigură un acces rapid la orice informaţie din cărţi şi ziare. Bazele de date ajută la păstrarea unor volume mari de date şi la găsirea rapidă a oricărei informaţii necesare pentru luarea deciziilor. Întreţinerea bazelor de date necesită însă un efort continuu pentru a împiedica falsificarea datelor sau utilizarea incorectă a lor.

Banca de date Banca de date, fiind o colecţie de baze de date, are implementată o tehnologie specială pentru regăsirea datelor în bazele de date care o compun. Ele nu deservesc organizaţii, ci sisteme de documentare, oferind servicii de documentare unor categorii foarte diverse de utilizatori (de exemplu, informaţii despre mersul trenurilor sau despre cursul valutar). Băncile de date pot fi cu limitări în ceea ce priveşte accesul – sau cu acces nelimitat. Există următoarele tipuri de bănci de date:

Bănci de date particulare. O bancă de date particulară este în general o colecţie enor-mă de date pe care o organizaţie o dezvoltă ca să acopere un anumit subiect. Organi-zaţia poate oferi acces la banca sa de date tuturor persoanelor sau numai anumitor per-soane, contra unei taxe. Uneori băncile de date particulare mai sunt numite şi servicii de informare. Cele mai importante bănci de date particulare sunt: CompuServe, care oferă servicii pentru domeniul afacerilor, inclusiv serviciul de poştă electronică, Prodigy care oferă ştiri şi informaţii din domeniul afacerilor şi economic, ca de exemplu servicii pentru organizarea timpului liber, Dialog Information Services, care oferă servicii de informare tehnico-ştiinţifică, şi Dow Jones New Retrieval care furnizează ştiri din lume şi informaţii din domeniul afacerilor, al investiţiilor şi al bursei.

Bănci de date publice. Cea mai mare bancă de date publică este cea stocată pe serve-rele reţelei Internet.

1.2. Baza de date Din punct de vedere al serviciilor pe care le oferă, baza de date este o colecţie de date care poate descrie întreaga activitate a unei organizaţii şi care furnizează acces la diferite informaţii, prezentate în diferite formate. Din punct de vedere al organizării datelor sub forma unei structuri de date pe mediul de memorare, ea este forma optimă de organizare a datelor. Se poate spune că:

Bănci de date particulare Bănci de date publice

Tipuri de bănci de date

Page 36: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 37

Baza de date (database) este o colecţie de fişiere şi înregistrări legate între ele.

Cea mai eficientă metodă de organizare a volumelor mari de date este sub formă de baze de date.

Avantajele folosirii bazelor de date în locul fişierelor de date sunt: 1. Partajarea informaţiilor. Spre deosebire de datele din fişierele de date la care au

acces numai utilizatorii care le-au creat şi le întreţin, la datele din baza de date pot avea acces toţi membrii unei organizaţii, care îşi vor partaja datele din baza de date. Pot fi create aplicaţii noi care să folosească datele din mai multe colecţii de date şi care să furnizeze informaţii noi folosind tot ansamblul de date. În acest mod, fiecare utilizator are senzaţia că este beneficiarul unic al colecţiei de date.

2. Creşterea cantităţii de informaţii disponibile unui utilizator. Deoarece datele produse de un compartiment al organizaţiei pot fi folosite de toţi membrii organizaţiei şi nu numai de membrii compartimentului respectiv, creşte cantitatea de informaţii la care au acces membrii organizaţiei, chiar dacă se vor impune unele restricţii de acces pentru unele grupuri de membri. Gruparea datelor într-o colecţie unică de date face posibil ca utilizatorul să poată obţine toate datele legate logic de o dată elementară de care el are nevoie pentru a-şi desfăşura activitatea în cadrul companiei.

3. Micşorarea redundanţei datelor. Membrii organizaţiei vor avea acces la aceeaşi colecţie de date, în loc să-şi creeze fiecare propria colecţie de date, care înseamnă de fapt existenţa aceloraşi date în mai multe colecţii (multiplicarea unor seturi de date). Rămân multiplicate numai acele date care trebuie să asigure coerenţa bazei de date. Prin eliminarea datelor multiplicate se micşorează şi spaţiul de memorie externă alocat pentru colecţia de date şi timpul de actualizare a colecţiei de date, deoarece o dată va fi actualizată o singură dată, în cadrul colecţiei, şi nu de mai multe ori, în fiecare fişier de date în care apare.

4. Consistenţa datelor. Actualizarea datelor din baza de date este percepută de fiecare utilizator al bazei de date, nu numai de utilizatorii din compartimentul care gestionează acele date. Deoarece nu mai există mai multe copii ale aceloraşi date, se elimină situaţiile în care pot să apară valori diferite pentru aceeaşi dată.

5. Integritatea datelor. Un alt efect al eliminării redundanţei datelor este integritatea datelor, deoarece datele vor fi actualizate într-un singur loc (în baza de date) şi nu în fiecare colecţie de date (în fişierele de date). În plus, pot fi adăugate diferite proceduri pentru vali-darea datelor introduse sau actualizate. Astfel, nu mai există riscul să apară neconcor-danţe între datele care corespund aceloraşi informaţii, dar care aparţin unor colecţii diferite de date, sau riscul ca datele să fie incorecte (să nu aparţină domeniului de definiţie).

Eficienţa

Partajarea informaţiilor

Micşorarea volumului de

date Integritatea

datelor Securitatea

informaţiilor

Control centralizat al

datelor

Page 37: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

38 Baze de date

6. Securitatea datelor. Se poate asigura mult mai uşor pentru o singură colecţie de date (baza de date) decât pentru mai multe colecţii de date (fişierele de date). Astfel, numai utilizatorii autorizaţi vor avea acces la un anumit set de date din colecţia de date.

7. Controlul centralizat al datelor. Prin stabilirea unui administrator al bazei de date se poate asigura mai uşor controlul tuturor datelor din colecţia de date (baza de date), decât în cazul colecţiilor de date independente (fişierele de date) unde fiecare utilizator îşi exercită controlul la nivelul propriei colecţii de date.

8. Transparenţa. Utilizatorul poate obţine informaţii din baza de date fără să cunoască toată organizarea ei complexă.

9. Dezvoltarea standardelor. Se pot dezvolta standarde referitoare la bazele de date atât la nivelul organizării logice a datelor, cât şi la nivelul limbajelor pentru manipularea şi interogarea datelor, standarde care să permită transferul datelor dintr-o bază de date în alta. Cererea de date se poate face prin intermediul unui limbaj simplu, prin precizarea criteriului de selectare a datelor şi a modului de prezentare a informaţiilor.

10. Independenţa datelor. Se asigură două tipuri de independenţă a datelor: independenţa fizică şi independenţa logică. Independenţa fizică înseamnă independenţa datelor faţă de programele de aplicaţie, adică orice modificare a structurii datelor nu afectează programul de aplicaţie şi, reciproc, orice modificare a programului de aplicaţie nu afectează structura de date. Independenţa logică înseamnă independenţa fiecărei scheme particulare a unui utilizator faţă de schema generală, adică pot fi definite noi entităţi şi pot fi adăugate noi date în baza de date fără să fie afectaţi utilizatorii care nu au nevoie de ele. În plus, baza de date poate fi reorganizată (pot fi regrupate entităţile din structurile de date) pentru a face faţă cerinţelor unui nou utilizator, fără a fi afectaţi vechii utilizatori. Eliminarea unor entităţi din baza de date poate afecta însă utilizatorii care fac referiri la acele entităţi.

Deoarece bazele de date sunt foarte valoroase, securitatea lor este vitală. Legat de modul în care sunt folosite datele din baza de date, apar două probleme: folosirea etică a datelor şi asigurarea integrităţii lor. Aceasta înseamnă că informaţiile personale sau private despre diferite persoane, păstrate în bazele de date, pot fi folosite într-un scop incorect, imoral (de exemplu, înregistrările medicale sau informaţiile despre contul bancar al unei persoane pot fi folosite la luarea unor decizii de angajare sau promovare). O altă problemă constă în a preveni cazurile în care utilizatorii neautorizaţi au acces la baza de date (de exemplu, persoane răuvoitoare care au acces la baza de date prin intermediul reţelei de calculatoare pot distruge intenţionat unele informaţii sau pot introduce viruşi în baza de date). La nivelul organizaţiei, securitatea datelor se poate asigura atribuind utilizatorilor parole de acces. Prin sistemul de parole li se poate permite accesul numai la anumite informaţii, de care au nevoie. De exemplu, departamentul pentru plata salariilor va avea acces la informaţiile despre ratele angajaţilor, dar celelalte departamente nu vor putea avea acces la aceste informaţii. Securitatea este foarte importantă şi în modul în care se organizează

Criterii de utilizare a informaţiilor

Informaţii publice Pot fi folosite de orice

persoană.

Informaţii partajate Pot fi folosite de grupuri de per-soane. Fiecărui grup i se permi-te accesul la anumite informaţii.

Informaţii private Pot fi folosite numai de

posesorul lor.

Page 38: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 39

Bază de date

Sistem de gestiune a bazelor de date

Software de aplicaţii

Utilizator

lucrul într-o reţea de calculatoare globală, deoarece violarea datelor se poate produce din afara zonei securizate a organizaţiei.

Pentru a permite accesul diferenţiat la datele din colecţia de date, se poate defini o schemă generală a bazei de date, care descrie întreaga colecţie de date, şi diferite scheme parţiale care descriu seturile de date din colecţie la care pot avea acces anumiţi utilizatori sau anumite grupuri de utilizatori.

Din punct de vedere conceptual, sis-temul care foloseşte baza de date este organizat pe mai multe straturi

stratul utilizator al bazei de date, stratul software de aplicaţii, stratul sistem de gestiune a bazelor de date,

stratul baza de date propriu-zisă.

Utilizatorul bazei de date Este o persoană care este membru al organizaţiei şi are dreptul să folosească baza de date pentru a obţine informaţii. El poate fi şi o persoană exterioară organizaţiei, căreia organizaţia i-a permis accesul la anumite informaţii. De obicei nu este specialist în infor-matică şi nu cunoaşte tehnicile folosite în exploatarea bazelor de date. Informaţiile îi sunt furnizate în termenii aplicaţiei şi – nu în termenii tehnici folosiţi în bazele de date.

Software-ul de aplicaţie Prezintă imaginea datelor într-o formă accesibilă utilizatorului şi permite personalizarea sistemului de gestiune a bazelor de date folosit. Rolul său este de a prezenta informaţia în mod interactiv, în termeni specifici aplicaţiei, prin intermediul unei interfeţe. Nu are rolul de a gestiona datele. Aplicaţia poate comunica cu utilizatorul fie printr-un sistem de întrebări şi răspunsuri, fie prin intermediul unor formulare completate de către utilizator. Software-ul de aplicaţie poate fi conceput fie de programatori, în cazul bazelor de date mari, distribuite pe mai multe calculatoare ale organizaţiei, fie chiar de unii utilizatori ai bazei de date, în cazul bazelor de date mici, organizate pe microcalculatoare.

Sistemul de gestiune a bazelor de date Pentru gestionarea datelor din baza de date trebuie să se folosească un Sistem de Gestiune a Bazelor de Date (SGBD).

Sistemul de gestiune a bazelor de date (database management) este un software specializat pentru crearea, întreţinerea şi consultarea bazelor de date.

Este un instrument software specializat în gestionarea datelor din baza de date: crearea structurii de date, manipularea datelor în cadrul structurii şi regăsirea datelor în vederea extragerii informaţiilor. El asigură interfaţa cu sistemul de operare în scopul sim-plificării procesului de acces la datele fizice de pe suportul de memorare. În general, sistemele de gestiune a bazelor de date au implementate limbaje gazdă care permit atât descrierea algoritmului rezolvării problemei folosind structurile de control din limbajele de programare clasice, cât şi comenzi specializate în manipularea datelor din baza de date, specifice numai sistemelor de gestiune a bazelor de date.

Page 39: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

40 Baze de date

Principalele facilităţi oferite de un sistem de gestiune a bazelor de date pentru crearea şi exploatarea bazelor de date sunt:

Facilitatea de descriere a datelor – asigurată de limbajul de descriere a datelor. Prin această facilitate se realizează legătura între sistemul de gestiune a bazelor de date şi baza de date. Acest limbaj permite descrierea modelului bazei de date (schema bazei de date) şi a restricţiilor aplicate colecţiei de date.

Facilitatea de manipulare a datelor – asigurată de limbajul de manipulare a datelor. Prin această facilitate se realizează legătura între sistemul de gestiune a bazelor de date şi utilizator. Acest limbaj este o colecţie de comenzi care permit executarea opera-ţiilor obişnuite de exploatare şi întreţinere a bazei de date: cererile de acces la date şi actualizarea lor (adăugare, ştergere, modificare).

Prin separarea programului de aplicaţie de sistemul de gestiune a bazelor de date se obţin mai multe avantaje:

Utilizatorul poate lucra cu baza de date prin intermediul interfeţei create de programul de aplicaţie – care presupune cunoştinţe numai despre aplicaţie şi nu şi despre sistemul de gestiune a bazelor de date (sistemul de gestiune a bazelor de date prezentând datele în termeni specifici modului în care a fost concepută baza de date, obligă utilizatorul să aibă cunoştinţe tehnice, legate de acest gen de software).

Deoarece se folosesc două tipuri de software – unul pentru interfaţă şi unul pentru gestionarea datelor – se creează independenţa datelor, adică modificarea structurii datelor nu implică modificarea programelor de aplicaţii.

Se asigură controlul accesului la baza de date. Cel care va stabili setul de date la care are acces un utilizator este sistemul de gestiune a bazelor de date. Programul de aplicaţie nu are decât rolul de a-i comunica parola introdusă de utilizator care îi dă aces-tuia anumite drepturi de acces la date. Sistemul de gestiune a bazelor de date va folosi în interior schema generală pentru a manipula şi a întreţine datele din baza de date şi va folosi în exterior schema parţială atribuită unui utilizator conform parolei, pentru a-l împiedica pe acesta să obţină informaţii din seturile de date la care nu are acces.

Programele de aplicaţii sunt uşor de scris deoarece ele descriu datele folosind modelul conceptual al bazei de date (numele entităţilor care formează baza de date) şi nu structura fizică a datelor înregistrate pe suportul de memorare.

Sistemul de gestiune a bazelor de date furnizează instrumentele necesare pentru manipularea datelor, dintre care cele mai importante sunt:

căutarea uneia sau a mai multor instanţe ale unei entităţi care îndeplinesc anumite criterii,

sortarea în diferite moduri a instanţelor diferitelor entităţi din baza de date, generarea unor rapoarte folosind datele stocate în baza de date, generarea unor formulare pentru introducerea şi validarea datelor.

Baza de date Reprezintă un model de organizare a datelor oferit de sistemul de gestiune a bazelor de date folosit. Modelul de date oferă instrumentele necesare interpretării datelor din colec-ţia de date. El este format din două componente:

un set de reguli pentru organizarea şi structurarea datelor, un set de reguli care definesc operaţiile pentru manipularea datelor.

Se pot folosi mai multe modele pentru organizarea bazelor de date.

Page 40: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 41

1.2.1. Modele de baze de date Scopul bazelor de date este de a integra date individuale, pe care le transformă din fapte izolate în informaţii utile. Dacă fişierele de date pot fi organizate în mai multe moduri, astfel încât să permită accesul secvenţial sau direct la informaţii, în funcţie de necesităţile utilizatorilor, şi bazele de date, fiind colecţii de entităţi, pot fi organizate în mai multe moduri, astfel încât structura de date să răspundă cât mai bine necesităţilor utilizatorului. Cele mai răspândite modele de organizare a bazelor de date sunt următoarele:

ierarhice, reţea, relaţionale.

Baze de date ierarhice. În acest model de organizare a bazelor de date, entităţile sunt structurate sub formă de noduri. Nodurile sunt puncte care conectează ramurile unui arbore descendent. Un nod de pe nivelul inferior este subordonat unui singur nod din nivelul ierarhic imediat superior, dar poate fi în relaţie cu n noduri aflate la nivelul inferior. Altfel spus, fiecare entitate are un singur nod părinte, dar un părinte poate avea mai multe noduri copil. Pentru a găsi o anumită informaţie, trebuie să se pornească cu nodul părinte de pe primul nivel şi să se coboare pe arbore până la copilul care conţine acea informaţie. Un exemplu de organizare ierarhică este baza de date pentru sistemul de rezervări la liniile aeriene, structurată pe 4 niveluri. Nodul părinte de pe primul nivel este oraşul de plecare Bucureşti. Acest părinte are patru copii: Cluj, Constanţa, Iaşi şi Timişoara, care reprezintă oraşele de sosire. Nodul Timişoara are, la rândul său, doi copii: 210 şi 211, care reprezintă numărul zborurilor. Zborul 210 are, la rândul său, trei copii – pasagerii.

Într-un astfel de tip de organizare apar următoarele probleme: Dacă se şterge un nod părinte, se şterg toate nodurile copil subordonate. Un nod copil poate fi adăugat numai dacă au fost adăugate mai întâi nodurile părinte. Între nodurile copii nu pot fi stabilite relaţii.

Baze de date reţea. Şi în acest caz există o aranjare ierarhizată a nodurilor, cu deose-birea că un nod copil poate să aibă mai multe noduri părinţi. Între nodurile părinte şi nodurile copil se adaugă conexiuni adiţionale. Aceasta înseamnă că unui nod i se poate adăuga o cale nouă şi că pot fi trasate în jos ramuri noi. În această organizare, fiecare entitate poate avea un număr nelimitat de conexiuni, dispărând noţiunea de entitate ierarhic superioară.

Un exemplu de astfel de organizare este baza de date a produselor care se execută într-o fabrică. Fiecare produs este format din mai multe ansambluri, iar fiecare ansamblu este format din mai multe piese. Fiecare piesă poate intra în componenţa mai multor ansam-bluri, iar fiecare ansamblu poate intra în componenţa mai multor produse. În acest

plecare

sosire

număr zbor

pasager

Bucureşti

Cluj Constanţa Iaşi Timişoara

210 211

Ionescu Călin Mircea Andronescu Ana

Page 41: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

42 Baze de date

exemplu se poate observa că organizarea de tip reţea este mai flexibilă şi în multe cazuri mai eficientă decât cea ierarhică.

Baze de date relaţionale. Cel mai flexibil model de organizare îl reprezintă bazele de date relaţionale, în care nu există o cale de acces ierarhizată la o anumită dată. Baza de date este formată din mai multe tabele, fiecare dintre ele fiind format din linii şi coloane. Între tabele se stabilesc legături prin intermediul unor câmpuri cheie. De exemplu, baza de date Scoala este formată din următoarele tabele:

Tabelul Elevi conţine date despre elevii şcolii – pentru fiecare elev conţine: identificatorul elevului, numele, prenumele, data naşterii, numărul de telefon şi adresa.

Tabelul Absenţe conţine date despre absenţele elevilor din toată şcoala: identificatorul elevului, data absenţei, identificatorul disciplinei şi identificatorul profesorului.

Tabelul Profesori păstrează date despre profesorii din şcoală – pentru fiecare profesor conţine: nume, prenume, discipline la care predau, grad didactic, adresă, număr telefon etc.

Tabelul Discipline conţine date despre disciplinele predate în şcoală: nume, profilul clasei şi anul de studiu, numărul de ore etc.

Între tabele s-au stabilit următoarele legături, prin intermediul unor câmpuri care conţin o informaţie comună ambelor tabele, numite câmpuri cheie:

Tabelele Elevi şi Absente sunt legate prin câmpul cheie identificatorul elevului. Tabelele Profesori şi Absenţe sunt legate prin câmpul cheie identificatorul profesorului. Tabelele Discipline şi Absenţe sunt legate prin câmpul cheie identificatorul disciplinei.

Elevi Absenţe identif. elev

nume prenume ... adresă identif. elev

dată absenţă

identif. disciplină

identif. profesor

Discipline Profesori identif. disciplină

nume ........... identif. profesor

nume .............

produse Produsul 1 Produsul 2 Produsul 3

ansambluri Ansamblul 1 Ansamblul 2 Ansamblul 3

piese Piesa 1 Piesa 2 Piesa 3 Piesa 4 Piesa 5

Page 42: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 43

Aceste patru tabele împreună cu legăturile stabilite între ele formează o bază de date relaţio-nală. Baza de date Scoala mai poate fi completată şi cu alte tabele, ca de exemplu tabelul cu date despre părinţii elevilor (Părinţi), care se va lega de tabelul Elevi prin câmpul cheie identificatorul elevului, tabelul cu date despre notele elevilor (Note) care se va lega de tabelul Elevi prin câmpul cheie identificatorul elevului, de tabelul Profesori prin câmpul cheie iden-tificatorul profesorului şi de tabelul Discipline prin câmpul cheie identificatorul disciplinei, tabelul cu date despre clase (Clase), care conţine date despre clasele din şcoală (identificator clasă, an de studiu, identificatorul profesorului care este diriginte). Dacă în tabelul Elevi se va adăuga o dată cu identificatorul clasă, tabelul Clase se poate lega de tabelul Elevi prin câmpul cheie identificatorul clasei, iar de tabelul profesori prin câmpul cheie identificatorul profesorului etc. Fiecare rând din tabel în care se găsesc informaţii despre un elev corespunde unei înregistrări de date. Fiecare coloană cu informaţii corespunde unui câmp (de exemplu, coloana adresă). Capul de tabel (antetul tabelului) defineşte structura tabelului şi se mai numeşte şi înregistrare de structură. Datele sunt înregistrate în baza de date prin intermediul structurii definite în înregistrarea de structură. La crearea unui tabel trebuie definită mai întâi structura tabelului (capul de tabel), adică trebuie precizate câmpurile care o compun, cât şi caracteristicile acestora.

Modelul relaţional are următoarele avantaje faţă de celelalte modele de organizare: Este un model uşor de înţeles şi uşor de vizualizat. Asigură independenţa structurii logice a datelor faţă de modul de stocare fizică a lor. Regulile şi restricţiile care asigură integritatea datelor şi protejarea datelor şi a struc-turii de date sunt uşor de înţeles.

Spaţiul de stocare a datelor este redus (redundanţa datelor este redusă).

1.2.2. Baza de date relaţională Baza de date relaţională este formată dintr-unul sau mai multe tabele

bidimensionale între care s-au stabilit legături.

Tabelul permite gruparea unor date înrudite şi poate fi privit ca o colecţie de câmpuri. Pentru fiecare câmp sunt descrise datele care vor fi memorate în el. Descrierea se face prin tipul datelor, dimensiunea lor şi alte proprietăţi. Ele definesc implicit domeniul de definiţie al datelor memorate în câmp. Dacă domeniul datelor este inclus în domeniul implicit de definiţie, se pot defini condiţii de validare a datelor care să controleze corectitudinea datelor introduse sau modificate. De exemplu, datele dintr-un câmp sunt numere întregi cuprinse între 1.000 şi 30.000. Se va alege tipul întreg, ca domeniu implicit al datelor, dar se vor preciza condiţii de validare suplimentare care să oblige utilizatorul să introducă în acest câmp numai date întregi pozitive din domeniul 1.000 ÷ 30.000.

Tabelul conţine toate instanţele unei entităţi. Un rând al tabelului reprezintă o instanţă, iar o coloană a tabelului un atribut al instanţei.

În teoria bazelor de date relaţionale, tabelele se mai numesc şi relaţii, fiecare coloană din tabel care corespunde unui câmp se mai numeşte şi atributul relaţiei, iar fiecare rând din tabel care conţine câte o instanţă a entităţii se mai numeşte şi tuplu. Tuplul corespunde înregistrării din fişierul de date. Într-un tabel al unei baze de date relaţionale nu pot exista înregistrări identice (nu pot fi identice două instanţe ale aceleiaşi entităţi).

Page 43: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

44 Baze de date

Tabelele bazei de date sunt organizate apoi într-o structură arborescentă determinată de relaţia dintre tabele.

Schema generală a unei baze de date relaţionale este formată din ansamblul

tabelelor şi al legăturilor dintre ele.

Se poate stabili următoarea analogie între un fişier de date şi terminologia folosită într-o bază de date:

Fişierul de date Baza de date Colecţia de date = fişier de date Colecţia de date = colecţie de relaţii

Fişier de date (tabel) Relaţie Înregistrare Tuplu

Câmp Atribut Deoarece interfeţele puse la dispoziţie de sistemele de gestiune a bazelor de date rela-ţionale folosesc în general termenii de tabel (table), câmp (field) şi înregistrare (record), vom folosi în continuare aceşti termeni pentru a defini obiectele care compun baza de date.

1.2.3. Niveluri de reprezentare a bazei de date relaţionale În cazul fişierelor de date există două niveluri de organizare a datelor: nivelul logic, care constă în descrierea structurii de câmpuri de către programator, şi nivelul fizic, care constă în metodele de înregistrare şi regăsire a datelor la nivelul suportului de date. În cazul bazelor de date, pentru asigurarea independenţei datelor, organizarea trebuie să se facă pe cel puţin patru niveluri:

Tabele

Coloane = Câmpuri

Rânduri = Înregistrări Relaţii între tabele

Baza de date relaţională

Page 44: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 45

1. Nivelul extern reprezintă modelul cu care operează utilizatorul bazei de date. Acesta este format din unităţile logice de la nivelul conceptual cu care operează un utilizator sau un grup de utilizatori. Pentru modelul extern se mai foloseşte şi termenul de vizualizare sau tabel virtual, deoarece se defineşte pe baza unei expresii relaţionale aplicate câmpurilor din tabelele reale ale bazei de date. Vizualizarea păstrează numai schema prin care este definită, nu şi datele propriu-zise, pe care le preia din tabelele reale de fiecare dată când este folosită. Cea mai importantă utilitate a unei vizualizări este aceea că prin intermediul ei se poate controla accesul unui grup de utilizatori la baza de date. Deoarece utilizatorul are acces la baza de date nu prin modelul conceptual, ci prin vizualizări, acestea pot să ascundă unui utilizator acele unităţi logice la care nu are drept de acces. Vizualizările pot să controleze şi operaţiile pe care le poate executa cu unităţile logice: unele vizualizări îi permit să actualizeze unele unităţi logice, altele îi permit numai să le consulte. De exemplu, în baza de date a unei companii, în tabelul Angajati este înregistrată data naşterii pentru fiecare angajat. Dacă o anumită categorie de utilizatori (de exemplu, personalul din compartimentul Resurse Umane) doreşte o listă cu angajaţii dintr-un compartiment şi vârsta lor, nu se recomandă înregistrarea vârstei ca unitate logică în modelul conceptual, deoarece ar trebui actualizată zi de zi. Cel mai simplu este să se creeze o vizualizare, pentru această categorie de utilizatori, în care se defineşte un atribut vârstă. Valoarea acestui atribut se calculează ca diferenţă dintre data curentă furnizată de sistem şi data naşterii înregistrată într-unul din tabelele bazei de date.

2. Nivelul conceptual reprezintă descrierea semnificaţiei unităţilor logice din care este formată baza de date şi a asocierilor dintre ele, fără să fie specificate constrângerile aplicate asupra datelor.

3. Nivelul logic reprezintă descrierea tabelelor din care este formată baza de date şi a legăturilor dintre ele. Tot în modelul logic sunt specificate constrângerile aplicate asupra datelor, care determină restricţii ale operaţiilor de actualizare. Ele sunt necesare pentru a asigura integritatea datelor.

4. Nivelul intern sau baza de date fizică este reprezentat de colecţia de fişiere înregis-trate pe suportul de memorare, fişiere care conţin datele propriu-zise dar şi informaţiile suplimentare, necesare accesului la datele din baza de date.

Nivelul extern

(modelul extern)

vizualizările

Nivelul conceptual

(modelul conceptual) descrierea

bazei de date

Nivelul intern (modelul intern)

baza de date fizică

Sistemul de gestiune a bazelor de date

Calculator

Utilizatori

Nivelul logic(modelul

relaţional) baza de date relaţională

Page 45: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

46 Baze de date

În baza de date se găsesc două tipuri de date: colecţiile de date organizate sub formă de tabele care reprezintă informaţia utilă şi fişiere ajutătoare în care este descrisă structura tabelelor (fişierele de structură), legăturile dintre ele şi alte informaţii necesare regăsirii datelor în tabele (cum sunt fişierele index care permit regăsirea datelor în baza de date în funcţie de valoarea unui câmp cheie şi care asigură accesul direct la date) sau interpretării lor (cum sunt fişierele pentru rapoarte).

Să presupunem că în baza de date a şcolii există un tabel cu notele elevilor, care are următoarele câmpuri: codul elevului, disciplina, data notării, nota. Pentru a afla mediile semestriale ale elevilor dintr-o clasă la fiecare disciplină, ce soluţie se poate alege: să se creeze un tabel cu mediile elevilor (care să aibă următoarea structură: codul elevului, codul disciplinei, media) sau să se creeze o vizualizare cu aceeaşi structură?

Pentru a afla corigenţii dintr-o clasă la fiecare disciplină, ce soluţie se poate alege: să se creeze un tabel cu corigenţii (care să aibă următoarea structură: codul elevului, codul disciplinei, media – şi care să conţină numai elevii care au media mai mică decât 5) sau să se creeze o vizualizare cu aceeaşi structură?

1.2.4. Nivelul logic al bazei de date relaţionale Modelul relaţional este caracterizat de:

Structuri. Sunt obiecte definite ce conţin date la care utilizatorul are acces. Operaţii. Sunt acţiuni definite care permit utilizatorului să manipuleze datele. Reguli. Sunt legi prin care se stabileşte cine şi cum manipulează datele.

La nivelul logic al bazei de date este definit modelul relaţional:

1.2.4.1. Tabelul O entitate are o listă de atribute. Fiecare atribut are un domeniu de definiţie care reprezintă mulţimea tuturor valorilor posibile ale atributului. La un moment dat există mai multe instanţe ale entităţii. Mulţimea formată din valorile atributului pentru toate instanţele entităţii este inclusă în domeniul atributului.

Modelul relaţional are la bază conceptul de relaţie definit în teoria matematică a mulţimilor ca fiind o submulţime a produsului cartezian al mai multor mulţimi. Considerând că mulţimile sunt domeniile atributelor unei entităţi, relaţia se poate reprezenta sub forma unui tabel care este supus următoarelor restricţii:

Baza de date

Tabele Relaţii

Normalizarea tabelelor

Cheia de identificare

– Cheia primară – Cheia secundară

Integritatea referenţială

Page 46: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 47

Fiecare rând din tabel reprezintă o instanţă a entităţii, fiind un element al submulţimii produsului cartezian.

Ordinea rândurilor în tabel nu este predefinită. Nu sunt admise rânduri identice (nu pot exista două instanţe identice ale aceleiaşi

entităţi). Fiecare coloană corespunde unui atribut al entităţii. La fel ca şi atributele, coloanele sunt identificate prin nume. Valorile dintr-o coloană sunt de acelaşi tip. În fiecare coloană nu pot fi memorate decât date elementare al căror tip este

implementat în sistemul de gestiune a bazelor de date. Din această cauză, în teoria bazelor de date relaţionale tabelul se mai numeşte şi relaţie, un rând din tabel se mai numeşte şi tuplu (element al produsului cartezian), iar o coloană se mai numeşte şi atribut (corespunde unui atribut al entităţii). Structura tabelului este definită prin:

numele câmpurilor care corespund numelor de atribute ale entităţii; tipul câmpurilor care corespunde tipului domeniului de definiţie al atributului.

În general, sistemele de gestiune a bazelor de date au implementate următoarele tipuri de date:

Tipul numeric este folosit pentru a manipula valori numerice raţionale şi conţine subtipuri pentru reprezentarea numerelor întregi, a numerelor reale şi a valorilor numerice exprimate în unităţi monetare (specifice domeniului financiar–contabil). Tipul alfanumeric este folosit pentru a manipula texte şi conţine subtipuri pentru repre-zentarea şirurilor de caractere de lungime fixă, restricţionată de obicei la maxim 255 de caractere (dacă într-o coloană sunt memorate texte, toate şirurile de caractere din acea co-loană vor avea aceeaşi lungime) şi a şirurilor de caractere de lungime variabilă (dacă într-o coloană sunt memorate texte, şirurile de caractere din acea coloană pot avea lungimi diferite). Tipul logic este folosit pentru a manipula date care nu pot lua decât două valori: adevărat sau fals. Tipul DatăTimp este folosit pentru a manipula date calendaristice şi timp, deoarece în bazele de date evoluţia cronologică a entităţilor este foarte importantă. Tipul Obiect este folosit pentru a manipula obiecte create cu alte aplicaţii (de exemplu, o imagine, o legătură la o adresă de Web etc.).

Constanta NULL se foloseşte pentru a indica lipsa unei date într-un câmp.

Cheia de identificare este formată din numărul minim de câmpuri alese astfel încât ansamblul lor de valori să fie unic în cadrul unui tabel, pentru a permite

identificarea înregistrărilor din tabel.

Fiecare înregistrare din tabel va putea fi identificată în mod unic prin valorile cheii astfel definite. Este posibil ca într-un tabel să poată fi evidenţiate mai multe grupuri de câmpuri

Tipuri de date

Numeric Alfanumeric Logic DatăTimp Obiect

Page 47: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

48 Baze de date

care să permită identificarea în mod unic a înregistrărilor tabelului, deci pot fi definite mai multe chei de identificare. Deoarece un tabel nu poate avea două înregistrări identice, orice tabel poate avea cel puţin o cheie de identificare, formată în cel mai rău caz din toate câmpurile înregistrării.

Operaţiile specifice prelucrărilor tabelare sunt: 1. Operaţii de actualizare prin care sunt aduse la zi informaţiile din tabel. Aceste operaţii pot fi:

adăugarea de noi înregistrări, ştergerea unor înregistrări sau modificarea valorii unor câmpuri din tabel.

2. Operaţii de consultare (interogare) prin care se obţin informaţii din tabel. Aceste operaţii pot fi:

operaţii de calcul statistic cu valorile din câmpurile unui tabel (suma valorilor unui câmp, media aritmetică a valorilor unui câmp, valoarea minimă sau maximă a unui câmp, numărul de înregistrări din tabel),

operaţii de căutare a anumitor înregistrări – operaţiile de căutare trebuie să precizeze criteriul de căutare şi modul de afişare a informaţiilor (pe ecran, la imprimantă);

operaţii de sortare (de reordonare a înregistrărilor din tabel, folosind un criteriu de sortare),

În procesul de prelucrare a datelor din tabel pot să apară anomalii de actualizare: Anomalia de adăugare. Anumite date care ar trebui adăugate nu pot fi adăugate deoarece fac parte din înregistrări incomplete (pentru care nu se cunosc toate valorile câmpurilor).

Anomalia de ştergere. Anumite date care ar trebui şterse nu pot fi şterse deoarece fac parte din înregistrări care conţin şi date care nu trebuie şterse.

Anomalia de modificare. Este dificil de modificat o anumită valoare a unui câmp, când acea valoare apare în mai multe înregistrări din tabel.

1.2.4.2. Relaţia Relaţia dintre două tabele care păstrează instanţele a două entităţi se stabileşte pe baza unei asocieri între cele două entităţi. Pentru a putea stabili legături între tabele, în fiecare tabel se definesc chei de identificare.

Cheia primară este aleasă din mulţimea cheilor de identificare, pe baza anumitor criterii, şi este folosită pentru a face legătura între înregistrările mai multor tabele ale bazei de date. Cheia primară va fi folosită de sistemul de gestiune a bazelor de date pentru a identifica unic înregistrările în procesul de căutare şi regăsire a datelor. Se recomandă ca din mulţimea cheilor de identificare să se aleagă, pentru cheia primară, cheia care este formată din cele mai puţine câmpuri.

Cheia secundară este formată dintr-unul sau mai multe câmpuri dintr-un tabel, care sunt folosite ca o cheie primară în alt tabel, valorile câmpurilor din cheie fiind identice în ambele tabele. Se mai numeşte şi cheie străină.

Relaţiile care se vor stabili între tabele sunt unidirecţionale, adică între două tabele nu se stabileşte o relaţie de egalitate ci o relaţie de subordonare: unul dintre tabele este tabelul conducător sau principal (tabelul de la care porneşte legătura), iar celălalt este tabelul condus sau secundar (tabelul la care ajunge legătura). Tabelul condus este subordonat tabelului conducător. Aceasta înseamnă că, dacă utilizatorul selectează o

Page 48: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 49

înregistrare în tabelul conducător, sistemul va selecta automat înregistrarea de care este legată din tabelul condus. Entitatea tabelului conducător nu poate avea conectivitatea maximă egală cu n în asocierea care corespunde legăturii.

Legătura dintre tabelele bazei de date se realizează prin mecanismul de propagare a cheilor. În tabelul sursă, tabelul de la care începe propagarea cheii (tabelul condu-cător), se găseşte cheia primară, iar în tabelul destinaţie, tabelul până la care se propagă cheia (tabel condus), se găseşte cheia secundară. Se spune că a avut loc propagarea cheii din tabelul sursă în tabelul destinaţie. Acest mecanism permite stabilirea legăturii între o înregistrare din tabelul sursă şi o înregistrare din tabelul destinaţie.

De obicei, modelul relaţional cel mai des întâlnit este cel descris printr-un arbore cu o singură rădăcină, adică în baza de date există un singur tabel conducător care reprezintă rădăcina arborelui. Celelalte tabele sunt legate de tabelul conducător direct sau indirect (prin intermediul altor tabele).

Relaţia este o legătură dintre un câmp sau un ansamblu de câmpuri dintr-un tabel (cheia primară) şi câmpurile corespunzătoare dintr-un alt tabel (cheia

secundară).

Restricţii de integritate. Valoarea cheii primare trebuie să fie diferită de constanta Null (lipsa oricărei valori) Valoarea cheii secundare trebuie să fie inclusă în mulţimea valorilor cheii primare.

Există mai multe tipuri de relaţii determinate de conectivităţile maxime ale entităţilor ale căror instanţe sunt înregistrate în tabele între care s-a stabilit o legătură printr-o asociere.

1. Una–la–una (one–to–one). Înseamnă că o înregistrare din primul tabel este legată la o singură înregistrare din al doilea tabel. Corespunde unei conectivităţi maxime egale cu 1 pentru fiecare entitate care participă la asociere. Este posibil şi cazul în care o înregistrare din primul tabel nu este legată cu nicio înregistrare din al doilea tabel.

Tabelul conducător Înregistrarea 1 Înregistrarea 2 Înregistrarea 3 Înregistrarea 4 Înregistrarea 5 Înregistrarea 6

Tabelul condus Înregistrarea 1 Înregistrarea 2 Înregistrarea 3 Înregistrarea 4 Înregistrarea 5 Înregistrarea 6

Definirea unei relaţii între cele două tabele are ca efect stabilirea unor

legături între înregistrările celor două tabele.

Înregistrarea este selectată printr-o

comandă a utilizatorului. Înregistrarea este

selectată automat de sistem.

Page 49: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

50 Baze de date

Această relaţie este similară cu un tabel care conţine ambele tabele. Se folosesc însă două tabele, din următoarele motive:

Un tabel unic ar fi un tabel foarte mare, cu o structură care poate depăşi numărul maxim de câmpuri acceptat de sistemul de gestiune a bazelor de date (de exemplu, 255 de câmpuri în Visual FoxPro).

Numărul de câmpuri din înregis-trările tabelului nu este fix (unele înregistrări au nevoie de mai multe câmpuri decât alte înregistrări).

Dacă se lucrează într-o reţea de calculatoare, se preferă ca anumi-te câmpuri din tabel să se păstreze pe calculatorul local şi nu pe serverul de fişiere.

Unele date dintr-un tabel sunt legate de un tabel, iar alte date din tabel sunt legate de un alt tabel sau nu sunt legate de niciun tabel.

Asupra unui grup de date din tabel se execută un anumit gen de operaţii, iar asupra altui grup de date din tabel se execută alt gen de operaţii.

De exemplu, relaţia stabilită între tabelele Salarii şi Angajati În tabelul Angajaţi sunt păstrate date despre angajaţii companiei: numele şi prenume-le, marca, codul numeric personal, adresa, numărul de telefon, data naşterii, data angajării, studii, experienţa, funcţia şi departamentul în care lucrează, istoricul postu-rilor ocupate, data fiecărei avansări etc.

În tabelul Salarii sunt păstrate date despre salariile angajaţilor companiei: numele şi prenumele salariatului, marca, codul numeric personal, adresa, funcţia deţinută, salariul tarifar, numărul de ore lucrate, reţineri lunare, salariul lunar etc.

Relaţia stabilită între cele două tabele este de una–la–una deoarece unui angajat îi corespunde un singur salariu, iar un salariu corespunde unui singur angajat. Legătura între cele două tabele se face prin intermediul câmpului Marca. Chiar dacă cele două tabele ar putea fi reunite în- tr-unul singur, nu se recomandă acest lucru deoarece asupra acestor date nu se execută acelaşi gen de operaţii în cadrul organizaţiei. Datele din tabelul Angajaţi sunt folosite de departamentul Personal atunci când trebuie luate decizii referitoare la angajaţii companiei. Acest tabel conţine datele generale ale fiecărui angajat care sunt necesare atunci când trebuie promovat, penalizat, disponibilizat sau când trebuie localizat (adresă, telefon) pentru a i se transmite o anumită informaţie. Datele din tabelul Salarii sunt folosite de departamentul Salarizare atunci când trebuie calculate drepturile salariale ale fiecărui angajat sau datoriile companiei către bugetul statului şi către asigurări, legate de angajaţii săi. Acest tabel conţine informaţii necesare pentru calculul lunar al salariului fiecărui angajat.

2. Una–la–mai–multe (one–to–many). Înseamnă că o înregistrare din primul tabel poate fi legată cu mai multe înregistrări din al doilea tabel. Corespunde unei conectivităţi maxime egale cu 1, pentru o entitate care participă la asociere, şi unei conectivităţi maxime egale cu n, pentru cealaltă entitate.

Este cel mai răspândit tip de relaţie. Primul tabel trebuie să aibă un câmp cheie primară, iar al doilea tabel trebuie să conţină un câmp similar, prin care să se poată identifica

Tabelul A

a1

a2

a3

a4

a5

Tabelul B

b1

b2

b3

b4

Page 50: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 51

Tabelul A

a1

a2

Tabelul B

b1

b2

b3

b4

înregistrarea din primul tabel de care este legată înregistrarea din al doilea tabel. De exemplu, relaţia stabilită între tabelul Clienti şi tabelul Comenzi:

În tabelul Clienţi sunt păstrate date despre clienţii companiei: numele companiei client, codul clientului, adresa, numele persoanei de contact, telefonul etc.

În tabelul Comenzi sunt păstrate informaţii despre comenzile clien-ţilor: numărul comenzii, codul clien-tului care a emis comanda, conţi-nutul comenzii, data comenzii etc.

Relaţia stabilită între cele două tabele este de tip una–la–mai–multe: unui client îi corespund mai multe comenzi, dar o comandă poate fi emisă de către un singur client. Câmpul cheie folosit pentru legătură este CodClient.

3. Mai-multe-la-mai-multe (many–to–many). Înseamnă că o înregistrare din primul tabel poate fi legată de mai multe înregistrări din al doilea tabel, şi invers, o înregistrare din cel de-al doilea tabel poate fi legată de una sau mai multe înregistrări din primul tabel.

De exemplu, relaţia stabilită între tabelul Vanzari şi tabelul Produse

În tabelul Vanzari sunt păstrate date despre vânzările de produse ale companiei: codul produsului, denu-mirea produsului, unitatea de măsu-ră, cantitatea, data vânzării, codul angajatului care a intermediat vân-zarea, date despre clientul care a cumpărat produsul etc.

În tabelul Produse sunt păstrate date despre produsele realizate: codul produsului, denumirea produsului, unitatea de măsură, cantitatea, data la care a fost realizat produsul, preţul de fabricaţie etc.

Relaţia stabilită între cele două tabele este de tip mai–multe–la–mai–multe: un angajat comercial poate vinde mai multe produse, iar un produs este vândut de mai mulţi angajaţi comerciali.

Observaţie. Datorită mecanismului de propagare a cheilor între tabelele bazei de date, nu pot exista relaţii de tip mai–multe–la–mai–multe. Această situaţie poate fi rezolvată prin descompunerea relaţiei mai–multe–la–mai–multe în două relaţii una–la–mai–multe, prin construirea unui tabel suplimentar care să realizeze această descompunere.

De exemplu, în baza de date Scoala au fost definite două tabele: tabelul Elevi cu elevii din şcoală şi tabelul Discipline cu disciplinele predate în şcoală. Fiecărei înregistrări din tabelul Elevi îi corespund mai multe înregistrări în tabelul Discipline (un elev studiază mai multe discipline) şi fiecărei înregistrări din tabelul Discipline îi corespund mai multe înregistrări în tabelul Elevi (o disciplină este studiată de mai mulţi elevi). Această relaţie se poate descom-pune în două relaţii una–la–mai–multe prin crearea unui tabel suplimentar Incadrări care să conţină înregistrări cu două câmpuri: CodElev şi CodDisciplină. Relaţiile vor fi de una–la–

Tabelul A

a1

a2

a3

a4

Tabelul B

b1

b2

b3

b4

Page 51: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

52 Baze de date

mai–multe între tabelul Elevi şi tabelul Incadrări (unui elev îi corespund mai multe încadrări, câte una pentru fiecare disciplină pe care o studiază) şi între tabelul Discipline şi tabelul Incadrări (unei discipline îi corespund mai multe încadrări, câte una pentru fiecare elev care o studiază).

Scop: Analiza bazei de date a unei companii. Baza de date a companiei a fost creată pornind de la sistemul iniţial format din mai multe fişiere: Fişierele de date dezvoltate de fiecare compartiment al companiei se pot transforma în tabelele unei baze de date relaţionale:

Tabelul Angajati în care sunt păstrate date despre angajaţii companiei: numele şi prenumele, marca, codul numeric personal, adresa, numărul de telefon, data naşterii, data angajării, studii, experienţa, funcţia şi departamentul în care lucrează, istoricul posturilor ocupate, data fiecărei avansări etc.

Tabelul Salarii în care sunt păstrate date despre salariile angajaţilor companiei: numele şi prenumele salariatului, codul angajatului, codul numeric personal, adresa, funcţia deţinută, treapta de salarizare, salariul tarifar, numărul de ore lucrate, reţineri lunare, salariul lunar etc.

Tabelul Clienti în care sunt păstrate date despre clienţii companiei: numele companiei client, codul clientului, adresa, numele persoanei de contact, telefonul etc.

Tabelul Comenzi în care sunt păstrate informaţii despre comenzile clienţilor: numărul comenzii, codul clientului care a emis comanda, conţinutul comenzii, data comenzii etc.

Tabelul CatalogMateriale în care sunt păstrate date despre materialele folosite de companie: codul materialului, denumirea materialului, unitatea de măsură etc.

Tabelul Stocuri în care sunt păstrate date despre stocul de materiale şi materii prime necesare producţiei: codul materialului, cantitatea, codul depozitului, denumirea depozitului, angajatul care răspunde de depozit etc.

Tabelul Furnizori în care sunt păstrate date despre furnizorii de materii prime şi materiale ale companiei: numele companiei furnizor, codul furnizorului, adresa, numele persoanei de contact, telefonul, codul materialului furnizat, preţul etc.

Tabelul Vanzari în care sunt păstrate date despre vânzările de produse ale companiei: codul produsului, denumirea produsului, unitatea de măsură, cantitatea, data vânzării, codul angajatului care a intermediat vânzarea, date despre clientul care a cumpărat produsul etc.

Tabelul Produse în care sunt păstrate date despre produsele realizate: codul produsului, denumirea produsului, unitatea de măsură, cantitatea, data la care a fost realizat produsul, preţul de fabricaţie etc.

Tabelul CatalogProduse în care sunt păstrate date despre produsele oferite de companie: codul produsului, denumirea produsului, descrierea produsului, unitatea de măsură, preţul etc.

În aceste tabele apar mai multe câmpuri de tip: cod produs, cod angajat, cod client sau cod furnizor. Ele se folosesc pentru a identifica unic înregistrările din tabele.

Page 52: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 53

Pentru aceste tabele pot fi definite diferite chei de identificare. De exemplu, pentru tabelul Angajati se poate folosi pentru cheie câmpul Marca sau CodNumericPersonal deoarece ele identifică unic un angajat din tabel. Câmpurile NumePrenume, Funcţie sau Departament nu pot fi folosite pentru cheia de identificare pentru că ele nu pot identifica unic înregistrările din tabel (angajaţii) deoarece pot exista mai mulţi angajaţi care au acelaşi nume şi prenume sau care au aceeaşi funcţie ori lucrează în acelaşi departament. Câmpurile Marca şi CodNumericPersonal nu pot forma împreună o cheie de identificare deoarece cheia presupune numărul minim de câmpuri necesar identificării, iar în acest exemplu, fiecare câmp în parte este suficient pentru identificarea angajatului.

Pentru tabelul Stocuri sunt necesare două câmpuri pentru a obţine cheia de identificare a unei înregistrări: CodMaterial şi CodDepozit, deoarece fiecare dintre aceste câmpuri luat separat nu poate identifica unic o înregistrare din tabel: există mai multe înregistrări cu aceeaşi valoare a câmpului CodMaterial, câte una pentru fiecare depozit în care se găseşte în stoc acel material, şi mai multe înregistrări cu aceeaşi valoare a câmpului Cod-Depozit, câte una pentru fiecare material care există în acel depozit.

Dacă în tabelul Clienti câmpul CodClient este cheie primară deoarece el identifică unic un client, în tabelul Comenzi el va fi cheie secundară şi va permite stabilirea unei relaţii între tabelul Clienti şi tabelul Comenzi. Pentru a permite propagarea cheii secundare, în tabelul Comenzi nu trebuie să existe nicio comandă care să nu corespundă unui client din tabelul Clienti.

Între tabelele bazei de date ale companiei se vor stabili mai multe legături. De exemplu, între tabelul CatalogProduse şi tabelul Produse sau între tabelul CatalogProduse şi tabelul Vanzari prin intermediul cheii CodProdus.

Baza de date poate conţine: Tabele corelate. Sunt tabele între care se stabilesc legături. De exemplu, între tabelele Clienti şi Comenzi există o legătură realizată prin intermediul codului clientului care a emis comanda (cheia CodClient).

Tabele necorelate. Sunt tabele între care nu se stabilesc legături. De exemplu, între tabelele Stocuri şi Salarii nu există niciun fel de legătură. În acest caz tabelele se folosesc pentru a separa entităţi diferite.

Baza de date a companiei

Salarii

Vanzari Comenzi Angajati Produse

Furnizori

Clienti Catalog Produse

Stocuri

Catalog Materiale

Page 53: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

54 Baze de date

Considerând că săgeţile reprezintă o relaţie între un tabel conducător şi un tabel condus, precizaţi cheile primare şi cheile secundare care pot fi folosite pentru a realiza legătura între tabele (sensul săgeţii reprezintă legătura între tabelul conducător şi tabelul condus). Pe baza structurii de câmpuri precizată pentru fiecare tabel şi pe baza legăturilor stabilite între tabele, identificaţi datele redundante din tabele (de exemplu denumirea

produsului şi unitatea de măsură care apar atât în tabelul Vanzari, cât şi în tabelul Produse). Eliminaţi datele redundante.

1.2.4.3. Integritatea referenţială Condiţia care trebuie respectată pentru a putea fi asigurată legătura între o înregistrare din tabelul sursă şi o înregistrare din tabelul destinaţie se numeşte condiţia de integritate referenţială. Ea este specifică relaţiilor dintre tabelele bazei de date şi este formată dintr-o colecţie de reguli şi restricţii impuse tabelelor între care s-au stabilit relaţii. Astfel, a asigura integritatea referenţială înseamnă ca atunci când se fac modificări ale valorii unui câmp dintr-un tabel să nu fie afectată relaţia dintre tabele. Această problemă apare în cazul câmpurilor care fac parte dintr-o cheie primară sau secundară. Ele trebuie să respecte condiţia de integritate referenţială.

Condiţia de integritate referenţială impune ca mulţimea valorilor unei chei secundare să fie inclusă în mulţimea valorilor cheii primare din care s-a

propagat.

Integritatea referenţială trebuie să fie satisfăcută permanent în baza de date. Operaţiile de adăugare, ştergere şi modificare pot afecta integritatea referenţială: În tabelul condus:

Operaţia de adăugare a unei înregistrări trebuie să se facă numai dacă valorile din câmpurile cheii secundare se găsesc în mulţimea valorilor cheii primare din care s-au propagat.

Operaţia de ştergere a unei înregistrări se poate face fără să fie afectată integritatea referenţială.

Operaţia de modificare a valorii unui câmp dintr-o înregistrare trebuie să aibă în vedere faptul că, dacă acel câmp este un câmp al cheii secundare, valoarea sa trebuie să se găsească în mulţimea valorilor cheii primare din care s-a propagat.

În tabelul conducător: Operaţia de adăugare a unei înregistrări se poate face fără să fie afectată integritatea referenţială.

Operaţia de ştergere a unei înregistrări poate să afecteze relaţiile dintre tabele numai în cazul în care există chei secundare care au aceeaşi valoare cu a cheii primare din înregistrarea ştearsă. În acest caz se pot folosi două metode: ştergerea restric-ţionată (nu se acceptă ştergerea înregistrării dacă există cel puţin o cheie secundară, într-unul din tabelele bazei de date, propagată din cheia primară şi care are aceeaşi valoare cu cheia primară din înregistrarea care trebuie ştearsă) sau ştergerea în cascadă (ştergerea înregistrării va avea ca efect ştergerea din toate tabelele a înregistrărilor care conţin chei secundare propagate din cheia primară şi care au aceeaşi valoare cu cheia primară din înregistrarea ştearsă).

Page 54: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 55

Operaţia de modificare a unei înregistrări poate să afecteze relaţiile dintre tabele numai în cazul în care există chei secundare care au aceeaşi valoare cu a cheii primare care se modifică. Şi în acest caz se pot folosi două metode: modificarea restricţionată (nu se acceptă modificarea unui câmp dacă el este cheie primară şi dacă există cel puţin o cheie secundară, într-unul din tabelele bazei de date, propaga-tă din cheia primară, care are aceeaşi valoare cu cheia primară care trebuie modifica-tă) sau modificarea în cascadă (modificarea cheii primare va avea ca efect modifica-rea tuturor cheilor secundare propagate din aceasta, din toate tabelele, care au aceeaşi valoare cu cheia primară care se modifică).

Scop: analiza integrităţii referenţiale în baza de date.

Analiza se va face pe baza de date relaţională Scoala

În baza de date Scoala, există tabelul Elevi cu informaţii generale despre elev (câmpurile CodElev, NumePrenume, Adresa etc.) şi tabelul Note cu notele elevilor (câmpurile CodElev, CodDisciplina, DataNota şi Nota). Legătura între cele două tabele se face prin intermediul câmpului CodElev, care este cheie primară în tabelul Elevi şi cheie secundară în tabelul Note. Câmpul CodElev s-a propagat în tabelul Note unde a devenit cheie secundară. Scopul propagării a fost de a asigura legătura tabelului Note cu tabelul Elevi.

Să presupunem că, în tabelul Elevi, se şterge înregistrarea corespunzătoare unui elev deoarece acesta s-a transferat la o altă şcoală. În tabelul Note se păstrează toate notele elevilor. Să presupunem că trebuie extrasă din baza de date lista cu toţi elevii care au cel puţin o notă de 10 la o anumită disciplină. Să mai presupunem că elevul care s-a transferat se încadrează în această situaţie. Căutarea în baza de date a elevilor care corespund acestor situaţii se face astfel: se caută în tabelul Note toate înregistrările care pentru o anumită valoare a codului disciplinei au valoarea 10 pentru câmpul nota (de exemplu, CodDisciplina=02 şi Nota=10). Pentru a se afişa numele elevului, se foloseşte ca legătură cu tabelul Elevi câmpul cheie CodElev. În baza de date Elevi, nu mai există o înregistrare care să aibă aceeaşi valoare a cheii primare cu cheia secundară din tabelul Note. Înseamnă că nu a fost îndeplinită condiţia de integritate referenţială, deoarece o valoare a cheii secundare nu se găseşte în mulţimea valorilor cheii primare. Efectul nerespectării acestei condiţii este că în tabelul Note există înregistrări pentru care s-a rupt legătura cu tabelul Elevi. Problema se complică şi mai mult dacă în şcoală se mută un elev căruia i se atribuie acelaşi CodElev cu al elevului care s-a transferat. În acest mod, toate notele care se referă la elevul transferat sunt atribuite automat noului elev, prin relaţia care există între tabele.

Pentru a se asigura integritatea referenţială, normal ar fi ca, atunci când elevul se transferă, să se şteargă înregistrarea corespunzătoare elevului din tabelul Elevi, dar şi toate înregistrările din celelalte tabele care au valoarea cheilor secundare CodElev egală cu valoarea cheii primare CodElev corespunzătoare elevului transferat din tabelul Elevi, pentru a se asigura astfel condiţia de integritate referenţială. În acest exemplu, trebuie folosită ştergerea în cascadă – atunci când un elev este transferat. Prin această operaţie vor fi şterse toate înregistrările din tabelele bazei de date care sunt legate de elevul transferat. La venirea unui elev nou, acestuia i se poate atribui codul elevului transferat, deoarece în tabele nu vor mai exista înregistrări referitoare la acesta (note şi absenţe).

Page 55: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

56 Baze de date

Baza de date a unei şcoli este formată din următoarele tabele: Clase: CodClasa, ProfilClasă. Discipline: CodDisciplina, DenumireDisciplina. Profesori: CodProfesor, NumeProfesor, Adresa, Telefon. Elevi: CodElev, CodClasa, NumeElev, Adresa, Telefon. Parinti: CodElev, NumeParinte, TipParinte, Telefon. Note: CodElev, CodDisciplina, DataNota, Nota. Absente: CodElev, CodDisciplina, DataAbsenta. Diriginti: CodProfesor, CodClasa. IncadrareDiscipline: CodClasa, CodDisciplina, NumarOre. IncadrareProfesori: CodProfesor, CodDisciplina, CodClasa.

Stabiliţi legături între tabele. Precizaţi pentru fiecare legătură tipul relaţiei. Identificaţi pentru fiecare relaţie cheia primară şi cheia secundară. Arătaţi ce condiţii trebuie îndeplinite pentru a fi asigurată integritatea referen-ţială.

1.2.4.4. Normalizarea datelor Structura de date obţinută nu trebuie să conţină dependenţe nedorite între tabele, deoarece acestea pot genera anomalii în exploatarea bazei de date.

Normalizarea este procesul de simplificare a unei structuri complexe de date prin divizarea ei în mai multe entităţi mai simple, interconectate între ele.

Elementul principal care defineşte o bază de date este schema tabelelor, adică tabelele care fac parte din baza de date: numele tabelului şi structura de câmpuri a tabelului. Problema proiectării unei baze de date constă de fapt în modul în care se grupează datele sub formă de câmpuri în tabele pentru a reuşi să se modeleze cât mai eficient colecţia de date, pentru a putea răspunde întrebărilor formulate în cadrul organizaţiei. De aceea, în procesul de proiectare a bazelor de date trebuie avută în vedere dependenţa datelor, adică legăturile care există între câmpurile unui tabel sau între câmpurile unor tabele diferite. Dependenţele cele mai influente sunt dependenţa funcţională şi dependenţa multivalorică.

Dependenţa funcţională Dependenţa funcţională se referă la faptul că un câmp al unui tabel depinde de

un alt câmp al unui tabel, adică se spune că un câmp x depinde funcţional de un câmp y dacă şi numai dacă, pentru o valoare a câmpului x, corespunde o

singură valoare a câmpului y.

Clase Elevi Note Absente Parinti

Discipline Profesori Diriginti Incadrare Profesori

Incadrare Discipline

Page 56: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 57

De exemplu, în tabelul Clienti câmpul CodClient este dependent funcţional de câmpul AdresaClient, deoarece fiecărui client al companiei îi corespunde o singură adresă. O astfel de constrângere aplicată bazei de date face însă imposibilă înregistrarea în baza de date a unui client care are două adrese. Prin eliminarea dependenţelor funcţionale se micşorează redundanţa datelor şi anomaliile care pot să apară atunci când se adaugă şi se şterg înregistrări sau atunci când se modifică valoarea câmpurilor. Principala cale prin care se pot elimina dependenţele funcţionale din cadrul tabelelor este descompunerea lor în tabele din ce în ce mai simple.

Dependenţa multivalorică Dependenţa multivalorică se referă la faptul că valoarea unui câmp x poate

forma câte o înregistrare cu toate combinaţiile posibile ale valorilor câmpurilor y şi z – cu toate perechile de valori (y,z) din produsul cartezian al mulţimilor Y şi

Z, mulţimi care specifică domeniul de definiţie al câmpurilor y şi z pentru valoarea câmpului x.

De exemplu, pentru obţinerea unui atestat care poate lua valori din mulţimea X, o mulţime Y de elevi trebuie să fie îndrumată de o mulţime Z de profesori şi pentru acelaşi tip de atestat este posibilă orice combinaţie de elev–profesor din cele două mulţimi. Tabelul format din cele trei câmpuri: TipAtestat, NumeElev, NumeProfesor conţine dependenţe multivalorice. Pentru a elimina anomaliile de exploatare a unei baze de date, într-un tabel trebuie să existe o singură dependenţă multivaloare, adică tabelul trebuie descompus astfel încât să fie respectată această condiţie. În acest caz se obţin trei tabele: AtestatElevi (conţine câmpurile TipAtestat, NumeElev, adică atribuiri prin care se poate afla ce atestat va susţine fiecare elev), AtestatProfesori (conţine câmpurile TipAtestat, NumeProfesor, adică atribuiri prin care se poate afla ce atestat poate îndruma fiecare profesor) şi Atestat (conţine câmpurile NumeElev, NumeProfesor, adică atribuiri prin care se poate afla ce profesor îndrumă fiecare elev pentru atestat).

Regulă. Toate aceste dependenţe care există în cadrul unui tabel pot genera diferite anomalii în timpul executării operaţiilor de actualizare a bazei de date, anomalii care sunt generate în special din cauza redundanţei datelor. Pentru a evita aceste anomalii trebuie înlocuit tabelul care le generează cu alte tabele, în care dependenţele sunt supuse unor restricţii. Formele echivalente astfel obţinute se numesc forme normale.

Există cinci niveluri de normalizare: primele trei acţionează asupra dependenţelor funcţionale şi ultimele două asupra dependenţelor multivalorice. În cazul în care baza de date este gândită iniţial sub forma unui singur tabel, tabelul respectiv se normalizează trecându-l prin cele cinci forme normale.

Deoarece în proiectarea unei baze de date primele trei forme sunt cele mai des întâlnite, în continuare vor fi prezentate numai acestea, pentru a înţelege ce înseamnă procesul de normalizare a bazei de date.

Prima formă normală Aducerea unei baze de date la prima formă normală înseamnă eliminarea câmpurilor compuse şi a câmpurilor repetitive.

Page 57: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

58 Baze de date

De exemplu, să considerăm că tabelul AngajatiTot conţine, pe lângă informaţiile generale despre un angajat, şi informaţiile necesare pentru a urmări istoricul evoluţiei unui angajat în posturile companiei. Înseamnă că pentru fiecare angajat trebuie să existe următoarele date: Marca, NumePrenume, CodNumeric, Adresa, Telefon, Studii, DataNasterii, DataAngajarii, Funcţie1, Departament1, DataInitiala1, DataFinala1, MotivSchimbare1, Functie2, Departa-ment2, DataInitiala2, DataFinala2, MotivSchimbare2, Functie3, Departament3, DataInitiala3, DataFinala3, MotivSchimbare3 etc. Toate aceste date pot furniza informaţii particulare despre angajat (data naşterii, codul numeric personal, adresa, telefonul) şi modul în care a evoluat profesional în cadrul companiei (funcţia, departamentul, data la care a fost angajat în funcţie, data la care a fost schimbat din funcţie şi motivul: promovare, retrogradare din cauza absenţelor nemotivate, retrogradare din cauza incompetenţei etc.). Se observă că pentru acelaşi angajat există mai multe ansambluri de câmpuri (Functie, Departament, DataInitiala, DataFinala, MotivSchimbare), în cazul în care a ocupat mai multe posturi în cadrul companiei, câte un ansamblu pentru fiecare post ocupat. Vom numi Post acest ansamblu de câmpuri.

Numărul de repetări ale ansamblului Post pentru un angajat nu poate fi precizat. Unii angajaţi au ocupat aceeaşi funcţie de la angajare, alţii şi-au schimbat funcţia de cinci ori. Aşadar, există mai multe câmpuri compuse Post cu aceeaşi semnificaţie pentru informaţia pe care o reprezintă (funcţie, perioada ocupării funcţiei şi motivul schimbării funcţiei).

Pentru a elimina câmpurile repetitive dintr-o înregistrare, se va reorganiza structura acestui tabel într-un nou tabel Angajati astfel: Marca, NumePrenume, CodNumeric, Adresa, Telefon, Studii, DataNasterii, DataAngajarii, SchimbareFunctie, Functie, Departament, DataInitiala, DataFinala, MotivSchimbare. Folosind o astfel de structură, câmpurile Functie, Departament, DataInitiala, DataFinala, MotivSchimbare nu se vor mai repeta în cadrul aceleiaşi înregistrări. Vor apărea însă mai multe înregistrări pentru acelaşi angajat, câte una pentru fiecare schimbare de funcţie. Câmpul SchimbareFunctie va înregistra cronologic a câta schimbare de funcţie reprezintă înregistrarea.

Marca NumePrenume CodNumeric ... Post1 ... Post5

Informaţii generale despre angajat. Fiecărui angajat îi corespunde o singură înregistrare în

tabel.

Informaţii despre fiecare post ocupat de un angajat. Ele se repetă de mai multe

ori într-o înregistrare.

Functie Departament DataInitială DataFinala MotivSchimbare

Marca Nume Prenume

Cod Numeric

... Functie Departament ... Motiv Schimbare

Fiecare înregistrare conţine informaţii generale despre salariat şi informaţii despre un post ocupat. Pentru un salariat pot exista mai multe înregistrări, câte una pentru fiecare post ocupat.

Page 58: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 59

AngajatiTot

Angajati

Angajatii Departamente Functii

În tabelul Angajati, pentru funcţie şi pentru departa-ment există un singur câmp care nu poate identifica unic aceste date deoarece sunt dependente de şirul de caractere introdus de la tas-tatură (persoane diferite pot scrie diferit acelaşi nume de funcţie sau acelaşi nume de departament). Din această cauză se atribuie fiecărei funcţii un cod numeric unic CodFunctie şi fiecărui departament un cod numeric unic CodDepartament. Câmpurile Functie şi Departament vor deveni câmpuri compuse fiecare din câte două câmpuri elementare. Câmpul compus Functie poate fi descompus în câmpurile elementare CodFunctie şi DenumireFunctie, iar câmpul compus Departament poate fi descompus în câmpurile elementare CodDepartament şi DenumireDepartament. În acest mod vor apărea două noi tabele: tabelul Functii care conţine câmpurile CodFunctie, DenumireFunctie şi tabelul Departamente care conţine câmpurile CodDepartament, DenumireDepartament.

În acest caz, tabelul Angajatii va fi format din: Marca, NumePrenume, CodNumeric, Adresa, Telefon, Studii, DataNasterii, DataAngajarii, SchimbareFunctie, CodFunctie, CodDepartament, DataInitiala, DataFinala, MotivSchimbare. Între tabelul Angajatii şi tabelul Functii va exista o legătură prin intermediul câmpului CodFunctie, care este cheie primară în tabelul Functii şi cheie secundară în tabelul Angajatii. Între tabelul Angajatii şi tabelul Departamente va exista o legătură prin intermediul câmpului CodDepartament, care este cheie primară în tabelul Departamente şi cheie secundară în tabelul Angajatii.

A doua formă normală Aducerea unei baze de date la a doua formă normală înseamnă că divizarea tabelelor bazei de date trebuie să continue astfel încât fiecare tabel obţinut să nu conţină dependenţe funcţionale parţiale, adică toate câmpurile unui tabel trebuie să depindă

Marca Cod Functie

Cod Departament

... Motiv Schimbare

Tabelul Angajatii va fi descompus în două tabele.

Marca Nume Prenume

Cod Numeric

... Functie Departament ... Motiv Schimbare

Marca Nume Prenume

Cod Numeric

...

Tabelul Angajat va conţine informaţii generale despre angajaţi. Există o singură înregistrare pentru fiecare angajat.

Tabelul FunctiiAngajat va conţine informaţii despre posturile ocupate de fiecare angajat. Pentru fiecare angajat există atâtea înregistrări câte posturi a ocupat în cadrul organizaţiei.

Page 59: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

60 Baze de date

numai de cheia primară a tabelului, şi nu de diverse câmpuri care compun cheia primară, adică fiecare înregistrare a unui tabel trebuie să fie identificată unic de cheia primară.

În tabelul Angajatii există pentru acelaşi angajat (marca angajatului fiind cheia primară) mai multe înregistrări în cazul în care a ocupat mai multe posturi în cadrul compa-niei, câte una pentru fiecare post ocupat. Deci, în mai multe înre-gistrări se vor repeta valori ale câmpurilor: Marca, NumePrenume, CodNumeric, Adresa, Telefon, Stu-dii, DataNasterii, DataAngajarii. Valorile câmpurilor care pot diferi de la o înregistrare la alta pentru aceeaşi valoare a câmpurilor enumerate anterior sunt: SchimbareFunctie, CodFunctie, CodDepartament, DataInitiala, DataFinala, Motiv-Schimbare.

Pentru a elimina câmpurile care nu pot fi identificate unic prin intermediul câmpului Marca (cheia primară a tabelului) se va diviza acest tabel în două tabele: Angajat, care conţine câmpurile Marca, NumePrenume, CodNumeric, Adresa, Telefon, Studii, DataNasterii, DataAngajarii, şi FunctiiAngajat, care conţine câmpurile Marca, CodFunctie, Cod-Departament, DataInitiala, DataFinala, MotivSchimbare. În tabelul FunctiiAngajat, cheia primară (cea care identifică unic o înregistrare) este formată din câmpurile CodAngajat, CodFunctie şi CodDepartament. Acest tabel este legat de mai multe tabele: Angajat (legătura între cele două tabele va fi făcută prin câmpul CodAngajat), Functii (legătura este stabilită prin cheia CodFunctie care este cheie primară în tabelul Functii şi cheie secundară în tabelul FunctiiAngajat), şi Departamente (legătura este făcută prin cheia CodDepartament care este cheie primară în tabelul Departamente şi cheie secundară în tabelul FunctiiAngajat).

A treia formă normală Aducerea unei baze de date la a treia formă normală înseamnă că divizarea tabelelor bazei de date trebuie să continue astfel încât fiecare tabel obţinut să nu conţină dependenţe funcţionale tranzitive, adică un câmp x nu trebuie să depindă de un câmp y care depinde la rândul său de un câmp z. Să analizăm tabelul Vanzari, în care sunt păstrate date despre vânzările de produse ale companiei: codul produsului, denumirea produsului, unitatea de măsură, cantitatea, data vânzării, codul angajatului care a intermediat vânzarea, date despre clientul care a cumpărat produsul, date despre factura prin care s-a încheiat tranzacţia etc. Se observă că, pentru acelaşi angajat vânzător (adică acelaşi cod vânzător, care este de fapt codul angajatului, o cheie secundară cu care se poate lega tabelul Vanzari de tabelul Angajat, unde acest câmp este cheie primară), pot să existe mai multe facturi. Fiecare factură corespunde unui cod de client şi fiecare factură poate conţine mai multe produse vândute de acel angajat. Aşadar câmpul CodProdus depinde de câmpul CodClient (cel căruia i s-a vândut produsul), care la rândul său depinde de câmpul CodVânzator (cel care a vândut produsul).

Angajatii

Angajat Functii Angajat

Departamente Functii

Page 60: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 61

În acest caz, documentul ce leagă toate aceste informaţii este factura care păstrează urma tranzacţiei comerciale. În ea se găsesc date generale despre tranzacţie (NumarFactura, DataFactura), dar şi date despre angajatul care a negociat tranzacţia (NumeVanzator, CodVanzator), date despre client (persoana care a cumpărat produsele, identificată prin CodClient, DenumireClient, CodFiscal, Adresa etc.) şi date despre fiecare produs vândut (NumarProdusFactura, CodProdus, DenumireProdus, Unitate, PreţUnitar, Cantitate, ValoareCantitate1). Se observă că, în cadrul unei facturi, produsul vândut depinde de clientul care l-a cumpărat (care plăteşte toată factura), care la rândul său depinde de vânzătorul cu care a negociat achiziţionarea produselor. Pentru a elimina aceste dependenţe funcţionale tranzitive: produs → client → vânzător din datele furnizate de o factură, vor fi construite mai multe tabele: tabelul Factura, care conţine date generale despre factură (NumarFactura, DataFactura), tabelul Vanzator, care conţine date despre tranzacţiile efectuate de angajaţii comerciali ai companiei şi care sunt necesare pentru salarizarea lor (NumarFactura, CodAngajatVanzator), tabelul Cumparator care conţine date pentru identificarea clientului implicat în tranzacţie (NumarFactura, CodClient), presupunând că există deja tabelul Clienti care furnizează informaţii complete despre fiecare client obişnuit al companiei (cod, nume, cod fiscal, adresă etc.), tabelul ProdusVandut, care identifică produsul vândut prin factură şi care conţine date pentru identificarea fiecărui produs vândut (NumarFactura, CodProdus, Cantitate), presupunând că există deja tabelul CatalogProduse care furnizează informaţii complete despre fiecare produs vândut de companie (denumire, cod, unitate de măsură, preţ unitar etc.).

În următorul exemplu, pentru proiectarea unei baze de date s-a pornit de la lista cu comenzile clienţilor. Trecând prin mai multe forme normale, s-au obţinut tabelele: Comenzi, Clienti, ProduseComandate. Identificaţi formele normale prin care a trecut tabelul iniţial.

Etapa 1. Se construieşte tabelul TotalComenzi care conţine următoarele câmpuri: NumarComanda, DataComanda, NumeClient, AdresaClient şi 6 câmpuri compuse ProdusComandat. Câmpul compus este format din câmpurile DenumireProdus, Unitate-Masura, Cantitate, PretUnitar, Valoare. Fiecare înregistrare reprezintă o comandă. Câmpul NumarComandă poate identifica unic o înregistrare. Etapa 2. Se construieşte tabelul Comenzi care conţine următoarele câmpuri: NumarComanda, DataComanda, NumeClient, AdresaClient, DenumireProdus, Unitate-

1 Pentru a simplifica analiza, s-au eliminat din structura unei facturi toate datele referitoare la TVA.

Factură (document)

Factura Vanzator ProdusVandut Cumparator

Salarii CatalogProduse Clienti

Page 61: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

62 Baze de date

Masura, Cantitate, PretUnitar, Valoare. Pentru fiecare comandă vor fi mai multe înregis-trări, câte una pentru fiecare podus din comandă. Câmpul NumarComanda şi Denumire-Produs identifică unic o înregistrare. Etapa 3. Pentru a uşura identificarea unui produs se atribuie acestuia un CodProdus. Se construieşte tabelul CatalogProduse care conţine următoarele câmpuri: CodProdus, DenumireProdus, UnitateMasura, PretUnitar. Fiecare produs din catalog va fi identificat unic prin câmpul CodProdus. În tabelul Comenzi vor rămâne câmpurile: NumarComanda, DataComanda, NumeClient, AdresaClient, CodProdus, Cantitate, Valoare. Înregistrările vor fi identificate unic prin cheia formată din două câmpuri NumarComanda şi CodProdus. Etapa 4. Din tabelul Comenzi se construiesc două tabele: tabelul Comanda şi tabelul ProduseComandate. Tabelul Comanda conţine câmpurile: NumarComanda, Data-Comanda, NumeClient, AdresaClient, Valoare. Pentru fiecare comandă va fi o singură înregistrare identificată unic prin câmpul NumarComanda. Tabelul ProduseComandate conţine câmpurile: NumarComanda, CodProdus, NumeClient, AdresaClient, Cantitate, Valoare. Pentru fiecare comandă vor exista mai multe înregistrări. Înregistrările vor fi identificate unic prin cheia formată din două câmpuri: NumarComanda şi CodProdus. Etapa 5. Din tabelul Comanda se construiesc două tabele: tabelul Comenzi şi tabelul Clienti. Tabelul Comenzi conţine câmpurile: NumarComanda, DataComanda, CodClient, Valoare. Pentru fiecare comandă va fi o singură înregistrare identificată unic prin câmpul NumarComanda. Tabelul Clienti conţine câmpurile: CodClient, NumeClient, AdresaClient. Pentru fiecare client va fi o singură înregistrare. Înregistrările vor fi identificate unic prin câmpul: CodClient.

1.2.5. Proiectarea bazei de date relaţionale Pentru a construi baza de date la nivelul logic trebuie proiectată structura bazei de date. Structura bazei de date este definită de:

structura de câmpuri a fiecărui tabel şi de legăturile care se stabilesc între tabele.

Operaţia de proiectare a bazei de date înseamnă transformarea cerinţei de informaţii într-o colecţie de tabele şi de relaţii dintre ele. Pentru a fi eficientă în exploatare, o bază de date trebuie să fie bine proiectată. Metoda de proiectare aleasă depinde de dimen-siunile bazei de date. După ce s-au proiectat tabelele, câmpurile şi relaţiile dintre tabele, urmează studierea proiectului pentru a-i descoperi deficienţele. Este mult mai simplu să se modifice proiectul în această fază – şi nu după ce au fost încărcate toate datele în baza de date. Mai întâi se construieşte baza de date la nivel fizic. Acest proces se desfăşoară în trei etape: 1. Construirea tabelelor care compun baza de date. Aceasta înseamnă că pentru

fiecare tabel din baza de date trebuie definită structura, adică ansamblul de câmpuri împreună cu proprietăţile lor.

2. Stabilirea relaţiilor între tabele. 3. Popularea bazei de date. Se încarcă date în fiecare tabel. La nivelul tabelului

unitatea de prelucrare este înregistrarea: se pot adăuga înregistrări, se pot şterge înregistrări, se pot modifica înregistrări. Se poate modifica structura unui tabel chiar după ce a fost încărcat cu date. Sistemul de gestiune a bazelor de date nu operează modificarea de structură direct în tabel, ci execută următoarele operaţii: creează noua structură de tabel (rezultată în urma modificărilor cerute), încarcă în noul tabel datele

Page 62: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 63

din vechiul tabel şi şterge vechiul tabel. Toate aceste operaţii sunt executate automat de către sistem, fără intervenţia utilizatorului şi fără a fi vizibile pentru utilizator.

1.2.5.1. Proiectarea bazelor de date mici O bază de date mică este destinată în general pentru informatizarea unui singur domeniu de activitate al organizaţiei. Pentru proiectarea ei se pot folosi două metode:

Metoda 1

Se porneşte de la o entitate care defineşte informaţia compusă pe care trebuie să o conţină baza de date. Se construieşte tabelul pentru această entitate şi se divizează acest tabel în tabele mai mici, prin procesul de normalizare a datelor. În cadrul acestui proces sunt identificate informaţiile care trebuie separate în tabele mai mici şi modul în care va fi asigurată legătura între ele. Prin această operaţie se simplifică o înregistrare de mari dimensiuni în mai multe tabele legate între ele. Nu trebuie alocate câmpuri pentru datele derivate sau calculate (cum este, de exemplu, vârsta unei persoane, dacă există deja un câmp în care este înregistrată data naşterii). Pe de altă parte, dacă o bază de date relaţională conţine foarte multe tabele, exploatarea sa va necesita un timp mai mare de prelucrare, deoarece o cerere de informaţii din baza de date va avea ca efect parcurgerea mai multor tabele. De aceea, procesul de divizare a tabelului iniţial în mai multe tabele trebuie să se oprească la un moment dat.

Consideraţi clasa o organizaţie pentru care se construieşte un minisistem informatic, iar sursa informaţională va fi o bază de date relaţională. Analiza trebuie să pornească de la entitatea Elev. Veţi identifica toate datele caracteristice unui elev, atât din punct de vedere al datelor personale (număr matricol, nume şi prenume, iniţiala tatălui,

datele despre părinţi, adresa, numărul de telefon), cât şi din punct de vedere al situaţiei şcolare (anul de studiu, clasa, profilul clasei, profesorul diriginte, profesorul pe care îl are la fiecare disciplină, disciplinele pe care le studiază în acest an şcolar, notele şi absenţele la fiecare disciplină, pe fiecare semestru, media la fiecare disciplină obţinută semestrial, media anuală la fiecare disciplină, media semestrială şi media anuală a elevului). Construiţi cu aceste date primul tabel. Construiţi baza de date prin normalizarea tabelului iniţial.

Metoda 2 Pentru proiectarea bazei de date se porneşte de la informaţiile pe care trebuie să le furnizeze baza de date. Pentru aceasta, trebuie să se parcurgă, în ordine, următorii paşi: 1. Determinarea scopului bazei de date. 2. Determinarea tabelelor necesare în baza de date. 3. Determinarea câmpurilor necesare în tabele. 4. Identificarea câmpurilor care pot fi cheie unică. 5. Determinarea relaţiilor dintre tabele.

Determinarea scopului bazei de date

Primul pas în proiectarea unei baze de date este determinarea scopului şi a modului în care poate fi folosită baza de date. Mai întâi trebuie identificate informaţiile pe care trebuie să le furnizeze baza de date şi apoi se împart aceste informaţii pe categorii de informaţii (care vor corespunde tabelelor), iar categoriile de informaţii se împart în informaţii elementare (care vor corespunde câmpurilor din tabele).

Page 63: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

64 Baze de date

Pentru realizarea acestor obiective se întreprind următoarele acţiuni: Se discută cu persoanele care vor folosi baza de date pentru a obţine informaţiile necesare pentru proiectarea ei.

Se adună formularele care vor fi folosite în mod curent pentru introducerea datelor şi documentele tipizate care se folosesc pentru a obţine informaţii despre datele care se exploatează în mod curent în cadrul compartimentelor.

Pe baza acestor documente se întocmeşte o listă cu informaţiile pe care trebuie să le conţină baza de date şi se identifică tipul şi domeniul lor de valori.

Se identifică perioada de stocare a datelor (o lună, un an, mai mulţi ani etc.). Se identifică informaţiile pe care trebuie să le furnizeze baza de date. Se adună rapoartele care se întocmesc de obicei în cadrul compartimentelor şi, pe baza lor, se schiţează rapoartele care vor fi tipărite folosind informaţiile din baza de date. Se identifică ritmul de tipărire a rapoartelor (zilnic, săptămânal, lunar etc.).

Se examinează o bază de date existentă, bine proiectată, similară proiectului care se realizează.

Determinarea tabelelor necesare în baza de date

Acest pas este foarte important deoarece de el depind rezultatele care se vor putea obţine atunci când se exploatează în mod curent baza de date (rapoartele care vor fi tipărite, formularele folosite pentru introducerea, modificarea şi vizualizarea datelor şi întrebările la care se pot obţine răspunsuri folosind interogările).

Tabelele se determină împărţind informaţia pe categorii de informaţii. Pentru a determina ce tabele va conţine baza de date, trebuie respectate următoarele principii:

Fiecare tabel şi colecţia de tabele nu trebuie să conţină informaţie redundantă. Fiecare informaţie elementară trebuie să fie memorată într-un singur tabel, într-un singur câmp – pentru a fi actualizate într-un singur loc. În acest mod, operaţia de actualizare este mult mai eficientă şi se elimină posibilitatea ca aceeaşi dată, memorată în mai multe locuri, să aibă valori diferite. De exemplu, adresa şi numărul de telefon ale unui client nu se vor memora pentru fiecare comandă, ci într-un singur loc, într-un tabel cu informaţii generale despre clienţi (în tabelul Clienti, şi nu în tabelul Comenzi).

Fiecare tabel trebuie să conţină o singură categorie de informaţii. Dacă fiecare tabel conţine numai o singură categorie de informaţii, se va putea întreţine acea categorie de informaţii independent de restul informaţiilor memorate în baza de date. De exemplu, adresa clientului se va memora în tabelul Clienti şi nu în tabelul Comenzi deoarece, atunci când se şterge o comandă, adresa clientului se va putea păstra în continuare, fiind memorată în alt tabel.

Determinarea câmpurilor necesare în tabele

Fiecare tabel conţine date referitoare la aceeaşi categorie de informaţii şi fiecare câmp din tabel conţine date despre o informaţie elementară din acea categorie de informaţii. De exemplu, tabelul Clienti poate conţine câmpuri pentru numele companiei, adresa, localitatea, judeţul, numele, prenumele, funcţia şi numărul de telefon al persoanei de contact. Când se stabilesc câmpurile în care va fi divizată informaţia din tabel, trebuie avute în vedere următoarele considerente:

Câmpurile trebuie să fie legate direct de categoria de informaţii memorată în tabel. În câmpurile din tabel trebuie să fie inclusă toată categoria de informaţii pentru care se construieşte tabelul.

Page 64: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 65

În tabel nu se vor folosi câmpuri derivate (câmpuri care conţin date ce derivă din alte câmpuri) sau câmpuri calculate (câmpuri care conţin valori obţinute în urma evaluării unei expresii).

Informaţia memorată în tabel se divizează în cele mai mici informaţii logice. De exemplu, în tabelul Angajati, pentru a memora numele unui angajat se folosesc două câmpuri, unul pentru nume şi unul pentru prenume, şi nu un singur câmp, iar în tabelele Angajati, Clienti şi Furnizori, pentru memorarea adresei se vor folosi mai multe câmpuri: unul pentru stradă şi număr, altul pentru localitate, altul pentru judeţ şi altul pentru codul poştal. În acest mod, folosind interogările, se poate găsi un angajat numai după nume sau numai după prenume sau se poate obţine o listă cu clienţii sau furnizorii dintr-un anumit oraş sau dintr-o anumită localitate.

Stabilirea câmpurilor care pot fi chei de identificare

Pentru a lega date memorate în tabele separate din baza de date (de exemplu, pentru a lega un client de toate comenzile făcute de el), fiecare tabel din baza de date trebuie să aibă un câmp sau un set de câmpuri care să permită identificarea fiecărei înregistrări, adică un set de câmpuri care să formeze cheia de identificare.

Există două tipuri de chei de identificare: Cheia de identificare cu un singur câmp. Atunci când există în tabel un câmp cu valoare unică (cum este, de exemplu, în tabelul Clienti, codul companiei), el poate fi folosit pentru cheia primară. În cazul în care nu se poate identifica în structura tabelului combinaţia de câmpuri care să poată fi folosită pentru cheia primară, se va adăuga la structura tabelului un câmp care va fi folosit pentru identificarea unică a înregistrărilor. Astfel, în tabelul Angajati nu se pot folosi cele două câmpuri Nume şi Prenume pentru a identifica un angajat, deoarece este posibil să existe doi angajaţi cu acelaşi nume şi prenume. În acest caz se adaugă la tabel un câmp denumit Marca (identificatorul angajatului).

Cheia de identificare cu mai multe câmpuri. Atunci când nu se găseşte în tabel un câmp cu valori unice, se vor folosi două sau mai multe câmpuri pentru a construi cheia primară. Acest caz apare cel mai des în tabelele obţinute prin transformarea relaţiilor de tipul mai–multe–la–mai–multe. Un astfel de exemplu este tabelul DetaliiComenzi care a rezultat din transformarea relaţiei de tipul mai–multe–la–mai–multe dintre tabelele Comenzi şi Produse. În tabelul DetaliiComenzi există mai multe înregistrări care au aceeaşi valoare pentru câmpul număr comandă (printr-o comandă pot fi cerute mai multe produse) şi mai multe înregistrări care au aceeaşi valoare pentru câmpul cod produs (acelaşi produs poate fi solicitat prin mai multe comenzi). În schimb, într-o comandă, un produs nu poate să apară decât o singură dată, astfel încât o înregistrare poate fi unic identificată folosind pentru cheia primară cele două câmpuri: numărul comenzii şi codul produsului.

Atunci când se alege cheia primară a tabelului, trebuie să se ţină cont de faptul că în tabel cheia primară nu poate avea valoarea Null sau valori duplicate.

Determinarea relaţiilor dintre tabele După ce s-a împărţit informaţia în tabele şi câmpuri şi s-a identificat cheia primară în fiecare tabel, trebuie definite relaţiile dintre tabele. De exemplu, dacă se introduc datele cores-punzătoare unui formular BonComanda, care conţine toate informaţiile referitoare la comanda unui client, acest formular conţine informaţii care sunt memorate în cinci tabele: Angajati (identificatorul angajatului care a preluat comanda), Clienti (informaţiile despre client: nume,

Page 65: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

66 Baze de date

adresa etc.), Produse (informaţii despre fiecare produs comandat: denumire, unitate de ambalare, preţ), Comenzi (informaţii generale despre comandă: număr, data comenzii etc.) şi DetaliiComenzi (cantitatea pentru fiecare produs comandat). Introducerea şi prelucrarea acestor date este posibilă numai dacă s-au definit relaţii între cele cinci tabele.

Scop: proiectarea unei baze de date mici

Proiectarea bazei de date a unei magazii de materiale

1. Determinarea scopului bazei de date Scopul bazei de date este gestionarea mişcărilor de materiale dintr-o magazie. Cerinţele bazei de date sunt:

Fiecare articol din magazie este identificat printr-un cod. Articolul mai are următoarele atribute: denumire, unitate de măsură, preţ, stoc de siguranţă (stocul minim necesar desfăşurării procesului de producţie). În funcţie de tipul articolelor, se mai pot adăuga şi alte atribute (model, culoare, mărime etc.).

În magazie are loc o continuă mişcare de articole: unele articole intră în magazie, altele ies din magazie. Fiecare mişcare este caracterizată de data mişcării, cantitate şi valoare. În urma unei mişcări, stocul de articole se modifică şi poate să ajungă sub stocul de siguranţă.

Trebuie să se cunoască în orice moment situaţia stocurilor din magazie şi graficul mişcărilor de articole.

Documentele pe baza cărora are loc mişcarea de materiale sunt: pentru intrări: factura – factura este emisă de un furnizor; pentru ieşiri: bonul de consum – bonul de consum este emis de o persoană respon-sabilă cu această activitate într-un compartiment funcţional al companiei.

Categoriile de informaţii sunt:

Între categoriile de informaţii se stabilesc următoarele relaţii: un furnizor poate emite de la una până la mai multe facturi; factura nu poate fi emisă decât de un singur furnizor; într-o factură pot fi de la unul până la mai multe materiale; un material poate să apară în mai multe facturi; un compartiment poate emite de la unul până la mai multe bonuri de consum; bonul de consum nu poate fi emis decât de un singur compartiment; într-un bon de consum pot fi cerute unul sau mai multe materiale; un material poate să apară în mai multe bonuri de consum.

Relaţiile dintre categoriile de informaţii sunt de tip 1-n (unu la mai multe) sau n-n (mai multe la mai multe):

2. Determinarea tabelelor necesare în baza de date

Furnizor Factură Material Bon de consum Compartiment

Furnizor 1

Factură n n

Material n n

Bon de consumn n

Compartiment 1

Page 66: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 67

Pentru a putea răspunde la toate aceste cerinţe, baza de date va fi formată din următoarele tabele:

Furnizori: conţine informaţii despre furnizorii de materiale; Facturi: conţine informaţii generale despre facturi; DetaliiFacturi: conţine informaţii detaliate despre materialele intrate în magazie prin factură (se creează pentru a transforma relaţia de tip n–n, dintre Facturi şi Materiale, în două relaţii de tip 1–n);

Materiale: conţine informaţii generale despre materialele din magazie; Bonuri: conţine informaţii generale despre bonurile de consum; DetaliiBonuri: conţine informaţii detaliate despre materialele ieşite prin bonurile de consum (se creează pentru a transforma relaţia de tip n–n, dintre Bonuri şi Materiale, în două relaţii de tip 1–n);

Compartimente: conţine informaţii despre compartimentele funcţionale ale companiei.

3. Determinarea câmpurilor necesare în tabele

Tabelele vor conţine următoarele câmpuri: Furnizori: cod furnizor (I1), denumire furnizor (C,30), adresă (M), localitate (C,20), judeţ (C,15), cod poştal (I), cod fiscal (I), bancă (C,20), cont (I), telefon (C,10);

Facturi: număr factură (I), dată factură (DT), cod furnizor (I); Detalii facturi: număr rând factură (I), număr factură (I), cod material (I), cantitate intrată (R); preţ (R);

Materiale: cod material (I), denumire material (C,30), unitate de măsură (C,4), stoc siguranţă (R);

Bonuri de consum: număr bon (I), dată bon (DT), cod compartiment (I); Detalii bonuri: număr rând bon (I), număr bon (I), cod material (I), cantitate ieşită (R); Compartimente: cod compartiment (I), denumire compartiment (C,20), nume (C,15) şi prenume (C,15) pentru persoana responsabilă, funcţie (C,15), telefon (C,10).

4. Identificarea câmpurilor care pot fi chei unice

Pentru a lega datele memorate în tabele separate din baza de date, fiecare tabel are un câmp sau un set de câmpuri care să permită identificarea fiecărei înregistrări, adică un set de câmpuri care să formeze cheia de identificare, astfel:

Furnizori: cod furnizor; Facturi: număr factură; Detalii facturi: număr rând factură sau număr factură + cod material; Materiale: cod material; Bonuri de consum: număr bon; Detalii bonuri de consum: număr rând bon sau număr bon + cod material; Compartimente: cod compartiment.

5. Determinarea relaţiilor dintre tabele

După ce a fost împărţită informaţia în tabele şi câmpuri şi au fost identificate cheile primare în fiecare tabel, se definesc relaţiile dintre tabele:

1 În descrierea structurii de date a tabelelor se vor folosi pentru tipul datelor: I – întreg, R – real, C – şir de caractere, M – memo şi DT – dată şi timp. În cazul în care lungimea câmpului nu este determinată de tipul datelor, se va preciza şi lungimea câmpului. De exemplu, nume (C,30) înseamnă: câmpul nume este de tip şir de caractere şi are lungimea 30.

Page 67: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

68 Baze de date

Tabel conducător Tabel condus Cheie primară Cheie secundară Tip relaţieFurnizori Facturi CodFurnizor CodFurnizor 1-n Facturi DetaliiFacturi NumărFactură NumărFactură 1-n

Materiale DetaliiFacturi CodMaterial CodMaterial 1-n Materiale DetaliiBonuri CodMaterial CodMaterial 1-n

Compartimente Bonuri CodCompartiment CodCompartiment 1-n Bonuri DetaliiBonuri NumărBon NumărBon 1-n

1. O organizaţie păstrează evidenţa vânzărilor unor produse.

Fiecare produs este identificat printr-un cod. Produsul mai are următoarele atribute: denumire, unitate de măsură, preţ. Stocul fiecărui produs creşte prin aprovizionarea cu noi produse, documentul folosit fiind factura sosită de la furnizor. Stocul

fiecărui produs se micşorează în urma vânzării, documentul folosit fiind factura emisă către client. Fiecare factură emisă unui client corespunde unei vânzări realizate de un agent de vânzări. Fiecare agent de vânzări este identificat unic printr-un cod. Agentul de vânzări mai are următoarele atribute: nume şi prenume. Realizaţi o bază de date care să păstreze aceste informaţii şi care să furnizeze informaţii despre: cantităţile vândute din fiecare produs, stocul de produse disponibile pentru a fi vândute şi cantităţile de produse vândute de fiecare agent de vânzări.

2. Angajaţii unui departament trebuie să se deplaseze în diferite localităţi din ţară, pentru rezolvarea unor probleme de serviciu. Trebuie să se ţină evidenţa cheltuielilor de deplasare. Fiecare angajat este identificat unic printr-un cod. El mai are atributele nume şi prenume. Fiecare operaţie de deplasare se identifică printr-un număr unic. Ea mai are următoarele atribute: codul angajatului care s-a deplasat, data la care a avut loc deplasarea, localitatea, numărul de zile, motivul şi cheltuielile de deplasare. O cheltuială de deplasare are următoarele atribute tipul cheltuielii (transport, cazare etc. – se recomandă folosirea unui sistem de codificări pentru identificarea tipului de cheltuială) şi valoarea cheltuielii. Realizaţi o bază de date care să păstreze aceste informaţii şi care să furnizeze informaţii despre: totalul cheltuielilor pe fiecare deplasare a unei persoane, totalul cheltuielilor pe toate deplasările, pentru fiecare persoană, şi totalul cheltuielilor pentru fiecare tip de cheltuială.

Furnizori

Facturi

Materiale

Bonuri

Compartimente

Detalii facturi Detalii bonuri

Page 68: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 69

1.2.5.3. Proiectarea bazelor de date medii şi mari O bază de date medie este sursa informaţională a unui subsistem informatic, iar o bază de date mare este sursa informaţională a unui sistem informatic. Ele conţin informaţii foarte complexe şi trebuie să furnizeze la rândul lor informaţii foarte complexe.

Pentru proiectarea acestor baze de date se porneşte de la modelul conceptual al aplicaţiei de gestiune care va fi transformat în tabele şi relaţii dintre tabele. Pentru această transformare se aplică următoarele reguli: 1. O entitate devine un tabel. Identificatorul entităţii devine cheie primară, iar atributele

entităţii devin câmpuri în tabel. 2. O asociere ierarhică devine o relaţie, astfel:

a. Entitatea care în asociere are conectivitatea maximă 1 va fi tabelul condus, iar cealaltă entitate va fi tabelul conducător.

b. Cheia primară a tabelului conducător va fi cheie secundară în tabelul condus. c. Dacă asocierea are atribute proprii, acestea vor deveni câmpuri în tabelul

conducător. 3. O asociere non-ierarhică devine un tabel, astfel:

a. Atributele proprii ale asocierii vor fi câmpuri în acest tabel. La aceste câmpuri se adaugă identificatorii entităţilor care participă la asociere. Cei doi identificatori vor forma cheia de identificare pentru acest tabel.

b. Cele două entităţi care participă la asociere vor fi tabele conducătoare, iar tabelul provenit din asociere va fi tabel condus. Cheia primară a fiecărui tabel conducător va fi cheie secundară în tabelul condus.

Scop: proiectarea unei baze de date medii

Proiectarea bazei de date folosind modelul conceptual al aplicaţiei de gestiune (pagina 25).

1. Transformarea entităţilor în tabele: Tabele Câmpuri Chei de identificare Post IdPost, NumePost IdPost CategClient IdCatClient, DenCatClient IdCatClient Client IdClient, NumeClient, Loc, Adresa, Jud, CodPostal IdClient CategArticol IdCatArt, DenCatArt IdCatArt Articol CodArt, DenArt, Marime, CotaTVA CodArt Catalog DataLimita DataLimita BonComanda NrBonComanda, DataComanda NrBonComanda BonLivrare NrBonLivrare, DataLivrare NrBonLivrare Factura NrFactura, DataFactura NrFactura An AnCurent AnCurent Perioada AnIniţial AnInitial

2. Transformarea asocierilor ierarhice în relaţii:

Se adaugă la tabelele conduse cheile secundare, care vor fi subliniate cu o linie, spre deosebire de cheile primare care sunt scrise îngroşat.

Page 69: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

70 Baze de date Tabele Câmpuri Post IdPost, NumePost CategClient IdCatClient, DenCatClient Client IdClient, NumeClient, Loc, Adresa, Jud, CodPostal, IdPost, IdCatClient CategArticol IdCatArt, DenCatArt Articol CodArt, DenArt, Marime, CotaTVA , IdCatArt Catalog DataLimita BonComanda NrBonComanda, DataComanda, IdClient BonLivrare NrBonLivrare, DataLivrare, NrFactura, NrBonComanda Factura NrFactura, DataFactura, IdPost, IdClient An AnCurent Perioada AnIniţial

Se stabilesc relaţiile între tabele: Tabel conducător Tabel condus Cheie primară Cheie secundară Tip relaţie

CategClient Client IdCatClient IdCatClient 1–n Post Client IdPost IdPost 1–n

CategArt Articol IdCatArt IdCatArt 1–n BonComanda BonLivrare NrBonComanda NrBonComanda 1–n

Client BonComanda IdClient IdClient 1–n Factura BonLivrare NrFactura NrFactura 1–n Client Factura IdClient IdClient 1–n Post Factura IdPost IdPost 1–n

3. Transformarea asocierilor non-ierarhice în tabele şi relaţii: Se obţin tabelele:

Tabele Câmpuri Comenzi NrBonComanda, CodArt, CantCom Livrari NrBonLivrare, CodArt, CantLivr Preturi CodArt, DataLimita, PretVanz Luni NrFactura, AnCurent, Luna Ani NrFactura, AnInitial, An

şi relaţiile: Tabel conducător Tabel condus Cheie primară Cheie secundară Tip relaţie

BonComanda Comenzi NrBonComanda NrBonComanda 1–n Articol Comenzi CodArt CodArt 1–n

BonLivrare Livrari NrBonLivrare NrBonLivrare 1–n Articol Livrari CodArt CodArt 1–n Articol Preturi CodArt CodArt 1–n Catalog Preturi DataLimita DataLimita 1–n Factura Luni NrFactura NrFactura 1–n Factura Ani NrFactura NrFactura 1–n

An Luni AnCurent AnCurent 1–n Perioada Ani AnInitial AnInitial 1–n

Page 70: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 71

Realizaţi bazele de date la nivel logic pornind de la modelele conceptuale realizate pentru subsistemele informatice pentru compania care asigură consultanţă, pentru clasă, pentru biblioteca şcolii, pentru secretariatul şcolii, pentru examenul de bacalaureat şi pentru magazia cu materiale sportive a şcolii.

1.2.6. Sisteme de gestiune a bazelor de date relaţionale Datorită răspândirii din ce în ce mai mari a bazelor de date relaţionale pe microcalcula-toare, majoritatea firmelor producătoare de seturi software au inclus în acestea şi sisteme de gestiune a bazelor de date:

Firma Setul software S.G.B.D. Microsoft Microsoft Office Access

Lotus Lotus SmartSuite Lotus Approach Corel Corel Suite Office Paradox

Unele firme, cum este Microsoft, produc şi alte SGBD-uri relaţionale (FoxPro). Toate aceste sisteme de gestiune a bazelor de date sunt orientate pe microcalculatoare şi reţele de microcalculatoare.

Însă cel mai utilizat SGBD relaţional din întreaga lume rămâne în continuare Oracle produs de firma Oracle Corporation, deoarece are următoarele avantaje:

Poate fi folosit cu diferite sisteme de operare: Windows pentru microcalculatoarele com-patibile IBM şi System pentru calculatoarele Macintosh, Unix pentru microcalculatoare şi minicalculatoare şi sisteme de operare pentru calculatoare mari (mainframe).

Permite dezvoltarea unor baze de date de orice dimensiune (de la câţiva octeţi până la gigaocteţi).

Respectă standardele în vigoare referitoare la limbajele de accesare a datelor (SQL). Acceptă un număr mare de utilizatori simultani, minimizând conflictele care pot să apară în cererile simultane de acces la date.

Asigură o securitate mărită datorită siguranţei foarte mari la limitarea şi monitorizarea accesului la date.

Funcţiile unui sistem de gestiune a bazelor de date relaţionale sunt: memorarea, actualizarea (adăugarea, ştergerea şi modificarea) şi regăsirea datelor din baza de date (utilizatorul poate crea şi manipula datele fără să cunoască modul în care sunt stocate pe mediul de memorare),

crearea şi întreţinerea dicţionarului de date, asigurarea accesului rapid la datele din colecţia de date, păstrarea unei copii de siguranţă a datelor pentru a putea fi recuperate în cazul în care au loc întreruperi accidentale ale funcţionării sistemului,

asigurarea securităţii datelor, asigurarea accesului simultan al mai multor utilizatori la o înregistrare din baza de date (eventual asigurarea accesului concurent),

asigurarea integrităţii datelor (se pot introduce în baza de date numai date valide, iar operaţiile de actualizare nu distrug legăturile dintre tabele).

Sistemele de gestiune a bazelor de date relaţionale pun la dispoziţie următoarele metode pentru asigurarea securităţii bazei de date:

Page 71: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

72 Baze de date

Parolă la nivelul întregii baze de date

Această metodă permite asigurarea securităţii la nivelul bazei de date. Este cea mai simplă metodă de asigurare a securităţii şi cel mai rapid de realizat. Se atribuie o singură parolă pentru întreaga bază de date. Orice persoană care doreşte să folosească baza de date trebuie mai întâi să introducă parola. Dacă parola este corectă, se obţine accesul la baza de date şi toate obiectele bazei de date îi vor fi disponibile. Metoda este eficientă numai în cazul unui birou mic şi cu un număr foarte mic de utilizatori ai bazei de date (eventual unul singur). Aceştia se pot asigura astfel că nicio persoană neautorizată (din afara biroului) nu are acces la baza de date.

Drepturi specifice acordate utilizatorilor sau grupurilor de utilizatori

Această metodă permite asigurarea securităţii la nivelul utilizatorului. Utilizatorii pot avea drepturi diferite asupra aceleiaşi baze de date prin folosirea schemelor parţiale. Fie-care utilizator deţine propria parolă, care este unică şi nu are legătură cu parolele celor-lalţi utilizatori. La începerea sesiunii de lucru, utilizatorul introduce numele de utilizator şi parola. Sistemul de gestiune a bazelor de date verifică dacă sunt corecte şi dacă da, determină drepturile asociate utilizatorului respectiv (schema parţială la care are acces). Utilizatorii pot fi organizaţi pe grupuri şi pot fi atribuite drepturi la nivel de grup, la nivel de utilizator sau la ambele niveluri. Grupurile sunt categorii de utilizatori care au aceleaşi drepturi de a folosi baza de date. Utilizatorul poate să facă parte dintr-un grup sau din mai multe grupuri. El va moşteni drepturile grupului cel mai puţin restrictiv din care face parte. La aceste drepturi se vor adăuga drepturile proprii. Prin această metodă pot fi personalizate uşor drepturile fiecărui utilizator asupra obiectelor din baza de date. Informaţiile despre utilizatori şi grupurile de utilizatori se păstrează la nivelul bazei de date, iar drepturile de folosire a obiectelor bazei de date se păstrează în cadrul tabelelor.

Folosirea grupurilor de utilizatori uşurează mult munca de asigurare a securităţii bazei de date. Mai întâi se organizează drepturile de acces pe grupuri logice şi apoi se ataşează utilizatorii la aceste grupuri. Drepturile unui utilizator pot fi uşor modificate prin simpla mu-tare a utilizatorului dintr-un grup în altul. De exemplu, pot fi definite trei grupuri de utiliza-tori ai unei baze de date relaţionale Angajaţi: primul grup poate vizualiza şi actualiza (mo-difica, adăuga, şterge) baza de date, al doilea grup poate doar vizualiza baza de date, iar al treilea grup poate vizualiza numai anumite câmpuri ale bazei de date (de exemplu, numai numele şi adresa). Dacă utilizatorul este promovat în funcţie şi primeşte noi drep-turi de folosire a bazei de date, el va fi mutat în grupul corespunzător acestor drepturi.

Criptarea bazei de date

Primele două metode se referă la protejarea folosirii bazei de date de către persoane neautorizate, prin intermediul sistemului de gestiune a bazelor de date, dar ele nu împiedică vizualizarea datelor din tabele cu ajutorul altor aplicaţii care pot să citească texte. Singura metodă prin care se poate împiedica vizualizarea datelor este cea de criptare a datelor.

Elementele folosite de sistemul de gestiune a bazelor de date relaţionale pentru a-şi realiza funcţiile sunt:

Page 72: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 73

1.2.6.1. Dicţionarul de date Dicţionarul de date (Data Dictionary) conţine descrierea structurii datelor folosite în baza de date. El este generat automat la crearea bazei de date şi conţine informaţii referitoare la tabelele bazei de date, la fişierele ajutătoare folosite în exploatarea tabelelor şi la mo-dul în care pot fi localizate pe disc. De obicei aceste informaţii sunt despre:

ce date sunt disponibile, unde sunt localizate datele, descrierea datelor, legăturile dintre date, cum pot fi folosite datele, cine este proprietarul lor, cui i se permite accesul la consultarea datelor, cui i se permite accesul la actualizarea datelor, limitările în exploatare generate din necesitatea de a asigura securitatea şi confidenţialitatea datelor.

În dicţionarul de date se găsesc tabele care conţin datele bazei de date în formatul intern al sistemului de gestiune a bazelor de date folosit, precum şi vizualizările (tabele virtuale) care sintetizează datele din tabelele reale şi prezintă informaţia într-un format accesibil utilizatorului. Actualizarea dicţionarului de date se face folosind limbajul dicţionarului de date (Data Dictionary Language). Accesul la dicţionarul de date este permis numai dacă baza de date este deschisă.

1.2.6.2. Limbajul de interogare Limbajul de interogare (Query Language). Este un limbaj accesibil, uşor de înţeles şi de folosit de marea majoritate a utilizatorilor. Deseori el se confundă cu limbajul de ma-nipulare a datelor. El asigură accesul la datele din baza de date, regăsirea şi afişarea lor.

Interogarea (query) sau cererea de înregistrări este un proces prin care se extrag din baza de date şi sunt prezentate în vederea utilizării acele înregistrări

care satisfac anumite criterii.

Iată câteva exemple de interogări ale bazei de date a companiei: Identificarea tuturor clienţilor dintr-un judeţ. Afişarea tuturor comenzilor dintr-o perioadă de timp pentru un anumit produs sau pentru toate produsele.

Afişarea informaţiilor despre un client identificat după numărul său de cod sau după numele său.

Afişarea listei cu clienţii care au comandat produse care nu există în acest moment în stoc (numele clientului, numele persoanei de contact şi numărul de telefon).

Afişarea unei liste cu clienţii care nu au avut comenzi într-o perioadă de timp precizată.

Dicţionarul de date Limbajul de interogare

Elemente

Page 73: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

74 Baze de date

Afişarea unităţilor vândute pentru fiecare produs într-o perioadă de timp. Afişarea informaţiilor despre un client identificat după numărul său de cod sau după nume.

SQL (Structured Query Language – limbaj structurat de interogare) este cel mai răspân-dit limbaj de interogare a bazelor de date relaţionale. Este un limbaj standardizat care a fost creat special pentru a putea fi folosit la interogarea, actualizarea şi gestionarea baze-lor de date. Instrucţiunile SQL descriu operaţiile relaţionale între tabele, ca de exemplu Select, Project şi Join. Limbajul SQL nu operează cu datele propriu-zise (variabile de memorie şi câmpuri) ci cu relaţiile dintre tabele. Limbajul SQL poate fi folosit împreună cu un limbaj gazdă sau în unele cazuri este inclus în limbajul gazdă (cum este de exemplu limbajul gazdă al sistemului de gestiune a bazelor de date FoxPro). Limbajul SQL este deosebit de un limbaj procedural (aşa cum sunt limbajele Pascal, C++, Basic etc.). Limbajul procedural duce la construirea unor programe prin care i se arată calculatorului ce trebuie să facă în conformitate cu algoritmul de rezolvare a problemei, descris prin in-strucţiuni (prin care i se spune calculatorului pas cu pas ce trebuie să execute). Pe baza acestor programe, calculatorul execută instrucţiune după instrucţiune respectând cele trei tipuri de structuri de control: secvenţială, alternativă şi repetitivă. Limbajul SQL este un limbaj de rezultate: el îi spune calculatorului ce doreşte utilizatorul să obţină şi nu ce acţiuni trebuie să efectueze ca să obţină acele rezultate. Elementul fundamental al oricărei interogări SQL este cuvântul cheie Select cu care începe fiecare instrucţiune SQL folosită pentru interogarea bazei de date.

Cea mai importantă problemă care apare în proiectarea unei aplicaţii de exploatare a bazei de date nu o reprezintă aplicaţia în sine, ci modul în care este proiectată structura

Terminal

Terminal

Sistemul de gestiune a

bazelor de date

Identificarea cererii de date

Determinarea locaţiilor în baza

de date

Baza de date

Interogare

Răspuns

Dicţionarul de date

Limbajul de manipulare

a datelor

Stabilirea volumului mediu de co-menzi într-o perioadă de timp pentru un anumit produs.

Stabilirea produsului care a fost cel mai bine vândut într-o anumită perioadă de timp.

Afişarea pentru fiecare produs a cantităţii maxime vândute într-o anumită perioadă de timp.

Afişarea listei de materiale care au stocul 0.

Afişarea listei de materiale care sunt sub stocul de siguranţă ad-mis pentru a asigura fluxul pro-ducţiei.

Page 74: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 75

bazei de date, pentru că de ea depinde timpul de acces la date şi ea este cea care asigură integritatea referenţială a datelor.

În afara limbajelor care au la bază algebra relaţională (care folosesc interogări exprimate prin operatori relaţionali specifici aşa cum este limbajul SQL), mai există şi limbaje care se bazează pe calculul relaţional (care exprimă interogările prin intermediul condiţiilor pe care trebuie să le îndeplinească mulţimea înregistrărilor care corespund cererii). Din această categorie face parte limbajul QBE (Query By Example – Interogare prin exemple) care este standardul prin care pot fi formulate interactiv interogările bazei de date folosind calculul relaţional. De obicei limbajul QBE pune la dispoziţia utilizatorului o interfaţă prin intermediul căreia utilizatorul îşi poate asambla interogarea, incluzând operatori pentru calculul:

sumei valorilor unui câmp din tabel – sum, mediei aritmetice a valorilor unui câmp din tabel – avg, celei mai mari valori a unui câmp din tabel – max, celei mai mici valori a unui câmp din tabel – min, numărului de înregistrări dintr-un tabel – cnt.

În sistemul de gestiune a bazelor de date (de exemplu, Visual FoxPro şi Access) interogările se pot construi prin intermediul interfeţei folosind interogarea prin exemple (QBE). În culise, aceste comenzi sunt transformate în instrucţiuni SQL.

Să presupunem că există o bază de date formată dintr-un tabel A şi o bază de date formată din două tabele, B şi C. Tabelul A conţine următoarele câmpuri: nume angajat, funcţie, departament. Tabelul B conţine câmpurile nume angajat şi funcţie, iar tabelul C câmpurile funcţie şi departament. Comparaţi cele două baze de date. Ele conţin aceleaşi

categorii de date, dar nu sunt identice din punct de vedere al informaţiilor pe care le furnizează. Arătaţi cum răspund cele două baze de date la următoarele cereri de informaţii:

În ce departament lucrează angajatul X? Care sunt angajaţii dintr-un departament? Care sunt angajaţii cu funcţia X din departamentul Y?

Ce concluzie trageţi? Reproiectaţi cea de-a doua bază de date astfel încât să poată răspunde la aceste întrebări.

Să presupunem că există o bază de date formată dintr-un tabel A şi o bază de date formată din două tabele, B şi C. Tabelul A conţine următoarele câmpuri: nume angajat, funcţie, departament, număr de telefon. Tabelul B conţine câmpurile nume angajat şi departament, iar tabelul C câmpurile funcţie şi număr de telefon. Comparaţi cele două

baze de date. Ele conţin aceleaşi categorii de date, dar nu sunt identice din punct de vedere al informaţiilor pe care le furnizează. Arătaţi cum răspund cele două baze de date la următoarele cereri de informaţii:

Ce număr de telefon are angajatul X? Ce angajat are numărul de telefon Y? Care sunt angajaţii cu funcţia X din departamentul Y?

Ce concluzie trageţi? Reproiectaţi cea de-a doua bază de date astfel încât să poată răspunde la aceste întrebări.

Page 75: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

76 Baze de date 1.2.7. Algebra relaţională Cele mai multe limbaje folosite pentru interogarea bazelor de date, aşa cum este şi limbajul SQL, derivă din aplicarea operatorilor specializaţi asupra relaţiilor dintre tabelele bazei de date. Aceşti operatori fac parte din algebra relaţională.

Algebra relaţională conţine – pe lângă operatorii de mulţimi care tratează tabelele ca pe mulţimi de elemente (reuniunea, intersecţia, diferenţa, produsul cartezian), fără să ţină cont de relaţiile dintre ele – şi operatorii relaţionali specifici care se aplică asupra relaţiilor stabilite între înregistrările tabelelor legate.

Operatorii relaţionali specifici sunt: selecţia (select), proiecţia (project), cuplarea (join).

Selecţia (Select1). Operatorul se aplică pe un tabel sursă. Rezultatul este un tabel nou, cu aceeaşi structură de câmpuri ca şi a tabelului sursă, ce conţine însă numai acele înregistrări din tabelul sursă care îndeplinesc o condiţie precizată: au aceeaşi valoare pentru un anumit câmp.

De exemplu, putem considera ca tabel sursă tabelul Angajaţi. Prin operaţia select se pot crea noi tabele:

1 Operatorul relaţional Select nu trebuie confundat cu comanda SQL Select.

Angajaţi CodA NumePrenume CodNum Departament Functia

1111 Ionescu Maria 2030361403457 Marketing Casier 1112 Popescu Ion 1020260403456 Marketing Vânzator 1113 Andronescu Ana 2040469402458 Salarizare Casier 1114 Ene Magda 2050570403453 Salarizare Contabil

Nou1 Select from Angajati where CodNum=1020260403456 CodA NumePrenume CodNum Departament Functia

1112 Popescu Ion 1020260403456 Marketing Vânzator

Nou2 Select from Angajati where Departament='Salarizare' Cod-a Nume_prenume Cod_num Departament Funcţia

1113 Andronescu Ana 2040469402458 Salarizare Casier 1114 Ene Magda 2050570403453 Salarizare Contabil

Nou3 Select from Angajati where Functia='Casier' CodA NumePrenume CodNum Departament Functia

1111 Ionescu Maria 2030361403457 Marketing Casier 1113 Andronescu Ana 2040469402458 Salarizare Casier

Page 76: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 77

Tabelul Nou1. Conţine o singură înregistrare corespunzătoare unui angajat care are un anumit cod numeric personal:

Select from Angajati where CodNum=1020260403456

Tabelul Nou2. Conţine mai multe înregistrări care corespund angajaţilor din departa-mentul Salarizare:

Select from Angajati where Departament='Salarizare'

Tabelul Nou3. Conţine mai multe înregistrări care corespund angajaţilor care au funcţia de casier:

Select from Angajati where Functia='Casier'

Proiecţia (Project). Operatorul se aplică pe un tabel sursă din care creează un tabel nou ce va conţine numai câmpurile specificate din tabloul sursă.

De exemplu, putem considera ca tabel sursă tabelul Angajati. Prin operaţia project se pot crea noi tabele:

Tabelul Nou4. Conţine două câmpuri: NumePrenume şi CodNum: Project NumePrenume, CodNum from Angajati

Tabelul Nou5. Conţine două câmpuri: NumePrenume şi Departament: Project NumePrenume, Departament from Angajati

Compunerea (Join). Operatorul se aplică pe două tabele sursă din care creează un tabel nou astfel: din produsul cartezian al celor două tabele se păstrează numai înre-gistrările care îndeplinesc o anumită condiţie.

Nou4 Project NumePrenume, CodNum from Angajati

NumePrenume CodNum Ionescu Maria 2030361403457 Popescu Ion 1020260403456 Andronescu Ana 2040469402458 Ene Magda 2050570403453

Nou5 Project NumePrenume, Departament from Angajati

NumePrenume Departament Ionescu Maria Marketing Popescu Ion Marketing Andronescu Ana Salarizare Ene Magda Salarizare

Angajati CodA NumePrenume CodNum Departament Functia

1111 Ionescu Maria 2030361403457 Marketing Casier 1112 Popescu Ion 1020260403456 Marketing Vânzator 1113 Andronescu Ana 2040469402458 Salarizare Casier 1114 Ene Magda 2050570403453 Salarizare Contabil

Page 77: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

78 Baze de date

Exemplu de operaţie Join

Departamentul Aprovizionare foloseşte următoarele tabele: Tabelul CatalogMateriale – pentru evidenţa materialelor cu care se poate face aprovizionarea. Conţine câmpurile: CodMaterial, Denumire, UnitateMasura.

Tabelul Intrari – pentru evidenţa materialelor achiziţionate. Conţine câmpurile: CodMaterial, CantitateIntrata, TipDocument, NumarDocument, DataIntrare.

Tabelul Iesiri – pentru evidenţa materialelor consumate. Conţine câmpurile: CodMaterial, CantitateIesita, TipDocument, NumarDocument, DataIesirii.

Pentru a obţine stocul din fiecare material, trebuie calculată pentru fiecare material diferenţa dintre suma cantităţilor intrate şi suma cantităţilor ieşite. Pentru a putea executa această operaţie trebuie compuse cele două tabele într-unul singur, condiţia de compunere fiind egalitatea câmpurilor: Intrări. CodMaterial = Ieşiri.CodMaterial, adică

Join Intrari and Iesiri where Intrari. CodMaterial = Iesiri. CodMaterial Operatorii din algebra relaţională pot fi folosiţi pentru a formula diferite interogări. De exemplu, în baza de date a organizaţiei: a. Lista cu numele angajaţilor din toate departamentele care au funcţia 'casier'. În tabelul

Angajati se execută o operaţie de selecţie: Select from Angajati where Functie='casier'

şi se obţine tabelul Casieri care conţine toţi angajaţii care au funcţia de casier. Apoi pe tabelul astfel obţinut se aplică operaţia de proiecţie:

Project NumePrenume, Departament from Casieri

Tabel A × B (produs cartezian) Câmpuri→ C1 C2 C3 C4 C5

RA1 1 a x 1 m RB1 RA1 1 a x 2 n RB2 RA1 1 a x 3 p RB3 RA2 2 b y 1 m RB1 RA2 2 b y 2 n RB2 RA2 2 b y 3 p RB3

↑ Rândurile tabelului A Rândurile tabelului B↑

Tabel A Câmpuri→ C1 C2 C3 RA1 1 a x RA2 2 b y ↑ Rândurile tabelului A

Tabel B Câmpuri→ C4 C5 RB1 1 m RB2 2 n RB3 3 p ↑ Rândurile tabelului B

Tabel C Join A and B where A.C1=B.C4 Câmpuri→ C1 C2 C3 C4 C5

RA1 1 a x 1 m RB1 RA2 2 b y 2 n RB2

↑ Rândurile tabelului A Rândurile tabelului B↑

Page 78: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 79

şi se obţine în tabelul CasieriDepartamente informaţia dorită (lista cu numele persoa-nelor şi departamentul în care lucrează). b. Lista cu numele furnizorului, numele şi numărul de telefon al persoanei de contact

pentru materialele care sunt sub stocul de siguranţă, pentru a se putea comanda aceste materiale. În tabelul Stocuri se execută o operaţie de selecţie:

Select from Stocuri where Stoc<=StocSig şi se obţine tabelul Siguranta care conţine toate materialele care sunt sub stocul de siguranţă. Apoi pe tabelul astfel obţinut se aplică operaţia de proiecţie:

Project CodMaterial, Denumire from Siguranta şi se obţine tabelul ComenziMateriale. Se compun tabelele Furnizori şi ComenziMateriale cu operaţia: Join Furnizori and ComenziMateriale where Furnizori.CodMaterial = ComenziMateriale.

CodMaterial şi se obţine tabelul Comanda. Apoi pe tabelul astfel obţinut se aplică operaţia de proiecţie

Project denumire, den_furnizor, nume_pers, telefon from Comanda

şi se obţine tabelul ComandaFurnizori care conţine denumirea furnizorului, numele persoanei de contact, numărul de telefon şi denumirea materialului pentru materialele care sunt sub stocul de siguranţă. Se poate verifica prin telefon dacă furnizorul poate primi comanda de livrare pentru materialele care sunt sub stocul de siguranţă.

1. Pornind de la tabelele A şi B, precizaţi conţinutul tabelului C obţinut ca rezultat al operaţiei relaţionale: a. Project X,Z from A b. Select from A where Y=1 c. Project U from B

d. Select from B where V=2 e. Join A and B where A.Y=B.V

2. Tabelul A conţine informaţii generale despre angajaţi: nume angajat, adresă, număr de telefon. Tabelul B conţine informaţii despre ocuparea posturilor de către angajaţi: nume angajat, nume funcţie, departament, data iniţială, data finală. Ce operaţii relaţionale trebuie să executaţi ca să obţineţi informaţiile:

Ce angajaţi au ocupat postul X? Ce angajaţi au lucrat în departamentul X? Ce posturi a ocupat angajatul X şi în ce departamente? Ce adrese au angajaţii care au ocupat postul X din departamentul Y?

1.2.8. Aplicaţiile Aplicaţiile pentru baze de date se folosesc pentru crearea unei interfeţe cu utilizatorul prin care să-i permită acestuia să execute acţiuni asupra datelor din baza de date: actualizarea datelor şi consultarea lor. Pentru realizarea aplicaţiilor se pot folosi două limbaje: limbajul gazdă al sistemului de gestiune a bazelor de date şi limbajul SQL. Pentru a obliga utilizatorul să introducă într-un câmp numai valori care corespund dome-niului de definiţie al datei din acel câmp, se folosesc diferite metode de validare a datelor:

Tabelul A X Y Z m 1 a n 2 b o 3 c p 1 d

Tabelul B U V i 2 j 4 k 2

Page 79: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

80 Baze de date

Validarea automată prin tipul datei. Sistemele de gestiune a bazelor de date validează automat anumite tipuri de date. Pentru datele de tip numeric nu sunt acceptate decât numere, iar acestea trebuie să respecte numărul de poziţii zecimale şi numărul maxim de cifre permis de subtipul ales. Pentru datele de tip dată/timp (Date/Time) nu sunt acceptate pentru elementele componente decât valori numerice corecte din punct de vedere al domeniului lor de definiţie: ziua (1–31), luna (1–12), ora (0–23), minutul (0–59), secunda (0–59) şi separatorii / pentru elementele datei calendaristice şi : pentru elementele timpului. Pentru datele de tip logic, nu este accep-tată decât una dintre constantele logice.

Validarea prin masca de introducere a datelor. Folosirea măştilor pentru intro-ducerea datelor obligă utilizatorul să introducă o dată care să corespundă unui anumit şablon.

Validarea prin regula de validare a câmpului. Prin intermediul unei expresii cu rezultat logic se poate restrânge domeniul implicit de definiţie al datei, precizat prin tipul datei, la domeniul pentru care expresia de validare are valoarea Adevărat. Acest tip de validare se aplică după ce a fost editat câmpul şi se încearcă trecerea la câmpul următor. Dacă rezultatul expresiei de validare este Fals, sistemul de gestiune a bazelor de date nu va permite părăsirea câmpului. Se foloseşte pentru a rezolva restricţiile de domeniu ale atributului care corespunde câmpului.

Validarea prin regula de validare a înregistrării. Aceasta este o proprietate a tabelului. Prin intermediul unei expresii cu rezultat logic se poate restrânge domeniul implicit de definiţie al datei, prin corelare cu valorile altor câmpuri din înregistrare. Validarea se aplică după ce au fost editate toate câmpurile înregistrării şi se încearcă trecerea la o altă înregistrare. Dacă rezultatul expresiei de validare este Fals, sistemul de gestiune a bazelor de date nu va permite trecerea la o altă înregistrare. Se foloseşte pentru a rezolva corelaţiile dintre atributele unei entităţi care corespund câmpurilor din tabel.

Expresiile de validare pot conţine operatori, constante şi anumite funcţii (matematice, pentru şiruri de caractere, pentru dată şi timp, pentru conversii). Expresia de validare a câmpului nu poate conţine referiri la alte câmpuri, spre deosebire de expresia de validare a înregistrării, care poate conţine referiri la alte câmpuri din tabel.

1.3. Dezvoltarea profesională în domeniul IT 1.3.1. Identificarea aptitudinilor pentru anumite tipuri de activităţi Definiţii: − Resurse. Reprezintă ansamblul de aptitudini, cunoştinţe, atitudini şi competenţe

dobândite atât în procesul de învăţare, cât şi din experienţa practică. − Competenţe. Reprezintă resursele care pot fi folosite pentru a atinge un scop deter-

minat. Competenţele nu sunt vizibile şi nu pot fi evaluate decât în procesul muncii. Dobândirea unei competenţe indică începerea unei acţiuni strâns legate de anumite capacităţi şi de o chibzuire a valorilor.

− Performanţă. Reprezintă o competenţă atestată şi adeverită. − Calificare. Reprezintă un ansamblu de competenţe recunoscute de o autoritate. − Îndemânare. Reprezintă ceea ce se poate practica şi verifica. − Abilitate. Reprezintă un ansamblu integrat de îndemânări.

Page 80: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 81

− Deprinderile. Reprezintă acţiuni automate. Ele se limitează de cele mai multe ori la o singură acţiune, operaţie sau algoritm.

− Aptitudini. Reprezintă capacitatea unei persoane de a dobândi cunoştinţe sau compe-tenţe generale sau speciale care îi sunt necesare pentru a-şi rezolva sarcinile profesi-onale. Aptitudinile cuprind, de obicei, o întreagă familie de acţiuni variate, care pot fi înglo-bate în ansamblul unei activităţi şi care condiţionează reuşita îndeplinirii acelei activităţi.

Aptitudinile şi competenţele se dobândesc pe parcursul vieţii şi formării profesionale şi nu sunt în mod necesar dovedite prin certificate şi diplome oficiale. Ele se dobândesc atât în timpul studiilor, al seminariilor sau al sesiunilor de formare continuă, cât şi în timpul diverselor activităţi sociale şi de petrecere a timpului liber. Prezenţa unei aptitudini este indicată de uşurinţa cu care sunt învăţate cunoştinţele şi deprinderile dintr-un anumit domeniu, de oboseală mai redusă ca efect al muncii depuse (deoarece se profită de exer-ciţiul într-o anumită activitate) şi de aplicarea reuşită a informaţiilor dobândite în domeniul respectiv. Aptitudinile sunt caracterizate printr-o dezvoltare continuă, ascendentă. De exemplu, aptitudinile matematice sau de comunicare se dezvoltă mereu ca urmare a activităţii multiple în domeniul respectiv.

În meseriile din domeniul IT (analişti, programatori, administratori de baze de date, admi-nistratori de reţele), pe lângă aptitudinile de utilizare a calculatoarelor, mai sunt necesare următoarele aptitudini: − aptitudini sociale: lucrul în echipă, lucrul cu echipă având responsabilităţi proprii,

lucrul cu alte persoane, o bună capacitate de comunicare în limba maternă şi într-o limbă străină, colectarea de informaţii, sintetizarea informaţiilor, observarea cu acu-rateţe, atenţia faţă de detalii, adaptarea la situaţii schimbătoare, flexibilitate, perse-verenţă, promptitudine.

− aptitudini organizatorice: coordonare a proiectelor şi a sarcinilor, conducere, plani-ficare şi dezvoltare, analiză a problemelor, respectare a termenelor, capacitatea de a înţelege soluţii complexe, capacitatea de a găsi modalităţi de eliminare a erorilor, capacitatea de a crea căi noi, mai eficiente, capacitatea de a distinge modul în care produsul sau sistemul se încadrează în contextul întregii companii, capacitate de a reţine faptele şi de a folosi faptele şi detaliile importante, analiză logică pe bază de

Apt

itudi

ni ş

i com

pete

nţe

sociale – capacitatea de a trăi şi munci împreună cu alţi oameni, în locuri de muncă unde comunicarea este importantă iar munca în echipă este esenţială. Exemple: spirit de echipă, o bună capacitate de comunicare, capacitatea de

adaptare la medii multiculturale.

organizatorice – capacitatea de a coordona şi administra activitatea oamenilor, proiecte şi bugete în timpul activităţilor profesionale, de voluntariat

sau de acasă. Exemple: spirit organizatoric, leader de echipă, capacitatea de a administra proiecte.

de utilizare a calculatorului – capacitatea de utilizare a procesoarele de texte şi a altor aplicaţii software, a bazelor de date, a Internetului, precum şi a

cunoştinţelor şi abilităţilor de programare.

tehnice – capacitatea de a mânui echipamente şi maşini, altele decât calculatoarele sau dintr-un domeniu specializat.

artistice (muzica, scrisul, designul, sculptura, pictura etc.)

Page 81: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

82 Baze de date

fapte fizice, luare de decizii, concepere a strategiilor, întrevedere a posibilităţilor, stabilire de proceduri sau reguli, stabilire a priorităţilor.

− alte aptitudini: imaginaţie, dezvoltare de prototipuri, întreţinere a sistemelor, deprindere de noi aptitudini, înţelegere a ideilor complicate, lucrul cu teorii, dezvoltare de soluţii novatoare, creativitate.

În plus, în funcţie de meserie, mai sunt necesare şi alte aptitudini: − analist: planificare strategică, dezvoltare a unor soluţii inovatoare, flexibilitate pentru

adaptare la noi posibilităţi, anticipare a tendinţelor, capacitate de folosire a viziunii. − programator: lucrul cu produse ce necesită precizie, sesizarea erorilor şi a

omisiunilor, putere de concentrare mare, bună memorare a faptelor, aptitudini tehnice (dexteritate manuală, înţelegere a funcţionării aparaturii tehnice).

− administrator de reţea: aptitudini tehnice (dexteritate manuală, înţelegere a funcţio-nării aparaturii tehnice, precizie), contactul cu oamenii, intermedierea.

− administrator de baze de date: buni conducători, interacţiune bună cu alte persoa-ne, capacitate de a coordona, supraveghea şi evalua munca altora.

− designer Web sau designer de grafică pe calculator: creativitate, simţ estetic.

Pentru autoevaluarea aptitudinilor de comunicare într-o limbă străină se foloseşte grila de autoevaluare cu şase niveluri realizată de Consiliul Europei pentru „Cadrul european comun de referinţă pentru limbi străine” (se găseşte pe site-ul Consiliului Europei, la adresa www.coe.int/portfolio). Grila este alcătuită din trei niveluri mai mari, după cum urmează:

− Utilizator elementar (niveluri A1 şi A2); − Utilizator independent (niveluri B1 şi B2); − Utilizator experimentat (niveluri C1 şi C2).

Înţelegere Vorbire Scriere Ascultare Citire Participare la conversaţie Discurs Exprimare scrisă

Înţelegere Ascultare: A1 Pot să înţeleg expresii cunoscute şi propoziţii foarte simple referitoare la mine, la familie şi la

împrejurări concrete, când se vorbeşte rar şi cu claritate. A2 Pot să înţeleg expresii şi cuvinte uzuale frecvent întâlnite, pe teme ce au relevanţă imediată

pentru mine personal (informaţii simple despre mine şi familia mea, cumpărături, zona în care locuiesc, activitatea profesională). Pot să înţeleg punctele esenţiale din anunţuri şi mesaje scurte, simple şi clare.

B1 Pot să înţeleg punctele esenţiale, în vorbirea standard clară, pe teme familiare, referitoare la activitatea profesională, şcoală şi petrecerea timpului liber. Pot să înţeleg ideea principală din multe programe radio sau TV pe teme de actualitate sau de interes personal sau profesional, dacă sunt prezentate într-o manieră relativ clară şi lentă.

B2 Pot să înţeleg conferinţe şi discursuri destul de lungi şi să urmăresc chiar şi o argumentare complexă, dacă subiectul îmi este relativ cunoscut. Pot să înţeleg majoritatea emisiunilor TV de ştiri şi a programelor de actualităţi. Pot să înţeleg majoritatea filmelor în limbaj standard.

C1 Pot să înţeleg un discurs lung, chiar dacă nu este clar structurat, iar conexiunile sunt numai implicite şi nu semnalate în mod explicit. Pot să înţeleg programe de televiziune şi filme, fără efort prea mare.

C2 Nu am nicio dificultate în a înţelege limba vorbită, indiferent dacă este vorba despre comuni-carea directă sau în transmisiuni radio, sau TV, chiar dacă ritmul este cel rapid al vorbitorilor nativi, cu condiţia de a avea timp să mă familiarizez cu un anumit accent.

Page 82: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 83

Citire: A1 Pot să înţeleg nume cunoscute, cuvinte şi propoziţii foarte simple, de exemplu, din anunţuri,

afişe sau cataloage. A2 Pot să înţeleg texte foarte scurte şi simple. Pot să găsesc anumite informaţii previzibile în

diverse materiale cotidiene (reclame, prospecte, meniuri, orare) şi pot să înţeleg scrisori personale scurte şi simple.

B1 Pot să înţeleg texte redactate, în principal, într-un limbaj uzual sau referitor la activitatea mea profesională. Pot să înţeleg descrierea evenimentelor, exprimarea sentimentelor şi a urărilor din scrisori personale.

B2 Pot să înţeleg articole şi rapoarte pe teme contemporane, în care autorii adoptă anumite atitu-dini şi puncte de vedere. Pot să înţeleg proză literară contemporană.

C1 Pot să înţeleg texte faptice şi literare lungi şi complexe, sesizând diferenţele stilistice. Pot să înţeleg articolele specializate şi instrucţiuni tehnice lungi, chiar dacă nu se referă la domeniul meu.

C2 Pot să înţeleg cu uşurinţă orice tip de text, chiar dacă este abstract sau complex din punct de vedere lingvistic sau al structurii (manuale, articole specializate şi opere literare).

Vorbire Participarea la conversaţie: A1 Pot să comunic într-o conversaţie simplă, cu condiţia ca interlocutorul să fie dispus să repete

sau să îşi reformuleze frazele într-un ritm mai lent şi să mă ajute să formulez ceea ce încerc să spun. Pot să formulez întrebări simple pe teme cunoscute sau de necesitate imediată şi să răspund la asemenea întrebări.

A2 Pot să comunic în situaţii simple şi uzuale care presupun un schimb de informaţii simplu şi direct pe teme şi despre activităţi familiare. Pot să particip la discuţii foarte scurte, chiar dacă, în general, nu înţeleg suficient pentru a întreţine o conversaţie.

B1 Pot să fac faţă în majoritatea situaţiilor care pot să apară în cursul unei călătorii printr-o regiune unde este vorbită limba. Pot să particip fără pregătire prealabilă la o conversaţie pe teme familiare, de interes personal.

B2 Pot să comunic cu un grad de spontaneitate şi de fluenţă care fac posibilă participarea normală la o conversaţie cu interlocutori nativi. Pot să particip activ la o conversaţie în situaţii familiare, exprimându-mi şi susţinându-mi opiniile, sau referitoare la viaţa cotidiană (familie, petrecere a timpului liber, călătorii, activitate profesională şi actualităţi).

C1 Pot să mă exprim fluent şi spontan, fără a fi nevoie să-mi caut cuvintele în mod prea vizibil. Pot să utilizez limba în mod flexibil şi eficient în relaţii sociale şi în scopuri profesionale. Pot să-mi formulez ideile şi punctele de vedere cu precizie şi să-mi conectez bine intervenţiile la cele ale interlocutorilor mei.

C2 Pot să particip fără efort la orice conversaţie sau discuţie şi sunt familiarizat cu expresiile idiomatice şi colocviale. Pot să mă exprim fluent şi să exprim cu precizie nuanţe fine de sens. În caz de dificultate, pot să reiau ideea şi să-mi restructurez formularea cu abilitate, în aşa fel încât dificultatea să nu fie sesizată.

Discurs: A1 Pot să utilizez expresii şi fraze simple pentru a descrie unde locuiesc şi oamenii pe care îi cunosc. A2 Pot să utilizez o serie de expresii şi fraze pentru o descriere simplă a familiei mele şi a altor

persoane, a condiţiilor de viaţă, a studiilor şi a activităţii mele profesionale prezente sau recente. B1 Pot să leg expresii şi să mă exprim coerent într-o manieră simplă pentru a descrie experienţe

şi evenimente, visele mele, speranţele şi obiectivele mele. Pot să îmi argumentez şi să explic pe scurt opiniile şi planurile. Pot să povestesc o întâmplare sau să relatez intriga unei cărţi sau a unui film şi să-mi exprim reacţiile.

Page 83: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

84 Baze de date

B2 Pot să prezint descrieri clare şi detaliate într-o gamă vastă de subiecte legate de domeniul meu de interes. Pot să dezvolt un punct de vedere pe o temă de actualitate, arătând avantajele şi dezavantajele diferitelor opţiuni.

C1 Pot să prezint descrieri clare şi detaliate pe teme complexe, integrând subtemele, dezvoltând anumite puncte şi terminându-mi intervenţia cu o concluzie adecvată.

C2 Pot să prezint o descriere sau o argumentaţie cu claritate şi fluenţă, într-un un stil adaptat contextului; cu o structură logică eficientă, care să ajute auditoriul să sesizeze şi să reţină punctele semnificative.

Scriere Exprimare scrisă: A1 Pot să scriu o carte poştală scurtă şi simplă. Pot să completez formulare cu detalii personale

(numele, naţionalitatea şi adresa) pe un formular de hotel. A2 Pot să scriu mesaje scurte şi simple. Pot să scriu o scrisoare personală foarte simplă. B1 Pot să scriu un text simplu şi coerent pe teme familiare sau de interes personal. Pot să scriu

scrisori personale descriind experienţe şi impresii. B2 Pot să scriu texte clare şi detaliate într-o gamă vastă de subiecte legate de domeniul meu de

interes. Pot să scriu un eseu sau un raport, transmiţând informaţii sau argumentând în favoarea sau împotriva unui punct de vedere. Pot să scriu scrisori subliniind semnificaţia pe care o atribui personal evenimentelor sau experienţelor.

C1 Pot să mă exprim prin texte clare, bine structurate, dezvoltând punctele de vedere. Pot să tratez subiecte complexe într-o scrisoare, un eseu sau un raport, subliniind aspectele pe care le consider importante. Pot să selectez un stil adecvat destinatarului.

C2 Pot să scriu texte clare, cursive, adaptate stilistic contextului. Pot să redactez scrisori, rapoarte sau articole complexe, cu o structură logică clară, care să-l ajute pe cititor să sesi-zeze şi să reţină aspectele semnificative. Pot să redactez rezumate sau recenzii ale unor lucrări de specialitate sau opere literare.

1.3.2. Crearea unui CV. Reguli de susţinere a unui interviu

Selecţia candidaţilor pentru ocuparea unui post în cadrul companiei este un proces în care se parcurg următoarele faze:

Obţinerea unui post

Cercetarea Este munca depusă pentru a obţine informaţii

despre propria persoană, despre post şi despre companie.

Ţinta Înseamnă ca CV-ul să corespundă cerinţelor pos-tului sau să găsiţi o companie care să corespundă aptitudinilor, cunoştinţelor şi experienţei voastre.

Pregătirea Înseamnă verificarea CV-ului şi pregătirea interviului.

Comunicarea Înseamnă scrierea CV-ului, a scrisorii de intenţie, a fişei de

candidatură şi susţinerea unui interviu bun.

Page 84: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 85

Scrisoarea de intenţie şi CV-ul se depun la sediul companiei sau sunt trimise prin poştă. Compania poate să ceară supli-mentar (sau în locul scrisorii de intenţie şi al CV-ului) completarea unei fişe de candidatură. Pe baza acestor docu-mente are loc prima selecţie a candi-daţilor. În această fază se elimină între 60% şi 80% dintre candidaţi. Principalele criterii de triere sunt legate de exigenţele postului: pregătirea profesională, expe-rienţa şi vârsta. Alte criterii sunt legate de modul în care candidatul a întocmit aceste documente: calitatea textului (teh-noredactat sau scris de mână), greşelile de ortografie, lipsa semnăturii, lecturare dificilă, lipsa formulelor de politeţe. Unele companii pot face şi teste grafologice pentru a obţine informaţii suplimentare despre candidat. Informaţiile furnizate de candidaţi în aceste documente trebuie să fie veridice, iar cele referitoare la studii şi pregătirea profesională trebuie susţinute cu diplome şi certificate de absolvire.

Interviul are un dublu scop: să furnizeze informaţii candidatului despre companie, post şi cerinţele acestuia şi să-i ofere candidatului posibilitatea de a prezenta informaţii despre trecutul său profesional şi despre aspiraţiile sale. Interviul este folosit de angajator pentru a cunoaşte anumite caracteristici ale candida-tului: înfăţişare, ţinută, stăpânire de sine, limbaj, stabilitate în muncă şi motivare, mai puţin cunoştinţele profesionale. Acestea pot fi verificate prin teste profesionale.

Exemplu de scrisoare de intenţie: Postul pentru care se candidează Nume ............................................... Prenume ..................................... Adresă ........................................................... Telefon ........................... Data naşterii ........................................ Starea civilă ....................... Detalii despre studiile absolvite / Calificative obţinute: Locul de muncă prezent: Ultimele trei locuri de muncă (începând cu ultimul): Principalele hobby-uri Ce vă atrage la acest post? Cum credeţi că veţi contribui la acest post? Ce v-a oferit cea mai mare satisfacţie de când sunteţi angajat? Cum vedeţi dezvoltarea carierei voastre în următorii 10 ani? Cât de repede aţi începe să lucraţi dacă veţi fi acceptat? Numele a două persoane care ar putea oferi referinţe despre voi. Semnătura: Data:

Fişa de candidatură are un format specific companiei şi postului. Exemplu:

Interviu final

Examinări fizice şi medicale, referinţe

Teste şi/sau probe de lucru

Interviu preliminar

Scrisoarea de intenţie şi curriculum vitae şi/sau completarea fişei de candidatură.

Triere

Triere

Triere

Triere

Page 85: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

86 Baze de date Postul pentru care se candidează Nume: Prenume: Adresă: Telefon: Data naşterii: Locul naşterii: Starea civilă: Copii: Educaţie: Examene absolvite: Şcoală generală: Liceu: Facultate: Instruire: Cursuri absolvite / Calificative obţinute: Experienţă de muncă: Locul de muncă prezent: (denumire, ore de program, salariu) Locul de muncă anterior: (denumire, motivele părăsirii lui) Hobby-uri: Referinţe: 1. (de la locul de muncă prezent) 2. (la alegere) Semnătura: Data:

Unele companii folosesc teste de selecţie pentru a identifica punctele slabe ale candi-datului care îl pot împiedica să ocupe acel post. Testele pot fi de inteligenţă, de cunoş-tinţe, de personalitate, de comportament în echipă şi de abilităţi specifice. În cazurile prevăzute de lege compania cere şi examene medicale şi testarea anumitor calităţi fizice (vedere bună, auz bun, rezistenţă fizică etc.).

Al doilea interviu poate să fie necesar din următoarele motive: − Managerul direct al postului doreşte să intervieveze personal candidaţii. − Dacă, după trierea de la primul interviu, lista candidaţilor rămaşi este prea lungă,

pentru a se lua decizia finală va avea loc un al doilea interviu cu alţi intervievatori.

1.3.2.1. Crearea unui curriculum vitae CV-ul este prima şansă pentru a ajunge la interviu. Dacă nu este bine întocmit, el va fi şi ultima şansă de a obţine postul. De aceea este extrem de important ca CV-ul să fie un avantaj în favoarea ta, şi nu dezavantaj. El trebuie să atragă atenţia angajatorului asupra puterii tale de muncă, asupra aptitudinilor tale, asupra realizărilor tale şi asupra cunoştin-ţelor profesionale. Modelul standardizat de CV european a fost aprobat prin HG 1021/25.06.2004 şi publicat în monitorul oficial 633/13.07.2004:

Structura CV-ului Curriculum Vitae

Informaţii personale Nume/Prenume Nume, Prenume Adresă: Telefon: E-mail:

Aceste informaţii sunt obligatorii deoarece sunt nece-sare pentru contactare în cazul în care eşti chemat la interviu

Data naşterii:

Naţionalitatea:

Aceste informaţii nu sunt obligatorii (pot fi considerate discriminatorii), dar unii angajatori te pot respinge dacă nu ai inclus şi aceste informaţii.

Page 86: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 87

Experienţa profesională Menţionaţi fiecare experienţă profesională relevantă pentru postul pentru care

candidaţi, în ordine invers cronologică, începând cu cea mai recentă. Pentru fiecare experienţă profesională veţi specifica: − Perioada (de la – până la); − Numele şi adresa angajatorului; − Tipul activităţii sau sectorul de activitate − Funcţia sau postul ocupat; − Principalele activităţi şi responsabilităţi.

Educaţie şi formare Descrieţi separat fiecare formă de învăţământ şi program de formare profesională

urmate, în ordine invers cronologică, începând cu ultima formă de învăţământ absolvită, şi terminând cu prima. Pentru fiecare formă de instruire veţi specifica: − Perioada (de la – până la); − Numele şi tipul instituţiei de învăţământ / furnizorului de formare; − Domeniul studiat / competenţe profesionale dobândite; − Tipul calificării / diploma obţinută ; − Nivelul. în clasificarea naţională sau internaţională, al formei de instruire.

Aptitudini şi competenţe personale Se menţionează aptitudinile şi competenţele dobândite în cursul vietii şi carierei dar

care nu sunt recunoscute neapărat printr-un certificat sau o diplomă: − Limba maternă; − Limbi străine cunoscute (abilitatea de a: citi / scrie / vorbi); − Aptitudini şi competenţe sociale − Aptitudini şi competenţe organizatorice − Aptitudini şi competenţe tehnice − Aptitudini şi competenţe de utilizare a calculatorului − Aptitudini şi competenţe artistice − Alte aptitudini şi competenţe (competenţe care nu au mai fost menţionate

anterior, hobby-uri) − Permis de conducere (dacă deţineţi un permis de conducere, menţionaţi categoria)

Informaţii suplimentare Indicaţi alte informaţii utile care nu au fost menţionate, de exemplu publicaţii, activităţi

de cercetare, apartenenţa la organizaţii profesionale, starea civilă (dacă vi se pare importantă), referinţe, etc. De regulă, sunt necesare două referinţe: de la angajatorul prezent şi de la o persoană la alegere (un profesor de la facultate sau liceu, un prieten sau un coleg). Pentru fiecare referinţă se indică numele şi informaţii pentru contactare. Verifică referinţele înainte de a te folosi de numele lor, ca să nu ai surpriza că persoana s-a mutat sau că ai ales o persoană care nu îţi este favorabilă.

Anexe Enumeraţi documentele anexate CV-ului.

Într-un CV angajatorul apreciază: experienţa relevantă, aspectul CV-ului şi calificările. Indicaţii pentru completarea CV-ului 1. Informaţiile personale: − Scrieţi numele şi prenumele separate prin virgulă, folosind litere mici după iniţiale;

dacă aveţi mai multe prenume, începeţi cu cel pe care îl folosiţi de obicei (de exemplu, Popa, Bogdan, Mihai).

− Indicaţi clar adresa la care puteţi fi contactat rapid (nume stradă, număr imobil, cod poştal, localitate, eventual ţară şi cod de ţară). Dacă adresa dumneavoastră perma-

Page 87: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

88 Baze de date

nentă este diferită de cea la care locuiţi în prezent, puteţi indica ambele adrese, menţionând datele la care puteţi fi contactat la fiecare dintre ele.

− Indicaţi numerele de telefon la care puteţi să fiţi contactat (dacă este necesar, precizaţi zilele şi perioadele de timp când puteţi fi contactat). Prefixul de ţară şi de localitate se scriu între paranteze, iar restul numărului de telefon se împarte în grupe de câte două cifre începând din partea dreaptă, ultimul grup fiind alcătuit din trei cifre (grupele se separă printr-un spaţiu).

− Data de naştere se scrie sub forma zz.ll.aaaa. 2. Experienţa profesională: − Fiţi concis şi prezentaţi experienţa profesională care vă este utilă pentru postul la

care candidaţi, dar nu omiteţi experienţa care poate fi valoroasă, chiar dacă nu este legată direct de cerinţele postului (de exemplu, lucrul cu publicul sau perioadele de timp petrecute în străinătate).

− Dacă vă angajaţi pentru prima oară (tocmai aţi absolvit liceul sau facultatea), inversaţi ordinea rubricilor Experienţă profesioană şi Educaţie şi formare. Pentru experienţa profesională menţionaţi stagiile de practică profesională din timpul studii-lor, care dovedesc contactul cu activitatea unei companii.

3. Educaţie şi formare: − Nu trebuie să prezentaţi toate calificările voastre (diplome sau certificate de

absolvire), ci numai pe cele care sunt relevante pentru cerinţele postului. − Nu menţionaţi studiile şcolii generale dacă deţineţi o diplomă de licenţă.

4. Aptitudini şi competenţe personale: − Eliminaţi aptitudinile şi competenţele pentru care nu aveţi nimic relevant de prezentat. − Pentru fiecare categorie de aptitudini şi competenţe specificaţi în ce context le-aţi

dobândit: formare profesională, context profesional, seminarii, activităţi de volun-tariat sau în timpul liber.

− Pentru aptitudinile şi competenţele în utilizarea limbilor străine folosiţi scara de autoevaluare realizată de Consiliul Europei. Nu vă supraestimaţi nivelul, deoarece el poate fi verificat în timpul interviului.

− Dacă aveţi un certificat care să vă ateste unele competenţe şi abilităţi (de exemplu, folo-sirea limbilor străine, utilizarea calculatorului), precizaţi nivelul şi data la care l-aţi obţinut.

Sfaturi: 1. Structura. CV-ul trebuie să respecte o structură care să-l ajute pe angajator să urmă-

rească uşor conţinutul lui. Un CV este uşor de citit dacă este scris cursiv. Prezintă-ţi calificările, aptitudinile şi competenţele în mod clar şi logic, astfel încât calităţile personale să fie puse în valoare.

2. Conţinutul. Fii concis. Concentrează-te pe informaţia esenţială, care justifică cererea ta de a candida pe acel post. Foloseşte propoziţii scurte. Explică orice întrerupere a studiilor sau carierei tale.

3. Organizarea. Pentru a fi uşor de citit, CV-ul nu trebuie înghesuit în pagină – angajatorul nu trebuie să se chinuie să-l citească deoarece este posibil să-şi piardă interesul pentru ce ai scris. Nu există restricţia ca CV-ul să fie scris numai pe o pagină. Poate să aibă şi trei pagini, dacă ceea ce ai scris este relevant pentru postul pentru care candidezi. Nu separa paragrafele unei rubrici pe două pagini.

4. Aspectul. Se foloseşte acelaşi font în întreg CV-ul. Fontul şi corpul de literă folosite trebuie să permită o citire uşoară (de exemplu, fonturile Arial şi Times New Roman, cu

Page 88: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 89

corp de 12). Evită sublinierile şi scrierea de fraze întregi cu majuscule sau litere îngroşate (afectează lizibilitatea documentului). Nu folosi mai multe culori.

5. Greşelile gramaticale şi de punctuaţie. Niciun angajator nu va chema la interviu o persoană superficială, care nu şi-a alocat timp pentru a-şi corecta propriile greşeli. De aceea, pentru a fi sigur că în CV nu ai greşeli gramaticale şi de punctuaţie, citeşte-l cu multă atenţie, de la un capăt la altul, de două sau de trei ori. După ce l-ai verificat, mai roagă o altă persoană să îţi citească CV-ul pentru că, nefiind obişnuit cu conţinutul lui, va putea detecta cu uşurinţă greşelile.

6. Revizuirea. Nu încerca să compui CV-ul într-o singură etapă. După câteva zile, revino la CV şi mai verifică-l o dată. Verifică sistematic CV-ul ori de câte ori vrei să-l trimiţi unui angajator, pentru a corespunde cerinţelor postului pentru care candidezi – punând în evidenţă calităţile cerute de acel post.

7. Sinceritatea. Nu minţi într-un CV, deoarece este posibil ca angajatorul să verifice informaţia şi să nu mai ai nicio şansă de a obţine acel post. Scrie însă despre orice adevăr care te-a ajutat să dobândeşti cunoştinţele şi aptitudinile necesare postului.

8. Realizările. Trebuie să insişti pe realizările tale. În prezentarea lor este bine să foloseşti verbe care sugerează acţiunea (am realizat, am organizat, am fost răspunzator pentru, am condus, am planificat).

1.3.2.2. Reguli de susţinere a unui interviu Elementele esenţiale ale unui interviu sunt: pregătirea pentru interviu şi comunicarea în timpul interviului.

Pregătirea pentru interviu În intervalul de timp scurs între trimiterea CV-ului pentru un post şi anunţul pentru prezen-tarea la interviu poţi să uiţi descrierea postului şi ce ai scris în fişa de candidatură. De aceea este necesar să te pregăteşti pentru interviu. Această etapă este foarte impor-tantă deoarece la interviu trebuie să fii la fel de bun cum ai scris că eşti în CV. Paşii pentru pregătirea interviului sunt: 1. Reciteşte detaliile despre post şi informaţiile despre companie. Notează ideile pe care

vrei să le clarifici la interviu. Trebuie să poţi prezenta în câteva fraze compania. 2. Reciteşte fişa de candidatură şi adu-ţi aminte motivele pentru care doreşti postul res-

pectiv, experienţa şi aptitudinile care crezi că sunt relevante pentru post. 3. Trebuie să te intervievezi singur. Exersează făcând o descriere coerentă despre

cariera ta (dacă este cazul) începând cu terminarea studiilor. Accentuează părţile cele mai relevante pentru postul pentru care candidezi. Întreabă-te de ce vrei postul şi pregăteşte un răspuns bine motivat.

4. Trebuie să te gândeşti la întrebări specifice postului care ar putea să ţi se pună. Dacă ai spus că ai aptitudini bune pentru acel post, trebuie să explici cum le-ai dobândit şi să demonstrezi cum le foloseşti la acel moment.

5. Este posibil să ţi se pună întrebări de genul: „Se întâmplă cutare lucru legat de postul tău. Cum rezolvi această situaţie?” (de exemplu, cum decizi prioritatea sarcinilor, cum rezolvi problema termenelor, cum lucrezi cu diverşi oameni). Când răspunzi la această întrebare va trebui să incluzi un exemplu despre modul în care ai rezolvat în trecut o situaţie similară (de exemplu, dacă eşti întrebat cum te-ai descurca cu un membru mai slab al echipei – întrebare preferată pentru mulţi intervievatori – trebuie să faci sugestii la modul în care este motivat acel angajat şi să te referi la un caz similar din echipa în care ai lucrat şi la modul în care ai rezolvat acea problemă).

Page 89: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

90 Baze de date

6. Trebuie să pregăteşti răspunsuri la posibile întrebări despre situaţiile tale personale (de exemplu, la întrebarea cum te simţi când te întorci la muncă după o pauză lungă, răspunsul ar trebui să arate că nu ţi-ai întrerupt activitatea – ţi-ai continuat activitatea ajutând un prieten care lucrează acasă sau ai obţinut o nouă calificare).

7. Trebuie să te gândeşti la întrebări despre interesele şi hobby-urile tale. Intervievatorii vor să afle mai multe despre tine şi trebuie să fii pregătit să vorbeşti despre ce îţi place să faci în afara muncii (de exemplu, dacă spui că îţi place fotbalul trebuie să fii pregătit să răspunzi care este echipa ta favorită şi ce a făcut ea la ultimul meci).

8. După ce eşti sigur de răspunsurile tale, roagă un prieten sau o rudă să-ţi pună nişte întrebări standard. Acest pas are două scopuri: vei avea şansa să dai răspunsurile cuiva şi să te auzi vorbind, în timp ce prietenul sau ruda poate să-ţi dea o părere sinceră.

Sfaturi: − Ţine evidenţa interviurilor la care te duci, mai ales dacă te duci şi la al doilea interviu. Astfel vei

avea un punct de referinţă de la care să începi pregătirea pentru interviul următor. − Ţine cont de toate întrebările care ţi-au fost puse şi cu care nu te-ai mai confruntat niciodată.

Gândeşte-te pentru viitor cum ai fi putut răspunde mai bine.

Pregătirile tehnice înainte de interviu: 1. Verifică invitaţia la interviu ca să ştii dacă ai fost rugat să aduci ceva Pregăteşte-le de

cu seară şi nu le lăsa în ultimul moment. 2. Dacă nu ştii unde este compania, trebuie să ai o hartă cu strada pe care se găseşte

compania. 3. Ia cu tine numărul de telefon al companiei. Dacă ai probleme pe drum, vei putea suna

ca să explici întârzierea. 4. Verifică hainele pe care le vei purta şi nu le lăsa pe ultimul moment. Îmbracă-te

inteligent şi decent. La al doilea interviu nu te duce îmbrăcat cu aceleaşi haine, dar păstrează stilul inteligent şi decent.

Emoţiile interviului. Fiecare este emoţionat înaintea interviului. Pentru a trece peste emoţii: 1. Urmăreşte lista de pregătire a interviului. 2. Acordă suficient timp pentru deplasarea la interviu astfel încât să ai un timp pentru

relaxare înaintea interviului (dacă ajungi gâfâind la interviu, vei fi nervos şi vei crea o primă impresie proastă).

3. Ţine minte că nu ai fi fost chemat la interviu dacă angajatorul nu ar crede că eşti bun pentru acel post.

4. Nu te grăbi când dai răspunsurile. Dacă eşti întrebat despre ceva ce nu ai pregătit înainte, este bine să răspunzi astfel: „Această întrebare este interesantă / grea / deosebită. Lăsaţi-mi timp să mă gândesc la răspuns”.

5. Ignoră candidaţii care spun: „Am auzit că intervievatorii sunt foarte duri.” O spun ca să îi demoralizeze pe ceilalţi.

6. Zâmbeşte când îţi întâlneşti intervievatorii. Zâmbetul relaxează toţi muşchii faciali. Stabileşte contact vizual cu intervievatorii.

Componentele interviului

A. Introducerea B. Întrebările intervievatorilor C. Întrebările candidatului

Page 90: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 91

A. Introducerea

Intervievatorii se identifică şi fac o scurtă prezentare a companiei şi o descriere a postului. Este faza de început a interviului, în care ţi se dă posibilitatea de a te relaxa şi de a-ţi stăpâni emoţiile. Trebuie însă să fii atent şi să reţii orice problemă despre care vei dori să afli informaţii în faza a treia a interviului.

B. Întrebările intervievatorilor

Dacă eşti pe punctul de a pleca dintr-un post, înainte de interviu este bine să-ţi răspunzi onest la următoarele întrebări: − Cu ce este diferit noul post faţă de vechiul post? − Vrei să pleci din vechiul post pentru că ai avut probleme cu colegii sau cu managerul? − Ţi-ai rezolvat problemele personale pe care le aveai din cauza vechiului post?

Despre post • De ce vrei postul? • Ce te face persoana potrivită pentru post? • Care va fi contribuţia ta principală la acest post? • Cum vei începe lucrul pe acest post? Răspunsul

• Postul se potriveşte aspiraţiilor tale privind cariera şi este atrăgător.

• Ai aptitudinile necesare postului. • Corespunde experienţei dobândite anterior.

Despre cariera ta • Ce ai făcut până în acest moment? • Care dintre posturile ocupate ţi-au dat cea mai mare,

respectiv cea mai mică satisfacţie, şi de ce? • De ce ai părăsit fiecare post? • Ce planuri ai pentru cariera ta? Răspunsul

La fiecare întrebare răspunsul trebuie să se facă în una sau două fraze care să fie relevante pentru postul pentru care

candidezi. Ai oportunitatea de a completa istoricul carierei tale sau de explica orice modificare survenită în cariera ta.

Despre tine • Care este partea ta puternică? • Care este slăbiciunea ta? • Eşti ambiţios? • Care sunt hobby-urile tale?

Răspunsul Răspunsurile tale la aceste întrebări trebuie să ţină cont de ceea ce

ai aflat despre post şi despre companie, înainte de interviu şi în cadrul interviului. Pentru intervievator hobby-urile tale sunt un

moment bun pentru a avea o conversaţie reală cu tine.

Page 91: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

92 Baze de date

Sfaturi: − Dacă intervievatorul este în căutarea evidentă a unui angajat de echipă, insistă asupra

aptitudinilor de echipă. Dacă te-ai dus la interviu cu ideea că postul tău este unul de echipă, dar ai realizat pe parcursul interviului că este vorba de un post în care se cere o persoană care să lucreze cu o echipă, având propriile responsabilităţi, vei fi nevoit să-ţi reconsideri răspunsul pregătit de acasă.

− Întrebările despre propria personalitate (eşti ambiţios?) pot fi capcane dacă nu te gândeşti atent la ele. Tentaţia este de a divaga, ceea ce nu este indicat. Este mai importantă personalitatea ta în relaţia cu postul şi cu compania, şi mai puţin importantă personalitatea ta în viaţa privată.

− Fii pus la punct cu hobby-urile pe care declari că le ai. Dacă ai spus că pasiunea ta este cititul, fii pregătit să vorbeşti despre cartea pe care o citeşti la acel moment, şi să poţi să spui ce carte ţi-a plăcut mai mult, dintre cărţile citite în ultimul an.

− Fii precaut cu hobby-urile pe care le declari: intervievatorul nu trebuie să creadă că pasiunile pe care le ai te vor împiedica să fii la serviciu la începerea programului.

C. Întrebările candidatului

Ai posibilitatea să-ţi clarifici orice problemă care nu ţi-a fost lămurită în timpul interviului, ca de exemplu: dimensiunea şi structura echipei în care vei lucra, planurile companiei pe următorii trei ani, perspectivele de perfecţionare şi cele pentru cariera ta.

Interviurile sunt o sumă de: răspunsuri, aptitudini şi atitudini. Intervievatorul caută întotdeauna o persoană care să fie de un real beneficiu companiei. Prezintă-ţi propria persoană în avantaj: − Limbajul trupului. Fii atent la imaginea pe care o prezinţi. Stând drept în scaun şi atent la

persoanele care te intervievează, vei crea o impresie mult mai bună decât dacă te afunzi în scaun privind în podea.

− Întrebările pe care le pui. Să nu ai senzaţia că trebuie să pregăteşti întrebări inteligente şi fascinante. Dacă intervievatorul este experimentat, majoritatea problemelor pe care tu te-ai gândit să le abordezi au fost deja lămurite. În acest caz, este bine să spui: „De fapt, nu am întrebări, pentru că mi-aţi răspuns deja la ele! Dar, din ceea ce am spus până acum, credeţi că aş avea aptitudinile corespunzătoare postului?”

− Susţinerea interesului pentru post. La un moment potrivit trebuie să spui cât de mult te interesează postul. Ai putea să spui acest lucru în faza a treia a interviului, extinzând răspunsul din exemplul de mai sus: „... pentru că eu consider că mi-ar plăcea foarte mult acest post.”

− Fă notă discordantă. Ca să te diferenţiezi de ceilalţi candidaţi, caută să spui ceva interesant sau amuzant, deoarece intervievatorii apreciază simţul umorului (mai ales pentru lucrul în echipă). Nu exagera însă cu prea mult umor, iar dacă nu ai simţul umorului, renunţă; s-ar putea să obţii efectul contrar.

Despre aptitudinile tale • Care dintre aptitudinile tale sunt relevante pentru acest post?• Ce alte aptitudini, care nu sunt legate de post, ai? • Care dintre aptitudini îţi place cel mai mult? • Ce aptitudini îţi lipsesc? Răspunsul

Răspunsul trebuie să furnizeze nivelul anumitor aptitudini necesare pentru acel post şi, eventual, aptitudini suplimentare. Dacă nu ai o anumită aptitudine

cerută de post, în primul rând prezintă o aptitudine similară, iar în al doilea rând, arată-ţi disponibilitatea şi capacitatea de a învăţa pentru a dobândi acea

aptitudine, descriind, de exemplu, cum ai învăţat ceva, de curând.

Page 92: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 93

1.3.3. Reguli de susţinere a unei prelegeri Prelegerea este o comunicare prin care se transmit informaţii unui auditoriu. Atunci când se concepe o prelegere, trebuie avut în vedere cine este auditoriul şi care este obiectivul susţinerii prelegerii. Deoarece, dintre cele cinci simţuri, văzul recepţionează 78% din informaţii, este bine ca prelegerea să fie însoţită şi de prezentarea vizuală a informaţiei (filme, diapozitive, grafice, prezentări pe calculator).

Nu este suficient ca o prelegere să fie foarte bine concepută. Ea trebuie să convingă şi auditoriul printr-o susţinere corespunzătoare: ţinută adecvată, calm, încredere, entuziasm şi coerenţă. Susţinerea prelegerii înseamnă, pe lângă comunicarea verbală a informaţii-lor, şi gesturi, atitudine şi intonaţia vocii.

1. Pentru a fi sigur că te încadrezi în timpul alocat, exersează cel puţin o dată înainte de a susţine prelegerea.

2. Îmbracă-te adecvat în ziua în care susţii prelegerea. Auditoriul trebuie să fie atent la mesajul pe care vrei să-l transmiţi şi nu trebuie să fie distras de accesoriile pe care le porţi sau de o ţinută prea extravagantă.

3. Înainte de a începe susţinerea prelegerii acordă-ţi timp pentru a te relaxa şi pentru a te detaşa de alte probleme. Nu trebuie să începi susţinerea prelegerii emoţionat sau nervos.

4. În timpul susţinerii prelegerii păstrează o ţinută dreaptă, arătând că ai încredere în tine; altfel, vei da impresia că nu eşti nici tu convins de ideile pe care le expui.

5. Nu ţine mâinile în buzunare. Vei da impresia că eşti nepoliticos cu auditoriul. 6. Concentrează-te pe mesajul pe care vrei să-l transmiţi şi nu te lăsa distras de ceea

ce se întâmplă în jurul tău. Prezintă-ţi ideile cu calm, cu entuziasm şi cu încredere. 7. Dacă trebuie să prezinţi informaţii tehnice, foloseşte cuvinte familiare. Un jargon prea

tehnic nu va impresiona auditoriul, ci va avea un efect contrar: neînţelegând unii termeni, auditoriul se va plictisi şi nu va mai fi atent la mesajul pe care vrei să-l transmiţi.

8. Verifică gradul de audienţă păstrând contactul vizual cu auditoriul. Găseşte în auditoriu câteva persoane care ţi se par prietenoase şi foloseşte-te de atenţia lor pentru a-ţi sublinia ideile. Dacă ţi se pare că auditoriul nu înţelege, clarifică-ţi mesajul.

9. Nimeni nu este perfect. Dacă ai uitat să prezinţi ceva, caută un context favorabil pentru a strecura acea idee, fără să afectezi structura prelegerii. Dacă nu găseşti un astfel de context, nu îţi cere scuze şi renunţă la acea idee, deoarece auditoriul nu are de unde să ştie că mai trebuia să spui ceva.

10. Evită gesturi prin care distragi atenţia auditoriului şi dai impresia că eşti emoţionat şi nervos (de exemplu, dacă foloseşti indicatorul sau telecomanda, evită să te joci cu ele).

Page 93: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

94 Baze de date

1.3.4. Principii de lucru în echipă

În echipă: − Ideile produse sunt mai puţine decât dacă membrii care o compun ar lucra separat,

dar sunt mai bune, deoarece sunt mai profund gândite şi mai bine evaluate. Din această cauză, echipa ia o decizie mai bună decât cel mai bun dintre membrii săi.

− Echipa adoptă decizii mai riscante decât cel mai temerar dintre membrii săi, deoa-rece echipa oferă adăpostul unei responsabilităţi colective.

Principiile de lucru în echipă: a. Într-o echipă există cuvântul ÎMPREUNĂ şi nu există cuvântul EU. b. O echipă trebuie să-şi aleagă membrii în mod adecvat; ea trebuie să fie formată din:

Povestea gâştelor sălbatice Toamna, gâştele sălbatice migrează spre zone mai calde: − Gâştele zboară într-o formaţie în formă de V, reuşind să parcurgă cu

70% mai mult decât dacă ar zbura singure. − Când gâsca din vârf oboseşte, ea trece la coada formaţiei şi este

înlocuită de una dintre cele două care îi urmează. − Dacă o gâscă iese din formaţie, rezistenţa aerului creşte puternic şi

ea simte nevoia să revină în formaţie. − Dacă o gâscă se îmbolnăveşte, ea este ajutată de alte două gâşte

până se însănătoşeşte sau până moare. − Gâştele din formaţie emit un zgomot pentru a o încuraja pe cea din

vârful formaţiei să-şi menţină ritmul şi viteza.

Morala: − Cei care au direcţie de mers comună şi sentimentul de apartenenţă la un

grup vor reuşi mai uşor şi mai repede, deoarece se bazează pe încrederea în ceilalţi.

− Este dificil să realizezi singur sarcinile dificile. Fiecare dintre noi este legat de capacităţile, resursele, talentele şi abilităţile celorlalţi.

− Trebuie să rămâi alături de cei care au aceeaşi direcţie de mers ca şi tine şi care vor să ajungă în acelaşi loc ca şi tine, şi trebuie să-ţi doreşti ajutorul celorlalţi şi să-l accepţi şi să oferi celorlalţi la rândul tău ajutorul.

− Cei care au aceeaşi direcţie de mers trebuie să fie uniţi atât în situaţiile dificile, cât şi în situaţiile în care le este bine împreună.

− Zgomotul pe care îl producem trebuie să fie de încurajare. Încurajarea înseamnă să fii alături de ceilalţi, să îi înţelegi şi să susţii valorile lor.

Echipa Un grup de oameni care împărtăşesc obiective comune şi care

lucrează în cooperare pentru a le atinge.

Echipa eficientă Un grup de oameni care cooperează la realizarea sarcinilor astfel încât rezultatul obţinut să fie mai bun decât suma rezultatelor pe

care le-ar obţine dacă fiecare dintre ei ar lucra individual.

Page 94: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 95

− membri cu abilităţi diferite care vor trebui să lucreze împreună; − membri care posedă aptitudinile cerute de activitatea desfăşurată de echipă; − membri care au aceleaşi convingeri şi valori.

c. Fiecare membru al echipei trebuie să folosească propriile abilităţi pentru a ajuta echipa şi trebuie să încurajeze abilităţile celorlalţi membri ai echipei.

d. Membrii echipei trebuie să ajute împreună la clarificarea scopului, la identificarea metodelor folosite pentru atingerea scopului, la identificarea activităţilor care trebuie executate pentru a atinge scopul propus, a ordinii logice de executare a acestor activităţi şi a modului în care se realizează.

e. Membrii echipei trebuie să lucreze împreună şi să se sprijine reciproc. În cadrul echipei, fiecare membru trebuie să cunoască precis contribuţia pe care o are la realizarea obiectivelor propuse. Toţi membrii echipei trebuie să fie implicaţi în activităţile echipei.

f. Fiecare membru al echipei trebuie să contribuie constant la activităţile echipei, fără să-i domine pe ceilalţi membri şi fără să-şi abandoneze propria activitate.

g. Fiecare membru al echipei trebuie să identifice nevoile echipei, să dorească şi să fie capabil să se adapteze la ele.

h. Fiecare membru al echipei trebuie să se ofere voluntar pentru rezolvarea unor sarcini pe tot parcursul activităţii în echipă.

i. Fiecare membru al echipei trebuie să recunoască problemele care apar şi să se implice în mod constructiv la soluţionarea lor.

j. Pentru un moral ridicat şi pentru performanţe mai bune, influenţele în cadrul echipei trebuie să fie cât mai diverse.

Fiecare membru al echipei are un rol specific şi responsabilitatea de a contribui la activi-tăţile echipei, de a-i asculta pe ceilalţi membri şi de a avea o atitudine deschisă în cadrul echipei. Suplimentar, unii membri ai echipei trebuie să-şi asume unul dintre următoarele roluri pentru ca echipa să fie eficientă: − Liderul conduce echipa şi monitorizează performanţele echipei în realizarea obiec-

tivelor propuse: convoacă şi conduce întâlnirile dintre membrii echipei, orientează activităţile echipei şi se implică direct în realizarea lor.

− Facilitatorul monitorizează modul în care lucrează echipa: urmăreşte dacă membrilor le este uşor să-şi aducă contribuţia la realizarea obiectivelor echipei, dacă există un membru care domină echipa şi dacă sunt explorate suficient toate ideile prezentate în cadrul echipei.

− Secretarul monitorizează modul în care circulă informaţiile în grup: urmăreşte dacă toţi membrii echipei au acces la informaţiile importante.

− Timekeeper-ul monitorizează timpul echipei: avertizează echipa atunci când există riscul de a depăşi termenele de execuţie a unei activităţi sau când se pierde timpul.

Comportamentul reprezintă reacţiile vizibile ale unui individ: ce, cum şi când spune şi face ceva.

Aceste acţiuni determină concluziile pe care le trag cei din jurul nostru despre comporta-mentul fiecăruia dintre noi şi concluziile pe care le tragem noi despre comportamentul celor din jurul nostru. Propriul comportament generează comportament din partea celor-lalţi, şi invers, comportamentul celor din jur generează comportament din partea fiecăruia dintre noi. Comportamentul se învaţă şi poate fi modificat.

În cadrul echipei există următoarele categorii de comportament: căutarea ideilor, propu-nerile, sugestiile, dezacordurile, sprijinul, afirmarea dificultăţilor, clarificarea înţelegerii,

Page 95: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

96 Baze de date

explicaţiile. Comportamentul fiecărui membru influenţează productivitatea echipei şi echipa trebuie să-şi stabilească regulile de comportament: − Este identificat comportamentul dorit de la fiecare membru al echipei pentru a realiza

acţiunile stabilite. − Se stabilesc comportamentele care ajută şi întăresc comportamentul dorit de la

membrii echipei. − Fiecare membru trebuie să-şi selecteze propriul comportament astfel încât să stimu-

leze comportamentul dorit al celorlalţi membri ai echipei. − Comportamentul fiecărui membru trebuie monitorizat de ceilalţi membri ai echipei

pentru a identifica orice schimbare dorită sau nedorită.

Comportamentele disfuncţionale în cadrul echipei sunt: − Sabotorul urmăreşte activităţile celorlalţi membri ai echipei şi încearcă să-i descura-

jeze – acţiune ce poate distruge sau periclita progresul echipei. − Lunetistul foloseşte atacuri verbale sau non-verbale la adresa colegilor de echipă,

micşorând productivitatea echipei. − Expertul caută în permanenţă să evidenţieze capacităţile sale în realizarea obiecti-

velor echipei şi să sublinieze rolul său în echipă. − Nevinovatul refuză implicarea puternică în rezolvarea problemelor şi în general pune

multe întrebări pentru a masca punctele sale de vedere. − Tăcutul creează confuzie în echipă deoarece nu se cunoaşte motivul tăcerii sale,

dând naştere la diverse interpretări. − Agitatul încearcă să aplaneze conflictele, să evite confruntările şi să protejeze liderul,

scăzând productivitatea echipei. − Dominatorul vorbeşte prea mult, vrea să controleze echipa şi activităţile ei, consu-

mând inutil timpul echipei. − Părtinitorul distrage echipa de la problemele reale, aducând în discuţie probleme

superficiale. − Susţinătorul de complezenţă îşi exprimă acordul faţă de alţii, pentru a avea legiti-

mitate şi siguranţă în cadrul echipei. − Polarizatorul atrage atenţia asupra diferenţelor dintre membrii echipei, în loc să

scoată în evidenţă punctele comune – acţiuni care creează neînţelegeri între membri, dăunând omogenităţii echipei.

− Centrul atenţiei îşi foloseşte experienţa personală şi imaginaţia pentru a atrage atenţia celorlalţi membri asupra sa.

− Clovnul distrage atenţia echipei printr-un comportament zgomotos, în loc să rezolve unele probleme.

Comportamentele disfuncţionale scad productivitatea echipei. De cele mai multe ori per-soana cu comportament disfuncţional nu este conştientă că prin comportamentul său distrage echipa şi are o influenţă negativă. Uneori comportamentul disfuncţional apare deoarece acea persoană nu ştie cum să-şi aducă contribuţia în cadrul echipei şi nu ştie cum poate să fie un membru eficient în echipă. Metodele prin care ceilalţi membri ai echipei trebuie să reacţioneze la comportamentele disfuncţionale sunt: 1. Se atrage atenţia membrului care are comportament disfuncţional, fără a-l eticheta. 2. Se arată membrului care are comportament disfuncţional care sunt caracteristicile

comportamentului său (într-un mod constructiv şi nu punitiv). 3. Se sugerează membrului care are comportament disfuncţional cum ar trebui să se

comporte pentru a se crea un climat productiv în echipă.

Page 96: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 97

Etapele de dezvoltare a echipei (cu fiecare etapă parcursă creşte eficienţa echipei):

Blocajele în munca în echipă pot să apară din următoarele motive: − Lider neadecvat. Un lider eficient trebuie să aibă un nivel de integritate ridicat, stan-

darde clare şi corecte, puterea de a menţine unitatea echipei, este onest, direct şi recep-tiv la nevoile, speranţele şi temerile membrilor echipei, respectând demnitatea acestora.

− Componenţă neadecvată. Alegerea membrilor echipei nu s-a făcut corect, lipsind membrii care au abilităţile de bază (de a aduce idei, de analiză, de planificare, de orientare, de execuţie).

1. Formarea − Echipa reprezintă un număr de persoane care poartă discuţii despre scopul

echipei, numele echipei, compoziţia sa şi rolul fiecărei persoane în cadrul echipei.

− Echipa este imatură şi are o dependenţă foarte mare faţă de lider. − Fiecare persoană încearcă să identifice de ce se află în echipă şi care este

scopul echipei şi are o înţelegere limitată a rolului colegilor în cadrul echipei. − Se identifică abilităţile fiecărui membru al echipei. − Se vorbeşte mai mult decât se ascultă, iar liderul ia majoritatea deciziilor.

2. Furtuna − Membrii echipei trec printr-o fază de conflict şi de competiţie, deoarece unii

dintre ei vor să-şi recâştige propria individualitate, putere şi influenţă în cadrul echipei.

− Echipa este fracţionată. Nu este încă formată identitatea de grup, iar unii mem-bri încep să respingă ideea de lucru în echipă, considerând că pot rezolva şi singuri problema.

− Consensul la care s-a ajuns în faza anterioară în privinţa scopului, conducerii, a rolurilor în echipă, a normelor de comportament şi de muncă – este contestat şi reconsiderat .

− Se testează încrederea între membrii echipei. Se ascultă mai mult – şi membrii încep să-şi înţeleagă unii altora problemele.

− Ieşirea din conflict se face prin vot şi compromisuri. Conflictul nu este rezolvat, ci doar suspendat.

3. Reglementarea − Competiţia este înlocuită de colaborare şi comunicare. − S-a format identitatea de echipă şi a crescut coeziunea dintre membrii echipei.

Membrii echipei încep să conştientizeze avantajele colaborării, încep să se înţeleagă între ei, să se sprijine şi să aibă încredere unii în alţii.

− Se clarifică scopul echipei, rolul fiecărui membru în cadrul echipei, se stabilesc norme şi proceduri de lucru: când şi cum se lucrează, cum se adoptă deciziile, comportamentul acceptat în cadrul echipei.

4. Performanţa − Echipa a ajuns la maturitate şi există un acord unanim acceptat. Echipa devine

cu adevărat productivă şi este eficientă. − Membrii echipei au un nivel înalt de loialitate faţă de echipă, nu se mai simt ame-

ninţaţi de abilităţile celorlaţi membri, nu mai sunt preocupaţi să-şi apere propriile poziţii şi pun împreună resursele de care dispun.

− Membrii echipei cooperează, se susţin reciproc şi sunt flexibili. − Rezultatele echipei sunt monitorizate regulat.

Page 97: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

98 Baze de date

− Obiective neclare. Pentru a stabili obiective clare trebuie respectate următoarele criterii: obiectivele sunt discutate şi împărtăşite de toţi membrii echipei şi fiecare membru este implicat să-şi stabilească responsabilităţile. Obiectivele trebuie revizuite atunci când este cazul, în funcţie de rezultatele obţinute.

− Climat neconstructiv. Poate fi generat de următoarele cauze: valorile membrilor echipei sunt foarte variate, sprijinul dintre membrii echipei este slab, angajamentul membrilor echipei faţă de scopul propus este redus.

− Metode ineficiente. Acestea pot fi generate de căile prin care se iau deciziile, de comunicarea în cadrul echipei, colectarea şi furnizarea informaţiilor, coordonarea resurselor, criteriile de evaluare şi de măsurare a eficienţei.

− Confruntarea mocnită. Apare atunci când se preferă un climat fără confruntări între membrii echipei, din diferite motive: politeţe, teama de critică sau că divergenţele vor submina moralul echipei. Confruntarea dintre membrii echipei trebuie să fie deschisă şi folosită în mod constructiv, pentru a se lua cele mai bune decizii.

− Capacitate creativă scăzută. Echipa trebuie să aibă capacitatea de a genera idei creative care să poată fi puse în practică.

− Nivel redus de atingere a rezultatelor. Echipa trebuie să fie orientată spre rezultatele obţinute, stabilind standarde şi ţintele pe care să le atingă, şi un sistem de recompense pentru membrii echipei. Nu trebuie să se piardă în detalii şi în perfecţionism.

− Relaţii neconstructive cu celelalte echipe. Echipa trebuie să aibă relaţii cu celelalte echipe: să-şi identifice obiectivele comune şi oportunităţile de rezolvare a problemelor comune.

Conceptele utilizate în descrierea proceselor în echipă sunt:

1. Normele echipeiSunt modele de comportament pe care echipa le consideră acceptabile şi

cărora membrii echipei trebuie să li se conformeze. Atunci când un membru consideră că nu mai poate să se conformeze la unele norme ale echipei, are două soluţii: să părăsească echipa sau să încerce să schimbe normele pe

care nu le mai poate accepta.

2. Coeziunea echipeiReprezintă abilitatea membrilor grupului de a gândi şi a acţiona ca un tot. Este forţa care îi ţine pe indivizi drept membri ai echipei. Ea depinde de gradul în care membrii echipei împărtăşesc aceleaşi valori şi norme de

comportament. Cu cât coeziunea este mai mare şi liderul mai eficient, cu atât productivitatea echipei este mai mare.

3. Rolurile în echipăReprezintă modelul de comportament dorit şi aşteptat de la fiecare membru

al echipei (rolul jucat de fiecare membru în cadrul echipei). Fiecare comportament trebuie să fie adecvat unor situaţii concrete. Fiecare membru

al echipei poate să joace concomitent roluri multiple.

4. Statusul în echipăReprezintă nivelul ocupat de o persoană în cadrul echipei din care face parte. Provine din poziţia ierarhică pe care o ocupă în structura organi-zatorică a echipei şi/sau din calităţile individuale recunoscute de ceilalţi membri ai echipei. Statusul unui membru reflectă influenţa, puterea şi

prestigiul pe care le are în cadrul echipei şi există numai prin comparaţie cu ceilalţi membri ai echipei.

Page 98: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 99

Prima grupă (1 ÷ 10) vă prezintă mai mulţi termeni. A doua grupă (a ÷ j) vă prezintă afirmaţii sau definiţii posibile pentru aceşti termeni. Legaţi corespun-zător obiectele din prima grupă cu obiectele din a doua grupă:

1. baza de date 6. administratorul bazei de date 2. înregistrarea 7. sistemul de gestiune a bazelor de date 3. schema 8. relaţia una-la-mai-multe 4. redundanţa datelor 9. independenţa datelor 5. dicţionarul de date 10. modelul relaţional de baze de date

a. Conţine toate informaţiile despre entităţile memorate în baza de date. b. Cel mai popular model de baze de date folosit pe microcalculatoare. c. Instrument software care facilitează crearea şi întreţinerea bazelor de date. d. O persoană sau un grup de persoane care coordonează şi controlează toate activi-

tăţile legate de baza de date a unei organizaţii. e. O colecţie de fişiere şi înregistrări legate între ele. f. Unul dintre cele mai mari avantaje ale folosirii bazelor de date. g. O colecţie de câmpuri care sunt legate logic. h. Descrierea întregii colecţii de date din baza de date. i. Una dintre proprietăţile datelor care creează deficienţe mari colecţiilor de fişiere de date. j. O înregistrare din primul tabel poate fi legată de mai multe înregistrări din al doilea

tabel.

1. Un avantaj al folosirii fişierelor de date este partajarea datelor între mai mulţi utilizatori.

2. Un avantaj al folosirii bazelor de date este asigurarea integrităţii datelor.

3. Dicţionarul de date descrie structura datelor din baza de date. 4. Administratorul bazei de date asigură consistenţa datelor. 5. Administratorul bazei de date asigură controlul centralizat al datelor. 6. Tabelul virtual (vizualizarea) este modelul datelor cu care operează utilizatorul. 7. Ştergerea restricţionată înseamnă că înregistrările din tabelele conduse vor fi şterse

numai cu acordul utilizatorului. 8. Relaţia mai-multe-la-mai-multe poate fi descompusă în două relaţii una-la-una. 9. Operatorul relaţional Select se aplică pe două tabele, pentru a obţine un tabel nou,

cu înregistrările din ambele tabele care au aceeaşi valoare a câmpului cheie în ambele tabele.

10. Limbajul SQL foloseşte interogarea prin exemple.

1. Un administrator al bazei de date este necesar pentru ………….. 2. Deosebirea dintre schema generală a bazei de date şi o schemă parţială

este ………… 3. Rolul unui sistem de gestiune a bazelor de date este ….. 4. Cele mai importante avantaje ale unei baze de date sunt ….

!

Page 99: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

100 Baze de date

5. Limbajul de interogare a unei baze de date este ………… 6. Independenţa datelor într-o bază de date înseamnă ………………… 7. Pentru interogarea unei baze de date relaţionale pot fi folosite următoarele tipuri de

limbaje ………. 8. Câmpul care identifică unic o înregistrare din tabel se numeşte …………………,. 9. Baza de date este o colecţie de ……................. şi ................ legate între ele. 10. Setul de date la care are acces un grup de utilizatori este descris prin ......................... 11. Cheia secundară este folosită în tabelul ...................... 12. Mecanismul de propagare a cheilor asigură ........................ dintre tabelele bazei de

date. 13. Pentru a asigura condiţia de integritate referenţială, mulţimea valorilor cheii secunda-

re trebuie să fie ....................... mulţimea valorilor cheii primare din care s-a propagat. 14. Normalizarea este procesul de ................................. a unei structuri complexe prin

................................ ei în structuri mai simple, legate între ele. 15. Proprietatea datelor care caracterizează cantitatea de date memorată de mai multe

ori pe suportul de memorare se numeşte ............................. datelor.

1. Care dintre următoarele elemente sunt caracteristice unei baze de date relaţionale:

a. tabelul; b. înregistrările; c. legăturile logice complexe; d. câmpurile; e. structura de reţea a tabelelor; 2. Care dintre următoarele operaţii creează probleme într-un ansamblu de

fişiere de date : a. actualizarea datelor; b. asigurarea independenţei datelor faţă de programe c. redundanţa datelor;

3. Care dintre următoarele nu sunt componente ale sistemului de gestiune a bazelor de date:

a. limbajul de manipulare a datelor; b. dicţionarul de date; c. limbajul de interogare; d. sistemul de gestiune a fişierelor; e. limbajul de descriere a datelor; f. baza de date;

4. Dicţionarul bazei de date nu furnizează informaţii despre: a. locul în care se găsesc datele din baza de date; b. dimensiunea spaţiului de pe disc; c. proprietarul unor seturi de date din baza de date; d. modul în care pot fi folosite datele de către utilizatori; e. limitări pentru a asigura securitatea şi confidenţialitatea datelor.

5. Dacă unele componente ale colecţiei de date se înregistrează de mai multe ori pe suportul de date, redundanţa datelor:

a. creşte; b. scade; c. nu se modifică. 6. Administratorul bazei de date stabileşte:

a. drepturile de acces ale utilizatorilor la baza de date; b. programele de aplicaţie folosite pentru baza de date; c. sistemul de gestiune a bazelor de date folosit; d. modificarea structurii bazei de date.

7. Utilizatorul bazei de date operează cu: a. tabelele bazei de date b. vizualizările c. colecţia de fişiere în care este memorată baza de date.

Page 100: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 101

8. Operatorii relaţionali Select, Project şi Join se pot folosi în limbajul de tip: a. SQL b. QBE c. gazdă

9. Pentru a extrage într-un tabel nou anumite câmpuri dintr-un tabel sursă se foloseşte operatorul relaţional:

a. Select b. Project c. Join

Pentru realizarea miniproiectelor se va lucra în echipă. Fiecare mini-proiect va conţine:

a. analiza problemei şi proiectarea aplicaţiei de gestiune; b. proiectarea bazei de date; c. condiţiile ce trebuie îndeplinite pentru a fi asigurată integritatea

referenţială a bazei de date. 1. Descrieţi în ce mod vor putea fi reprezentate într-o bază de date relaţională (tabele şi

relaţii între tabele) următoarele informaţii referitoare la o companie care asigură distribuţia către abonaţi a mai multor publicaţii:

Publicaţiile provin de la mai multe edituri. Informaţiile referitoare la o editură sunt: nume, adresă, persoană de contact, număr de telefon.

Fiecare editură are mai multe publicaţii. Informaţiile referitoare la o publicaţie sunt: nume, tip publicaţie, preţ.

Fiecărui abonat i se pot distribui mai multe publicaţii. Informaţiile referitoare la un abonat sunt: nume, adresă, număr de telefon.

Verificaţi dacă baza de date răspunde la următoarele interogări (exprimaţi interogările prin cei trei operatori relaţionali):

Lista cu abonaţii la publicaţia X. Lista cu abonaţii la publicaţii de tipul X. Lista cu editurile care au publicaţii de tipul X. Lista publicaţiilor care aparţin editurii X. Lista publicaţiilor de tipul X care aparţin editurii Y. Tipul publicaţiilor editurii X.

2. Descrieţi în ce mod vor putea fi reprezentate într-o bază de date relaţională (tabele şi relaţii între tabele) următoarele informaţii referitoare la cursele aeriene dintr-o zi şi, respectiv, pasagerii acestor curse:

Există mai multe linii aeriene, fiecare identificată printr-un nume. (Pe fiecare linie aeri-ană există mai multe curse identificate printr-un nume. Fiecare cursă are o destinaţie.

Fiecare cursă are o anumită capacitate (număr de locuri) şi foloseşte un anumit tip de avion.

La fiecare cursă există mai mulţi pasageri care rezervă locuri. Un pasager poate rezerva mai multe locuri. Pasagerii se identifică după nume, iar locurile după număr.

Verificaţi dacă baza de date răspunde la următoarele interogări (exprimaţi interogările prin cei trei operatori relaţionali):

Lista cu pasagerii de la cursa X. Locurile rezervate de pasagerul X la cursa Y. Tipul avionului folosit de cursa X. Lista curselor care aparţin liniei aeriene X. Lista curselor care au destinaţia X.

Page 101: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

102 Baze de date

3. Descrieţi în ce mod vor putea fi reprezentate într-o bază de date relaţională (tabele şi relaţii între tabele) următoarele informaţii referitoare la o bibliotecă:

Biblioteca este formată din mai multe cărţi, care aparţin mai multor domenii de interes pentru cititor. Domeniul se identifică prin cod şi nume.

Fiecare carte se identifică prin: cod carte, titlu, autor, editură, an apariţie, preţ, cod domeniu.

Fiecare cititor se identifică prin: cod cititor, nume, adresă, telefon. Cărţile pot fi împrumutate de cititori. Pentru fiecare împrumut se ţin următoarele evidenţe: cartea împrumutată, cititorul care a împrumutat-o, data împrumutului, data la care trebuie să o înapoieze, data la care a înapoiat-o.

Verificaţi dacă baza de date răspunde la următoarele interogări (exprimaţi interogările prin cei trei operatori relaţionali):

Ce cărţi a împrumutat cititorul X în perioada D. Lista cu cărţile care sunt împrumutate la data D. Lista cu cărţile care aparţin unui autor X. Lista cu cărţile din domeniul Y. Lista cu cărţile din domeniul X apărute la editura Y. Lista cu cărţile apărute în anul X la editura Y.

4. Descrieţi în ce mod vor putea fi reprezentate într-o bază de date relaţională (tabele şi relaţii între tabele) următoarele informaţii referitoare la o agenţie de turism:

Agenţia organizează excursii sau sejururi de mai multe zile la diferite obiective turistice.

Obiectivele turistice se identifică prin localitate şi aparţin unui domeniu de interes. La un obiectiv turistic pot exista mai multe căi de acces. Turistului i se asigură cazare şi masă. Hotelurile se identifică prin nume, adresă şi categorie, iar restaurantele prin nume şi adresă.

Organizarea excursiei constă în a asigura turistului transportul, cazarea şi masa pe o perioadă determinată de timp.

Agenţia ţine evidenţa turiştilor, a excursiilor şi a sejururilor organizate pentru aceştia. Verificaţi dacă baza de date răspunde la următoarele interogări (exprimaţi interogările prin cei trei operatori relaţionali):

Lista cu obiectivele turistice dintr-un judeţ X. Lista cu hotelurile care pot fi folosite pentru a asigura cazarea la un obiectiv turistic X. Lista cu rezervările făcute pe o perioadă de timp D la un hotel X. Lista cu turiştii care vor merge în excursie într-o perioadă D la un obiectiv X. Turistul care a rezervat camera X din hotelul Y de la obiectivul turistic Z în data D.

Dacă este cazul, modificaţi structura tabelelor din baza de date astfel încât baza de date să poată răspunde la aceste întrebări.

Page 102: 1. Baze de date - edituradp.roedituradp.ro/site_img/downloads/2016/05/cap-1-info-xii-m1.pdf · La nivel logic se poate alege una dintre urm ătoarele structuri de date: Structurile

Informatică 103

Cuprins

1. Baze de date ........................................................................................................3 1.1. Modelul conceptual al unei probleme de gestiune .........................................4

1.1.1. Sistemul de gestiune.....................................................................................6 1.1.2. Componentele sistemului de gestiune........................................................12 1.1.3. Sistemul informatic......................................................................................17 1.1.4. Procesul informaţional ................................................................................19 1.1.5. Aplicaţia de gestiune...................................................................................22 1.1.6. Baza informaţională a organizaţiei..............................................................31

1.2. Baza de date ......................................................................................................36 1.2.1. Modele de baze de date .............................................................................41 1.2.2. Baza de date relaţională .............................................................................43 1.2.3. Niveluri de reprezentare a bazei de date relaţionale ..................................44 1.2.4. Nivelul logic al bazei de date relaţionale.....................................................46

1.2.4.1. Tabelul..............................................................................................46 1.2.4.2. Relaţia ..............................................................................................48 1.2.4.3. Integritatea referenţială ....................................................................54 1.2.4.4. Normalizarea datelor........................................................................56

1.2.5. Proiectarea bazei de date relaţionale .........................................................62 1.2.5.1. Proiectarea bazelor de date mici......................................................63 1.2.5.2. Proiectarea bazelor de date medii şi mari........................................69

1.2.6. Sisteme de gestiune a bazelor de date relaţionale.....................................71 1.2.6.1. Dicţionarul de date ...........................................................................73 1.2.6.2. Limbajul de interogare......................................................................73

1.2.7. Algebra relaţională ......................................................................................76 1.2.8. Aplicaţiile .....................................................................................................79

1.3. Dezvoltarea profesională în domeniul IT........................................................80 1.3.1. Identificarea aptitudinilor pentru anumite tipuri de activităţi........................80 1.3.2. Crearea unui CV. Reguli de susţinere a unui interviu.................................84

1.3.2.1. Crearea unui curriculum vitae ..........................................................86 1.3.2.2. Reguli de susţinere a unui interviu...................................................89

1.3.3. Reguli de susţinere a unei prelegeri ...........................................................93 1.3.4. Principii de lucru în echipă ..........................................................................94

Evaluare .........................................................................................................................99