Sep 29

Instrucţiunile SELECT şi funcţiile PL/pgSQL

Imaginaţi-vă un tabel ce conţine numele unui angajat, numărul camerei în care lucrează angajatul şi salariul acestuia:

CREATE TABLE employees (id serial, name varchar(50), room int4, salary int4);
INSERT INTO employees (name, room, salary) VALUES (’Paul’, 1, 3000);
INSERT INTO employees (name, room, salary) VALUES (’Ion’, 1, 3000);
INSERT INTO employees (name, room, salary) VALUES (’Linda’, 1, 3000);
INSERT INTO employees (name, room, salary) VALUES (’Carla’, 1, 3000);
INSERT INTO employees (name, room, salary) VALUES (’Maria’, 1, 3000);
INSERT INTO employees (name, room, salary) VALUES (’Alice’, 1, 3000);
INSERT INTO employees (name, room, salary) VALUES (’Victor’, 1, 3000);

Scopul nostru este să scriem o funcţie care să verifice dacă un angajat se află în tabel şi se execută o operaţie INSERT sau o operaţie UPDATE:

CREATE FUNCTION insertupdate(text, int4) RETURNS bool AS ’
DECLARE
intext ALIAS FOR $1;
newsal ALIAS FOR $2;
checkit record;
BEGIN
SELECT INTO checkit * from employees
WHERE name = intext;
IF NOT FOUND THEN
INSERT INTO employees (name, room, salary)
VALUE(intext, ’’1’’, newsal);
RETURN ’’t’’;
ELSE
UPDATE employees SET salary=newsal, room=checkit.room
WHERE name=intext;
RETURN ’’f’’;
ENDIF;
END;
’ LANGUAGE ’plpgsql’;

Read the rest of this entry »

Tags: , , , , , ,

Related posts

Sep 29
PL-PGSQL
icon1 admin | icon2 BD, Romana | icon4 09 29th, 2008| icon3No Comments »

PL/PGSQL

PostgreSQL oferă un limbaj de programare special pentru crearea funcţiilor cu cod SQL. Acest limbaj de programare (de aceea se cheamă PL/pgSQL) îi oferă programatorului un potenţial de execuţie cu mult mai mare decât simplele comenzi SELECT, INSERT sau UPDATE. Puterea limbajului PL/pgSQL poate fi folosită pentru rezolvarea problemelor care nu pot fi rezolvate cu simple instrucţiuni SQL. Pachetul a fost scris iniţial de Jan Wieck. Să vedem acum care sunt ideile şi conceptele de bază ale limbajului PL/pgSQL.
PL/pgSQL este un limbaj procedural şi seamănă cu PL/SQL din Oracle (vezi secţiunea intitulată „De ce aţi folosit PL/pgSQL?” de mai târziu din acest capitol). Ca şi PL/SQL, PL/pgSQL este un limbaj orientat pe blocuri, care foloseşte declaraţii de variabile, bucle, construcţii logice şi tratarea avansată a erorilor.

De ce aţi folosi PL/pgSQL?

PL/pgSQL este o extensie puternică pentru SQL. Nu toate problemele uzuale pot fi rezolvate cu codul SQL simplu. PL/pgSQL a fost conceput ca limbaj de programare care să poată fi folosit în baza de date, din acest motiv fiind o bună alegere pentru integrarea îmbunătăţirilor şi a noilor facilităţi într-o bază de date PostgreSQL.
Un avantaj reprezentat de PL/pgSQL este independenţa de platformă, ceea ce înseamnă că programatorul nu trebuie să se preocupe dacă funcţia rulează pe un procesor x86, pe un calculator Alpha sau pe orice altă platformă compatibilă cu PostgreSQL. Toate aspectele legate de sistemul de calcul reprezintă problema exclusivă a structurii interne a PL/pgSQL (cine vrea să-şi bată capul cu ordinea octeţilor şi alte lucruri de acest gen?), acesta fiind motivul pentru care funcţiile PL/pgSQL nu trebuie portate pe alte platforme. PL/pgSQL este o parte a bazei de date, acesta fiind probabil cel mai semnificativ avantaj faţă de orice altă metodă de construire a funcţiilor în mediile PostgreSQL.
Totuşi, deparazitarea codului PL/pgSQL poate fi o mare bătaie de cap. Inserarea funcţiei în baza de date nu garantează că funcţia va putea fi apelată.
Până acum, nu există niciun deparazitor, iar PostgreSQL adesea nu oferă mesaje de eroare exacte, care să-l ajute pe utilizator să localizeze rapid eroarea. Funcţiile ce conţin multe rânduri de cod sursă pot fi cu greu deparazitate. Noi recomandăm cu tărie să nu scrieţi mai multe funcţii dintr-o dată; adesea este mai bine să începeţi cu ceva de genul „Hello World” şi să îmbunătăţiţi funcţia pas cu pas. Aceasta garantează, într-un fel, că programatorul poate localiza rândurile în care este posibil să fi apărut o eroare de sintaxă. Read the rest of this entry »

Tags: , , , , , , , ,

Related posts

Sep 27

Orice morala consta dintr-un sistem de reguli , iar esenta oricarei moralitati trebuie cautata in respectul pe care individual il nutreste fata de reguli. Regulile morale pe care copilul le invata sa le respecte le primeste , in cea mai mare parte de la adulti, ceea ce inseamna ca le capata complet elaborate. Copilul este supus inca din leagan unui nr mare de reguli si, inainte de a-si insusi limbajul, devine constient de unele obligatii.
Morala copilului ne ajuta sa intelegem intr-un sens pe acea a omului. De aceea, nimic nu este mai util pentru a forma oamenii decat sa invatam a cunoaste legile acestei formari.
Se observa la copiii de 2-6 ani un tip caracteristic de pseudoconversatii sau de ‘ monologuri colective’ , in cursul carora ei vb numai pt sine, simtind totusi nevoia de a se afla in fata unor interlocutori, care reprezinta niste excitanti.
Copiii de 7-10 ani nu cunosc amanuntele regulilor, ei cauta sa le invete in functie de interesul lor tot mai mare pt jocul in comun. Regulile sunt sacre si imuabile pt ca decurg din autoritatea paterna.
Copilul nu reuseste sa diferentieze operatiile in inventarea noului si care consta in rememorarea trecutului , de unde amestecul de fabulatie si de reproducere exacta, care-I caracterizeaza relatarile sau memoria. Pt platon , creatia intelectuala se confunda cu reminiscent; copilul crede ca povestile pe care le spune au fost scrise dinainte in creierul sau de catre Dumnezeu: “inainte de a ma fi nascut, El le-a pus acolo”(cazul Kauf). Pana la varsta de 6-7 ani copilului ii vine foate greu sa-si dea seama ce vine de la el si ce vine de la altii in propriile sale cunostinte. Aceasta tine mai intai de dificultatea retrospectiunii(vezi J.R.,cap.IV), precum si de lipsa de organizare a memoriei. Copilul este astfel inclinat sa considere ca el a stiut intotdeauna ceva aflat, de fapt, abia acuma. Read the rest of this entry »

Tags: , , , , , , , , ,

Related posts

Sep 27

Aggression is any form of behavior by one person which is intended to cause pain, suffering, or damage to another person. Aggression includes many types of behaviors. Although most people usually only think of aggression in terms of physical attacks, verbal behavior meant to cause psychological harm is also aggression. Physical aggression includes behaviors like hitting another person or firing a gun. Verbal aggression includes behaviors like screaming at someone in anger or using an obscene gesture. Aggression is part of most societies but it is less controlled in the United States than in many other countries. Aggression is difficult to predict, and often hard to control.

Anger and aggression often, but not always, go hand in hand. Anger is a normal, and necessary, human emotion. It is how people naturally respond to threats, and it inspires powerful, often aggressive feelings that allow people to fight when they are attacked. When anger gets out of control, however, it becomes destructive and people respond aggressively. People need to express the anger. Doing this in an assertive, not aggressive, way is healthiest. Being assertive means that people make their needs clear and meet those needs without hurting others. People also suppress anger by holding it in while focusing on something positive; this can be a dangerous response to anger because the anger can turn inward and cause physical problems like high blood pressure or depression, or lead people to get back at others indirectly or develop a cynical and hostile personality. People can also control anger by calming themselves down, by taking steps to lower their heart rate and let the angry feelings go away. When these methods of controlling anger do not work, the result is aggression. Read the rest of this entry »

Tags: , , , , , , , , , , , , , , , , , , , , , ,

Related posts

Sep 16
Testul x2
icon1 admin | icon2 Romana | icon4 09 16th, 2008| icon3No Comments »

Enunt

Este folosit pentru esantionarea a minim 50 de valori

Algoritm
Pasul 1: Fiind dat un sir de valori experimentale x1, x2, …, xn, se ordoneaza sirul crescator si se împarte în k clase, unde
(1.24)
si

(1.25)

Pasul 2: Se comaseaza clasele extreme, daca este cazul, astfel încât fiecare clasa sa aiba cel putin câte 5 valori, si se considera numarul de grade de libertate al sirului de date

n = numarul de noi clase (comasate) - 1 (1.26)
Pasul 3: Se calculeaza pentru fiecare clasa valoarea
(1.27)
unde xi reprezinta limita superioara a clasei i (la ultima clasa se considera x(n+1) = ¥).
Pasul 4: Se calculeaza valorile
Read the rest of this entry »

Tags: , , , , , , , ,

Related posts

Sep 16
Testul Massey
icon1 admin | icon2 Romana | icon4 09 16th, 2008| icon3No Comments »

Enunt

Este folosit in determinarea volumul esantionului in intervalul 8 … 32)

Algoritm
Pasul 1: Se calculeaza valorile
(1.17)
Pasul 2: Se determina valorile

Pasul 3: Se calculeaza frecventele relative cumulate

(1.20) unde ni reprezinta numarul de valori y mai mici sau egale cu valoarea yi.

Pasul 4: Se determina valorile  (1.21)
si se alege valoarea dmax.
Pasul 5: Se compara valoarea dmax cu valoarea dcritic aleasa din tabelul 1.4 (în functie de volumul esantionului si de un coeficient de încredere a ales conform celor prezentate anterior) si se considera ca esantionul de valori experimentale are o distributie normala (Gauss) daca este îndeplinita conditia

dmax < dcritic Read the rest of this entry »

Tags: , , , , , ,

Related posts

Sep 16
Testul Young
icon1 admin | icon2 Romana | icon4 09 16th, 2008| icon3No Comments »


Enunt

Este folosit in determinarea valorilor afectate de erori sistemetice dintr-un sir.

Algoritm

Pasul 1: Fiind dat un sir de valori experimentale x1, x2, …, xn, se calculeaza marimea  (1.5)
si marimea

(1.6)
Pasul 2: Se compara marimea M cu valorile VCI (valoare critica inferioara) si VCS (valoare critica superioara), alese din tabelul 1.2, si se considera ca sirul de valori experimentale are un caracter aleator, cu probabilitatea a, daca este îndeplinita conditia
VCI < M < VCS Read the rest of this entry »

Tags: , , , , , , ,

Related posts

Sep 16
Testul Chauvenet
icon1 admin | icon2 Romana | icon4 09 16th, 2008| icon3No Comments »

Enunt

Este folosit in determinarea valorilor afectate de erori aberante dintr-un sir.

Algoritm

Fiind dat un sir de valori experimentale x1, x2, …, xn, se considera ca valoarea xi este afectata de erori aberante daca este verificata conditia (criteriul Chauvenet)

(1.1)
unde   si  reprezinta media aritmetica, respectiv abaterea standard a sirului de valori experimentale, iar marimea z se alege din tabelul 1.1 în functie de numarul n de valori din sir (cunoscut si ca dimensiunea sirului sau volumul esantionului). Read the rest of this entry »

Tags: , , , , , , ,

Related posts

Sep 3

1.    Ce se intelege prin sistem in sensul acestei discipline?
R:   Un  sistem este un ansamblu bine organizat de componente(subsisteme),interdependente,capabile sa raspunda,sub actiunea a diversi stimuli,unui anumit scop,cu anumite performante.

2.    Dar prin sistem de productie?
R :  Un sistem de productie este un ansamblu de postura de lucru,masini-unelte,operatori umani, personal de intretinere,semifabricate,piese,scule,dispozitive,etc

3.    Ce se intelege prin proces de productie in sensul acestei discipline ?
R :   Procesul de productie reprezinta totalitatea fenomelor ce au loc in sistemul de productie,in scopul obtinerii proceselor finite.

4.    Ce este un model in sensul acestei discipline ?

R:   Un model este o reprezentare simplificata a unei situatii empirice.Modelul reduce complexitatea si pastreaza comportarea esentiala a fenomenului natural,avand un nr.redus de factori care sunt legati intre ei prin relatii simplificate.
Read the rest of this entry »

Tags: , , , , , ,

Related posts