Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Mongodb

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 6

1

Dennys Coronel , Angel Villacis Zuñiga, Eister Vera

Modelación de Base de Datos de Recetas


Utmach, Ecuador , dcoronel4@utmachala.edu.ec, avillacis3@utmachala.edu.ec,
evera5@utmachala.edu.ec

Ecuatorianas en MongoDB

Resumen— Las bases datos no relacionales son muy A. MongoDB


utilizadas principalmente en los juegos de video, redes sociales,
internet de las cosas, aplicaciones web o móviles y en empresas Es una base de datos de código abierto de modelación
con una alta variedad de información por procesar. En presente basada en documentos y acepta múltiples formularios de
documento modelaremos y crearemos base datos, también
datos, su arquitectura es en base a documentos y colecciones,
generamos diferentes consultas. Para la creación de esta
propuesta de modelado hemos utilizado el motor de base de no requiere un esquema predefinido, almacena diferentes
datos Mongo.db para la creación de base datos y una tipos de datos y su escalabilidad es horizontal, acoplándose
herramienta en línea llamada jsoneditoronline con cualquier empresa puede utilizarla para big data, también
(https://jsoneditoronline.org/) para editor y creation del JSON. tiene funcionalidades como fragmentación, ACID,
agregación y entre otras, sus gráficos son accesibles
Abstract-- Non-relational databases are widely used mainly in permitiendo rapidez en creación, visualización de datos[3].
video games, social networks, Internet of things, web or mobile
applications and in companies with a high variety of information B. Jsoneditoronline
to process. In this document we will model and create a
database, we also generate different queries. For the creation of
this modeling proposal we have used the Mongo.db database Es un editor de documentos tipo JSON que nos permite
engine for the creation of the database and an online tool called editar, y en paralelo la vista en árbol. Valida mediante un
jsoneditoronline (https://jsoneditoronline.org/) for the editor and esquema JSON y muestra un error si existe[4].
creation of the JSON.
III. DESARROLLO DEL MODELO DE BASE DE DATOS
I. INTRODUCCIÓN
En esta sección se describirán paso la modelación y la

E n la actualidad las bases datos no relacionales, son muy


usadas cuando tenemos una variedad de información
colosal, dado que se almacena datos basados en documentos,
creación de base datos de recetas ecuatorianas.

además este tipo de base de datos tiene motores de consultas y A. Creación del Modelo de Datos
funciones de indexación muy potentes, al comprar con una
base de datos tradicionales[1]. Primero buscamos una página en donde encontramos
En el uso de este tipo de base de datos no relacionales se diferentes recetas ecuatorianas para generar el modelo con la
encuentran distintos enfoques, por un ejemplo muy relevante ayuda Jsoneditoronline. Las páginas utilizadas para la
es el trabajo realizado por[2] , presenta el uso de base de recolección de los datos fueron:
NoSQL en la atención médica, dado que el volúmenes en el  https://www.laylita.com/recetas/platos-fuertes-
crecimiento de datos de registros de salud es exponencial. Los ecuatorianos/
resultados obtenidos fueron óptimos, dado que permitió la  https://lacomidaecuatoriana.com/consome-caldo-
creación de consultar estandarizadas semánticamente, y gallina-criolla/
también brindo un rendimiento óptimo al sistema.  http://comida-tipicas-
Este documento propone la modelación y creación de una isac.blogspot.com/p/recetas.html
base de datos de recetas de cocina del ecuador en un es un
sistema de base de datos NoSQL llamado MongoDB. El Para la creación del JSON se tomo en cuenta los
objetivo es la aplicación de los conceptos aprendidos e principalmente los ingredientes que
investigados en clases.
El presente trabajo está estructurado de la siguiente manera.
La sección 2, se describe los materiales usados. En la sección
3, se detalla el desarrollo de la modelación y creación de base
de datos no relacional. En la sección 4, se presentan los
resultados obtenidos. Finalmente, en la sección 5, se
presentan las conclusiones.

II. MATERIALES
En esta sección se describirán los materiales utilizados en la
modelación y creación de la base de datos.


2

{
"Nombre": "Mani",
"Tipo": {
"Nombre": "crema de mani",
"Categoria": "leguminosa"
},
"Consistencia": {
"Tipo": "grano",
"Estado": "molido",
"Medida": "mediano"
},
"Cantidad": {
"Valor": 0.5,
"Peso": "libra"
}
},
{
"Nombre": "Mantequilla",
"Tipo": {
Fig. 1. Modelo de JSON Recetas "Nombre": "Manteca",
"Categoria": "Grasas"
Enlace de JSON de todas las recetas },
 https://drive.google.com/drive/folders/1HKs0zjaaJ8s4XtJ "Consistencia": {
WPHrF4UDuhUBKFMbl?usp=sharing "Tipo": "Lacteo",
"Estado": "crema",
Ejemplo de JSON de una receta.
"Medida": "mediano"
},
[
"Cantidad": {
{
"Valor": 3,
"Nombre": "GUATITA",
"Peso": "cucharadas"
"Origen": {
}
"Region": "Costa",
}
"provincia": "El Oro",
],
"ciudad": "Machala"
"Condimentos": [
},
{
"Dificutad": "Media",
"Nombre": "achiote",
"Tiempo": {
"Tipo": "molido",
"Preparacion": 3,
"Cantidad": 1,
"Medicion": "Horas"
"Medida": "cucharadita"
},
},
"Ingredientes": {
{
"Principales": [
"Nombre": "ajo",
{
"Tipo": "entero",
"Nombre": "mondongo",
"Cantidad": 5,
"Tipo": {
"Medida": "diente"
"Nombre": "carnico",
},
"Categoria": "bovino"
{
},
"Nombre": "oregano",
"Corte": {
"Tipo": "seco",
"Tipo": "Intestino",
"Cantidad": 1,
"Estado": "trozos",
"Medida": "cucharadita"
"Medida": "mediano"
},
},
{
"Cantidad": {
"Nombre": "comino",
"Valor": 2,
"Tipo": "Molido",
"Peso": "libra"
"Cantidad": 1,
}
"Medida": "cucharadita"
},
},
3

{ "Preparacion": 10,
"Nombre": "pimienta", "Medicion": "minutos"
"Tipo": "polvo", },
"Medida": "al gusto" "Ingredientes": [
}, {
{ "Nombre": "mondongo",
"Nombre": "sal", "Cantidad": 1,
"Tipo": "polvo", "Medida": "libra"
"Medida": "al gusto" },
} {
], "Nombre": "sal",
"Vegetales": [ "Cantidad": 1,
{ "Medida": "al gusto"
"Nombre": "cebolla blanca", },
"Tipo": "liliopsida", {
"Cantidad": 2, "Nombre": "pimienta",
"Medida": "tazas" "Cantidad": 1,
}, "Medida": "al gusto"
{ },
"Nombre": "tomate", {
"Tipo": "hortaliza", "Nombre": "jugo de limon",
"Cantidad": 1, "Cantidad": 1,
"Medida": "unidad" "Medida": "taza"
}, }
{ ]
"Nombre": "papa", },
"Tipo": "tuberculo", {
"Cantidad": 4, "Paso": "En una olla grande ponga el mondongo
"Medida": "unidad" lavado con las diez tazas de agua, las ramitas de culantro, el
}, ajo, la sal y el comino.",
{ "Tiempo": {
"Nombre": "pimiento", "Preparacion": 15,
"Tipo": "hortaliza", "Medicion": "minutos"
"Cantidad": 0.5, },
"Medida": "unidad" "Ingredientes": [
}, {
{ "Nombre": "mondongo",
"Nombre": "cebolla colorada", "Cantidad": 1,
"Tipo": "hortaliza", "Medida": "libra"
"Cantidad": 1, },
"Medida": "tazas" {
} "Nombre": "agua",
], "Cantidad": 10,
"Liquidos": [ "Medida": "tazas"
{ },
"Nombre": "leche", {
"Tipo": "lacteo", "Nombre": "culantro",
"Cantidad": 2, "Cantidad": 4,
"Medida": "tazas" "Medida": "ramitas"
} },
] {
}, "Nombre": "ajos",
"Preparacion": [ "Cantidad": 5,
{ "Medida": "unidades"
"Paso": "Cubra el mondongo con agua, sal y la mitad },
del jugo de limón, déjelo reposar durante 10 minutos, lávelo y {
repita el proceso otra vez.", "Nombre": "sal",
"Tiempo": { "Cantidad": 1,
4

"Medida": "al gusto" ]


}, },
{ {
"Nombre": "comino", "Paso": "Prepare un refrito o sofrito con la
"Cantidad": 1, mantequilla, achiote, comino, sal, orégano, cebolla, pimiento,
"Medida": "al gusto" tomate y ajo, cocine a fuego medio hasta que las cebollas
} estén suaves y casi transparentes, unos 5 minutos.",
] "Tiempo": {
}, "Preparacion": 5,
{ "Medicion": "minutos"
"Paso": "Hágalo hervir, reduzca la temperatura y },
cocine a fuego lento hasta que el mondongo se haya "Ingredientes": [
suavizado, aproximadamente unas 2 horas.", {
"Tiempo": { "Nombre": "mantequilla",
"Preparacion": 120, "Cantidad": 1,
"Medicion": "minutos" "Medida": "al gusto"
}, },
"Ingredientes": [ {
{ "Nombre": "achiote",
"Nombre": "mondongo", "Cantidad": 1,
"Cantidad": 1, "Medida": "al gusto"
"Medida": "libra" },
} {
] "Nombre": "comino",
}, "Cantidad": 1,
{ "Medida": "al gusto"
"Paso": "Mientras tanto diluya la mantequilla de maní },
con ½ taza de leche.", {
"Tiempo": { "Nombre": "sal",
"Preparacion": 30, "Cantidad": 1,
"Medicion": "minutos" "Medida": "al gusto"
}, },
"Ingredientes": [ {
{ "Nombre": "oregano",
"Nombre": "matequilla de mani", "Cantidad": 1,
"Cantidad": 1, "Medida": "al gusto"
"Medida": "al gusto" },
}, {
{ "Nombre": "cebolla",
"Nombre": "leche", "Cantidad": 3,
"Cantidad": 0.5, "Medida": "unidades"
"Medida": "taza" },
} {
] "Nombre": "pimiento",
}, "Cantidad": 1,
{ "Medida": "unidades"
"Paso": "Cuando el mondongo se haya enfriado },
píquelo en pedacitos muy pequeños.", {
"Tiempo": { "Nombre": "tomate",
"Preparacion": 10, "Cantidad": 2,
"Medicion": "minutos" "Medida": "unidad"
}, }
"Ingredientes": [ ]
{ }
"Nombre": "mondongo",
"Cantidad": 1, ],
"Medida": "libra" "Acompanante": [
} "arroz",
5

"maduros fritos", Ya creada la colección, subiremos mediante el comando


"cebolla curtida", load, este comando nos permite cargar y ejecutar un archivo
"aji criollo", JavaScript en el entorno del Shell. En la Figura 6 se muestra
"aguacate" la ejecución del archivo .js en la Shell.
]
}
]
B. Creación de Base datos en mongoDB Fig. 6. Ejecución exitosa de los archivos de las recetas.

Mediante Símbolo del sistema o cmd de Windows, En la figura 7 se muestra el contenido del archivo .js, que
iniciamos mongo.db, con el siguiente comando (Mongod).En es comando insert que nos ayuda a ingresar los documentos
la figura 2 se muestra ejecución del comando para iniciar en una colección. El .js esta subido por completo en este
mongoDB, no debe cerrar esta pantalla. enlace.
.

 https://drive.google.com/drive/folders/1l2E-
vfp2qMJHczIfi52tWOpXWh7jIfUu?usp=sharing

Fig. 2. Iniciación de mongoDB.

Después iniciamos otro símbolo del sistema en donde


pondremos en siguiente comando (mongo) para iniciar el
Shell de mongo. En la figura 3 se muestra la ejecución del
comando, ejecutándose la Shell de mongo.

Fig. 3. Shell de mongo.

Ahora crearemos la base de datos que vamos a utilizamos


con el siguiente comando (use Ecuador;). La Figura 4
muestra la ejecución de comando de creación de la base de
datos.

Fig. 4. Creación de Base de datos.

Después crearemos una colección llamada Recetas, con la


siguiente línea de comandos
(db.createCollection(‘Recetas’);).
La Figura 5 muestra la ejecución de comando de la
creación de colección en la base de datos.

Fig. 5. Creación de Colección.


Fig. 7. Parte del contenido del archivo recetas.js.
6

C. Creación de Consultas
Se crearon las siguientes consultas.

 En la figura 8 se muestra la consulta de las recetas


que son de la costa con la siguiente línea de
comando.
(db.Recetas.find({"Origen.Region":"Costa"},
{"_id":0,"Nombre":1}).pretty())

Fig. 8. Ejecución exitosa de los archivos de las recetas.

 En la figura 9 se muestra la consulta de las recetas


que son de la costa con la siguiente línea de
comando.
(db.Recetas.find({"Origen.Region":{$in:
["Costa","Sierra"]}},{"_id":0,"Nombre":1}).pretty())

Fig. 9. Ejecución exitosa de los archivos de las recetas.

IV. CONCLUSIONES
La utilización de mongoDB, nos ayudó a no tener definir
un esquema, mejorando la escalabilidad sin demasiados
problemas.
Los objetos JSON muestran un ahorro significativo en el
tamaño de la colección de la base de datos y nos ofrece un
mejor rendimiento en ejecución de diferentes consultas

REFERENCIAS
[1] B. Jose and S. Abraham, “Performance analysis of
NoSQL and relational databases with MongoDB and
MySQL,” Mater. Today Proc., vol. 24, pp. 2036–
2043, 2020, doi: 10.1016/j.matpr.2020.03.634.
[2] M. Ramos et al., “An Archetype Query Language
interpreter into MongoDB: Managing NoSQL
standardized Electronic Health Record extracts
systems,” J. Biomed. Inform., vol. 101, p. 103339,
Jan. 2020, doi: 10.1016/j.jbi.2019.103339.
[3] A. Das, A. Mitra, S. N. Bhagat, and S. Paul, “Issues
and Concepts of Graph Database and a Comparative
Analysis on list of Graph Database tools,” in 2020
International Conference on Computer
Communication and Informatics (ICCCI), Jan. 2020,
pp. 1–6, doi: 10.1109/ICCCI48352.2020.9104202.
[4] M. Humberto, “Editor JSON Online,” 2018.
https://hl7latam.blogspot.com/2018/07/editor-json-
onlina.html (accessed Aug. 11, 2020).

También podría gustarte