La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Construcción de elementos de Software 4 MSc. Oscar Mauricio Salazar Ospina MSc Juan Camilo Jaramillo Alzate 15/05/2019Programación distribuida y paralela1.

Presentaciones similares


Presentación del tema: "Construcción de elementos de Software 4 MSc. Oscar Mauricio Salazar Ospina MSc Juan Camilo Jaramillo Alzate 15/05/2019Programación distribuida y paralela1."— Transcripción de la presentación:

1 Construcción de elementos de Software 4 MSc. Oscar Mauricio Salazar Ospina MSc Juan Camilo Jaramillo Alzate 15/05/2019Programación distribuida y paralela1

2 15/05/2019Programación distribuida y paralela2

3 Instalación en Windows 15/05/2019Programación distribuida y paralela3 1.Descargar el instalador aquí.aquí 2.Iniciar instalador como administrador. 3.Crear carpeta de almacenamiento y configuración MongoDB: Ejecute el comando en la consola: md \data\db 4.Iniciar el servidor: C:\mongodb\bin\mongod.exe 5.Iniciar el cliente: C:\mongodb\bin\mongo.exe

4 ¿Por qué usar NoSQl? 15/05/2019Programación distribuida y paralela4 Es rápido y funcional Es fácil de entender y de probar Alta escalabilidad comparado con los sistemas de bases de datos relacionales RDBMS. Alta disponibilidad y flexibilidad Soporte para casi todos los lenguajes

5 Características Se basa en colecciones y documentos. 15/05/2019Programación distribuida y paralela5 Colecciones Documentos

6 Relacional RDBMS vs NoSQL RDBMSMongo DB Base de datos TablaColección Índice FilaDocumento JSON ColumnaCampo del documento JoinDocumentos embebidos y búsqueda 15/05/2019Programación distribuida y paralela6

7 Crear una base de datos 15/05/2019Programación distribuida y paralela7 use base_datos; Nombre de la base de datos CREATE DATABASE base_datos; Relacional SQLNoSQL

8 Crear un documento Crear un documento. 15/05/2019Programación distribuida y paralela8 usuario = { nombre: "Oscar", apellido: “Salazar", edad: 27, estatura: 1.78 }; NoSQL Relacional SQL Flexible y muy fácil de usar! Poco flexible, Ligado a la estructura! TABLA + INSERT

9 Insertar un documento en una colección 15/05/2019Programación distribuida y paralela9 db.usuarios.insert(usuario); BD actual Colección Documento CREATE TABLE usuarios ( id int primary key, nombre varchar(255) not null, apellido varchar(255) not null, edad int not null, estatura float not null ); Relacional SQLNoSQL INSERT INTO usuarios(id,nombre, apellido, edad, estatura) VALUES (1,”Oscar”, “Salazar”, 27, 1.78)

10 Insertar múltiples documentos 15/05/2019Programación distribuida y paralela10 db.usuarios.insert([usuario1, usuario2]); BD actual Colección Documentos

11 Seleccionar documentos de una colección 15/05/2019Programación distribuida y paralela11 db.usuarios.find (); BD actual Colección Operador Relacional SQL NoSQL SELECT * FROM usuarios

12 15/05/2019Programación distribuida y paralela12 var usuario = db.usuarios.findOne(); BD actual Colección Operador { "_id" : ObjectId("59c3331d45953192e2928d50"), nombre: "Oscar", apellido: “Salazar", edad: 27, estatura: 1.78 } Identificador único autogenerado Relacional SQL SELECT TOP 1 FROM usuarios NoSQL Seleccionar un documento de una colección

13 Cláusula Where 15/05/2019Programación distribuida y paralela13 db.usuarios.findOne({nombre: ”Oscar”},{apellido:true}); BD actual Colección Proyección Condicional Case sensitive SELECT apellido FROM usuarios WHERE nombre = “Oscar” Relacional SQL NoSQL

14 Cláusula Where Not 15/05/2019Programación distribuida y paralela14 var usuario = db.usuarios.find({nombre: {$ne : ”Oscar”}}); BD actual Colección Operador Operador desigualdad SELECT * FROM usuarios WHERE nombre <> “Oscar” Relacional SQL

15 15/05/2019Programación distribuida y paralela15 Operadores de comparación: OperadorExpresión Igual$eq Diferente$ne Mayor que$gt Mayor o igual que$gte Menor que$lt Menor o igual que$lte Existencia en array$in Inexistencia en array$nin

16 Cláusula AND 15/05/2019Programación distribuida y paralela16 Relacional SQL SELECT * FROM usuarios WHERE nombre = “Oscar” AND apellido = “Salazar” NoSQL db.usuarios.find({nombre:”Oscar”, apellido:”Salazar”}); BD actual Colección

17 Cláusula OR 15/05/2019Programación distribuida y paralela17 db.usuarios.find({$or:[{nombre:”Oscar”},{apellido:”Salazar”}]}); BD actual Colección NoSQL Relacional SQL SELECT * FROM usuarios WHERE nombre = “Oscar” OR apellido = “Salazar”

18 Cláusula Order By 15/05/2019Programación distribuida y paralela18 db.usuarios.find().sort({“nombre”:1,”edad”:1}) BD actual Colección NoSQL Relacional SQL SELECT * FROM usuarios ORDER BY nombre, edad ASC SELECT * FROM usuarios ORDER BY nombre, edad DESC 1 para ordenar Ascendente -1 para ordenar Descendente

19 Actualizar documentos 15/05/2019Programación distribuida y paralela19 Relacional SQL UPDATE usuarios SET nombre = “Jorge” Where nombre = “Oscar” NoSQL db.usuarios.update({“nombre”:”Oscar”},{$set:{“nombre”:”Jorge”}})

20 Actualizar múltiples documentos 15/05/2019Programación distribuida y paralela20 Relacional SQL UPDATE usuarios SET nombre = “Jorge” NoSQL db.usuarios.update({“nombre”:”Oscar”}, {$set:{“nombre”:”Jorge”}}, {multi:true})

21 Eliminar un documento 15/05/2019Programación distribuida y paralela21 Relacional SQL DELETE FROM usuarios WHERE nombre = “Jorge” NoSQL db.usuarios.remove({“nombre”:”Oscar”}) db.usuarios.remove({ }) Remueve todos los documentos de una colección DELETE FROM usuarios

22 Eliminar una colección 15/05/2019Programación distribuida y paralela22 Relacional SQL DROP TABLE usuarios NoSQL db.usuarios.drop()

23 Like: contiene, comienza y termina 15/05/2019Programación distribuida y paralela23 Relacional SQL SELECT * FROM TABLE usuarios WHERE nombre LIKE ‘%Oscar%’ NoSQL SELECT * FROM TABLE usuarios WHERE nombre LIKE ‘Oscar%’ SELECT * FROM TABLE usuarios WHERE nombre LIKE ‘%Oscar’ db.usuarios.find({nombre: /Oscar/}); db.usuarios.find({nombre: /^Oscar/}); db.usuarios.find({nombre: /Oscar$/});

24 Between 15/05/2019Programación distribuida y paralela24 Relacional SQL SELECT * FROM TABLE usuarios WHERE edad BETWEEN 20 AND 30 NoSQL db.usuarios.find({edad: {$gte:20,$lte:30}}); SELECT * FROM TABLE usuarios WHERE edad>=20 AND edad <30 db.usuarios.find({edad: {$gte:20,$lt:30}});

25 DISTINCT 15/05/2019Programación distribuida y paralela25 Relacional SQL SELECT DISTINCT nombre FROM TABLE usuarios NoSQL db.usuarios.distinct(“nombre”);

26 Group By https://docs.mongodb.com/manual/reference /operator/aggregation/group/ https://docs.mongodb.com/manual/reference /operator/aggregation/group/ 15/05/2019Programación distribuida y paralela26

27 Documentos embebidos 15/05/2019Programación distribuida y paralela27

28 JOINS, función $lookup https://docs.mongodb.com/manual/reference /operator/aggregation/lookup/ https://docs.mongodb.com/manual/reference /operator/aggregation/lookup/ 15/05/2019Programación distribuida y paralela28

29 Map Reduce https://docs.mongodb.com/manual/tutorial/ map-reduce-examples/ https://docs.mongodb.com/manual/tutorial/ map-reduce-examples/ 15/05/2019Programación distribuida y paralela29

30 Programación distribuida y paralela MSc. Oscar Mauricio Salazar Ospina 15/05/2019Programación distribuida y paralela30


Descargar ppt "Construcción de elementos de Software 4 MSc. Oscar Mauricio Salazar Ospina MSc Juan Camilo Jaramillo Alzate 15/05/2019Programación distribuida y paralela1."

Presentaciones similares


Anuncios Google