Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 5.44 KB | None | 0 0
  1. CREATE DATABASE subconsulta;
  2.  
  3. USE subconsulta;
  4.  
  5.  
  6. #----------------------------------------------------------------------------
  7. # CRIAÇÃO DE TABELAS
  8.  
  9. CREATE TABLE profissao (
  10.     id_profissao INTEGER NOT NULL AUTO_INCREMENT,
  11.     nome VARCHAR(45) NOT NULL,
  12.     PRIMARY KEY(id_profissao)
  13. );
  14.  
  15. CREATE TABLE cep (
  16.     num_cep VARCHAR(10) NOT NULL,
  17.     cidade VARCHAR(45) NOT NULL,
  18.     estado VARCHAR(2) NOT NULL,
  19.     PRIMARY KEY(num_cep)
  20. );
  21.  
  22. CREATE TABLE estado_civil (
  23.     id_estado_civil INTEGER NOT NULL AUTO_INCREMENT,
  24.     nome VARCHAR(45) NOT NULL,
  25.     PRIMARY KEY(id_estado_civil)
  26. );
  27.  
  28. CREATE TABLE meus_contatos (
  29.     id_contato INTEGER NOT NULL AUTO_INCREMENT,
  30.     sobrenome VARCHAR(40) NOT NULL,
  31.     prenome VARCHAR(30) NOT NULL,
  32.     telefone VARCHAR(20) NOT NULL,
  33.     email VARCHAR(40),
  34.     sexo VARCHAR(1),
  35.     aniversario DATE,
  36.     id_profissao INTEGER,
  37.     num_cep VARCHAR(10),
  38.     id_estado_civil INTEGER,
  39.     PRIMARY KEY(id_contato),
  40.     FOREIGN KEY(id_profissao) REFERENCES profissao(id_profissao),
  41.     FOREIGN KEY(num_cep) REFERENCES cep(num_cep),
  42.     FOREIGN KEY(id_estado_civil) REFERENCES estado_civil(id_estado_civil)
  43. );
  44.  
  45. CREATE TABLE emprego_desejado (
  46.     id_emprego_desejado INTEGER NOT NULL AUTO_INCREMENT,
  47.     id_contato INTEGER NOT NULL,
  48.     cargo VARCHAR(40) NOT NULL,
  49.     salario_minimo FLOAT NOT NULL,
  50.     salario_maximo FLOAT,
  51.     disponibilidade VARCHAR(40),
  52.     anos_experiencia TINYINT, # 0 a 255 no maximo
  53.     PRIMARY KEY(id_emprego_desejado),
  54.     FOREIGN KEY(id_contato) REFERENCES meus_contatos(id_contato)
  55. );
  56.  
  57. CREATE TABLE emprego_atual (
  58.     id_contato INTEGER NOT NULL,
  59.     cargo VARCHAR(40) NOT NULL,
  60.     salario FLOAT NOT NULL,
  61.     data_inicio DATE,
  62.     PRIMARY KEY(id_contato),
  63.     FOREIGN KEY(id_contato) REFERENCES meus_contatos(id_contato)
  64. );
  65.  
  66. CREATE TABLE interesses (
  67.     id_interesse INTEGER NOT NULL AUTO_INCREMENT,
  68.     interesse VARCHAR(30),
  69.     PRIMARY KEY(id_interesse)
  70. );
  71.  
  72. CREATE TABLE contato_interesse (
  73.     id_contato INTEGER NOT NULL,
  74.     id_interesse INTEGER NOT NULL,
  75.     PRIMARY KEY(id_contato, id_interesse),
  76.     FOREIGN KEY(id_contato) REFERENCES meus_contatos(id_contato),
  77.     FOREIGN KEY(id_interesse) REFERENCES interesses(id_interesse)
  78. );
  79.  
  80. CREATE TABLE procura (
  81.     id_procura INTEGER NOT NULL AUTO_INCREMENT,
  82.     procura VARCHAR(30),
  83.     PRIMARY KEY(id_procura)
  84. );
  85.  
  86. CREATE TABLE contato_procura (
  87.     id_contato INTEGER NOT NULL,
  88.     id_procura INTEGER NOT NULL,
  89.     PRIMARY KEY(id_contato, id_procura),
  90.     FOREIGN KEY(id_contato) REFERENCES meus_contatos(id_contato),
  91.     FOREIGN KEY(id_procura) REFERENCES procura(id_procura)
  92. );
  93.  
  94. CREATE TABLE lista_empregos(
  95.     id_emprego INTEGER NOT NULL AUTO_INCREMENT,
  96.     cargo VARCHAR(40) NOT NULL,
  97.     salario FLOAT NOT NULL,
  98.     num_cep VARCHAR(10),
  99.     descricao TEXT,
  100.     PRIMARY KEY(id_emprego),
  101.     FOREIGN KEY(num_cep) REFERENCES cep(num_cep)
  102. );
  103.  
  104. #----------------------------------------------------------------------------
  105. # INSERÇÃO DE VALORES
  106.  
  107. INSERT INTO profissao (nome) VALUES
  108.     ("Pedreiro"),
  109.     ("Médico"),
  110.     ("Eletricista"),
  111.     ("Carpinteiro");
  112.  
  113. INSERT INTO cep VALUES
  114.     ("35570-000", "Formiga", "MG"),
  115.     ("38459-170", "Sabará", "MG"),
  116.     ("15679-562", "Cubatão", "SP"),
  117.     ("45698-125", "Santos", "SP");
  118.  
  119. INSERT INTO estado_civil (nome) VALUES
  120.     ("Solteiro"),
  121.     ("Casado"),
  122.     ("Viúvo"),
  123.     ("Divorciado");
  124.  
  125. INSERT INTO interesses (interesse) VALUES
  126.     ("Natação"),
  127.     ("Cozinhar"),
  128.     ("Ciclismo"),
  129.     ("Computadores");
  130.  
  131. INSERT INTO meus_contatos
  132. (sobrenome, prenome, telefone, email, sexo, aniversario, id_profissao, num_cep, id_estado_civil) VALUES
  133.     ("da Silva", "Carlos", "3322-1565", "carlos@gmail.com", "M", "2000-10-5", 1, "35570-000", 4),
  134.     ("Menezes", "José", "3321-8998", "jose@hotmail.com", "M", "1970-10-11", 2, "45698-125", 1),
  135.     ("dos Santos", "Maria", "3321-8998", "mariasantos@gmail.com", "F", "1993-05-20", 3, "38459-170", 2),
  136.     ("Assis", "Joana", "3321-7855", "joanaassis@gmail.com", "F", "1950-03-05", 2, "15679-562", 3),
  137.     ("Seixas", "Raul", "2115-8998", "seixas.raul@gmail.com", "M", "1960-03-15", 3, "35570-000", 3),
  138.     ("Camargo", "Marcos", "1587-8989", "carmargom@gmail.com", "M", "1975-05-20", 3, "38459-170", 3),
  139.     ("das Cruzes", "Beatriz", "1123-6565", "biacruz@gmail.com", "F", "1992-06-27", 1, "35570-000", 3),
  140.     ("Pereira", "Tatiana", "4545-8978", "tatipereira@gmail.com", "F", "1984-07-19", 1, "15679-562", 3);
  141.    
  142. INSERT INTO contato_interesse (id_contato, id_interesse) VALUES
  143.     (1, 2),
  144.     (2, 3),
  145.     (1, 4),
  146.     (3, 1),
  147.     (4, 4),
  148.     (4, 2);
  149.    
  150. INSERT INTO emprego_atual VALUES
  151. (1, "Assistente", 3500, "2010-10-05"),
  152. (2, "Plantonista", 10750, "2005-09-30"),
  153. (3, "Engenheiro", 7120, "2016-12-05"),
  154. (4, "Cirurgião", 9123, "2000-03-15"),
  155. (5, "Engenheiro", 6535, "2014-05-10"),
  156. (6, "Cirurgião", 10750, "2005-08-20");
  157.  
  158. INSERT INTO emprego_desejado (id_contato, cargo, salario_minimo, salario_maximo, disponibilidade, anos_experiencia) VALUES
  159. (1, "Assistente Senior", 5000, 8000, "Integral", 8),
  160. (2, "Cirurgião", 10000, 15000, "De 13:00 às 20:00", 13),
  161. (3, "Engenheiro Chefe", 8500, 12000, "40 horas semanais", 2),
  162. (4, "Cirurgião Chefe", 15000, 20000, "Integral", 18);
  163.  
  164. INSERT INTO lista_empregos (cargo, salario, num_cep, descricao) VALUES
  165. ("Programador", 7000, "35570-000", "Programador com experiência em Python."),
  166. ("Programador", 5500, "35570-000", "Programador com experiência em Java."),
  167. ("Cirurgião", 11000, "15679-562", "Cirurgião com especialização."),
  168. ("Engenheiro Chefe", 9000, "45698-125", "Engenheiro de minas."),
  169. ("Administrador", 15000, "45698-125", "Administrador com experiência em BD.");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement