ACTIVIDAD NO.___________ VISTAS Create database ACTIVOS GO USE ACTIVOS CREATE TABLE Activos ( IdActivo char (5) NOT NULL ,-PK Descripcion varchar(50) NULL , FechaAdquis smalldatetime NULL , ValorAdquis money NULL , PorcDepActivo decimal NOT NULL ,--porcentaje de deprecioción del activo PorcDepISR decimal NULL , PorcDepCosto decimal NULL , DepAnual decimal NULL , DepAcumulada decimal] NULL , DepFiscal decimal NULL , DepContable decimal NULL , IdGrupo char (3) NOT NULL , FK IdDepto char (3) NOT NULL ,FK Estatus char (1) NULL )
CREATE TABLE Departamentos ( IdDepto char (3) NOT NULL ,PK Descripcion varchar (50) NULL ) CREATE TABLE Grupos ( IdGrupo char (3) NOT NULL ,PK Descripcion varchar (50) NULL , Tope int NULL ) CREATE TABLE INPC ( Año int NOT NULL , Mes tinyint NOT NULL , Factor decimal NULL ) CREATE TABLE Usuarios( clave int IDENTITY (1, 1) NOT NULL , PK cuenta varchar (20) NOT NULL , nombre varchar (50) NOT NULL , contraseña varchar (20) NOT NULL , DatosEmpresa char (1) NULL , CamEmpresa [char] (1) NULL , CamUsuario char] (1) NULL , abcCatalogos char] (1) NULL , Ventas char (1) NULL , Reportes char (1) NULL , abcEmpresas char (1) NULL , abcUsuarios char (1) NULL , archivos char (1) NULL , Compactacion char (1) NULL , DatosControl char (1) NULL ) GO CREATE TABLE Ventas ( IdVenta int NOT NULL ,PK IdActivo char (5) NULL ,FK
Descripcion varchar (50) NULL , FechaAdquis smalldatetime NULL , ValorAdquis money NULL , FechaVta smalldatetime NULL , ImporteVta money NULL ) CREATE TABLE DatosEmp( idemp char (3) NOT NULL ,PK nomemp varchar (75) NULL , calle varchar (60) NULL , colonia varchar (30) NULL , cp varchar (5) NULL , ciudad varchar (30) NULL , edo varchar (20) NULL , rfc varchar (20) NULL , tel varchar (30) NULL , año varchar (4) NULL )
/*Información referente a las tablas grupo y departamento IdGrupo/Descripcion/Tope 1 Mobiliario 150 2 Transporte 16 3 Edificios 13 IdDepto/Descripcion 1 Compras 2 Finanzas 3 Almacen 4 Contabilidad */ --1-- Ingresar 3 registros a cada tabla. --INPCINDICE NACIONAL DE PRECIOS AL CONSUMIDOR /*Dicho factor se obtendrá dividiendo el Índice Nacional de Precios al Consumidor del mes anterior al más reciente del periodo entre el citado índice correspondiente al mes anterior al más antiguo de dicho periodo ejemplo: INPC del mes anterior al que se efectúa el pago septiembre 2014 113.939 entre INPC del mes anterior en que se debió pagar enero 2014 112.505 Factor de actualización 1.0127 */
insert insert insert select
into Grupos values(1,'Mobiliario',150) into Grupos values(2,'Transporte',16) into Grupos values(3,'Edificios',13) * from Grupos
insert insert insert insert select
into Departamentos values(1,'Compras') into Departamentos values(2,'Finanzas') into Departamentos values(3,'Almacen') into Departamentos values(4,'Contabilidad') * from Departamentos
insert into Activos values(1,'pagos','2019-01-2',1000,10,5,5,1,2,3,4,1,1,'A') insert into Activos values(2,'pagos','2018-02-5',1000,10,5,5,1,2,3,4,1,1,'A')
insert into Activos values(3,'pagos','2018-01-5',1000,10,5,5,1,2,3,4,1,1,'A') select * from Activos insert into INPC values(2018,05,1.66) insert into INPC values(2019,03,1.82) insert into INPC values(2019,09,1.256) select * from INPC insert into Usuarios values ('5339-4565-3546-4896','Andre','elnegro',5,9,4,3,7,5,7,3,9,4,6) insert into Usuarios values ('5339-4565-1561-7985','Brian','soyelnegro',4,6,7,3,6,1,3,2,4,9,3) insert into Usuarios values ('5339-4565-3546-4896','Ximena','trapos',1,3,2,4,9,5,7,3,9,4,6) select * from Usuarios insert into Ventas values(1,2,'Pago Netflix','2019-01-5',250,'2019-02-9',3000) insert into Ventas values(2,3,'Pago General Servicios','2019-06-9',6400,'2019-10-7',100) insert into Ventas values(3,1,'Despensa','2019-03-9',3500,'2019-06-7',120) select * from Ventas insert into DatosEmp values (1,'Papeleria','Las Reynas','Brisas',34654,'Irapuato','Gto','MQJU961231',4622330987,2015) insert into DatosEmp values (2,'Paleteria','Luces','Los Arcos',33645,'Irapuato','Gto','LMPA150307',46289976543,2018) insert into DatosEmp values (3,'Ferreteria','Hogas','Benito Juarez',34895,'Irapuato','Gto','FHBJ120168',4624552314,2019) select * from DatosEmp
--2--crear una vista denominada uso en la cual utilizando la función DATEDIFF Create view uso as select IdActivo, DATEDIFF(DD,FechaAdquis,FechaVta)as uso from Ventas
select * from uso
--3-- Crear una vista denominada DepAcumulada, y obtener el valor de la adquisición historica y el idactivo Create view DepAcumulada as select IdActivo, ValorAdquis as DepAcumulada from Activos select * from DepAcumulada
--4-- Crear una vista denominada MesesEjercici, donde obtendras los meses del ejercicio en el año de la tabla activo a esta diferencia se le denominará UsoEjercicio, ademas de obtener el IDActivo Create view MesesEjercici as select IdActivo, DATEDIFF(MM,FechaAdquis,GETDATE()) as UsoEjercicio from Activos select * from MesesEjercici
--5-- Crear una vista denominada depreciación del ejercicio (DepEjercicio), se obtendrá el valor de la adquisición de activos Create view DepEjercicio as select Activos.IdActivo,((((Activos.ValorAdquis*Activos.DepAcumulada)/12)/100)*MesesEjercici.UsoEjercicio) as Depreciasion from Activos inner Join MesesEjercici on Activos.IdActivo=MesesEjercici.IdActivo select* from DepEjercicio
--6--Crear una vista denominada dependencia, donde se obtendrán el IdActivo, la depresiación esta se obtiene (Multiplicar uso de la vista uso por la Depreciación anual entre 12 para finalmente dividir entre 100) Create view dependencia as select Activos.IdActivo, (((ACTIVOS.dbo.Uso.Uso*DepAnual)/12)/100) as Depreciacion from Activos inner join ACTIVOS.dbo.Uso on Activos.IdActivo = ACTIVOS.dbo.Uso.IdActivo select * from dependencia
--7--Crear una vista denominada FactorMes que se obtenga el factor y el IdActivo. Create view FactorMes as select INPC.Factor, Activos.IdActivo as FactorMes from INPC inner join Activos on INPC.Mes = DATEPART (month,Activos.FechaAdquis) and INPC.Año = DATEPART(year,Activos.FechaAdquis) select * from FactorMes
--8--Crear una vista denominada Mitad, aplicar el datediff de mes, fecha de adquicision entre 2 y nuevamente entre 2 a esta parte se le denominará uso, y el IDActivo. Create view Mitad as select IdActivo, DATEDIFF(MM,CONVERT (int,FechaAdquis)/2,convert(int,FechaVta)/2) as uso from Ventas select* from Mitad
--9--Crear una vista denominada Factor que obtenga el factor de INPC entre Factor de la vista factorMes, a esta se le denominará factor, obtener el IDActivo de la vista mitad, donde tengas un año registrado del INPC Create view Factor as select a.IdACtivo, (i.Factor/f.Factor) as Factor from INPC i join Activos a on i.Año = DATEPART(YEAR,a.FechaAdquis) join FactorMes f on f.FactorMes = a.IdActivo select * from Factor
--10--Crear una vista denominada Fiscal donde realizaras la operacion de ejercicio por historica y la denominaras fiscal, ademas del IdActivo de la vista DepEjercicio create view Fiscal as select (DepAcumulada.DepAcumulada * DepEjercicio.Depreciasion) as 'Fiscal',DepEjercicio.IdActivo from ACTIVOS.dbo.DepAcumulada inner Join DepEjercicio on DepEjercicio.IdActivo=DepAcumulada.IdActivo select* from Fiscal
--11--Crear una vista denominada FiscalEjercicio, donde se obtenga el total de Ejercicio de la vista DepEjercicio por Factor de la vista factor a esta se le denominará FiscalEjercicio create view FiscalEjercicio as select (DepEjercicio.Depreciasion*Factor.Factor) as FiscalEjercicio from DepEjercicio inner join Factor on DepEjercicio.IdActivo=Factor.IdActivo select * from FiscalEjercicio
--12--CREAR UNA VISTA 'ACUMULA' EN DONDE SE OBTENFA EL VALOR DE LAS ADQUISICIONES, el IdActivo. Create view ACUMULA as select IdActivo, ValorAdquis from Activos select * from ACUMULA
--13--Crear un avista denominada Saldo, obteniendo el IdActivo de Activos y el saldo ( ValorAdquis de Activos - Acumula de Acumula, por el factor de la vista factor) Create view Saldo as select Activos.IdActivo,((Activos.ValorAdquis-ACUMULA.ValorAdquis)*Factor.Factor) as Saldo from Activos inner join ACUMULA on Activos.IdActivo=ACUMULA.IdActivo inner Join Factor on ACUMULA.IdActivo=Factor.IdActivo select *from Saldo
--14--Crear una vista denominada BASE, donde muestre el saldo menos la depreciación y el idActivo Create view BASE as select Activos.IdActivo,(Saldo.Saldo-DepAcumulada.DepAcumulada) as Base from Activos inner Join Saldo on Activos.IdActivo=Saldo.IdActivo inner Join DepAcumulada on Activos.IdActivo=DepAcumulada.IdActivo select* from BASE
--15--Crear una vista denominada RepDeduccionInversiones, para obtener de activos el IdActivo,Descripción, FechaAdquis,ValorAdquis y ProcDepActivo Create View RepDeduccionInversiones as select Activos.IdActivo,Activos.Descripcion,Activos.FechaAdquis,Activos.ValorAdquis,Activos.PorcDepActivo,DepA cumulada.DepAcumulada, DepEjercicio.Depreciasion,Saldo.Saldo,uso.uso,Factor.Factor,Fiscal.Fiscal,Ventas.FechaVta,Grupos.IdGrup o,(Grupos.Descripcion) as DescripGpo From Activos inner Join ACUMULA on ACUMULA.IdActivo=Activos.IdActivo inner Join DepAcumulada on DepAcumulada.IdActivo=Activos.IdActivo inner Join DepEjercicio on DepEjercicio.IdActivo=Activos.IdActivo inner join Saldo on Activos.IdActivo=Saldo.IdActivo inner Join Uso on Uso.IdActivo=Activos.IdActivo inner Join Factor on Factor.IdActivo=Activos.IdActivo inner Join Fiscal on Fiscal.IdActivo=Activos.IdActivo inner Join Ventas on Ventas.IdActivo=Activos.IdActivo inner Join Grupos on Grupos.IdGrupo=Activos.IdGrupo select * from RepDeduccionInversiones
--16--Crear una vista denominada Reporte Anual (repDepFiscalAnual) Create view repDepFiscalAnual as select Activos.IdActivo,Activos.Descripcion,Activos.FechaAdquis,Activos.ValorAdquis,Ventas.ImporteVta,Grupos.I dGrupo,Grupos.Descripcion as GpoDescri from Activos inner Join Ventas on Activos.IdActivo=Ventas.IdActivo inner Join Grupos on Grupos.IdGrupo=Activos.IdGrupo
select * from repDepFiscalAnual