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