Está en la página 1de 16

Universidad Abierta y a Distancia de México

División de Ciencias Exactas Ingeniería y Tecnología


Desarrollo de Software

Segundo semestre
Desarrollo de Software
Unidad 3. Diseño
Actividad. . Ejercicio: Funciones
básicas de SQL y álgebra

Estudiante: Chávez González Jorge Arturo


Matrícula: ES181001209
Grupo: DS-DBDD-2301-B2-003
Docente: Haydeé Gómez Díaz

Fecha de entrega: 13 de junio 2023.

ÍNDICE

INTRODUCCIÓN................................................................................................................ 1
DESARROLLO DE LA ACTIVIDAD...................................................................................2

CONCLUSIONES............................................................................................................... 3

REFERENCIAS BIBLIOGRÁFICAS...................................................................................4
INTRODUCCIÓN.

La documentación de las técnicas utilizadas en la generación y construcción del


prototipo de una base de datos es de suma importancia en el proceso de
desarrollo de sistemas de información. La documentación adecuada nos permite
registrar de manera clara y detallada las decisiones tomadas, los pasos seguidos y
las estrategias empleadas para diseñar y construir la base de datos.
La generación y construcción de un prototipo de base de datos implica la
transformación de los requisitos y especificaciones de un sistema en una
estructura de datos concreta. Esta etapa es esencial para asegurar la correcta
representación y gestión de la información que será utilizada por la aplicación.
La documentación de las técnicas empleadas en este proceso proporciona una
guía para los desarrolladores, usuarios y futuros mantenedores del sistema.
Permite comprender el diseño subyacente de la base de datos, los objetivos que
se persiguen, las relaciones entre las entidades, las restricciones y las reglas de
negocio.
Además, la documentación de las técnicas utilizadas para generar y construir el
prototipo de la base de datos facilita la comunicación y colaboración entre los
miembros del equipo de desarrollo. Proporciona una referencia común que permite
a todos los involucrados comprender el estado actual de la base de datos, realizar
modificaciones y mejoras de manera eficiente y minimizar la posibilidad de errores.
Desarrollo de la actividad:
1.1. Define las tablas lógicas a partir del modelo relacional correctamente
normalizado. Incluye en ellas:
• Nombre de la base de datos.
• Nombre de cada una de las tablas que conforman la base de datos.
• Nombre de cada uno de los campos de cada tabla.
• Identifica todas las llaves de cada tabla.

Nombre de la base de datos: AnthonyPapeleriaDB

Tabla: Clientes
- ClienteID (Llave primaria)
- NombreCompleto
- Telefono
- Domicilio
- CorreoElectronico
- Usuario
- Contrasena
- DatosTarjeta (opcional)
- DeseaOfertas

Tabla: Productos
- ProductoID (Llave primaria)
- Marca
- NombreProducto
- PrecioVenta
- TieneDescuento
- CantidadProducto

Tabla: Vendedores
- VendedorID (Llave primaria)
- Nombre
- IDEmpleado
- Domicilio
- Telefono

Tabla: Ventas
- VentaID (Llave primaria)
- ClienteID (Llave foránea hacia la tabla Clientes)
- ProductoID (Llave foránea hacia la tabla Productos)
- VendedorID (Llave foránea hacia la tabla Vendedores)
- Cantidad
- Precio
- Fecha
- Hora
- TiempoEntrega
- CostoExtraEntrega

En el modelo propuesto, la base de datos "AnthonyPapeleriaDB" contiene cuatro


tablas principales: Clientes, Productos, Vendedores y Ventas.

La tabla Clientes almacena la información relacionada con los clientes, incluyendo


su identificación única (ClienteID) como llave primaria.

La tabla Productos guarda los datos de los productos que se mostrarán en el sitio
web, utilizando el campo ProductoID como llave primaria.
La tabla Vendedores contiene información sobre los vendedores, con VendedorID
como llave primaria.
La tabla Ventas registra los detalles de cada venta realizada, incluyendo las llaves
foráneas hacia las tablas Clientes, Productos y Vendedores, que establecen las
relaciones entre ellas.
Cada tabla tiene campos adicionales que almacenan los datos específicos
requeridos por el caso, como nombres, direcciones, teléfonos, precios, etc.
El diseño de estas tablas proporciona una estructura adecuada para almacenar la
información relacionada con los clientes, productos, vendedores y ventas,
permitiendo un manejo eficiente y coherente de los datos en el contexto del
negocio de la papelería "Anthony".

Tabla clientes
ClienteID Nombre Telefono Domicilio Correo Us uario Contraseña Tarjeta OfertasCorreo
Calle 123, juan.perez@exampl
1 Juan Pérez 555-1234567 juanperez password1 123456789 true
Ciudad e.com
Avenida ABC, maria.lopez@examp
2 María López 555-9876543 marial password2 false
Ciudad le.com
Carlos Calle XYZ, carlos.ramirez@exa
3 555-1112222 carlosr password3 9876543210 true
Ramirez Ciudad mple.com
Laura Calle 456, laura.gonzalez@exa
4 555-4445555 laurag password4 true
González Ciudad mple.com
Roberto Avenida DEF, roberto.santos@exa
5 555-7778888 robertos password5 45678901234 false
Santos Ciudad mple.com
Ana Calle UVW, ana.fernandez@exa
6 555-2223333 anaf password6 65432109876 true
Fernández Ciudad mple.com

Tabla: Productos

ProductoID Marca NombreProducto PrecioVenta TieneDes cuento CantidadProducto


1 BIC Bolígrafo 10 false 100
2 Faber Lápiz 5 true 50
3 Post-it Notas Adhesivas 15 false 200
4 Papermate Marcador 8 false 80
5 Pilot Pluma 20 true 30
6 Elmer's Pegamento 12 false 60
Tabla: Vendedores

VendedorID Nombre IDEmpleado Domicilio Telefono


Luis Calle 789,
1 EMP-123 555-8889999
Martínez Ciudad
Avenida GHI,
2 Ana García EMP-456 555-4445555
Ciudad
Carlos Calle JKL,
3 EMP-789 555-1112222
Torres Ciudad
María Avenida MNO,
4 EMP-012 555-6667777
Sánchez Ciudad
Juan Calle PQR,
5 EMP-345 555-2223333
Hernández Ciudad
Laura Avenida STU,
6 EMP-678 555-7778888
Vargas Ciudad

Tabla Ventas
VentaID ClienteID ProductoID VendedorID Cantidad Precio Fecha Hora TiempoEntrega CostoExtraEntrega
1 1 1 1 2 20 31/05/2023 09:00 2 días 0
2 2 3 2 1 15 31/05/2023 10:30 1 día 5
3 3 2 3 3 15 31/05/2023 11:45 3 días 0
4 4 5 4 2 40 30/05/2023 14:20 2 días 0
5 5 4 5 1 8 30/05/2023 16:05 2 días 0
6 6 1 6 4 40 29/05/2023 13:15 3 días 0

1.2. Integra el diccionario de datos a partir de las tablas lógicas generadas


en el punto 5
considerando los tipos de datos soportados por el lenguaje de consulta
MySQL.
Asignando el tipo de dato adecuado de acuerdo con la información que
almacenará la
variable y especifica:
• Si el campo es llave primaria o foránea.
• Si el campo debe cumplir alguna o algunas restricciones.
• Y explica la pertinencia de que se incluya el campo en la base de datos.
Nombre de la tabla Nombre del campo Descripción Tipo de dato Longitud Índice Tipo de índice Obligatorio Obs ervaciones
Identificador de Llave primaria,
Clientes ClienteID INT SI PRIMARY Sí
cliente autonumérico
Nombre del
Nombre VARCHAR 100 NO Sí
cliente
Número de
Telefono VARCHAR 20 NO Sí
teléfono
Domicilio del
Domicilio VARCHAR 200 NO Sí
cliente
Correo
Correo VARCHAR 100 NO Sí
electrónico
Nombre de
Usuario VARCHAR 50 NO Sí
usuario
Contraseña del
Contraseña VARCHAR 50 NO SI
cliente
Opcional,
Tarjeta Datos de tarjeta VARCHAR 16 NO No restricciones de
seguridad
Opción de
OfertasCorreo TINYINT NO Sí 0: No, 1: Sí
ofertas

Nombre de la tabla Nombre del campo Des cripción Tipo de dato Longitud Índice Tipo de índice Obligatorio Observaciones
Identificador de Llave primaria,
Vendedores VendedorID INT SI PRIMARY Sí
vendedor autonumérico
Nombre del
Nombre VARCHAR 100 NO Sí
vendedor
IDEmpleado ID de empleado VARCHAR 20 NO Sí
Domicilio del
Domicilio VARCHAR 200 NO Sí
vendedor
Número de
Telefono VARCHAR 20 NO Sí
teléfono

Nombre de la tabla Nombre del campo Des cripción Tipo de dato Longitud Índice Tipo de índice Obligatorio Observaciones
Identificador de Llave primaria,
Productos ProductoID INT SI PRIMARY Sí
producto autonumérico
Marca del
Marca VARCHAR 100 NO Sí
producto
Nombre del
Nombre VARCHAR 100 NO Sí
producto
Precio Precio de venta DECIMAL 10 NO Sí
Descuento del
Descuento DECIMAL 10 NO Sí
producto
Cantidad del
Cantidad INT 10 NO Sí
producto
Nombre de la tabla Nombre del campo Des cripción Tipo de dato Longitud Índice Tipo de índice Obligatorio Observaciones
Identificador de Llave primaria,
Ventas VentaID INT SI PRIMARY Sí
venta autonumérico
Identificador de Llave foránea a la
ClienteID INT SI FOREIGN Sí
cliente tabla Clientes
Identificador de Llave foránea a la
ProductoID INT SI FOREIGN Sí
producto tabla Productos
Identificador de Llave foránea a la
VendedorID INT SI FOREIGN Sí
vendedor tabla Vendedores
Cantidad de
Cantidad INT 10 NO Sí
productos
Precio Precio de venta DECIMAL 10 NO Sí
Fecha de la
Fecha DATE 13 NO Sí
venta
Hora de la
Hora TIME 13 NO Sí
venta
Tiempo
TiempoEntrega estimado VARCHAR 50 NO Sí
entrega
Costo extra de
CostoExtraEntrega DECIMAL 15 NO Sí
entrega

Enlace para mejor visualización para todas las tablas: https://unadmex-


my.sharepoint.com/:x:/g/personal/jorge_chavezgo_nube_unadmexico_mx/
EfXrWetEmvVEqxGYxlEVREQBdvHv_4rNXLyFQqr90gXaNQ?e=RDM1kS.

1.3. Crea mediante el uso de sentencias DDL y DML en el SGBD MySQL


Workbench lo siguiente:
Construye las tablas identificadas en el diccionario de datos de la actividad 1
de esta unidad.
1.4. Desarrolla los índices que relacionen correctamente a las tablas de la
base de datos.

1.5. En todas las tablas creadas, define e inserta 6 registros para cada una,
cuidando la integridad de los datos.
Conclusión:
Durante el proceso de construcción del modelo entidad-relación y la posterior
normalización de las tablas, se han realizado cambios significativos en el caso de
estudio de la empresa "Anthony" en el ramo de la papelería.
Inicialmente, se identificó la necesidad de implementar un sistema en línea para
registrar compras de los clientes y mejorar el acercamiento con ellos y los
vendedores. A partir de esta idea, se planteó un modelo entidad-relación que
incluía entidades como Clientes, Productos, Vendedores y Ventas, así como sus
atributos correspondientes.
Sin embargo, durante el proceso de normalización, se pudo identificar la
necesidad de descomponer algunas entidades en tablas separadas para mejorar
la integridad de los datos y reducir la redundancia. Esto implicó la creación de
tablas adicionales como "Clientes", "Productos" y "Vendedores" que permiten
almacenar de manera eficiente la información relacionada con cada entidad.
Asimismo, se establecieron relaciones entre las tablas utilizando claves primarias
y foráneas para mantener la integridad referencial de los datos. Por ejemplo, en la
tabla "Ventas", se agregaron las claves foráneas "ClienteID", "ProductoID" y
"VendedorID" para establecer la relación con las tablas "Clientes", "Productos" y
"Vendedores" respectivamente.
Este proceso de análisis y normalización ha permitido obtener un diseño de base
de datos más eficiente y estructurado, que cumple con los principios de integridad
y consistencia de los datos. La descomposición de las entidades en tablas
separadas ha facilitado la gestión de la información y ha evitado la duplicidad de
datos.

Referencias
codigofacilito. (02 de marzo de 2018). Gestores de Bases de Datos - Top[Video]. You tube.
Obtenido de https://www.youtube.com/watch?v=cdIJZZmY9jw

Danisable. (12 de febrero de 2018). Bases de datos desde Cero | ¿Que es un Gestor de Base de
Datos?[video]. You tube. Obtenido de https://www.youtube.com/watch?
v=NuUwmhLbTdQ&t=315s

Edteam. (13 de febrero de 2020). ¿Qué son las BASES DE DATOS y cómo funcionan?[video]. You
Tube. Obtenido de https://www.youtube.com/watch?v=knVwokXITGI&t=28s

También podría gustarte