Você está na página 1de 9

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.

--INPCINDICE 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 into Grupos values(1,'Mobiliario',150)


insert into Grupos values(2,'Transporte',16)
insert into Grupos values(3,'Edificios',13)
select * from Grupos

insert into Departamentos values(1,'Compras')


insert into Departamentos values(2,'Finanzas')
insert into Departamentos values(3,'Almacen')
insert into Departamentos values(4,'Contabilidad')
select * 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

Você também pode gostar