Comandos y Consultas en Bases de Datos: MongoDB, XQuery y SQL

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,8 KB

Consultas en MongoDB

1. Recuperar los usuarios que estén apuntados a los grupos "cine" y "teatro":

db.usuario.find({grupos:{$all:["cine", "teatro"]}})

2. Recuperar todos los hombres (sexo V), mostrando su Nombre, Apellidos y la fecha en que se registraron:

db.usuario.find({sexo:"V"}, {nombre:1, apellidos:1, fecha:1})

3. Insertar el nuevo usuario Jorge López Sevilla, con identificador 7, que no nos dice su edad, y que pertenece a los grupos "baloncesto", "cocina" y "novela histórica":

db.usuario.insert({"_id":NumberLong(7), "nombre":"Jorge", "apellidos":"López Sevilla", "sexo":"H", "grupos": ["baloncesto","cocina","novela histórica"]})

4. Juan García, con identificador 5, se da de baja. Escribir la sentencia para borrarlo:

db.usuario.remove({"_id":5})

5. La usuaria Beatriz, con identificador 6, se apunta a dos grupos, que son "novela histórica" y "baile". Escribir la sentencia para actualizar estos campos en su documento sin volver a informar el resto. Recuerde que los grupos se guardan como array:

db.usuario.update({"_id":6}, {$set: {"grupos": ["novela histórica","baile"]}})

Consultas en XQuery

1. Datos de las cuentas de tipo AHORRO:

for $x in doc('sucursales.xml')/sucursales/sucursal/cuenta where $x/@tipo='AHORRO' return $x

2. De cada sucursal, la concatenación de su código y el número de cuentas de ahorro que tiene:

for $suc in doc('sucursales.xml')/sucursales/sucursal let $cu := count($suc/cuenta[@tipo='AHORRO']) return concat(data($suc/@codigo),' - ',$cu)

3. El nombre de los directores, el código de sucursal y la población de las sucursales con más de 3 cuentas:

for $suc in /sucursales/sucursal where count($suc/cuenta)>3 return {data($suc/@codigo)} {$suc/director} {$suc/poblacion}

4. Por cada zona, el número de productos que tiene:

for $zona in distinct-values(/productos/producto/cod_zona) let $numProductos := count(/productos/producto[cod_zona=$zona]) return concat('Código Zona: ', $zona, '. Productos en venta: ', $numProductos)

Afirmaciones sobre SQL y Bases de Datos

  • El SQL es un lenguaje universal que se emplea en cualquier sistema gestor de bases de datos relacional. Verdadero
  • La integridad referencial consiste en que una clave ajena no puede contener un valor no nulo que no exista en la tabla de referencia. Verdadero
  • Para leer un fichero binario se necesita un programa específico. Verdadero
  • El nivel de aislamiento más restrictivo es Serializable. Verdadero
  • En JDBC, para ejecutar una consulta con parámetros, antes de ejecutar la consulta se rellenan los parámetros. Verdadero
  • La lectura incompleta es un efecto secundario que puede generar la concurrencia. Falso
  • Para ejecutar una consulta con parámetros utilizando JDBC, puedo utilizar una PreparedStatement. Verdadero
  • Una transacción se confirma y revierte con Commit/Rollback. Verdadero
  • Usando mapeo objeto-relacional se reduce el tiempo de desarrollo de las aplicaciones. Verdadero

Entradas relacionadas: