Limbajul PL/SQL. Structura unui bloc PL/SQL este următoarea:

Size: px
Start display at page:

Download "Limbajul PL/SQL. Structura unui bloc PL/SQL este următoarea:"

Transcription

1 Limbajul PLSQL PLSQL (Procedural LanguageSQL) este extensia procedurală a limbajului SQL dezvoltată de Oracle Corporation, ce permite includerea instrucńiunilor de manipulare şi interogare a datelor în unităńi de cod procedurale şi structurate pe bloc. PLSQL este o tehnologie adoptată de server-ul Oracle şi de unele produse Oracle (eg. Developer2000 Forms). Blocurile PLSQL sunt trimise motorului PLSQL şi executate de acesta, motor ce se poate afla fie în cadrul aplicańiei din care s-a executat blocul, fie pe serverul Oracle. PLSQL poate fi utilizat pentru gruparea mai multor instrucńiuni într-un singur bloc şi trimiterea întregului bloc la server printr-un singur apel. Fără PLSQL, instrucńiunile SQL ar fi procesate una câte una, fiecare instrucńiune generând un apel către serverul Oracle. Structura orientată pe blocuri a PLSQL În PLSQL programele pot fi divizate în blocuri logice, principalele tipuri de blocuri ce pot fi utilizate fiind: - blocuri anonime - bloc nedenumit şi care nu formează corpul unei proceduri, funcńii sau declanşator (trigger); - blocuri de tip funcńie şi procedură similare funcńiilor şi procedurilor din alte limbaje de programare şi sunt definite ca blocuri PLSQL; - blocuri declanşatoare (trigger) blocuri PLSQL ce definesc codul ce urmează a fi executat atunci când au loc anumite acńiuni sau evenimente la nivelul bazei de date; - blocuri imbricate utilizate pentru tratarea erorilor şi pentru creşterea modularităńii codului scris. Blocuri anonime Un bloc anonim PLSQL este format din trei secńiuni: - secńiunea declarativă (opńională) conńine toate variabilele, constantele, cursoarele şi excepńiile utilizator ce sunt referite în secńiunile executabile şi declarative; - secńiunea executabilă (obligatorie) conńine instrucńiuni SQL pentru manipularea datelor din baza de date şi instrucńiuni PLSQL pentru manipularea datelor din cadrul blocului; - secńiunea de tratare a excepńiilor (opńională) specifică acńiunile ce vor fi executate în momentul aparińiei unor erori sau condińii anormale în secńiunea executabilă. Structura unui bloc PLSQL este următoarea: OpŃional - variabile, cursori, excepńii utilizator Obligatoriu - instrucńiuni SQL - instrucńiuni PLSQL EXCEPTIONS - OpŃional - acńiuni executate în caz de eroare - Obligatoriu Pentru execuńia blocurilor PLSQL în mediul gazdă SQL*PLUS se va Ńine cont de următoarele reguli: - se va plasa caracterul ; la sfârşitul unei instrucńiuni SQL sau a unei instrucńiuni de control PLSQL; 1

2 - se va plasa caracterul pentru rularea blocurilor anonime din buffer-ul SQL. ExecuŃia cu succes a unui astfel de bloc va fi anunńată prin mesajul PLSQL procedure successfully completed - se va plasa. pentru a închide buffer-ul SQL (un bloc PLSQL este tratat ca o singură instrucńiune şi caracterele ; plasate în interiorul blocului nu vor închide sau rula buffer-ul). Variabile PLSQL Variabilele PLSQL trebuie declarate în secńiunea declarativă, înainte de utilizarea lor într-un bloc PLSQL. Sintaxa ce permite declararea unei variabile este următoarea: unde: identificator [CONSTANT] tip_date [NOT NULL] [:= DEFAULT expr] identificator CONSTANT tip_date NOT NULL expr este numele variabilei; utilizat în cazul în care identificator este o constantă; constantele trebuie inińializate; tipul de date al variabilei (scalar, compus, referinńă sau LOB); constrânge variabila să conńină valori diferite de NULL; variabilele NOT NULL trebuie inińializate la declarare; o expresie PLSQL care poate fi un literal, o altă variabilă sau o expresie ce implică operatori şi funcńii. PLSQL suportă patru categorii de tipuri de date: 1. scalar tipurile de date din această categorie permit stocarea unei singure valori; în această categorie intră tipurile de date utilizate pentru coloanele de tabele; 2. compus permit definirea şi manipularea grupurilor de câmpuri în blocuri PLSQL; această categorie conńine tipurile de date (numite şi colecńii) TABLE, RECORD, VARRAY; 3. referinńă tipurile din această categorie sunt utilizate pentru memorarea pointerilor către alte elemente ale unui program; 4. LOB stochează informańii ce indică locańia obiectelor de dimensiuni mari (imagini grafice, video-clipuri). Exemplul următor indică modul de declarare a unor variabile: v_job varchar2(9); v_count number(9,2) := 0; c_tax_rate CONSTANT number(3,2) := 8.25; v_valid boolean NOT NULL := TRUE; g_mgr number(4) DEFAULT 7839;... Regulile urmărite la declararea unei variabile sunt următoarele: - dacă se doreşte inińializarea unei variabile cu o expresie, în momentul declarării se va utiliza operatorul de asignare := sau se va specifica cuvântul cheie DEFAULT. Dacă variabila nu se inińializează la declarare ea va conńine valoarea NULL până în momentul inińializării. - dacă se utilizează constrângerea NOT NULL, variabila TREBUIE inińializată. - declararea unei singure variabile pe linie ajută la citirea şi întreńinerea cu mai multă uşurinńă a codului. - pentru declararea constantelor trebuie utilizat identificatorul CONSTANT înaintea tipului de date. 2

3 O constantă trebuie inińializată la declarare, în caz contrar generându-se un mesaj de eroare de compilare. Pentru asignarea de valori unei variabile se va utiliza sintaxa unde: identificator := expr; identificator expr este numele variabilei poate fi o variabilă, un literal sau un apel de funcńie, dar nu un nume de coloană Un literal este o valoare explicită de tip numeric, caracter, şir de caractere sau boolean (exemple de literali: numărul 25.36, şirul Test, valoarea TRUE). Dacă se declară o variabilă pentru a fi utilizată cu scopul de a memora valorile unei coloane, tipul de date al variabilei trebuie ales în conformitate cu domeniul de definińie al coloanei. Pentru aceasta se poate utiliza atributul %TYPE, care permite declararea unei variabile pe baza tipului unei alte variabile sau al unei coloane. %TYPE se utilizează, cel mai adesea, atunci când se declară o variabilă ce va fi folosită pentru stocarea valorilor din coloana unui tabel sau pentru înscrierea datelor într-o coloană. Acest atribut înlocuieşte tipul de date al variabilei şi va fi prefixat de numele tabelului şi al coloanei în cauză sau cu numele variabilei. v_ename emp.ename%type; v_balance NUMBER(7,2); v_min_balance v_balance%type := 10; În exemplul de mai sus, tipul variabilei v_ename va fi dat de domeniul de definińie al coloanei ename din tabelul emp. Tipurile de date scalare ce pot fi utilizate la declararea unei variabile sunt prezentate în anexa 1. Variabilele booleene (declarate cu tipul BOOLEAN) sunt variabile ce pot avea valorile TRUE, FALSE sau NULL. Astfel de variabile pot fi unite prin operatorii logici AND, OR sau NOT. Expresiile booleene sunt formate din expresii simple sau complexe, separate de operatori logici (e.g. clauza WHERE a unei instrucńiuni SELECT conńine o expresie booleană ce specifică liniile dintr-un tabel afectate de instrucńiune). De exemplu, dacă v_sal1 := 5000; v_sal2 := 6000; atunci expresia v_sal1 < v_sal2 va returna TRUE. v_comm_sal BOOLEAN := (v_sal1 < v_sal2); reprezintă declarańia şi inińializarea unei variabile booleene. O variabilă de legătură este o variabilă declarată într-un mediu gazdă (de exemplu SQL*Plus) şi utilizată în momentul execuńiei pentru a pasa valori spre, respectiv pentru a primi valori din unul sau mai multe programe PLSQL. O variabilă de legătură poate fi tratată în aceeaşi manieră ca variabilele obişnuite. Pentru a declara o variabilă de legătură în mediul SQL*Plus se va utiliza comanda VARIABLE. 3

4 SQL> VARIABLE return_code NUMBER Atât SQL cât şi SQL*Plus pot referi variabilele de legătură, iar SQL*Plus poate afişa şi valoarea lor prin intermediul comenzii PRINT: SQL> PRINT return_code O altă modalitate de a afişa valoarea unei variabile de legătură constă în utilizarea funcńiei PUT_LINE din pachetul DBMS_OUTPUT. Înainte de utilizarea acestei funcńii trebuie executată comanda SET SERVEROUTPUT ON (o singură dată pe sesiune) la promptul SQL*Plus, în caz contrar nu se va afişa nimic pe ecran. y number := 3; :x := y; DBMS_OUTPUT.PUT_LINE('Valoarea variabilei x este ' :x); Valoarea variabilei x este 3 PLSQL procedure successfully completed Pentru a face referire la o variabilă de legătură, numele variabilei trebuie prefixat de :. În acest fel se va face distincńie între aceste variabile şi cele PLSQL: :host_sal := v_sal; :global_var1 := TRUE ; Deoarece PLSQL este o extensie a limbajului SQL, regulile generale de sintaxă ce se aplică în SQL sunt valabile şi în PLSQL: - unităńile lexicale (identificatori sau literali) pot fi separate de unul sau mai multe spańii sau de alńi delimitatori. SpaŃiile nu pot fi incluse în unităńile lexicale cu excepńia literalilor sau comentariilor; - instrucńiunile pot fi despărńite pe mai multe linii; cuvintele cheie nu pot fi despărńite; Delimitatorii utilizańi în PLSQL sunt: Simbol Descriere Simbol Descriere + operatorul aditiv <> operator relańional - operatorul de diferenńă sau negańie!= operator relańional * operatorul multiplicativ operatorul de concatenare operatorul de diviziune -- indicator de comentariu pe o linie = operator relańional * delimitator început indicator de acces la distanńă * delimitator sfârşit comentariu ; terminator de instrucńiune := operatorul de atribuire Vizibilitatea identificatorilor în PLSQL Unul din avantajele PLSQL în comparańie cu SQL constă în abilitatea de a imbrica instrucńiuni. Se pot imbrica blocuri oriunde este permisă utilizarea instrucńiunilor executabile. SecŃiunea excepńiilor (erorilor) poate conńine, de asemenea, blocuri imbricate. Zona de vizibilitate a unui obiect este regiunea din program ce poate face referire la acel obiect. Variabilele declarate pot fi referite în cadrul secńiunii de execuńie. 4

5 Un identificator este vizibil doar în blocul în care este declarat şi în toate sub-blocurile, procedurile şi funcńiile imbricate. Dacă un bloc nu găseşte identificatorul declarat local, va căuta în secńiunea declarativă a blocurilor părinte. Nu se caută declarańia unui identificator în sub-blocuri sau în blocurile de pe acelaşi nivel. x REAL; y NUMBER; În exemplul de mai sus, variabila y poate face referire la variabila x, în timp ce variabila x nu poate referi variabila y. FuncŃii PLSQL Aproape toate funcńii ce pot fi utilizate în SQL sunt valide în PLSQL, cu excepńia funcńiilor grup (MAX, MIN, AVG, SUM, COUNT) şi a altor funcńii speciale, cum ar fi DECODE şi DUMP. În Anexa 2 sunt prezentate câteva din funcńiile ce pot fi utilizate în PLSQL. În Anexa 3 sunt prezentate şabloanele ce pot fi utilizate cu funcńiile TO_DATE, TO_CHAR şi TO_NUMBER. Exemple: SELECT TO_CHAR(SYSDATE, MONTH DDTH YYYY ) Azi FROM DUAL Azi NOVEMBER 28TH 2006 v_convert_date DATE := TO_DATE( , MMDDSYYYY ); v_hold_date VARCHAR2(100); v_hold_date := TO_CHAR(v_convert_date, MMDDSYYYY ); DBMS_OUTPUT.PUT_LINE( Data convertita este: v_hold_date); Data convertita este: v_convert_date DATE; V_convert_date:= TO_DATE( , DDMMYY ); DBMS_OUTPUT.PUT_LINE( Data convertita este: v_convert_date); Data convertita este: zona de vizibilitate pentru x zona de vizibilitate pentru y 5

6 v_convert_number VARCHAR2(20) := 1997 ; v_hold_number NUMBER; V_hold_number:= TO_NUMBER(v_convert_number, 9999 ); DBMS_OUTPUT.PUT_LINE( Nr convertit este: v_hold_number); DBMS_OUTPUT.PUT_LINE( Nr convertit plus 10 este: (v_hold_number+10)); Nr convertit este: 1997 Nr convertit plus 10 este: 2007 Operatori PLSQL Operatorii utilizańi în PLSQL corespund celor utilizańi în SQL: Operator Descriere **, NOT operatorii exponenńial şi negańie logică +, - operatori de semn (+ şi -) *, multiplicare, diviziune +, -, adunare, scădere, concatenare =,!=, <>, <, >, <=, >=, IS NULL, LIKE, BETWEEN, operatori de comparańie IN AND ConjuncŃie OR DisjuncŃie PrecedenŃa operatorilor corespunde săgeńii desenate în stânga tabelului. InstrucŃiuni SQL în PLSQL PLSQL suportă toate instrucńiunile din Limbajul de Manipulare a Datelor (LMD) şi comenzile de control a tranzacńiilor din SQL. O instrucńiune SQL poate fi utilizată pentru a popula variabile cu valori rezultate din interogarea unui tabel. Un bloc PLSQL nu este o unitate de tranzacńie. Salvarea datelor (COMMIT), setarea unor puncte de salvare (SAVEPOINT) şi revenirea la un punct de salvare sau la ultimul COMMIT (ROLLBACK) sunt operańii independente de bloc, dar aceste instrucńiuni se pot executa în interiorul unui bloc. PLSQL nu suportă instrucńiunile din Limbajul de Definire a Datelor (LDD), cum ar fi CREATE TABLE, ALTER TABLE sau DROP TABLE. De asemenea, PLSQL nu suportă instrucńiunile din Limbajul de Control a Datelor (GRANT, REVOKE). Sintaxa PLSQL pentru extragerea unor informańii din baza de date şi stocarea lor în variabile PLSQL este: SELECT lista_tinta INTO {nume_var [, nume_var]... nume_inreg} FROM tabel WHERE conditie; unde: lista_tinta este o listă formată din cel puńin o coloană şi poate include expresii SQL şi funcńii agregat; nume_var este variabilă scalară ce va memora valoarea returnată nume_inreg este variabila de tip RECORD ce va păstra valorile returnate tabel indică numele tabelului 6

7 conditie Exemplu: este compusă din nume de coloane, expresii, constante şi operatori de comparańie, inclusiv variabile şi constante PLSQL v_deptno NUMBER(2); v_loc VARCHAR2(15); SELECT deptno, loc INTO v_deptno, v_loc FROM dept WHERE dname= SALES ; DBMS_OUTPUT.PUT_LINE( Valoarea v_deptno este TO_CHAR(v_deptno)); DBMS_OUTPUT.PUT_LINE( Valoarea v_loc este v_loc); Valoarea v_deptno este 30 Valoarea v_loc este CHICAGO Clauza INTO este OBLIGATORIE şi este pozińionată între clauzele SELECT şi FROM. Această clauză este utilizată pentru specificarea variabilelor ce vor memora valorile returnate de clauza SELECT. Se furnizează câte o variabilă pentru fiecare element din clauza SELECT, ordinea variabilelor trebuind să corespundă ordinii din lista clauzei SELECT. Utilizarea unei instrucńiuni SQL într-un bloc PLSQL trebuie să returneze numai o singură linie. În caz contrar se va genera un mesaj de eroare. ObservaŃii: - instrucńiunile SQL trebuie terminate cu caracterul ; - clauza INTO este obligatorie atunci când o instrucńiune SQL este înglobată intr-un bloc PLSQL - clauza WHERE este opńională şi poate fi utilizată pentru a specifica variabile de intrare, constante, literali sau expresii PLSQL - numărul variabilelor de ieşire din clauza INTO trebuie să corespundă numărului de coloane ce apar în clauza SELECT. Următorul exemplu returnează suma salariilor tuturor angajańilor dintr-un anumit departament. v_sum emp.sal%type; v_deptno NUMBER NOT NULL := 10; SELECT SUM(sal) -- funcńie agregat INTO v_sum FROM emp WHERE deptno = v_deptno; DBMS_OUTPUT.PUT_LINE( Valoarea variabilei v_sum este TO_CHAR(v_sum)); Valoarea variabilei v_sum este 8750 PLSQL permite utilizarea instrucńiunilor de manipulare a datelor INSERT, UPDATE şi DELETE. 7

8 Exemplu: v_empno emp.empno%type; SELECT max(empno) INTO v_empno FROM emp; INSERT INTO emp(empno, ename, job, deptno) VALUES(v_empno+10, HARDING, CLERK, 10); Următorul exemplu măreşte salariile angajańilor din tabelul emp având funcńia ANALYST. v_sal_increase emp.sal%type := 2000; UPDATE emp SET sal = sal + v_sal_increase WHERE job = ANALYST ; Se poate produce ambiguitate în clauza SET datorită faptului că, deşi membrul stâng este numele unei coloane, membrul drept poate fi o coloană sau o variabilă PLSQL. În situańia în care o coloană şi o variabilă au acelaşi nume, serverul Oracle va căuta în baza de date mai întâi coloană, şi apoi variabila. Ştergerea liniilor din tabelul emp ce corespund angajańilor din departamentul 10 se poate efectua cu ajutorul următorului bloc PLSQL: v_deptno emp.deptno%type := 10; DELETE FROM emp WHERE deptno = v_deptno; Pentru evitarea situańiilor de ambiguitate se poate avea în vedere următoarea convenńie de denumire: coloanele din baza de date şi variabilele trebuie să aibă nume distincte. Structuri de control a execuńiei în PLSQL Principalele structuri de control a execuńiei sunt construcńiile condińionale (instrucńiuni IF) şi cele repetitive. InstrucŃiunea IF - permite execuńia selectivă a unor acńiuni pe baza unor condińii. Sintaxa instrucńiuni IF este: IF conditie THEN instructiuni; [ELSIF conditie THEN instructiuni;] [ELSE instructiuni;] END IF; 8

9 unde: conditie instructiuni ELSIF ELSE este o variabilă booleană sau o expresie (TRUE, FALSE sau NULL); ea este asociată unei secvenńe de instrucńiuni ce se va executa dacă expresia are valoarea TRUE pot fi una sau mai multe instrucńiuni PLSQL sau SQL; pot include alte instrucńiuni IF. este un cuvânt cheie ce introduce o nouă expresie booleană; dacă prima condińie este FALSE sau NULL, atunci ELSIF introduce condińii suplimentare; este un cuvânt cheie, care odată atins, are ca efect execuńia instrucńiunilor ce urmează imediat după el. Exemplul următor setează funcńia SALESMAN, numărul departamentul 35 şi comisionul de 20% din salariul curent dacă numele este MILLER : IF v_ename = MILLER THEN v_job := SALESMAN ; v_deptno := 35; v_comm := sal * 0.2; END IF; ObservaŃii: - se pot specifica mai multe clauze ELSIF; - poate exista cel mult o clauză ELSE; Să considerăm următoare structură IF: IF conditie1 THEN instructiuni ELSIF conditie2 THEN instructiuni ELSE instructiuni END IF; Modul de execuńie al acestei structuri este următorul: - dacă se evaluează conditie1 şi rezultă TRUE se vor executa instrucńiunile de pe ramura THEN; - altfel se evaluează conditie2. Dacă rezultă TRUE se execută instrucńiunile de pe ramura THEN; - altfel se execută instrucńiunile de pe ramura ELSE. Exemplu: IF v_start > 100 THEN v_start := 2 * v_start; ELSIF v_start >=50 THEN v_start := 0.5 * v_start ELSE v_start := 0.1 * v_start; END IF; 9

10 Structuri repetitive Aceste structuri sunt utilizate pentru repetarea unei instrucńiuni sau a unei secvenńe de instrucńiuni de un anumit număr de ori. 1. Structuri de tip LOOP Sintaxa acestei structuri este următoarea: LOOP instrucńiune1; EXIT [WHEN conditie] END LOOP; unde: conditie este o variabilă booleană sau o expresie; De fiecare dată când fluxul de execuńie atinge END LOOP, controlul este predat instrucńiunii LOOP corespunzătoare. Pentru ieşirea din buclă trebuie utilizată instrucńiunea EXIT. Se poate executa EXIT fie ca o acńiune în cadrul unei instrucńiuni IF, fie ca instrucńiune din buclă. La instrucńiunea EXIT se poate ataşa o clauză WHEN de părăsire condińionată a buclei. Exemplu de utilizare a structurii LOOP: v_ordid item.ordid%type := 10; v_counter NUMBER(2) := 1 LOOP INSERT INTO item(ordid, itemid) VALUES(v_ordid, v_counter); v_counter := v_counter + 1; EXIT WHEN v_counter > 10; END LOOP; 2. Structuri de tip FOR Sintaxa instrucńiunii FOR este: FOR contor IN [REVERSE] limita_inf..lim_sup LOOP instructiune1; instructiune2; END LOOP; unde: contor este o variabilă întreagă declarată implicit, a cărei valoare este incrementată sau decrementată (se face decrementare dacă se specifică REVERSE) cu o unitate la fiecare iterańie, până se atinge lim_sup, respectiv lim_inf. Notă: contor nu trebuie declarat ca variabilă; el este declarat implicit ca întreg. Exemplu: v_ordid item.ordid%type := 101; FOR i IN LOOP 10

11 INSERT INTO item(ordid, itemid) VALUES(v_ordid, i); END LOOP; 3. Structuri WHILE Cu ajutorul instrucńiunii WHILE se poate repeta o secvenńă de instrucńiuni până în momentul în care condińia de control devine FALSE sau NULL. WHILE conditie LOOP instructiune1; instructiune2;... END LOOP; Tipuri de date compuse Tipurile de date compuse (cunoscute şi sub numele de colecńii) ce pot fi utilizate în PLSQL sunt: RECORD, TABLE, tabele imbricate, VARARRAY. În continuare va fi prezentat doar tipul RECORD. Tipul TABLEeste prezentat în secńiunea opńională L5_BD_sect_optionala. Tipul RECORD O variabilă de tip RECORD (numită înregistrare) reprezintă o colecńie de date memorate în câmpuri, fiecare câmp având asociat un nume şi un tip. Să presupunem că dispunem de diverse informańii despre un angajat, cum ar fi nume, salariu şi data angajării. O înregistrare ce conńine câte un câmp pentru fiecare tip de informańie permite tratarea datelor ca o singură unitate logică. Caracteristici ale înregistrărilor: - o înregistrare poate avea un număr arbitrar de câmpuri; - o înregistrare poate avea o valoare inińială sau poate fi definită ca fiind NOT NULL; - câmpurile fără valori inińiale sunt inińializate cu valori NULL; - cuvântul cheie DEFAULT poate fi utilizat şi la definirea câmpurilor; - se pot defini tipuri RECORD şi se pot declara variabile de tip înregistrare în secńiunea declarativă a oricărui bloc, subprogram sau pachet; - se pot declara şi apoi referi înregistrări imbricate (înregistrări ce au drept componentă o altă înregistrare). Sintaxa ce permite definirea tipului RECORD este: TYPE nume_tip IS RECORD ( declaratie_camp {, declaratie_camp} ); declaratie_camp respectă sintaxa: nume_camp <tip_camp variabila%type tabel.coloana%type tabel%rowtype> [[NOT NULL] <:= DEFAULT> expr] unde: nume_tip numele tipului RECORD nume_camp numele câmpului în cadrul înregistrării tip_camp tipul câmpului. Poate fi orice tip PLSQL, exceptând REF CURSOR expr expresie de tipul tip_camp sau valoare inińială Constrângerea NOT NULL previne inińializarea câmpului corespunzător cu valoarea NULL şi 11

12 forńează inińializarea câmpului. O înregistrare se declară în secńiunea declarativă, cu ajutorul sintaxei: identificator nume_tip; Fiecare câmp are un nume unic şi un tip de date specific. Deoarece în PLSQL nu există tipuri de date predefinite pentru înregistrări, va trebui să definim mai întâi tipul de date şi apoi să declarăm o variabilă de tipul respectiv, aşa cum este ilustrat în următorul exemplu: TYPE tip_inreg_emp IS RECORD -- defineste un tip RECORD (empno NUMBER(4) NOT NULL := 100, ename emp.ename%type, job emp.job%type); inreg_emp tip_inreg_emp; -- declara o variabila de tipul tip_inreg-emp Accesarea unui câmp dintr-o înregistrare se face pe baza numelui câmpului, conform sintaxei: nume_inreg.nume_camp De exemplu, accesarea câmpului job din variabila inreg_emp se face astfel: inreg_emp.job... iar asignarea valorii 'CLERK' câmpului job se face cu instrucńiunea: inreg_emp.job := 'CLERK'; Înregistrările definite de utilizator sunt instanńiate la intrarea în bloc şi încetează să existe la ieşirea din bloc. Următorul exemplu utilizează o înregistrare formată din trei câmpuri (ename, job, sal) pentru a stoca informańiile furnizate de o instrucńiune SELECT. Trebuie să existe o corespondenńă între câmpurile înregistrării şi lista Ńintă a instrucńiunii SELECT. TYPE tip_inreg_emp IS RECORD (ename emp.ename%type, job emp.job%type, sal emp.sal%type); inreg_emp tip_inreg_emp; SELECT ename, job, sal INTO inreg_emp FROM emp WHERE empno = 7369; DBMS_OUTPUT.PUT_LINE('deptno = ' inreg_emp.ename); DBMS_OUTPUT.PUT_LINE('dname = ' inreg_emp.job); DBMS_OUTPUT.PUT_LINE('loc = ' inreg_emp.sal); Atributul %ROWTYPE identificator referinta%rowtype... unde: identificator referinta este numele înregistrării este numele tabelului, vederii sau variabilei de tip cursor pe care se bazează înregistrarea. ReferinŃa TREBUIE să fie validă în momentul declarării înregistrării (tabelul sau vederea trebuie să existe, iar cursorul trebuie să fie declarat). 12

13 Atributul %ROWTYPE poate fi utilizat pentru declararea unei variabile de tip înregistrare pe baza tuturor coloanelor dintr-un tabel sau dintr-o vedere. Câmpurile din înregistrare vor prelua numele şi tipurile de date ale coloanelor din tabel sau din vedere. Exemplul următor declară o înregistrare folosind atributul %ROWTYPE: inreg_emp emp%rowtype;... Înregistrarea inreg_emp va fi formată din următoarele câmpuri: empno NUMBER(4), ename VARCHAR2(10), job VARCHAR2(9), mgr NUMBER(4), hiredate DATE, sal NUMBER(7, 2), comm NUMBER(7, 2), deptno NUMBER(2) Un câmp individual din înregistrare va fi referit folosind notańia: identificator.nume_camp La fel ca în cazul variabilelor scalare, instrucńiunea SELECT poate fi utilizată pentru a stoca valorile returnate de o interogare într-o înregistrare. Singura restricńie este ca instrucńiunea SELECT să returneze toate coloanele din tabelul (vederea) ce stă la baza definińiei înregistrării. -- Nu uitati sa executati SET SERVEROUTPUT ON la promptul SQL inreg_dept dept%rowtype; -- campurile inregistrarii corespund coloanelor din tabelul dept -- instructiunea SELECT se va executa cu succes doar daca returneaza o singura linie SELECT * INTO inreg_dept from dept WHERE dname = 'SALES'; DBMS_OUTPUT.PUT_LINE('Valorile memorate in inregistrare: '); DBMS_OUTPUT.PUT_LINE('deptno = ' inreg_dept.deptno); DBMS_OUTPUT.PUT_LINE('dname = ' inreg_dept.dname); DBMS_OUTPUT.PUT_LINE('loc = ' inreg_dept.loc); Probleme 1. CreaŃi un bloc PLSQL care selectează numărul maxim de departament din tabelul dept şi memorează această valoare într-o variabilă SQL*Plus. Se va afişa rezultatul pe ecran. 2. CreaŃi un bloc PLSQL care să permită introducerea unei noi înregistrări în tabelul dept. Se va cere introducerea de la tastatură a numărului de departament şi a numelui său. VerificaŃi inserarea noului departament. 3. CreaŃi un bloc PLSQL care să şteargă departamentul inserat la punctul 2. Se va prelua de tastatură numărul departamentului ce urmează a fi şters. 4. CreaŃi tabelul MESAJE având următoarea schemă: MESAJE(Rezultate NUMBER(3)) 13

14 InseraŃi în acest tabel numerele de la 1 la 10, exceptând valorile 6 şi 8. SalvaŃi modificările efectuate asupra tabelului. ConŃinutul tabelului după executarea blocului PLSQL este cea din tabelul de mai jos. Rezultate CreaŃi un bloc PLSQL care actualizează comisionul unui anumit angajat din tabelul emp conform următoarelor reguli: - dacă salariul său este mai mic decât 1000, comisionul este de 10% din salariu; - dacă salariul său este între 1000 şi 1500, comisionul este de 15% din salariu; - dacă salariul său este mai mare decât 1500, comisionul este de 20% din salariu; - dacă salariul său este NULL, comisionul este 0. Numărul angajatului va fi introdus de la tastatură. După ce se operează o modificare asupra tabelului emp salvańi acea modificare. VerificaŃi corectitudinea modificării. 14

15 Anexa 1 - Tipuri de date scalare utilizate la declararea unei variabile Tip date Descriere VARCHAR2 (lungime_maxima) - şir alfanumeric de lungime variabilă. - se utilizează 1 octet pe caracter şi poate avea o lungime maximă de octeńi. CHAR [(lungime_maxima)] - şir alfanumeric de lungime fixă. - spre deosebire de şirurile VARCHAR2, un şir CHAR conńine întotdeauna numărul maxim de caractere; şirurile mai scurte decât lungimea maximă sunt completate cu spańii. - se utilizează 1 octet pe caracter şi poate avea o lungime maximă de octeńi. - dacă nu se specifică lungime_maxima, se consideră valoarea implicită de 1. NUMBER[(precizie,[scala])] - tipul de bază pentru numerele în virgulă fixă sau mobilă. - precizie indică numărul de cifre utilizat pentru reprezentarea numărului, iar scala indică pozińia punctului zecimal. - acoperă domeniul de valori 1.0E E125 BINARY_INTEGER - utilizat pentru declararea numerelor întregi cu semn. - variabilele BINARY_INTEGER sunt stocate în format binar, ocupând astfel mai puńin spańiu. De asemenea, calculele cu întregi binari se efectuează mai rapid, deoarece valorile sunt deja în format binar. PLS_INTEGER - utilizat pentru declararea numerelor întregi cu semn în domeniul utilizează instrucńiuni cod maşină native pentru realizarea calculelor. DATE - utilizat pentru a stoca data şi momentul de timp, domeniul acoperit fiind de la 1 ianuarie 4712 BC până la 31 decembrie 4712 AD. - dacă nu se specifică un moment de timp, se va utiliza valoarea implicită 12:00:00 AM. BOOLEAN - utilizat pentru stocarea valorilor TRUEFALSE LONG - similar tipului VARCHAR2, diferenńa constând în aceea că o variabilă LONG poate avea maxim caractere RAW (lungime) - utilizat pentru a stoca şiruri de date orientate pe octeńi. - diferenńa fańă de VARCHAR2 stă în aceea că o valoare de tip RAW nu va fi interpretată de Oracle (nu se face translare de seturi de caractere pe date brute (raw)). - argumentul lungime poate fi o valoare între 1 şi LONG RAW (lungime) - similar tipului RAW. - argumentul lungime poate fi o valoare între 1 şi

16 Anexa 2 - FuncŃii utilizate în PLSQL Nume funcńie FuncŃii ce operează pe şiruri de caractere ASCII(caracter) CHR(cod_ascii) CONCAT(sir1, sir2) LENGTH(sir) LPAD(sir,lung_totala,[caract]) LPAD(sir,lung_totala,[caract]) FuncŃii numerice ABS(numar) CEIL(numar) FLOOR(numar) ROUND(numar, [nr_zec]) FuncŃii de conversie TO_CHAR(data,format,[param_NLS]) TO_CHAR(num,format,[param_NLS]) Descriere Returnează echivalentul zecimal al caracterului ASCII Returnează caracterul având codul ASCII furnizat Concatenează cele două şiruri argumente Returnează lungimea şirului Completează sir la stânga cu caracter, lungimea maximă a şirului astfel obńinut fiind lung_totala. Dacă este omis parametrul caracter se consideră valoarea implicită spańiu. Comportare similară funcńiei LPAD, completarea realizăndu-se la dreapta argumentului sir. Returnează valoarea absolută Returnează cel mai mic număr întreg care este mai mare sau egal cu numar Returnează cel mai mare număr întreg care este mai mic sau egal cu numar Rotunjeşte numar la numărul de zecimale specificat. Dacă nr_zec este omis se va rotunji la întregul cel mai apropiat; dacă nr_zec>0 rotunjirea se face la dreapta separatorului zecimal; dacă nr_zec<0 se va rotunji la stânga separatorului zecimal Converteşte o valoare DATE într-un şir VARCHAR2, permińând prezentarea datei într-un anumit format. param_nls indică specificarea limbii utilizată la afişarea pe ecran. O parte din măştile de format ce pot fi utilizate sunt descrise în tabelul următor. Converteşte orice număr în şir VARCHAR2. Formatele ce pot fi utilizate sunt descrise în tabelul următor. TO_DATE(sir,format,[NLS_LANG]) Converteşte un şir de caractere (CHAR sau VARCHAR2), delimitat de apostrofuri, la o valoare DATE. Parametrul opńional NLS_LANG permite precizarea limbii în care se va face afişarea. Limitări: - şirul argument nu poate avea mai mult de 220 caractere; - suntem limitańi la măştile din tabelul următor; - nu putem combina formatele, cum ar fi specificarea formatului de 24 ore şi, în acelaşi timp, AM sau PM; - nu putem specifica acelaşi element de două ori în şablonul de conversie (de exemplu, YYYY-MM-MMM-DD) TO_NUMBER(sir,format,[param_NLS]) Converteşte un şir de caractere (CHAR sau VARCHAR2) sau dată calendaristică într-un număr, cu scopul de a executa calcule numerice.măştile de formatare sunt decrise în tabelul următor. 16

17 Anexa 3 - Şabloanele utilizate cu funcńiile TO_DATE, TO_CHAR şi TO_NUMBER Tip şablon Descriere Măşti de formatare DATE BC sau B.C. Indicator Before Christ AD sau A.D. Indicator Anno Domini SYYYY, YYYY Anul cu 4 cifre. Întoarce un număr negativ dacă se utilizează BC cu SYYYY. YYY, YY, Y Ultimele 3, 2 sau ultima cifră a reprezentării anului YEAR, SYEAR Returnează anul, în litere. SYEAR returnează o valoare negativă dacă se utilizează cu BC MM Numărul lunii, de la 01 la 12 MONTH Numele lunii, totdeauna pe 9 caractere, eventual completate la dreapta cu spańii RM Număr roman reprezentând luna, de la I la XII WW Numărul săptămânii în an, de la 1 la 53 W Numărul săptămânii înlună, de la 1 la 5. Prima săptămână începe în prima zi a lunii D Numărul zilei din săptămână, cu valori de la 1 la 7 DD Numărul zilei din lună, cu valori de la 1 la 31 DDD Numărul zilei din an, cu valori de la 1 la 366 DAY Numărul zilei din săptămână, în litere, totdeauna reprezentat pe 9 caractere, eventual completat la dreapta cu spańii HH, HH12 Ora din zi, cu valori de la 1 la 12 HH24 Ora din zi, cu valori de la 1 la 23 MI Numărul minutului din oră, de la 0 la 59 SS Numărul secundei din minut, de la 0 la 59 AM sau A.M. Indicator al orei ante-meridian PM sau P.M. Indicator al orei post-meridian Măşti de formatare NUMERE Mască Exemplu Fiecare 9 este considerat o cifră semnificativă. Zerourile din fańa numărului sunt tratate drept spańii sau Zerourile din stânga sau dreapta numărului sunt tratate şi afişate ca zerouri $ $9999 Prefix reprezentând simbolul monetar, plasat în fańa numărului D 99D99 Indică pozińia punctului zecimal. Cifrele de 9 indică numărul maxim de cifre de o parte şi de alta a separatorului zecimal 17

:= 950; BEGIN DELETE FROM

:= 950; BEGIN DELETE FROM Cursori în PLSQL La fiecare execuţie a unei instrucţiuni SQL serverul Oracle deschide o zonă de memorie în care este analizată şi executată instrucţiunea. Această zonă de memorie se numeşte cursor. Există

More information

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice "Îmbunătăţirea proceselor şi activităţilor educaţionale în cadrul programelor de licenţă şi masterat în domeniul

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Procesarea Imaginilor

Procesarea Imaginilor Procesarea Imaginilor Curs 11 Extragerea informańiei 3D prin stereoviziune Principiile Stereoviziunii Pentru observarea lumii reale avem nevoie de informańie 3D Într-o imagine avem doar două dimensiuni

More information

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu Proiectarea bazelor de date # 13 PL/SQL Înregistrări și Colecții 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 13 Înregistrări și Colecții Proiectarea bazelor de date 2 Înregistrări și Colecții în PL/SQL

More information

Lucrarea de laborator nr. 4

Lucrarea de laborator nr. 4 Metode merice - Lucrarea de laborator 4 Lucrarea de laborator nr. 4 I. Scopul lucrării Elemente de programare în MAPLE II. III. Conţinutul lucrării 1. Atribuirea. Decizia. Structuri repetitive. 2. Proceduri

More information

CERERI SELECT PE O TABELA

CERERI SELECT PE O TABELA SQL - 1 CERERI SELECT PE O TABELA 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE.

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. Baze de date-anul 2 Laborator 4 SQL Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. I. [Funcţii grup şi clauza GROUP BY] Clauza GROUP BY este utilizată pentru a diviza liniile unui

More information

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. Proceduri stocate Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. 1 Odată cu deschiderea editorului SQL, apare și bara de instrumente

More information

Subprograme şi pachete PL/SQL

Subprograme şi pachete PL/SQL Subprograme şi pachete PL/SQL Subprograme PL/SQL Subprogramele sunt blocuri PL/SQL care au nume, acceptă parametri şi pot fi apelate din alte blocuri PL/SQL. Subprogramele pot fi declarate ca proceduri

More information

Metrici LPR interfatare cu Barix Barionet 50 -

Metrici LPR interfatare cu Barix Barionet 50 - Metrici LPR interfatare cu Barix Barionet 50 - Barionet 50 este un lan controller produs de Barix, care poate fi folosit in combinatie cu Metrici LPR, pentru a deschide bariera atunci cand un numar de

More information

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin Structura și Organizarea Calculatoarelor Titular: BĂRBULESCU Lucian-Florentin Chapter 3 ADUNAREA ȘI SCĂDEREA NUMERELOR BINARE CU SEMN CONȚINUT Adunarea FXP în cod direct Sumator FXP în cod direct Scăderea

More information

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors.

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. 9. CURSOARE Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. Cursoare sunt zone de memorie care ne permit să alocam o zonă de memorie

More information

Crearea şi gestionarea tabelelor. Definirea constrângerilor de integritate în SQL

Crearea şi gestionarea tabelelor. Definirea constrângerilor de integritate în SQL Crearea şi gestionarea elor. Definirea constrângerilor de integritate în SQL Obiective Scopul acestui referat este de a prezenta instrucńiunile LDD ce pot fi utilizate pentru modificarea schemei logice

More information

INTEROGĂRI ÎN SQL SERVER

INTEROGĂRI ÎN SQL SERVER INTEROGĂRI ÎN SQL SERVER Principala operaţie efectuată într-o bază de date este operaţia de extragere a datelor, care se realizează cu ajutorul unei clauze SELECT. SELECT Clauza SELECT are o sintaxă foarte

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu Proiectarea bazelor de date # 11 PL/SQL Funcții în PL/SQL (partea a II-a) 2018 Adrian Runceanu www.runceanu.ro/adrian Curs 11 Funcţii în PL/SQL (partea II) Proiectarea bazelor de date 2 Cuprins Funcţii

More information

5.1 Definirea datelor în SQL

5.1 Definirea datelor în SQL SQL Acronim pentru Structured Query Language Dezvoltat pentru sistemul de gestiune a bazelor de date System R, creat de IBM Research Laboratory, San Jose, California, la sfârşitul anilor 70. SQL a fost

More information

GHID DE TERMENI MEDIA

GHID DE TERMENI MEDIA GHID DE TERMENI MEDIA Definitii si explicatii 1. Target Group si Universe Target Group - grupul demografic care a fost identificat ca fiind grupul cheie de consumatori ai unui brand. Toate activitatile

More information

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban Reflexia şi refracţia luminii. Aplicaţii. Sumar 1. Indicele de refracţie al unui mediu 2. Reflexia şi refracţia luminii. Legi. 3. Reflexia totală 4. Oglinda plană 5. Reflexia şi refracţia luminii în natură

More information

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962) ARBORI AVL (denumiti dupa Adelson-Velskii si Landis, 1962) Georgy Maximovich Adelson-Velsky (Russian: Гео ргий Макси мович Адельсо н- Ве льский; name is sometimes transliterated as Georgii Adelson-Velskii)

More information

Subiecte Clasa a VI-a

Subiecte Clasa a VI-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 numarului intrebarii

More information

6. Bucle. 6.1 Instrucţiunea while

6. Bucle. 6.1 Instrucţiunea while 6. Bucle În capitolul trecut am văzut cum putem selecta diferite instrucţiuni pentru execuţie folosind instrucţiunea if. O buclă este o structură de control care provoacă executarea unei instrucţiuni sau

More information

Versionare - GIT ALIN ZAMFIROIU

Versionare - GIT ALIN ZAMFIROIU Versionare - GIT ALIN ZAMFIROIU Controlul versiunilor - necesitate Caracterul colaborativ al proiectelor; Backup pentru codul scris Istoricul modificarilor Terminologie și concepte VCS Version Control

More information

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document

More information

Laborator 5: PROIECTAREA BAZELOR DE DATE CURSORI (partea a II-a)

Laborator 5: PROIECTAREA BAZELOR DE DATE CURSORI (partea a II-a) Laborator 5: PROIECTAREA BAZELOR DE DATE CURSORI (partea a II-a) 1. CURSORUL EXPLICIT Gestiunea implicită a cursorului prin utilizarea unui ciclu FOR: FOR nume_record IN nume_cursor LOOP... În acest caz,

More information

Gruparea rezultatelor unei interogări

Gruparea rezultatelor unei interogări Metode de selecţie a datelor din tabele multiple. Gruparea rezultatelor unei interogări Metode de selecţie a datelor din tabele multiple Obiective După parcurgerea acestei secţiuni, studentul va avea cunoştinţele

More information

Modalitǎţi de clasificare a datelor cantitative

Modalitǎţi de clasificare a datelor cantitative Modalitǎţi de clasificare a datelor cantitative Modul de stabilire a claselor determinarea pragurilor minime şi maxime ale fiecǎrei clase - determinǎ modul în care sunt atribuite valorile fiecǎrei clase

More information

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) Semnale şi sisteme Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) http://shannon.etc.upt.ro/teaching/ssist/ 1 OBIECTIVELE CURSULUI Disciplina îşi propune să familiarizeze

More information

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog Laborator 1 Programare declarativă O paradigmă de programare în care controlul fluxului de execuție este lăsat la latitudinea implementării limbajului, spre deosebire de programarea imperativă în care

More information

CERERI SELECT PE MAI MULTE TABELE

CERERI SELECT PE MAI MULTE TABELE SQL - 2 CERERI SELECT PE MAI MULTE TABELE 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890

More information

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul II Nr. 7 aprilie 2013 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din

More information

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm Preparatory Problems 1Se dau punctele coliniare A, B, C, D în această ordine aî AB 4 cm, AC cm, BD 15cm a) calculați lungimile segmentelor BC, CD, AD b) determinați distanța dintre mijloacele segmentelor

More information

2. SCHEME LOGICE ŞI PSEUDOCOD

2. SCHEME LOGICE ŞI PSEUDOCOD REPREZENTRE LGORITMILOR PRIN PSEUDOCOD 2. SCHEME LOGICE ŞI PSEUDOCOD 2.1 Reprezentarea algoritmilor prin scheme logice Primitivele utilizate în schemele logice sunt simboluri grafice, cu funcţiuni (reprezentând

More information

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Nume şi Apelativ prenume Adresa Număr telefon  Tip cont Dobânda Monetar iniţial final Enunt si descriere aplicatie. Se presupune ca o organizatie (firma, banca, etc.) trebuie sa trimita scrisori prin posta unui numar (n=500, 900,...) foarte mare de clienti pe care sa -i informeze cu diverse

More information

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N Pentru a putea vizualiza imaginile unei camere web IP conectată într-un router ZTE H218N sau H298N, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe

More information

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii ilincamircea@yahoo.com TEMA III.1 v1 : ORGANIZAREA DATELOR UNUI PROGRAM C/C++ ÎN MO postat 02.11.2016 (sinteză) Coținutul

More information

Mecanismul de decontare a cererilor de plata

Mecanismul de decontare a cererilor de plata Mecanismul de decontare a cererilor de plata Autoritatea de Management pentru Programul Operaţional Sectorial Creşterea Competitivităţii Economice (POS CCE) Ministerul Fondurilor Europene - Iunie - iulie

More information

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea:

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea: Baze de date Pentru început este bine să înţelegem noţiunile de bază din Access: modul de organizare a unei baze de date, a noţiunilor de tabel, înregistrare, câmp, tip de dată al câmpului, proprietăţi

More information

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL LIMBAJUL SQL Prezentare generală SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaţionale. Este un limbaj neprocedural

More information

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows Ghid identificare versiune AWP, instalare AWP 4.5.4 şi verificare importare certificat în Store-ul de Windows Data: 28.11.14 Versiune: V1.1 Nume fişiser: Ghid identificare versiune AWP, instalare AWP 4-5-4

More information

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL Capitolul 4 SUBCERERI 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325 VASILE 2

More information

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila MS POWER POINT s.l.dr.ing.ciprian-bogdan Chirila chirila@cs.upt.ro http://www.cs.upt.ro/~chirila Pornire PowerPoint Pentru accesarea programului PowerPoint se parcurg următorii paşi: Clic pe butonul de

More information

[{CYCLE NOCYCLE}] [{CACHE

[{CYCLE NOCYCLE}] [{CACHE Laborator 10 1. Secvenţe Secvenţa este un obiect al bazei de date ce permite generarea de întregi unici pentru a fi folosiţi ca valori pentru cheia primară sau coloane numerice unice. Secvenţele sunt independente

More information

SGBD Access 2010: Query

SGBD Access 2010: Query SGBD Access 2010: Query Interogarea (Query) este un obiect ce permite vizualizarea informaţiilor obţinute prin selectarea şi prelucrarea datelor din unul sau mai multe tabele (sau interogări) Rezultatul

More information

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; } Arbori Arborii, ca şi listele, sunt structuri dinamice. Elementele structurale ale unui arbore sunt noduri şi arce orientate care unesc nodurile. Deci, în fond, un arbore este un graf orientat degenerat.

More information

Documentaţie Tehnică

Documentaţie Tehnică Documentaţie Tehnică Verificare TVA API Ultima actualizare: 27 Aprilie 2018 www.verificaretva.ro 021-310.67.91 / 92 info@verificaretva.ro Cuprins 1. Cum funcţionează?... 3 2. Fluxul de date... 3 3. Metoda

More information

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. 9. Memoria Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. Primul nivel conține memorie de program cache (L1P) și memorie de date cache (L1D). Al doilea

More information

ACADEMIA DE STUDII ECONOMICE BUCUREŞTI FACULTATEA DE CIBERNETICĂ, STATISTICĂ ŞI INFORMATICĂ ECONOMICĂ. BUCUREŞTI Iulie 2018

ACADEMIA DE STUDII ECONOMICE BUCUREŞTI FACULTATEA DE CIBERNETICĂ, STATISTICĂ ŞI INFORMATICĂ ECONOMICĂ. BUCUREŞTI Iulie 2018 ACADEMIA DE STUDII ECONOMICE BUCUREŞTI FACULTATEA DE CIBERNETICĂ, STATISTICĂ ŞI INFORMATICĂ ECONOMICĂ Admitere 2018 Programul de masterat profesional de specializare BAZE DE DATE SUPORT PENTRU AFACERI

More information

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive. . egimul de curent continuu de funcţionare al sistemelor electronice În acest regim de funcţionare, valorile mărimilor electrice ale sistemului electronic sunt constante în timp. Aşadar, funcţionarea sistemului

More information

R O M Â N I A CURTEA CONSTITUŢIONALĂ

R O M Â N I A CURTEA CONSTITUŢIONALĂ R O M Â N I A CURTEA CONSTITUŢIONALĂ Palatul Parlamentului Calea 13 Septembrie nr. 2, Intrarea B1, Sectorul 5, 050725 Bucureşti, România Telefon: (+40-21) 312 34 84; 335 62 09 Fax: (+40-21) 312 43 59;

More information

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A. Excel Advanced Curriculum Școala Informală de IT Tel: +4.0744.679.530 Web: www.scoalainformala.ro / www.informalschool.com E-mail: info@scoalainformala.ro Cuprins 1. Funcții Excel pentru avansați 2. Alte

More information

INTERPRETOARE DE COMENZI

INTERPRETOARE DE COMENZI Rularea lui determin afişarea mesajului hello world la consola 3.2. Facilităţi ale interpretoarelor de comenzi 3.1. Introducere Capitolul 3 INTERPRETOARE DE COMENZI Interpretorul de comenzi este un program

More information

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE.

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. I. SCOPUL LUCRĂRILOR Lucrările prezintă reprezentarea

More information

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: 9, La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - (ex: "9", "125", 1573" - se va scrie fara ghilimele) Parola: -

More information

Propuneri pentru teme de licență

Propuneri pentru teme de licență Propuneri pentru teme de licență Departament Automatizări Eaton România Instalație de pompare cu rotire în funcție de timpul de funcționare Tablou electric cu 1 pompă pilot + 3 pompe mari, cu rotirea lor

More information

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M ) FLEXIMARK FCC din oțel inoxidabil este un sistem de marcare personalizată în relief pentru cabluri și componente, pentru medii dure, fiind rezistent la acizi și la coroziune. Informații Included in FLEXIMARK

More information

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte 1. Introducere ~ Microsoft Access ~ Baze de Date Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte 2. Crearea unei

More information

CURS 2. Reprezentarea numerelor intregi si reale. Sistem de numeraţie

CURS 2. Reprezentarea numerelor intregi si reale. Sistem de numeraţie Sistem de numeraţie CURS 2 Reprezentarea numerelor intregi si reale F.Boian, Bazele matematice ale calculatoarelor, UBB Cluj-Napoca, 2002 How computers see numbers and letters http://faculty.etsu.edu/lutter/courses/phys4007/p4007append_f.pdf

More information

Auditul financiar la IMM-uri: de la limitare la oportunitate

Auditul financiar la IMM-uri: de la limitare la oportunitate Auditul financiar la IMM-uri: de la limitare la oportunitate 3 noiembrie 2017 Clemente Kiss KPMG in Romania Agenda Ce este un audit la un IMM? Comparatie: audit/revizuire/compilare Diferente: audit/revizuire/compilare

More information

Limbajul VHDL. Circuite integrate numerice. Limbajul VHDL

Limbajul VHDL. Circuite integrate numerice. Limbajul VHDL Limbajul VHDL VHDL este unul dintre limbajele standard folosite în industrie la ora actuală, pentru a descrie sistemele numerice. VHDL înseamnă VHSIC (Very High Speed Integrated Circuits) Hardware Description

More information

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii www.pwc.com/ro Aspecte controversate în Procedura Insolvenţei şi posibile soluţii 1 Perioada de observaţie - Vânzarea de stocuri aduse în garanţie, în cursul normal al activității - Tratamentul leasingului

More information

Itemi Sisteme de Operare

Itemi Sisteme de Operare Itemi Sisteme de Operare 1. Pentru a muta un dosar (folder) de pe partiţia C: pe partiţia D: folosim: a. New Folder b. Ctrl + C din bara de instrumente şi Copy; c. Ctrl + X şi Ctrl + V; d. Edit Paste;

More information

The First TST for the JBMO Satu Mare, April 6, 2018

The First TST for the JBMO Satu Mare, April 6, 2018 The First TST for the JBMO Satu Mare, April 6, 08 Problem. Prove that the equation x +y +z = x+y +z + has no rational solutions. Solution. The equation can be written equivalently (x ) + (y ) + (z ) =

More information

3. Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date.

3. Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date. 3. Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date. Cu toate c limbajul Pascal a fost conceput pentru înv area program rii, el este folosit ast zi la rezolvarea celor

More information

Reţele Neuronale Artificiale în MATLAB

Reţele Neuronale Artificiale în MATLAB Reţele Neuronale Artificiale în MATLAB Programul MATLAB dispune de o colecţie de funcţii şi interfeţe grafice, destinate lucrului cu Reţele Neuronale Artificiale, grupate sub numele de Neural Network Toolbox.

More information

PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV)

PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV) PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV) Instrucţiuni condiţionale Instrucţiunea reprezintă o formă de ramificare a ordinii de execuţie a instrucţiunilor programului. Ramificarea se face

More information

UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE. Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE

UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE. Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE Electromecanică - Frecvenţă redusă - Suport teoretic - 2006-2007

More information

1.1. Noţiuni introductive

1.1. Noţiuni introductive 1.1. Noţiuni introductive SQL (pronunţat fie ca un singur cuvânt sequel sau pe litere S-Q-L ) se bazează pe studiile lui E.F. Codd, prima implementare a limbajului SQL fiind dezvoltată de către firma IBM

More information

5.2 Interogări în SQL

5.2 Interogări în SQL 5.2 Interogări în SQL Cererile de interogare exprimate în SQL prezintă un aspect declarativ deoarece sunt specificate proprietăţile rezultatului şi nu modul de obţinere (SQL urmăreşte principiile calculului

More information

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple Memoria cache Memoria virtuală 1 Memorii RAM: datele sunt identificate cu ajutorul unor adrese unice Memorii asociative:

More information

Subinterogari SELECT salariul FROM angajaţi WHERE nume= Ionescu SELECT nume, prenume FROM angajaţi WHERE salariul>s

Subinterogari SELECT salariul FROM angajaţi WHERE nume= Ionescu SELECT nume, prenume FROM angajaţi WHERE salariul>s Subinterogari Sunteţi patronul unei firme. În ultima perioadă unul dintre salariaţii firmei, pe nume Ionescu, s-a remarcat în mod deosebit prin activitatea sa. Aţi decis de aceea să îi măriţi salariul

More information

MICROSOFT ACCESS 2007 (DE CĂUTAT???)

MICROSOFT ACCESS 2007 (DE CĂUTAT???) Access 2007 Modul A Pagina 1 MICROSOFT ACCESS 2007 (DE CĂUTAT???) 1. CONCEPTE GENERALE PRIVIND BAZELE DE DATE Evoluţia diferitelor metode şi tehnici de organizare a datelor pe suporturi de memorie externă

More information

Olimpiad«Estonia, 2003

Olimpiad«Estonia, 2003 Problema s«pt«m nii 128 a) Dintr-o tabl«p«trat«(2n + 1) (2n + 1) se ndep«rteaz«p«tr«telul din centru. Pentru ce valori ale lui n se poate pava suprafata r«mas«cu dale L precum cele din figura de mai jos?

More information

Introducere în Matlab

Introducere în Matlab Introducere în Matlab Matlab-ul este un limbaj de nivel foarte înalt care prezintă performanńe deosebite în ceea ce priveşte calculul tehnic (Matlab reprezintă o prescurtare a cuvintelor Matrix laboratory

More information

Capitolul IV. Programarea în limbajul C

Capitolul IV. Programarea în limbajul C Capitolul IV. Programarea în limbajul C 1. Scurt istoric Părintele limbajului C este Dennis Ritchie (Bell Laboratories) Limbajul a fost proiectat în 1972 pentru implementarea unui sistem de operare pentru

More information

Update firmware aparat foto

Update firmware aparat foto Update firmware aparat foto Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încredere că puteţi realiza acest update cu succes, acesta

More information

X-Fit S Manual de utilizare

X-Fit S Manual de utilizare X-Fit S Manual de utilizare Compatibilitate Acest produs este compatibil doar cu dispozitivele ce au următoarele specificații: ios: Versiune 7.0 sau mai nouă, Bluetooth 4.0 Android: Versiune 4.3 sau mai

More information

6. Excepţii şi aserţiuni. 6. Excepţii şi aserţiuni

6. Excepţii şi aserţiuni. 6. Excepţii şi aserţiuni 6. Excepţii şi aserţiuni 1 6. Excepţii şi aserţiuni Tipuri excepţii Clauza throws Generarea excepţiilor Clauzele try, catch şi finally Recomandări pentru utilizarea excepţiilor Aserţiuni 2 Introducere

More information

Sisteme de numeraţie Reprezentarea informaţiei numerice în calculatoare Terminologia folosită în legătură cu erorile de calcul Reprezentarea

Sisteme de numeraţie Reprezentarea informaţiei numerice în calculatoare Terminologia folosită în legătură cu erorile de calcul Reprezentarea - Curs8 - Sisteme de numeraţie Reprezentarea informaţiei numerice în calculatoare Terminologia folosită în legătură cu erorile de calcul Reprezentarea numerelor reale Standardul IEEE 754 pentru reprezentarea

More information

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul III Nr. 21 iunie 2014 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din

More information

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER 3.2 Arhitectura setului de instrucţiuni ISA Copyright Paul GASNER Programarea CPU Programele scrise în limbaje de nivel înalt trebuie compilate pentru a obţine un program executabil Din punctul de vedere

More information

Cap.5 Normalizarea relaţiilor

Cap.5 Normalizarea relaţiilor CAPITOLUL 5 NORMALIZAREA RELAŢIILOR Dependenţele de date reprezintă constrângeri care se impun valorilor atributelor unei relaţii şi determină proprietăţile relaţiei în raport cu operaţiile de inserare,

More information

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs Acta Technica Napocensis: Civil Engineering & Architecture Vol. 57, No. 1 (2014) Journal homepage: http://constructii.utcluj.ro/actacivileng Updating the Nomographical Diagrams for Dimensioning the Concrete

More information

Laborator 10: PROIECTAREA BAZELOR DE DATE Tipuri de date compuse. Inregistrare (RECORD). Colecţie (INDEX- BY TABLE, NESTED TABLE, VARRAY)

Laborator 10: PROIECTAREA BAZELOR DE DATE Tipuri de date compuse. Inregistrare (RECORD). Colecţie (INDEX- BY TABLE, NESTED TABLE, VARRAY) Laborator 10: PROIECTAREA BAZELOR DE DATE Tipuri de date compuse. Inregistrare (RECORD). Colecţie (INDEX- BY TABLE, NESTED TABLE, VARRAY) 1. Înregistrări (RECORD) Declararea tipului RECORD se face conform

More information

PROIECTAREA ALGORITMILOR

PROIECTAREA ALGORITMILOR Universitatea Constantin Brâncuşi Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu 3 PROIECTAREA ALGORITMILOR Lect. univ. dr. Adrian Runceanu 1 Curs 3 Alocarea dinamică de

More information

Crearea aplicaţiilor consolă

Crearea aplicaţiilor consolă Crearea aplicaţiilor consolă Pentru a realiza aplicaţii consolă (ca şi cele din Borland Pascal sau Borland C) în mediul de dezvoltare Visual Studio, trebuie să instalăm o versiune a acestuia, eventual

More information

Baze de date distribuite și mobile

Baze de date distribuite și mobile Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Baze de date distribuite și mobile Lect.dr. Adrian Runceanu Curs 3 Model fizic şi model

More information

MICROSOFT OFFICE ACCESS

MICROSOFT OFFICE ACCESS MICROSOFT OFFICE ACCESS NoŃiuni introductive despre baze de date Definirea termenilor O bază de date reprezintă o colecńie de date înrudite, care se referă la un anumit subiect sau obiectiv, împreuna cu

More information

Constructii sintetizabile in verilog

Constructii sintetizabile in verilog Constructii sintetizabile in verilog Introducere Programele verilog se împart în două categorii: cod pentru simulare și cod sintetizabil. Codul scris pentru simulare (testul) nu este sintetizabil. Codul

More information

Proceduri de analizã a datelor

Proceduri de analizã a datelor Proceduri de analizã a datelor Liste Prin listã se întelege o serie de linii succesive într-o foaie de calcul, fiecare coloanã din listã continând date cu aceeasi semnificatie logicã. De exemplu, o listã

More information

Clean Code * Asist. dr. Bogdan Iancu. Asist. dr. Alin Zamfiroiu. * sau de ce e mai important felul în care scriem cod decât ceea ce scriem

Clean Code * Asist. dr. Bogdan Iancu. Asist. dr. Alin Zamfiroiu. * sau de ce e mai important felul în care scriem cod decât ceea ce scriem Clean Code * * sau de ce e mai important felul în care scriem cod decât ceea ce scriem Asist. dr. Bogdan Iancu Asist. dr. Alin Zamfiroiu Despre ce vom discuta De ce clean code? Principii Convenții de nume

More information

Macrocomenzi. Figura 1. Personalizarea barei de meniuri. Se va afișa fereastra din figura 2. Figura 2. Includerea tab ului Developer.

Macrocomenzi. Figura 1. Personalizarea barei de meniuri. Se va afișa fereastra din figura 2. Figura 2. Includerea tab ului Developer. Macrocomenzi Macrocomenzile (sau, prescurtat macrou rile) sunt colecții de comenzi înregistrate pentru a putea fi lansate în execuție, în bloc, ori de câte ori va fi nevoie. Avantajul lucrului cu macro

More information

Capitolul IF.02. Structurarea bazelor de date

Capitolul IF.02. Structurarea bazelor de date Capitolul Cuvinte-cheie: Normalizare, prima formă normală, a doua formă normală, a treia formă normală, cheie candidată, relatie 1 la 1, relație 1 la n, relație m la n IA.02.1. Scurt istoric În anii '60,

More information

Interogarea (query), este operaţia prin care se obţin datele

Interogarea (query), este operaţia prin care se obţin datele CAPITOLUL 3 INTEROGAREA BAZELOR DE DATE Interogarea (query), este operaţia prin care se obţin datele dorite dintr-o bază de date, selectate conform unui anumit criteriu (condiţie). Întrucât operaţia de

More information

Capitolul 10. Şiruri de caractere *)

Capitolul 10. Şiruri de caractere *) Şiruri de caractere *)! Operaţii cu variabile de tip string! Subprograme predefinite pentru string-uri! Implementări sugerate! Probleme propuse! Soluţiile problemelor Capitolul 10 Tipul şir de caractere

More information

Ce este o BAZA DE DATE?

Ce este o BAZA DE DATE? Ce este o BAZA DE DATE? In sens larg un sistem proiectat pentru a oferi un mecanism organizat, capabil sa stocheze, sa actualizeze si sa regaseasca informatia Exemplu: o biblioteca Noţiunea de bază de

More information

NOȚIUNI TEORETICE ȘI PROBLEME ȘIRURI DE CARACTERE C++

NOȚIUNI TEORETICE ȘI PROBLEME ȘIRURI DE CARACTERE C++ NOȚIUNI TEORETICE ȘI PROBLEME ȘIRURI DE CARACTERE C++ Clasa a XI a, specializarea matematică - informatică Prof. Țopa Robert Noțiuni teoretice prezentare generală Un șir de caractere este o structură de

More information

UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA

UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA Facultatea de Ştiinţe Economice şi Administraţie Publică Nicolae Morariu BAZE DE DATE Îndrumar de laborator 2005 1 Referenţi ştiinţifici: Prof.univ.dr.ing. Alexandru

More information