MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | bd_biblioteca | | biblioteca | | gimnasiorn | | information_schema | | institucion | | libreria | | matricula2 | | mysql | | performance_schema | | phpmyadmin | | test | | unidadresidencial | +--------------------+ 12 rows in set (0.020 sec) MariaDB [(none)]> use gimnasiorn; Database changed MariaDB [gimnasiorn]> create table clientes ( -> id_cliente int(10) not null auto_increment primary key, -> nombre varchar(30) not null, -> direccion varchar(20) not null, -> telefono varchar(10) not null, -> fecha_mem date not null); Query OK, 0 rows affected (0.004 sec) MariaDB [gimnasiorn]> describe clientes; +------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | id_cliente | int(10) | NO | PRI | NULL | auto_increment | | nombre | varchar(30) | NO | | NULL | | | direccion | varchar(20) | NO | | NULL | | | telefono | varchar(10) | NO | | NULL | | | fecha_mem | date | NO | | NULL | | +------------+-------------+------+-----+---------+----------------+ 5 rows in set (0.010 sec) MariaDB [gimnasiorn]> create table entrenadores ( -> id_entrenador int(10) not null auto_increment primary key, -> nombre varchar(30) not null, -> especialidad varchar(20) not null, -> horario_disp varchar(20) not null); Query OK, 0 rows affected (0.004 sec) MariaDB [gimnasiorn]> describe entrenadores; +---------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+----------------+ | id_entrenador | int(10) | NO | PRI | NULL | auto_increment | | nombre | varchar(30) | NO | | NULL | | | especialidad | varchar(20) | NO | | NULL | | | horario_disp | varchar(20) | NO | | NULL | | +---------------+-------------+------+-----+---------+----------------+ 4 rows in set (0.007 sec) MariaDB [gimnasiorn]> create table membresia ( -> id_membresia int(10) not null auto_increment primary key, -> tipo varchar(30) not null, -> costo int(20) not null, -> duracion int(10) not null); Query OK, 0 rows affected (0.004 sec) MariaDB [gimnasiorn]> describe membresia; +--------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+----------------+ | id_membresia | int(10) | NO | PRI | NULL | auto_increment | | tipo | varchar(30) | NO | | NULL | | | costo | int(20) | NO | | NULL | | | duracion | int(10) | NO | | NULL | | +--------------+-------------+------+-----+---------+----------------+ 4 rows in set (0.007 sec) MariaDB [gimnasiorn]> create table clases ( -> id_clase int(10) not null auto_increment primary key, -> nombre varchar(30) not null, -> descripcion varchar(50) not null, -> id_entrenador int(10) not null, -> horario varchar(20) not null, -> foreign key (id_entrenador) references entrenadores(id_entrenador) on delete cascade on update cascade); Query OK, 0 rows affected (0.012 sec) MariaDB [gimnasiorn]> describe clases; +---------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+----------------+ | id_clase | int(10) | NO | PRI | NULL | auto_increment | | nombre | varchar(30) | NO | | NULL | | | descripcion | varchar(50) | NO | | NULL | | | id_entrenador | int(10) | NO | MUL | NULL | | | horario | varchar(20) | NO | | NULL | | +---------------+-------------+------+-----+---------+----------------+ 5 rows in set (0.008 sec) MariaDB [gimnasiorn]> create table equipos ( -> id_equipo int(10) not null auto_increment primary key, -> nombre varchar(30) not null, -> estado varchar(50) not null, -> fecha_mant date not null); Query OK, 0 rows affected (0.004 sec) MariaDB [gimnasiorn]> describe equipos; +------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | id_equipo | int(10) | NO | PRI | NULL | auto_increment | | nombre | varchar(30) | NO | | NULL | | | estado | varchar(50) | NO | | NULL | | | fecha_mant | date | NO | | NULL | | +------------+-------------+------+-----+---------+----------------+ 4 rows in set (0.007 sec) MariaDB [gimnasiorn]> create table pagos ( -> id_pago int(10) not null auto_increment primary key, -> id_cliente int(10) not null, -> id_membresia int(10) not null, -> fecha_pago date not null, -> monto int(10) not null, -> foreign key (id_cliente) references clientes(id_cliente) on delete cascade on update cascade, -> foreign key (id_membresia) references membresia(id_membresia) on delete cascade on update cascade); Query OK, 0 rows affected (0.013 sec) MariaDB [gimnasiorn]> describe pagos; +--------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------+------+-----+---------+----------------+ | id_pago | int(10) | NO | PRI | NULL | auto_increment | | id_cliente | int(10) | NO | MUL | NULL | | | id_membresia | int(10) | NO | MUL | NULL | | | fecha_pago | date | NO | | NULL | | | monto | int(10) | NO | | NULL | | +--------------+---------+------+-----+---------+----------------+ 5 rows in set (0.008 sec) MariaDB [gimnasiorn]> create table asistencia ( -> id_asistencia int(10) not null auto_increment primary key, -> id_cliente int(10) not null, -> id_clase int(10) not null, -> fecha_asistencia date not null, -> foreign key (id_cliente) references clientes(id_cliente) on delete cascade on update cascade, -> foreign key (id_clase) references clases(id_clase) on delete cascade on update cascade); Query OK, 0 rows affected (0.017 sec) MariaDB [gimnasiorn]> describe asistencia; +------------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+---------+------+-----+---------+----------------+ | id_asistencia | int(10) | NO | PRI | NULL | auto_increment | | id_cliente | int(10) | NO | MUL | NULL | | | id_clase | int(10) | NO | MUL | NULL | | | fecha_asistencia | date | NO | | NULL | | +------------------+---------+------+-----+---------+----------------+ 4 rows in set (0.008 sec) MariaDB [gimnasiorn]> create table clientes_clases ( -> id_cliente int(10) not null, -> id_clase int(10) not null, -> fecha_reserva date not null, -> estado varchar(50) not null, -> foreign key (id_cliente) references clientes(id_cliente) on delete cascade on update cascade, -> foreign key (id_clase) references clases(id_clase) on delete cascade on update cascade); Query OK, 0 rows affected (0.012 sec) MariaDB [gimnasiorn]> describe clientes_clases; +---------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+-------+ | id_cliente | int(10) | NO | MUL | NULL | | | id_clase | int(10) | NO | MUL | NULL | | | fecha_reserva | date | NO | | NULL | | | estado | varchar(50) | NO | | NULL | | +---------------+-------------+------+-----+---------+-------+ 4 rows in set (0.008 sec) MariaDB [gimnasiorn]> insert into clientes (nombre, direccion, telefono, fecha_mem) values -> ('Juan Pérez', 'Av. Siempre Viva 123', '1234567890', '2024-01-01'), -> ('Ana Gómez', 'Calle Falsa 456', '0987654321', '2024-01-10'), -> ('Luis Martínez', 'Boulevard de los Sueños 789', '1112233445', '2024-01-15'), -> ('María Fernández', 'Calle del Sol 101', '2223344556', '2024-01-20'), -> ('Carlos López', 'Paseo de la Reforma 202', '3334455667', '2024-02-01'), -> ('Laura Torres', 'Av. de la Luz 303', '4445566778', '2024-02-05'), -> ('Pedro Ramírez', 'Calle de la Paz 404', '5556677889', '2024-02-10'), -> ('Isabel Ruiz', 'Calle de la Amistad 505', '6667788990', '2024-02-15'), -> ('Jorge Morales', 'Calle de la Libertad 606', '7778899001', '2024-02-20'), -> ('Sofía Castillo', 'Av. de la Esperanza 707', '8889900112', '2024-02-25'); Query OK, 10 rows affected, 5 warnings (0.001 sec) Records: 10 Duplicates: 0 Warnings: 5 MariaDB [gimnasiorn]> select * from clientes; +------------+-----------------+----------------------+------------+------------+ | id_cliente | nombre | direccion | telefono | fecha_mem | +------------+-----------------+----------------------+------------+------------+ | 1 | Juan Pérez | Av. Siempre Viva 123 | 1234567890 | 2024-01-01 | | 2 | Ana Gómez | Calle Falsa 456 | 0987654321 | 2024-01-10 | | 3 | Luis Martínez | Boulevard de los Sue | 1112233445 | 2024-01-15 | | 4 | María Fernández | Calle del Sol 101 | 2223344556 | 2024-01-20 | | 5 | Carlos López | Paseo de la Reforma | 3334455667 | 2024-02-01 | | 6 | Laura Torres | Av. de la Luz 303 | 4445566778 | 2024-02-05 | | 7 | Pedro Ramírez | Calle de la Paz 404 | 5556677889 | 2024-02-10 | | 8 | Isabel Ruiz | Calle de la Amistad | 6667788990 | 2024-02-15 | | 9 | Jorge Morales | Calle de la Libertad | 7778899001 | 2024-02-20 | | 10 | Sofía Castillo | Av. de la Esperanza | 8889900112 | 2024-02-25 | +------------+-----------------+----------------------+------------+------------+ 10 rows in set (0.000 sec) MariaDB [gimnasiorn]> insert into entrenadores (nombre, especialidad, horario_disp) values -> ('Fernando Díaz', 'Entrenamiento Personal', 'Lunes a Viernes 9:00-17:00'), -> ('Claudia Salas', 'Yoga', 'Lunes, Miércoles y Viernes 10:00-12:00'), -> ('Carlos Soto', 'Pilates', 'Martes y Jueves 8:00-10:00'), -> ('María López', 'Nutrición', 'Lunes a Viernes 14:00-18:00'), -> ('Diego Martínez', 'Cardio', 'Lunes a Sábado 7:00-15:00'), -> ('Patricia Gómez', 'Zumba', 'Miércoles y Viernes 18:00-20:00'), -> ('Luis Torres', 'Boxeo', 'Martes y Jueves 16:00-18:00'), -> ('Ana Rodríguez', 'Entrenamiento Funcional', 'Lunes y Miércoles 17:00-19:00'), -> ('Iván Pérez', 'Culturismo', 'Lunes, Miércoles y Viernes 9:00-12:00'), -> ('Carla Ruiz', 'Entrenamiento de Fuerza', 'Sábado 9:00-14:00'); Query OK, 10 rows affected, 12 warnings (0.001 sec) Records: 10 Duplicates: 0 Warnings: 12 MariaDB [gimnasiorn]> select * from entrenadores; +---------------+----------------+----------------------+----------------------+ | id_entrenador | nombre | especialidad | horario_disp | +---------------+----------------+----------------------+----------------------+ | 1 | Fernando Díaz | Entrenamiento Person | Lunes a Viernes 9:00 | | 2 | Claudia Salas | Yoga | Lunes, Miércoles y V | | 3 | Carlos Soto | Pilates | Martes y Jueves 8:00 | | 4 | María López | Nutrición | Lunes a Viernes 14:0 | | 5 | Diego Martínez | Cardio | Lunes a Sábado 7:00- | | 6 | Patricia Gómez | Zumba | Miércoles y Viernes | | 7 | Luis Torres | Boxeo | Martes y Jueves 16:0 | | 8 | Ana Rodríguez | Entrenamiento Funcio | Lunes y Miércoles 17 | | 9 | Iván Pérez | Culturismo | Lunes, Miércoles y V | | 10 | Carla Ruiz | Entrenamiento de Fue | Sábado 9:00-14:00 | +---------------+----------------+----------------------+----------------------+ 10 rows in set (0.000 sec) MariaDB [gimnasiorn]> insert into membresia (tipo, costo, duracion) values -> ('mensual', 120000, 30), -> ('trimestral', 330000, 90), -> ('semestral', 600000, 180), -> ('anual', 1000000, 365), -> ('diaria', 15000, 1), -> ('estudiante', 100000, 30), -> ('familiar (2)', 200000, 30), -> ('familiar (4)', 350000, 30), -> ('promocional (2)', 250000, 60), -> ('corporativa (5)', 1200000, 365); Query OK, 10 rows affected (0.001 sec) Records: 10 Duplicates: 0 Warnings: 0 MariaDB [gimnasiorn]> select * from membresia; +--------------+-----------------+---------+----------+ | id_membresia | tipo | costo | duracion | +--------------+-----------------+---------+----------+ | 1 | mensual | 120000 | 30 | | 2 | trimestral | 330000 | 90 | | 3 | semestral | 600000 | 180 | | 4 | anual | 1000000 | 365 | | 5 | diaria | 15000 | 1 | | 6 | estudiante | 100000 | 30 | | 7 | familiar (2) | 200000 | 30 | | 8 | familiar (4) | 350000 | 30 | | 9 | promocional (2) | 250000 | 60 | | 10 | corporativa (5) | 1200000 | 365 | +--------------+-----------------+---------+----------+ 10 rows in set (0.000 sec) MariaDB [gimnasiorn]> insert into clases (nombre, descripcion, id_entrenador, horario) values -> ('Yoga', 'Clase de yoga para relajación', 2, 'Lunes, Miércoles 10:00-12:00'), -> ('Pilates', 'Clase de pilates para tonificación', 3, 'Martes y Jueves 8:00-10:00'), -> ('Zumba', 'Clase de baile con música', 6, 'Miércoles y Viernes 18:00-20:00'), -> ('Entrenamiento Personal', 'Sesiones personalizadas', 1, 'Lunes a Viernes 9:00-17:00'), -> ('Cardio', 'Ejercicios para mejorar la resistencia', 5, 'Lunes a Sábado 7:00-15:00'), -> ('Boxeo', 'Entrenamiento de boxeo', 7, 'Martes y Jueves 16:00-18:00'), -> ('Nutrición', 'Clases sobre alimentación saludable', 4, 'Lunes a Viernes 14:00-18:00'), -> ('Entrenamiento Funcional', 'Entrenamiento adaptado al cliente', 8, 'Lunes y Miércoles 17:00-19:00'), -> ('Culturismo', 'Entrenamiento de fuerza', 9, 'Lunes, Miércoles y Viernes 9:00-12:00'), -> ('Entrenamiento de Fuerza', 'Entrenamiento de fuerza y resistencia', 10, 'Sábado 9:00-14:00'); Query OK, 10 rows affected, 9 warnings (0.003 sec) Records: 10 Duplicates: 0 Warnings: 9 MariaDB [gimnasiorn]> select * from clases; +----------+-------------------------+----------------------------------------+---------------+----------------------+ | id_clase | nombre | descripcion | id_entrenador | horario | +----------+-------------------------+----------------------------------------+---------------+----------------------+ | 1 | Yoga | Clase de yoga para relajación | 2 | Lunes, Miércoles 10: | | 2 | Pilates | Clase de pilates para tonificación | 3 | Martes y Jueves 8:00 | | 3 | Zumba | Clase de baile con música | 6 | Miércoles y Viernes | | 4 | Entrenamiento Personal | Sesiones personalizadas | 1 | Lunes a Viernes 9:00 | | 5 | Cardio | Ejercicios para mejorar la resistencia | 5 | Lunes a Sábado 7:00- | | 6 | Boxeo | Entrenamiento de boxeo | 7 | Martes y Jueves 16:0 | | 7 | Nutrición | Clases sobre alimentación saludable | 4 | Lunes a Viernes 14:0 | | 8 | Entrenamiento Funcional | Entrenamiento adaptado al cliente | 8 | Lunes y Miércoles 17 | | 9 | Culturismo | Entrenamiento de fuerza | 9 | Lunes, Miércoles y V | | 10 | Entrenamiento de Fuerza | Entrenamiento de fuerza y resistencia | 10 | Sábado 9:00-14:00 | +----------+-------------------------+----------------------------------------+---------------+----------------------+ 10 rows in set (0.000 sec) MariaDB [gimnasiorn]> insert into equipos (nombre, estado, fecha_mant) values -> ('Cinta de Correr', 'Operativo', '2024-01-10'), -> ('Bicicleta Estática', 'Operativo', '2024-01-15'), -> ('Máquina de Pesas', 'Operativo', '2024-01-20'), -> ('Elíptica', 'Operativo', '2024-02-01'), -> ('Mancuernas', 'Operativo', '2024-02-05'), -> ('Banco de Pesas', 'Operativo', '2024-02-10'), -> ('Máquina de Remo', 'Operativo', '2024-02-15'), -> ('Colchonetas', 'Operativo', '2024-02-20'), -> ('Bicicleta de Spinning', 'Operativo', '2024-02-25'), -> ('Trampolín', 'Operativo', '2024-03-01'); Query OK, 10 rows affected (0.001 sec) Records: 10 Duplicates: 0 Warnings: 0 MariaDB [gimnasiorn]> select * from equipos; +-----------+-----------------------+-----------+------------+ | id_equipo | nombre | estado | fecha_mant | +-----------+-----------------------+-----------+------------+ | 1 | Cinta de Correr | Operativo | 2024-01-10 | | 2 | Bicicleta Estática | Operativo | 2024-01-15 | | 3 | Máquina de Pesas | Operativo | 2024-01-20 | | 4 | Elíptica | Operativo | 2024-02-01 | | 5 | Mancuernas | Operativo | 2024-02-05 | | 6 | Banco de Pesas | Operativo | 2024-02-10 | | 7 | Máquina de Remo | Operativo | 2024-02-15 | | 8 | Colchonetas | Operativo | 2024-02-20 | | 9 | Bicicleta de Spinning | Operativo | 2024-02-25 | | 10 | Trampolín | Operativo | 2024-03-01 | +-----------+-----------------------+-----------+------------+ 10 rows in set (0.000 sec) MariaDB [gimnasiorn]> insert into pagos (id_cliente, id_membresia, fecha_pago, monto) values -> (1, 1, '2024-01-01', 50), -> (2, 2, '2024-01-10', 135), -> (3, 3, '2024-01-15', 240), -> (4, 4, '2024-01-20', 450), -> (5, 1, '2024-02-01', 50), -> (6, 2, '2024-02-05', 135), -> (7, 3, '2024-02-10', 240), -> (8, 4, '2024-02-15', 450), -> (9, 1, '2024-02-20', 50), -> (10, 2, '2024-02-25', 135); Query OK, 10 rows affected (0.003 sec) Records: 10 Duplicates: 0 Warnings: 0 MariaDB [gimnasiorn]> select * from pagos; +---------+------------+--------------+------------+-------+ | id_pago | id_cliente | id_membresia | fecha_pago | monto | +---------+------------+--------------+------------+-------+ | 1 | 1 | 1 | 2024-01-01 | 50 | | 2 | 2 | 2 | 2024-01-10 | 135 | | 3 | 3 | 3 | 2024-01-15 | 240 | | 4 | 4 | 4 | 2024-01-20 | 450 | | 5 | 5 | 1 | 2024-02-01 | 50 | | 6 | 6 | 2 | 2024-02-05 | 135 | | 7 | 7 | 3 | 2024-02-10 | 240 | | 8 | 8 | 4 | 2024-02-15 | 450 | | 9 | 9 | 1 | 2024-02-20 | 50 | | 10 | 10 | 2 | 2024-02-25 | 135 | +---------+------------+--------------+------------+-------+ 10 rows in set (0.000 sec) MariaDB [gimnasiorn]> insert into asistencia (id_cliente, id_clase, fecha_asistencia) values -> (1, 1, '2024-01-05'), -> (1, 2, '2024-01-07'), -> (2, 3, '2024-01-10'), -> (3, 1, '2024-01-15'), -> (4, 4, '2024-01-20'), -> (5, 5, '2024-02-01'), -> (6, 6, '2024-02-05'), -> (7, 7, '2024-02-10'), -> (8, 8, '2024-02-15'), -> (9, 9, '2024-02-20'); Query OK, 10 rows affected (0.002 sec) Records: 10 Duplicates: 0 Warnings: 0 MariaDB [gimnasiorn]> select * from asistencia; +---------------+------------+----------+------------------+ | id_asistencia | id_cliente | id_clase | fecha_asistencia | +---------------+------------+----------+------------------+ | 1 | 1 | 1 | 2024-01-05 | | 2 | 1 | 2 | 2024-01-07 | | 3 | 2 | 3 | 2024-01-10 | | 4 | 3 | 1 | 2024-01-15 | | 5 | 4 | 4 | 2024-01-20 | | 6 | 5 | 5 | 2024-02-01 | | 7 | 6 | 6 | 2024-02-05 | | 8 | 7 | 7 | 2024-02-10 | | 9 | 8 | 8 | 2024-02-15 | | 10 | 9 | 9 | 2024-02-20 | +---------------+------------+----------+------------------+ 10 rows in set (0.000 sec) MariaDB [gimnasiorn]> insert into clientes_clases (id_cliente, id_clase, fecha_reserva, estado) values -> (1, 1, '2024-01-01', 'Confirmada'), -> (2, 2, '2024-01-05', 'Confirmada'), -> (3, 3, '2024-01-10', 'Confirmada'), -> (4, 4, '2024-01-15', 'Confirmada'), -> (5, 5, '2024-02-01', 'Confirmada'), -> (6, 6, '2024-02-05', 'Cancelada'), -> (7, 7, '2024-02-10', 'Confirmada'), -> (8, 8, '2024-02-15', 'Confirmada'), -> (9, 9, '2024-02-20', 'Confirmada'), -> (10, 10, '2024-02-25', 'Confirmada'); Query OK, 10 rows affected (0.002 sec) Records: 10 Duplicates: 0 Warnings: 0 MariaDB [gimnasiorn]> select * from clientes_clases; +------------+----------+---------------+------------+ | id_cliente | id_clase | fecha_reserva | estado | +------------+----------+---------------+------------+ | 1 | 1 | 2024-01-01 | Confirmada | | 2 | 2 | 2024-01-05 | Confirmada | | 3 | 3 | 2024-01-10 | Confirmada | | 4 | 4 | 2024-01-15 | Confirmada | | 5 | 5 | 2024-02-01 | Confirmada | | 6 | 6 | 2024-02-05 | Cancelada | | 7 | 7 | 2024-02-10 | Confirmada | | 8 | 8 | 2024-02-15 | Confirmada | | 9 | 9 | 2024-02-20 | Confirmada | | 10 | 10 | 2024-02-25 | Confirmada | +------------+----------+---------------+------------+ 10 rows in set (0.000 sec) MariaDB [gimnasiorn]>