0% encontró este documento útil (0 votos)
22 vistas11 páginas

Gp-Unidad 3

La unidad 3 se centra en la integración de bases de datos no relacionales, específicamente MongoDB, en sistemas utilizando lenguajes de programación como PHP, Python o JAVA. Se establece un procedimiento para implementar un CRUD y se detallan los objetivos, conocimientos previos y normas de seguridad necesarios para la práctica. Además, se proporciona un paso a paso para la creación de un sistema de gestión de datos, junto con ejemplos de código y bibliografía relevante.

Cargado por

alexleonel19x
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas11 páginas

Gp-Unidad 3

La unidad 3 se centra en la integración de bases de datos no relacionales, específicamente MongoDB, en sistemas utilizando lenguajes de programación como PHP, Python o JAVA. Se establece un procedimiento para implementar un CRUD y se detallan los objetivos, conocimientos previos y normas de seguridad necesarios para la práctica. Además, se proporciona un paso a paso para la creación de un sistema de gestión de datos, junto con ejemplos de código y bibliografía relevante.

Cargado por

alexleonel19x
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 PDF, TXT o lee en línea desde Scribd

UNIDAD 3

BASE DE DATOS NO RELACIONALES

1. Tema: Integración de una base de datos no relacional en un sistema.


2. Código de la práctica:
3. Duración de la práctica: 10
4. Fundamento de la práctica: Implementación de CRUD con MONGODB y un lenguaje de
programación como PHP, Python o JAVA
5. Objetivos a alcanzar: Conocer los beneficios en la implementación de base de datos no
relacionales mediante la selección de tecnología adecuada para el desarrollo y despliegue de
aplicaciones web robustas.
6. Evaluación de aprendizaje:
• Se evaluará considerando el 75% el procedimiento y el 25% el resultado de la práctica de
la nota asignada según el sistema de evaluación del PEA.
7. Conocimientos previos:
• Manejo de un lenguaje de programación
• Generalidades de base de datos no relacionales
• Diferencias de los tipos de base de datos no relacionales
8. Preparación previa del estudio:
• Investigar la estructura del CRUD de base de datos no relacionales
• Identificar las herramientas contempladas en base de datos no relacionales.
• Diferenciar los tipos de base datos

9. Normas de seguridad en la práctica:


• Mantener la cordialidad y educación en clase.
• Respetar las opiniones y partición de los demás.
• Participación activa de los estudiantes.
• Manejar normas de seguridad en laboratorio o manejo de equipos tecnológicos.

10. Procedimientos a emplear:


• Identificar las características del CRUD con MONGODB y un lenguaje de programación
como PHP, Python o JAVA
• Seleccionar una base de datos NoSQL
• Diseñar la estructura de datos y Crea la interfaz de usuario
• Implementar la funcionalidad CRUD y Realiza pruebas y depuración

Desarrollo de la Práctica 4: Integración de una base de datos

Tema: Integración de una base de datos no relacional en un sistema.


1. Producto: El estudiante desarrollará un sistema con la integración de una base de datos no
relacional como MongoDB.
2. Componentes: Cuaderno de trabajo, pizarra, marcadores, proyector, computador con
herramientas de Xamp, Apache, MongoDB.

1
3. Elaboración de material P.O.P.
El estudiante para realizar la actividad práctica debe seguir los siguientes pasos:
a. Abrir la herramienta MongoDB en el cual debe ingresar la URI y presionar el botón
CONNECT

b. En la opción Databases dar click en +, seleccionando Create Database con el nombre


“veterinaria”

c. Una vez creada la base de datos dar click “Create collection” y colocar el nombre “doctor”

d. Dar click posteriormente en “import data” y seleccionar el archivo con datos para la tabla
con la extensión .csv

2
e. Listo los datos almacenados dando click en el botón importar verificando los tipos de
datos

f. Generar en visual Code el proyecto “crud_veterinaria” para crear el archivo y escribir la


programación en INDEX.PHP

<?php
require_once "./clases/Conexion.php";
include "./clases/Crud.php";
$crud = new Crud();
$datos = $crud->mostrarDatos();
//print_r($datos);
?>

<?php include "./header.php";?>


<div class="container">
<div class="row">
<div class="col">
<div class="card mt-4">
<div class="card-body">

<h2> CRUD MONGO</h2>

<a href="agregar.php" class= "btn btn-primary">


<i class="fa-solid fa-plus"></i> Agregar un registro </a>

<hr>
<table class ="table table-sm table-hover table-bordered">
<thead>
<th>Cedula </th>

3
<th>Nombres </th>
<th>Apellidos </th>
<th>Editar </th>
<th>Eliminar </th>
</thead>
<tbody>

<?php
foreach ($datos as $item){
?>
<tr>
<td><?php echo $item->paterno;?> </td>
<td>
</td>
<td>
</td>
<td class="text-center">
<form action ="actualizar.php" method ="post">
<input type="text" hidden
value="<?php echo $item->_id; ?>" name="id"/>
<button class="btn btn-warning">
<i class="fa-solid fa-pen-to-square"></i>Editar
</button>
</form>
</td>
<td class="text-center">
<form action ="eliminar.php" method ="post">
<input type="text" hidden
value="<?php echo $item->_id; ?>" name="id"/>
<button class="btn btn-danger">
<i class="fa-solid fa-trash"></i> Eliminar
</button>
</form>
</td>
</tr>
<?php }
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<?php include "./scripts.php" ?>
g. Crear el archivo y escribir la programación en AGREGAR.PHP – VISTA

<?php include "./header.php";?>

4
<div class="container">
<div class="row">
<div class="col">
<div class="card mt-4">
<div class="card-body">

<h2> AGREGAR NUEVO REGISTRO</h2>


<hr>

<a href="index.php" class="btn btn-outline-info">


<i class="fa-solid fa-backward"></i> Regresar </a>

<form action ="./procesos/insertar.php" method ="post">


<label for="cedula"> cedula
</label>
<input type="text" class="form-control" id="cedula" name="cedula"></input>
<label for="nombre"> Nombre
</label>
<input type="text" class="form-control" id="Nombre" name="Nombre"></input>
<label for="apellido"> apellidos
</label>
<input type="text" class="form-control" id="apellidos" name="apellidos"></input>

<button class="btn btn-primary mt-3">


<i class="fa-solid fa-plus"></i>Agregar
</button>
</form>

</div>
</div>
</div>
</div>
</div>

<?php include "./scripts.php" ?>


h. Crear el archivo y escribir la programación en INSERTAR.PHP – PROCESO

<?php
include "../clases/Conexion.php";
include "../clases/Crud.php";

$Crud = new Crud();

$datos = array(
"paterno" => $_POST['cedula'],
"materno" => $_POST['cedula'],
"nombre" => $_POST['cedula'],
"fecha_nacimiento" => $_POST['cedula']
);

5
$respuesta = $Crud->insertarDatos($datos);

if($respuesta->getInsertedId() > 0){


header("location:../index.php");
}else{
?>
<script>
alert("no se inserto");
</script>
<?php
}
?>
i. Crear el archivo y escribir la programación en CRUD.PHP

<?php
class Crud extends Conexion{
public function mostrarDatos(){
try{
$conexion = parent::conectar();
$coleccion = $conexion->personas;
$datos = $coleccion->find();
return $datos;
}catch(\Throwable $th){
return $th->getMessage();
}
}

public function insertarDatos($datos){


try{
$conexion = parent::conectar();
$coleccion = $conexion->personas;
$resultado = $coleccion->insertOne($datos);
return $resultado;
}catch(\Throwable $th){
return $th->getMessage();
}
}

public function obtenerDatos($id){


try{
$conexion = parent::conectar();
$coleccion = $conexion->personas;
$datos = $coleccion->findOne(
array('_id' => new MongoDB\BSON\ObjectId($id)
));
return $datos;
}catch(\Throwable $th){
return $th->getMessage();

6
}
}

public function eliminarD($id){


try{
$conexion = parent::conectar();
$coleccion = $conexion->personas;
$respuesta = $coleccion->deleteOne(
array(
'_id'=> new MongoDB\BSON\ObjectId($id)
)
);
return $respuesta;
}catch(\Throwable $th){
return $th->getMessage();
}
}

public function actualizarD($id, $datos){


try{
$conexion = parent::conectar();
$coleccion = $conexion->personas;
$respuesta = $coleccion->updateOne(
['_id'=> new MongoDB\BSON\ObjectId($id)], [
'$set' => $datos
]
);

return $respuesta;

}catch(\Throwable $th){
return $th->getMessage();
}
}
}
?>
j. Crear el archivo y escribir la programación en ELIMINAR.PHP – VISTA

<?php
include './clases/Conexion.php';
include './clases/Crud.php';
include "./header.php";

$crud = new Crud();


$id= $_POST['id'];
$datos = $crud -> obtenerDatos($id);
//echo $datos->nombre;
?>

7
<div class="container">
<div class="row">
<div class="col">
<div class="card border-danger mt-4">
<div class="card-body">

<h2> ELIMINAR REGISTRO</h2>


<hr>

<a href="index.php" class="btn btn-outline-info">


<i class="fa-solid fa-backward"></i> Regresar </a>

<table class ="table table-sm table-hover table-bordered">

<thead>
<th>Cedula </th>
<th>Nombres </th>
<th>Apellidos </th>
</thead>
<tbody>
<tr>
<td>
<?php echo $datos->paterno; ?>
</td>
<td>
<?php echo $datos->materno; ?>
</td>
<td>
<?php echo $datos->nombre; ?>
</td>
</tr>
</table>
<hr>
<div class="alert alert-danger" role="alert">
<p>esta seguro de eliminar?</p>
<p>Una vez eliminado no puede recuperar</p>
</div>
<form action ="./procesos/eliminarP.php" method ="post">
<input type="text" hidden
value="<?php echo $datos->_id; ?>" name="id"/>

<button class="btn btn-danger">


<i class="fa-solid fa-trash"></i> Eliminar
</button>
</form>

</div>
</div>
</div>

8
</div>
</div>

<?php include "./scripts.php" ?>


k. Crear el archivo y escribir la programación en ELIMINARP.PHP – PROCESO

<?php
include '../clases/Conexion.php';
include '../clases/Crud.php';
$crud = new Crud();
$id = $_POST['id'];
$respuesta = $crud-> eliminarD($id);
if($respuesta->getDeletedCount() > 0){
header("location:../index.php");
}else{
?>
<script>
alert("no se elimino");
</script>
<?php
}
?>

l. Crear el archivo y escribir la programación en ACTUALIZAR.PHP – VISTA

<?php
include './clases/Conexion.php';
include './clases/Crud.php';
include "./header.php";

$crud = new Crud();


$id= $_POST['id'];
$datos = $crud -> obtenerDatos($id);
//echo $datos->nombre;
?>

<div class="container">
<div class="row">
<div class="col">
<div class="card mt-4">
<div class="card-body">

<h2> ACTUALIZAR REGISTRO</h2>


<hr>

<a href="index.php" class="btn btn-outline-info">


<i class="fa-solid fa-backward"></i> Regresar </a>

<form action ="./procesos/actualizarP.php" method ="post">

9
<input type="text" hidden
value="<?php echo $datos->_id; ?>" name="id"/>

<label for="cedula"> paterno


</label>
<input type="text" class="form-control" id="paterno" name="paterno"
value="<?php echo $datos->paterno; ?> "></input>
<label for="nombre"> materno
</label>
<input type="text" class="form-control" id="materno" name="materno"
value="<?php echo $datos->materno; ?> "></input>
<label for="apellido"> nombre
</label>
<input type="text" class="form-control" id="nombre" name="nombre"
value="<?php echo $datos->nombre; ?> "></input>

<button class="btn btn-warning mt-3">


<i class="fa-solid fa-pen-to-square"></i>Actualizar
</button>
</form>
</div>
</div>
</div>
</div>
</div>

<?php include "./scripts.php" ?>


m. Crear el archivo y escribir la programación en ACTUALIZARP.PHP – PROCESO

<?php
include "../clases/Conexion.php";
include "../clases/Crud.php";

$crud = new Crud();

$datos = array(
"paterno" => $_POST['paterno'],
"materno" => $_POST['materno'],
"nombre" => $_POST['nombre'],
"fecha_nacimiento" => $_POST['paterno']
);

$id = $_POST['id'];

$respuesta = $crud -> actualizarD($id, $datos);

//preguntar si hubo al menos 1 modificacion


//pregunta matchCount no se modificacion pero se actualizo con la misma informacion
if($respuesta->getModifiedCount() > 0 || $respuesta -> getmatchedCount() >0){

10
header("location:../index.php");
}else{
?>
<script>
alert("no se actualizo");
</script>
<?php
}
?>
n. Finalmente probar la programación realizada mediante un navegador web y probar el
CRUD de veterinaria.

11. Bibliografía:
Básica

• Pandora FMS. (2021). Bases de datos NoSQL: Guía con las ventajas y desventajas. Recuperado
el 27 de marzo de 2023, de https://pandorafms.com/blog/es/bases-de-datos-nosql/
• Laudon, K. C. (1996). Administración de los sistemas de información: organización y tecnología.
Pearson Education.
Complementaria

• Crehana. (2022). ¿Qué es un web service y cómo funciona? [2022]. Recuperado el 27 de marzo
de 2023, de https://www.crehana.com/blog/transformacion-digital/que-es-web-service
• Idempiere. (2023). Community Powered Enterprise - Free Open Source ERP and CRM.
Recuperado el 27 de marzo de 2023, de https://www.idempiere.org/

11

También podría gustarte