Sunteți pe pagina 1din 39

Iustinian Monea Componente PC

UNIVERSITATEA TEHNICA DE CONSTRUCTII, BUCURESTI


Facultatea de Hidrotehnica
Automatica si informatica aplicata

BAZE DE DATE
- proiect -

Iustinian Monea,
A.I.A., anul III

1 | Pa g e

Iustinian Monea Componente PC

Cuprins:

1. Descrierea temei..................................................................................3
2. Notiuni Introductive............................................................................4
2.1. PostgreSQL....................................................................................5
2.2. PostgreSQL....................................................................................5
2.3. Crearea unei baze de date...............................................................6
3. Diagrama Entitate Asociere..............................................................8
4. Codul SQL pentru crearea tabelelor si inserarea datelor...................10
5. Descrierea view-urilor si codul SQL pentru crearea lor....................22
6. Concluzii...........................................................................................31
7. Bibliografie.........................................................................................32

2 | Pa g e

Iustinian Monea Componente PC

1. Descrierea temei
In acest proiect am realizat o baza de date privind activitatea dintr-un magazin
cu componente pc.
Tema aleasa consta in gestionarea marfurilor, a angajatilor si clientilor dintr-un
lant de magazine cu produse pentru calculator. Baza de date trebuie sa contina
informatii despre firma, despre serviciile pe care le ofera, produsele pe care le
comercializeaza dar si despre angajatii si clientii sai.
Deoarece este un magazine de calculatoare, firma este specializata in
comercializarea produselor IT. Pentru aceasta are nevoie sa stocheze in baza sa de
date informatii referitoare la produse (numele produsului, model, pret, tipul licentei si
numarul de utilizatori daca acesta este de tip software sau o descriere amanuntita daca
acesta este de tip hardware, garantie.[5]

3 | Pa g e

Iustinian Monea Componente PC

2. Notiuni Introductive

Avantajele BD

Un grad redus de redundan a datelor.

Diminuarea inconsistenei datelor.

Facilitarea partajrii informaiilor

Suport pentru standardizare.

Structurile de date sunt mai aproape de realitate i mai uor de manipulat.

Este permis legtura cu diverse limbaje-gazd.

Abordare global a ntreprinderii

Datele sunt separate de programele, iar procesul de dezvoltare a aplicaiilorprogram este sensibil ameliorat,

Sistemele informatice ce utilizeaz baze de date sunt mai flexibile, reflect mai
bine specificul firmei, fiind adaptabile la modificrile ulterioare ale mediului economic
[1]
Modelul de date relaional a fost propus de cercettorul E.F. Codd de la compania
IBM, care a publicat n anul 1970 lucrarea "Un model Relaional de Date pentru Bnci
Mari de Date Partajate" [Codd70]. Alte lucrri ale lui Codd, ca i ale altor cercettori
(C.J. Date, P. Chen, R. Boyce, J.D. Ullman, R. Fagin, W.W. Armstrong, M. Stonebraker,
etc.) au perfecionat modelul de date relaional i au permis dezvoltarea fr precedent a
sistemelor de gestiune a bazelor de date, datorit simplitii i a fundamentrii
matematice a modelului. [1]

4 | Pa g e

Iustinian Monea Componente PC

2.1. Baza de date

Din dorinta de a lucra mai usor, oamenii tind sa-si informatizeze toate activitatile. Una
dintre aceste activitati este si Componente PC
Pentru aceasta s-a folosit o baza de date in Postgresql.
O baza de date este o colectie de informatii corelate, referitoare la un anumit subiect
sau colectate, organizate si memorate intr-un anumit scop. Sistemul care permite
colectarea, organizarea, memorarea si regasirea informatiilor dintr-o baza de date se
numeste sistem de gestiune al bazelor de date (SGBD). Acesta poate fi conventional, in
care infomatiile sunt stocate pe foi de hartie si computerizat, in care informatiile sunt
pastrate in volume. Oracle este un astfel de sistem interactiv, computerizat pentru
gestionarea bazelor de date relationale.
Cel mai raspandit tip de baze de date este cel relational, in care datele sunt memorate
in tabele. Pe langa tabele, o baza de date relationala mai poate contine: indecsi, proceduri
stocate, declansatori, utilizatori si grupuri de utilizatori, tipuri de date, mecanisme de
securitate si de gestiune a tranzactiilor etc.[5]

5 | Pa g e

Iustinian Monea Componente PC

2.2. PostgreSQL

PostgreSQL este un sistem de baze de date relationale. Este disponibil gratuit sub o
licent open source de tip BSD. PostgreSQL nu este controlat de nici o companie, i
bazeaz dezvoltarea pe o comunitate rspndit la nivel global, precum i cteva
companii dezvoltatoare.
Cteva limitri generale

Dimensiunea maxim a bazei de date: nelimitat

Dimensiunea maxim a unei tabele: 32 TB

Dimensiunea maxim a unei nregistrri: 1,6 TB

Dimensiunea maxim a unui cmp: 1 GB

Numr maxim de nregistri ntr-o tabel: nelimitat

Numr maxim de coloane ntr-o tabel: 250 - 1600 n funcie de tipul coloanelor
PostgreSQL permite folosirea limbajelor procedurale pentru a executa blocuri de cod
direct n serverul de baze de date. Se pot folosi pentru a crea funcii definite de utilizator
(subrutine, trigerre, agregate i funcii fereastr) sau pentru a crea blocuri ad hoc "DO".
Instalarea standard a PostgreSQL permite utilizarea urmatoarelor limbaje:

PL/pgSQL, un limbar asemnator cu PL/SQL existent in Oracle.

PL/Tcl, pune la dispoziie Tcl

PL/Perl, pune la dispoziie Perl

PL/Python, pune la dispoziie Python, versiunea 2 sau 3.


Alte limbaje disponibile n afara pachetului de baz includ: PL/Java, PL/php,
PL/Ruby, etc.[2]
6 | Pa g e

Iustinian Monea Componente PC

7 | Pa g e

Iustinian Monea Componente PC

2.3. Crearea unei baze de date


Pas1. Porninre pgAdmin III.[4]

Serverele
de PostgreSQL

Introducerea parolei

8 | Pa g e

Iustinian Monea Componente PC

Pas2. Crearea unei baze de date

Pas3. Baza de date creata

9 | Pa g e

Iustinian Monea Componente PC

3. Diagrama Entitate Asociere


Faza initiala

Rezolvarea relatiilor many to many


Produs-Factura

10 | P a g e

Iustinian Monea Componente PC

Diagrama finala

Tabela Factura este legata de tabela Magazin prin cheia straina cod_magazin;
Tabela Factura este legata de tabela Client prin cheia straina cod_client;
Tabela Factura este legata de tabela Linii Factura prin cheia straina nr_factura;
Tabela Producator este legata de tabela Produs prin cheia straina cod_producator;
Tabela Produs este legata de tabela Linii Factura prin cheia straina cod_produs;
Tabela Magazin este legata de tabela Angajat prin cheia straina cod_magazin;

11 | P a g e

Iustinian Monea Componente PC


Regulil Structurale
Producator-Produs
Un producator produce unul sau mai multe produse.
Un produs este facut de un singur producator.
Factura-Linii factura
O factura contine una sau mai multe linii.
O linie apartine unei singure facturi.
Linie-Produs
O linie are mai multe produse.
Un produs apartine unei singure linii.
Factura-Client
Un client poate avea una sau mai multe facturi.
O factura poate aprartine unui singur client.
Factura-Magazin
Un magazin poate avea una sau mai multe facturi.
O factura poate aprartine unui singur magazin.
Magazin-Angajat
Un magazin poate avea unul sau mai multi angajati.
Un agajat poate lucra la un magazin.

12 | P a g e

Iustinian Monea Componente PC

4. Codul SQL pentru crearea tabelelor si inserarea datelor


Baza de date cuprinde 7 tabele (Angajat, Produs, Magazin, Client, Producator, Linii
factura, Factura)

13 | P a g e

Iustinian Monea Componente PC


Tabela Angajat

CREATE TABLE "Angajat"


(
id_angajat integer NOT NULL,
nume_angajat text,
prenume_angajat text,
adresa text,
telefon numeric,
cod_magazin integer,
"CNP" numeric,
CONSTRAINT "Angajat_pkey" PRIMARY KEY (id_angajat),
CONSTRAINT "Angajat_cod_magazin_fkey" FOREIGN KEY (cod_magazin)

14 | P a g e

Iustinian Monea Componente PC


REFERENCES "Magazin" (id_magazin) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)

INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,


telefon, cod_magazin, "CNP") VALUES (1, 'Angajat 1', 'Angajat 1', 'Adresa
Angajat 1', 736666351, 1, 5030906405633);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (2, 'Angajat 2', 'Angajat 2', 'Adresa
Angajat 2', 723369156, 1, 2401218404094);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (3, 'Angajat 3', 'Angajat 3', 'Adresa
Angajat 3', 721222333, 2, 5090919403296);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (4, 'Angajat 4', 'Angajat 4', 'Adresa
angajat 4', 736111222, 3, 5090724404815);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (5, 'Angajat 5', 'Angajat 5', 'Adresa
Angajat 5', 735241453, 4, 6100613408145);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (6, 'Angajat 6', 'Angajat 6', 'Adresa
Angajat 6', 736395132, 4, 1850709400184);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (7, 'Angajat 7', 'Angajat 7', 'Adresa
Angajat 7', 736395124, 4, 2410721403828);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (8, 'Angajat 8', 'Angajat 8', 'Adresa
Angajat 8', 736384687, 4, 1350120404803);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (9, 'Angajat 9', 'Angajat 9', 'Adresa
Angajat 9', 728888888, 3, 2850426404740);
INSERT INTO "Angajat" (id_angajat, nume_angajat, prenume_angajat, adresa,
telefon, cod_magazin, "CNP") VALUES (10, 'Angajat 10', 'Angajat 10', 'Adresa
Angajat 10', 735426987, 5, 1750205407181);

15 | P a g e

Iustinian Monea Componente PC


Tabela Client

CREATE TABLE "Client"


(
id_client integer NOT NULL,
nume_client text,
prenume_client text,
"CNP" numeric,
telefon numeric,

16 | P a g e

Iustinian Monea Componente PC


adresa text,
CONSTRAINT "Client_pkey" PRIMARY KEY (id_client)
)
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (9, 'Client 9', 'Client 9', 5000825401986,
745896354, 'Adresa Client 9');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (10, 'Client 10', 'Client 10', 1720503402706,
736988741, 'Adresa Client 10');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (1, 'Client 1', 'Client 1 ', 5020729402535,
732568999, 'Adresa Client 1');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (2, 'Client 2', 'Client 2', 6040316409968,
725846987, 'Adresa Client 2');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (3, 'Client 3', 'Client 3', 2490227406878,
726987124, 'Adresa Client 3');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (4, 'Client 4', 'Client 4', 6071209408127,
736987125, 'Adresa Client 4');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (5, 'Client 5', 'Client 5', 1850117409752,
736542369, 'Adresa Client 5');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (6, 'Client 6', 'Client 6', 1461028406552,
724157914, 'Adresa Client 6');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (7, 'Client 7', 'Client 7', 6021209403223,
789524164, 'Adresa Client 7');
INSERT INTO "Client" (id_client, nume_client, prenume_client, "CNP",
telefon, adresa) VALUES (8, 'Client 8', 'Client 8', 1330507402830,
789654134, 'Adresa Client 8');

17 | P a g e

Iustinian Monea Componente PC


Tabela Factura

CREATE TABLE "Factura"


(
nr_factura numeric NOT NULL,
cod_client integer,
cod_angajat integer,
cod_magazin integer,
CONSTRAINT "Factura_pkey" PRIMARY KEY (nr_factura),
CONSTRAINT "Factura_cod_angajat_fkey" FOREIGN KEY (cod_angajat)

18 | P a g e

Iustinian Monea Componente PC


REFERENCES "Angajat" (id_angajat) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "Factura_cod_client_fkey" FOREIGN KEY (cod_client)
REFERENCES "Client" (id_client) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "Factura_cod_magazin_fkey" FOREIGN KEY (cod_magazin)
REFERENCES "Magazin" (id_magazin) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)

INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES

INTO "Factura" (nr_factura,


(1, 1, 5, 2);
INTO "Factura" (nr_factura,
(2, 2, 3, 1);
INTO "Factura" (nr_factura,
(3, 3, 1, 1);
INTO "Factura" (nr_factura,
(4, 4, 2, 3);
INTO "Factura" (nr_factura,
(5, 5, 8, 4);
INTO "Factura" (nr_factura,
(6, 4, 3, 5);
INTO "Factura" (nr_factura,
(7, 6, 9, 4);
INTO "Factura" (nr_factura,
(8, 6, 9, 4);
INTO "Factura" (nr_factura,
(9, 3, 2, 2);
INTO "Factura" (nr_factura,
(10, 10, 10, 5);

cod_client, cod_angajat, cod_magazin)


cod_client, cod_angajat, cod_magazin)
cod_client, cod_angajat, cod_magazin)
cod_client, cod_angajat, cod_magazin)
cod_client, cod_angajat, cod_magazin)
cod_client, cod_angajat, cod_magazin)
cod_client, cod_angajat, cod_magazin)
cod_client, cod_angajat, cod_magazin)
cod_client, cod_angajat, cod_magazin)
cod_client, cod_angajat, cod_magazin)

19 | P a g e

Iustinian Monea Componente PC

Tabela Linii Factura

20 | P a g e

Iustinian Monea Componente PC


CREATE TABLE "Linii factura"
(
id_linie integer NOT NULL,
nr_factura numeric,
cod_produs integer,
cantitate numeric,
CONSTRAINT "Linii factura_pkey" PRIMARY KEY (id_linie),
CONSTRAINT "Linii factura_cod_produs_fkey" FOREIGN KEY (cod_produs)
REFERENCES "Produs" (id_produs) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "Linii factura_nr_factura_fkey" FOREIGN KEY (nr_factura)
REFERENCES "Factura" (nr_factura) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)

INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES

INTO "Linii factura"


(1, 1, 2, 2);
INTO "Linii factura"
(2, 1, 6, 1);
INTO "Linii factura"
(3, 1, 7, 1);
INTO "Linii factura"
(4, 2, 8, 4);
INTO "Linii factura"
(5, 3, 12, 2);
INTO "Linii factura"
(6, 4, 5, 1);
INTO "Linii factura"
(7, 4, 6, 1);
INTO "Linii factura"
(8, 5, 9, 3);
INTO "Linii factura"
(9, 5, 11, 1);
INTO "Linii factura"
(10, 6, 1, 10);
INTO "Linii factura"
(11, 7, 4, 5);
INTO "Linii factura"
(12, 8, 1, 1);

(id_linie, nr_factura, cod_produs, cantitate)


(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)

21 | P a g e

Iustinian Monea Componente PC


INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES

INTO
(13,
INTO
(14,
INTO
(15,
INTO
(16,
INTO
(17,
INTO
(18,
INTO
(19,
INTO
(20,
INTO
(21,
INTO
(22,

"Linii factura"
8, 3, 1);
"Linii factura"
8, 5, 1);
"Linii factura"
8, 7, 1);
"Linii factura"
8, 9, 1);
"Linii factura"
9, 2, 2);
"Linii factura"
9, 10, 1);
"Linii factura"
10, 4, 1);
"Linii factura"
10, 6, 1);
"Linii factura"
10, 8, 1);
"Linii factura"
10, 10, 1);

(id_linie, nr_factura, cod_produs, cantitate)


(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)
(id_linie, nr_factura, cod_produs, cantitate)

22 | P a g e

Iustinian Monea Componente PC


Tabela Magazin

CREATE TABLE "Magazin"


(
id_magazin integer NOT NULL,
locatie_magazin text,
contact text,
CONSTRAINT "Magazin_pkey" PRIMARY KEY (id_magazin)
)

23 | P a g e

Iustinian Monea Componente PC


INSERT INTO "Magazin" (id_magazin, locatie_magazin,
'Piata Obor', 'Contact Magazin 1');
INSERT INTO "Magazin" (id_magazin, locatie_magazin,
'Colentina', 'Contact Magazin 2');
INSERT INTO "Magazin" (id_magazin, locatie_magazin,
'Unirii 1', 'Contact Magazin 3');
INSERT INTO "Magazin" (id_magazin, locatie_magazin,
'Unirii 2', 'Contact Magazin 4');
INSERT INTO "Magazin" (id_magazin, locatie_magazin,
'Piata Muncii', 'Contact Magazin 5');

contact) VALUES (1,


contact) VALUES (2,
contact) VALUES (3,
contact) VALUES (4,
contact) VALUES (5,

Tabela Producator

24 | P a g e

Iustinian Monea Componente PC


CREATE TABLE "Producator"
(
id_producator integer NOT NULL,
telefon numeric,
nume_producator text,
tara_origine text,
adresa text,
CONSTRAINT "Producator_pkey" PRIMARY KEY (id_producator)
)

INSERT INTO "Producator" (id_producator, telefon, nume_producator,


tara_origine, adresa) VALUES (2, 722234568, 'Producator 2', 'USA', 'Adresa
Producator 2');
INSERT INTO "Producator" (id_producator, telefon, nume_producator,
tara_origine, adresa) VALUES (3, 722234568, 'Producator 3', 'Romania',
'Adresa Producator 3');
INSERT INTO "Producator" (id_producator, telefon, nume_producator,
tara_origine, adresa) VALUES (4, 722234568, 'Producator 4', 'China', 'Adresa
Producator 4');
INSERT INTO "Producator" (id_producator, telefon, nume_producator,
tara_origine, adresa) VALUES (5, 722234568, 'Producator 5', 'Romania',
'Adresa Producator 5');
INSERT INTO "Producator" (id_producator, telefon, nume_producator,
tara_origine, adresa) VALUES (6, 722234568, 'Producator 6', 'Franta',
'Adresa Producator 6');
INSERT INTO "Producator" (id_producator, telefon, nume_producator,
tara_origine, adresa) VALUES (7, 722234568, 'Producator 7', 'USA', 'Adresa
Producator 7');
INSERT INTO "Producator" (id_producator, telefon, nume_producator,
tara_origine, adresa) VALUES (8, 722234568, 'Producator 8', 'Germania',
'Adresa Producator 8');
INSERT INTO "Producator" (id_producator, telefon, nume_producator,
tara_origine, adresa) VALUES (1, 736321666, 'Producator 1', 'Canada',
'Adresa Producator 1');

25 | P a g e

Iustinian Monea Componente PC

Tabela Produs

CREATE TABLE "Produs"


(
id_produs numeric NOT NULL,
nume_produs text,
tip_produs text,
descriere_produs text,
"pret(lei)" integer,

26 | P a g e

Iustinian Monea Componente PC


cod_producator integer,
CONSTRAINT "Produs_pkey" PRIMARY KEY (id_produs),
CONSTRAINT fk FOREIGN KEY (cod_producator)
REFERENCES "Producator" (id_producator) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (2, 'HDD Toshiba 500GB, 7200rpm, 32MB,
SATA 3', 'Hard Disk', 'Capacitate:500 GB
Viteza de rotatie:7200 rpm
Buffer:32 MB
Interfata:SATA 3
Rata de transfer SATA:600 MB/s
Dimensiuni (W x D x H):101.6 x 147 x 26.1 mm
Greutate:450 g', 199, 2);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (1, 'HDD WD Blue 1TB, 7200rpm, 64MB,
SATA 3', 'Hard Disk', 'Capacitate:1 TB
Viteza de rotatie:7200 rpm
Buffer:64 MB
Timp de acces:12 ms
Interfata:SATA 3
Rata de transfer SATA:600 MB/s
Dimensiuni (W x D x H):101.6 x 147 x 26.1 mm
Greutate:440 g
Timp de acces Citire:12 ms
Timp de acces Scriere:13 ms', 254, 1);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (3, 'Procesor AMD FX X6 6100, 3300MHz,
14MB, socket AM3+, Box', 'Procesor', 'Memorie Cache:6144
Socket:AM3+
Frecventa procesor (MHz):3300
Turbo Boost pana la:3900 MHz
Mod de operare (biti):32 / 64
Numar nuclee:6
Tehnologie de fabricatie (nanometri):32
Cache L3 (KB):8192
Cooler:Da
Putere termica (W):95', 389, 2);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (4, 'Procesor Intel Core i3-4170,
3.70GHz, Haswell, 3MB, Socket 1150, Box', 'Procesor', 'Memorie Cache:3072
Socket:1150
Frecventa procesor (MHz):3700
Mod de operare (biti):64
Numar nuclee:2

27 | P a g e

Iustinian Monea Componente PC


Tehnologie de fabricatie (nanometri):22
Cooler:Da
Putere termica (W):54', 504, 7);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (5, 'Placa video Asus nVidia GeForce
210, 1024MB, DDR3, 64bit, HDMI, DVI, VGA', 'Placa Video', 'General
Slot:PCI Express 2.0
Procesor Video:NVIDIA GeForce 210
Tip placa:Multimedia
Rezolutie maxima:2560 x 1600
RAMDAC (MHz):400
', 160, 5);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (6, 'Placa video Gigabyte NVIDIA GeForce
GT 730, 2048MB, DDR3, 128bit, HDMI, DVI, VGA', 'Placa Video', 'Slot:PCI
Express 2.0 x16
Procesor Video:nVidia GeForce GT 730
Tip placa:Multimedia
Rezolutie maxima:2560 x 1600
RAMDAC (MHz):400', 300, 4);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (7, 'Placa de baza Gigabyte H81M-S,
Socket 1150', 'Placa de baza', 'Procesor
CPU Socket:1150Chipset:Intel H81 ExpressProcesoare suportate:Intel CoreTM
i7
Intel CoreTM i5
Intel CoreTM i3
Intel Pentium
Intel CeleronSocket-uri procesor:1
Memorie
Memorii:DDR3Capacitate maxima memorie RAM (MB):16384Frecventa memorie
(MHz):1600
1333Suport Dualchannel:DaSuport ECC:Non-ECCSloturi memorie:2
Conectivitate
Slot PCI:PCI-ExpressAudio integrat:Realtek ALC887 HDLAN integrat:DaInterfata
Serial ATA:2 x SATA II
2 x SATA IIIRata de transfer SATA (MB/s):300, 600Conector sursa (pini):1 x
24 pin ATXPorturi USB 2.0:2Porturi USB 3.0:2Conectivitate:2 x PS2
1 x VGA
2 x USB 2.0
2 x USB 3.0
1 x RJ-45
3 x audio jacks
Sloturi
Sloturi PCI-E x16:1Sloturi PCI-E x1:1
Altele
BIOS & memorie BIOS:1 x 32 Mbit flash
AMI EFI BIOS
PnP 1.0a
DMI 2.7
WfM 2.0
SM BIOS 2.7

28 | P a g e

Iustinian Monea Componente PC


ACPI 5.0Format:mATXDimensiuni (L x l, cm):19.0 x 17.0', 209, 3);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (8, 'Placa de baza Gigabyte G41M-COMBO,
socket 775', 'Placa de baza', 'Procesor
CPU Socket:775Chipset:Intel G41Northbridge:Intel G41Southbridge:Intel
ICH7Procesoare suportate:Intel Core2 Extreme
Intel Core2 Quad
Intel Core2 Duo
Intel Pentium
Intel CeleronSocket-uri procesor:1
Memorie
Memorii:DDR2
DDR3Capacitate maxima memorie RAM (MB):8192Suport Dualchannel:DaSloturi
memorie:4
Conectivitate
Slot PCI:PCI ExpressAudio integrat:VIA VT1708LAN integrat:Atheros 8151Video
integrat:Intel GMA X4500Interfata ATA:1 x ATAInterfata Serial ATA:4 x SATA
IIRata de transfer SATA (MB/s):300Conector sursa (pini):1 x 24 pin
ATXPorturi USB 2.0:4Porturi paralele:DaPorturi seriale:Da
Sloturi
Sloturi PCI-E x16:1Sloturi PCI-E x1:1Sloturi PCI:2
Altele
BIOS & memorie BIOS:2 x 8MB Flash ROM
Dual BIOS
PnP 1.0a
DMI 2.0
SM BIOS 2.4
ACPI 1.0bFormat:Micro ATX', 360, 8);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (9, 'Memorie HyperX FURY Blue 4GB, DDR3,
1600MHz, CL10, 1.5V', 'Memorie', 'General
Tip memorie:DDR3 Capacitate:4096 MB Frecventa (MHz):1600
Altele
Latenta:CL10 Radiator:Da Voltaj:1.5 V', 150, 6);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (10, 'Memorie Kingston HyperX BEAST 8GB
(2x4GB), DDR3, 1600MHz, CL9, 1.65V, XMP', 'Memorie', 'General
Tip memorie:DDR3 Capacitate:8192 MB Frecventa (MHz):1600 Module:Dual channel
Altele
Latenta:CL9 Voltaj:1.65 V', 280, 1);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (11, 'Sursa Inter-Tech SL-500A, 500W',
'Sursa', 'Putere sursa (W):500Numar ventilatoare:1 x 120 mmAlimentare:230
VCaracteristici speciale:Pasiv PFC
Protectie: SCP, OCP, OVPConectori:3 x SATA
2 x HDD
2 x FDD
1 x FDD
1 x ATX 4 Pin
1 x 20 / 24 PinSursa modulara:NuFormat:ATXGreutate (Kg):1.4', 109, 4);
INSERT INTO "Produs" (id_produs, nume_produs, tip_produs, descriere_produs,
"pret(lei)", cod_producator) VALUES (12, 'Sursa nJoy 500WGX, 500W Real

29 | P a g e

Iustinian Monea Componente PC


Power, PFC Pasiv', 'Sursa', 'Putere sursa (W):500Numar ventilatoare:1 x 120
mmAlimentare:230 VCaracteristici speciale:PFC Pasiv
Protectii OVP / OPP / OCP
Cabluri mansetate 45cm lungime
Nivel de zgomot redus
Conectori:1 x 20 + 4 pin ATX
1 x 4+4 pin ATX 12V
1 x 6 pin + 2 PCI-E
4 x SATA
1 x FDD
2 x 4pin Molex
Sursa modulara:NuFormat:ATX 2.3Altele:Controll inteligent al temperaturii
Compatibila AMD / Intel, ATI / Nvidia
Dimensiuni (W x H x D mm):150 86 140', 159, 6);

30 | P a g e

Iustinian Monea Componente PC

5. Descrierea view-urilor si codul SQL pentru crearea lor


Afisarea tuturor facturilor

Create view Factura as


SELECT f.nr_factura, nume_produs, cantitate, nume_angajat,
m.locatie_magazin, nume_client, "pret(lei)" * cantitate as "pret(lei)"
FROM "Factura" f
INNER JOIN "Linii factura" c

31 | P a g e

Iustinian Monea Componente PC


ON c.nr_factura=f.nr_factura
INNER JOIN "Produs"
ON cod_produs=id_produs
INNER JOIN "Client"
ON cod_client=id_client
INNER JOIN "Angajat"
ON cod_angajat=id_angajat
INNER JOIN "Magazin" m
ON f.cod_magazin=m.id_magazin;

Afisarea totalului de vanzari din intregul lant de magazine

Create view "Total vanzari" as


SELECT 'Magazinul a vandut marfa in valoare de ' ||
sum("pret(lei)"*cantitate) || ' lei.' as Interogare
FROM "Linii factura", "Produs"
WHERE cod_produs=id_produs;

32 | P a g e

Iustinian Monea Componente PC


Afisare tuturor angajatilor dintr-un magazin

Create view "Angajat-Magazin" as


SELECT nume_angajat, prenume_angajat, "CNP", telefon
FROM "Angajat"
WHERE cod_magazin=4;

Afisarea unui angajat dupa CNP

33 | P a g e

Iustinian Monea Componente PC


Create view "Angajat-CNP" as
SELECT nume_angajat, prenume_angajat, "CNP", telefon
FROM "Angajat"
WHERE "CNP"=1350120404803;

Afisarea tuturor clientilor magazinului

Create view Clienti as


SELECT nume_client, prenume_client, "CNP", telefon
FROM "Client"
ORDER BY id_client;

34 | P a g e

Iustinian Monea Componente PC


Afisare toate vanzari catre un anumit client

Create view "Vanzare Client" as


SELECT nume_client,nume_produs, cantitate, "pret(lei)" as "Pret unitar",
"pret(lei)" *cantitate as Total
FROM "Linii factura" l
INNER JOIN "Produs"
ON cod_produs=id_produs
INNER JOIN "Factura" f
ON l.nr_factura=f.nr_factura and cod_client=6
INNER JOIN "Client"
ON cod_client=id_client;

35 | P a g e

Iustinian Monea Componente PC


Afiseaza totate Hard Disk-urile

Create view "hard" as


SELECT nume_produs, tip_produs, descriere_produs, "pret(lei)",
nume_producator
FROM "Produs", "Producator"
WHERE tip_produs='Hard Disk' and cod_producator=id_producator;

36 | P a g e

Iustinian Monea Componente PC


Afisarea Vanzarilor unui anumit magazine

Create view "Vanzare magazin 4" as


SELECT nume_produs, cantitate, m.locatie_magazin, "pret(lei)" * cantitate
as suma
FROM "Factura" f
INNER JOIN "Linii factura" c
ON c.nr_factura=f.nr_factura
INNER JOIN "Produs"
ON cod_produs=id_produs
INNER JOIN "Magazin" m
ON f.cod_magazin=m.id_magazin and id_magazin=4;

37 | P a g e

Iustinian Monea Componente PC

6. Concluzii
In acest proiect am reusit sa pun in aplicare toate cunostintele adunate de-a lungul
semestrului la seminarul de base de date. Incepand cu crearea diagramei bazei de date pe
hartie si urmand cu crearea tabelelor, inserarea de date si efectuarea interogarilor.

38 | P a g e

Iustinian Monea Componente PC

7. Bibliografie

1
2
3
4
5

Baze de date-curs- Prof. Mariana Marinescu


http://ro.wikipedia.org/wiki/PostgreSQL
http://www.youtube.com/watch?v=-f9lke78g2U
http://emanuelscirlet.com/uploads/documents/Prezentare.pdf

39 | P a g e

S-ar putea să vă placă și