Extras din proiect
Descrierea Bazei de Date.
Baza de date prezentata este folosita pentru a organizarea constructiilor unor blocuri ANL. Acesta este formata din patru tabele: ADI_FIRME, ADI_CLADIRI, ADI_MATERIALE. ADI_STRUCTURI. Tabela ADI_FIRME contine firmele care realizeaza contructia de cladiri. In aceasta tabela avem drept cheie primara campul ”cod_f” si avem si o restrictie de integritate aplicata campului ”email” care trebuie sa fie de forma '%@%.%'. Tabela ADI_CLADIRI contine toate cladirile ce urmeaza a fi construite. Aici avem doua restrictii de integritate asupra campului ”cod_c” care este primary key si asupra campului ”cod_f” camp care este foreign key si face referire la campul ”cod_f” din tabela ADI_FIRME. Tabela ADI_MATERIALE contine materiale de constructie existente. Aici avem doar o singura restrictie, asupra campului ”cod_mat” care este primary key. Tabela ADI_STRUCTURI contine comenzile de materiale care s-au facut pentru fiecare cladire in parte. Pentru aceeasi cladire se pot face mai multe comenzi pentru acelasi material cu semnificatia ca materialele din prima comanda nu au fost suficiente. Aici avem trei restrictii de integritate, una sub forma primary key asupra campului ”cod_structura” si doua restrictii de froma foreign key aplicate campului ”cod_c” care face referire la campul ”cod_c” din tabela ADI_CLADIRI si asupra campului ”cod_mat” care face referire la campul cu acelasi nume din tabela ADI_MATERIALE.
Schema conceptuala.
Crearea unei tabele.
begin
execute immediate 'create table adi_materiale
( cod_mat number(5) primary key, denumire varchar2(30), pret number(10,5) )';
end;
Stergerea unei tabele.
begin
execute immediate 'drop table adi_materiale';
end;
1. Sa se determine numarul cladirilor a caror constructie a inceput in anul 2009, in anul 2008 sau inainte.
declare
var09 number; var08 number; var number;
cursor cc is select * from adi_cladiri;
begin
var09:=0;var08:=0;var:=0;
for variabila in cc loop
if extract(year from variabila.data_inceperii)=2009 then var09:=var09+1;
elsif extract(year from variabila.data_inceperii)=2008 then var08:=var08+1;
else var:=var+1;
end if; end loop;
dbms_output.put_line('Numarul cladirilor a caror constructie a inceput in anul 2009 este :'||var09);
dbms_output.put_line('Numarul cladirilor a caror constructie a inceput in anul 2008 este :'||var08).
Preview document
Conținut arhivă zip
- Baza de Date pentru Organizarea Constructiilor unor Blocuri ANL.doc