Está en la página 1de 24

Documentación

perteneciente a la
pagina web y base de
datos “mariachiperla”.

Integrantes:

Ángel David Reyes Téllez

Luis Iván Márquez Azuara

Uriel Maldonado Bernabé

Omar Lemuel Espejel Lira

0
Índice.

Objetivo General. --------------------------------------------------------------------- 2


Objetivo Particular. ------------------------------------------------------------------- 3
Justificación. --------------------------------------------------------------------------- 4
Marco Teórico. ------------------------------------------------------------------------ 5
Diagrama MER. ----------------------------------------------------------------------- 7
Desarrollo BD. ------------------------------------------------------------------------- 12
Pruebas. -------------------------------------------------------------------------------- 19
Conclusión. ----------------------------------------------------------------------------- 22

1
Objetivo General.

Diseñar, desarrollar e implementar un sistema integral de gestión y monitoreo para


una agencia de mariachis, que incluye una base de datos centralizada y una
página web interactiva. El sistema permitirá administrar eficientemente datos
relacionados con clientes, músicos, eventos, reservas y pagos. Además, se
llevarán a cabo pruebas exhaustivas para garantizar el funcionamiento adecuado
de la base de datos y su capacidad para manejar tanto la funcionalidad esperada
como posibles limitaciones de uso.

2
Objetivo Particular.

Desarrollar una base de datos integrada junto con una página web interactiva que
permita a una agencia de mariachis gestionar eficazmente su operación,
almacenar datos relevantes y monitorear sus actividades.
Esta base de datos contendrá información detallada sobre clientes, músicos,
eventos, reservas y transacciones de pago. La página web brindará a los clientes
la capacidad de realizar reservas en línea, consultar la disponibilidad de músicos y
repertorio, así como efectuar pagos seguros.
Se llevarán a cabo pruebas exhaustivas para garantizar la funcionalidad sin
problemas de la base de datos y la página web, asegurando su rendimiento
óptimo bajo diferentes condiciones y cargas de trabajo.
El éxito de este objetivo particular se medirá por la implementación exitosa y el
funcionamiento confiable del sistema, mejorando la eficiencia de la agencia y
mejorando la experiencia tanto para los clientes como para el equipo interno.

3
Justificación.

La implementación de una base de datos integrada y una página web interactiva


para la agencia de mariachis es esencial para optimizar y modernizar sus
operaciones de manera más eficaces. Esta solución tecnológica proporciona una
serie de beneficios que contribuirán significativamente al crecimiento y eficiencia
de la agencia, tanto en términos de atención al cliente como en la gestión interna
ya que cuenta con funciones muy buenas y estéticas.

4
Marco Teórico.

El presente marco teórico establece el contexto y los fundamentos conceptuales


para el desarrollo de una base de datos integrada y una página web interactiva
destinadas a la gestión y monitoreo de una agencia de mariachis. Esta sección
examina áreas clave, como la importancia de las tecnologías de la información en
la industria de servicios, los conceptos esenciales de bases de datos y desarrollo
web, así como los beneficios de la automatización de procesos y la experiencia del
usuario.

Sistemas de Información en la Industria de Servicios.


Las agencias de servicios se benefician sustancialmente de sistemas de
información eficientes. Estos sistemas optimizan procesos, mejoran la toma de
decisiones y aumentan la satisfacción del cliente. La implementación de tecnología
informática en la industria de servicios, como las agencias de mariachis, permite la
centralización de datos, facilitando la toma de decisiones basadas en datos y la
administración efectiva de recursos.

Bases de Datos y Sistemas de Gestión.


Una base de datos es un componente esencial para almacenar, organizar y
recuperar datos de manera eficiente. Los sistemas de gestión de bases de datos
(DBMS) proporcionan una estructura para administrar información en una forma
estructurada y segura. Estos sistemas permiten la creación, lectura, actualización
y eliminación de datos, y son fundamentales para garantizar la integridad y
disponibilidad de la información.

Desarrollo Web y Experiencia del Usuario.


El desarrollo web efectivo se centra en crear interfaces de usuario intuitivas y
atractivas. La experiencia del usuario es crucial para la retención y satisfacción de
los clientes. Diseñar una página web que permita a los clientes explorar fácilmente
los servicios, realizar reservas en línea y obtener información relevante garantiza
una interacción positiva y facilita la conversión de visitantes en clientes.

5
Automatización de Procesos y Eficiencia Operativa.
La automatización de procesos simplifica tareas repetitivas y libera tiempo para
actividades de mayor valor. En una agencia de mariachis, la automatización puede
agilizar la confirmación de reservas, generación de facturas y procesamiento de
pagos. Esto reduce errores, aumenta la eficiencia operativa y mejora la
satisfacción del cliente al proporcionar respuestas rápidas.

Seguridad de Datos y Privacidad.


La seguridad de los datos y la privacidad son esenciales al tratar con información
confidencial de los clientes y músicos. Implementar medidas de seguridad
adecuadas, como cifrado y autenticación, protege la integridad de los datos y la
confianza de los usuarios.

Gestión de Eventos y Reservas en Línea


La capacidad de los clientes para realizar reservas en línea y explorar el repertorio
y la disponibilidad de músicos en una página web mejora la experiencia del cliente
y agiliza el proceso de reserva. Esto optimiza la gestión de eventos y permite una
interacción 24/7 con la agencia.

6
Diagrama MER.
Desarrollo del modelo entidad relación MER.

Paso 1: Identificar Entidades y Relaciones.


En este paso inicial, se delinea la base del modelo MER al identificar las entidades
principales y sus relaciones centrales. Para el contexto del sistema de reserva de
citas en línea de mariachis, las entidades claves emergen con claridad: "Acceso",
"Cita", "Cliente", "Persona" y "Presupuesto". Cada una de estas entidades
representa una faceta esencial en el tejido de este sistema, desde la
administración de usuarios ("Acceso") hasta la representación de las citas
agendadas ("Cita") y la información de los involucrados ("Cliente" y "Persona").
Este paso sienta los cimientos, marcando el inicio de un proceso que desentraña
las complejidades y vínculos que definirán el sistema en su conjunto.

Paso 2: Definir Atributos.


En el segundo paso, nos adentramos en la esencia de cada entidad al identificar y
definir los atributos que las caracterizan. Para las entidades que has mencionado
en el sistema de reserva de citas en línea de mariachis:
Acceso: Se establecen los atributos como "ID" (Identificador), "Usuario" y
"Contraseña", que permiten autenticar y gestionar el acceso de los usuarios al
sistema.
Cita: Los atributos "ID", "Fecha y Hora", "Descripción" y otros detalles capturan
información crucial sobre cada cita agendada.
Cliente: Aquí encontramos atributos como "ID", "Nombre", "Correo Electrónico" y
"Teléfono", que perfilan a los usuarios que buscan reservar citas.
Persona: Los atributos como "ID", "Nombre", "Apellido", "Correo Electrónico" y
"Teléfono" construyen un perfil detallado de las personas relacionadas con el
proceso.
Presupuesto: Atributos como "ID", "Emisión de Presupuesto" y "Monto" son
esenciales para rastrear y calcular las estimaciones financieras.
Este paso es como dar forma a las piezas de un rompecabezas; cada atributo es
una pieza única que, cuando se ensambla, crea una imagen completa de la
entidad correspondiente. A medida que definimos estos atributos, comenzamos a
comprender la riqueza de información que fluirá a través del sistema, permitiendo
una gestión efectiva de las citas en línea de mariachis y la toma de decisiones
informadas.

7
Paso 3: Clasificar Atributos y Determinar Características.
En este paso, además de clasificar los atributos, también identificamos si una
entidad es fuerte o débil, y si existen atributos compuestos, clave primaria,
atributos multivalor, atributos derivados o conjuntos necesarios.
Acceso: "Acceso" es una entidad fuerte ya que tiene su propia clave primaria "ID".
Los atributos "Usuario" y "Contraseña" son normales y constituyen un conjunto
necesario para autenticar el acceso.
Cita: "Cita" es una entidad fuerte con su clave primaria "ID". "Fecha y Hora",
"Descripción" y otros atributos son normales. Si se tiene un atributo "Duración"
calculado a partir de "Fecha y Hora", sería un atributo derivado.
Cliente: "Cliente" es una entidad fuerte con su clave primaria "ID". "Nombre",
"Correo Electrónico" y "Teléfono" son atributos normales que forman un conjunto
necesario para identificar al cliente.
Persona: Similar a "Cliente", "Persona" es una entidad fuerte con clave primaria
"ID". Los atributos "Nombre", "Apellido", "Correo Electrónico" y "Teléfono" son
normales y esenciales para la identificación.
Presupuesto: "Presupuesto" es una entidad fuerte con su clave primaria "ID".
"Emisión de Presupuesto" y "Monto" son atributos normales que contribuyen a la
estimación financiera.
Este paso también aborda la determinación de atributos multivalor o compuestos.
Por ejemplo, en la entidad "Cliente", si un cliente puede tener varios correos
electrónicos o números de teléfono, estos atributos podrían ser multivalor. En
esencia, este paso es como esculpir las distintivas características de cada entidad
y definir cómo se relacionan, formando el cimiento conceptual del sistema de
reserva de citas en línea de mariachis.

Paso 4: Establecer Relaciones entre Entidades.


En esta etapa, creamos conexiones entre las entidades principales de nuestro
sistema de reserva de citas en línea de mariachis. Estas relaciones reflejan cómo
las diferentes partes del sistema interactúan entre sí para cumplir su propósito.
Cliente - Cita: Mediante la relación "Cliente - Cita", conectamos las citas
reservadas con los clientes que las solicitan. Esto permite mantener un registro
claro de quién reserva cada cita.
Cliente - Presupuesto: La relación "Cliente - Presupuesto" vincula los
presupuestos con los clientes. Esto ayuda a organizar las estimaciones financieras
según las solicitudes de los clientes.

8
Cita - Presupuesto: Con la relación "Cita - Presupuesto", establecemos la
conexión entre las citas y sus respectivas estimaciones financieras. Esto asegura
que cada cita esté asociada con la información económica correspondiente.
Persona - Cliente: La relación "Persona - Cliente" une a las personas con sus
respectivos clientes. Esto permite mantener un seguimiento adecuado de la
información personal relacionada con cada cliente.
Estas relaciones definen cómo se relacionan las entidades en el contexto del
sistema de citas en línea de mariachis. Cada conexión juega un papel crucial en la
gestión y flujo de información, contribuyendo a la eficiencia y funcionalidad general
del sistema.

Paso 5: Definir Cardinalidad en las Relaciones.


En esta fase, profundizamos en las relaciones establecidas entre las entidades,
asignando la carnalidad para describir la naturaleza y la cantidad de interacciones
permitidas entre ellas. La cardinalidad es como un lenguaje que comunica las
reglas de participación y el flujo de datos entre las diferentes partes del sistema de
reserva de citas en línea de mariachis.
Cliente - Cita: La relación "Cliente - Cita" se establece como una relación uno a
muchos (1: N), lo que significa que un cliente puede tener múltiples citas, pero
cada cita está asociada a un único cliente. Esto permite a un cliente realizar varias
reservas de citas.
Cliente - Presupuesto: La relación "Cliente - Presupuesto" también se define
como 1: N, lo que permite que un cliente solicite varios presupuestos, pero cada
presupuesto pertenece a un solo cliente.
Cita - Presupuesto: La relación "Cita - Presupuesto" puede ser 1:1 o N:1,
dependiendo del diseño específico. Esto implica que cada cita puede estar
vinculada a un presupuesto único, o un presupuesto puede estar relacionado con
una cita en particular.
Persona - Cliente: La relación "Persona - Cliente" se establece como N:1,
permitiendo que varias personas estén vinculadas a un mismo cliente, pero cada
cliente está asociado a una sola persona.
La cardinalidad en estas relaciones define el flujo de información y las posibles
interacciones entre las entidades. Al comprender las reglas de participación,
podemos visualizar cómo los clientes, citas, presupuestos y personas se
entrelazan y colaboran en el sistema. Esta fase allana el camino para la
implementación y la creación de una experiencia fluida y coherente en la gestión
de reservas de mariachis en línea.

9
Paso 6: Refinar el Diseño y Optimizar la Estructura.
En esta etapa, perfeccionamos el diseño del Modelo Entidad-Relación (MER) del
sistema de reserva de citas en línea de mariachis. Realizamos ajustes finos en las
relaciones, atributos y cardinalidades, asegurándonos de que el modelo refleje con
precisión las necesidades del sistema y los requisitos del negocio.
Revisión de Atributos: Analizamos minuciosamente los atributos de cada
entidad, asegurándonos de que sean relevantes y necesarios. Eliminamos
redundancias y refinamos las definiciones para lograr una representación más
precisa.
Ajuste de Cardinalidades: Revaluamos las cardinalidades de las relaciones,
considerando cómo las interacciones entre las entidades se traducirán en la
aplicación real. Aseguramos que las cardinalidades reflejen con precisión los
escenarios de uso.
Optimización de Estructura: Buscamos oportunidades para optimizar la
estructura del modelo, reduciendo la complejidad innecesaria y asegurando un
diseño limpio y eficiente.
Validación de Requisitos: Confirmamos que el diseño cumple con los requisitos
y objetivos del sistema de reserva de citas en línea, asegurando que todas las
funcionalidades necesarias estén contempladas.
Este paso garantiza que el MER esté listo para la implementación y la creación del
esquema de base de datos en un sistema de gestión de bases de datos (DBMS),
como MySQL o Microsoft SQL Server.

Paso 7: Creación de la Base de Datos.


En esta fase final, tomamos el diseño refinado del Modelo Entidad-Relación (MER)
y lo traducimos en la creación concreta de la base de datos en un sistema de
gestión de bases de datos (DBMS). Este paso se realiza utilizando SQL
(Structured Query Language) para definir las tablas, campos, relaciones y
restricciones que formarán la base de datos del sistema de reserva de citas en
línea de mariachis.
Definición de Tablas: Creamos las tablas según las entidades definidas en el
MER. Cada tabla representa una entidad y contiene los campos (atributos)
correspondientes.
Establecimiento de Relaciones: Utilizamos claves primarias y claves foráneas
para establecer las relaciones entre las tablas, reflejando las interacciones
definidas en el MER.

10
Aplicación de Restricciones: Agregamos restricciones para garantizar la
integridad y la consistencia de los datos, como claves primarias, claves foráneas,
valores únicos y restricciones de integridad referencial.
Creación de Índices: Implementamos índices para mejorar el rendimiento de las
consultas y búsquedas en la base de datos.
Verificación y Pruebas: Realizamos pruebas exhaustivas para asegurarnos de
que la base de datos funcione según lo previsto y cumpla con los requisitos
establecidos.
La creación de la base de datos marca el paso final en la materialización del
Modelo Entidad-Relación, transformando el diseño conceptual en una estructura
concreta y funcional que respalda la gestión eficiente de citas en línea de
mariachis.

11
Desarrollo BD.
Documentación de Navicat.
Introdcuccion.
Navicat, una poderosa y versátil herramienta de administración de bases de datos,
se ha convertido en un compañero indispensable para profesionales y entusiastas
de las bases de datos en todo el mundo. Con su interfaz intuitiva y completa,
Navicat facilita la gestión, administración y desarrollo de bases de datos de
diversas plataformas como MySQL, PostgreSQL, Oracle y más.
Principalmente comenzando con esta detallada descripción acerca de como se fue
construyendo el navicat, como tal comenzamos checando y observando nuestro
método anterior el cual se llama Visio que es una aplicación muy buena para
plantear proyectos desde cero mediante 7 pasos para finalizar con ella lograremos
tener un diseño o un maquetado el cual procederemos a pasar a esta app el
navicat.
Pasos:
1.-Comenzamos con la creación de las tablas las cuales van a tener datos
involucrados que ya se a planteado anteriormente en Visio.

2.-Debemos observar la cantidad de las columnas para poder así llevarlo de una
forma correcta y no fallar en la creación de estas identificando en estas las llaves
primarias.

12
3.-Debemos identificar los tipos de valores que utilizaremos en ellas ya sea int,
varchar, enum entre otros.

4.-Debemos identificar los comentarios y la definición de cada uno de estos datos.

5.-Observar y verificar el uso de llaves primarias y llaves foranes haciendo la


conexión que lleva por default verificando que todo salga bien.

13
6.-Ver el grado de relación de las llaves foráneas para identificar de manera
correcta y no tener fallas algunas.

7.-En esto ultimo es cuando checamos que todo el diseño de navicat este en
orden y con todos los datos que necesita para poder finalizar con el trabajo, dando
así un diagrama bien formulado y listo para pasarlo a MySQL.

14
Documentación de MySQL Workbench.
Introdcuccion.
MySQL, un sistema de gestión de bases de datos de código abierto, se ha
establecido como una piedra angular en el mundo de la administración de datos.
Al experimentar las capacidades de MySQL, es evidente que este sistema ofrece
una solución eficiente y confiable para la organización, almacenamiento y
recuperación de información. Desde su creación, MySQL ha demostrado ser una
opción preferida tanto para pequeñas aplicaciones web como para sistemas
empresariales de gran escala.
Posteriormente al haber concluido con la documentación anterior en el gestor de
base de datos Navicat, vamos a comenzar con la creación de nuestra base de
datos en el IDE de Workbench e implementaremos lo que hicimos en nuestro
borrador de Navicat.
Pasos:
1.-Principalmente comenzamos con la creación de las tablas las cuales ya estaban
establecidas en el otro gestor.
Debemos observar la cantidad de los campos que se agregaran para poder así
llevarlo de una forma correcta y no fallar en la creación, ya que estas tablas tienen
llaves primarias y algunas cuentan con llaves foráneas.
Tenemos que tener bien definido los tipos de valores que utilizaremos en ellas ya
sea int, varchar, enum entre otros.
Sintaxis SQL:
CREATE TABLE `accesos` (
`id` int NOT NULL AUTO_INCREMENT,
`cliente_id` int NOT NULL,
`acceso` varchar(10) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `acceso` (`acceso`),
KEY `cliente_id` (`cliente_id`),
CONSTRAINT `accesos_ibfk_1` FOREIGN KEY (`cliente_id`) REFERENCES
`cliente` (`id`) ON DELETE CASCADE
)

15
CREATE TABLE `cita` (
`id` int NOT NULL AUTO_INCREMENT,
`cliente_id` int NOT NULL,
`fecha` date NOT NULL,
`hora` time NOT NULL,
`comentarios` text,
`estado` enum('activa','cancelada') DEFAULT 'activa',
PRIMARY KEY (`id`),
KEY `cliente_id` (`cliente_id`),
CONSTRAINT `cita_ibfk_1` FOREIGN KEY (`cliente_id`) REFERENCES `cliente`
(`id`) ON DELETE CASCADE
)

CREATE TABLE `cliente` (


`id` int NOT NULL AUTO_INCREMENT,
`persona_id` int NOT NULL,
PRIMARY KEY (`id`),
KEY `persona_id` (`persona_id`),
CONSTRAINT `cliente_ibfk_1` FOREIGN KEY (`persona_id`) REFERENCES
`persona` (`id`) ON DELETE CASCADE
)

CREATE TABLE `persona` (


`id` int NOT NULL AUTO_INCREMENT,
`nombre` varchar(50) NOT NULL,
`email` varchar(100) NOT NULL,
`telefono` varchar(15) NOT NULL,
PRIMARY KEY (`id`))

16
CREATE TABLE `presupuesto` (
`id_presupuesto` int NOT NULL AUTO_INCREMENT,
`monto` int DEFAULT NULL,
`cita_id` int DEFAULT NULL,
PRIMARY KEY (`id_presupuesto`),
KEY `cita_id` (`cita_id`),
CONSTRAINT `presupuesto_ibfk_1` FOREIGN KEY (`cita_id`) REFERENCES
`cita` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
)

2.- Una vez completado esto, procederemos a verificar la funcionalidad de las


tablas al momento de la inserción de datos para observar que todo se haga de
manera correcta.
Sintaxis SQL:
INSERT INTO `bd_ke`.`persona` (`id`, `nombre`, `email`, `telefono`) VALUES ('1',
'lemuel', 'lemuellira@gmail.com', '7761154354');

NSERT INTO `bd_ke`.`cliente` (`id`, `persona_id`) VALUES ('1', '1');

INSERT INTO `bd_ke`.`cita` (`id`, `cliente_id`, `fecha`, `hora`, `comentarios`,


`estado`) VALUES ('1', '1', '12-04-2029', '12:34', 'urgente', 'mexico');

INSERT INTO `bd_ke`.`presupuesto` (`id_presupuesto`, `monto`, `cita_id`)


VALUES ('1', '12', '1');

INSERT INTO `bd_ke`.`accesos` (`id`, `cliente_id`, `acceso`) VALUES ('1', '1',


'permitido');

17
3.-Ya revisando y que todo este de manera correcta se procede a probar las
funcionalidades internas que contiene la base de datos.
Sintaxis:
CREATE DEFINER=`root`@`localhost` FUNCTION `calcular_presupuesto`(horas
INT) RETURNS int
DETERMINISTIC
BEGIN
DECLARE presupuesto INT;
SET presupuesto = CASE
WHEN horas > 10 THEN 10 * 4500
ELSE horas * 4500
END;
RETURN presupuesto;
END ;;
Ya terminada la base se da continuidad con las pruebas las cuales se irán
haciendo en el siguiente punto, una muestra de la base ya terminada con sus
debidas tablas.

18
19
Pruebas.
Principalmente comenzamos con pruebas en la base de datos, comenzaremos
checando la funcionalidad de nuestras funciones.
Prueba 1:
En esta prueba verificamos la funcionalidad de nuestra función la cual se
encargará de hacer los presupuestos dependiendo las horas que necesite y
seleccione el cliente.

Prueba 2:
Una vez checando su funcionalidad damos seguimiento a la prueba.

20
Prueba 3:
Una vez finalizado con las pruebas podemos ver que nos muestra la cantidad a
pagar debido a la selección anterior por horas

Prueba 4:
Para darle continuidad a las pruebas seguimos verificando de una manera muy
detallada para no tener problemas mas adelante con el sistema.

21
Prueba 5:
En esta prueba nuevamente volvemos a hacer un calculo de ciertas horas para
verificar al 100 la funcionalidad sin fallas.

Para finalizar con las pruebas detectamos que tiene una buena funcionalidad y
esta completa para ponerse en uno sobre cualquier presupuesto.

22
Conclusión.
El desarrollo de una base de datos y una página web para una
agencia de mariachis es una iniciativa estratégica que aprovecha los
avances tecnológicos en la industria de servicios.
La implementación de estas soluciones tecnológicas fortalece la
eficiencia operativa, mejora la experiencia del cliente y proporciona
una plataforma para la gestión y monitoreo efectivos de las
operaciones de la agencia.
El objetivo principal de este proyecto fue llevado acabo de una manera
exitosa, ya que el sistema si logro conectarse a la base de datos de
registro de agendas.
El proyecto de agendar citas ha sido un paso importante hacia la
optimización y mejora de nuestros procesos. A lo largo de este
proyecto, hemos logrado implementar un sistema eficiente y efectivo
que permite a nuestros usuarios agendar citas de manera más
conveniente y sin complicaciones.

23

También podría gustarte