Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:1 de 36
Dominnig Jean Pierre Mojica Rodríguez, Oscar Andrés Salamanca y Darwin Steven Yara Arias
21 de noviembre de 2020
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:2 de 36
Tabla de Contenido
1. INTRODUCCIÓN 5
1.1 Propósito 5
1.2 Alcance 6
1.4 Referencias 9
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:3 de 36
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:4 de 36
1. INTRODUCCIÓN
1.1 Propósito
y definiendo cada elemento que debe tener una base de datos, como es el funcionamiento de la
como definiciones, palabras claves que puede tener una base de datos, operaciones que se pueden
realizar etc.
1.2 Alcance
Con este proyecto se pretende que se pueda difundir la definición y el uso de las bases de datos y
para que cualquier novato en sistemas pueda comprenderlo y guiarse para su uso en algún futuro.
CONSULTA: Medio por el cual podremos obtener toda la información contenida en la base de
datos
Base de datos: Es un medio que recopila información datos y los relaciona para realizar una
Tabla: Unidad creada para almacenar un conjunto de datos, que se estructura por columnas
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:5 de 36
Entidad: Una unidad de una base de datos que contiene información. Esta unidad es una
Relación: Una relación representa un conjunto de entidades con las mismas propiedades. Cada
relación se compone de una serie de filas o registros (las llamadas tuplas), cuyos valores
Cardinalidad: Cardinalidad es el número de entidades con la cual otra entidad puede asociar
mediante una relación binaria; la cardinalidad puede ser: Uno a uno, uno a muchos o muchos a
Campo: Unidad básica de una base de datos, que nos permite el ingreso de la información, un
campo puede ser el nombre de una persona, edad de una persona etc. Un campo no puede
Llave primaria: Un campo o a una combinación de campos que identifica de forma única a cada
Llave foránea: Es una limitación referencial entre dos tablas. La clave foránea identifica una
columna o grupo de columnas en una tabla (tabla hija o referendo) que se refiere a una columna
Var: se utiliza para almacenar datos de tipo cadena no Unicode de longitud variable
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:6 de 36
Registro: Un registro es un conjunto de campos que contienen los datos que pertenecen a una
misma entidad
SQL: Es un lenguaje estándar con el que se puede acceder a todos los sistemas de gestión de
Ddl : Que permite crear y definir nuevas bases de datos, campos e índices.
Drop: Almacena texto en formato binario. empleado para eliminar tablas e índices.
Alter : Utilizando para modificar las tablas agregando campos o cambiando la definición de los
campos.
eliminar y actualizar datos, también generar consultas para ordenar, filtrar y extraer datos de la
base de datos.
Select: Se utiliza para consultar registros de la base de datos que satisfagan un criterio
determinado.
Insert : Se utiliza para cargar lotes de datos en la base de datos en una única operación.
Join: Sirve para combinar filas de dos o más tablas basándose en un campo en común entre ellas,
devolviendo diferentes datos de las tablas. Un join se produce cuando dos o más tablas se juntan
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:7 de 36
Inner join: Devolverá los datos de todas las filas cuando se presentan al menos una coincidencia
en ambas tablas.
Left join: Devuelve todas las filas de la parte izquierda y las filas que coincidan de la tabla
derecha.
Right join: Devuelve todas las filas de la parte derecha y las filas que coincidan de la tabla
izquierda.
1.4 Referencias
de:http://contenidos.sucerman.com/nivel2/web1/unidad2/leccion1.html.
https://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos.
Álvaro Felipe. [EDteam]. (2020, febrero 13). ¿Qué son la base de datos y cómo
v=knVwokXITGI
datos-database.
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:8 de 36
http://contenidos.sucerman.com/nivel2/web1/unidad2/leccion1.html
https://www.jairogaleas.com/.
https://diego.com.es/principales-tipos-de-joins-en-sql.
095365f28650/view?page=0_0#?folder_id=home&browser=icon.
datos en tres fases de diseño: conceptual, lógico y físico. Estas fases pueden no seguirse de forma
secuencial. Los diseñadores pueden necesitar revisar las fases anteriores durante las últimas
fases, también pueden omitir una o más fases en las bases de datos sencillas. Cuando se hace
Esta etapa incluye la creación de un esquema o modelo conceptual de la base de datos. Este
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:9 de 36
base de datos, los lenguajes de programación y las plataformas de hardware. Contiene detalles
las neveras y sus características generales que los hacen diferentes de los demás para que el
cliente pueda ir o pedirlos para que se le empaquen y sean comprados y por ende facturados.
al aire libre o en canastas y o en empaques y sus características generales que los hacen
diferentes de los demás para que el cliente pueda ir o pedirlos para que se le empaquen y sean
EMPLEADOS: en esta entidad identificamos todos los datos que se tienen que almacenar sobre
cada uno de los empleados que trabajan en el supermercado, como su salario, su cédula y
teléfono, esto con el fin de conocer toda su información de contacto por si ocurre cualquier
incidente.
FACTURA: en esta entidad guardamos los datos de la compra del cliente más un identificador
CLIENTES: en esta entidad se guardan datos cruciales del cliente ya sean salados o bonos para
este o su nombre e identificador único para poder saber todos los procesos en los que se vea
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:10 de 36
involucrado este.
CAJEROS: aquí guardamos datos sobre el cajero en cuestión que se le asignará a cada
diario sobre cada uno de los cajeros del supermercado, también se usa para asignar los datos del
empleado que trabaja en el cajero en cuestión, así se lleva un control sobre lo que suceda con
estos.
PRODUCTOS NEVERAS
entidad.
NOMBRE_NEVERA: Este atributo se da como un espacio para colocar el nombre del producto
un producto.
corresponde un producto, me refiero a por ejemplo categorías lácteos, jugos naturales etc.
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:11 de 36
factura.
PRODUCTOS_NATURALES
entidad.
producto.
producto.
un producto.
factura.
CLIENTES
entidad.
NOMBRE_CLIENTE: Este atributo se da como un espacio para colocar el nombre del cliente.
SALDO_CLIENTE: Este atributo se utiliza para determinar cuánto saldo tiene el cliente
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:12 de 36
ASIGNACIÓN CAJEROS
la entidad.
ID_CAJERO: Este atributo se da para almacenar el identificador (llave primaria) del cajero.
empleado.
cajero.
FACTURA
entidad.
cajero.
EMPLEADOS
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:13 de 36
la entidad.
empleado.
empleado.
CAJERO
entidad.
FECHA_REVISIÓN: Este atributo se da para determinar qué fecha fue la última revisión
realizada al cajero.
Por una parte, contamos con la relación de FACTURA –CLIENTES, de manera más
interpretativa podemos indicar que una factura tiene un cliente y un cliente puede tener varias
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:14 de 36
facturas, por lo que la relación quedaría uno a varios (N-1), se ha establecido como relación los
referentes a los datos del cliente dentro de la tabla facturas. La segunda relación corresponde a
puede tener varios productos. Finalmente, el resultado de la relación uno varios(N-1). En esta
resultado es uno a varios(N-1). Los campos establecidos para esta relación fueron FACTURA
factura La cuarta relación corresponde a FACTURA-CAJERO, para ello analizamos que una
factura puede un cajero, pero un cajero puede tener varias facturas, por lo que finalmente la
relación obtenida es de (N-1).Los campos asociados para esta relación corresponde a FACTURA
CAJERO Y ID_ CAJERO, por medio de esta asociación nos permite verificar , realizar
búsquedas referente a la tabla cajero. La siguiente relación se asocia a CAJERO con la tabla
EMPLEADOS, decimos que un cajero puede tener varios empleados, y varios empleados pueden
tener varios cajeros, la relación se establecería varios a varios (N-N). para este caso se establece
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:15 de 36
Entidad: PRODUCTOS_NEVERA
Llave primaria:ID_NEVERA
Restricción: La restricción de esta llave primaria es que no puede tener ningún carácter que no
sea un entero, esto para poder ordenarlos al igual que los productos de una manera que se sepa
Entidad: PRODUCTOS_NATURALES
Llave primaria:ID_NATURAL
Restricción: La restricción de esta llave primaria es que no puede tener ningún carácter que no
sea un entero, esto para poder ordenarlos al igual que los productos de una manera que se sepa
Entidad: CAJEROS
Llave primaria:ID_CAJERO
Restricción: La restricción de esta llave primaria es que no debe tener ningún carácter fuera de
los números enteros y no puede estar repetida, esto para identificar cada uno de los cajeros y sus
características específicas.
Entidad: ASIGNACION_CAJERO
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:16 de 36
Llave primaria:ID_ASIGNACION
Restricción: La restricción de esta llave primaria es que solo puede haber números enteros y que
no se pueden repetir, ya que con esta llevamos un conteo de los días y de la información diaria de
Entidad: EMPLEADOS
Llave primaria:ID_EMPLEADO
Restricción: La restricción de esta llave es que solo pueden ser enteros y no se pueden repetir,
ya que este es el identificador único de cada empleado y con este se les hace seguimiento sobre
Entidad: CLIENTES
Restricción: La restricción de esta llave es que solo puede haber números enteros y no se pueden
repetir porque este identificador único lo usamos para poder saber con qué cliente tratamos y
Entidad: FACTURA
Restricción: La restricción de esta llave primaria es que no se puede repetir y que solo puede
haber números enteros, ya que esta llave primaria es con la que identificamos cada una de las
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:17 de 36
facturas de los clientes y que productos son los que compro, así se puede llevar un conteo sin
Relación CLIENTE-FACTURA
factura.
productos.
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:18 de 36
Por medio del diagrama Entidad-Relación nos permite identificar los atributos de cada una de las
entidades. En esta etapa del proceso podemos proceder a establecer las relaciones correspondientes, y así
mismo poder asignar llaves primarias y llaves foráneas. Este es un primer plano que nos permite poder
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:19 de 36
Figura 1. Diagrama entidad relación de la base de datos supermercado. Descripción de las clases con sus respectivos
atributos.
determinado para un sistema de gestión de bases de datos determinado. El diseño lógico puede
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:20 de 36
que puede ser usado de forma interactiva, o como parte de un programa de computadora para
Una vez diseñado el diagrama entidad –relación que abarca la parte conceptual de la base de
datos a diseñar, podemos plasmar estas entidades procedentes del diseño lógico planteado
anteriormente.
Entidades
Cajero
Asignación Cajero
Empleados
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:21 de 36
Factura
Producto Nevera
Producto _Natural
Producto _Nevera
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:22 de 36
La simplificación del esquema permite dar un tipo de visibilidad a los atributos que se le han
asignado a cada una de las entidades de la Base de datos. Los atributos cuentan con un grado de
visibilidad los cuales son: publico (+), privado (-) y protegido (#). Para este caso se puede
observar para cada una de las tablas los atributos se encuentran asignados con visibilidad publica
(+).
Cajero
Asignación Cajeros
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:23 de 36
Empleados
Factura
Producto_Nevera
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:24 de 36
Producto_Natural
Clientes
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:25 de 36
Figura 2. Diagrama modelo de clases con sus respectivas clases, atributos y relaciones.
DISEÑO FÍSICO
esperado, se crea una configuración de la base de datos adaptada al entorno donde se alojará y
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:26 de 36
Las tablas son el objeto de la base de datos que va a contener los registros ingresados. se
estructura principalmente por un numero de columnas y filas. Cada fila representa un registro
único ingresado y cada columna es un campo dentro del registro. A continuación, podemos ver
En este apartado podremos evidenciar los campos que se han asignado a cada una de las tablas.
Los campos se han creado definiendo el tipo de dato, la longitud de campo y por supuesto
podemos observar los campos que hemos identificado como llaves primarias y foráneas como las
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:27 de 36
Asignación_Cajeros
Cajero
Clientes
Empleados
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:28 de 36
Factura
Productos_Naturales
Productos_Nevera
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:29 de 36
Una vez diseñada e interpretada la parte lógica como se ha mencionado en apartados anteriores,
muestra de forma más comprensiva las tablas, relaciones, llaves foráneas y primarias que se han
Figura 4. Diagrama de relaciones y sus respectivas relaciones generado en el entorno de SQL (xammp).
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:30 de 36
Asignación Cajero
Cajero
Clientes
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:31 de 36
Empleados
Factura
Productos_Naturales
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:32 de 36
Productos Nevera
En el siguiente apartado se emplearán las funciones de SQL tales como: Sum, count. También
se han empleado clausulas como: where y And, para la consulta de información en la base de
datos supermercado. Las funciones utilizadas cuentan con la descripción del tipo de consulta a
realizar. Esta descripción va acompañada de imágenes que nos permiten observar los resultados
de cada una de las líneas de código ingresadas en la base de datos del proyecto junto a sus
respectivos resultados. Mostrar el nombre del producto cuando el producto de la nevera sea
Código
D
Versión: 01
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:33 de 36
1) Mostrar el nombre cliente, teléfono la edad, saldo del cliente cuando la edad sea mayor a
Código
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:34 de 36
2) Mostrar el nombre del producto nevara, categoría al que pertenece el producto, el precio
original del producto y el precio del producto más una bonificación de 1000, cuando el
Código
Código
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:35 de 36
4) Mostrar el código de asignación de cada cajero, nombre del empleado y el código del
Código
Fecha de emisión:
Diseño Base de Datos de Supermercado 21/11/2020
Página:36 de 36
Código
6)Mostrar el precio de los productos de la categoría bebidas que sean menores a 12300