Trabajos de Ampliación. Bases de datos NoSQL.



Documentos relacionados
T12 Vistas y tablas temporales

Bases de datos relacionales y el modelo entidad-relación

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

PHP Perfect SQL v1.0 (SQL perfectas en PHP)

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

SQL (Structured Query Language)

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Consultas con combinaciones

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

6 - Recuperar algunos registros (where)

5- Uso de sentencias avanzadas

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

USANDO SQL. EN BASE DE Ooo.

1. DML. Las subconsultas

Módulo 8: Ofimática básica. Unidad didáctica 2: Conceptos fundamentales en un gestor de base de datos. Access

CONSULTAS BASICAS EN SQL SERVER

EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS

Acceso a bases de datos MySQL con PHP

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Base de Datos Práctica 1.

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Tema 4. Manipulación de datos con SQL

Tablas y Campos Nuevos

Restricciones de Integridad

Gobierno del Estado de México

Base de datos relacional

6- Combinación de tablas

Base de datos I Facultad de Ingeniería. Escuela de computación.

Restricciones (constraints) FOREIGN KEY

Base de datos en Excel

INDICE. 1. Introducción El panel Entities view El panel grafico Barra de botones Botones de Behavior...

Introducción a PostgreSQL con PHP

Formatos para prácticas de laboratorio

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

MANUALITO MS-SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER

MANUAL COPIAS DE SEGURIDAD

Construcción de una aplicación web para crear un sistema de encuestas con la tecnología PHP y la base de datos MySQL.

Práctica 3. Consultas SQL

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

A.1. Definiciones de datos en SQL

2- Intente crear una tabla llamada "clientes" UTILIZANDO el modo de Consulta, en el modo SQL :

Base de datos en la Enseñanza. Open Office

MANUAL DE INSTALACIÓN

SOLUCIÓN CASO GESTIÓN DE PERSONAL I

MANUAL BÁSICO DEL LENGUAJE SQL

Gestión de Retales WhitePaper Noviembre de 2009

BASES DE DATOS AVANZADAS Transacciones en MYSQL

vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc

- Bases de Datos - - Diseño Físico - Luis D. García

COLEGIO APUNTES ACCESS

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

Operación Microsoft Access 97

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

Toda base de datos relacional se basa en dos objetos

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

Patrones para persistencia (I) Ingeniería del Software II

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

Ejercicios - Persistencia en Android: ficheros y SQLite

Universidad de Zaragoza Manual de Usuario

SQL básico. SQL básico 1. Contenido

Vistas en postgresql

Tema: MAPEO OBJETO RELACIONAL (ORM) - ADODB

Guía de uso del Cloud Datacenter de acens

4- Uso de sentencias para el envió y extracción de datos

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

BASE DE DATOS RELACIONALES

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Incidencias: Todas las incidencias que ocurrirán durante el apadrinamiento de un niño se deben registrar para poder buscar soluciones.

Manual de usuario Noticias y Accesos Directos en Facultades ÍNDICE

Bases de datos en Excel

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Principios de diseño de bases de datos. Introducción

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

MANUAL BÁSICO DE MySQL

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

6.1. Conoce la papelera

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

Sincronización del Servidor.

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

Metadatos en Plataformas ECM

Modulo 1 El lenguaje Java

Guí a Ra pida Dropbox.

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

Operaciones con bases de

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

Teórico 9 Del MER al MR

Sistema de Facturación de Ventas en PrefSuite 2008 WhitePaper Abril de 2011

Ejemplo de tipo fijo CALCULADOR CONTABLE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

Bases de datos: Sistemas de bases de datos:

Transcripción:

BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos y funcionan con mayor rapidez a la hora de solicitar datos. Estas bases de datos son montadas normalmente en clusters, es decir, se alojan en la RAM no en el disco duro, por lo que llevan a cabo las operaciones en nanosegundos en lugar de milisegundos. Diferencias entre Bases de datos NoSql y Sql: Para facilitar la comprensión de las NoSql conviene hacer ciertas asociaciones primero: 1) Una base de datos NoSql está compuesta de colecciones, lo que equivaldría a tablas en las SQL. 2) Las colecciones están compuestas por documentos, que equivaldrían a los registros 3) Los documentos están formados por campos, que equivaldrían a las columnas de las filas 4) En las NoSql los campos pueden ser indexados. Su funcionamiento es el mismo que en las SQL La principal diferencia entre ambas es la estructuración de los datos. En las bases de datos Sql la estructura de datos se define a nivel de tablas, por lo que todos los registros de la tabla tendrán la misma estructura. En las bases de datos NoSql la estructura de datos se define a nivel de documento, por lo que cada registro tendrá una estructura de datos propia. En esta característica es donde radica la versatilidad de estas bases de datos. La otra gran diferencia es que las bases de datos NoSql NO son relacionales por lo que es el programador el que tiene que garantizar la integridad de datos. MongoDB Es un motor de base de datos perteneciente a la familia NoSql. Guarda los datos en documentos JSON y su manejo se lleva a cabo ejecutando funciones JavaScript.

Para comprender mejor su funcionamiento realizaremos un ejemplo de creación y utilización de una base de datos en MongoDB y también en SQL. Ejemplo de Biblioteca: En SQL crearíamos la base de datos de la siguiente forma: CREATE SCHEMA IF NOT EXISTS Biblioteca; USE Biblioteca; En MongoDB no existen instrucciones CREATE, sino que las bases de datos y las colecciones se crean automáticamente cuando hacemos uso de ellas. Por tanto para crear la base de datos se haría de la siguiente forma: use Biblioteca; NOTA: Esta base de datos se crea de manera temporal, es decir, no quedará registrada en mongo hasta que creemos al menos una colección en ella, igualmente la colección no quedará registrada hasta que se introduzca algún documento en ella

Para crear una tabla en SQL: CREATE TABLE Usuarios( idusuario int auto_increment NOT NULL PRIMARY KEY, Nombre varchar(30) NOT NULL, Apellidos varchar(50) NOT NULL, Edad int(11) NOT NULL, Direccion varchar(100) NOT NULL, Ciudad varchar(30) NOT NULL, CorreoElectronico varchar(50) DEFAULT null ) ENGINE=InnoDB; En MongoDB no hay instrucción para crear una colección, sino que se insertan documentos en ella directamente. Recordemos que MongoDB crea bases de datos no relacionales, por lo que es el programador el que tiene que garantizar la integridad de datos. Insertar registros o documentos: Como se menciona antes, en las bases de datos SQL la estructura de datos se define a nivel de tabla, por lo que los insert se construyen siempre con el mismo patrón, pudiéndose obviar aquellos campos que puedan ser nulos o que sean auto numéricos. Un Ejemplo de insert en la tabla anterior sería: INSERT INTO usuarios (Nombre,Apellidos,Edad,Direccion,Ciudad,CorreoElectronico) VALUES ('Agustin','Hidalgo Cotán',23,'C. Ficticia N12 1B','Sevilla', 'prueba@gmail.com'); Sin embargo en MongoDb, al estar la estructura de datos definida a nivel de documento, puedo insertar usuarios que no tengan correo, o que tengan un número de teléfono, etc. Ejemplo: db.usuarios.insert({name: 'Agustin',apellidos: 'Hidalgo Cotan', edad: 23,... ciudad: 'Sevilla', telefono: 954123456});

Actualizaciones (Updates): Como sabemos, en las bases de datos SQL a la hora de ejecutar un UPDATE si queremos que afecte a unos registros determinados nos referimos a ellos mediante una cláusula WHERE. En las NoSql, incluido MongoDB, la cláusula WHERE es sustituida por los denominados selectores. Los selectores son pares campo: valor que hacen referencia a un registro. Si seguimos el ejemplo anterior un selector sería, por ejemplo, name: 'Agustin'. Se pueden incluir en una función varios selectores, para referirnos a uno o varios documentos. En primer lugar pongamos un ejemplo de UPDATE en sql: UPDATE usuarios SET Edad=25, Ciudad='Huelva' WHERE name LIKE 'Agustin'; Su homónimo en MongoDB sería: db.usuarios.update({name: 'Agustin',apellidos: 'Hidalgo Cotan'},{edad: 25, ciudad: Huelva }); En este caso {name: 'Agustin', apellidos: 'Hidalgo Cotan'} serían los selectores. Sin embargo este tipo de UPDATE tiene un inconveniente. Mientras que el UPDATE de SQL actualiza los valores de los campos, el de Mongo sustituye los campos existentes en el registro que indican los selectores por los que se adjuntan en el UPDATE. Si lo que queremos es que simplemente actualice los valores de los campos tenemos que recurrir al operador $set, quedando el UPDATE de la siguiente forma: db.usuarios.update({name: 'Agustin',apellidos: 'Hidalgo Cotan'},{$set:{... edad: 25, ciudad: 'Huelva'}}); NOTA: si dentro del $set se pone un campo que no existía en el documento se crea dicho campo. Busquedas(Querys): Un ejemplo de Query en MySql sería: SELECT * FROM usuarios WHERE nombre LIKE Agustin En Mongodb la función que realiza búsquedas es la función find(). Al igual que en las bases de datos MySql si ejecuto: db.usuarios.find(); Mongo devolverá todo el contenido de la colección Para poder filtrar contenido de la colección se utilizan los selectores. Ejemplo:

db.usuarios.find({name: Agustin }); Borrar registros: Un ejemplo de Delete en Mysql sería: DELETE FROM usuarios WHERE name LIKE Agustin Recordemos que en MongoDb los registros son documentos. Al igual que en los casos anteriores si queremos borrar ciertos registros hemos de recurrir a los selectores: db.usuarios.remove({name : Agustin }); Borrar tablas: Para borrar una tabla en una base de datos MySql: DROP TABLE IF EXISTS usuarios; Para borrar una colección en MongoDb se usaría la siguiente función: db.drop_collection( usuarios ); Por último conviene resaltar que en MySql existe, como todos sabemos, la opción de actualizar tablas. Sin embargo esta posibilidad no se contempla en MongoDB porque, reiterando lo mencionado anteriormente, la estructura de datos se define a nivel de documento y no a nivel de colección. Este documento se centra en la comparativa de bases de datos MySql y NoSql y también en el funcionamiento y utilización básico de MongoDB, sin embargo este motor de bases de datos es mucho más profundo y complejo, teniendo posibilidades como crear nuestras propias funciones, realizar querys más avanzadas, crear subcolecciones dentro de colecciones, etc.