Académique Documents
Professionnel Documents
Culture Documents
A diferencia de las Bases de Datos Rrelacionales en donde los datos se guardan en columnas
dentro de las tablas, las Bases de Datos Documentales guardan los datos dentro de “cadenas de
carateres”, para lo cual utiliza el concepto de concatenación y separación de datos mediante el
carácter “coma (,)”, para separarlos o identificarlos.
Como su estructura de almacenamiento físico son los “vectores o arreglos”, cada concatenación se
guardará dentro de una casilla del vector o arreglo denominado “array”; el conjunto de arreglos
se denomina “colecciones”.
Independiente de la forma como se guardan los datos, es importante aclarar que el concepto de la
lógica del negocio no cambia y que por tanto los criterios para su contextualización siguen siendo
los mismos : “Que se va a Controlar “ – “Para Quien se va a Controlar”, construyendo la siguiente
representación:
No obstante lo anterior, la articulación entre los datos no se define a través de las Dependencias
Funcionales, pues estas no existen, por tanto no existe el concepto de la Reflexividad, que refleja
la llave primaria del “componente antecesor” del contexto en el “componente sucesor”, mediante
el criterio de Foreign Key por Proceso (FKP) única, o Foreign Key por Proceso (FKP) acompañada, es
decir la que arma llave compuesta con la PK del componente sucesor.
Teniendo en cuenta la “no existencia de las Dependencias Funcionales”, se debe estructurar una
articulación de arreglos a través del concepto jerárquico de “Padre e Hijo”, definiendo como unica
clave de acceso el identificador del padre (ejemplo la cedula).
Para la siguiente explicación, en el vector “Clientes” cada casilla corresponderá a un cliente, que
contiene el string cedula, nombre, telefono(ced, nom, tel) y por ser un string se asimila a un
documento. Cada casilla de Clientes, tendra como hijo un vector denominado “Facturas”, en
donde cada casilla contiene el documento o string correspondiente a una transacción, definida por
numero de factura, fecha de factura, valor de la factura (nofac, fechfac, valfac.)
Para hacer más comprensible el almacenamiento físico de los datos dentro de los denominados
arreglos o “arrays”, presentaremos el siguiente código implementado en el motor “Mongodb”, en
donde los datos en forma “string” de cada cliente, tiene muchas facturas también en modo
“string”.
Se debe tener en cuenta que en el “array Clientes”, cada string es como tal una casilla de un
cliente diferente; en el “array Facturas” cada string es entonces una de las muchas facturas,
pertenecientes a un determinado cliente:
Ejercicio de la aplicación:
1. Se realiza ajuste en el código y se procede a la inserción de los datos
)
Captura de pantalla MongoDB cliente: Inserción de datos
2. Visualización de datos ingresados
db.clientes.find({nom: 'pedro'}).pretty()
db.clientes.find({nom: 'luisa'}).pretty()
db.clientes.find({nom: 'ruth'}).pretty()
3. Modificación de datos
Se consulta datos Id de “Pedro” = ObjectID(“5bea134fc75c483736081ba8”)
4. Eliminación de registros
db.clientes.remove({_id: ObjectId(“5bea134fc75c483736081ba8”)});
Se realiza la verificación de las facturas asociadas a dicho cliente y se evidencia que también
fueron removidas de la base de datos
5. Conclusiones
Una ventaja de almacenar los datos en formato documental frente a las bases
tradicionales, es que se dispone de un esquema dinámico, ya que no es necesario que
todos los documentos almacenados tengan la misma estructura o el mismo esquema.