Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.05 KB | None | 0 0
  1. /* EXERCICIO */ Crie um sistema para oficina
  2.  
  3. CREATE DATABASE PROJETO;
  4.  
  5. USE PROJETO;
  6.  
  7. CREATE TABLE CLIENTE(
  8.     IDCLIENTE INT PRIMARY KEY AUTO_INCREMENT,
  9.     NOME VARCHAR(30) NOT NULL,
  10.     SEXO ENUM('M','F') NOT NULL,
  11.     ID_CARRO INT UNIQUE
  12. );
  13.  
  14. CREATE TABLE TELEFONE(
  15.     IDTELEFONE INT PRIMARY KEY AUTO_INCREMENT,
  16.     NUMERO VARCHAR(30) NOT NULL,
  17.     TIPO ENUM('CEL','RES','COM') NOT NULL,
  18.     ID_CARRO INT UNIQUE
  19. );
  20.  
  21. CREATE TABLE MARCA(
  22.     IDMARCA INT PRIMARY KEY AUTO_INCREMENT,
  23.     MARCA VARCHAR(30) UNIQUE
  24. );
  25.  
  26. CREATE TABLE CARRO(
  27.     IDCARRO INT PRIMARY KEY AUTO_INCREMENT,
  28.     MODELO VARCHAR(30) NOT NULL,
  29.     PLACA VARCHAR(10) NOT NULL UNIQUE,
  30.     ID_MARCAR INT UNIQUE
  31. );
  32.  
  33. CREATE TABLE COR(
  34.     IDCOR INT PRIMARY KEY AUTO_INCREMENT,
  35.     COR VARCHAR(30) UNIQUE
  36. );
  37.  
  38. CREATE TABLE CARRO_COR(
  39.     ID_CARRO INT,
  40.     ID_COR INT,
  41.     PRIMARY KEY (ID_CARRO,ID_COR)
  42. );
  43. /* CONSTRAINTS */
  44.  
  45. ALTER TABLE TELEFONE
  46. ADD CONSTRAINT FK_TELEFONE_CLIENTE
  47. FOREIGN KEY(ID_CLIENTE)
  48. REFERENCES CLIENTE(IDCLIENTE);
  49.  
  50. ALTER TABLE CLIENTE
  51. ADD CONSTRAINT FK_CLIENTE_CARRO
  52. FOREIGN KEY(ID_CARRO)
  53. REFERENCES CARRO(IDCARRO);
  54.  
  55. ALTER TABLE CARRO
  56. ADD CONSTRAINT FK_CARRO_MARCA
  57. FOREIGN KEY(ID_MARCAR)
  58. REFERENCES MARCA(IDMARCA);
  59.  
  60. ALTER TABLE CARRO_COR
  61. ADD CONSTRAINT FK_COR
  62. FOREIGN KEY(ID_COR)
  63. REFERENCES COR(IDCOR);
  64.  
  65. ALTER TABLE CARRO_COR
  66. ADD CONSTRAINT FK_CARRO
  67. FOREIGN KEY(ID_CARRO)
  68. REFERENCES CARRO(IDCARRO);
  69.  
  70. INSERT INTO CARRO VALUES(NULL,'POLO 1.6','GVO-1015',NULL);
  71. INSERT INTO CLIENTE VALUES(NULL,'DANIEL','M',1);
  72. INSERT INTO TELEFONE VALUES(NULL,'3331-3734','CEL',1);
  73. INSERT INTO MARCA VALUES(NULL,'VOLKSWAGEN');
  74. INSERT INTO COR VALUES(NULL,'PRETO');
  75. INSERT INTO CARRO_COR VALUES(1,1);
  76. UPDATE CARRO
  77. SET ID_MARCAR = 1
  78. WHERE IDCARRO = 1;
  79.  
  80. SELECT C.MODELO, C.PLACA,
  81.        M.MARCA, CR.COR AS "COR",
  82.        CL.NOME, T.NUMERO,
  83.        T.TIPO
  84. FROM CARRO C
  85. INNER JOIN CLIENTE CL
  86. ON C.IDCARRO = CL.ID_CARRO
  87. INNER JOIN TELEFONE T
  88. ON CL.IDCLIENTE = T.ID_CARRO
  89. INNER JOIN MARCA M
  90. ON C.ID_MARCAR = M.IDMARCA
  91. INNER JOIN CARRO_COR CC
  92. ON C.IDCARRO = CC.ID_CARRO
  93. INNER JOIN COR CR
  94. ON CC.ID_COR = CR.IDCOR;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement