0% encontró este documento útil (0 votos)
176 vistas29 páginas

Becerra Culqui Adriana Marleny (100%) N00205234 Arrivasplata Quiroz Karol Fiorella (100%) N00209195

Este informe presenta el diseño e implementación de la base de datos de la empresa América Distribuciones. Describe los conceptos clave de gestión de bases de datos como el modelo entidad-relación, cardinalidad y esquema relacional. Explica el proceso de construcción de la base de datos desde la identificación de los requerimientos hasta la normalización, reflejando los conocimientos adquiridos y aplicándolos a la empresa América Distribuciones. El objetivo es demostrar la comprensión de los temas tratados y la importancia de una base de datos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
176 vistas29 páginas

Becerra Culqui Adriana Marleny (100%) N00205234 Arrivasplata Quiroz Karol Fiorella (100%) N00209195

Este informe presenta el diseño e implementación de la base de datos de la empresa América Distribuciones. Describe los conceptos clave de gestión de bases de datos como el modelo entidad-relación, cardinalidad y esquema relacional. Explica el proceso de construcción de la base de datos desde la identificación de los requerimientos hasta la normalización, reflejando los conocimientos adquiridos y aplicándolos a la empresa América Distribuciones. El objetivo es demostrar la comprensión de los temas tratados y la importancia de una base de datos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA EMPRESARIAL

“DISEÑO E IMPLEMENTACIÓN DE LA BASE DE DATOS DE LA EMPRESA AMERICA


DISTRIBUCIONES”

"DESIGN AND IMPLEMENTATION OF THE DATABASE OF THE COMPANY AMERICA


DISTRIBUCIONES"

Curso:
Gestión de Base de Datos

Estudiante:
Becerra Culqui Adriana Marleny (100%)
N00205234

Arrivasplata Quiroz Karol Fiorella (100%)


N00209195

Docente:
Ing. Paul Omar Cueva Araujo

Código Clase:
6860

Cajamarca – Perú 2020


FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA EMPRESARIAL

“DISEÑO E IMPLEMENTACIÓN DE LA BASE DE DATOS DE LA EMPRESA AMERICA


DISTRIBUCIONES”

"DESIGN AND IMPLEMENTATION OF THE DATABASE OF THE COMPANY AMERICA


DISTRIBUCIONES"

Curso:
Gestión de Base de Datos

Estudiante:
Becerra Culqui Adriana Marleny (100%)
N00205234

Arrivasplata Quiroz Karol Fiorella (100%)


N00209195

Docente:
Ing. Paul Omar Cueva Araujo

Código Clase:
6860

Cajamarca – Perú 2020


Resumen

El presente informe da a conocer desde los conceptos más generales a los más
específicos y desarrollados en Gestión de Base de Datos como lo son: la creación de
base de datos y conceptos internos como son la cardinalidad, modelo entidad-relación
de tablas con restricciones en específico, esquema relacional, clasificación de tipos de
datos y los temas que se relacionan entre sí, como: el diseño físico y diseño lógico.
Podremos apreciar la construcción e implementación de la base de datos de América
Distribuciones, desde la realidad problemática, continuando con los procesos específicos,
pasando del modelo entidad-relación al modelo relacional, teniendo en cuenta la
cardinalidad respectiva, la normalización y las restricciones en nuestra base de datos. El
propósito de este informe es tener un mayor conocimiento del tema tratado al igual que de
la importancia que tiene una base de datos para la empresa y puedan ser implementados
todos los conocimientos adquiridos y puedan ser reflejados en la empresa elegida
(América Distribuciones).

Palabras Clave: Base de Datos, modelo entidad-relación, cardinalidad, esquema relacional,


diseño físico y diseño lógico.

Summary

This report presents the specific concepts developed in Database Management such as: the
creation of a database and internal concepts such as cardinality, entity-relationship model of
tables with specific restrictions, relational schema, classification of data types and the topics
they relate to. We will be able to appreciate the construction and implementation of the
América Distribuciones database, from the problematic reality, continuing with the specific
processes, moving from the entity-relationship model to the relational model, taking into
account the respective cardinality, normalization and restrictions in our database. The purpose
of this report is to have a better understanding of the subject matter as well as the importance
of a database for the company and all the knowledge acquired can be implemented and can
be reflected in the chosen company (América Distribuciones).

Keywords: Database, entity-relationship model, cardinality, relational schema, physical design


and logical design.
INDICE DE CONTENIDOS

Resumen.................................................................................................................................... 3
OBJETIVOS................................................................................................................................ 7
Objetivo General.................................................................................................................... 8
Objetivos específicos............................................................................................................ 8
Métodos y materiales:........................................................................................................... 8
DESCRIPCIÓN DEL CASO DE ESTUDIO................................................................................15
DATOS COMPLETOS DE LA EMPRESA.............................................................................15
Misión:............................................................................................................................... 15
Visión:............................................................................................................................... 15
Principales procesos:......................................................................................................15
Historia:............................................................................................................................. 15
Rubro:................................................................................................................................ 15
REQUERIMIENTOS PARA LA CONSTRUCCIÓN DE LA BASE DE DATOS EMPRESA.......16
Realidad Problemática.........................................................................................................16
MODELO ENTIDAD - RELACIÓN:...........................................................................................17
DISEÑO RELACIONAL............................................................................................................ 18
NORMALIZACIÓN.................................................................................................................... 18
Bibliografía:.............................................................................................................................. 29
INDICE DE TABLAS

Resumen.................................................................................................................................... 3
OBJETIVOS................................................................................................................................ 7
Objetivo General.................................................................................................................... 7
Objetivos específicos............................................................................................................ 7
Métodos y materiales:........................................................................................................... 7
DESCRIPCIÓN DEL CASO DE ESTUDIO................................................................................11
DATOS COMPLETOS DE LA EMPRESA.............................................................................11
Misión:............................................................................................................................... 13
Visión:............................................................................................................................... 13
Principales procesos:......................................................................................................13
Historia:............................................................................................................................. 13
Rubro:................................................................................................................................ 13
REQUERIMIENTOS PARA LA CONSTRUCCIÓN DE LA BASE DE DATOS EMPRESA.......13
Realidad Problemática.........................................................................................................13
MODELO ENTIDAD - RELACIÓN:...........................................................................................15
DISEÑO RELACIONAL............................................................................................................ 16
NORMALIZACIÓN.................................................................................................................... 16
Bibliografía:.............................................................................................................................. 26

INDICE DE ILUSTRACIONES

Resumen.................................................................................................................................... 3
OBJETIVOS................................................................................................................................ 7
Objetivo General.................................................................................................................... 7
Objetivos específicos............................................................................................................ 7
Métodos y materiales:........................................................................................................... 7
DESCRIPCIÓN DEL CASO DE ESTUDIO................................................................................12
DATOS COMPLETOS DE LA EMPRESA.............................................................................12
Misión:............................................................................................................................... 13
Visión:............................................................................................................................... 13
Principales procesos:......................................................................................................13
Historia:............................................................................................................................. 13
Rubro:................................................................................................................................ 13
REQUERIMIENTOS PARA LA CONSTRUCCIÓN DE LA BASE DE DATOS EMPRESA.......13
Realidad Problemática.........................................................................................................13
MODELO ENTIDAD - RELACIÓN:...........................................................................................15
DISEÑO RELACIONAL............................................................................................................ 16
NORMALIZACIÓN.................................................................................................................... 16
Bibliografía:.............................................................................................................................. 26
INTRODUCCIÓN

El progreso y evolución de las empresas depende mucho de la información que manejan de


acuerdo a los procesos que se realizan dentro de dichas, ya que con ello se pretende
reconocer los aciertos y desaciertos de las organizaciones. La información adquirida sirve
para analizar a nivel interno y así tomar las mejores decisiones para la empresa, con eso se
busca un mayor rendimiento orientada al cumplimiento de metas de producción y/o ventas,
garantizando la rentabilidad y estabilidad de la empresa. Por lo tanto, la información es uno de
los puntos más relevantes al hablar de empresas.

Hoy en día contamos con una gran variedad de SGBD el cual cumple una gran función, y es la
de administrar y gestionar información que contiene una Base de Datos, la cual diseñaremos e
implementaremos a AMERICA DISTRIBUCIONES.
OBJETIVOS

Objetivo General
El objetivo general del presente, es diseñar e implementar una base de datos de acuerdo a
las actividades realizadas en la empresa del rubro de ventas de Soportes (Racks) para
dispositivos tecnológicos (AMERICA DISTRIBUCIONES)

Objetivos específicos

 Recopilar información en cuanto a la realidad problemática de la empresa y crear un


diagrama entidad-relación de acuerdo a esta, para así tener registrado los productos,
clientes, proveedores, pedidos y trabajadores de la empresa.
 Crear el esquema relacional, diseño físico y lógico de la base de datos.
 Implementar la base de datos de la empresa en el sistema gestor base de datos con
sus respectivas restricciones.

Métodos y materiales:

En la presente investigación se utilizó la metodología estándar de diseño de base de datos


principalmente se rige en base a la necesidad de una mejora en la organización de datos
en “AMERICA DISTRIBUCIONES” la cual se encarga de la venta de soportes (Racks) para
TV, DVD, LED, LCD, PLASMA, Proyectores y más. Que tiene las etapas de especificación
de requisitos, diseño conceptual, diseño lógico y diseño físico, además de las técnicas de
desarrollo del sistema de Información de la empresa ya mencionada.

MARCO TEÓRICO

Definiciones básicas

BASE DE DATOS
 “Colección o depósito de datos, donde los datos están lógicamente relacionados entre
sí, tienen una definición y descripción comunes y están estructurados de una forma
articular. Una base de datos es también un modelo del mundo real y, como tal, debe
poder servir para toda una gama de usos y aplicaciones”, (Conference des
Statisticiens Européens, 1977).
 “Colección integrada y generalizada de datos, estructurada atendiendo a las relaciones
naturales de modo que suministre todos los caminos de acceso necesarios a cada
unidad de datos con objeto de poder atender todas las necesidades de los diferentes
usuarios”, (Deen, 1985).
 “Conjunto de ficheros maestros, organizados y administrados de una manera flexible de
modo que los ficheros puedan ser fácilmente adaptados a nuevas tareas imprevisibles”,
(Frank, 1988).

SGBD
 Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten
el almacenamiento, modificación y extracción de la información en una base de datos.
Los usuarios pueden acceder a la información usando herramientas específicas de
consulta y de generación de informes, o bien mediante aplicaciones al efecto.
 sistema de gestión de base de datos
TABLA
 Las tablas son objetos de base de datos que contienen todos sus datos. En las tablas,
los datos se organizan con arreglo a un formato de filas y columnas, similar al de una
hoja de cálculo. Cada fila representa un registro único y cada columna un campo dentro
del registro. Por ejemplo, en una tabla que contiene los datos de los empleados de una
compañía puede haber una fila para cada empleado y distintas columnas en las que
figuren detalles de los mismos, como el número de empleado, el nombre, la dirección, el
puesto que ocupa y su número de teléfono particular. (según “[Link]”)

COLUMNA
 Una columna es un tipo único de información acerca de la entidad (atributo). Cada
columna representa un 'campo' de la tabla, sirve para almacenar una determinada
información.
(Anónimo, base de datos)

FILA
 Las filas deben ser exclusivas y autónomas, cada fila es independiente y no depende de
ninguna fila de la misma tabla, en cada fila una columna debe contener un valor
exclusivo. (Según “[Link]”)
CARDINALIDAD
 En los esquemas entidad / relación la cardinalidad se puede indicar de muchas formas.
Quizá la más completa (y la que se utiliza en este documento es ésta) consiste en
anotar en los extremos la cardinalidad máxima y mínima de cada entidad en la relación.
(Según “Jorge sanchez”)

NORMALIZACION
 El proceso de normalización de bases de datos consiste en designar y aplicar una serie
de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo
relacional.

NORMALIZACION DE UNA BASE DE DATOS


1FN
 Se dice que una relación está en 1FN si y sólo si cada uno de los atributos tiene un
único valor para un registro determinado, es decir, los dominios de esta relación tienen
valores únicos.
Jose Ángel Taboada Gonzáles , José Manuel Cotos
Yáñez, 2005
2FN
 Una relación se encuentra en segunda forma normal si, y solo si, se encuentra en 1FN y
si todos los atributos no clave dependen por completo de la clave.
Damia
no.L, 2012
3FN
 Esta es un proceso de organización de los datos en una base de datos para evitar
redundancias y posibles anomalías en la inserción, actualización o eliminación de los
datos, generando para ello un diseño simple y estable del modelo conceptual.
Database Dev (2015). Third Normal Form (3NF) – Normalising Your
Database.

MODELO CONCEPTUAL
 El modelo conceptual representa una vista global de toda la base de datos como la ve
toda la organización. Esto es, el modelo conceptual integra todas las vistas externas
(entidades relacionales, restricciones y procesos) en una sola vista global de los datos
de la empresa. También conocida como esquema conceptual, es la base para la
identificación y descripción de los principales objetos de datos.
Coronel, Diseño,implementación y administración de base de
datos, 2011

DIAGRAMA ENTIDAD-RELACION

 Un diagrama entidad-relación, también conocido como modelo entidad relación o ERD,


es un tipo de diagrama de flujo que ilustra cómo las "entidades", como personas,
objetos o conceptos, se relacionan entre sí dentro de un sistema. (Según “lucidchart”).
ENTIDAD
 Una entidad es una cosa u objeto del mundo real, también puede ser un concepto
abstracto y es distinguible de todos los demás objetos. Una entidad tiene un conjunto de
propiedades o atributos que la caracterizan. (Según “[Link]”).
RELACION
 Una relación es una asociación entre diferentes entidades. Es un vínculo que nos
permite definir una dependencia, es decir, nos permite exigir que varias entidades
compartan ciertos atributos de forma indispensable. (Según “[Link]”).
ESQUEMA RELCIONAL
 Se trata de un modelo bastante potente y a la vez bastante simple, que nos representas
problemas. El elemento principal de este modelo es la relación. Por lo que podemos
decir que una base de datos relacional está compuesta por un conjunto de relaciones.

Enrique J. R –Calixto A. M. – Roberto M. –Luis E. D.- Maximiliano A. A.


(2012)

DISEÑO LOGICO DE BASE DE DATOS


 El objetivo del diseño lógico es la creación del esquema conceptual y de los esquemas
externos de la base de datos en el modelo de datos elegido ([Link]. relacional),
independientemente del SGBD que se vaya a utilizar. Tarea: Transformar los esquemas
obtenidos en el diseño conceptual en un conjunto de estructuras propias del modelo de
datos elegido.
Alan, B. (2010) Aprende SQL (segunda
edición)

TIPOS DE DATOS (EN SQL)

 La intercalación del resultado viene determinada por las reglas de precedencia de


intercalación cuando el tipo de datos del resultado es char, varchar, text, nchar,
nvarchar o ntext. (Según “[Link]”)
DISEÑO FISICO DE DATOS
 El objetivo de la etapa de diseño físico es producir una descripción de la
implementación de la base de datos en memoria secundaria. Esta descripción incluye
las estructuras de almacenamiento y los métodos de acceso que se utilizarán para
conseguir un acceso eficiente a la base de datos.
Wuiller Angel Maldonado.
Diseño Fisico.

SQL
 El lenguaje SQL está directamente vinculado al modelo de base de datos relacional,
porque el resultado de una consulta SQL es una tabla (también denominada, en este
contexto "conjunto de resultados ", result set). De este modo se puede crear una nueva
tabla permanente en una base de datos relacional, simplemente almacenando el
conjunto de resultados de una consulta de forma parecida, una consulta puede utilizar
tablas permanentes y los conjuntos de resultados de otras consultas como entrada.
Alan, B. (2010) Aprende SQL
(segunda edición)

DDL
 es el que se encarga de la modificación de la estructura de los objetos de la base de
datos. Incluye órdenes para modificar, borrar o definir las tablas en las que se
almacenan los datos de la base de datos. Existen cuatro operaciones básicas:
CREATE, ALTER, DROP y TRUNCATE.
Lenguaje de definición de base de
datos

DML
 Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un idioma
proporcionado por los sistemas gestores de bases de datos que permite a los usuarios
de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos
en las Bases de Datos del Sistema Gestor de Bases de Datos. Lenguaje de
manipulación de datos
DQL
 Se encarga de recuperar datos de tablas de una base de datos.
 DQL permite al usuario extender sus capacidades registrando nuevas funciones que
pueden ser utilizadas en las consultas. Estas funciones pueden ser de tres tipos,
aquellas que devuelven un valor numérico, las que devuelven una cadena y las que
devuelven una fecha. (Symfony. (2013). Funciones DQL definidas por el usuario para
Doctrine en Symfony. Vabadus.)
 DQL permite expresar consultas en función de entidades y las relaciones entre ellas.
Estas consultas basadas en objetos y relaciones son transformadas por Doctrine en
consultas SQL nativas apropiadas para el motor de base de datos utilizado. (Pintor M.
(2015). Funciones personalizadas en Doctrine ORM.)

RESTRICCIONES

 Las restricciones o constraints SQL sirven para definir condiciones o reglas en una
tabla. Las restricciones de SQL se pueden utilizar para especificar el tipo de datos que
se pueden añadir o incluir en una tabla.
SQL SERVER
 SQL Server es la alternativa de Microsoft a otros potentes sistemas gestores de bases
de datos. Es un sistema de gestión de base de datos relacional desarrollado como un
servidor que da servicio a otras aplicaciones de software que pueden funcionar ya sea
en el mismo ordenador o en otro ordenador a través de una red (incluyendo Internet).
(Parada M. (2019). Qué es SQL Server. OpenWebinars.)
 SQL Server, es el cimiento de la completa plataforma de datos de Microsoft que entrega
un nivel de desempeño interesante para aplicaciones de misión crítica a través de
tecnologías en-memoria, perspectivas más rápidas proveniente de cualquier tipo de
datos con herramientas familiares como Excel y una plataforma para desarrollar,
implementar y administrar soluciones que abarquen tanto implementaciones locales
como en la nube. (ITSitio. (2014). SQL SERVER: ¿Para qué sirve y cuál es la versión
que necesito? ITSitio.)
 Es un tipo de lenguaje de programación que ayuda a la manipulación de información en
una base de datos relacional.

Transact SQL

 El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica


de Management Studio) es Transact-SQL (TSQL), una implementación del estándar
ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y
definir relaciones entre ellas (DDL).

 Transact SQL va más allá de un lenguaje SQL, las características propias de cualquier
lenguaje de programación, características que nos permiten definir la lógica necesaria
para el tratamiento de la información: tipos de datos, definición de variables, estructuras
de control de flujo, gestión de excepciones. ¨ (Salomón Ccance,2005).

 El lenguaje Transact SQL o T-SQL es utilizado en la base de datos SQL Server de


Microsoft, con características propias de un lenguaje de programación. (Álvarez G.
(2019). Lenguaje Transact SQL o T-SQL. Kyocode.)

CONSULTAS
 Una consulta es el método para acceder a la información en las bases de datos. Con las
consultas se puede modificar, borrar, mostrar y agregar datos en una base de datos,
también pueden utilizarse como origen de registro para formularios. Para esto se utiliza
un Lenguaje de consulta.

 Las consultas pueden realizar diversas funciones en una base de datos. La función más


común es recuperar datos específicos de las tablas. Los datos que quiere ver
generalmente están distribuidos en varias tablas y las consultas le permiten verlos en
una única hoja de datos. (Access. (2019). Conceptos básicos sobre bases de datos.
Microsoft.)

 Una consulta sirve para extraer información de una base de datos. Permite manipular
datos: agregar, eliminar y cambiar. Así es como usaremos esta palabra. (Gustavo B.
(2020) ¿Qué es una consulta en base de datos? Hostinger: Tutoriales.)

SUBCONSULTAS
 El uso de subconsultas es una técnica que permite utilizar el resultado de una tabla
SELECT en otra consulta SELECT. Permite solucionar consultas complejas mediante el
uso de resultados previos conseguidos a través de otra consulta.
 Una subconsulta es una consulta anidada en una instrucción SELECT, INSERT,
UPDATE o DELETE, o bien en otra subconsulta. Las subconsultas se pueden utilizar en
cualquier parte en la que se permita una expresión. (Olprod. (2018). Subconsultas (SQL
Server). Microsoft.)
 Una subconsulta en SQL consiste en utilizar los resultados de una consulta dentro de
otra, que se considera la principal. Esta posibilidad fue la razón original para la palabra
“estructurada” en el nombre Lenguaje de Consultas Estructuradas (Structured Query
Language, SQL). (Miñana M. (2015). Subconsultas.)

ÁLGEBRA RELACIONAL
 El "Álgebra Relacional" es un lenguaje, que define una serie de operaciones, que se
realizan utilizando "operadores", cada uno de los cuales puede trabajar sobre uno o
varios conjuntos de datos produciendo como resultado un nuevo conjunto de datos
 Para especificar una consulta en álgebra relacional, es preciso definir uno o más pasos
que sirven para ir construyendo, mediante operaciones de álgebra relacional, una nueva
relación que contenga los datos que responden a la consulta a partir de las relaciones
almacenadas. Los lenguajes basados en el álgebra relacional son procedimentales,
dado que los pasos que forman la consulta describen un procedimiento. (Camps,
Santillan, & Costa, 2005).

VISTAS

 Una vista es una tabla virtual cuyo contenido está definido por una consulta. Al igual que
una tabla, una vista consta de un conjunto de columnas y filas de datos con un nombre.
(Según “[Link]”)
 Las vistas no existen realmente como un conjunto de valores almacenados en la base
de datos, sino que son tablas ficticias, denominadas derivadas (no materializadas). Se
construyen a partir de tablas reales (materializadas) almacenadas en la base de datos,
y conocidas con el nombre de tablas básicas (o tablas de base). La no-existencia real
de las vistas hace que puedan ser actualizables o no. (Escofet, C, 2020. El Lenguaje
SQL. FUOC)
 Las vistas son elementos muy útiles en la programación SQL. Permiten principalmente
crear tablas virtuales específicas para un dominio o para un tipo de usuario. (Godoc, E,
11 de junio de 2014. SQL: Los fundamentos del lenguaje. ENI)

COMBINACIONES
 Las combinaciones permiten recuperar datos de dos o más tablas según las relaciones
lógicas entre ellas. Las combinaciones indican cómo debe usar SQL Server los datos de
una tabla para seleccionar las filas de otra tabla. (Según “[Link]”)

Procedimientos Almacenados

 Un procedimiento almacenado es un conjunto de instrucciones de T-SQL que SQL


Server compila, en un único plan de ejecución, los llamados "store procedures" se
encuentran almacenados en la base de datos, los cuales pueden ser ejecutados en
cualquier momento. (Quinto Cáceres, C. (s. f.). Procedimientos Almacenados. USMP)
 Un procedimiento almacenado de SQL es un conjunto de sentencias SQL con un
nombre asignado, el cual está almacenado en la base de datos de forma compilada
para que varios programas puedan utilizarlo. (16.20 - Acerca de procedimientos
almacenados de SQL - Teradata Data Mover. Teradata.)
 Un procedimiento almacenado es conjunto de pasos a las que se le asigna un nombre,
se almacena en la base de datos activa, además permiten agrupar y organizar tareas
repetitivas.
DESCRIPCIÓN DEL CASO DE ESTUDIO

DATOS COMPLETOS DE LA EMPRESA

Nombre de la empresa AMERICA DISTRIBUCIONES

Tipo Contribuyente PERSONA NATURAL CON NEGOCIO

RUC 10424180047

Teléfono 990210819

Dirección Jr. Amazonas 1101-Barrio San Sebastián

Nombre del propietario Cesar Antonio Ruiz Bazán

Rubro Venta de Racks

Año de fundación 2011

Tabla 1: Datos de la empresa

Misión:
Somos una empresa que trabaja para ofrecer a sus clientes la mejor
experiencia en cuanto a la compra de soportes (Racks) para TV, DVD, LED,
LCD, PLASMA, Proyectores y más; productos nacionales de buena calidad y
a precios accesibles para la población Cajamarquina.

Visión:
Ser una empresa reconocida por ofrecer un buen servicio, atención y
producto de calidad y ser los mejores en el mercado.

Principales procesos:
 Compra y venta de Racks.
 Transporte e instalación de los productos en venta.

Historia:
La empresa “AMERICA DISTRIBUCIONES” es una empresa que empezó en
el año 2011 en cuanto a la ausencia de venta de Racks en la ciudad de
Cajamarca y en conjunto con el emprendimiento de Cesar Ruiz Bazan, quien
vio la gran oportunidad de negocio, decidió incursionar en la venta de
soportes para dispositivos tecnológicos.

Rubro:
Venta de soportes para dispositivos tecnológicos.
REQUERIMIENTOS PARA LA CONSTRUCCIÓN DE LA BASE DE DATOS EMPRESA

Realidad Problemática

“AMERICA DISTRIBUCIONES” busca implementar una base de datos en la cual


pueda guardar información de sus proveedores almacenando así (Ruc, Nombre,
Dirección, E-mail, Teléfono), un proveedor puede proveer muchos productos, y un
producto tienen distintos proveedores. Además de ello se desea manejar la
información de los productos de los cuales se sabe (Código, Nombre del producto,
Descripción, Stock, Precio), los cuales se detallan al realizar un pedido y en el
mencionado Detalle de pedido se almacena (Total a pagar y el descuento de la
compra). Del pedido se sabe (El código del pedido, fecha del pedido, Cantidad). El
pedido es atendido por un trabajador (Código, DNI, Nombre, Apellido, Dirección,
Teléfono, Cargo y E-mail), un trabajador puede atender varios pedidos, pero un pedido
solo puede ser atendido por un trabajador. Es importante almacenar la información de
nuestros clientes (DNI, nombre, apellido, teléfono y dirección) Un cliente puede realizar
varios pedidos y un pedido le pertenece a un solo cliente.

MODELO ENTIDAD - RELACIÓN:

Fecha_Envio Stock
Nombre
Nombre_Producto
RUC
Cod_Producto

(1,n) (1,n)
Proveedores Prove Producto Descripción
E-mail e

Precio
Dirección
Teléfono
(1,n)

Cod_Producto Descuento
Atiende
Detalle_
Pedido
Cod_Pedido
Dirección
(1,1)

DNI Trabajador
Cargo

(1,n)
Cod_Trabajador (1,n) Cod_Pedido

Apellido Compra Fecha_Pedido


Pedido
E-mail (1,n)
Cantidad
DNI_Cliente (1,1)

Nombre Cliente

Apellido
Dirección
Teléfono

Ilustración 1Entidad Relación

DISEÑO RELACIONAL
Proveedor (RUC, Nombre, Teléfono, E-mail, Dirección).
Provee (RUC, Cód_Producto, Fecha_envio).
Producto (Cód_Poducto, Nombre_Producto, Descripción, Stock, Precio).
Detalle_Pedido (Cod_Pedido, Cód_producto, Descuento).
Pedido (Cod_Pedido, Fecha_pedido, Cantidad, DNI_Cliente,
Cód_Trabajador).
Cliente (DNI_Cliente, Nombre, Apellido, Dirección, Teléfono)
Trabajador (Cód_Trabajador, DNI, Nombre, Apellido, Dirección, Teléfono,
Cargo, E-mail).

NORMALIZACIÓN
Proveedor
(RUC, Nombre, Teléfono, E-mail, Dirección)

¿Atributos atómicos?
Sí, es 1FN
¿Cuál es la clave?
RUC
2FN – ¿Todos los atributos (que no sean clave primaria) dependen de toda la
clave?
La tabla no tiene una clave compuesta por lo tanto cumple con la segunda forma
normal. 
¿Hay dependencia Transitivas?
No hay dependencia transitiva así que satisface 3FN

Provee
(RUC, Cód_Producto, Fecha_envio)

¿Atributos Atómicos?
Sí, es 1FN
¿Cuál es la clave?
RUC, Cód_Producto
2FN – ¿Todos los atributos (que no sean clave primaria) dependen de toda la
clave?
La tabla tiene claves compuestas, por lo tanto, no cumple con la primera condición de la
2FN, entonces pasamos analizar la tabla y vemos que su atributo si depende de toda la
clave principal compuesta, entonces si cumple con la 2FN.
3FN ¿Hay dependencia Transitivas?
• No hay dependencia transitiva así que satisface 3FN

Producto
(Cód_Poducto, Nombre_Producto, Descripción, Stock, Precio).

¿Atributos atómicos?
Sí, es 1FN
¿Cuál es la clave?
Cód_Poducto
2FN – ¿Todos los atributos (que no sean clave primaria) dependen de toda la
clave?
La tabla no tiene una clave compuesta por lo tanto cumple con la segunda forma
normal. 
¿Hay dependencia Transitivas?
No hay dependencia transitiva así que satisface 3FN

Detalle_Pedido
(Cod_Pedido, Cód_producto, Descuento, Pago_Total).

¿Atributos Atómicos?
Sí, es 1FN
¿Cuál es la clave?
Cod_Pedido, Cód_producto
2FN – ¿Todos los atributos (que no sean clave primaria) dependen de toda la
clave?
La tabla tiene claves compuestas, por lo tanto, no cumple con la primera condición de la
2FN, entonces pasamos analizar la tabla y vemos que su atributo si depende de toda la
clave principal compuesta, entonces si cumple con la 2FN.
3FN ¿Hay dependencia Transitivas?
No hay dependencia transitiva así que satisface 3FN

Pedido
(Cod_Pedido, Fecha_pedido, Cantidad, DNI_Cliente, Cód_Trabajador).

¿Atributos atómicos?
Sí, es 1FN
¿Cuál es la clave?
Cod_Pedido
2FN – ¿Todos los atributos (que no sean clave primaria) dependen de toda la
clave?
Si cumple con la segunda forma normal. 
¿Hay dependencia Transitivas?
No hay dependencia transitiva así que satisface 3FN

Cliente
(DNI_Cliente, Nombre, Apellido, Dirección, Teléfono)

¿Atributos atómicos?
Sí, es 1FN
¿Cuál es la clave?
DNI_Cliente
2FN – ¿Todos los atributos (que no sean clave primaria) dependen de toda la
clave?
La tabla no tiene una clave compuesta por lo tanto cumple con la segunda forma
normal. 
¿Hay dependencia Transitivas?
No hay dependencia transitiva así que satisface 3FN

Trabajador (Cód_Trabajador, DNI, Nombre, Apellido, Dirección, Teléfono,


Cargo, E-mail).

¿Atributos atómicos?
Sí, es 1FN
¿Cuál es la clave?
Cód_Trabajador
2FN – ¿Todos los atributos (que no sean clave primaria) dependen de toda la
clave?
La tabla no tiene una clave compuesta por lo tanto cumple con la segunda forma
normal. 
¿Hay dependencia Transitivas?
No hay dependencia transitiva así que satisface 3FN

RESTRICCIONES
Tipos de datos:

PROVEEDOR

- RUC: Char (11) Clave primaria


- Nombre: Varchar (50) not null
- Teléfono: Char (9) not null
- E-mail: Varchar (50) UNIQUE null
- Dirección: Varchar (60) not null

PROVEE

- RUC: Char (11) Clave primaria


- Cód_Producto: Char (5) Clave primaria
- Fecha_envio DATE DEFAULT GETDATE() not null

PRODUCTO
- Cód_Poducto int Clave primaria
- Nombre_Producto: Varchar (60) not null
- Descripción: Varchar (50) nullc
- Stock: Int not null CHECK (Stock >=0)
- Precio: Money not null CHECK (Precio >0)
DETALLE_PEDIDO

- Cod_Pedido: Char (8) Clave primaria


- Cód_producto: Char (5) Clave primaria
- Descuento: Decimal (6, 2) null

PEDIDO
- Cod_Pedido: int Clave primaria
- Fecha_pedido: Date not null
- Cantidad: Int not null
- DNI_Cliente: Char (8) Clave foránea
- Cód_Trabajador: Int Clave foránea

CLIENTE

- DNI_Cliente: Char (8) Clave primaria


- Nombre: Varchar (30) not null
- Apellido: Varchar (30) not null
- Dirección: Varchar (30) null
- Teléfono: Char (9) null
Ç

TRABAJADOR

- Cód_Trabajador: int Clave primaria

- DNI: Char (8) not null UNIQUE


- Nombre: Varchar (30) not null
- Apellido: Varchar (30) not null
- Dirección: Varchar (30) not null
- Teléfono: Char (9) not null
- Cargo: Varchar (30) not null
- E-mail: Varchar (50) UNIQUE not null

DISEÑO FISICO
CREATE DATABASE AMERICA_DISTRIBUCIONES
go
--USAR LA BASE DE DATOS
USE AMERICA_DISTRIBUCIONES
go

CREATE TABLE Proveedor(


RUC char(11) primary key not null ,
Nombre_encargado varchar(50) not null,
nombre_de_la_empresa varchar (20) not null,
Telefono char(9) not null,
Email varchar (50) unique null ,
Direccion varchar(65) not null,
ciudad varchar (20))
go
CREATE TABLE Producto(
Cod_Producto int identity(1,1) primary key not null,
Nombre_Producto varchar(60) not null,
Descripcion varchar(50) null ,
Stock char (4) CHECK (Stock >=0) ,
Precio money not null CHECK (Precio >0))
go

CREATE TABLE Provee(


RUC_Proveedor char(11) not null FOREIGN KEY (RUC_Proveedor) REFERENCES Proveedor(RUC),
CodigoProducto int not null FOREIGN KEY (CodigoProducto) REFERENCES
Producto(Cod_Producto),
Fecha_envio DATE DEFAULT GETDATE() NOT NULL,
PRIMARY KEY (RUC_Proveedor, CodigoProducto))
go

Create table Cliente(


DNI_Cliente char (8) primary key not null,
Nombre varchar (30) not null,
Apellido varchar (30) not null,
Direccion varchar(30)null ,
Telefono char(9) null,
)
go
CREATE TABLE Trabajador(
Cod_Trabajador int identity(1,1) primary key not null,
DNI char (8) not null unique,
Nombre varchar(30) not null,
Apellido varchar(30) not null,
Direccion Varchar(30) not null,
Telefono char(9) not null,
Cargo varchar(30) not null,
E_mail varchar(50) unique not null)
go

Create table Pedido(


Cod_Pedido int identity (1,1) primary key,
Fecha_pedido DATE DEFAULT GETDATE() NOT NULL,
Cantidad int not null,
DNICliente char (8) not null FOREIGN KEY (DNICliente) REFERENCES Cliente(DNI_Cliente),
CODTrabajador int not null FOREIGN KEY (CODTrabajador) REFERENCES
Trabajador(Cod_Trabajador))
go

CREATE TABLE Detalle_Pedido(


CODPedido int not null FOREIGN KEY (CODPedido) REFERENCES Pedido(Cod_Pedido),
CODProducto int not null FOREIGN KEY (CODProducto) REFERENCES Producto(Cod_Producto),
Descuento decimal(6,2) null,
PRIMARY KEY (CODPedido,CODProducto))
go

insert into Proveedor values ('59874361287','Fabian Costa', 'Rack


SA','964851732','fabian_costa@[Link]','jr 3 molinos 550','cajamarca')
insert into Proveedor values ('48568632154', 'Mariano Lopez','TV-Racks SAC','932147534',
'mariano_lopez@[Link]', 'Av manco inca 113','Cajamarca')
insert into Proveedor values ('57894692310','Cristian Gonzales','Pro-Rack',
'975421368','cristian_gonzales@[Link]','Psj los juncos 684','cajamarca')
insert into Proveedor values ('58436812879','Martin Alvarez','todo rack S.A',
'975421368','martin_alvarez@[Link]','Psj San ignacio 633','cajamarca')
insert into Proveedor values ('63214789564','Laura Ramirez', 'Rack-
Master','988745632','Laura_ramirez@[Link]','Av Peru 178', 'cajamarca')

insert into Producto values ('Rack 32-70 pulgadas Fijo con Cable HDMI' , 'Rack para tv
con cable HDMI', '60','29')
insert into Producto values ('Rack de 32-55 puñgadas fijo', ' Rack de 32 a 55 pulgadas
con soporte fijo' , '30','49')
insert into Producto values ('Rack fijo-p/TV 32-75 pulgadas' , 'Rack de 32 a 75 pulgadas
fijo ','50','40')
insert into Producto values ('Rack de 32 a 55 pulgadas', 'Rack de 32 a 55 pulgadas con
brazo giratorio ', '80', '99')
insert into Producto values ('Rack de 35 a 55 pulgadas',' Rack con Brazo giratorio de
acero', '0','89')
insert into Producto values ('Rack de 23-70 pulgadas', 'Rack con brazo','0', '99')
insert into Producto values ('Rack de 32-65 pulgadas','Rack de tv con brazo
articulado','50','59')
insert into Producto values ('Rack de 37-82 pulgadas', 'Rack movil para TV', '50','169')
insert into Producto values ('Rack de 14-40 pulgadas','Rack giratorio de tv', '50','59')
insert into Producto values ('Rack de 32-55 pulgadas', 'Rack movil para tv','30','89')
insert into Producto values ('Rack de 37-82 pulgadas','Rack movil para TV','30','169')
insert into Producto values ('Rack de 32-55',' Brazo Giratorio de 180° Acero',
'30','139')
insert into Producto values ('Rack Repisa De Vidrio Templado Para Pared' , null,'0','59')
insert into Producto values ('Rack para proyector', ' Rack para proyector de acero',
'20','37')
insert into Producto values ('Rack Proyector', 'Para Techo Bajo - Altura Fija 13
Cm','10','90')
insert into Producto values ('Rack Soporte Mini Proyector','Ajustable 40cm Techo
Pared','30','45')
insert into Producto values ('Rack Proyector Techo',' Altura Regulable 43 - 65 Cm
Importado','10','120')
insert into Producto values ('Rack Para Proyector','Rack para Techo, Regulable
360°','10','70')
insert into Producto values ('Rack Blanco para proyector','Rack Universal De Techo Para
Proyector - Aluminio','60','129')
insert into Producto values ('Rack Para Proyector','Rack De Techo, Canastilla
Antirrobo','100','130')
insert into Producto values ('Rack Electrico Para Proyector',null, '0','1360')
insert into Producto values ('Rack Techo','Para Proyector Kpm-580w Aluminio Acero
Gris','30','109')

insert into provee (RUC_Proveedor,CodigoProducto) values ('59874361287','1')


insert into provee (RUC_Proveedor,CodigoProducto) values ('59874361287','2')
insert into provee (RUC_Proveedor,CodigoProducto) values ('59874361287','3')
insert into provee (RUC_Proveedor,CodigoProducto) values ('59874361287','4')
insert into provee (RUC_Proveedor,CodigoProducto) values ('57894692310','5')
insert into provee (RUC_Proveedor,CodigoProducto) values ('57894692310','6')
insert into provee (RUC_Proveedor,CodigoProducto) values ('57894692310','7')
insert into provee (RUC_Proveedor,CodigoProducto) values ('57894692310','8')
insert into provee (RUC_Proveedor,CodigoProducto) values ('63214789564','9')
insert into provee (RUC_Proveedor,CodigoProducto) values ('63214789564','10')
insert into provee (RUC_Proveedor,CodigoProducto) values ('63214789564','11')
insert into provee (RUC_Proveedor,CodigoProducto) values ('63214789564','12')
insert into provee (RUC_Proveedor,CodigoProducto) values ('48568632154','13')
insert into provee (RUC_Proveedor,CodigoProducto) values ('48568632154','14')
insert into provee (RUC_Proveedor,CodigoProducto) values('48568632154','15')
insert into provee (RUC_Proveedor,CodigoProducto) values ('48568632154','16')
insert into provee (RUC_Proveedor,CodigoProducto) values ('58436812879','17')
insert into provee (RUC_Proveedor,CodigoProducto) values ('58436812879','18')
insert into provee (RUC_Proveedor,CodigoProducto) values('58436812879','19')
insert into provee (RUC_Proveedor,CodigoProducto) values('58436812879','20')
insert into provee (RUC_Proveedor,CodigoProducto) values('58436812879','21')
insert into provee (RUC_Proveedor,CodigoProducto) values('58436812879','22')

insert into Trabajador values ('46987698','Jesus','Briones','Jr los nogales


160','967542381','Vendedor','jesus_briones@[Link]' )
insert into Trabajador values ('70694568','Angel','Moran','Jr mario urteaga
268','932487561','Vendedor','Angel_moran@[Link]' )
insert into Trabajador values ('45789621','Alexis','Fernandez','Av Via de evitamiento
367','985412365','Vendedor','Alexis_fernandez@[Link]' )
insert into Trabajador values ('75894568','Franco','Llanos','Jr silva santiesteban
199','923014548','Vendedor','Franco_Llanos@[Link]' )
insert into Trabajador values ('71489625','Manuel','Quiroz','Jr celendin
590','903471689','Vendedor','Manuel_Quiroz@[Link]' )
insert into Trabajador values ('75362412','Maria','Contreras',' Jr cruz de pieda 239',
'985632654','cajero','Maria_contreras@[Link]')
insert into Trabajador values ('27845633','Angel','Ramirez','Jr perea
458','945236586','seguridad','Angel_ramirez@[Link]')

insert into cliente values ('70126845','Antony','Cotrina','Jr el inca 354','936541025')


insert into cliente values ('48236971','Marcelo','Moreno','Jr Mario Urteaga
158','901536874')
insert into cliente values ('45896328','Felix','Ramirez','Jr Pisagua 1478','963201058')
insert into cliente values ('45698745','Julio','Sanchez','Jr tupac amaru
521','932541254')
insert into cliente values ('45698458','Andres','Montaño','Jr ayacucho 258','953215656')
insert into cliente values ('70684935','Fernando','Areas','Jr historia 268','936641202')
insert into cliente values ('24896789','Yanela','Lopez','Av nuevo cajamarca
202','968745215')
insert into cliente values ('26897415','Maria','Villalobos','Jr San Luis
365','954101012')
insert into cliente values ('27102302','Jhuliana','Paz','Jr amalia puga
1207','944223165')
insert into cliente values ('72120186','Luisana','Chavez','Jr Mario urteaga
1202','932587463')
insert into cliente values ('73698254','David','Graciano','Jr elias aguirre
520','954458712')
insert into cliente values ('75548962','Jhonatan','Abanto','Jr los fresnos
253','963325830')
insert into cliente values ('75110202','Hugo','Martinez','Jr jequetepeque
159','963250321')
insert into cliente values ('78541232','Matias','Amasifuen','Jr los sauces
855','932101477')
insert into cliente values ('74112333','Isabel','Flores','Jr Miguel Iglesias
541','978545212')
insert into cliente values ('72254189','Lenin','Izquierdo','Av Peru 341','915764829')
insert into cliente values ('45825354','Sara','Mendoza','Av Hoyos Rubio 547','936541278')
insert into cliente values ('45220125','Mariana','Cuz','Jr cesar vallejo
147','975148238')
insert into cliente values ('72589482',' Jose ','Bazan','Av San Martin 2698','974852156')
insert into cliente values ('75652668','Martin','Vera','Jr los cedros 665','96574554')

insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('1','70126845','1')


insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('10','48236971','1')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('2','45896328','1')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('3','45698745','1')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('3','45698458','2')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('5','70684935','2')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('6','24896789','2')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('4','26897415','2')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('7','27102302','3')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('1','72120186','3')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('1','73698254','3')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('3','75548962','3')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('1','75110202','4')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('1','78541232','4')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('6','74112333','4')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('1','72254189','4')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('5','45825354','5')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('2','45220125','5')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('3','72589482','5')
insert into Pedido (Cantidad,DNICliente,CODTrabajador) values ('1','72589482','5')

insert into Detalle_Pedido values ('1','3',null)


insert into Detalle_Pedido values ('2','2',null)
insert into Detalle_Pedido values ('3','1',null)
insert into Detalle_Pedido values ('4','20',null)
insert into Detalle_Pedido values ('5','19',null)
insert into Detalle_Pedido values ('6','18',null)
insert into Detalle_Pedido values ('7','4',null)
insert into Detalle_Pedido values ('8','7',null)
insert into Detalle_Pedido values ('9','8',null)
insert into Detalle_Pedido values ('10','17',null)
insert into Detalle_Pedido values ('11','9',null)
insert into Detalle_Pedido values ('12','12',null)
insert into Detalle_Pedido values ('13','14',null)
insert into Detalle_Pedido values ('14','15',null)
insert into Detalle_Pedido values ('15','1',null)
insert into Detalle_Pedido values ('16','18',null)
insert into Detalle_Pedido values ('17','10',null)
insert into Detalle_Pedido values ('18','1',null)
insert into Detalle_Pedido values ('19','16',null)
insert into Detalle_Pedido values ('20','11',null)

/*1 mostrar CLIENTES ATENDIDOS POR EL EMPLEADO CON CODIGO 1 */


SELECT [Link] as nombre_cliente , [Link] as nombre_empleado
FROM Cliente as c inner join Pedido as p on c.DNI_Cliente=[Link] inner join
Trabajador as t
on t.Cod_Trabajador=[Link]
where Cod_Trabajador=1

/* 2 mostrar productos los 10 productos mas caros con stock en el almacen*/

select top 10 precio ,Nombre_Producto, Cod_Producto, Stock


from Producto
where stock >0
order by Precio desc

/* 3 mostrar los productos que tengan un stok > 20 y que pertenezcan a la empresa 'Todo
rack S.A'*/

select Stock, pro.nombre_de_la_empresa


from Producto as p inner join Provee as pr on p.Cod_Producto=[Link] inner join
Proveedor as pro
on [Link]=RUC_Proveedor
where [Link]>20 and pro.nombre_de_la_empresa='todo rack S.A'

/* 4 mostrar los productos cuyo precio este entre 50 y 200 que tengan stok*/
select *
from Producto as p inner join Provee as pr on p.Cod_Producto=[Link] inner join
Proveedor as pro
on [Link]=RUC_Proveedor
where (Precio between 50 and 200) and (Stock >0)

/* 5 mostrar el monto todal vendido de cada producto en forma decendente */

select p.Nombre_Producto, SUM ([Link]*[Link]) as total


from Producto as p inner join Provee as pr on p.Cod_Producto=[Link] inner join
Proveedor as pro
on [Link]=RUC_Proveedor inner join detalle_pedido as dp on p.Cod_Producto=[Link]
inner join pedido
as pe on [Link]=pe.Cod_Pedido
group by Nombre_Producto
order by total desc

/* 6 mostrar el precio total de las compras de cada cliente*/

select [Link] , pr.Nombre_Producto , [Link], [Link], SUM ([Link]*[Link])


as total
from Cliente as c inner join Pedido as p on c.DNI_Cliente=[Link] inner join
Detalle_Pedido
as dp on p.Cod_Pedido=CODPedido inner join Producto as pr on
[Link]=pr.Cod_Producto
group by [Link], pr.Nombre_Producto, [Link], [Link]

/* 7 mostrar ventas totales de cada empleado*/

select [Link], count (c.dni_cliente) as total_ventas


from Trabajador as t inner join Pedido as p on t.Cod_Trabajador=[Link]
inner join Detalle_Pedido as dp on p.Cod_Pedido=[Link] inner join Cliente as c
on c.DNI_Cliente=[Link]
group by [Link]

/* 8 Mostrar a todos los empleados y sus cargos*/

select Nombre, Cargo


from Trabajador

/* 9 mostrar los 5 clientes con las compras mas caras */


select top 5 SUM ([Link]*[Link]) as total , [Link]
from Cliente as c inner join Pedido as p on c.DNI_Cliente=[Link] inner join
Detalle_Pedido
as dp on p.Cod_Pedido=CODPedido inner join Producto as pr on
[Link]=pr.Cod_Producto
group by [Link], Precio
order by total desc

/* 10 mostrar la suma de ingresos en el mes de noviembre*/

select SUM ([Link]*[Link]) as total_INGRESOS , MONTH =('11')


from Cliente as c inner join Pedido as p on c.DNI_Cliente=[Link] inner join
Detalle_Pedido
as dp on p.Cod_Pedido=CODPedido inner join Producto as pr on
[Link]=pr.Cod_Producto

/* VISTAS*/

/*1 CREAR UNA VISTA DONDE PODAMOS VER NOMBRE DEL CLIENTE , EL TRABAJADOR QUE LO ATENDIO
EL PRODUCTO VENDIDO Y EL PRECIO*/

CREATE VIEW vistacliente_trabajador_producto_precio


AS
SELECT [Link] , [Link] as trabajador , PR.Nombre_Producto, [Link]
from Trabajador as t inner join Pedido as p on t.Cod_Trabajador=[Link]
inner join Detalle_Pedido as dp on p.Cod_Pedido=[Link] inner join Cliente as c
on c.DNI_Cliente=[Link] inner join Producto as pr on
[Link]=pr.Cod_Producto

select *
from vistacliente_trabajador_producto_precio

/*2 crear una vista donde podamos ver los cargos de los empleados*/

create view empleado_cargo


as
select Nombre, Cargo
from Trabajador

select *
from empleado_cargo

/* 3 crear una vista donde podamos ver los productos de cada proveedor */

create view producto_proveedor


as
select pro.nombre_de_la_empresa, pr.Nombre_Producto
from Provee as p inner join Producto as pr on pr.Cod_Producto=[Link] inner join
Proveedor as pro on [Link]=p.RUC_Proveedor

select *
from producto_proveedor

/* 4 crear una vista donde podamos ver el stok de cada producto*/


create view stok_producto
as
select Nombre_Producto, Stock, precio
from Producto

select *
from stok_producto

/* 5 crear una vista donde podamos ver los detalles de pedidos */

create view detalles_pedido


as
SELECT [Link] as nombre_cliente , pr.Nombre_Producto,[Link], [Link] as
nombre_trabajador, [Link] ,p.Fecha_pedido
from Trabajador as t inner join Pedido as p on t.Cod_Trabajador=[Link]
inner join Detalle_Pedido as dp on p.Cod_Pedido=[Link] inner join Cliente as c
on c.DNI_Cliente=[Link] inner join Producto as pr on
[Link]=pr.Cod_Producto

select *
from detalles_pedido

/* Procedimientos Almacenados*/
/*1 crear un procedimiendo almadenado donde podamos ver los detalles del pedido
utilizando el codigo del pedido*/
CREATE PROCEDURE SP_detalle_pedido
@cod_pedido int
AS
SELECT [Link] as nombre_cliente , pr.Nombre_Producto,[Link], [Link] as
nombre_trabajador, [Link] ,p.Fecha_pedido
from Trabajador as t inner join Pedido as p on t.Cod_Trabajador=[Link]
inner join Detalle_Pedido as dp on p.Cod_Pedido=[Link] inner join Cliente as c
on c.DNI_Cliente=[Link] inner join Producto as pr on
[Link]=pr.Cod_Producto
where @Cod_Pedido=Cod_Pedido

EXEC SP_detalle_pedido
@cod_pedido=4

/* 2 crear un procedimiento almacenado donde podamos ver los productos de los proveedores
utilizando el RUC*/

create procedure sp_Proveedores_ruc


@ruc char (11)
as
select pro.nombre_de_la_empresa, pr.Nombre_Producto
from Provee as p inner join Producto as pr on pr.Cod_Producto=[Link] inner join
Proveedor as pro on [Link]=p.RUC_Proveedor
where @ruc=RUC_Proveedor

exec sp_Proveedores_ruc
@ruc=59874361287

/* 3 crear un procedimiento almacenado donde podamos las compras de un cliente utilizando


su DNI*/

create procedure sp_cliente_compras


@dni_cliente char (8)
as
SELECT [Link] as nombre_cliente , pr.Nombre_Producto, [Link],[Link], SUM
([Link]*[Link]) as total
from Trabajador as t inner join Pedido as p on t.Cod_Trabajador=[Link]
inner join Detalle_Pedido as dp on p.Cod_Pedido=[Link] inner join Cliente as c
on c.DNI_Cliente=[Link] inner join Producto as pr on
[Link]=pr.Cod_Producto
where @dni_cliente =c.Dni_cliente
group by [Link], pr.Nombre_Producto, [Link],[Link]

exec sp_cliente_compras
@dni_cliente=73698254

/* 4 crear un procedimiento almacenado donde nos muestre todos los clientes atendidos por
un empleado utilizando
su codigo de empleado*/

create procedure sp_cliente_empleado


@cod_empleado int
as
SELECT [Link] as trabajador , [Link] as cliente ,[Link] as Apellido_cliente
from Trabajador as t inner join Pedido as p on t.Cod_Trabajador=[Link]
inner join Detalle_Pedido as dp on p.Cod_Pedido=[Link] inner join Cliente as c on
c.DNI_Cliente=[Link]
where @cod_empleado=t.Cod_Trabajador

exec sp_cliente_empleado
@cod_empleado=2

Excel
Mostrar los productos sin stock

Mostrar todos los clientes y sus compras

Mostrar los 10 clientes que dieron gasto en sus compras

Generador de reportes

Hallar el número de clientes atendidos por cada empleado


Hallar el monto vendido por cada empleado

Bibliografía:

Alan. (2010). Aprende SQL.

Anonimo. (15 de Junio de 2019). Tech o the net . Obtenido de


[Link]

Bembibre, V. (enero, 2009). Definición de Base de Datos.

Cáceres, C. Q. (2018). [Link]. Obtenido de


[Link]

Camuña, J. (2014). Lenguajes de definición y modificación de datos SQL.

Charte, F. (2005). SQL SERVER . Anaya Multimedia .

Coronel, C. (1977). Implementación de base de datos.

Coronel, C. (2011). Diseño,implementación y administración de base de datos. México: DR.

Damiano.L, A. M. (2012). Bases de datos.

[Link]. (2007). Introducción de sistemas de base de datos . España: Español.

Demetrio, J. (2015). Base de Datos.

EcuRed. (5 de Noviembre de 2016). EcuRed. Obtenido de


[Link]

Jérome. (2015). SQL SERVER 2014 .

Jose Ángel Taboada Gonzáles , José Manuel Cotos Yáñez. (2005). Sistemas de Información
medioambiental. España: Gesbiblo.

Jose Santamaria, J. H. (23 de Noviembre de 2019). Obtenido de


[Link]

Leone, N. (2017). Base de Datos .

Lisbeth Ocaña Bueno. (04 de Mayo de 2018). SlideShare. Recuperado el 05 de Julio de 2020,
de [Link]
95953520

Luis Maximiliano ,Luis E. (2012). Creaión base de datos .

Mannino, M. (2007). Administración de base de datos diseño y desarrollo de aplicaciones.

Mannino, M. (2007). Implementación de base de datos .

Mendes, R. (Marzo 2013). Diseño e implementacion de Base de Datos.

Morris, S. (2011). Base de Datos. México.

Ochando, M. B. (2014). Base de datos.

Ojeda, F. (2012). SQL SERVER.

Oppel, A. (2006). Implementación de base d e datos.

Perez, A. (2012 ). Cardinalidad en Base de Datos. Mexico: Editorial Planeta libros .

Perez, L. D. (2001). Base de datos.

Pilar, L. (5 de Noviembre de 2016). SlideShare. Obtenido de


[Link]

Raghu Ramakrishnan, J. G. (2007). Sistema Gestión de Base de datos. Tercera.

Rob, P. (2011). Diseño e implementaión de base de datos. México.

S. Sudarshan, H. K. (2002). Fundamentos de Basee de datos . España: Printed in Spain .

Sheldon, A. O. (2006). Fundamentos de SQL.

Taboada. (2005). Implementaciónde base de datos.

Willians, E. (2014). Conceptos básicos del diseño de una base de datos.

Ramakrishnan, Raghu, and Johannes Gehrke. Sistemas de gestión de bases de datos (3a.
ed.), McGraw-Hill España, 2007. ProQuest Ebook Central,
[Link]

Sosa, Flores, Miguel (ed.), and Vázquez, Manuel López. Diseño de bases de datos
relacionales, El Cid Editor, 2007. ProQuest Ebook Central,
[Link]
Torres, Remon, Manuel. Normalización de base de datos, El Cid Editor | apuntes, 2009.
ProQuest Ebook Central, [Link]
docID=3182217

También podría gustarte