bilet_examen_vanzari
DESCRIPTION
Bilet_examen_vanzariTRANSCRIPT
Bilet de Examen, subiectul Vanzari
Tab Cienti
Extragere, transformare, incarcare, actualizare
Sursa de date
a) Identificarea masurilor si dimensiunilor
Masurile apartin tabelei de fapte. O masura este un camp numeric valoric de o maniera
continuă şi aditiv pe ierarhiile tuturor dimensiunilor.
Valoarea Facturii (ValFact), Valoare Discount (ValDiscount), Cantitate facturata (Cantfact).
Dimensiunile O dimensiune are intotdeauna un identificator iar atributele dimeniuni se numesc parametri.
DimDistribuitori, DimProduse, DimTimp, DimAmbalaje
DimProduse (IDProdus, DenP, UM, Subclasa, Clasa, SubtipP, TipP, Calitate)
DimDistribuitori (IDDistribuitor, DenD, LocD, JudD, Regiune, SubgrupD, GrupD)
DimAmbalaje (IDAmb, Descriere, Volum, Material, Culoare)
DimTimp (IDTimp, luna, trimestru, An, Sezon)
b) Identificarea ierarhiilor alternative
DimTimp I1 (IDTimp, luna, trimestru, An)
I2 (IDTimp, luna, sezon)
DimDistribuitori I1 (IDDistribuitor, LocD, JudD, Regiune)
I2 (IDDistribuitor, SubgrupD, GrupD)
DimAmbalaje (IDAmb, Descriere, Volum, Material, Culoare)
ETL sau
DTS
Depozit
Distribuito
ri
Factura
Produse
Linii
Factura
Ambalaje
DimProduse I1 (IDProdus, Subclasa, Clasa)
I2 (IDProdus, SubtipP, TipP)
c) MCD (Modelul conceptual al depozitului)
Rezultă un model de tip stea – în care avem o tabelă de fapte (Vanzari) şi mai
multe dimensiuni ( DimTimp, DimDistribuitori, DimProduse, DimAmbalaje).
MLD (modelul logic al datelor)
DimTimp (IDTimp, luna, trimestru, An, Sezon)
DimProduse (IDProdus, DenP, UM, Subclasa, Clasa, SubtipP, TipP, Calitate)
DimDistribuitori (IDDistribuitor, DenD, LocD, JudD, Regiune, SubgrupD, GrupD)
DimAmbalaje (IDAmb, Descriere, Volum, Material, Culoare)
Achizitii (IDDistribuitor, IDTimp, IDAmb, IDProdus, Cantfact, ValFact, ValDiscount)
DimTimp
IDTimp
luna
trimestru
An
Sezon
Vanzari
ValFact
ValDiscount
Cantfact
DimProduse
IDProdus
DenP
UM
Subclasa
Clasa
SubtipP
TipP
Calitate
DimDistribuitori
IDDistribuitor
DenD
LocD
JudD
Regiune
SubgrupD
GrupD
DimAmbalaje
IDAmb
Descriere
Volum
Material
Culoare
5. a) popularea DimProduse
extragere produse (se salvează exprod) Select Produse.Cod produs, Produse.Denumire, Produse.Calitate, Produse.Unit masura,
Produse.Clasa, Produse.Subclasa, Produse.Tip produs, Produse.Subtip produs
From Produse IN “ ……….sursadedate.mdb”;
Transformare produse ( se salveaza transfprod) Select exprod.Cod produs AS IDProdus, exprod.Denumire AS DenP, exprod.Clasa,
exprod.Subclasa, exprod.Tip produs AS TipP, exprod.Subtip produs AS SubtipP,
exprod.Calitate, exprod.Unit masura AS UM
From exprod;
Creare DimProduse (se salveaza crprod) Select transfprod.IDProdus, transfprod.DenP, transfprod.Clasa, transfprod.Subclasa,
transfprod.TipP, transfprod.SubtipP, transfprod.Calitate, transfprod.UM INTO DimProduse IN
“…………depozit.mdb”
From transfprod;
Actualizare produse (se salveaza acprod) INSERTINTO DimProduse (IDProdus, DenP, UM, Clasa, Subclasa, SubtipP, TipP, Calitate) IN
“…………depozit.mdb”
Select transfprod.IDProdus, transfprod.DenP, transfprod.Clasa, transfprod.Subclasa,
transfprod.TipP, transfprod.SubtipP, transfprod.Calitate, transfprod.UM
From transfprod;
c) pentru tabela de fapte Vanzari
extragere vanzari (se salveaza exvanz) Select Factura.Cod distrib, Factura.Data fct, Factura.Discount, Linii Factura.Cantitate,
Produse.Cod produs, Produse.Pret unitar, Produse.Cod ambalaj
From Factura INNER JOIN (Linii Factura INNER JOIN Produse ON Linii Factura.Cod
produs = Produse.Cod produs) ON Factura.Nr fct = Linii Factura.Nr fct IN
“………….sursadedate.mb”;
Transformare vanzari (se salveaza transfvanz) Select exvanz.Cod distrib AS IDDistribuitor, exvanz.Cod produs AS IDProdus, exvanz.Cod
ambalaj AS IDProdus, exvanz.Data fct AS IDTimp, Sum(exvanz.Cantitate *exvanz.Pret
unitar(1-exvanz.Discount)) AS ValFact, Sum(exvanz.Cantitate*exvanz.Pret
unitar*exvanz.Discount) AS ValDiscount, Sum(exvanz.Cantitate) AS Cantfact
From exvanz
Group By exvanz.Cod produs, exvanz. Data fct, exvanz.Cod distrib;
Creaza vanzari (se salveaza crvanz) Select transfvanz.IDProdus, transfvanz.IDTimp, transfvanz.IDDistribuitor,
transfvanz.IDAmb, transfvanz.ValFact, transfvanz.ValDiscount, transfvanz.Cantfact INTO
Vanzari IN “………..depozit.mdb”
From transfvanz;
Actualizare vanz (se salveaza acvanz) INSERT INTO Vanzari (IDProdus, IDTimp, IDDistribuitor, IDAmb, ValFact, ValDiscount,
Cantfact) IN “……..depozit.mdb”
Select transfvanz.IDProdus, transfvanz.IDTimp, transfvanz.IDDistribuitor,
transfvanz.IDAmb, transfvanz.ValFact, transfvanz.ValDiscount, transfvanz.Cantfact
From transfvanz;
6 a) Transform Sum(Vanzari.Cantfact)AS TotalCantitate
Select DimTimp.luna, DimDistribuitori.DenD, DimProduse.Clasa
From DimTimp, DimProduse, DimDistribuitori, Vanzari
Where DimTimp.IDTimp = Vanzari.IDTimp and DimDistribuitori.IDDistribuitor =
Vanzari.IDDistribuitori and DimProduse.IDProdus = Vanzari.IDProdus and DimTimp.an =
2005
Group BY DimTimp.luna, DimDistribuitori.DenD, DimProduse.Clasa
Pivot DimProduse.DenP;
b) Transform Sum(Vanzari.Cantfact)AS TotalCantitate
Select DimProduse.DenP, DimProduse.UM
From DimAmbalaje INNER JOIN (Vanzari INNER JOIN DimProduse ON
Vanzari.IDProdus = DimProduse.IDProdus) ON DimAmbalaje.CodAmb = Vanzari.CodAmb
Group BY DimProduse.DenP, DimProduse.UM
Pivot DimAmbalaje.Culoare