Advertisement
kauemaia

ExercicioSQL

Jul 29th, 2015
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. /* Criar tabelas... */
  2. CREATE TABLE empresa(
  3. id_empresa INTEGER UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  4. empresa VARCHAR(64) NOT NULL UNIQUE KEY
  5. );
  6.  
  7. CREATE TABLE usuario(
  8. id_usuario INTEGER UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  9. email VARCHAR(64) NOT NULL UNIQUE KEY,
  10. senha VARCHAR(20) NOT NULL,
  11. fk_empresa INTEGER UNSIGNED,
  12. CONSTRAINT fk_empresa_usuario
  13. FOREIGN KEY(fk_empresa)
  14. REFERENCES empresa(id_empresa)
  15. ON UPDATE CASCADE
  16. );
  17.  
  18. CREATE TABLE ponto(
  19. id_ponto INTEGER UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  20. fk_usuario INTEGER UNSIGNED NOT NULL,
  21. entrada DATETIME NOT NULL DEFAULT NOW(),
  22. saida DATETIME,
  23. CONSTRAINT fk_usuario_ponto
  24. FOREIGN KEY(fk_usuario)
  25. REFERENCES usuario(id_usuario)
  26. ON UPDATE CASCADE
  27. );
  28.  
  29.  
  30. /* Povoar tabelas com exemplos... */
  31. INSERT INTO empresa
  32. (empresa) VALUES
  33. ("Gmail"),
  34. ("InJunior")
  35. ;
  36.  
  37. INSERT INTO usuario
  38. (email,senha,fk_empresa) VALUES
  39. ("kaue.maia@gmail.com","Senha",2),
  40. ("igor.martire@injunior.com.br","OutraSenha",2),
  41. ("nicholas.barcelos@injunior.com.br","SenhaRepetida",2),
  42. ("edoarda@id.uff.br","SenhaRepetida", NULL),
  43. ("MrNull@id.uff.br","Null", NULL)
  44. ;
  45.  
  46. INSERT INTO ponto
  47. (fk_usuario,entrada,saida) VALUES
  48. (1,"2015-07-27 09:00:00","2015-07-27 16:55:12"),
  49. (2,"2015-07-27 09:00:00","2015-07-28 17:05:00"),
  50. (4,"2015-07-27 09:00:00","2015-07-27 16:55:12"),
  51. (1,"2015-07-28 09:07:40", NULL),
  52. (2,"2015-07-28 12:30:00","2015-07-28 19:05:00"),
  53. (3,"2015-07-28 09:00:00","2015-07-28 18:17:00")
  54. ;
  55.  
  56.  
  57. /* Consultar cada informacao de cada usuario... */
  58. SELECT
  59. email,
  60. empresa,
  61. entrada,
  62. saida
  63. FROM
  64. usuario
  65. LEFT JOIN empresa
  66. ON id_empresa=fk_empresa
  67. LEFT JOIN ponto
  68. ON id_usuario=fk_usuario
  69. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement