Sie sind auf Seite 1von 18

“Año del Diálogo y la Reconciliación Nacional”

“UNIVERSIDAD NACIONAL DE SAN MARTIN”

FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA

PROYECTO FINAL

ASIGNATURA : MODELAMIENTO DE DATOS

DOCENTE : ING. Víctor Manuel Vallejos Monja.

INTEGRANTE : Yadira Lizbeth Chingay Mego

Merly Monsalve Vásquez

Whylds Alexanders Rodríguez Reátegui

Edinson Villalobos Ramos

Luis Adolfo Paredes Flores

CICLO : III

TARAPOTO – PERÚ

2018
I. DATOS GENERALES DE LA EMPRESA
NOMBRE DE LA EMPRESA: Motors Show Tarapoto SAC, concesionario
autorizado de las marcas Suzuki, Mazda, Fotón,
Jac Motors, Great Wall, Changan, Geely y
Hefei …servicio de post.
RAZON SOCIAL: Motors Show Tarapoto SAC.
TIPO EMPRESA: Sociedad Anónima Cerrada

RUC: 20450435920
NOMBRE DEL GERENTE: Arévalo Alvarado Walter John.
ACTIVIDAD COMERCIAL: Venta de Vehículos Automotores.

CONDICIÓN: Activo

DIRECCION LEGAL: Jr. Jiménez Pimentel Nro. 1245 (al Costado del Grifo
Latino)
TELEFONO: (042) 529782
EMAIL: zwong.motorsshow@gmail.com

DISTRITO/CIUDAD: Tarapoto

DEPARTAMENTO: San Martin, Perú.


Ubicación:
II. PROCESOS QUE MANEJA EL NEGOCIO:

 DESCRIPCION DEL PROCESO DE VENTA

DESCRIPCION
VENDEDOR Llega el cliente, el vendedor debe atenderle
amablemente y preguntar qué tipo de
automóvil busca al igual que las características
que quiere en el automóvil.

VENDEDOR El vendedor debe darle las opciones posibles de


autos que se ajustan a las características del
auto que busca. (precio, tipo, cilindraje,
tracción, modelo)

VENDEDOR Una vez que el cliente se encuentra interesado


por algún automóvil en especial se le da las
características, el precio y se le invita a que
haga una prueba de manejo.

GERENTE DE VENTAS Después haberlo manejado y verificarlo si el


cliente decide comprarlo se pasa a la oficina y
al siguiente paso si la respuesta es negativa de
despide amablemente del cliente o se ofrece
otra opción

ASISTENTES ADMINISTRIVA Se acuerdan tanto el precio y los detalles de la


compra.

GERENTE DE VENTAS Autoriza la venta y facturación del vehículo

 DESCRIPCION DEL PROCESO DE COMPRA

DESCRIPCION
VENDEDOR Llega el cliente, se le atiende amablemente y
nos hace saber que quiere vender su vehículo.

VENDEDOR Debe preguntar qué vehículo es el que está


vendiendo, sus características y al igual que su
precio.
VENDEDOR Debe pedir de manera amable y atenta a su
cliente si le es posible esperarlo un momento,
para dirigirse con el gerente y hacerle saber
que vehículo es el que ofrecen en venta,
características y su precio.

GERENTE DE VENTAS Debe decidir si de acuerdo al vehículo y el


precio podría comprarlo.

GERENTE DE VENTAS Si el gerente da el visto bueno se da el paso 6,


si la respuesta fue negativa por parte del
gerente se le debe de dar las gracias al cliente y
decirle amablemente que en estos momentos
no estamos interesados en comprar su unidad
y por último darle otras opciones donde tal vez
le puedan comprar el vehículo.

VENDEDOR Debe hacer una prueba de manejo del vehículo


y hacer una revisión general

ASESOR MECANICO Se pasa el vehículo con el mecánico de la


empresa para que le haga una revisión general
para saber las condiciones del vehículo, si el
vendedor noto algo anormal hacérselo saber al
mecánico para que valore esa situación.

ASESOR MECANICO Una vez que el mecánico termine de revisar el


vehículo se da un reporte final al gerente de las
condiciones del vehículo y que detalles
estéticos y mecánicos tiene.

Considerando ese reporte valora el precio de la


GERENTE DE VENTAS unidad y se hace una oferta al cliente por su
vehículo a la espera de su respuesta.

GERENTE DE VENTAS Si el cliente acepta la oferta se pasa a hacer el


papeleo y acordar como se va hacer dicha
transacción, si no la acepta de igual manera se
le dan las gracias y otra opción donde tal vez se
lo puedan comprar.
III. DIAGRAMA DE FLUJO DE CADA PROCESO

 DIAGRAMA DE VENTA:
 DIAGRAMA DE COMPRA:
IV. DIAGRAMA ENTIDAD /RELACION (atributos, relaciones, PK y FK)
NORMALIZACION

MODELO ENTIDAD - RELACION

NORMALIZACIÓN:

DFD:

VENTA=
{idventa+fechaspagos+fechaemision+idformapago+descripción+idcomprobante+descripcioncomp
obante+idcliente+nombres+apellados+ruc+razonsocial+dirección+telf+idtipocliente+decripcion+id
personal+nombpersonal+apellidpersonal+telfpersonal+idcargo+descripcioncargo+
[idcompra+fechacompra+cantidadventa+importeventa]+ idvehiculo+
placavehiculo+preciounitario+modelo+idmarca+ [cantidad+importecompra] +
idmarca+descripción+idproveedor+rucproveedor+razonsocialproveedor+direccionprovededor+tel
efproveedor}.

PRIMERA FORMA NORMAL:

VENTA =
{idventa(PK)+fechaspagos+fechaemision+idformapago+descripción+idcomprobante+descripcionco
mprobante+[idcliente+nombres+apellados+ruc+razonsocial+dirección+telf.+idtipocliente+decripci
on]+[idpersonal+nombpersonal+apellidpersonal+telfpersonal+idcargo+descripcioncargo]+ [
idvehiculo+ placavehiculo+preciounitario+modelo+idmarca]+
[idproveedor+rucproveedor+razonsocialproveedor+direccionprovededor+telefproveedor]}

DETALLE= {idventa(FK) +fechacompra+cantidadventa+importeventa+ cantidad+importecompra}

SEGUNDA FORMA NORMAL:

VENTA= {idventa(PK)+fechaspagos+fechaemision+idformapago+descripción+idcomprobante(FK)+
idcliente(FK)+ idpersonal(FK)}

TIPOCOMPROBANTE= {idcomprobante(PK)+descripcioncomprobante}

CLIENTE= {idcliente(PK)+nombres+apellados+ruc+razonsocial+dirección+telf.+idtipocliente(FK)}

TIPOCLIENTE= {idtipocliente(PK)+descripción}

PERSONAL= {idpersonal(PK)+nombpersonal+apellidpersonal+telfpersonal+idcargo(FK)}

CARGOPERSONAL= {idcargo(PK)+descripcioncargo}

VEHICULO= {idvehiculo(PK)+ placavehiculo+preciounitario+modelo+idmarca

PROVEEDOR=
{idproveedor(PK)+rucproveedor+razonsocialproveedor+direccionprovededor+telefproveedor}

DETALLE= {idventa(FK)+ idvehiculo(FK)+


idproveedor(FK)+fechacompra+cantidadventa+[importeventa]+ cantidad+[importecompra]+}

TERCERA FORMA NORMAL:

VENTA= {idventa(PK)+fechaspagos+fechaemision+idformapago+descripción+idcomprobante(FK)+
idcliente(FK)+ idpersonal(FK)}

TIPOCOMPROBANTE= {idcomprobante(PK)+descripcioncomprobante}

CLIENTE= {idcliente(PK)+nombres+apellados+ruc+razonsocial+dirección+telf.+idtipocliente(FK)}

TIPOCLIENTE= {idtipocliente(PK)+descripción}

PERSONAL= {idpersonal(PK)+nombpersonal+apellidpersonal+telfpersonal+idcargo(FK)}

CARGOPERSONAL= {idcargo(PK)+descripcioncargo}

VEHICULO= {idvehiculo(PK)+ placavehiculo+preciounitario+modelo+idmarca

PROVEEDOR=
{idproveedor(PK)+rucproveedor+razonsocialproveedor+direccionprovededor+telefproveedor}

DETALLE= {idventa(FK)+ idvehiculo(FK)+ idproveedor(FK)+fechacompra+cantidadventa+ cantidad}


V. DICCIONARIO DE DATOS
NOMBRE ENTIDAD: tipo_cliente
DESCRIPCION ENTIDAD: el cliente puede ser natural o jurídico.
CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE
GUARDA DATO
idtipocliente Es el índice El código obligatorio INTEGER
de tipo de de tipo de
cliente cliente
DESCRIPCION El nombre La obligatorio Varchar
del tipo de descripción (50)
cliente del tipo de
cliente

NOMBRE ENTIDAD: cliente


DESCRIPCION ENTIDAD: el cliente puede ser natural o jurídico.
CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE
GUARDA DATO
Idcliente Es el índice El código obligatorio INTEGER
de cliente del cliente

Nombre El nombre El nombre obligatorio Varchar(50)


del cliente

Apellido Es el apellido Los obligatorio Varchar(50)


del cliente apellidos

RUC Es el RUC del El RUC obligatorio Numérico(11)


cliente

Razón social Es la razón La RAZON obligatorio Varchar(50)


social del SOCIAL
cliente

Dirección Es la LA obligatorio Varchar(50)


dirección del DIRECCION
cliente

idtipocliente Es el índice EL CODIGO obligatorio INTEGER


del tipo de DEL TIPO DE
cliente CLIENTE

Teléfono Es el teléfono EL NUMERO obligatorio Varchar (50)


del cliente TELEFONICO
NOMBRE ENTIDAD: venta
DESCRIPCION ENTIDAD: la venta puede ser contado o a crédito.
CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE
GUARDA DATO
Idventa Es el índice El código obligatorio INTEGER
de venta de la venta

Idcliente Es el índice El código obligatorio INTEGER


de cliente del cliente

Idpersonal Es el índice El código obligatorio INTEGER


de personal del
personal

Idformadepago Es el índice El código obligatorio INTEGER


de forma de de la
pago forma de
pago
Fechapagos es la fecha La fecha de obligatorio DATE
donde se pagos
realizará los
pagos
Fechaventa Es la fecha La fecha de obligatorio DATE
donde se venta
realiza la
venta

NOMBRE ENTIDAD: personal


DESCRIPCION ENTIDAD: personal encargado de diferentes áreas.

CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE


GUARDA DATO
idpersonal Es el índice El código obligatorio INTEGER
del personal del
personal
nombres El nombre El nombre obligatorio Varchar(50)
del cliente

Apellidos Es el apellido Los obligatorio Varchar(50)


del cliente apellidos
Dirección La dirección La opcional Varchar (50)
del personal dirección

Teléfono El teléfono El numero opcional Varchar (20)


del personal telefónico

idcargo El cargo del El código obligatorio INTEGER


tipo de del cargo
personal

NOMBRE ENTIDAD: forma_pago


DESCRIPCION ENTIDAD: puede haber diferentes formas de pago como efectivo y con
tarjeta.

CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE


GUARDA DATO
idformapago Es el índice El código obligatorio INTEGER
de forma de de forma
pago de pago
descripción La forma de La obligatorio Varchar(50)
tipo de pago descripción
de la forma
de pago

NOMBRE ENTIDAD: vehiculo


DESCRIPCION ENTIDAD: se anota las principales características del vehiculo
CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE
GUARDA DATO
Idvehiculo Es el índice El código obligatorio INTEGER
de vehiculo del vehiculo

Placa Es la placa La placa obligatorio VARCHAR


del vehiculo (50)

modelo El modelo El modelo obligatorio VARCHAR


del vehiculo (50)
Precio El precio del Es el precio obligatorio NUMERIC
vehiculo Del vehiculo (131089)

idmarca Es el índice El código de obligatorio INTEGER


de forma de la marca de
la marca vehiculo

NOMBRE ENTIDAD: compras


DESCRIPCION ENTIDAD: se detalla los productos.
CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE
GUARDA DATO
Idcompra Es el índice El código de obligatorio INTEGER
de compra la compra

Idproveedor Es el índice El código obligatorio INTEGER


de proveedor del
proveedor

Idpersonal Es el índice El código obligatorio INTEGER


de personal del personal

fechacompra Es la fecha Fecha de obligatorio dato


de compra compra

NOMBRE ENTIDAD: vehiculo


DESCRIPCION ENTIDAD: se anota las principales características del vehiculo
CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE
GUARDA DATO
Idproveedor Es el índice El código obligatorio INTEGER
del del
proveedor proveedor
RUC Es el RUC del El RUC obligatorio Numeric (11)
proveedor

Razosocial Es la razón La razón obligatorio VARCHAR


social del social (50)
proveedor

Dirección Es la La dirección obligatorio VARCHAR


dirección del (50)
proveedor
teléfono Es el teléfono El teléfono obligatorio VARCHAR
del (50)
proveedor

NOMBRE ENTIDAD: detalleventas

DESCRIPCION ENTIDAD: Se nombra su modelo, marca, cantidad, peso, su unidad de ventas

CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE DATO


GUARDA
Idventa Es el índice de El código de la Obligatorio INTEGER
forma de la venta
venta
Idvehìculo Es el índice de El código del Obligatorio INTEGER
la forma del vehículo
vehículo
Cantidad La cantidad de La cantidad de Obligatorio INTEGER
venta la venta
importeventa La cantidad de El importe de Obligatorio INTEGER
importe de la venta
venta

NOMBRE ENTIDAD: marcas

DESCRIPCION ENTIDAD: se nombra la marca y descripción

CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE DATO


GUARDA
Idmarca Es el índice de El código de la Obligatorio INTEGER
la forma de la venta
marca
Descripción El tipo de La descripción obligatorio VARCHAR
marca de la marca

NOMBRE ENTIDAD: cargos

DESCRIPCION ENTIDAD: Se nombra el cargo y descripción.

CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE DATO


GUARDA
Idcargo Es el índice de El código del Obligatorio INTEGER
la forma del cargo
cargo
Descripción El tipo de cargo La descripción Obligatorio VARCHAR
del cargo
NOMBRE ENTIDAD: detalle_compras

DESCRIPCION ENTIDAD: Se nombra el producto, cantidad y precio.

CAMPO DESCRIPCION QUE SE OPCIONAL/OBLIGATORIO TIPO DE DATO


GUARDA
Idcompra Es el índice de El código de la Obligatorio INTEGER
forma de la compra
compra
Idvehiculo Es el índice de El código del Obligatorio INTEGER
forma del vehículo
vehiculo
Cantidad La cantidad de La cantidad de Obligatorio INTEGER
compra la compra
importecompra La cantidad del El importe de Obligatorio INTEGER
importe de la la compra
compra

LA IDENTIFICACION DE LOS PK Y FK DE CADA TABLA

LLAVE PRIMARIA LLAVES FORANEAS CAMPO RELACIONADO


CON TABLA(CAMPO)
Idtipocliente
Idcliente idtipocliente Tipocliente(idtipocliente)
Idventa Idcliente Clientes (idclientes)
Idformadepago Formadepago (idformadepago)
Idpersonal Personal (idpersonal)
idvehiculo Vehiculo (idvehculo)
Idforma de pago
Idvehiculo idmarca Marca(idmarca)
Idmarca

Idcompra Idproveedor Proveedor(idproovedor)


Idpersonal Personal(personal)
Idvehiculo Vehiculo(idvehiculo)

Idproveedor

Idcargo

Idpersonal idcargo Cargo(idcargo)


VI. IMPLEMENTACION DE BASE DE DATOS (PostgreSQL) (SCRIPT)

-- Database: MotorShow

-- DROP DATABASE "MotorShow";

CREATE DATABASE "MotorShow"


WITH
OWNER = postgres
ENCODING = 'UTF8'
LC_COLLATE = 'Spanish_Peru.1252'
LC_CTYPE = 'Spanish_Peru.1252'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;

-- Creamos secuencias o autoincrementables para los PK

CREATE SEQUENCE sec_TipoCliente;


CREATE SEQUENCE sec_Clientes;
CREATE SEQUENCE sec_Personal;
CREATE SEQUENCE sec_Proveedor;
CREATE SEQUENCE sec_FormaPago;
CREATE SEQUENCE sec_Ventas;
CREATE SEQUENCE sec_Compras;
CREATE SEQUENCE sec_Vehiculos;
CREATE SEQUENCE sec_Cargos;
CREATE SEQUENCE sec_Marca;

-- Creamos las entidades o tablas independientes

CREATE TABLE Tipo_Cliente(


idTipoCliente INT DEFAULT NEXTVAL('sec_TipoCliente') PRIMARY KEY,
Descripcion VARCHAR (50) NOT NULL
);

CREATE TABLE Forma_Pago(


idFormaPago INT DEFAULT NEXTVAL('sec_FormaPago') PRIMARY KEY,
Descripcion VARCHAR (50) NOT NULL
);

CREATE TABLE Proveedor(


idProveedor INT DEFAULT NEXTVAL('sec_Proveedor') PRIMARY KEY,
RUC NUMERIC (11) NOT NULL,
RazonSocial VARCHAR (50) NOT NULL,
Direccion VARCHAR (50) NOT NULL,
Telef VARCHAR (50) NOT NULL
);
CREATE TABLE Marcas (
idMarca INT DEFAULT NEXTVAL('sec_Marca') PRIMARY KEY,
Descripcion VARCHAR (50) NOT NULL
);

CREATE TABLE Cargos (


idCargo INT DEFAULT NEXTVAL('sec_Cargos') PRIMARY KEY,
Descripcion VARCHAR (50) NOT NULL
);
-- Creamos las tablas dependientes con sus respectivas relaciones de FK

CREATE TABLE Cliente (


idCliente INT DEFAULT NEXTVAL('sec_Clientes') PRIMARY KEY,
Nombres VARCHAR (50) NOT NULL,
Apellidos VARCHAR (50) NOT NULL,
RUC NUMERIC (11) NOT NULL,
RazonSocial VARCHAR (50) NOT NULL,
Direccion VARCHAR (50) NOT NULL,
Telf VARCHAR (20) NOT NULL,
idTipoCliente INT NOT NULL,
CONSTRAINT FK_TipoCliente FOREIGN KEY (idTipoCliente)
REFERENCES Tipo_Cliente (idTipoCliente)
);

CREATE TABLE Personal (


idPersonal INT DEFAULT NEXTVAL('sec_Personal') PRIMARY
KEY,
Nombres VARCHAR (50) NOT NULL,
Apellidos VARCHAR (50) NOT NULL,
Direccion VARCHAR (50) NOT NULL,
Telf VARCHAR (20) NOT NULL,
idCargo INT NOT NULL,
CONSTRAINT FK_Cargo FOREIGN KEY (idCargo) REFERENCES
Cargos (idCargo)
);

CREATE TABLE Vehiculo (


idVehiculo INT DEFAULT NEXTVAL('sec_Vehiculos') PRIMARY
KEY,
Placa VARCHAR (50) NOT NULL,
Modelo VARCHAR (50) NOT NULL,
Precio_Unitario DECIMAL,
idMarca INT NOT NULL,
CONSTRAINT FK_Marca FOREIGN KEY (idMarca) REFERENCES
Marcas (idMarca)
);

CREATE TABLE Ventas (


idVenta INT DEFAULT NEXTVAL ('sec_Ventas') PRIMARY KEY,
idCliente INT NOT NULL,
idPersonal INT NOT NULL,
idFormaPago INT NOT NULL,
FechaPagos DATE,
FechaVenta DATE,
CONSTRAINT FK_Cliente FOREIGN KEY (idCliente) REFERENCES
Cliente (idCliente),
CONSTRAINT FK_Personal FOREIGN KEY (idPersonal) REFERENCES
Personal (idPersonal),
CONSTRAINT FK_FormaPago FOREIGN KEY (idFormaPago)
REFERENCES Forma_Pago (idFormaPago)
);

CREATE TABLE DetalleVentas (


idVenta INT NOT NULL,
idVehiculo INT NOT NULL,
Cantidad INT NOT NULL,
ImporteVenta INT NOT NULL,
CONSTRAINT FK_Venta FOREIGN KEY (idVenta) REFERENCES
Ventas (idVenta),
CONSTRAINT FK_Vehiculo FOREIGN KEY (idVehiculo) REFERENCES
Vehiculo (idVehiculo)
);

CREATE TABLE Compras (


idCompra INT DEFAULT NEXTVAL ('sec_Compras') PRIMARY KEY,
idProveedor INT NOT NULL,
idPersonal INT NOT NULL,
FechaCompra DATE,
CONSTRAINT FK_Proveedor FOREIGN KEY (idProveedor)
REFERENCES Proveedor (idProveedor),
CONSTRAINT FK_Personal FOREIGN KEY (idPersonal) REFERENCES
Personal (idPersonal)
);

CREATE TABLE DetalleCompras(


idCompra INT NOT NULL,
idVehiculo INT NOT NULL,
Cantidad INT NOT NULL,
ImporteCompra INT NOT NULL,
CONSTRAINT FK_Compra FOREIGN KEY (idCompra) REFERENCES
Compras (idCompra),
CONSTRAINT FK_Vehiculo FOREIGN KEY (idVehiculo) REFERENCES
Vehiculo (idVehiculo)
);
VII. CONCLUSIONES
Gracias al presente informe realizado por el grupo, es que se pudo obtener las
siguientes conclusiones:

- Que la normalización de la información es importante para obtener registros


de calidad, que permitan la adecuada recuperación y transferencia de datos.
- Se puso aprender el uso postgresql, y se logró crear la base de datos.
- Aprendimos acerca del leguaje del SQL del sistema de gestión de base de
datos y su importancia y utilidad a la hora de almacenar, clasificar y majear
información de cualquier tipo.

Das könnte Ihnen auch gefallen