Advertisement
Guest User

Untitled

a guest
Oct 26th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 8.98 KB | None | 0 0
  1. CREATE DATABASE bd_blog_viernes;
  2.  
  3. USE bd_blog_viernes;
  4.  
  5. /* Tablas */
  6. CREATE TABLE privilegio(
  7.     id INT AUTO_INCREMENT,
  8.     descripcion VARCHAR(100),
  9.     PRIMARY KEY(id)
  10. ); -- Administrador, Moderador, Normal
  11.  
  12. CREATE TABLE etiqueta(
  13.     id INT AUTO_INCREMENT,
  14.     nombre VARCHAR(100),
  15.     PRIMARY KEY(id)
  16. );
  17.  
  18. CREATE TABLE pais(
  19.     id INT AUTO_INCREMENT,
  20.     nombre VARCHAR(100),
  21.     PRIMARY KEY(id)
  22. );
  23.  
  24. CREATE TABLE usuario(
  25.     id INT AUTO_INCREMENT,
  26.     nombre VARCHAR(100),
  27.     apellido_paterno VARCHAR(100),
  28.     apellido_materno VARCHAR(100),
  29.     nick VARCHAR(100),
  30.     contrasenia VARCHAR(100),
  31.     correo VARCHAR(100),
  32.     fecha_nacimiento DATE,
  33.     fk_pais INT,
  34.     fk_privilegio INT,
  35.     PRIMARY KEY(id),
  36.     FOREIGN KEY(fk_pais) REFERENCES pais(id),
  37.     FOREIGN KEY(fk_privilegio) REFERENCES privilegio(id),
  38.     UNIQUE(nick),
  39.     UNIQUE(correo)
  40. );
  41.  
  42. CREATE TABLE publicacion(
  43.     id INT AUTO_INCREMENT,
  44.     titulo VARCHAR(100),
  45.     mensaje VARCHAR(5000),
  46.     fecha DATETIME,
  47.     fk_usuario INT,
  48.     PRIMARY KEY(id),
  49.     FOREIGN KEY(fk_usuario) REFERENCES usuario(id)
  50. );
  51.  
  52. CREATE TABLE comentario(
  53.     id INT AUTO_INCREMENT,
  54.     texto TEXT,
  55.     fecha DATETIME,
  56.     fk_usuario INT,
  57.     fk_publicacion INT,
  58.     PRIMARY KEY(id),
  59.     FOREIGN KEY(fk_usuario) REFERENCES usuario(id),
  60.     FOREIGN KEY(fk_publicacion) REFERENCES publicacion(id)
  61. );
  62.  
  63. CREATE TABLE penalizado(
  64.     id INT AUTO_INCREMENT,
  65.     fk_castigado INT,
  66.     fk_verdugo INT,
  67.     fecha DATETIME,
  68.     motivo VARCHAR(1000),
  69.     fecha_alza DATETIME,
  70.     PRIMARY KEY(id),
  71.     FOREIGN KEY(fk_castigado) REFERENCES usuario(id),
  72.     FOREIGN KEY(fk_verdugo) REFERENCES usuario(id)
  73. );
  74.  
  75. CREATE TABLE publi_etiqueta(
  76.     id INT AUTO_INCREMENT,
  77.     fk_publicacion INT,
  78.     fk_etiqueta INT,
  79.     PRIMARY KEY(id),
  80.     FOREIGN KEY(fk_publicacion) REFERENCES publicacion(id),
  81.     FOREIGN KEY(fk_etiqueta) REFERENCES etiqueta(id)
  82. );
  83. /* Tablas */
  84.  
  85. /*insert de privilegio*/
  86. INSERT INTO privilegio VALUES(NULL, 'Adminstrador');
  87. INSERT INTO privilegio VALUES(NULL, 'Moderador');
  88. INSERT INTO privilegio VALUES(NULL, 'Normal');
  89.  
  90. /*insert de 10 etiquetas*/
  91.  
  92. INSERT INTO etiqueta VALUES(NULL, 'Deporte');
  93. INSERT INTO etiqueta VALUES(NULL, 'Computacion');
  94. INSERT INTO etiqueta VALUES(NULL, 'Rancagua');
  95. INSERT INTO etiqueta VALUES(NULL, 'Rancagua no existe');
  96. INSERT INTO etiqueta VALUES(NULL, 'Comida');
  97. INSERT INTO etiqueta VALUES(NULL, 'Derechos digitales');
  98. INSERT INTO etiqueta VALUES(NULL, 'Reclamos');
  99. INSERT INTO etiqueta VALUES(NULL, 'Importante');
  100. INSERT INTO etiqueta VALUES(NULL, 'Aliens');
  101. INSERT INTO etiqueta VALUES(NULL, 'Estay reptiliano');
  102.  
  103. INSERT INTO pais VALUES (NULL,'Chile');
  104. INSERT INTO pais VALUES (NULL,'Argentina');
  105. INSERT INTO pais VALUES (NULL,'México');
  106. INSERT INTO pais VALUES (NULL,'España');
  107. INSERT INTO pais VALUES (NULL,'Italia');
  108. INSERT INTO pais VALUES (NULL,'Francia');
  109. INSERT INTO pais VALUES (NULL,'Alemania');
  110. INSERT INTO pais VALUES (NULL,'China');
  111. INSERT INTO pais VALUES (NULL,'Rusia');
  112. INSERT INTO pais VALUES (NULL,'Inglaterra');
  113.  
  114. -- Tapia
  115. INSERT INTO usuario VALUES (NULL,'Patricio','Peréz','Pinto','pperezp','123456','patricioperez@gmail.com','1993-08-15','2','1');
  116. INSERT INTO usuario VALUES (NULL,'Flavio','Toro','Basso','fulvio','654321','fulvio12@gmail.com','1995-09-30','5','1');
  117. INSERT INTO usuario VALUES (NULL,'Felipe','Tapia','Rojas','footchicken','asd123','felipe.tapia@gmail.com','1947-03-23','7','1');
  118.  
  119. -- Torres
  120. INSERT INTO usuario VALUES (NULL, 'juancho', 'diaz', 'vergara', 'juanMadafaka', 'juan54321', 'anchooa@gmail.com', '1996-10-02', '3', '2');
  121. INSERT INTO usuario VALUES (NULL, 'lucario', 'soto', 'toro', 'lucasDIE', 'lucas54321', 'lucario123@gmail.com', '1996-08-22', '6', '2');
  122. INSERT INTO usuario VALUES (NULL, 'pomelo', 'schwarzenegger', 'bross', 'malditoschwarzenegger', 'pompom54321', 'pompom@gmail.com', '1995-5-07', '7', '2');
  123.  
  124. -- ICIN
  125. INSERT INTO usuario VALUES (NULL,'Cesar','Aros','Moraga','kirilink','cesararos','kirilinkpro@gmail.com','1999-09-13','5','3');
  126. INSERT INTO usuario VALUES (NULL,'José','Neo','Torres','Alukar','miakhalifa','joseneotorres@gmail.com','1996-05-19','7','3');
  127. INSERT INTO usuario VALUES (NULL,'Ethan','Izin','Arellano','Hiruma','cocacola','ethanhiruma@gmail.com','1997-03-26','2','3');
  128.  
  129. INSERT INTO publicacion VALUES (NULL,'Hola','Hola que tal, como andamos compare',now(),4);
  130. INSERT INTO publicacion VALUES (NULL,'El Mundo','El mundo es un lugar muy grande y mistico...eso gracias',now(),1);
  131. INSERT INTO publicacion VALUES (NULL,'Cumputación','La computación nos entrega una herramienta fundamental en la vida y la hace mas facil',NOW(),1);
  132. INSERT INTO publicacion VALUES (NULL,'Chao','Chao, Chavela,Chacabuco',now(),4);
  133.  
  134. INSERT INTO publicacion VALUES (NULL,'Haga esto 2 dias seguidos y quite las arugas de tu boca','para que quieres saber eso jaja saludo!!',NOW(), 2);
  135. INSERT INTO publicacion VALUES (NULL,'Haga esto para ganar 50 dolares diarios desde su casa ','para que quieres saber eso jaja saludo!!',NOW(), 7);
  136. INSERT INTO publicacion VALUES (NULL,'Haga esto cada mañana y luciras como de 20 años','para que quieres saber eso jaja saludo!!',NOW(),9);
  137.  
  138. INSERT INTO publicacion VALUES (NULL,'Wena profe','Profe regale unas decimas',now(),9);
  139. INSERT INTO publicacion VALUES (NULL,'Al tiro','no me apure',now(),6);
  140.  
  141. INSERT INTO publi_etiqueta VALUES (NULL,'1','1');
  142. INSERT INTO publi_etiqueta VALUES (NULL,'1','2');
  143. INSERT INTO publi_etiqueta VALUES (NULL,'1','3');
  144. INSERT INTO publi_etiqueta VALUES (NULL,'2','1');
  145. INSERT INTO publi_etiqueta VALUES (NULL,'2','2');
  146. INSERT INTO publi_etiqueta VALUES (NULL,'2','3');
  147.  
  148. insert into publi_etiqueta values(NULL, '9','1');
  149. insert into publi_etiqueta values(NULL, '9','2');
  150. insert into publi_etiqueta values(NULL, '9','3');
  151. insert into publi_etiqueta values(NULL, '9','10');
  152.  
  153. INSERT INTO publi_etiqueta VALUES(NULL, '7', '1');
  154. INSERT INTO publi_etiqueta VALUES(NULL, '7', '2');
  155. INSERT INTO publi_etiqueta VALUES(NULL, '8', '5');
  156. INSERT INTO publi_etiqueta VALUES(NULL, '8', '7');
  157. INSERT INTO publi_etiqueta VALUES(NULL, '8', '9');
  158.  
  159. INSERT INTO publi_etiqueta VAlUES(NULL , '3','1');
  160. INSERT INTO publi_etiqueta VAlUES(NULL , '3','2');
  161. INSERT INTO publi_etiqueta VAlUES(NULL , '3','3');
  162. INSERT INTO publi_etiqueta VAlUES(NULL , '3','4');
  163. INSERT INTO publi_etiqueta VAlUES(NULL , '4','10');
  164.  
  165. INSERT INTO publi_etiqueta VALUES (NULL, '5', '1');
  166. INSERT INTO publi_etiqueta VALUES (NULL, '5', '3');
  167. INSERT INTO publi_etiqueta VALUES (NULL, '5', '5');
  168. INSERT INTO publi_etiqueta VALUES (NULL, '5', '6');
  169. INSERT INTO publi_etiqueta VALUES (NULL, '6', '5');
  170. INSERT INTO publi_etiqueta VALUES (NULL, '6', '6');
  171. INSERT INTO publi_etiqueta VALUES (NULL, '6', '7');
  172. INSERT INTO publi_etiqueta VALUES (NULL, '6', '8');
  173.  
  174. INSERT INTO comentario VALUES(NULL,'Tengo miedo, mi homunculo acaba de decir "ESQUEEE HUMANO"',NOW(),1,3);
  175. INSERT INTO comentario VALUES(NULL,'El profe pato es dios, Salu4',NOW(),1,3);
  176. INSERT INTO comentario VALUES(NULL,'A mi polola aún no le llega la regla:( ESQUE',NOW(),1,3);
  177.  
  178. INSERT INTO penalizado VALUES(NULL,'2','5','2018-10-27','Tonto','2019-10-27');
  179. INSERT INTO penalizado VALUES(NULL,'3','7','2018-10-27','Necio','2019-10-27');
  180. INSERT INTO penalizado VALUES(NULL,'2','9','2018-10-27','Bobo','2019-10-27');
  181.  
  182. SELECT * FROM pais;
  183. SELECT * FROM publicacion;
  184. SELECT * FROM usuario;
  185.  
  186. -- DROP DATABASE bd_blog_viernes;
  187.  
  188.  
  189. /*1.- Mostrar id, nombre, nick y publicaciones
  190. del usuario número 3 ordenados por fecha de forma
  191. descendente*/
  192.  
  193. /*1.- Qué quiero mostrar (SELECT)*/
  194. /* usuario.id, usuario.nombre, usuario.nick, publicacion.id
  195. publicacion.titulo, publicacion.mensaje
  196. */
  197. /*2.- ¿Dónde estan los datos?
  198. además de los datos de condiciones
  199.  usuario, publicacion*/
  200.  
  201. /*3.- Unión (pk y fk)
  202. usuario.id = publicacion.fk_usuario
  203. */
  204. /*4.- Condiciones
  205. usuario.id = 3
  206. publicacion.fecha DESC
  207. */
  208.  
  209. SELECT
  210.     usuario.id,
  211.     usuario.nombre,
  212.     usuario.nick,
  213.     publicacion.id,
  214.     publicacion.titulo,
  215.     publicacion.mensaje
  216. FROM
  217.     usuario
  218. INNER JOIN
  219.     publicacion ON usuario.id = publicacion.fk_usuario
  220. WHERE
  221.     usuario.id = 9
  222. ORDER BY
  223.     publicacion.fecha DESC;
  224.    
  225.    
  226.    
  227.    
  228. SELECT
  229.     usuario.id,
  230.     usuario.nombre AS 'Usuario',
  231.     pais.nombre,
  232.     publicacion.id,
  233.     publicacion.titulo,
  234.     publicacion.mensaje,
  235.     publicacion.fecha,
  236.     etiqueta.nombre AS 'Etiqueta'
  237. FROM
  238.     pais
  239. INNER JOIN
  240.     usuario ON pais.id = usuario.fk_pais
  241. INNER JOIN
  242.     publicacion ON usuario.id = publicacion.fk_usuario
  243. INNER JOIN
  244.     publi_etiqueta ON publicacion.id = publi_etiqueta.fk_publicacion
  245. INNER JOIN
  246.     etiqueta ON etiqueta.id = publi_etiqueta.fk_etiqueta
  247. WHERE
  248.     pais.id = 3
  249. ORDER BY etiqueta.nombre DESC;
  250.  
  251.  
  252. SELECT
  253.     comentario.id,
  254.     comentario.texto,
  255.     comentario.fecha,
  256.     usuario.nombre,
  257.     usuario.nick,
  258.     pais.nombre
  259. FROM
  260.     pais
  261. INNER JOIN
  262.     usuario ON pais.id = usuario.fk_pais
  263. INNER JOIN
  264.     comentario ON usuario.id = comentario.fk_usuario;
  265.  
  266.  
  267. SELECT * FROM comentario;
  268.  
  269.  
  270. SELECT * FROM publicacion;
  271. SELECT * FROM usuario WHERE fk_pais = 3;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement