MongoDB scripts

Anuncio
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
:
Descargar