Fundamente ale bazelor de date

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Fundamente ale bazelor de date"

Transcript

1 BAZE DE DATE

2 Fundamente ale bazelor de date Tehnologiile informaţionale influenţează continuu şi produc modificări substanţiale asupra mijloacelor de lucru din întreaga lume. Informaţii care erau altădată stocate în depozite pline de dulapuri, pot fi accesate astăzi prin intermediul unei singure apăsări a butonului mouse-ului. Astfel, pentru stocarea informaţiilor din orice mediu imaginabil în zilele noastre sunt folosite sistemele de baze de date. De la bazele de date mari, aşa cum sunt sistemele care permit rezervarea on-line a biletelor pentru companiile aeriene şi până la fişele dintr-o bibliotecă, sistemele de baze de date sunt folosite pentru memorarea şi distribuirea datelor de care încep să depindă tot mai mult vieţile noastre. Până în urmă cu câţiva ani, sistemele mari de baze de date se găseau numai pe calculatoare de tip mainframe. Însă, aşa cum era şi firesc, proiectarea, achiziţionarea sau întreţinerea unei astfel de maşini reprezenta o sarcină costisitoare şi dificil de realizat. Odată cu apariţia calculatoarelor din clasa staţiilor de lucru, pe care le întâlnim la tot pasul (biblioteci, laboratoare de informatică, departamente de lucru, etc.) şi care sunt puternice şi în acelaşi timp destul de ieftine, programatorii au posibilitatea de a proiecta rapid şi la costuri reduse produse informatice care să permită întreţinerea şi distribuirea datelor. Cercetarea aferentă bazelor de date are aproape 35 de ani de istorie, ani care au condus în mod inevitabil la cele mai relevante şi importante dezvoltări ale ingineriei software. În mod natural, tehnologiile specifice bazelor de date, arhitecturile şi cadrele conceptuale au fost tot mai bine consolidate în ultimile decade. Mai mult, în ultimii ani, managementul bazelor de date a evoluat astfel încât bazele de date au devenit o componentă cheie a sistemelor informaţionale moderne. Acest aspect a provocat un impact adânc precum şi modificări semnificative în modul de lucru al instituţiilor şi organizaţiilor, contribuind într-o măsură relevantă la adoptarea celor mai adecvate decizii care să le poată garanta succesul în afaceri şi nu numai. În acest context, este important să menţionăm anumiţi factori care au contribuit la această explozie: noile tehnici şi instrumente de modelare, cele mai importante, fiind cele care se bazează pe o gândire orientată obiect, apariţia procesării de tipul clientserver, diminuarea semnificativă a preţurilor aferente atât componentei hardware cât şi a celei software şi, nu în ultimul rând, necesitatea unei administrări eficiente şi corecte a cantităţilor tot mai mari de informaţii care caracterizează activităţile fiecărei organizaţii din zilele noastre. În prezent, bazele de date fac parte tot mai mult din viaţa noastră de zi cu zi în aşa măsură, încât uneori nici măcar nu mai conştientizăm că le utilizăm. Atunci când cumpărăm ceva de la un supermarket, probabil că va fi accesată o bază de date. Casierul va trece un cititor de coduri de bare peste fiecare dintre articolele pe care le achiziţionăm. Acesta este conectat la un sistem informatic pentru baze de date, care utilizează codul de bare pentru a identifica preţul produsului pe care l-am ales, evident dintr-o bază de date care gestionează produsele. De asemenea, dacă stocul pentru un produs scade sub o anumită limită, este posibil ca sistemul să emită în mod automat o comandă către un furnizor, pentru a obţine un stoc suplimentar din acel articol. Ce este baza de date? Majoritatea bazelor de date iau naştere începând cu o listă într-un editor de texte sau într-o foaie de calcul. La momentul respectiv, suntem tentaţi să credem că a fost aleasă cea mai bună soluţie, atât timp cât necesităţile informaţionale sunt satisfăcute, este adevărat, în contextul unei cantităţi reduse de informaţii. În timp însă, acest volum creşte (spre exemplu, 3

3 odată cu creşterea activităţii unei organizaţii, ceea ce face ca soluţiile (privite iniţial ca fiind cele mai adecvate) să nu mai fie potrivite. Mai mult, pe măsură ce lista devine tot mai mare, încep să apară redundanţe şi inconsistenţe la nivelul datelor gestionate. Datele devin greu de înţeles sub forma listei, iar posibilităţile de căutare, regăsire şi extragere a subseturilor de date pentru revizuire, actualizare sau utilizare devin extrem de limitate. Odată cu apariţia acestor probleme, o idee bună, chiar o necesitate în anumite situaţii, ar fi aceea al transferului acestor date într-o bază de date creată cu ajutorul unui sistem de gestiune al bazelor de date. În prezent ne este tot mai clar faptul că explozia informaţională este de ani buni trăsătura definitorie care caracterizează activităţile fiecărei organizaţii sau instituţii, indiferent de domeniul său de activitate. Volumul tot mai însemnat de informaţii nu mai poate fi utilizat eficient cu ajutorul mijloacelor tradiţionale. Practic, constatăm că procesul de prelucrare automată a datelor prin intermediul sistemelor electronice de calcul a devenit o necesitate pentru majoritatea domeniilor de activitate. În acest context, putem afirma că cea mai evoluată metodă de organizare a datelor în vederea prelucrării lor automate o întâlnim la bazele de date. În literatura de specialitate există numeroase definiţii aferente conceptului de bază de date. În continuare vom prezenta câteva dintre ele, care, în opinia noastră, acoperă cel mai bine conceptul de bază de date. O bază de date conţine toate informaţiile necesare despre obiectele ce intervin într-o mulţime de aplicaţii, relaţii logice între aceste informaţii şi tehnicile de prelucrare corespunzătoare. În bazele de date are loc o integrare a datelor, în sensul că mai multe fişiere sunt privite în ansamblu, eliminându-se pe cât posibil acele informaţii redundante. De asemenea, este permis accesul simultan la aceleaşi date, care se regăsesc în acelaşi loc sau sunt distribuite spaţial, a mai multor persoane de pregătiri diferite, fiecare cu stilul personal de lucru [Bâscă, 1997, p.11]. Referitor la definiţia prezentată anterior, putem spune că avem unele reţineri în ceea ce priveşte utilizarea conceptului de informaţie. Astfel, autorul vede baza de date ca un ansamblu de informaţii, părere pe care o împărtăşim parţial şi numai în cazul în care se face referire la baza de date în general, dar nu şi la o bază de date relaţională. Este cert faptul că atunci când facem referire la baza de date relaţională, nu putem vorbi de informaţii, ci numai de date. Totodată, putem privi baza de date ca ansambluri unitare de date, structurate, corelate logic între ele şi memorate împreună cu descrierea formală a structurii lor şi a legăturilor logice dintre ele, a cărui gestionare este realizată de un sistem software unitar şi specializat, numit sistem de gestiune a bazei de date [Georgescu, Georgescu, 2005, p.63]. O definiţie completă şi explicativă a noţiunii de bază de date este oferită în [Velicanu et al., 2003, p.51]. Astfel, aceasta reprezintă un ansamblu de colecţii de date: organizat, pe niveluri de organizare a datelor (conceptual, logic, fizic), aşa cum reiese şi din arhitectura pe niveluri a unui sistem de baze de date; coerent, conform restricţiilor de integritate şi a legăturilor dintre date, care rezultă din modelul logic aferent; structurat, conform unui model de date pentru bazele de date; cu redundanţă minimă şi controlată, care este asigurată prin modelul de date implementat şi prin tehnicile de proiectare ale bazei de date; accesibil mai multor utilizatori în timp real, adică mai mulţi utilizatori, concomitent, pot obţine informaţiile dorite atunci când au nevoie de ele. 4

4 Profesorul M. Fotache prezintă şi analizează o definiţie academică a bazei de date. Astfel, în opinia acestuia, baza de date reprezintă un ansamblu structurat de fişiere care grupează datele prelucrate în aplicaţiile informatice ale unei persoane, grup de persoane, întreprinderi, instituţii, etc. Din punct de vedere formal, defineşte baza de date ca o colecţie de date aflate în interdependenţă, împreună cu descrierea datelor şi relaţiilor dintre ele sau, similar, o colecţie de date folosită într-o organizaţie, colecţie care este automatizată, partajată, definită riguros (formalizată) şi controlată la nivel central [Fotache, 2005, p.14]. Plecând de la definiţiile prezentate anterior, putem afirma că o bază de date relaţională reprezintă o colecţie partajată de date, între care există diferite legături logice (împreună cu o descriere a acestora), proiectată pentru a satisface necesităţile informaţionale ale fiecărei organizaţii. Totodată, putem privi o bază de date ca un instrument pentru organizarea şi colectarea tuturor informaţiilor, astfel încât să se satisfacă toate necesităţile informaţionale ale utilizatorilor ei. Definiţia prezentată anterior trebuie analizată în detaliu pentru a putea fi în măsură să dobândim o mai bună înţelegere a conceptului de bază de date. Baza de date reprezintă un depozit de date unic, larg, care este definit o singură dată şi este utilizat simultan de diferite departamente sau utilizatori. Această soluţie substituie crearea mai multor fişiere separate cu date de cele mai multe ori considerate a fi redundante şi presupune integrarea tuturor datelor necesare, dublarea lor fiind în acest caz minimală. De aici decurge un prim avantaj semnificativ: baza de date nu mai este deţinută de un singur departament, ci constituie acum o resursă comună, partajată. Pe de altă parte, baza de date conţine nu numai datele operaţionale ale unei organizaţii sau instituţii, ci şi o descriere a acestora, întâlnite în literatură sub denumirea de metadate (date despre date). Atunci când analizăm necesităţile informaţionale ale unei organizaţii, avem în vedere în principal identificarea entităţilor, atributelor şi relaţiilor. Putem privi o entitate ca un obiect distinct (o persoană, un departament, un concept sau un eveniment) care aparţine unei organizaţii şi care trebuie reprezentat în baza de date. Atributul este o proprietate care descrie un aspect oarecare al obiectului pe care dorim să-l înregistrăm, iar relaţia se referă la o asociaţie între diferite entităţi. Astfel, putem spune că baza de date conţine entităţile, atributele, dar şi relaţiile (legăturile) logice dintre ele. În capitolul 4 vom arăta cum se concretizează din punct de vedere practic legăturile logice dintre relaţii, prin introducerea conceptului de cheie străină. Arhitecturi ale sistemelor de baze de date În literatura de specialitate sunt prezentate mai multe tipuri de arhitecturi ale sistemelor de baze de date. Nouă ne-au atras atenţia cele prezentate în [Velicanu et al., 2003, p.13]. Astfel, conform autorilor, rolul unei arhitecturi este de a realiza o reprezentare grafică a elementelor sistemului, precum şi a legăturilor dintre ele. În funcţie de ceea ce se evidenţiază grafic, se folosesc două tipuri de arhitecturi: 1. arhitectura pe componente oferă o imagine asupra elementelor care formează un sistem de baze de date, dar şi a inter-dependenţelor dintre ele. Componentele specifice arhitecturii pe componente sunt: a. datele sunt organizate într-o bază de date care conţine: colecţii de date propriu-zise; dicţionarul de date (structura de date, restricţiile de integritate, vederile, etc.); fişierele anexe, aşa cum sunt cele de index. 5

5 b. software-ul este aferent realizării şi exploatării bazei de date şi conţine: sistemul de gestiune a bazei de date; programele de aplicaţie dezvoltate, în cea mai mare parte, într-un sistem de gestiune a bazelor de date. c. elementele auxiliare sunt componentele care contribuie la realizarea şi funcţionarea întregului sistem de baze de date: 1. un set de proceduri automate (rutine) şi manuale; 2. reglementări legale şi administrative; 3. mijloace hardware utilizate; 4. persoane implicate pe categorii de utilizatori. 2. Arhitectura pe niveluri structurează un sistem de baze de date pe trei niveluri şi oferă o imagine despre modul de organizare şi funcţionare al acestuia. Vederi ale bazei de date Manipulare date Descriere date Niveluri de organizare date Programator de aplicatie Program aplicatie 1 Structura externa... (logica)... Logic Administrator baza de date SGBD S.O. Structura conceptuala... Conceptual Inginer (analist) de sistem Bază de date Structura interna (fizica) Fizic Figura 1.2. Arhitectura pe niveluri a unui sistem de baze de date În arhitectura prezentată în figura 1.2 sunt redate nivelurile de organizare (reprezentare) a datelor în baza de date şi legăturile dintre ele: nivelul conceptual, nivelul logic şi nivelul fizic. a. nivelul conceptual este dat de viziunea administratorului bazei de date asupra datelor. Legat de acest nivel, se pot menţiona următoarele aspecte: 6 administratorul realizează structura conceptuală a bazei de date, eventual cu ajutorul instrumentelor oferite de un SGBD; structura conceptuală se obţine utilizând un anumit model de date pentru baza de date, precum şi o tehnică de proiectare cât mai adecvată; structura conceptuală este o reprezentare în interiorul sistemului a realităţii pe care baza de date o transcrie; viziunea administratorului asupra bazei de date este independentă de aplicaţiile care vor fi dezvoltate (independenţa logică);

6 rezultatul nivelului conceptual este schema conceptuală; realizarea schemei corespunde unei activităţi de modelare pentru că este vorba despre o transpunere în termeni abstracţi a entităţilor lumii reale; odată definită, schema conceptuală trebuie confruntată cu lumea reală pentru identificarea şi soluţionarea neconcordanţelor sau a omisiunilor; datorită caracterului său global şi unitar, se recomandă ca schema conceptuală să fie gestionată de o singură persoană [Georgescu, Georgescu, 2005, p.67]. b. nivelul logic este dat de viziunea programatorului asupra datelor. Legat de acest nivel se pot prezenta următoarele aspecte: programatorul realizează programele de aplicaţie pentru descrierea şi manipularea datelor, scrise într-un SGBD; programele implementează structura externă (logică) a datelor; structura externă este dedusă din structura conceptuală; structura externă reprezintă viziunea programatorului asupra bazei de date pentru o anumită aplicaţie; viziunea programatorului este independentă de suportul tehnic de informaţie (independenţa fizică); rezultatul nivelului logic este schema externă, ca parte din schema conceptuală, implementată cu ajutorul unui SGBD. c. nivelul fizic este dat de viziunea analistului (inginerului) de sistem asupra datelor şi are rolul de a descrie modul în care sunt stocate datele în baza de date. Aferent nivelului fizic putem menţiona următoarele: analistul de sistem este cel căruia îi revine sarcina de a realiza structura internă (fizică); structura internă este dedusă din cea externă conform unor tehnici şi metode de alocare pe suport fizic; structura internă corespunde descrierii datelor pe suportul fizic de informaţie; rezultatul la nivelul fizic este schema internă (fizică) care se defineşte în termeni de fişiere şi înregistrări; implementarea schemei interne se face cu ajutorul sistemului de gestiune a fişierelor (SGF) din cadrul SGBD-ului şi/sau din sistemul de operare, prin gestiunea fizică a perifericelor. 7

7 Proiectarea şi administrarea unei baze de date În prezent observăm că avalanşa produselor software o depăşeşte net pe cea a componentelor hardware. Însă, din păcate, dacă privim evoluţia în timp a dezvoltării sistemelor software constatăm că nu este impresionantă. În ultimile decade am observat o expansiune a aplicaţiilor software, de la cele mici şi relativ simple şi care presupuneau câteva linii de cod, până la cele mari, destul de complexe şi care presupuneau scrierea a milioane şi milioane de linii de cod. Însă, în mod normal, aceste aplicaţii necesitau şi o întreţinere constantă, care urmărea în primul rând corectarea erorilor detectate, îmbunătăţirea funcţionalităţii prin implementarea altor cerinţe care veneau din partea utilizatorului. Totodată, această ameliorare avea în vedere şi adaptarea acestor aplicaţii la platforme multiple, astfel încât, indiferent de locul în care rula aplicaţia, funcţionalitatea ei să nu fie afectată. Toate aceste aspecte specifice întreţinerii au condus la un consum tot mai însemnat de resurse, iar rezultatul nu a întârziat să apară: multe proiecte importante se aflau în întârziere, bugetul alocat lor devenea constant insuficient, întreţinerea se face tot mai greu, iar performanţele întârziau să apară (cam 80-90% din sisteme nu-şi atingeau scopul). Practic, această situaţie a condus la ceea ce se numea la vremea respectivă criza de software. Printre principalele motive care au stat la baza acestei crize putem aminti: lipsa specificaţiilor complete referitoare la cerinţe, a unei metodologii adecvate de realizare, dar şi proasta partiţionare a proiectării în componente uşor de manevrat. Astfel, ca o soluţie care să permită ieşirea din criză şi soluţionarea problemelor menţionate anterior, a fost propusă o nouă abordare structurată privind dezvoltarea produselor software, numită ciclu de viaţă al sistemelor informaţionale. Ciclul de viaţă al sistemelor informaţionale Putem privi sistemul informaţional ca un ansamblu de fluxuri şi circuite informaţionale, organizate într-o concepţie unitară şi care asigură legătura dintre sistemul decizional (de conducere) şi cel operaţional (de execuţie). Trebuie menţionat faptul că nu trebuie să confundăm sistemul informaţioanal cu cel informatic (din păcate, am constatat că există studii sau păreri care le privesc pe cele două ca fiind unul şi acelaşi lucru). Astfel, sistemul informatic reprezintă un ansamblu structurat de elemente intercorelate funcţional, utilizat pentru culegerea, prelucrarea, transmiterea şi stocarea datelor cu ajutorul mijloacelor automate de prelucrare a datelor. Scopul acestuia este de a automatiza procesul informaţional şi de a sta la baza fundamentării deciziilor. În plus, sistemul informatic este inclus în cel informaţional şi îi oferă acestuia noi valenţe, atât sub aspect calitativ, cât şi cantitativ. Acest lucru se realizează prin implementarea de către sistemul informatic a unor modele matematice şi prin utilizarea tehnicii electronice de calcul. Începând cu anii 70, treptat, sistemele de baze de date le-au luat locul celor bazate pe fişiere, ca parte a infrastructurii sistemelor informaţionale din cadrul unei organizaţii. În acelaşi timp, a avut loc o recunoaştere treptată a faptului că datele constituie o resursă comună, importantă, vitală în anumite situaţii, care trebuie tratată cu respect, ca toate celelalte resurse ale organizaţiei. Acest aspect a avut ca rezultat crearea unor departamente funcţionale denumite administrarea datelor şi administrarea bazelor de date, care erau responsabile cu administrarea şi controlul datelor. Astfel, considerăm că baza de date este o componentă de bază a unui sistem informaţional, iar dezvoltarea şi utilizarea sa trebuie privite şi analizate din perspectiva 8

8 cerinţelor mai largi ale organizaţiei. În acest context, ciclul de viaţă al sistemului informaţional dintr-o organizaţie este puternic legat de ciclul de viaţă al sistemului de baze de date care îl susţine. De obicei, etapele aferente ciclului de viaţă al unui sistem informaţional includ: planificarea, analiza cerinţelor, proiectarea (inclusiv a bazei de date), prototipizarea, implementarea şi întreţinerea. Ciclul de viaţă al unui sistem de baze de date Etapele specifice ciclului de viaţă al unei aplicaţii de tip bază de date nu sunt strict secvenţiale, ci pot presupune revenirea la o etapă anterioară şi repetarea lor. Spre exemplu, dacă apar anumite probleme în timpul proiectării bazei de date, se poate reveni la etapa anterioară care are drept obiectiv colectarea şi analiza cerinţelor. Principalele activităţi asociate fiecărei etape din ciclul de viaţă al aplicaţiei de tip bază de date sunt: planificarea bazei de date presupune planificarea modului în care etapele ciclului de viaţă pot fi realizate cel mai eficient; delimitarea graniţelor sistemului se referă la specificarea scopului şi limitelor aplicaţiei, a utilizatorilor săi şi a domeniilor de aplicaţie. Înainte de a începe proiectarea unei aplicaţii de tip bază de date, este foarte important să definim limitele (graniţele) sistemului avut în vedere şi modul în care acesta realizează interfaţa cu alte părţi ale sistemului informaţional al organizaţiei. Practic, includerea şi delimitarea graniţelor unui sistem este o etapă importantă, nu numai pentru utilizatorii şi aplicaţiile curente, ci şi pentru cele din viitor; colectarea şi analiza cerinţelor are în vedere analiza cerinţelor colectate de la utilizatori, dar şi a domeniilor de aplicaţie. Mai precis, această etapă vizează procesul de culegere şi analiză a informaţiilor aferente organizaţiei pentru care se proiectează baza de date respectivă, dar şi utilizarea acestora în vederea identificării cerinţelor utilizatorilor privind noul sistem; proiectarea bazei de date include proiectarea conceptuală, logică şi fizică. În sens larg, principalele scopuri urmărite atunci când se doreşte proiectarea unei baze de date se referă la: reprezentarea datelor şi a relaţiilor logice dintre acestea, necesare tuturor domeniilor de aplicaţie şi principalelor grupuri de utilizatori; oferirea unui model de date care să permită realizarea tranzacţiilor asupra datelor; specificarea unui proiect minimal şi structurat în mod adecvat pentru realizarea cerinţelor stabilite referitoare la performanţele noului sistem; alegerea SGBD-ului este o etapă opţională şi presupune alegerea unui SGBD adecvat pentru aplicaţia realizată. Această alegere poate fi făcută în orice moment anterior proiectării logice, cu condiţia să fie disponibile suficiente informaţii referitoare la cerinţele sistemului, cum ar fi performanţa sau constrângerile de securitate şi integritate; proiectarea aplicaţiei are în vedere proiectarea interfeţei cu utilizatorul şi a programelor care utilizează şi prelucrează baza de date; prototipizarea este tot o etapă opţională şi presupune construirea unui prototip de sistem care să permită proiectantului, dar şi utilizatorului, să evalueze modul de funcţionare al noului sistem; implementarea la încheierea etapelor de proiectare, ne aflăm în situaţia de a implementa baza de date şi programele aplicaţie. Implementarea bazei de date se 9

9 realizează prin utilizarea limbajului de definire a datelor (LDD), corespunzător sistemului de gestiune a bazelor de date ales. Instrucţiunile limbajului LDD sunt compilate şi utilizate pentru a permite crearea schemei bazei de date. Totodată, toate vederile specificate de către utilizatori sunt definite în această etapă; testarea este etapa în care se testează aplicaţia şi se identifică eventualele neconcordanţe dintre cerinţele utilizatorilor şi rezultatul furnizat de aceasta; întreţinerea operaţională presupune o monitorizare continuă a aplicaţiei realizate, iar dacă este nevoie, vor fi încorporate cerinţe noi, parcurgând etapele precedente ale ciclului de viaţă. Proiectarea bazelor de date Connoly şi colaboratorii săi [Connoly et al., 2002, p ] identifică şi descriu trei tipuri de proiectări: conceptuală, care se referă la dezvoltarea unui model informaţional independent de orice considerent privitor la aspectul fizic al datelor; logică, care vizează construirea unui model informaţional bazat pe unul din modelele tradiţionale (E-R 1, relaţional, OO 2, OR 3 ), dar independent de tipul SGBD-ului ales şi de alte aspecte fizice ale modelului; fizică urmăreşte implementarea efectivă a bazei de date pe suportul de stocare, inclusiv acele aspecte care ţin de asigurarea şi garantarea securităţii datelor. Proiectarea corespunzătoare bazei de date este o etapă foarte importantă, mai ales că trebuie să fie capabilă să garanteze buna funcţionare a acesteia şi a oricărei aplicaţii care o utilizează. În lipsa unei proiectări adecvate a bazei de date, aceasta poate prezenta mai multe deficienţe, cum ar fi: compromiterea integrităţii datelor deoarece restricţiile de integritate nu pot fi proiectate sau implementate corect; datele sunt redundante, iar aplicaţiile individuale se aglomerează în încercarea de a se asigura sincronizarea datelor; performanţele sunt afectate deoarece este posibil ca pentru finalizarea unei instrucţiuni (spre exemplu, instrucţiunea Select) să fie necesare interogări suplimentare. 1 E-R Entitate Relaţie 2 OO Orientat Obiect 3 OR Obiectual Relaţional 10

10 Sisteme de gestiune a bazelor de date În sens larg putem defini sistemul de gestiune a bazelor de date (SGBD) ca un sistem de programe care permite utilizatorilor definirea, generarea şi întreţinerea unei baze de date, precum şi accesul controlat la aceasta. În [Velicanu et al., 2003, p.94] SGBD-ul este definit ca un ansamblu complex de programe care asigură interfaţa între o bază de date şi utilizatorii acesteia. Totodată, autorii consideră SGBD-ul o componentă software a unui sistem de baze de date care este capabil să interacţioneze cu toate celelalte componente ale acestuia, asigurând legătura şi independenţa între elementele sistemului. Un SGBD oferă utilizatorului posibilitatea de a accesa datele prin intermediul unui limbaj de nivel înalt, apropiat de modul obişnuit de exprimare, pentru a obţine informaţii, utilizatorul făcând abstracţie de mijloacele şi metodele folosite pentru alegerea datelor implicate şi a modului de memorare a lor. SGBD-ul este practic o interfaţă între utilizatori şi sistemul de operare. Termenul de bază de date se va referi la datele de prelucrat, la modul de organizare a acestora pe suportul fizic de memorare, iar termenul de gestiune va semnifica totalitatea operaţiilor ce se aplică asupra datelor din baza de date. Facilităţi oferite de un SGBD Spre deosebire de un limbaj de programare obişnuit, în care declararea datelor este realizată în acelaşi loc cu prelucrarea lor, bazele de date dispun de limbaje separate pentru declarare şi prelucrare. Această separare se justifică prin faptul că într-un program obişnuit datele există efectiv numai pe parcursul rulării lui, în timp ce într-o bază de date, în general, ele sunt definite o singură dată şi nu sunt necesare redefiniri ulterioare pentru fiecare prelucrare realizată. Practic, un SGBD constă în elemente software care interacţionează cu programele aplicaţie ale utilizatorului şi cu baza de date. Printre principalele facilităţi care sunt oferite de un SGBD menţionăm: 1. permite utilizatorului să definească baza de date, de obicei prin intermediul unui limbaj de definire a datelor (LDD), care permite fiecărui utilizator să specifice tipurile şi structurile de date, în timp ce constrângerile asupra datelor sunt memorate în baza de date; 2. oferă posibilitatea actualizării datelor în baza de date (adăugare, modificare, ştergere), dar şi a extragerii lor prin intermediul limbajului de manipulare a datelor (LMD). Faptul că există un depozit central al tuturor datelor şi descrierilor acestora permite limbajului de manevrare să ofere o facilitate de interogare generală a acestor date, denumită limbaj de interogare. Existenţa unui limbaj de interogare elimină dificultăţile sistemelor bazate pe fişiere, unde utilizatorul este constrâns să lucreze cu un set fix de interogări pentru a evita proliferarea de programe, care creează probleme majore privind gestionarea acestora. Există două tipuri de limbaje de manipulare a datelor: procedurale neprocedurale care se pot deosebi în funcţie de operaţiile de extragere. Principala diferenţă între ele constă în faptul că, de obicei, limbajele procedurale tratează bazele de date înregistrare cu înregistrare, în timp ce limbajele neprocedurale operează asupra unor seturi de 11

11 înregistrări. În consecinţă, limbajele procedurale specifică cum se va obţine rezultatul unei instrucţiuni LMD, iar cele neprocedurale descriu numai ce date vor fi obţinute. Cel mai obişnuit tip de limbaj neprocedural este limbajul structurat de interogare (SQL - pronunţat Es-Q-L sau, uneori, Sii-Quel ), care reprezintă acum atât limbajul standard, cât şi cel de facto pentru sistemele SGBD relaţionale. 3. oferă accesul controlat la baza de date. De exemplu, poate furniza: un sistem de securitate, care previne accesarea bazei de date de către utilizatori neautorizaţi; un sistem de integritate, care menţine concordanţa datelor stocate; un sistem de control al concurenţei, care permite accesul partajat la baza de date; un sistem de control al refacerii, care restaurează baza de date într-o stare precedentă concordantă, ca urmare a unei defecţiuni la nivel hardware sau software; un catalog accesibil utilizatorilor, care conţine descrieri ale datelor din baza de date. Datorită funcţionalităţilor pe care le oferă, SGBD-urile constituie instrumente extrem de utile. Totuşi, deoarece pe utilizatori nu-i interesează cât de complexă sau de uşoară este pentru sistem o anumită sarcină, s-ar putea argumenta că sistemul SGBD a făcut ca lucrurile să devină mai complexe, deoarece acum se pot vedea mai multe date decât este cu adevărat necesar sau decât se doreşte. Ca o recunoaştere a acestei probleme, sistemul SGBD prezintă o altă facilitate, cunoscută sub denumirea de mecanism de vizualizare, care permite fiecărui utilizator să-şi definească propriul mod de vizualizare a bazei de date. Limbajul LDD permite definirea de moduri de vizualizare, în care acestea reprezintă un subset al bazei de date. 4. oferă un anumit nivel de securitate. Modurile de vizualizare pot fi realizate astfel încât să nu includă datele ce nu trebuie cunoscute de anumiţi utilizatori. De exemplu, s-ar putea crea un mod de vizualizare care să permită unui administrator de filială şi departamentului Contabilitate să afişeze toate datele referitoare la personalul unei instituţii, inclusiv detaliile despre salariu. Pe lângă acesta, s-ar putea crea un al doilea mod de vizualizare, care să excludă detaliile despre salariu, ce va fi utilizat de către ceilalţi angajaţi; 5. pot prezenta o imagine coerentă, neschimbată a structurii bazei de date, chiar dacă aceasta este modificată (de exemplu, s-ar putea adăuga sau elimina câmpuri, s-ar putea modifica relaţiile, diviza, restructura sau redenumi anumite fişiere). Dacă sunt adăugate sau eliminate câmpuri dintr-un fişier, iar acestea nu sunt cerute de către modul de vizualizare, el nu este afectat de către modificarea realizată. Prin urmare, modul de vizualizare contribuie la asigurarea independenţei program-date. Componentele unui SGBD Principalele componente ale unui SGBD sunt [Georgescu, Georgescu, 2005, p.75-81]: motorul SGBD este componenta care asigură interfaţa dintre subsistemul de proiectare şi cel de execuţie pe de o parte, şi datele bazei de date pe de altă parte şi are rolul de a asigura accesul fizic la datele bazei de date. Toate acţiunile motorului SGBD sunt realizate unitar şi respectă restricţiile impuse de legăturile dintre date, dar şi de regulile de integritate ale bazei de date definite în dicţionarul de date. Principalele responsabilităţi ale motorului SGBD sunt: 12 realizează gestionarea tranzacţiilor la nivelul unei baze de date;

12 permite regăsirea datelor pe baza informaţiilor de adresare din fişierele de index; salvarea şi restaurarea datelor; blocarea şi deblocarea datelor în cazul operaţiilor fizice la nivelul memoriei externe; subsistemul instrumentelor de proiectare dispune de un set de instrumente software care permit proiectarea şi generarea bazei de date şi a aplicaţiilor care descriu modul de utilizare a bazei de date. Această componentă permite definirea: structurii tabelelor din baza de date; machetelor de interfaţă cu utilizatorul; a formatului rapoartelor şi cererilor de interogare a bazei de date. Subsistemul instrumentelor de proiectare poate include: limbaje de descriere a datelor (LDD) 4 ; limbaje de manevrare a datelor; limbaje de interogare a datelor din baza de date; editoare de cod; generatoare de cod care să permită definirea interfeţei cu utilizatorul, a rapoartelor, meniurilor, etc.; un sistem de asistenţă on-line pentru autodocumentarea utilizatorului. subsistemul de execuţie permite execuţia aplicaţiilor sau cererilor de consultare a bazei de date, formulate prin utilizarea instrumentelor subsistemului de proiectare, prin consultarea dicţionarului de date şi generarea tranzacţiilor. Aceasta este componenta care garantează autonomia logică a datelor în baza de date şi are rolul de a intermedia operaţiile cu baza de date prin consultarea descrierii organizării logice a datelor memorate în structura bazei de date. Practic, fiecare operaţie de actualizare sau consultare a bazei de date se realizează prin identificarea formatelor de descriere a datelor din dicţionarul de date şi conectarea acestor descrieri din schema internă a bazei de date Funcţiile SGBD-ului În [Velicanu et al., 2003, p ] se arată că îndeplinirea tuturor obiectivelor unui SGBD se realizează prin intermediul unor componente care permit efectuarea unor operaţii specifice. În funcţie de natura lor, dar şi de scopul urmărit, operaţiile pot fi grupate pe activităţi. Activităţile acceptă şi ele o grupare pe funcţii astfel încât, una sau mai multe activităţi, relativ omogene, vor realiza o funcţie anume. Ţinând cont de complexitatea unui SGBD, de facilităţile pe care le pune la dispoziţie, de limbajele utilizate, precum şi de modul de implementare al modelului de date, gruparea activităţilor pe funcţii are un anumit caracter relativ. Plecând de la modelul de date pe care îl implementează, SGBD-urile se caracterizează printr-un număr de particularităţi identificate prin operaţii şi activităţi specifice. În pofida acestor particularităţi, există câteva funcţii general valabile pentru toate tipurile de SGBD; acestea sunt funcţii importante, pe care un sistem software, dacă nu le are în totalitate, nu poate fi considerat SGBD. Astfel, principalele funcţii pe care le putem atribui unui SGBD sunt: descrierea datelor, manipularea datelor, utilizarea şi administrarea bazei de date. 4 Un limbaj de descrierea a datelor permite descrierea componenţei bazei de date, a structurii acesteia, a relaţiilor dintre componentele ei, precum şi a tuturor drepturilor de acces ale utilizatorilor la baza de date. 13

13 Descrierea datelor Prin intermediul funcţiei de descriere a datelor, fiecare SGBD permite definirea unei structuri a bazei de date cu ajutorul limbajului de definire a datelor (LDD). Definirea datelor poate fi realizată la nivel conceptual, logic şi fizic. Se descriu atributele din cadrul structurii bazei de date, legăturile dintre entităţile acesteia sau dintre atributele aceleiaşi entităţi, se definesc criteriile de validare a datelor (dacă este cazul), metodele care asigură accesarea datelor, precum şi aspectele care se referă la asigurarea integrităţii datelor. Concretizarea acestei funcţii este schema bazei de date, memorată în cod intern. Memorarea se face întrun fişier, ceea ce permite afişarea şi actualizarea structurii bazei de date, în orice moment de timp. Această funcţie a fost mult automatizată în timp, limbajul de descriere a datelor beneficiind în prezent de puţine comenzi. Acest limbaj este specific fiecărui SGBD, dar el mereu realizează descrierea lor conform elementelor modelului de date pe care îl implementează SGBD-ul respectiv. Astfel se realizează definirea şi descrierea entităţilor şi a caracteristicilor lor, definirea legăturilor dintre obiectele identificate (asocierile) şi a regulilor de integritate specifice modelului de date. Manipularea datelor Funcţia de manipulare a datelor este cea mai complexă şi realizează actualizarea şi regăsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor 5. Manipularea datelor este cea mai folosită funcţie în bazele de date, fiind cea mai bine suportată de sistemul de gestiune a bazelor de date faţă de oricare alt sistem de gestionare a datelor din memoria externă. Practic, un SGBD manipulează datele într-o manieră eficientă, folosind în acest scop diferite tehnici şi metode de optimizare a accesului şi a alocării spaţiului din memoria calculatorului. Menţionam în paragraful anterior că limbajul de manipulare a datelor este cel care asigură realizarea acestei funcţii. În ceea ce-l priveşte, acest limbaj trebuie să respecte restricţiile de integritate a datelor şi să implementeze operatorii din modelul de date pe care se bazează SGBD-ul căruia îi aparţine. Această funcţie presupune derularea următoarelor activităţi: încărcarea datelor în baza de date - se realizează prin operaţii automatizate sau programate ce asigură şi criteriile de validare necesare; actualizarea bazei de date se referă la operaţiile de adăugare, modificare şi ştergere de înregistrări. La operaţiile de adăugare şi de modificare se păstrează aceleaşi criterii de validare care s-au folosit şi la activitatea de încărcare a datelor. Actualizarea se realizează numai autorizat, prin asigurarea unei protecţii corespunzătoare a datelor, pentru a se păstra coerenţa bazei de date. prelucrarea datelor presupune realizarea operaţiilor de selecţie, ordonare, etc. efectuate asupra entităţilor bazei de date. Acestea sunt, de obicei, operaţii pregătitoare activităţii de regăsire a datelor. Multe din operaţiile de prelucrare sunt realizate cu ajutorul operatorilor din modelul de date pe care îl implementează SGBD-ul. regăsirea (interogarea) datelor presupune realizarea operaţiilor de vizualizare (afişare pe ecran, imprimare pe hârtie), răsfoire, editarea unor documente de ieşire (rapoarte). Documentele de ieşire pot fi intermediare sau finale şi se pot obţine pe diferiţi suporţi tehnici de informaţie (ecran, hârtie, mediu magnetic, mediu optic). Ele pot avea cele mai 5 În literatură întâlnim frecvent şi Limbaj de Manevrare a Datelor 14

14 diferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video, etc) şi se pot obţine după cele mai diferite criterii de regăsire. Funcţia de utilizare Această funcţie are rolul de a asigura interfeţele necesare care să permită comunicarea utilizatorilor cu baza de date (cu alte cuvinte, să asigure legătura dintre utilizator şi baza de date). Pentru realizarea acestei funcţii, SGBD-ul trebuie să ofere facilităţi pentru mai multe categorii de utilizatori ai bazei de date, şi anume: neinformaticieni, specialişti (informaticieni) şi administratorul. Utilizatorii neinformaticieni reprezintă principala categorie a beneficiarilor de informaţii (utilizatori finali şi intensivi) din baza de date. SGBD-ul le oferă acestora limbaje neprocedurale, dar şi alte facilităţi de interogare (generatoare, utilitare, etc.) a bazei de date într-o formă simplă şi interactivă. Aceşti utilizatori nu trebuie să cunoască structura bazei de date şi nu trebuie să ştie să programeze, SGBD-ul sprijinindu-i în manieră interactivă în utilizarea bazei de date. În acest sens SGBD-ul oferă: meniuri cu opţiuni sugestive; ferestre de lucru; şabloane pentru diferite forme; asistenţi tip Wizard; autodocumentarea (help-uri, mesaje/ferestre explicative). Spre deosebire de utilizatorii neinformaticieni, cei specialişti în informatică sunt în măsură să creeze structura bazei de date şi să realizeze proceduri complexe de exploatare a acesteia. SGBD-ul oferă acestor utilizatori limbajul de descriere şi limbajul de manipulare a datelor precum şi interfeţe cu limbaje universale. Acestea sunt de complexitate şi putere diferită, de la un SGBD la altul, oferind atât elemente neprocedurale cât şi procedurale specialistului în informatică. Cu aceste elemente el poate să descrie schema bazei de date şi să asigure manipularea complexă a datelor. Administrarea bazei de date Funcţia de administrare este una destul de complexă şi din acest motiv se consideră că este doar de competenţa administratorului bazei de date. Administratorul, care are o bogată experienţă de analiză, proiectare şi programare, organizează şi administrează baza de date în toate etapele de realizare a acesteia. Astfel, el organizează baza de date conform unei anumite metodologii, realizează schema conceptuală a acesteia şi coordonează proiectarea ei. Pentru toate aceste aspecte, SGBD-ul oferă o serie de instrumente CASE, precum şi o serie de utilitare specializate. În etapa de exploatare a bazei de date, administratorul îndeplineşte mai multe roluri: de a autoriza accesul la date (crează conturi de acces, parole, etc.); de a reface baza de date în caz de incidente (prin jurnalizare, copii de siguranţă); de a utiliza eficient spaţiul de memorie internă şi externă (prin organizare, rutine de optimizare); de a realiza o serie de analize statistice din baza de date (număr şi tip de utilizatori, număr de accese, număr de actualizări, etc.). Pentru fiecare din activităţile menţionate mai sus, SGBD-ul oferă instrumente şi tehnici de lucru. 15

15 Abordarea relaţională a bazelor de date Înainte de a prezenta principalele aspecte care caracterizează modelul relaţional, considerăm că este oportună definirea conceptului de bază de date relaţională. După o îndelungă analiză şi sinteză a definiţiilor formulate de cercetătorii consacraţi ai domeniului, dar şi profesori de seama care au analizat această paradigmă, putem afirma pe scurt că o bază de date relaţională reprezintă colecţii organizate de date şi corelate din punct de vedere logic. La o simplă analiză a definiţiei, observăm că ea impune două direcţii de studiu: 1. colecţii organizate de date; 2. colecţii corelate logic. În acest context, pe parcursul capitolului, plecând de la prezentarea aspectelor fundamentale care caracterizează modelul relaţional al bazelor de date, vom argumenta definiţia prezentată anterior şi implicit cele două direcţii de studiu. Atunci când luăm în discuţie abordarea relaţională a bazelor de date, vom analiza în principal trei direcţii: structura datelor are în vedere definirea domeniilor şi a relaţiilor corespunzătoare acestor domenii; integritatea datelor se referă la definirea restricţiilor de integritate care au rolul de a proteja datele bazei de date; lipsa unor restricţii de integritate ar putea avea ca efect alterarea conţinutului bazei de date şi obţinerea unor rezultate eronate; prelucrarea datelor se realizează prin intermediul operaţiilor specifice algebrei relaţionale sau calculului relaţional. După cum sugerează şi numele, modelul relaţional se bazează pe noţiunea de relaţie care este definită din punct de vedere matematic ca o submulţime a produsului cartezian a unei liste (finite) de mulţimi, numite domenii. Fiecare element al unei relaţii poartă numele de tuplu, iar numărul de domenii se numeşte aritate. Într-o relaţie, fiecare domeniu se identifică printr-un nume, numit atribut, iar mulţimea numelor atributelor unei relaţii formează schema acesteia. Fie relaţia din exemplul 4.1: Exemplul 4.1. Student (cnp, nr_matr, nume, pren, facult, spec) Astfel, în exemplul anterior am definit relaţia Student care include atributele: cnp definit pe domeniul cod numeric personal; nr_matr definit pe domeniul număr_matricol; nume definit pe domeniul nume; pren definit pe domeniul prenume; facult defint pe domeniul facultate; spec definit pe domeniul specializare; De asemenea, formulând altfel, putem spune că în exemplul 4.1 am definit relaţia Student cu schema dată de atributele cnp, nr_matr, nume, pren, facult, spec. În exemplul 4.2 sunt prezentate trei tupluri pentru relaţia Student defintă în exemplul 4.1. Exemplul Student ( cnp nr_matr nume pren facult spec )

16 Popa Dan FSE IE Darie Alina FD AP Mihnea Ion FSE FB În ceea ce priveşte o relaţie, ordinea de apariţie a atributelor este absolut nesemnificativă şi acelaşi lucru îl putem spune şi despre tupluri. Aşa cum se observă, un tuplu se obţine prin atribuirea de valori atributelor relaţiei. În ceea ce priveşte tuplurile unei relaţii (care se mai numesc şi realizări) trebuie spus că nu pot exista două sau mai multe tupluri identice. Altfel spus, toate tuplurile unei relaţii trebuie să difere cel puţin prin valoarea unui atribut: cheia. Cheia reprezintă un atribut (sau un grup de atribute) care are rolul de a identifica în mod unic fiecare tuplu al unei relaţii, astfel încât nu pot exista două tupluri diferite care să aibă valori identice pe domeniul unei chei. În cadrul abordării relaţionale există patru tipuri de chei care pot fi identificate: candidat; primară; alternantă (în funcţie de sursa citată, întâlnim în litaratură şi termenul de cheie alternativă); străină. Dintre cele patru tipuri de chei, primele trei se analizează la nivelul unei singure relaţii, în timp ce cheia străină apare atunci când asociem două sau mai multe relaţii (este cea care asigură practic legătura logică între diferite relaţii). Atunci când analizăm o relaţie, primul pas pe care îl facem este acela al identificării cheilor candidat. Dintre cheile candidat identificate, se alege una ca fiind cheia primară a relaţiei respective, restul cheilor candidat devenind chei alternante. În general, vom alege ca şi cheie primară, acea cheie candidat care este formată din numărul minim de atribute. În cazul în care am identificat mai multe chei candidat şi fiecare dintre ele au acelaşi număr de atribute, atunci oricare din cheile candidat pot deveni cheie primară, alegerea făcându-se în funcţie de opţiunea şi dorinţa proiectantului. Deşi pot exista mai multe chei candidat, este bine să reţinem că fiecare relaţie are o singură cheie primară, care în anumite situaţii poate fi formată chiar din toate atributele ei. Pentru a exemplifica tipurile de chei, abordate până acum doar la nivel teoretic, vom folosi relaţia din exemplul 4.1. Aşa cum aminteam anterior, iniţial trebuie să identificăm cheile candidat ale relaţiei Student. Cu alte cuvinte, trebuie să identificăm acele atribute sau grupuri de atribute pentru care nu pot exista valori duplicate, indiferent de numărul de tupluri ale relaţiei Student (iniţial se analizează atributele în mod individual şi apoi se fac combinaţii între ele, pentru a identifica în mod clar toate cheile). Vom începe cu atributul nume: în mod cert, acest atribut nu poate fi considerat cheie deoarece oricând pot exista doi studenţi cu acelaşi nume. Acelaşi lucru putem afirma şi despre atributul pren. Totodată, nici atributele facult şi spec nu sunt chei candidat deoarece la o facultate şi la o specializare sunt înscrişi mai mulţi studenţi. În exemplul 4.3 am redat alte tupluri pentru relaţia Student şi în care se poate observa că avem valori duplicate pe domeniile analizate. Exemplul 4.3 Student ( cnp nr_matr nume pren facult spec ) 17

17 Popa Dan FSE IE Darie Dan FD AP Popa Ion FSE IE În continuare ne vom opri asupra celor două atribute rămase, şi anume cnp şi nr_matr. Cu siguranţă, că la întrebarea Sunt atributele cnp şi nr_matr chei candidat? am primi un singur răspuns: DA. Aşa să fie oare? Nu este aşa. Iar argumentul este dat de exemplul 4.4. Exemplul 4.4 Student ( cnp nr_matr nume pren facult spec ) Popa Dan FSE IE Darie Dan FD AP Darie Dan FSE FB Aşa cum observăm, pe domeniul aferent atributului cnp, avem două valori identice: este situaţia în care o persoană este studentă la două facultăţi diferite (şi nu este singura situaţie posibilă). Deci, nici atributul cnp nu poate fi cheie candidat. De ce am ajuns să facem o astfel de greşeală şi să considerăm că cnp poate fi cheie? Probabil că ne-am gândit la faptul că nu pot existat două persoane cu acelaşi CNP. Este adevărat: nu există două persoane cu acelaşi CNP, însă schema relaţiei Student nu conţine doar atribute despre o persoană, ceea ce înseamnă că trebuia să ne gândim dacă pentru un anume CNP putem identifica cel puţin o valoare a unui alt atribut care să se modifice faţă de tuplul de la care am plecat. În ceea ce priveşte atributul nr_matr, putem spune că el este cheie candidat. Cum arătăm asta? Să plecăm de la situaţie din exemplul 4.5. Exemplul 4.5 Student ( Cnp nr_matr nume pren facult spec ) Popa Dan FSE IE? 1234???? Astfel, considerăm că avem un tuplu care reprezintă un student cu numărul matricol 1234, care este la facultatea FSE, specializarea IE. Dacă vom putea înlocui semnul întrebării aferent unui atribut cu o valoare diferită de cea aflată pe celălalt tuplu (evident, pentru acelaşi atribut), atunci cele două tupluri diferă, ceea ce înseamnă că putem avea valori duplicate pe domeniul respectiv de valori. În mod cert, un student cu o anumită matricolă (în cazul nostru 1234) nu poate avea alt cod numeric personal, alt nume sau alt prenume. De asemenea, un student nu poate fi la două specializări diferite (în aceeaşi facultate sau în facultăţi diferite) având aceeaşi matricolă. Asta înseamnă că dacă pe tuplul doi am avea 1234 ca matricolă, atunci toate celelalte valori ar fi identice cu cele de la primul tuplu, situaţie care ar face ca cele două tupluri să fie identice şi aşa cum aminteam în prima parte, o astfel de situaţie nu este permisă (acest aspect este reprezentat în exemplul 4.6). Deci, atributul nr_matr este cheie candidat a relaţiei Student. Exemplul 4.6 Student ( cnp nr_matr nume pren facult spec ) Popa Dan FSE IE Popa Dan FSE IE Odată identificată o cheie candidat, procesul nu este finalizat. În continuare va trebui să căutăm şi diferite combinaţii de atribute care ar putea fi cheie. Singurul lucru clar este 18

18 acela că atributul nr_matr nu poate face parte din nici o cheie compusă (cheia trebuie să fie formată din numărul minim de atribute care identifică în mod unic tuplurile unei relaţii). Dacă vom avea în vedere algoritmul descris anterior, vom mai identifica o cheie candidat: cnp+facult+spec. De ce toate trei? Dacă ne-am gândi la atributele cnp+facult am vedea că un student într-o facultate, poate fi la mai multe specializări (spre exemplu, la forme diferite de învăţământ) în timp ce pentru combinaţia de atribute cnp+spec ar putea apare valori duplicate în cazul în care mai multe facultăţi ar avea o aceeaşi specializare. Însă, în situaţia în care le analizăm pe toate trei am ajunge la concluzia că o persoană nu poate face aceeaşi specializare de două ori într-o facultate 6. Sintetizând, pentru relaţia Student am identificat două chei candidat: nr_matr; cnp+facult+spec. Dintre cele două chei candidat, vom alege cheia primară ca fiind nr_matr deoarece are mai puţine atribute decât cealaltă cheie, ceea ce înseamnă că, în final vom avea: chei candidat: nr_matr, cnp+facult+spec; cheie primară: nr_matr; cheie alternantă: cnp+facult+spec. Astfel, în final, relaţia noastră ar arăta astfel: Exemplul 4.7. Student (cnp, nr_matr, nume, pren, facult, spec) Aşa cum observăm, atributul/atributele care formează cheia primară a relaţiei vor apare subliniate. În mod normal, relaţia de mai sus este una nenormalizată şi este evident că ea introduce redundanţă. Astfel, ar fi mai simplu dacă datele referitoare la facultăţi, respectiv specializări, le-am gestiona separat, în relaţii de sine stătătoare. În acest caz, redundanţa ar fi în mare măsură înlăturată, iar procesul de identificare a cheilor ar fi mult simplificat. Astfel, în exemplul 4.8 vom descompune relaţia în alte trei relaţii: Exemplul 4.8 Student (cnp, nr_matr, nume, pren) Facultate (facult, profil) Specializare (spec, formă_înv) În relaţia Facultate, atributul facult este cheie primară deoarece considerăm că nu pot exista două facultăţi cu acelaşi nume în cadrul unei universităţi. De asemenea, atributele spec şi formă_înv formează cheia primară în relaţia Specializare numai luate împreună deoarece o anumită specializare poate apare la diferite forme de învăţământ (spre exemplu, specializarea Contabilitate şi Informatică de Gestiune are studenţi şi la forma de învăţământ Zi, şi la Ifr). 6 Mecanismul de identificare corectă şi completă a cheilor unei relaţii se va realiza numai după parcurgerea şi înţelegerea procesului de normalizare a unei baze de date relaţionale. 19

Metode iterative pentru probleme neliniare - contractii

Metode iterative pentru probleme neliniare - contractii Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii

Διαβάστε περισσότερα

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele

Διαβάστε περισσότερα

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a. Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă

Διαβάστε περισσότερα

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ

Διαβάστε περισσότερα

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică Gh. Asachi Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia

Διαβάστε περισσότερα

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE. 5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este

Διαβάστε περισσότερα

5.4. MULTIPLEXOARE A 0 A 1 A 2

5.4. MULTIPLEXOARE A 0 A 1 A 2 5.4. MULTIPLEXOARE Multiplexoarele (MUX) sunt circuite logice combinaţionale cu m intrări şi o singură ieşire, care permit transferul datelor de la una din intrări spre ieşirea unică. Selecţia intrării

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1 Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui

Διαβάστε περισσότερα

riptografie şi Securitate

riptografie şi Securitate riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare

Διαβάστε περισσότερα

Curs 4 Serii de numere reale

Curs 4 Serii de numere reale Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element

Διαβάστε περισσότερα

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:

Διαβάστε περισσότερα

Curs 1 Şiruri de numere reale

Curs 1 Şiruri de numere reale Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,

Διαβάστε περισσότερα

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,

Διαβάστε περισσότερα

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă. III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar

Διαβάστε περισσότερα

4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica

Διαβάστε περισσότερα

Criptosisteme cu cheie publică III

Criptosisteme cu cheie publică III Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.

Διαβάστε περισσότερα

Metode de interpolare bazate pe diferenţe divizate

Metode de interpolare bazate pe diferenţe divizate Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare

Διαβάστε περισσότερα

Asupra unei inegalităţi date la barajul OBMJ 2006

Asupra unei inegalităţi date la barajul OBMJ 2006 Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale

Διαβάστε περισσότερα

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,

Διαβάστε περισσότερα

Esalonul Redus pe Linii (ERL). Subspatii.

Esalonul Redus pe Linii (ERL). Subspatii. Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste

Διαβάστε περισσότερα

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare 1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe

Διαβάστε περισσότερα

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.

Διαβάστε περισσότερα

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0 Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,

Διαβάστε περισσότερα

Seminar 5 Analiza stabilității sistemelor liniare

Seminar 5 Analiza stabilității sistemelor liniare Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare

Διαβάστε περισσότερα

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3 SEMINAR 2 SISTEME DE FRŢE CNCURENTE CUPRINS 2. Sisteme de forţe concurente...1 Cuprins...1 Introducere...1 2.1. Aspecte teoretice...2 2.2. Aplicaţii rezolvate...3 2. Sisteme de forţe concurente În acest

Διαβάστε περισσότερα

Integrala nedefinită (primitive)

Integrala nedefinită (primitive) nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei

Διαβάστε περισσότερα

MARCAREA REZISTOARELOR

MARCAREA REZISTOARELOR 1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea

Διαβάστε περισσότερα

Problema a II - a (10 puncte) Diferite circuite electrice

Problema a II - a (10 puncte) Diferite circuite electrice Olimpiada de Fizică - Etapa pe judeţ 15 ianuarie 211 XI Problema a II - a (1 puncte) Diferite circuite electrice A. Un elev utilizează o sursă de tensiune (1), o cutie cu rezistenţe (2), un întrerupător

Διαβάστε περισσότερα

Sisteme diferenţiale liniare de ordinul 1

Sisteme diferenţiale liniare de ordinul 1 1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2

Διαβάστε περισσότερα

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Aplicaţii ale principiului I al termodinamicii la gazul ideal Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia

Διαβάστε περισσότερα

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER 2. Circuite logice 2.4. Decodoare. Multiplexoare Copyright Paul GASNER Definiţii Un decodor pe n bits are n intrări şi 2 n ieşiri; cele n intrări reprezintă un număr binar care determină în mod unic care

Διαβάστε περισσότερα

1.3 Baza a unui spaţiu vectorial. Dimensiune

1.3 Baza a unui spaţiu vectorial. Dimensiune .3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este

Διαβάστε περισσότερα

prin egalizarea histogramei

prin egalizarea histogramei Lucrarea 4 Îmbunătăţirea imaginilor prin egalizarea histogramei BREVIAR TEORETIC Tehnicile de îmbunătăţire a imaginilor bazate pe calculul histogramei modifică histograma astfel încât aceasta să aibă o

Διαβάστε περισσότερα

10. STABILIZATOAE DE TENSIUNE 10.1 STABILIZATOAE DE TENSIUNE CU TANZISTOAE BIPOLAE Stabilizatorul de tensiune cu tranzistor compară în permanenţă valoare tensiunii de ieşire (stabilizate) cu tensiunea

Διαβάστε περισσότερα

a. 11 % b. 12 % c. 13 % d. 14 %

a. 11 % b. 12 % c. 13 % d. 14 % 1. Un motor termic funcţionează după ciclul termodinamic reprezentat în sistemul de coordonate V-T în figura alăturată. Motorul termic utilizează ca substanţă de lucru un mol de gaz ideal având exponentul

Διαβάστε περισσότερα

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili Anexa 2.6.2-1 SO2, NOx şi de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili de bioxid de sulf combustibil solid (mg/nm 3 ), conţinut de O 2 de 6% în gazele de ardere, pentru

Διαβάστε περισσότερα

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R În cele ce urmează, vom studia unele proprietăţi ale mulţimilor din R. Astfel, vom caracteriza locul" unui punct în cadrul unei mulţimi (în limba

Διαβάστε περισσότερα

Subiecte Clasa a VII-a

Subiecte Clasa a VII-a lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate

Διαβάστε περισσότερα

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:, REZISTENTA MATERIALELOR 1. Ce este modulul de rezistenţă? Exemplificaţi pentru o secţiune dreptunghiulară, respectiv dublu T. RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii

Διαβάστε περισσότερα

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii

Διαβάστε περισσότερα

Modelul entitate-asociere extins prof. dr. ing. Mircea Petrescu

Modelul entitate-asociere extins prof. dr. ing. Mircea Petrescu Modelul entitate-asociere extins prof. dr. ing. Mircea Petrescu Introducere Modelarea conceptuală este procesul în care se elaborează o descriere semantică a unui sistem (de exemplu, o organizaţie, o întreprindere,

Διαβάστε περισσότερα

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite Capitolul 4 Integrale improprii 7-8 În cadrul studiului integrabilităţii iemann a unei funcţii s-au evidenţiat douăcondiţii esenţiale:. funcţia :[ ] este definită peintervalînchis şi mărginit (interval

Διαβάστε περισσότερα

Subiecte Clasa a VIII-a

Subiecte Clasa a VIII-a Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul

Διαβάστε περισσότερα

V O. = v I v stabilizator

V O. = v I v stabilizator Stabilizatoare de tensiune continuă Un stabilizator de tensiune este un circuit electronic care păstrează (aproape) constantă tensiunea de ieșire la variaţia între anumite limite a tensiunii de intrare,

Διαβάστε περισσότερα

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15 MĂSURI RELE Cursul 13 15 Măsuri reale Fie (,, µ) un spaţiu cu măsură completă şi f : R o funcţie -măsurabilă. Cum am văzut în Teorema 11.29, dacă f are integrală pe, atunci funcţia de mulţime ν : R, ν()

Διαβάστε περισσότερα

Εμπορική αλληλογραφία Ηλεκτρονική Αλληλογραφία

Εμπορική αλληλογραφία Ηλεκτρονική Αλληλογραφία - Εισαγωγή Stimate Domnule Preşedinte, Stimate Domnule Preşedinte, Εξαιρετικά επίσημη επιστολή, ο παραλήπτης έχει ένα ειδικό τίτλο ο οποίος πρέπει να χρησιμοποιηθεί αντί του ονόματος του Stimate Domnule,

Διαβάστε περισσότερα

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE 5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.

Διαβάστε περισσότερα

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă Coordonatori DANA HEUBERGER NICOLAE MUŞUROIA Nicolae Muşuroia Gheorghe Boroica Vasile Pop Dana Heuberger Florin Bojor MATEMATICĂ DE EXCELENŢĂ pentru concursuri, olimpiade şi centre de excelenţă Clasa a

Διαβάστε περισσότερα

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB 1.7. AMLFCATOARE DE UTERE ÎN CLASA A Ş AB 1.7.1 Amplificatoare în clasa A La amplificatoarele din clasa A, forma de undă a tensiunii de ieşire este aceeaşi ca a tensiunii de intrare, deci întreg semnalul

Διαβάστε περισσότερα

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005. SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care

Διαβάστε περισσότερα

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1 2. Circuite logice 2.2. Diagrame Karnaugh Copyright Paul GASNER Diagrame Karnaugh Tehnică de simplificare a unei expresii în sumă minimă de produse (minimal sum of products MSP): Există un număr minim

Διαβάστε περισσότερα

CIRCUITE LOGICE CU TB

CIRCUITE LOGICE CU TB CIRCUITE LOGICE CU T I. OIECTIVE a) Determinarea experimentală a unor funcţii logice pentru circuite din familiile RTL, DTL. b) Determinarea dependenţei caracteristicilor statice de transfer în tensiune

Διαβάστε περισσότερα

Examen AG. Student:... Grupa:... ianuarie 2011

Examen AG. Student:... Grupa:... ianuarie 2011 Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)

Διαβάστε περισσότερα

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2 .1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,

Διαβάστε περισσότερα

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă Noţiunea de spaţiu liniar 1 Noţiunea de spaţiu liniar Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară 2 Mulţime infinită liniar independentă 3 Schimbarea coordonatelor unui vector la o schimbare

Διαβάστε περισσότερα

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................

Διαβάστε περισσότερα

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Functii Breviar teoretic 8 ianuarie ianuarie 2011 Functii Breviar teoretic 8 ianuarie 011 15 ianuarie 011 I Fie I, interval si f : I 1) a) functia f este (strict) crescatoare pe I daca x, y I, x< y ( f( x) < f( y)), f( x) f( y) b) functia f este (strict)

Διαβάστε περισσότερα

Curs 2 Şiruri de numere reale

Curs 2 Şiruri de numere reale Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un

Διαβάστε περισσότερα

SGBD Access Utilizează modelul relaţional în gestiunea bazelor de date Aplicaţia ACCESS conţine un ansamblu de colecţii de obiecte tip

SGBD Access Utilizează modelul relaţional în gestiunea bazelor de date Aplicaţia ACCESS conţine un ansamblu de colecţii de obiecte tip SGBD Access 2013 Utilizează modelul relaţional în gestiunea bazelor de date Aplicaţia ACCESS conţine un ansamblu de colecţii de obiecte tip Tabel (Table) Interogare (Query) Formular (Form) Raport (Report)

Διαβάστε περισσότερα

Laborator 11. Mulţimi Julia. Temă

Laborator 11. Mulţimi Julia. Temă Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.

Διαβάστε περισσότερα

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)). Teoremă. (Y = f(x)). Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism Demonstraţie. f este continuă pe X: x 0 X, S Y (f(x 0 ), ε), S X (x 0, ε) aşa ca f(s X (x 0, ε)) = S Y (f(x 0 ), ε) : y

Διαβάστε περισσότερα

z a + c 0 + c 1 (z a)

z a + c 0 + c 1 (z a) 1 Serii Laurent (continuare) Teorema 1.1 Fie D C un domeniu, a D şi f : D \ {a} C o funcţie olomorfă. Punctul a este pol multiplu de ordin p al lui f dacă şi numai dacă dezvoltarea în serie Laurent a funcţiei

Διαβάστε περισσότερα

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4 SEMINAR 3 MMENTUL FRŢEI ÎN RAPRT CU UN PUNCT CUPRINS 3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere...1 3.1. Aspecte teoretice...2 3.2. Aplicaţii rezolvate...4 3. Momentul forţei

Διαβάστε περισσότερα

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale. 5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța

Διαβάστε περισσότερα

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36]. Componente şi circuite pasive Fig.3.85. Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36]. Fig.3.86. Rezistenţa serie echivalentă pierderilor în funcţie

Διαβάστε περισσότερα

Codificatorul SN74148 este un codificator zecimal-bcd de trei biţi (fig ). Figura Codificatorul integrat SN74148

Codificatorul SN74148 este un codificator zecimal-bcd de trei biţi (fig ). Figura Codificatorul integrat SN74148 5.2. CODIFICATOAE Codificatoarele (CD) sunt circuite logice combinaţionale cu n intrări şi m ieşiri care furnizează la ieşire un cod de m biţi atunci când numai una din cele n intrări este activă. De regulă

Διαβάστε περισσότερα

a. Caracteristicile mecanice a motorului de c.c. cu excitaţie independentă (sau derivaţie)

a. Caracteristicile mecanice a motorului de c.c. cu excitaţie independentă (sau derivaţie) Caracteristica mecanică defineşte dependenţa n=f(m) în condiţiile I e =ct., U=ct. Pentru determinarea ei vom defini, mai întâi caracteristicile: 1. de sarcină, numită şi caracteristica externă a motorului

Διαβάστε περισσότερα

Capitolul 14. Asamblari prin pene

Capitolul 14. Asamblari prin pene Capitolul 14 Asamblari prin pene T.14.1. Momentul de torsiune este transmis de la arbore la butuc prin intermediul unei pene paralele (figura 14.1). De care din cotele indicate depinde tensiunea superficiala

Διαβάστε περισσότερα

O generalizare a unei probleme de algebră dată la Olimpiada de Matematică, faza judeţeană, 2013

O generalizare a unei probleme de algebră dată la Olimpiada de Matematică, faza judeţeană, 2013 O generalizare a unei probleme de algebră dată la Olimpiada de Matematică, faza judeţeană, 2013 Marius Tărnăuceanu 1 Aprilie 2013 Abstract În această lucrare vom prezenta un rezultat ce extinde Problema

Διαβάστε περισσότερα

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice 4. Măsurarea tensiunilor şi a curenţilor electrici oltmetre electronice analogice oltmetre de curent continuu Ampl.c.c. x FTJ Protectie Atenuator calibrat Atenuatorul calibrat divizor rezistiv R in const.

Διαβάστε περισσότερα

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice 1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă

Διαβάστε περισσότερα

5.1. Noţiuni introductive

5.1. Noţiuni introductive ursul 13 aitolul 5. Soluţii 5.1. oţiuni introductive Soluţiile = aestecuri oogene de două sau ai ulte substanţe / coonente, ale căror articule nu se ot seara rin filtrare sau centrifugare. oonente: - Mediul

Διαβάστε περισσότερα

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este

Διαβάστε περισσότερα

Lab06: Extragerea trăsăturilor şi selecţia trăsăturilor. Aplicaţie pentru recunoaşterea obiectelor bazată pe formă.

Lab06: Extragerea trăsăturilor şi selecţia trăsăturilor. Aplicaţie pentru recunoaşterea obiectelor bazată pe formă. Lab06: Extragerea trăsăturilor şi selecţia trăsăturilor Aplicaţie pentru recunoaşterea obiectelor bazată pe formă. Aplicație practică a extragerii şi selecţiei trăsăturilor Recunoaşterea celor 4 forme

Διαβάστε περισσότερα

Modelul relaţional / Dependenţe

Modelul relaţional / Dependenţe October 30, 2017 Elemente ale modelului relaţional U mulţime de atribute: U = {A 1, A 2,..., A n }; dom(a i ) - domeniul valorilor atributului A i ; Definim uplu peste U ca fiind funcţia: ϕ : U dom(a i

Διαβάστε περισσότερα

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate... SEMINAR GRINZI CU ZĂBRELE METODA IZOLĂRII NODURILOR CUPRINS. Grinzi cu zăbrele Metoda izolării nodurilor... Cuprins... Introducere..... Aspecte teoretice..... Aplicaţii rezolvate.... Grinzi cu zăbrele

Διαβάστε περισσότερα

Laborator 6. Integrarea ecuaţiilor diferenţiale

Laborator 6. Integrarea ecuaţiilor diferenţiale Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul

Διαβάστε περισσότερα

Ακαδημαϊκός Λόγος Κύριο Μέρος

Ακαδημαϊκός Λόγος Κύριο Μέρος - Επίδειξη Συμφωνίας În linii mari sunt de acord cu...deoarece... Επίδειξη γενικής συμφωνίας με άποψη άλλου Cineva este de acord cu...deoarece... Επίδειξη γενικής συμφωνίας με άποψη άλλου D'une façon générale,

Διαβάστε περισσότερα

Stabilizator cu diodă Zener

Stabilizator cu diodă Zener LABAT 3 Stabilizator cu diodă Zener Se studiază stabilizatorul parametric cu diodă Zener si apoi cel cu diodă Zener şi tranzistor. Se determină întâi tensiunea Zener a diodei şi se calculează apoi un stabilizator

Διαβάστε περισσότερα

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1 Aparate de măsurat Măsurări electronice Rezumatul cursului 2 MEE - prof. dr. ing. Ioan D. Oltean 1 1. Aparate cu instrument magnetoelectric 2. Ampermetre şi voltmetre 3. Ohmetre cu instrument magnetoelectric

Διαβάστε περισσότερα

Al cincilea baraj de selecţie pentru OBMJ Bucureşti, 28 mai 2015

Al cincilea baraj de selecţie pentru OBMJ Bucureşti, 28 mai 2015 Societatea de Ştiinţe Matematice din România Ministerul Educaţiei Naţionale Al cincilea baraj de selecţie pentru OBMJ Bucureşti, 28 mai 2015 Problema 1. Arătaţi că numărul 1 se poate reprezenta ca suma

Διαβάστε περισσότερα

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1) Ecuatii exponentiale Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. Cea mai simpla ecuatie exponentiala este de forma a x = b, () unde a >, a. Afirmatia.

Διαβάστε περισσότερα

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1 FNCȚ DE ENERGE Fie un n-port care conține numai elemente paive de circuit: rezitoare dipolare, condenatoare dipolare și bobine cuplate. Conform teoremei lui Tellegen n * = * toate toate laturile portile

Διαβάστε περισσότερα

Lucrarea Nr. 5 Circuite simple cu diode (Aplicaţii)

Lucrarea Nr. 5 Circuite simple cu diode (Aplicaţii) ucrarea Nr. 5 Circuite simple cu diode (Aplicaţii) A.Scopul lucrării - Verificarea experimentală a rezultatelor obţinute prin analiza circuitelor cu diode modelate liniar pe porţiuni ;.Scurt breviar teoretic

Διαβάστε περισσότερα

Examen AG. Student:... Grupa: ianuarie 2016

Examen AG. Student:... Grupa: ianuarie 2016 16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex

Διαβάστε περισσότερα

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi Lect. dr. Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Algebră, Semestrul I, Lector dr. Lucian MATICIUC http://math.etti.tuiasi.ro/maticiuc/ CURS XI XII SINTEZĂ 1 Algebra vectorială

Διαβάστε περισσότερα

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă. Sala: 2103 Decembrie 2014 Conf. univ. dr.: Dragoş-Pătru Covei CURS 11: ALGEBRĂ Specializarea: C.E., I.E., S.P.E. Nota: Acest curs nu a fost supus unui proces riguros de recenzare pentru a fi oficial publicat.

Διαβάστε περισσότερα

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4 FLUXURI MAXIME ÎN REŢELE DE TRANSPORT Se numeşte reţea de transport un graf în care fiecărui arc îi este asociat capacitatea arcului şi în care eistă un singur punct de intrare şi un singur punct de ieşire.

Διαβάστε περισσότερα

Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui

Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui - Introducere Αξιότιμε κύριε Πρόεδρε, Αξιότιμε κύριε Πρόεδρε, Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui Αγαπητέ κύριε, Αγαπητέ κύριε, Formal, destinatar de sex

Διαβάστε περισσότερα

Ecuatii trigonometrice

Ecuatii trigonometrice Ecuatii trigonometrice Ecuatiile ce contin necunoscute sub semnul functiilor trigonometrice se numesc ecuatii trigonometrice. Cele mai simple ecuatii trigonometrice sunt ecuatiile de tipul sin x = a, cos

Διαβάστε περισσότερα

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b. Lucrare Soluţii 28 aprilie 2015 Varianta 1 I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2 Definiţie. Numărul întreg p se numeşte număr prim dacă p 0,

Διαβάστε περισσότερα

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective: TEMA 9: FUNCȚII DE MAI MULTE VARIABILE 77 TEMA 9: FUNCȚII DE MAI MULTE VARIABILE Obiective: Deiirea pricipalelor proprietăţi matematice ale ucţiilor de mai multe variabile Aalia ucţiilor de utilitate şi

Διαβάστε περισσότερα

3.4. Minimizarea funcţiilor booleene

3.4. Minimizarea funcţiilor booleene 56 3.4. Minimizarea funcţiilor booleene Minimizarea constă în obţinerea formei celei mai simple de exprimare a funcţiilor booleene în scopul reducerii numărului de circuite şi a numărului de intrări ale

Διαβάστε περισσότερα

LUCRAREA NR. 1 STUDIUL SURSELOR DE CURENT

LUCRAREA NR. 1 STUDIUL SURSELOR DE CURENT LUCAEA N STUDUL SUSELO DE CUENT Scopul lucrării În această lucrare se studiază prin simulare o serie de surse de curent utilizate în cadrul circuitelor integrate analogice: sursa de curent standard, sursa

Διαβάστε περισσότερα

Statisticǎ - curs 3. 1 Seria de distribuţie a statisticilor de eşantioane 2. 2 Teorema limitǎ centralǎ 5. 3 O aplicaţie a teoremei limitǎ centralǎ 7

Statisticǎ - curs 3. 1 Seria de distribuţie a statisticilor de eşantioane 2. 2 Teorema limitǎ centralǎ 5. 3 O aplicaţie a teoremei limitǎ centralǎ 7 Statisticǎ - curs 3 Cuprins 1 Seria de distribuţie a statisticilor de eşantioane 2 2 Teorema limitǎ centralǎ 5 3 O aplicaţie a teoremei limitǎ centralǎ 7 4 Estimarea punctualǎ a unui parametru; intervalul

Διαβάστε περισσότερα

Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25

Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25 Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25 LAGĂRELE CU ALUNECARE!" 25.1.Caracteristici.Părţi componente.materiale.!" 25.2.Funcţionarea lagărelor cu alunecare.! 25.1.Caracteristici.Părţi componente.materiale.

Διαβάστε περισσότερα

Criterii de comutativitate a grupurilor

Criterii de comutativitate a grupurilor Criterii de comutativitate a grupurilor Marius Tărnăuceanu 10.03.2017 Abstract În această lucrare vom prezenta mai multe condiţii suficiente de comutativitate a grupurilor. MSC (2010): 20A05, 20K99. Key

Διαβάστε περισσότερα

Geometrie computationala 2. Preliminarii geometrice

Geometrie computationala 2. Preliminarii geometrice Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Geometrie computationala 2. Preliminarii geometrice Preliminarii geometrice Spatiu Euclidean: E d Spatiu de d-tupluri,

Διαβάστε περισσότερα

III. Reprezentarea informaţiei în sistemele de calcul

III. Reprezentarea informaţiei în sistemele de calcul Metode Numerice Curs 3 III. Reprezentarea informaţiei în sistemele de calcul III.1. Reprezentarea internă a numerelor întregi III. 1.1. Reprezentarea internă a numerelor întregi fără semn (pozitive) Reprezentarea

Διαβάστε περισσότερα