Vous êtes sur la page 1sur 8

ESPACIO ACADÉMICO: BASE DE DATOS – Grupo 1

ESTUDIANTE: JONATHAN LÓPEZ RAMÍREZ – Código: 20182099014 – BASES DE DATOS


DOCUMENTALES

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:

Cedula 100, con facturas 10, 60, 95


Cedula 200, con facturas 30, 55, 70

Cedula 300, con facturas 20, 50, 80

Ejercicio de la aplicación:
1. Se realiza ajuste en el código y se procede a la inserción de los datos

db.clientes.insert ( { “ced”:”100” , “nom”:”pedro” , “tel”:”10”,

“facturas”: [ { “nofac”:”10” , “fechfac”:”enero” , “valfac”:”100000”},

{ “nofac”:”60” , “fechfac”:”febre” , “valfac”:” 120000”},

{ “nofac”:”95” , “fechfac”:”marz” , “valfac”:” 230000”}

db.clientes.insert ({ “ced”:”200” , “nom”:”luisa” , “tel”:”20”,

“facturas”: [ { “nofac”:”30” , “fechfac”:”enero” , “valfac”:”125000”},

{ “nofac”:”55” , “fechfac”:”febre” , “valfac”:” 245000”},

{ “nofac”:”70” , “fechfac”:”marz” , “valfac”:”135000”}

db.clientes.insert ({ “ced”:”300” , “nom”:”ruth” , “tel”:”30”,

“facturas”: [ { “nofac”:”20” , “fechfac”:”enero” , “valfac”:”210000”},

{ “nofac”:”50” , “fechfac”:”febre” , “valfac”:” 170000”},

{ “nofac”:”80” , “fechfac”:”marz” , “valfac”:”130000”}

)
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”)

db.clientes.update({_id: ObjectId(“5bea134fc75c483736081ba8”)}, {$set: {“nom”: 'jairo'}})


Visualización de documento con la actualización de datos

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.

 Al realizar el almacenamiento en documentos tipo JSON (BSON) la velocidad de


procesamiento en cantidad grandes de datos, la velocidad de respuesta de las base de
datos documentales (NoSQL) es mucho más rápida que las de tipo relacional (SQL).

Vous aimerez peut-être aussi