Trabajos de Ampliación. Bases de Datos NoSQL. CREACIÓN Y MANEJO MANEJO BASE DE DATOS BIBLIOTECA MySQL. CREATE SCHEMA Biblioteca; USE Biblioteca; CREATE TABLE `Usuarios` ( `idUsuario` int(11) NOT NULL AUTO_INCREMENT, `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, PRIMARY KEY (`idUsuario`) )ENGINE=InnoDB; CREATE TABLE Libros ( `idLibro` int(11) NOT NULL AUTO_INCREMENT, `Titulo` varchar(30) NOT NULL, `Autor` varchar(50) NOT NULL, `Genero` varchar(30) DEFAULT NULL, `FechaEntrada` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`idLibro`) ) ENGINE=InnoDB; Autores Agustín Hidalgo Cotán Felipe Gallardo Álvarez : Trabajos de Ampliación. Bases de Datos NoSQL. CREATE TABLE Alquileres ( `idAlquiler` int(11) NOT NULL AUTO_INCREMENT, `idUsuario` int(11) NOT NULL, `idLibro` int(11) NOT NULL, `FechaAlquiler` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `Devuelto` tinyint(1) DEFAULT NULL, PRIMARY KEY (`idAlquiler`), KEY `Usuario` (`idUsuario`), KEY `Libro` (`idLibro`), CONSTRAINT `Libro` FOREIGN KEY (`idLibro`) REFERENCES `Libros` (`idLibro`), CONSTRAINT `Usuario` FOREIGN KEY (`idUsuario`) REFERENCES `Usuarios` ( `idUsuario`) ) ENGINE=InnoDB; Inserts -----> mysql> INSERT INTO Usuarios (Nombre, Apellidos, Edad, Direccion, Ciudad, CorreoElectronico) -> VALUES ('Agustin', 'Hidalgo Cotán', 23, 'C.Ficticia nº12, 1ºB', 'Sevilla', 'agu@agu.es'); Query OK, 1 row affected (0.07 sec); mysql> INSERT INTO Usuarios (Nombre, Apellidos, Edad, Direccion, Ciudad, CorreoElectronico) VALUES ('Felipe', 'Gallardo Álvarez', 31, 'C. Esta Mismo nº 5', 'Villanueva del Ariscal', 'felipe@felipe.com'); Query OK, 1 row affected (0.07 sec) Autores Agustín Hidalgo Cotán Felipe Gallardo Álvarez : Trabajos de Ampliación. Bases de Datos NoSQL. mysql> select * from Usuarios; +-----------+---------+-------------------+------+------------------------+------------------------+------------------+ | idUsuario | Nombre | Apellidos | Edad | Direccion | Ciudad | CorreoElectronico | +-----------+---------+-------------------+------+------------------------+------------------------+------------------+ | 1 | Agustin | Hidalgo Cotán agu@agu.es | | 23 | C.Ficticia nº12, 1ºB | Sevilla | | 2 | Felipe | Gallardo Álvarez | 31 | C. Esta Mismo nº 5 | Villanueva del Ariscal | felipe@felipe.com | +-----------+---------+-------------------+------+------------------------+------------------------+------------------+ 2 rows in set (0.00 sec) mysql> INSERT INTO Libros (Titulo, Autor, Genero) VALUES mejor', 'J. -> ('Linux es lo Maria Carazo', 'Sistemas Informáticos'); Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO Libros (Titulo, Autor, Genero) VALUES -> ('Bases de Datos NoSQL', 'J. Maria Carazo', 'Trabajos de Ampliacion'); Query OK, 1 row affected (1.95 sec) select * from Libros; +---------+----------------------+-----------------+------------------------+---------------------+ | idLibro | Titulo | Autor | Genero | FechaEntrada | +---------+----------------------+-----------------+------------------------+---------------------+ Autores Agustín Hidalgo Cotán Felipe Gallardo Álvarez : Trabajos de Ampliación. Bases de Datos NoSQL. | 1 | Linux es lo mejor | J. Maria Carazo | Sistemas Informáticos | 2013-05-13 13:19:45 | | 2 | Bases de Datos NoSQL | J. Maria Carazo | Trabajos de Ampliacion | 2013- 05-13 13:20:38 | +---------+----------------------+-----------------+------------------------+---------------------+ 2 rows in set (0.00 sec) mysql> INSERT INTO Alquileres (idUsuario, idlibro) -> VALUES (1, 2); Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO Alquileres (idUsuario, idlibro) VALUES (2, 1); Query OK, 1 row affected (0.08 sec) mysql> select * from Alquileres; +------------+-----------+---------+---------------------+----------+ | idAlquiler | idUsuario | idLibro | FechaAlquiler | Devuelto | +------------+-----------+---------+---------------------+----------+ | 1| 1| 2 | 2013-05-13 13:22:07 | NULL | | 2| 2| 1 | 2013-05-13 13:22:31 | NULL | +------------+-----------+---------+---------------------+----------+ 2 rows in set (0.00 sec) mysql> UPDATE Alquileres SET Devuelto=true where idAlquiler=1; Query OK, 1 row affected (2.23 sec) Rows matched: 1 Changed: 1 Warnings: 0 Autores Agustín Hidalgo Cotán Felipe Gallardo Álvarez : Trabajos de Ampliación. Bases de Datos NoSQL. mysql> select * from Alquileres; +------------+-----------+---------+---------------------+----------+ | idAlquiler | idUsuario | idLibro | FechaAlquiler | Devuelto | +------------+-----------+---------+---------------------+----------+ | 1| 1| 2 | 2013-05-13 13:23:56 | 1| | 2| 2| 1 | 2013-05-13 13:22:31 | NULL | +------------+-----------+---------+---------------------+----------+ 2 rows in set (0.00 sec) Autores Agustín Hidalgo Cotán Felipe Gallardo Álvarez : Trabajos de Ampliación. Bases de Datos NoSQL. Mongo DB use Biblioteca db.usuarios.insert({name:'Agustin', apellidos:'Hidalgo Cotán', edad:23, ciudad:'Sevilla', telefono:954954954}) db.usuarios.insert({name:'Felipe', apellidos:'Gallardo Álvarez', edad:31, direccion:'C. Maria galiana, 5', ciudad:'Sevilla', telefono:954954954, correo:'estemismo@es.es'}) db.libros.insert({titulo:'Linux es lo mejor', ISBN:65465685, autor:'J. María Carazo', fechaEntrada:'15-05-2013'}) db.libros.insert({titulo:'Bases de Datos NoSQL', autor:'J. María Carazo', fechaEntrada:'17- 05-2013', edicion: 1}) db.alquileres.insert({usuario:'Agu', libro:'Linux es lo mejor', fechaAlquiler:'14/05/2013', devuelto:'no'}) db.alquileres.insert({usu:'felipe', libro:'Linux es lo mejor', fecha:'13/05/2013', devuelto: 'si'}) Así quedarían guardados en la base de Datos db.usuarios.find() { "_id" : ObjectId("5191587730a776c46d0c298e"), "name" : "Agustin", "apellidos" : "Hidalgo Cotán", "edad" : 23, "ciudad" : "Sevilla", "telefono" : 954954954 } { "_id" : ObjectId("5191587d30a776c46d0c298f"), "name" : "Felipe", "apellidos" : "Gallardo Álvarez", "edad" : 31, "direccion" : "C/ Maria galiana, 5", "ciudad" : "Sevilla", "telefono" : 954954954, "correo" : "estemismo@es.es" } Autores Agustín Hidalgo Cotán Felipe Gallardo Álvarez : Trabajos de Ampliación. Bases de Datos NoSQL. db.alquileres.find() { "_id" : ObjectId("519159ba30a776c46d0c2992"), "usuario" : "Agu", "libro" : "Linux es lo mejor", "fechaAlquiler" : "14/05/2013", "devuelto" : "no" } { "_id" : ObjectId("519159ef30a776c46d0c2993"), "usu" : "felipe", "libro" : "Linux es lo mejor", "fecha" : "13/05/2013", "devuelto" : "si" } db.libros.find() { "_id" : ObjectId("5191590d30a776c46d0c2990"), "titulo" : "Linux es lo mejor", "ISBN" : 65465685, "autor" : "J. María Carazo", "fechaEntrada" : "15-05-2013" } { "_id" : ObjectId("5191593530a776c46d0c2991"), "titulo" : "Bases de Datos NoSQL", "autor" : "J. María Carazo", "fechaEntrada" : "17-05-2013", "edicion" : 1 } Autores Agustín Hidalgo Cotán Felipe Gallardo Álvarez :