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', '
[email protected]'); 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', '
[email protected]'); 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
[email protected] |
| 23 | C.Ficticia nº12, 1ºB | Sevilla
|
|
2 | Felipe | Gallardo Álvarez | 31 | C. Esta Mismo nº 5
| Villanueva del Ariscal |
[email protected] | +-----------+---------+-------------------+------+------------------------+------------------------+------------------+ 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:'
[email protected]'}) 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" : "
[email protected]" }
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 :